@wavemaker-ai/react-runtime 1.0.0-rc.309

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 (1039) hide show
  1. package/actions/base-action.d.ts +7 -0
  2. package/actions/base-action.js +30 -0
  3. package/actions/login-action.d.ts +11 -0
  4. package/actions/login-action.js +54 -0
  5. package/actions/logout-action.d.ts +10 -0
  6. package/actions/logout-action.js +39 -0
  7. package/actions/navigation-action.d.ts +35 -0
  8. package/actions/navigation-action.js +381 -0
  9. package/actions/notification-action.d.ts +20 -0
  10. package/actions/notification-action.js +164 -0
  11. package/actions/timer-action.d.ts +27 -0
  12. package/actions/timer-action.js +162 -0
  13. package/actions/toast-provider.d.ts +12 -0
  14. package/actions/toast-provider.js +111 -0
  15. package/actions/toast.d.ts +7 -0
  16. package/actions/toast.js +117 -0
  17. package/actions/toast.service.d.ts +17 -0
  18. package/actions/toast.service.js +93 -0
  19. package/actions/types/index.d.ts +26 -0
  20. package/actions/types/index.js +11 -0
  21. package/components/advanced/carousel/index.d.ts +72 -0
  22. package/components/advanced/carousel/index.js +467 -0
  23. package/components/advanced/carousel/props.d.ts +40 -0
  24. package/components/advanced/carousel/props.js +5 -0
  25. package/components/advanced/carousel/template.d.ts +72 -0
  26. package/components/advanced/carousel/template.js +83 -0
  27. package/components/advanced/login/index.d.ts +75 -0
  28. package/components/advanced/login/index.js +317 -0
  29. package/components/advanced/login/props.d.ts +41 -0
  30. package/components/advanced/login/props.js +5 -0
  31. package/components/advanced/marquee/index.d.ts +68 -0
  32. package/components/advanced/marquee/index.js +169 -0
  33. package/components/advanced/marquee/props.d.ts +32 -0
  34. package/components/advanced/marquee/props.js +5 -0
  35. package/components/basic/anchor/index.d.ts +83 -0
  36. package/components/basic/anchor/index.js +255 -0
  37. package/components/basic/anchor/props.d.ts +76 -0
  38. package/components/basic/anchor/props.js +5 -0
  39. package/components/basic/audio/index.d.ts +72 -0
  40. package/components/basic/audio/index.js +73 -0
  41. package/components/basic/audio/props.d.ts +48 -0
  42. package/components/basic/audio/props.js +5 -0
  43. package/components/basic/html/index.d.ts +69 -0
  44. package/components/basic/html/index.js +224 -0
  45. package/components/basic/html/props.d.ts +32 -0
  46. package/components/basic/html/props.js +5 -0
  47. package/components/basic/html/utils.d.ts +4 -0
  48. package/components/basic/html/utils.js +36 -0
  49. package/components/basic/icon/index.d.ts +71 -0
  50. package/components/basic/icon/index.js +93 -0
  51. package/components/basic/icon/props.d.ts +46 -0
  52. package/components/basic/icon/props.js +5 -0
  53. package/components/basic/iframe/iframe.utils.d.ts +2 -0
  54. package/components/basic/iframe/iframe.utils.js +17 -0
  55. package/components/basic/iframe/index.d.ts +67 -0
  56. package/components/basic/iframe/index.js +111 -0
  57. package/components/basic/iframe/props.d.ts +27 -0
  58. package/components/basic/iframe/props.js +5 -0
  59. package/components/basic/label/index.d.ts +72 -0
  60. package/components/basic/label/index.js +145 -0
  61. package/components/basic/label/props.d.ts +54 -0
  62. package/components/basic/label/props.js +5 -0
  63. package/components/basic/message/index.d.ts +18 -0
  64. package/components/basic/message/index.js +146 -0
  65. package/components/basic/message/props.d.ts +51 -0
  66. package/components/basic/message/props.js +5 -0
  67. package/components/basic/picture/index.d.ts +75 -0
  68. package/components/basic/picture/index.js +131 -0
  69. package/components/basic/picture/props.d.ts +57 -0
  70. package/components/basic/picture/props.js +5 -0
  71. package/components/basic/progress-bar/index.d.ts +73 -0
  72. package/components/basic/progress-bar/index.js +183 -0
  73. package/components/basic/progress-bar/props.d.ts +66 -0
  74. package/components/basic/progress-bar/props.js +41 -0
  75. package/components/basic/progress-circle/index.d.ts +78 -0
  76. package/components/basic/progress-circle/index.js +197 -0
  77. package/components/basic/progress-circle/props.d.ts +80 -0
  78. package/components/basic/progress-circle/props.js +39 -0
  79. package/components/basic/richtexteditor/index.d.ts +143 -0
  80. package/components/basic/richtexteditor/index.js +513 -0
  81. package/components/basic/richtexteditor/props.d.ts +89 -0
  82. package/components/basic/richtexteditor/props.js +5 -0
  83. package/components/basic/search/index.d.ts +178 -0
  84. package/components/basic/search/index.js +1257 -0
  85. package/components/basic/search/props.d.ts +233 -0
  86. package/components/basic/search/props.js +5 -0
  87. package/components/basic/search/providers.d.ts +53 -0
  88. package/components/basic/search/providers.js +415 -0
  89. package/components/basic/spinner/index.d.ts +74 -0
  90. package/components/basic/spinner/index.js +205 -0
  91. package/components/basic/spinner/props.d.ts +63 -0
  92. package/components/basic/spinner/props.js +27 -0
  93. package/components/basic/tile/index.d.ts +68 -0
  94. package/components/basic/tile/index.js +104 -0
  95. package/components/basic/tile/props.d.ts +11 -0
  96. package/components/basic/tile/props.js +5 -0
  97. package/components/basic/tree/Components/TreeNodeComponent.d.ts +4 -0
  98. package/components/basic/tree/Components/TreeNodeComponent.js +174 -0
  99. package/components/basic/tree/hooks/useTreePartialNodeApi.d.ts +17 -0
  100. package/components/basic/tree/hooks/useTreePartialNodeApi.js +157 -0
  101. package/components/basic/tree/index.d.ts +83 -0
  102. package/components/basic/tree/index.js +529 -0
  103. package/components/basic/tree/props.d.ts +127 -0
  104. package/components/basic/tree/props.js +5 -0
  105. package/components/basic/tree/utils.d.ts +39 -0
  106. package/components/basic/tree/utils.js +272 -0
  107. package/components/basic/video/index.d.ts +79 -0
  108. package/components/basic/video/index.js +108 -0
  109. package/components/basic/video/props.d.ts +77 -0
  110. package/components/basic/video/props.js +5 -0
  111. package/components/chart/index.d.ts +129 -0
  112. package/components/chart/index.js +58 -0
  113. package/components/chart/props.d.ts +188 -0
  114. package/components/chart/props.js +81 -0
  115. package/components/chart/src/ChartRenderer.d.ts +14 -0
  116. package/components/chart/src/ChartRenderer.js +226 -0
  117. package/components/chart/src/chart.d.ts +4 -0
  118. package/components/chart/src/chart.js +284 -0
  119. package/components/chart/src/chartStyles.generated.d.ts +7 -0
  120. package/components/chart/src/chartStyles.generated.js +14 -0
  121. package/components/chart/src/chartUtils.d.ts +26 -0
  122. package/components/chart/src/chartUtils.js +461 -0
  123. package/components/chart/src/constants.d.ts +28 -0
  124. package/components/chart/src/constants.js +139 -0
  125. package/components/chart/src/css.d.js +1 -0
  126. package/components/chart/src/d3Setup.d.ts +11 -0
  127. package/components/chart/src/d3Setup.js +37 -0
  128. package/components/chart/src/dataUtils.d.ts +79 -0
  129. package/components/chart/src/dataUtils.js +612 -0
  130. package/components/chart/src/formatUtils.d.ts +5 -0
  131. package/components/chart/src/formatUtils.js +63 -0
  132. package/components/chart/src/index.d.ts +3 -0
  133. package/components/chart/src/index.js +25 -0
  134. package/components/chart/src/nvd3Source.generated.d.ts +6 -0
  135. package/components/chart/src/nvd3Source.generated.js +13 -0
  136. package/components/chart/src/pieDonutResponsiveLayout.d.ts +30 -0
  137. package/components/chart/src/pieDonutResponsiveLayout.js +155 -0
  138. package/components/chart/src/types.d.ts +115 -0
  139. package/components/chart/src/types.js +5 -0
  140. package/components/common/AppSpinner.d.ts +9 -0
  141. package/components/common/AppSpinner.js +36 -0
  142. package/components/common/app-spinner.d.ts +5 -0
  143. package/components/common/app-spinner.js +26 -0
  144. package/components/common/index.d.ts +1 -0
  145. package/components/common/index.js +12 -0
  146. package/components/constants.d.ts +1135 -0
  147. package/components/constants.js +1211 -0
  148. package/components/container/accordion/accordion-pane/index.d.ts +81 -0
  149. package/components/container/accordion/accordion-pane/index.js +126 -0
  150. package/components/container/accordion/accordion-pane/props.d.ts +88 -0
  151. package/components/container/accordion/accordion-pane/props.js +24 -0
  152. package/components/container/accordion/index.d.ts +76 -0
  153. package/components/container/accordion/index.js +254 -0
  154. package/components/container/accordion/props.d.ts +57 -0
  155. package/components/container/accordion/props.js +21 -0
  156. package/components/container/index.d.ts +84 -0
  157. package/components/container/index.js +178 -0
  158. package/components/container/layout-grid/grid-column/index.d.ts +70 -0
  159. package/components/container/layout-grid/grid-column/index.js +45 -0
  160. package/components/container/layout-grid/grid-column/props.d.ts +27 -0
  161. package/components/container/layout-grid/grid-column/props.js +5 -0
  162. package/components/container/layout-grid/grid-row/index.d.ts +66 -0
  163. package/components/container/layout-grid/grid-row/index.js +31 -0
  164. package/components/container/layout-grid/grid-row/props.d.ts +6 -0
  165. package/components/container/layout-grid/grid-row/props.js +5 -0
  166. package/components/container/layout-grid/index.d.ts +68 -0
  167. package/components/container/layout-grid/index.js +40 -0
  168. package/components/container/layout-grid/props.d.ts +6 -0
  169. package/components/container/layout-grid/props.js +5 -0
  170. package/components/container/linear-layout/index.d.ts +67 -0
  171. package/components/container/linear-layout/index.js +83 -0
  172. package/components/container/linear-layout/linear-layout-item/index.d.ts +64 -0
  173. package/components/container/linear-layout/linear-layout-item/index.js +54 -0
  174. package/components/container/linear-layout/linear-layout-item/props.d.ts +14 -0
  175. package/components/container/linear-layout/linear-layout-item/props.js +5 -0
  176. package/components/container/linear-layout/props.d.ts +41 -0
  177. package/components/container/linear-layout/props.js +5 -0
  178. package/components/container/panel/components/panel-content/index.d.ts +8 -0
  179. package/components/container/panel/components/panel-content/index.js +18 -0
  180. package/components/container/panel/components/panel-header/index.d.ts +4 -0
  181. package/components/container/panel/components/panel-header/index.js +149 -0
  182. package/components/container/panel/components/panel-header/props.d.ts +50 -0
  183. package/components/container/panel/components/panel-header/props.js +5 -0
  184. package/components/container/panel/hooks.d.ts +22 -0
  185. package/components/container/panel/hooks.js +144 -0
  186. package/components/container/panel/index.d.ts +118 -0
  187. package/components/container/panel/index.js +307 -0
  188. package/components/container/panel/props.d.ts +158 -0
  189. package/components/container/panel/props.js +5 -0
  190. package/components/container/props.d.ts +72 -0
  191. package/components/container/props.js +5 -0
  192. package/components/container/repeat-template/index.d.ts +82 -0
  193. package/components/container/repeat-template/index.js +45 -0
  194. package/components/container/repeat-template/props.d.ts +6 -0
  195. package/components/container/repeat-template/props.js +5 -0
  196. package/components/container/tabs/index.d.ts +84 -0
  197. package/components/container/tabs/index.js +556 -0
  198. package/components/container/tabs/props.d.ts +104 -0
  199. package/components/container/tabs/props.js +40 -0
  200. package/components/container/tabs/tab-pane/index.d.ts +91 -0
  201. package/components/container/tabs/tab-pane/index.js +131 -0
  202. package/components/container/tabs/tab-pane/props.d.ts +84 -0
  203. package/components/container/tabs/tab-pane/props.js +5 -0
  204. package/components/container/tabs/utils.d.ts +17 -0
  205. package/components/container/tabs/utils.js +51 -0
  206. package/components/container/wizard/WizardContext.d.ts +4 -0
  207. package/components/container/wizard/WizardContext.js +16 -0
  208. package/components/container/wizard/components/StepComponents.d.ts +16 -0
  209. package/components/container/wizard/components/StepComponents.js +101 -0
  210. package/components/container/wizard/components/WizardStep.d.ts +5 -0
  211. package/components/container/wizard/components/WizardStep.js +96 -0
  212. package/components/container/wizard/index.d.ts +166 -0
  213. package/components/container/wizard/index.js +967 -0
  214. package/components/container/wizard/props.d.ts +281 -0
  215. package/components/container/wizard/props.js +5 -0
  216. package/components/container/wizard/utils.d.ts +12 -0
  217. package/components/container/wizard/utils.js +178 -0
  218. package/components/container/wizard/wizard-action/index.d.ts +18 -0
  219. package/components/container/wizard/wizard-action/index.js +97 -0
  220. package/components/container/wizard/wizard-step/index.d.ts +63 -0
  221. package/components/container/wizard/wizard-step/index.js +124 -0
  222. package/components/data/card/card-actions/index.d.ts +67 -0
  223. package/components/data/card/card-actions/index.js +32 -0
  224. package/components/data/card/card-content/index.d.ts +67 -0
  225. package/components/data/card/card-content/index.js +38 -0
  226. package/components/data/card/card-footer/index.d.ts +67 -0
  227. package/components/data/card/card-footer/index.js +32 -0
  228. package/components/data/card/index.d.ts +89 -0
  229. package/components/data/card/index.js +247 -0
  230. package/components/data/card/props.d.ts +131 -0
  231. package/components/data/card/props.js +5 -0
  232. package/components/data/form/base-form/constant.d.ts +33 -0
  233. package/components/data/form/base-form/constant.js +39 -0
  234. package/components/data/form/base-form/hooks/index.d.ts +7 -0
  235. package/components/data/form/base-form/hooks/index.js +77 -0
  236. package/components/data/form/base-form/hooks/useFormDataSync.d.ts +16 -0
  237. package/components/data/form/base-form/hooks/useFormDataSync.js +238 -0
  238. package/components/data/form/base-form/hooks/useFormOperations.d.ts +13 -0
  239. package/components/data/form/base-form/hooks/useFormOperations.js +175 -0
  240. package/components/data/form/base-form/hooks/useFormSubmission.d.ts +11 -0
  241. package/components/data/form/base-form/hooks/useFormSubmission.js +291 -0
  242. package/components/data/form/base-form/hooks/useFormValidation.d.ts +11 -0
  243. package/components/data/form/base-form/hooks/useFormValidation.js +176 -0
  244. package/components/data/form/base-form/hooks/useParentFormRelationship.d.ts +12 -0
  245. package/components/data/form/base-form/hooks/useParentFormRelationship.js +127 -0
  246. package/components/data/form/base-form/index.d.ts +3 -0
  247. package/components/data/form/base-form/index.js +802 -0
  248. package/components/data/form/base-form/props.d.ts +297 -0
  249. package/components/data/form/base-form/props.js +180 -0
  250. package/components/data/form/base-form/utils.d.ts +75 -0
  251. package/components/data/form/base-form/utils.js +411 -0
  252. package/components/data/form/dynamic-fields/constant.d.ts +1 -0
  253. package/components/data/form/dynamic-fields/constant.js +53 -0
  254. package/components/data/form/dynamic-fields/index.d.ts +2 -0
  255. package/components/data/form/dynamic-fields/index.js +167 -0
  256. package/components/data/form/dynamic-fields/props.d.ts +70 -0
  257. package/components/data/form/dynamic-fields/props.js +5 -0
  258. package/components/data/form/dynamic-fields/utils.d.ts +46 -0
  259. package/components/data/form/dynamic-fields/utils.js +272 -0
  260. package/components/data/form/form-action/index.d.ts +137 -0
  261. package/components/data/form/form-action/index.js +94 -0
  262. package/components/data/form/form-body/index.d.ts +5 -0
  263. package/components/data/form/form-body/index.js +28 -0
  264. package/components/data/form/form-context.d.ts +91 -0
  265. package/components/data/form/form-context.js +65 -0
  266. package/components/data/form/form-controller/hooks/index.d.ts +7 -0
  267. package/components/data/form/form-controller/hooks/index.js +132 -0
  268. package/components/data/form/form-controller/props.d.ts +139 -0
  269. package/components/data/form/form-controller/props.js +19 -0
  270. package/components/data/form/form-controller/utils.d.ts +5 -0
  271. package/components/data/form/form-controller/utils.js +135 -0
  272. package/components/data/form/form-controller/validation-contrustor.d.ts +3 -0
  273. package/components/data/form/form-controller/validation-contrustor.js +573 -0
  274. package/components/data/form/form-controller/withFormController.d.ts +3 -0
  275. package/components/data/form/form-controller/withFormController.js +309 -0
  276. package/components/data/form/form-dynamic-section/index.d.ts +5 -0
  277. package/components/data/form/form-dynamic-section/index.js +46 -0
  278. package/components/data/form/form-dynamic-section/props.d.ts +5 -0
  279. package/components/data/form/form-dynamic-section/props.js +5 -0
  280. package/components/data/form/form-field/base-field.d.ts +3 -0
  281. package/components/data/form/form-field/base-field.js +172 -0
  282. package/components/data/form/form-field/index.d.ts +14 -0
  283. package/components/data/form/form-field/index.js +87 -0
  284. package/components/data/form/form-field/props.d.ts +206 -0
  285. package/components/data/form/form-field/props.js +5 -0
  286. package/components/data/form/form-footer/index.d.ts +6 -0
  287. package/components/data/form/form-footer/index.js +27 -0
  288. package/components/data/form/form-header/index.d.ts +12 -0
  289. package/components/data/form/form-header/index.js +61 -0
  290. package/components/data/form/index.d.ts +4 -0
  291. package/components/data/form/index.js +76 -0
  292. package/components/data/form/props.d.ts +130 -0
  293. package/components/data/form/props.js +5 -0
  294. package/components/data/list/components/GroupHeader.d.ts +6 -0
  295. package/components/data/list/components/GroupHeader.js +35 -0
  296. package/components/data/list/components/GroupedListItems.d.ts +6 -0
  297. package/components/data/list/components/GroupedListItems.js +108 -0
  298. package/components/data/list/components/ListContainer.d.ts +6 -0
  299. package/components/data/list/components/ListContainer.js +27 -0
  300. package/components/data/list/components/ListDND.d.ts +39 -0
  301. package/components/data/list/components/ListDND.js +246 -0
  302. package/components/data/list/components/ListHeader.d.ts +7 -0
  303. package/components/data/list/components/ListHeader.js +50 -0
  304. package/components/data/list/components/ListItem.d.ts +18 -0
  305. package/components/data/list/components/ListItem.js +166 -0
  306. package/components/data/list/components/ListItemWithTemplate.d.ts +6 -0
  307. package/components/data/list/components/ListItemWithTemplate.js +113 -0
  308. package/components/data/list/components/ListItems.d.ts +7 -0
  309. package/components/data/list/components/ListItems.js +231 -0
  310. package/components/data/list/components/ListPagination.d.ts +7 -0
  311. package/components/data/list/components/ListPagination.js +183 -0
  312. package/components/data/list/components/LoadMoreButton.d.ts +6 -0
  313. package/components/data/list/components/LoadMoreButton.js +35 -0
  314. package/components/data/list/components/NoDataMessage.d.ts +6 -0
  315. package/components/data/list/components/NoDataMessage.js +22 -0
  316. package/components/data/list/components/StandardListItems.d.ts +6 -0
  317. package/components/data/list/components/StandardListItems.js +88 -0
  318. package/components/data/list/components/index.d.ts +12 -0
  319. package/components/data/list/components/index.js +119 -0
  320. package/components/data/list/components/props.d.ts +245 -0
  321. package/components/data/list/components/props.js +5 -0
  322. package/components/data/list/hooks/index.d.ts +11 -0
  323. package/components/data/list/hooks/index.js +75 -0
  324. package/components/data/list/hooks/props.d.ts +89 -0
  325. package/components/data/list/hooks/props.js +5 -0
  326. package/components/data/list/hooks/useCurrentPageItems.d.ts +6 -0
  327. package/components/data/list/hooks/useCurrentPageItems.js +48 -0
  328. package/components/data/list/hooks/useGroupedData.d.ts +9 -0
  329. package/components/data/list/hooks/useGroupedData.js +37 -0
  330. package/components/data/list/hooks/useListData.d.ts +9 -0
  331. package/components/data/list/hooks/useListData.js +60 -0
  332. package/components/data/list/hooks/useListEffects.d.ts +67 -0
  333. package/components/data/list/hooks/useListEffects.js +355 -0
  334. package/components/data/list/hooks/useListEventHandlers.d.ts +9 -0
  335. package/components/data/list/hooks/useListEventHandlers.js +323 -0
  336. package/components/data/list/hooks/useListPagination.d.ts +8 -0
  337. package/components/data/list/hooks/useListPagination.js +163 -0
  338. package/components/data/list/hooks/useListState.d.ts +28 -0
  339. package/components/data/list/hooks/useListState.js +114 -0
  340. package/components/data/list/hooks/useListStateManager.d.ts +26 -0
  341. package/components/data/list/hooks/useListStateManager.js +195 -0
  342. package/components/data/list/hooks/usePaginatedGroupedData.d.ts +6 -0
  343. package/components/data/list/hooks/usePaginatedGroupedData.js +134 -0
  344. package/components/data/list/index.d.ts +174 -0
  345. package/components/data/list/index.js +691 -0
  346. package/components/data/list/props.d.ts +405 -0
  347. package/components/data/list/props.js +5 -0
  348. package/components/data/list/templates/media-template.d.ts +2 -0
  349. package/components/data/list/templates/media-template.js +50 -0
  350. package/components/data/list/utils/constants.d.ts +52 -0
  351. package/components/data/list/utils/constants.js +82 -0
  352. package/components/data/list/utils/list-helpers.d.ts +41 -0
  353. package/components/data/list/utils/list-helpers.js +187 -0
  354. package/components/data/list/utils/list-widget-methods.d.ts +4 -0
  355. package/components/data/list/utils/list-widget-methods.js +159 -0
  356. package/components/data/list/utils/widget-instance-utils.d.ts +33 -0
  357. package/components/data/list/utils/widget-instance-utils.js +83 -0
  358. package/components/data/live-filter/index.d.ts +15 -0
  359. package/components/data/live-filter/index.js +304 -0
  360. package/components/data/live-filter/props.d.ts +96 -0
  361. package/components/data/live-filter/props.js +16 -0
  362. package/components/data/live-form/index.d.ts +15 -0
  363. package/components/data/live-form/index.js +143 -0
  364. package/components/data/live-form/props.d.ts +50 -0
  365. package/components/data/live-form/props.js +20 -0
  366. package/components/data/pagination/components/BasicPagination.d.ts +3 -0
  367. package/components/data/pagination/components/BasicPagination.js +133 -0
  368. package/components/data/pagination/components/ClassicPagination.d.ts +3 -0
  369. package/components/data/pagination/components/ClassicPagination.js +191 -0
  370. package/components/data/pagination/components/InlinePagination.d.ts +11 -0
  371. package/components/data/pagination/components/InlinePagination.js +99 -0
  372. package/components/data/pagination/components/LoadingComponent.d.ts +3 -0
  373. package/components/data/pagination/components/LoadingComponent.js +31 -0
  374. package/components/data/pagination/components/PageSizeSelector.d.ts +3 -0
  375. package/components/data/pagination/components/PageSizeSelector.js +188 -0
  376. package/components/data/pagination/components/PagerNavigation.d.ts +3 -0
  377. package/components/data/pagination/components/PagerNavigation.js +105 -0
  378. package/components/data/pagination/components/TotalRecords.d.ts +3 -0
  379. package/components/data/pagination/components/TotalRecords.js +48 -0
  380. package/components/data/pagination/components/index.d.ts +6 -0
  381. package/components/data/pagination/components/index.js +47 -0
  382. package/components/data/pagination/components/props.d.ts +54 -0
  383. package/components/data/pagination/components/props.js +5 -0
  384. package/components/data/pagination/hooks/index.d.ts +2 -0
  385. package/components/data/pagination/hooks/index.js +19 -0
  386. package/components/data/pagination/hooks/props.d.ts +232 -0
  387. package/components/data/pagination/hooks/props.js +5 -0
  388. package/components/data/pagination/hooks/useNavigationSize.d.ts +5 -0
  389. package/components/data/pagination/hooks/useNavigationSize.js +44 -0
  390. package/components/data/pagination/hooks/usePagination.d.ts +35 -0
  391. package/components/data/pagination/hooks/usePagination.js +1095 -0
  392. package/components/data/pagination/index.d.ts +13 -0
  393. package/components/data/pagination/index.js +454 -0
  394. package/components/data/table/components/AddNewRow.d.ts +3 -0
  395. package/components/data/table/components/AddNewRow.js +194 -0
  396. package/components/data/table/components/EditableCell.d.ts +4 -0
  397. package/components/data/table/components/EditableCell.js +92 -0
  398. package/components/data/table/components/FieldValidationError.d.ts +4 -0
  399. package/components/data/table/components/FieldValidationError.js +24 -0
  400. package/components/data/table/components/RowCells.d.ts +29 -0
  401. package/components/data/table/components/RowCells.js +81 -0
  402. package/components/data/table/components/RowExpansionButton.d.ts +4 -0
  403. package/components/data/table/components/RowExpansionButton.js +74 -0
  404. package/components/data/table/components/SummaryCell.d.ts +3 -0
  405. package/components/data/table/components/SummaryCell.js +111 -0
  406. package/components/data/table/components/SummaryRow.d.ts +3 -0
  407. package/components/data/table/components/SummaryRow.js +54 -0
  408. package/components/data/table/components/SummaryRowFooter.d.ts +3 -0
  409. package/components/data/table/components/SummaryRowFooter.js +46 -0
  410. package/components/data/table/components/TableBody.d.ts +3 -0
  411. package/components/data/table/components/TableBody.js +278 -0
  412. package/components/data/table/components/TableDataRow.d.ts +27 -0
  413. package/components/data/table/components/TableDataRow.js +119 -0
  414. package/components/data/table/components/TableFilters.d.ts +24 -0
  415. package/components/data/table/components/TableFilters.js +429 -0
  416. package/components/data/table/components/TableFooterActions.d.ts +3 -0
  417. package/components/data/table/components/TableFooterActions.js +48 -0
  418. package/components/data/table/components/TableHeader.d.ts +3 -0
  419. package/components/data/table/components/TableHeader.js +450 -0
  420. package/components/data/table/components/TablePanelHeading.d.ts +3 -0
  421. package/components/data/table/components/TablePanelHeading.js +202 -0
  422. package/components/data/table/components/index.d.ts +12 -0
  423. package/components/data/table/components/index.js +95 -0
  424. package/components/data/table/hooks/index.d.ts +19 -0
  425. package/components/data/table/hooks/index.js +231 -0
  426. package/components/data/table/hooks/use-edited-rows.d.ts +16 -0
  427. package/components/data/table/hooks/use-edited-rows.js +141 -0
  428. package/components/data/table/hooks/useCellState.d.ts +10 -0
  429. package/components/data/table/hooks/useCellState.js +110 -0
  430. package/components/data/table/hooks/useCustomExpressionColumns.d.ts +16 -0
  431. package/components/data/table/hooks/useCustomExpressionColumns.js +88 -0
  432. package/components/data/table/hooks/useDynamicColumns.d.ts +34 -0
  433. package/components/data/table/hooks/useDynamicColumns.js +105 -0
  434. package/components/data/table/hooks/useEditingState.d.ts +5 -0
  435. package/components/data/table/hooks/useEditingState.js +47 -0
  436. package/components/data/table/hooks/useFormWidget.d.ts +2 -0
  437. package/components/data/table/hooks/useFormWidget.js +190 -0
  438. package/components/data/table/hooks/usePaginationState.d.ts +6 -0
  439. package/components/data/table/hooks/usePaginationState.js +81 -0
  440. package/components/data/table/hooks/usePanelStructure.d.ts +2 -0
  441. package/components/data/table/hooks/usePanelStructure.js +43 -0
  442. package/components/data/table/hooks/useResponsiveColumns.d.ts +84 -0
  443. package/components/data/table/hooks/useResponsiveColumns.js +34 -0
  444. package/components/data/table/hooks/useRowExpansion.d.ts +5 -0
  445. package/components/data/table/hooks/useRowExpansion.js +140 -0
  446. package/components/data/table/hooks/useRowHandlers.d.ts +5 -0
  447. package/components/data/table/hooks/useRowHandlers.js +72 -0
  448. package/components/data/table/hooks/useRowSelection.d.ts +2 -0
  449. package/components/data/table/hooks/useRowSelection.js +428 -0
  450. package/components/data/table/hooks/useServerSideSorting.d.ts +26 -0
  451. package/components/data/table/hooks/useServerSideSorting.js +203 -0
  452. package/components/data/table/hooks/useTableColumns.d.ts +2 -0
  453. package/components/data/table/hooks/useTableColumns.js +360 -0
  454. package/components/data/table/hooks/useTableData.d.ts +2 -0
  455. package/components/data/table/hooks/useTableData.js +199 -0
  456. package/components/data/table/hooks/useTableEdit.d.ts +4 -0
  457. package/components/data/table/hooks/useTableEdit.js +651 -0
  458. package/components/data/table/hooks/useTableEffects.d.ts +25 -0
  459. package/components/data/table/hooks/useTableEffects.js +157 -0
  460. package/components/data/table/hooks/useTableFilter.d.ts +26 -0
  461. package/components/data/table/hooks/useTableFilter.js +389 -0
  462. package/components/data/table/hooks/useTableInitialization.d.ts +5 -0
  463. package/components/data/table/hooks/useTableInitialization.js +105 -0
  464. package/components/data/table/hooks/useTableState.d.ts +2 -0
  465. package/components/data/table/hooks/useTableState.js +75 -0
  466. package/components/data/table/hooks/useTableStateManager.d.ts +38 -0
  467. package/components/data/table/hooks/useTableStateManager.js +633 -0
  468. package/components/data/table/index.d.ts +287 -0
  469. package/components/data/table/index.js +1830 -0
  470. package/components/data/table/live-table/index.d.ts +75 -0
  471. package/components/data/table/live-table/index.js +283 -0
  472. package/components/data/table/props.d.ts +1368 -0
  473. package/components/data/table/props.js +5 -0
  474. package/components/data/table/table-action/index.d.ts +65 -0
  475. package/components/data/table/table-action/index.js +94 -0
  476. package/components/data/table/table-column/index.d.ts +65 -0
  477. package/components/data/table/table-column/index.js +44 -0
  478. package/components/data/table/table-group/index.d.ts +13 -0
  479. package/components/data/table/table-group/index.js +26 -0
  480. package/components/data/table/table-row/index.d.ts +65 -0
  481. package/components/data/table/table-row/index.js +58 -0
  482. package/components/data/table/table-row-action/index.d.ts +69 -0
  483. package/components/data/table/table-row-action/index.js +95 -0
  484. package/components/data/table/utils/buildSelectionColumns.d.ts +3 -0
  485. package/components/data/table/utils/buildSelectionColumns.js +161 -0
  486. package/components/data/table/utils/columnBuilder.d.ts +35 -0
  487. package/components/data/table/utils/columnBuilder.js +225 -0
  488. package/components/data/table/utils/columnProxy.d.ts +21 -0
  489. package/components/data/table/utils/columnProxy.js +117 -0
  490. package/components/data/table/utils/columnWidthDistribution.d.ts +22 -0
  491. package/components/data/table/utils/columnWidthDistribution.js +98 -0
  492. package/components/data/table/utils/constants.d.ts +52 -0
  493. package/components/data/table/utils/constants.js +84 -0
  494. package/components/data/table/utils/crud-handlers.d.ts +11 -0
  495. package/components/data/table/utils/crud-handlers.js +523 -0
  496. package/components/data/table/utils/dynamic-columns.d.ts +38 -0
  497. package/components/data/table/utils/dynamic-columns.js +222 -0
  498. package/components/data/table/utils/groupHeaderUtils.d.ts +18 -0
  499. package/components/data/table/utils/groupHeaderUtils.js +102 -0
  500. package/components/data/table/utils/index.d.ts +101 -0
  501. package/components/data/table/utils/index.js +849 -0
  502. package/components/data/table/utils/renderDisplayCell.d.ts +11 -0
  503. package/components/data/table/utils/renderDisplayCell.js +183 -0
  504. package/components/data/table/utils/script-page-size-broadcast.d.ts +2 -0
  505. package/components/data/table/utils/script-page-size-broadcast.js +45 -0
  506. package/components/data/table/utils/selectionUtils.d.ts +37 -0
  507. package/components/data/table/utils/selectionUtils.js +165 -0
  508. package/components/data/table/utils/table-helpers.d.ts +62 -0
  509. package/components/data/table/utils/table-helpers.js +100 -0
  510. package/components/data/table/utils/validation.d.ts +13 -0
  511. package/components/data/table/utils/validation.js +125 -0
  512. package/components/data/types.d.ts +104 -0
  513. package/components/data/types.js +113 -0
  514. package/components/data/utils/field-data-utils.d.ts +7 -0
  515. package/components/data/utils/field-data-utils.js +66 -0
  516. package/components/data/utils/filter-field-util.d.ts +13 -0
  517. package/components/data/utils/filter-field-util.js +81 -0
  518. package/components/data/utils/index.d.ts +90 -0
  519. package/components/data/utils/index.js +216 -0
  520. package/components/dialogs/alert-dialog/index.d.ts +158 -0
  521. package/components/dialogs/alert-dialog/index.js +90 -0
  522. package/components/dialogs/alert-dialog/props.d.ts +43 -0
  523. package/components/dialogs/alert-dialog/props.js +5 -0
  524. package/components/dialogs/confirm-dialog/index.d.ts +160 -0
  525. package/components/dialogs/confirm-dialog/index.js +115 -0
  526. package/components/dialogs/confirm-dialog/props.d.ts +47 -0
  527. package/components/dialogs/confirm-dialog/props.js +5 -0
  528. package/components/dialogs/dialog/index.d.ts +170 -0
  529. package/components/dialogs/dialog/index.js +73 -0
  530. package/components/dialogs/dialog/props.d.ts +66 -0
  531. package/components/dialogs/dialog/props.js +5 -0
  532. package/components/dialogs/dialog-actions/index.d.ts +67 -0
  533. package/components/dialogs/dialog-actions/index.js +28 -0
  534. package/components/dialogs/dialog-actions/props.d.ts +14 -0
  535. package/components/dialogs/dialog-actions/props.js +5 -0
  536. package/components/dialogs/dialog-body/index.d.ts +66 -0
  537. package/components/dialogs/dialog-body/index.js +32 -0
  538. package/components/dialogs/dialog-body/props.d.ts +15 -0
  539. package/components/dialogs/dialog-body/props.js +5 -0
  540. package/components/dialogs/dialog-content/index.d.ts +69 -0
  541. package/components/dialogs/dialog-content/index.js +43 -0
  542. package/components/dialogs/dialog-content/props.d.ts +27 -0
  543. package/components/dialogs/dialog-content/props.js +5 -0
  544. package/components/dialogs/dialog-header/index.d.ts +84 -0
  545. package/components/dialogs/dialog-header/index.js +104 -0
  546. package/components/dialogs/dialog-header/props.d.ts +73 -0
  547. package/components/dialogs/dialog-header/props.js +5 -0
  548. package/components/dialogs/iframe-dialog/index.d.ts +178 -0
  549. package/components/dialogs/iframe-dialog/index.js +131 -0
  550. package/components/dialogs/iframe-dialog/props.d.ts +83 -0
  551. package/components/dialogs/iframe-dialog/props.js +5 -0
  552. package/components/dialogs/index.d.ts +4 -0
  553. package/components/dialogs/index.js +139 -0
  554. package/components/dialogs/login-dialog/index.d.ts +163 -0
  555. package/components/dialogs/login-dialog/index.js +370 -0
  556. package/components/dialogs/login-dialog/props.d.ts +98 -0
  557. package/components/dialogs/login-dialog/props.js +5 -0
  558. package/components/dialogs/page-dialog/index.d.ts +162 -0
  559. package/components/dialogs/page-dialog/index.js +105 -0
  560. package/components/dialogs/page-dialog/props.d.ts +59 -0
  561. package/components/dialogs/page-dialog/props.js +5 -0
  562. package/components/dialogs/props.d.ts +41 -0
  563. package/components/dialogs/props.js +5 -0
  564. package/components/dialogs/withDialogWrapper.d.ts +59 -0
  565. package/components/dialogs/withDialogWrapper.js +124 -0
  566. package/components/form/button/index.d.ts +77 -0
  567. package/components/form/button/index.js +255 -0
  568. package/components/form/button/props.d.ts +71 -0
  569. package/components/form/button/props.js +5 -0
  570. package/components/form/button-group/index.d.ts +69 -0
  571. package/components/form/button-group/index.js +74 -0
  572. package/components/form/button-group/props.d.ts +24 -0
  573. package/components/form/button-group/props.js +5 -0
  574. package/components/input/calendar/index.d.ts +130 -0
  575. package/components/input/calendar/index.js +566 -0
  576. package/components/input/calendar/props.d.ts +105 -0
  577. package/components/input/calendar/props.js +5 -0
  578. package/components/input/calendar/utils.d.ts +51 -0
  579. package/components/input/calendar/utils.js +336 -0
  580. package/components/input/chips/SortableChip/index.d.ts +4 -0
  581. package/components/input/chips/SortableChip/index.js +115 -0
  582. package/components/input/chips/SortableChip/props.d.ts +16 -0
  583. package/components/input/chips/SortableChip/props.js +5 -0
  584. package/components/input/chips/index.d.ts +224 -0
  585. package/components/input/chips/index.js +583 -0
  586. package/components/input/chips/props.d.ts +232 -0
  587. package/components/input/chips/props.js +5 -0
  588. package/components/input/chips/utils.d.ts +22 -0
  589. package/components/input/chips/utils.js +292 -0
  590. package/components/input/color-picker/index.d.ts +151 -0
  591. package/components/input/color-picker/index.js +689 -0
  592. package/components/input/color-picker/props.d.ts +131 -0
  593. package/components/input/color-picker/props.js +5 -0
  594. package/components/input/composite/index.d.ts +69 -0
  595. package/components/input/composite/index.js +147 -0
  596. package/components/input/composite/props.d.ts +23 -0
  597. package/components/input/composite/props.js +5 -0
  598. package/components/input/currency/index.d.ts +175 -0
  599. package/components/input/currency/index.js +265 -0
  600. package/components/input/currency/props.d.ts +154 -0
  601. package/components/input/currency/props.js +5 -0
  602. package/components/input/default/checkbox/index.d.ts +150 -0
  603. package/components/input/default/checkbox/index.js +253 -0
  604. package/components/input/default/checkbox/props.d.ts +78 -0
  605. package/components/input/default/checkbox/props.js +5 -0
  606. package/components/input/default/checkboxset/index.d.ts +191 -0
  607. package/components/input/default/checkboxset/index.js +478 -0
  608. package/components/input/default/checkboxset/props.d.ts +199 -0
  609. package/components/input/default/checkboxset/props.js +5 -0
  610. package/components/input/default/checkboxset/utils.d.ts +2 -0
  611. package/components/input/default/checkboxset/utils.js +30 -0
  612. package/components/input/default/radioset/index.d.ts +182 -0
  613. package/components/input/default/radioset/index.js +364 -0
  614. package/components/input/default/radioset/props.d.ts +172 -0
  615. package/components/input/default/radioset/props.js +5 -0
  616. package/components/input/default/switch/index.d.ts +174 -0
  617. package/components/input/default/switch/index.js +519 -0
  618. package/components/input/default/switch/prop.d.ts +153 -0
  619. package/components/input/default/switch/prop.js +5 -0
  620. package/components/input/epoch/date/components/DatePickerPopover.d.ts +4 -0
  621. package/components/input/epoch/date/components/DatePickerPopover.js +218 -0
  622. package/components/input/epoch/date/index.d.ts +86 -0
  623. package/components/input/epoch/date/index.js +606 -0
  624. package/components/input/epoch/date/props.d.ts +274 -0
  625. package/components/input/epoch/date/props.js +5 -0
  626. package/components/input/epoch/date/styled.d.ts +3 -0
  627. package/components/input/epoch/date/styled.js +70 -0
  628. package/components/input/epoch/date/utils.d.ts +20 -0
  629. package/components/input/epoch/date/utils.js +201 -0
  630. package/components/input/epoch/datetime/index.d.ts +86 -0
  631. package/components/input/epoch/datetime/index.js +717 -0
  632. package/components/input/epoch/datetime/props.d.ts +212 -0
  633. package/components/input/epoch/datetime/props.js +5 -0
  634. package/components/input/epoch/datetime/utils.d.ts +20 -0
  635. package/components/input/epoch/datetime/utils.js +283 -0
  636. package/components/input/epoch/time/index.d.ts +86 -0
  637. package/components/input/epoch/time/index.js +478 -0
  638. package/components/input/epoch/time/props.d.ts +155 -0
  639. package/components/input/epoch/time/props.js +5 -0
  640. package/components/input/epoch/time/utils.d.ts +24 -0
  641. package/components/input/epoch/time/utils.js +240 -0
  642. package/components/input/fileupload/Utils.d.ts +14 -0
  643. package/components/input/fileupload/Utils.js +139 -0
  644. package/components/input/fileupload/components/ListItems.d.ts +11 -0
  645. package/components/input/fileupload/components/ListItems.js +135 -0
  646. package/components/input/fileupload/components/MultiUpload.d.ts +4 -0
  647. package/components/input/fileupload/components/MultiUpload.js +78 -0
  648. package/components/input/fileupload/components/SingleUpload.d.ts +4 -0
  649. package/components/input/fileupload/components/SingleUpload.js +58 -0
  650. package/components/input/fileupload/index.d.ts +92 -0
  651. package/components/input/fileupload/index.js +179 -0
  652. package/components/input/fileupload/props.d.ts +320 -0
  653. package/components/input/fileupload/props.js +5 -0
  654. package/components/input/fileupload/useFileUpload.d.ts +36 -0
  655. package/components/input/fileupload/useFileUpload.js +414 -0
  656. package/components/input/number/index.d.ts +164 -0
  657. package/components/input/number/index.js +406 -0
  658. package/components/input/number/props.d.ts +119 -0
  659. package/components/input/number/props.js +5 -0
  660. package/components/input/rating/index.d.ts +208 -0
  661. package/components/input/rating/index.js +461 -0
  662. package/components/input/rating/props.d.ts +195 -0
  663. package/components/input/rating/props.js +5 -0
  664. package/components/input/select/index.d.ts +173 -0
  665. package/components/input/select/index.js +492 -0
  666. package/components/input/select/props.d.ts +134 -0
  667. package/components/input/select/props.js +5 -0
  668. package/components/input/slider/index.d.ts +162 -0
  669. package/components/input/slider/index.js +337 -0
  670. package/components/input/slider/props.d.ts +101 -0
  671. package/components/input/slider/props.js +5 -0
  672. package/components/input/text/index.d.ts +177 -0
  673. package/components/input/text/index.js +499 -0
  674. package/components/input/text/props.d.ts +141 -0
  675. package/components/input/text/props.js +5 -0
  676. package/components/input/text/util.d.ts +42 -0
  677. package/components/input/text/util.js +334 -0
  678. package/components/input/textarea/index.d.ts +151 -0
  679. package/components/input/textarea/index.js +366 -0
  680. package/components/input/textarea/props.d.ts +85 -0
  681. package/components/input/textarea/props.js +5 -0
  682. package/components/input/upload/index.d.ts +142 -0
  683. package/components/input/upload/index.js +133 -0
  684. package/components/input/upload/props.d.ts +61 -0
  685. package/components/input/upload/props.js +5 -0
  686. package/components/input/util/index.d.ts +1 -0
  687. package/components/input/util/index.js +11 -0
  688. package/components/layout/footer/index.d.ts +15 -0
  689. package/components/layout/footer/index.js +37 -0
  690. package/components/layout/footer/props.d.ts +8 -0
  691. package/components/layout/footer/props.js +5 -0
  692. package/components/layout/header/index.d.ts +15 -0
  693. package/components/layout/header/index.js +40 -0
  694. package/components/layout/header/props.d.ts +8 -0
  695. package/components/layout/header/props.js +5 -0
  696. package/components/layout/leftnav/index.d.ts +15 -0
  697. package/components/layout/leftnav/index.js +54 -0
  698. package/components/layout/leftnav/props.d.ts +25 -0
  699. package/components/layout/leftnav/props.js +5 -0
  700. package/components/layout/rightnav/index.d.ts +15 -0
  701. package/components/layout/rightnav/index.js +38 -0
  702. package/components/layout/rightnav/props.d.ts +13 -0
  703. package/components/layout/rightnav/props.js +5 -0
  704. package/components/layout/topnav/index.d.ts +15 -0
  705. package/components/layout/topnav/index.js +40 -0
  706. package/components/layout/topnav/props.d.ts +8 -0
  707. package/components/layout/topnav/props.js +5 -0
  708. package/components/navbar/index.d.ts +70 -0
  709. package/components/navbar/index.js +101 -0
  710. package/components/navbar/nav/index.d.ts +90 -0
  711. package/components/navbar/nav/index.js +244 -0
  712. package/components/navbar/nav/props.d.ts +56 -0
  713. package/components/navbar/nav/props.js +5 -0
  714. package/components/navbar/nav-item/index.d.ts +63 -0
  715. package/components/navbar/nav-item/index.js +66 -0
  716. package/components/navbar/nav-item/props.d.ts +29 -0
  717. package/components/navbar/nav-item/props.js +5 -0
  718. package/components/navigation/breadcrumb/index.d.ts +66 -0
  719. package/components/navigation/breadcrumb/index.js +67 -0
  720. package/components/navigation/breadcrumb/props.d.ts +6 -0
  721. package/components/navigation/breadcrumb/props.js +5 -0
  722. package/components/navigation/menu/components/ListItems.d.ts +23 -0
  723. package/components/navigation/menu/components/ListItems.js +71 -0
  724. package/components/navigation/menu/constants.d.ts +53 -0
  725. package/components/navigation/menu/constants.js +102 -0
  726. package/components/navigation/menu/hooks/useHoverState.hook.d.ts +17 -0
  727. package/components/navigation/menu/hooks/useHoverState.hook.js +48 -0
  728. package/components/navigation/menu/hooks/useKeyboardMovements.hook.d.ts +12 -0
  729. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +37 -0
  730. package/components/navigation/menu/hooks/useTransformedDataset.hook.d.ts +5 -0
  731. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +15 -0
  732. package/components/navigation/menu/index.d.ts +105 -0
  733. package/components/navigation/menu/index.js +1031 -0
  734. package/components/navigation/menu/props.d.ts +74 -0
  735. package/components/navigation/menu/props.js +5 -0
  736. package/components/navigation/menu/utils/action-task.d.ts +1 -0
  737. package/components/navigation/menu/utils/action-task.js +14 -0
  738. package/components/navigation/menu/utils/role-filter.d.ts +9 -0
  739. package/components/navigation/menu/utils/role-filter.js +76 -0
  740. package/components/navigation/popover/index.d.ts +97 -0
  741. package/components/navigation/popover/index.js +310 -0
  742. package/components/navigation/popover/props.d.ts +28 -0
  743. package/components/navigation/popover/props.js +13 -0
  744. package/components/page/content/index.d.ts +15 -0
  745. package/components/page/content/index.js +35 -0
  746. package/components/page/content/props.d.ts +6 -0
  747. package/components/page/content/props.js +5 -0
  748. package/components/page/error-boundary/index.d.ts +13 -0
  749. package/components/page/error-boundary/index.js +119 -0
  750. package/components/page/error-boundary/props.d.ts +30 -0
  751. package/components/page/error-boundary/props.js +5 -0
  752. package/components/page/index.d.ts +15 -0
  753. package/components/page/index.js +151 -0
  754. package/components/page/page-content/index.d.ts +15 -0
  755. package/components/page/page-content/index.js +34 -0
  756. package/components/page/page-content/props.d.ts +16 -0
  757. package/components/page/page-content/props.js +5 -0
  758. package/components/page/partial/index.d.ts +61 -0
  759. package/components/page/partial/index.js +46 -0
  760. package/components/page/partial/props.d.ts +6 -0
  761. package/components/page/partial/props.js +5 -0
  762. package/components/page/partial-container/index.d.ts +13 -0
  763. package/components/page/partial-container/index.js +112 -0
  764. package/components/page/partial-container/props.d.ts +38 -0
  765. package/components/page/partial-container/props.js +5 -0
  766. package/components/page/props.d.ts +33 -0
  767. package/components/page/props.js +5 -0
  768. package/components/page/toast-container/index.d.ts +13 -0
  769. package/components/page/toast-container/index.js +43 -0
  770. package/components/page/toast-container/props.d.ts +8 -0
  771. package/components/page/toast-container/props.js +5 -0
  772. package/components/prefab/container/index.d.ts +12 -0
  773. package/components/prefab/container/index.js +64 -0
  774. package/components/prefab/container/props.d.ts +23 -0
  775. package/components/prefab/container/props.js +5 -0
  776. package/components/prefab/index.d.ts +12 -0
  777. package/components/prefab/index.js +69 -0
  778. package/components/prefab/props.d.ts +18 -0
  779. package/components/prefab/props.js +5 -0
  780. package/context/AppContext.d.ts +9 -0
  781. package/context/AppContext.js +25 -0
  782. package/context/AppSpinnerProvider.d.ts +15 -0
  783. package/context/AppSpinnerProvider.js +43 -0
  784. package/context/LayoutProvider.d.ts +7 -0
  785. package/context/LayoutProvider.js +66 -0
  786. package/context/LocalizationProvider.d.ts +4 -0
  787. package/context/LocalizationProvider.js +80 -0
  788. package/context/PrefabContext.d.ts +15 -0
  789. package/context/PrefabContext.js +195 -0
  790. package/context/WidgetProvider.d.ts +19 -0
  791. package/context/WidgetProvider.js +274 -0
  792. package/core/app-config.js +1 -0
  793. package/core/app.service.d.ts +19 -0
  794. package/core/app.service.js +366 -0
  795. package/core/appVariablesStore.d.ts +5 -0
  796. package/core/appVariablesStore.js +23 -0
  797. package/core/appstore.d.ts +35 -0
  798. package/core/appstore.js +88 -0
  799. package/core/constants/currency-constant.d.ts +11 -0
  800. package/core/constants/currency-constant.js +1071 -0
  801. package/core/constants/events.d.ts +24 -0
  802. package/core/constants/events.js +63 -0
  803. package/core/constants/index.d.ts +10 -0
  804. package/core/constants/index.js +49 -0
  805. package/core/dialog.service.d.ts +31 -0
  806. package/core/dialog.service.js +75 -0
  807. package/core/event-notifier.d.ts +20 -0
  808. package/core/event-notifier.js +150 -0
  809. package/core/formatter/array-formatters.d.ts +4 -0
  810. package/core/formatter/array-formatters.js +33 -0
  811. package/core/formatter/date-formatters.d.ts +9 -0
  812. package/core/formatter/date-formatters.js +245 -0
  813. package/core/formatter/index.d.ts +19 -0
  814. package/core/formatter/index.js +133 -0
  815. package/core/formatter/number-formatters.d.ts +20 -0
  816. package/core/formatter/number-formatters.js +181 -0
  817. package/core/formatter/security-formatters.d.ts +25 -0
  818. package/core/formatter/security-formatters.js +321 -0
  819. package/core/formatter/string-formatters.d.ts +10 -0
  820. package/core/formatter/string-formatters.js +49 -0
  821. package/core/formatter/types.d.ts +33 -0
  822. package/core/formatter/types.js +18 -0
  823. package/core/formatters.d.ts +3 -0
  824. package/core/formatters.js +24 -0
  825. package/core/proxy-service.d.ts +6 -0
  826. package/core/proxy-service.js +571 -0
  827. package/core/script-registry.d.ts +23 -0
  828. package/core/script-registry.js +149 -0
  829. package/core/security.service.d.ts +12 -0
  830. package/core/security.service.js +11 -0
  831. package/core/util/compare.d.ts +1 -0
  832. package/core/util/compare.js +36 -0
  833. package/core/util/dom.d.ts +4 -0
  834. package/core/util/dom.js +107 -0
  835. package/core/util/index.d.ts +65 -0
  836. package/core/util/index.js +191 -0
  837. package/core/util/safe-is-equal.js +156 -0
  838. package/core/util/security.d.ts +64 -0
  839. package/core/util/security.js +183 -0
  840. package/core/util/utils.d.ts +34 -0
  841. package/core/util/utils.js +228 -0
  842. package/core/widget-observer.d.ts +3 -0
  843. package/core/widget-observer.js +98 -0
  844. package/higherOrder/BaseApp.d.ts +13 -0
  845. package/higherOrder/BaseApp.js +614 -0
  846. package/higherOrder/BaseAppProps.d.ts +37 -0
  847. package/higherOrder/BaseAppProps.js +5 -0
  848. package/higherOrder/BaseDateTime.d.ts +62 -0
  849. package/higherOrder/BaseDateTime.js +268 -0
  850. package/higherOrder/BasePage.d.ts +10 -0
  851. package/higherOrder/BasePage.js +909 -0
  852. package/higherOrder/BasePartial.d.ts +7 -0
  853. package/higherOrder/BasePartial.js +125 -0
  854. package/higherOrder/BasePrefab.d.ts +17 -0
  855. package/higherOrder/BasePrefab.js +234 -0
  856. package/higherOrder/DataNav.d.ts +53 -0
  857. package/higherOrder/DataNav.js +461 -0
  858. package/higherOrder/helper.d.ts +32 -0
  859. package/higherOrder/helper.js +81 -0
  860. package/higherOrder/props.d.ts +116 -0
  861. package/higherOrder/props.js +5 -0
  862. package/higherOrder/withBaseWrapper.d.ts +5 -0
  863. package/higherOrder/withBaseWrapper.js +218 -0
  864. package/higherOrder/withStandalone.d.ts +11 -0
  865. package/higherOrder/withStandalone.js +29 -0
  866. package/hooks/useAccess.d.ts +18 -0
  867. package/hooks/useAccess.js +321 -0
  868. package/hooks/useAppConfig.d.ts +3 -0
  869. package/hooks/useAppConfig.js +42 -0
  870. package/hooks/useAuth.d.ts +55 -0
  871. package/hooks/useAuth.js +568 -0
  872. package/hooks/useDataSourceSubscription.d.ts +15 -0
  873. package/hooks/useDataSourceSubscription.js +125 -0
  874. package/hooks/useDebounce.d.ts +21 -0
  875. package/hooks/useDebounce.js +76 -0
  876. package/hooks/useDeviceVisibility.d.ts +4 -0
  877. package/hooks/useDeviceVisibility.js +49 -0
  878. package/hooks/useHttp.d.ts +57 -0
  879. package/hooks/useHttp.js +531 -0
  880. package/libs/index.js +13 -0
  881. package/libs/prefab/index.js +20 -0
  882. package/mui-config/theme-provider.d.ts +3 -0
  883. package/mui-config/theme-provider.js +17 -0
  884. package/mui-config/theme.d.ts +2 -0
  885. package/mui-config/theme.js +364 -0
  886. package/package-lock.json +16455 -0
  887. package/package.json +135 -0
  888. package/providers/AppProviders.js +27 -0
  889. package/runtime-dynamic/App.d.ts +7 -0
  890. package/runtime-dynamic/App.js +144 -0
  891. package/runtime-dynamic/app-initializer.d.ts +15 -0
  892. package/runtime-dynamic/app-initializer.js +447 -0
  893. package/runtime-dynamic/components/ErrorBoundary.d.ts +18 -0
  894. package/runtime-dynamic/components/ErrorBoundary.js +93 -0
  895. package/runtime-dynamic/components/PageWrapper.d.ts +1 -0
  896. package/runtime-dynamic/components/PageWrapper.js +43 -0
  897. package/runtime-dynamic/components/PrefabPreview.d.ts +1 -0
  898. package/runtime-dynamic/components/PrefabPreview.js +84 -0
  899. package/runtime-dynamic/components/partial-content.d.ts +15 -0
  900. package/runtime-dynamic/components/partial-content.js +50 -0
  901. package/runtime-dynamic/components/prefab-content.d.ts +10 -0
  902. package/runtime-dynamic/components/prefab-content.js +31 -0
  903. package/runtime-dynamic/components/use-dynamic-component.d.ts +10 -0
  904. package/runtime-dynamic/components/use-dynamic-component.js +165 -0
  905. package/runtime-dynamic/factories/build-base-page-like-component.d.ts +8 -0
  906. package/runtime-dynamic/factories/build-base-page-like-component.js +59 -0
  907. package/runtime-dynamic/factories/prefab-factory.d.ts +3 -0
  908. package/runtime-dynamic/factories/prefab-factory.js +82 -0
  909. package/runtime-dynamic/factories/startup-info.d.ts +6 -0
  910. package/runtime-dynamic/factories/startup-info.js +28 -0
  911. package/runtime-dynamic/factories/utils.d.ts +23 -0
  912. package/runtime-dynamic/factories/utils.js +131 -0
  913. package/runtime-dynamic/index.d.ts +14 -0
  914. package/runtime-dynamic/index.js +191 -0
  915. package/runtime-dynamic/main.d.ts +2 -0
  916. package/runtime-dynamic/main.js +84 -0
  917. package/runtime-dynamic/preview-mode.d.ts +15 -0
  918. package/runtime-dynamic/preview-mode.js +31 -0
  919. package/runtime-dynamic/preview-navigation.d.ts +6 -0
  920. package/runtime-dynamic/preview-navigation.js +38 -0
  921. package/runtime-dynamic/preview-resource-base.d.ts +12 -0
  922. package/runtime-dynamic/preview-resource-base.js +65 -0
  923. package/runtime-dynamic/registry/component-registry.d.ts +3 -0
  924. package/runtime-dynamic/registry/component-registry.js +353 -0
  925. package/runtime-dynamic/registry/custom-widget-registry.d.ts +7 -0
  926. package/runtime-dynamic/registry/custom-widget-registry.js +18 -0
  927. package/runtime-dynamic/registry/index.d.ts +2 -0
  928. package/runtime-dynamic/registry/index.js +63 -0
  929. package/runtime-dynamic/registry/store.d.ts +9 -0
  930. package/runtime-dynamic/registry/store.js +26 -0
  931. package/runtime-dynamic/routes.d.ts +2 -0
  932. package/runtime-dynamic/routes.js +107 -0
  933. package/runtime-dynamic/services/app-extension-provider.d.ts +1 -0
  934. package/runtime-dynamic/services/app-extension-provider.js +45 -0
  935. package/runtime-dynamic/services/cache.d.ts +29 -0
  936. package/runtime-dynamic/services/cache.js +57 -0
  937. package/runtime-dynamic/services/component-ref-provider.d.ts +12 -0
  938. package/runtime-dynamic/services/component-ref-provider.js +149 -0
  939. package/runtime-dynamic/services/css-scoping.d.ts +2 -0
  940. package/runtime-dynamic/services/css-scoping.js +53 -0
  941. package/runtime-dynamic/services/fragment-url.d.ts +16 -0
  942. package/runtime-dynamic/services/fragment-url.js +74 -0
  943. package/runtime-dynamic/services/index.d.ts +10 -0
  944. package/runtime-dynamic/services/index.js +152 -0
  945. package/runtime-dynamic/services/markup-transpiler.d.ts +12 -0
  946. package/runtime-dynamic/services/markup-transpiler.js +250 -0
  947. package/runtime-dynamic/services/prefab-resources.d.ts +18 -0
  948. package/runtime-dynamic/services/prefab-resources.js +159 -0
  949. package/runtime-dynamic/services/resource-manager.d.ts +2 -0
  950. package/runtime-dynamic/services/resource-manager.js +66 -0
  951. package/runtime-dynamic/services/script-executor.d.ts +8 -0
  952. package/runtime-dynamic/services/script-executor.js +90 -0
  953. package/runtime-dynamic/services/variable-factory.d.ts +2 -0
  954. package/runtime-dynamic/services/variable-factory.js +260 -0
  955. package/runtime-dynamic/services/variable-registry.d.ts +12 -0
  956. package/runtime-dynamic/services/variable-registry.js +118 -0
  957. package/runtime-dynamic/services/variable-transpiler.d.ts +5 -0
  958. package/runtime-dynamic/services/variable-transpiler.js +159 -0
  959. package/runtime-dynamic/shims/next-image.d.ts +35 -0
  960. package/runtime-dynamic/shims/next-image.js +60 -0
  961. package/runtime-dynamic/shims/next-link.d.ts +25 -0
  962. package/runtime-dynamic/shims/next-link.js +33 -0
  963. package/runtime-dynamic/shims/next-navigation.d.ts +16 -0
  964. package/runtime-dynamic/shims/next-navigation.js +52 -0
  965. package/runtime-dynamic/utils/index.d.ts +9 -0
  966. package/runtime-dynamic/utils/index.js +40 -0
  967. package/store/bindActions/i18nActions.d.ts +7 -0
  968. package/store/bindActions/i18nActions.js +18 -0
  969. package/store/index.d.ts +18 -0
  970. package/store/index.js +40 -0
  971. package/store/middleware/navigationMiddleware.d.ts +10 -0
  972. package/store/middleware/navigationMiddleware.js +48 -0
  973. package/store/middleware/pendingTabNavigationIntentMiddleware.d.ts +6 -0
  974. package/store/middleware/pendingTabNavigationIntentMiddleware.js +25 -0
  975. package/store/slices/appConfigSlice.d.ts +21 -0
  976. package/store/slices/appConfigSlice.js +105 -0
  977. package/store/slices/authSlice.d.ts +54 -0
  978. package/store/slices/authSlice.js +526 -0
  979. package/store/slices/i18nSlice.d.ts +25 -0
  980. package/store/slices/i18nSlice.js +206 -0
  981. package/store/slices/navigationSlice.d.ts +7 -0
  982. package/store/slices/navigationSlice.js +35 -0
  983. package/store/viewport.service.d.ts +45 -0
  984. package/store/viewport.service.js +255 -0
  985. package/tsconfig.declaration.tsbuildinfo +1 -0
  986. package/types/global.d.js +3 -0
  987. package/types/index.d.ts +64 -0
  988. package/types/index.js +15 -0
  989. package/utils/attr.d.ts +1 -0
  990. package/utils/attr.js +92 -0
  991. package/utils/custom-expression/index.d.ts +43 -0
  992. package/utils/custom-expression/index.js +161 -0
  993. package/utils/custom-expression/parser.d.ts +15 -0
  994. package/utils/custom-expression/parser.js +208 -0
  995. package/utils/dataset-util.d.ts +31 -0
  996. package/utils/dataset-util.js +173 -0
  997. package/utils/eval-expression.js +32 -0
  998. package/utils/form-state.util.d.ts +62 -0
  999. package/utils/form-state.util.js +167 -0
  1000. package/utils/form-utils.d.ts +84 -0
  1001. package/utils/form-utils.js +232 -0
  1002. package/utils/format-util.d.ts +25 -0
  1003. package/utils/format-util.js +300 -0
  1004. package/utils/layoutsize-util.d.ts +1 -0
  1005. package/utils/layoutsize-util.js +57 -0
  1006. package/utils/lib-error-skipper.d.ts +11 -0
  1007. package/utils/lib-error-skipper.js +75 -0
  1008. package/utils/page-params-util.d.ts +20 -0
  1009. package/utils/page-params-util.js +56 -0
  1010. package/utils/pending-tab-navigation-intent.d.ts +4 -0
  1011. package/utils/pending-tab-navigation-intent.js +25 -0
  1012. package/utils/resource-url.d.ts +1 -0
  1013. package/utils/resource-url.js +27 -0
  1014. package/utils/state-persistance.d.ts +27 -0
  1015. package/utils/state-persistance.js +411 -0
  1016. package/utils/style-utils.d.ts +28 -0
  1017. package/utils/style-utils.js +92 -0
  1018. package/utils/transformedDataset-utils.d.ts +67 -0
  1019. package/utils/transformedDataset-utils.js +645 -0
  1020. package/utils/widget-cleanup-util.d.ts +32 -0
  1021. package/utils/widget-cleanup-util.js +109 -0
  1022. package/utils/widgets.d.ts +3 -0
  1023. package/utils/widgets.js +97 -0
  1024. package/variables/base-variable.d.ts +61 -0
  1025. package/variables/base-variable.js +180 -0
  1026. package/variables/constants.d.ts +21 -0
  1027. package/variables/constants.js +27 -0
  1028. package/variables/crud-variable.d.ts +39 -0
  1029. package/variables/crud-variable.js +227 -0
  1030. package/variables/live-variable.d.ts +58 -0
  1031. package/variables/live-variable.js +226 -0
  1032. package/variables/metadata.service.d.ts +24 -0
  1033. package/variables/metadata.service.js +122 -0
  1034. package/variables/model-variable.d.ts +12 -0
  1035. package/variables/model-variable.js +86 -0
  1036. package/variables/service-variable.d.ts +41 -0
  1037. package/variables/service-variable.js +356 -0
  1038. package/wm-namespace.d.ts +11 -0
  1039. package/wm-namespace.js +14 -0
@@ -0,0 +1,1095 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.usePagination = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _react = require("react");
11
+ var _lodash = require("lodash");
12
+ var _utils = require("../../table/utils");
13
+ 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; }
14
+ 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; }
15
+ // Utility function to check if the datasource has paging capability
16
+ var isDataSourceHasPaging = function isDataSourceHasPaging(datasource) {
17
+ return datasource && typeof datasource.execute === "function" && datasource.execute("IS_PAGEABLE");
18
+ };
19
+
20
+ // Utility function to calculate paging values
21
+ var calculatePagingValues = function calculatePagingValues(dataSize, maxResults) {
22
+ return dataSize > maxResults ? Math.ceil(dataSize / maxResults) : dataSize < 0 ? 0 : 1;
23
+ };
24
+
25
+ // Utility function to create a dummy synthetic event when no event is available
26
+ var createDummyEvent = function createDummyEvent() {
27
+ var eventName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "synthetic";
28
+ return {
29
+ bubbles: false,
30
+ cancelable: false,
31
+ currentTarget: null,
32
+ defaultPrevented: false,
33
+ eventPhase: 0,
34
+ isTrusted: false,
35
+ nativeEvent: new Event(eventName),
36
+ target: null,
37
+ timeStamp: Date.now(),
38
+ type: eventName,
39
+ // Dynamic type based on the event being triggered
40
+ isDefaultPrevented: function isDefaultPrevented() {
41
+ return false;
42
+ },
43
+ isPropagationStopped: function isPropagationStopped() {
44
+ return false;
45
+ },
46
+ persist: function persist() {},
47
+ preventDefault: function preventDefault() {},
48
+ stopPropagation: function stopPropagation() {}
49
+ };
50
+ };
51
+ var usePagination = exports.usePagination = function usePagination(_ref) {
52
+ var _listener$Widgets;
53
+ var dataset = _ref.dataset,
54
+ _ref$maxResults = _ref.maxResults,
55
+ maxResults = _ref$maxResults === void 0 ? 10 : _ref$maxResults,
56
+ initialPage = _ref.currentPage,
57
+ navigation = _ref.navigation,
58
+ name = _ref.name,
59
+ listener = _ref.listener,
60
+ onPaginationChange = _ref.onPaginationChange,
61
+ onSetRecord = _ref.onSetRecord,
62
+ onPageSizeChange = _ref.onPageSizeChange,
63
+ paginationMeta = _ref.paginationMeta,
64
+ totalItems = _ref.totalItems,
65
+ datasource = _ref.datasource,
66
+ setIsLoadingMore = _ref.setIsLoadingMore,
67
+ _ref$isServerSidePagi = _ref.isServerSidePagination,
68
+ isServerSidePagination = _ref$isServerSidePagi === void 0 ? false : _ref$isServerSidePagi,
69
+ listDirection = _ref.listDirection,
70
+ scrollContainerRef = _ref.scrollContainerRef,
71
+ sentinelRefProp = _ref.sentinelRef,
72
+ datasourceInvokeOptions = _ref.datasourceInvokeOptions;
73
+ // Extract onPageSizeChange from listener if not provided directly
74
+ var pageSizeChangeHandler = onPageSizeChange || (listener === null || listener === void 0 ? void 0 : listener.onPageSizeChange);
75
+ var widgetInstance = listener === null || listener === void 0 || (_listener$Widgets = listener.Widgets) === null || _listener$Widgets === void 0 ? void 0 : _listener$Widgets[name];
76
+ // Consolidated pagination state
77
+ var _useState = (0, _react.useState)({
78
+ currentPage: initialPage || 1,
79
+ pageCount: 0,
80
+ dataSize: 0,
81
+ currentMaxResults: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.size) || maxResults,
82
+ error: null
83
+ }),
84
+ paginationState = _useState[0],
85
+ setPaginationState = _useState[1];
86
+
87
+ // Data state
88
+ var _useState2 = (0, _react.useState)({
89
+ fullData: [],
90
+ result: []
91
+ }),
92
+ dataState = _useState2[0],
93
+ setDataState = _useState2[1];
94
+
95
+ // Accumulated data state - used for both Scroll and On-Demand navigation
96
+ // Both modes need to accumulate data as user loads more pages
97
+ var _useState3 = (0, _react.useState)({
98
+ accumulatedData: [],
99
+ lastLoadedPage: 0,
100
+ isAccumulating: navigation === "Scroll" || navigation === "On-Demand",
101
+ isInitialized: false
102
+ }),
103
+ accumulatingState = _useState3[0],
104
+ setAccumulatingState = _useState3[1];
105
+
106
+ // Navigation disable states - consolidated for better performance
107
+ var _useState4 = (0, _react.useState)({
108
+ isDisableNext: true,
109
+ isDisablePrevious: true,
110
+ isDisableFirst: true,
111
+ isDisableLast: true,
112
+ isDisableCurrent: false,
113
+ isDisableCount: false
114
+ }),
115
+ disableStates = _useState4[0],
116
+ setDisableStates = _useState4[1];
117
+ var isFetchingRef = (0, _react.useRef)(false);
118
+ var isResettingRef = (0, _react.useRef)(false); // Track if we're currently resetting accumulated data
119
+
120
+ // Refs for accumulated data (Scroll and On-Demand)
121
+ var observerRef = (0, _react.useRef)(null);
122
+ var internalSentinelRef = (0, _react.useRef)(null);
123
+ var sentinelRef = sentinelRefProp !== undefined ? sentinelRefProp : internalSentinelRef;
124
+ var accumulatingStateRef = (0, _react.useRef)(accumulatingState);
125
+ var sentinelHasLeftViewportRef = (0, _react.useRef)(true); // Track if sentinel has left viewport after View Less
126
+
127
+ // Keep ref in sync with state
128
+ (0, _react.useEffect)(function () {
129
+ accumulatingStateRef.current = accumulatingState;
130
+ }, [accumulatingState]);
131
+
132
+ // Memoized computed values for better performance
133
+ var isFirstPage = (0, _react.useMemo)(function () {
134
+ // First check pagination metadata if available
135
+ if (paginationMeta && paginationMeta.first !== undefined) {
136
+ return paginationMeta.first;
137
+ }
138
+ // Fall back to calculation
139
+ return paginationState.currentPage === 1 || !paginationState.currentPage;
140
+ }, [paginationState.currentPage, paginationMeta]);
141
+ var isLastPage = (0, _react.useMemo)(function () {
142
+ // First check pagination metadata if available
143
+ if (paginationMeta && paginationMeta.last !== undefined) {
144
+ return paginationMeta.last;
145
+ }
146
+ // Fall back to calculation
147
+ return paginationState.currentPage === paginationState.pageCount;
148
+ }, [paginationState.currentPage, paginationState.pageCount, paginationMeta]);
149
+
150
+ // Navigation controls
151
+ var allowedNavControls = ["Basic", "Classic", "Pager", "Scroll", "On-Demand"];
152
+ var getValidNavControl = function getValidNavControl(nav) {
153
+ return allowedNavControls.includes(nav) ? nav : "Basic";
154
+ };
155
+ var _useState5 = (0, _react.useState)(getValidNavControl(navigation)),
156
+ navcontrols = _useState5[0],
157
+ setNavcontrols = _useState5[1];
158
+
159
+ // Function to invoke datasource for API-based pagination
160
+ var datasourceInvoke = (0, _react.useCallback)(function (page, size) {
161
+ var isScrollMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
162
+ // Only invoke datasource if server-side pagination is enabled
163
+ if (isServerSidePagination && datasource && typeof datasource.invoke === "function") {
164
+ // Prevent concurrent requests
165
+ if (isFetchingRef.current) {
166
+ return Promise.resolve();
167
+ }
168
+ isFetchingRef.current = true;
169
+ setPaginationState(function (prev) {
170
+ return _objectSpread(_objectSpread({}, prev), {}, {
171
+ error: null
172
+ });
173
+ });
174
+ try {
175
+ // Prepare invoke options with page and optionally size
176
+ var invokeOptions = {
177
+ page: page
178
+ };
179
+ if (size !== undefined) {
180
+ invokeOptions.size = size;
181
+ }
182
+
183
+ // Include additional invoke options if provided (for table sorting/filtering)
184
+ if (datasourceInvokeOptions) {
185
+ // Merge the additional options with page/size
186
+ Object.assign(invokeOptions, datasourceInvokeOptions);
187
+ }
188
+
189
+ // Wrap the result in Promise.resolve to handle cases where invoke doesn't return a Promise
190
+ var result = datasource.invoke(invokeOptions);
191
+ return Promise.resolve(result).then(function (response) {
192
+ isFetchingRef.current = false;
193
+
194
+ // For accumulating mode (Scroll/On-Demand), we need to accumulate data instead of replacing
195
+ if (isScrollMode && response && response.data) {
196
+ // Get the new accumulated data using ref to avoid circular dependency
197
+ var currentAccumulatedData = accumulatingStateRef.current.accumulatedData;
198
+
199
+ // Ensure unique row IDs using the existing utility
200
+ var newDataWithIds = (0, _utils.addUniqueRowIds)(response.data);
201
+ var newAccumulatedData = [].concat((0, _toConsumableArray2["default"])(currentAccumulatedData), (0, _toConsumableArray2["default"])(newDataWithIds));
202
+ setAccumulatingState(function (prev) {
203
+ return _objectSpread(_objectSpread({}, prev), {}, {
204
+ accumulatedData: newAccumulatedData,
205
+ lastLoadedPage: page
206
+ });
207
+ });
208
+
209
+ // Immediately update the data state with accumulated data
210
+ setDataState(function (prev) {
211
+ return _objectSpread(_objectSpread({}, prev), {}, {
212
+ fullData: newAccumulatedData,
213
+ result: newAccumulatedData
214
+ });
215
+ });
216
+ }
217
+ return response;
218
+ })["catch"](function (error) {
219
+ isFetchingRef.current = false;
220
+ console.error("Error fetching page data:", error);
221
+ setPaginationState(function (prev) {
222
+ return _objectSpread(_objectSpread({}, prev), {}, {
223
+ error: error.message || "Failed to fetch page data"
224
+ });
225
+ });
226
+ return Promise.reject(error);
227
+ });
228
+ } catch (error) {
229
+ isFetchingRef.current = false;
230
+ console.error("Error invoking datasource:", error);
231
+ setPaginationState(function (prev) {
232
+ return _objectSpread(_objectSpread({}, prev), {}, {
233
+ error: error.message || "Failed to invoke datasource"
234
+ });
235
+ });
236
+ return Promise.reject(error);
237
+ }
238
+ }
239
+ return Promise.resolve();
240
+ }, [datasource, isServerSidePagination, datasourceInvokeOptions]);
241
+
242
+ // Function to load more data for Scroll and On-Demand navigation
243
+ var loadMoreData = (0, _react.useCallback)(function (event) {
244
+ // Support both Scroll and On-Demand navigation
245
+ var isAccumulatingMode = navigation === "Scroll" || navigation === "On-Demand";
246
+ if (!isAccumulatingMode || isLastPage || isFetchingRef.current) {
247
+ return;
248
+ }
249
+
250
+ // For client-side pagination (non-server), just show more items
251
+ if (!isServerSidePagination) {
252
+ var currentVisible = accumulatingStateRef.current.accumulatedData.length;
253
+ var totalAvailable = dataState.fullData.length;
254
+ var nextBatchSize = paginationState.currentMaxResults;
255
+ var newVisibleCount = Math.min(currentVisible + nextBatchSize, totalAvailable);
256
+
257
+ // Get next batch of data
258
+ var nextBatch = dataState.fullData.slice(currentVisible, newVisibleCount);
259
+ var newAccumulatedData = [].concat((0, _toConsumableArray2["default"])(accumulatingStateRef.current.accumulatedData), (0, _toConsumableArray2["default"])(nextBatch));
260
+ setAccumulatingState(function (prev) {
261
+ return _objectSpread(_objectSpread({}, prev), {}, {
262
+ accumulatedData: newAccumulatedData,
263
+ lastLoadedPage: prev.lastLoadedPage + 1
264
+ });
265
+ });
266
+
267
+ // Update the result to show accumulated data
268
+ setDataState(function (prev) {
269
+ return _objectSpread(_objectSpread({}, prev), {}, {
270
+ result: newAccumulatedData
271
+ });
272
+ });
273
+
274
+ // Update current page
275
+ var _nextPage = accumulatingStateRef.current.lastLoadedPage + 1;
276
+ setPaginationState(function (prev) {
277
+ return _objectSpread(_objectSpread({}, prev), {}, {
278
+ currentPage: _nextPage
279
+ });
280
+ });
281
+ if (onPaginationChange) {
282
+ onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, _nextPage);
283
+ }
284
+ return;
285
+ }
286
+
287
+ // Server-side pagination
288
+ var nextPage = accumulatingStateRef.current.lastLoadedPage + 1;
289
+ if (setIsLoadingMore) {
290
+ setIsLoadingMore(true);
291
+ }
292
+ datasourceInvoke(nextPage, paginationState.currentMaxResults, true).then(function () {
293
+ setPaginationState(function (prev) {
294
+ return _objectSpread(_objectSpread({}, prev), {}, {
295
+ currentPage: nextPage
296
+ });
297
+ });
298
+ if (onPaginationChange) {
299
+ onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, nextPage);
300
+ }
301
+ if (setIsLoadingMore) {
302
+ setIsLoadingMore(false);
303
+ }
304
+ })["catch"](function () {
305
+ if (setIsLoadingMore) {
306
+ setIsLoadingMore(false);
307
+ }
308
+ });
309
+ }, [navigation, isServerSidePagination, isLastPage, setIsLoadingMore, datasourceInvoke, paginationState.currentMaxResults, onPaginationChange, widgetInstance, dataState.fullData]);
310
+
311
+ // Function to reset accumulated data (for View Less button in On-Demand navigation)
312
+ var resetAccumulatedData = (0, _react.useCallback)(function (event) {
313
+ if (navigation === "Scroll") {
314
+ sentinelHasLeftViewportRef.current = false;
315
+ }
316
+
317
+ // Set resetting flag to prevent dataset prop from overwriting our reset
318
+ isResettingRef.current = true;
319
+
320
+ // Reset to initial state
321
+ setAccumulatingState({
322
+ accumulatedData: [],
323
+ lastLoadedPage: 0,
324
+ isAccumulating: navigation === "Scroll" || navigation === "On-Demand",
325
+ isInitialized: false
326
+ });
327
+
328
+ // Immediately clear the result data to trigger UI update
329
+ setDataState(function (prev) {
330
+ return _objectSpread(_objectSpread({}, prev), {}, {
331
+ result: []
332
+ });
333
+ });
334
+
335
+ // Reset current page to 1
336
+ setPaginationState(function (prev) {
337
+ return _objectSpread(_objectSpread({}, prev), {}, {
338
+ currentPage: 1
339
+ });
340
+ });
341
+
342
+ // Immediately trigger pagination change callback to reset table's page index
343
+ if (onPaginationChange) {
344
+ onPaginationChange(event || createDummyEvent(), widgetInstance, 1);
345
+ }
346
+
347
+ // For client-side, reset result to first page
348
+ if (!isServerSidePagination && dataState.fullData.length > 0) {
349
+ var firstPageData = dataState.fullData.slice(0, paginationState.currentMaxResults);
350
+ setDataState(function (prev) {
351
+ return _objectSpread(_objectSpread({}, prev), {}, {
352
+ result: firstPageData
353
+ });
354
+ });
355
+
356
+ // Re-initialize with first page data
357
+ setTimeout(function () {
358
+ setAccumulatingState({
359
+ accumulatedData: firstPageData,
360
+ lastLoadedPage: 1,
361
+ isAccumulating: true,
362
+ isInitialized: true
363
+ });
364
+ }, 0);
365
+ }
366
+
367
+ // For server-side, refetch first page
368
+ if (isServerSidePagination && datasource && typeof datasource.invoke === "function") {
369
+ if (setIsLoadingMore) {
370
+ setIsLoadingMore(true);
371
+ }
372
+ var invokeOptions = {
373
+ page: 1
374
+ };
375
+
376
+ // Include additional options if provided
377
+ if (datasourceInvokeOptions) {
378
+ Object.assign(invokeOptions, datasourceInvokeOptions);
379
+ }
380
+ var result = datasource.invoke(invokeOptions);
381
+ Promise.resolve(result).then(function (response) {
382
+ if (response && response.data) {
383
+ var newDataWithIds = (0, _utils.addUniqueRowIds)(response.data);
384
+ setAccumulatingState({
385
+ accumulatedData: newDataWithIds,
386
+ lastLoadedPage: 1,
387
+ isAccumulating: true,
388
+ isInitialized: true
389
+ });
390
+ setDataState(function (prev) {
391
+ return _objectSpread(_objectSpread({}, prev), {}, {
392
+ fullData: newDataWithIds,
393
+ result: newDataWithIds
394
+ });
395
+ });
396
+ // Clear resetting flag after successfully setting new data
397
+ isResettingRef.current = false;
398
+ }
399
+ if (setIsLoadingMore) {
400
+ setIsLoadingMore(false);
401
+ }
402
+ })["catch"](function () {
403
+ // Clear resetting flag on error
404
+ isResettingRef.current = false;
405
+ if (setIsLoadingMore) {
406
+ setIsLoadingMore(false);
407
+ }
408
+ });
409
+ } else {
410
+ // For client-side, clear resetting flag after setTimeout
411
+ setTimeout(function () {
412
+ isResettingRef.current = false;
413
+ }, 0);
414
+ }
415
+
416
+ // Note: Pagination change callback is already called above when resetting state
417
+ }, [navigation, isServerSidePagination, datasource, datasourceInvokeOptions, dataState.fullData, paginationState.currentMaxResults, setIsLoadingMore, onPaginationChange, widgetInstance]);
418
+
419
+ // Vertical/column: sentinel in footer, root = viewport (null). Row/horizontal: sentinel inside list, root = list scroll container.
420
+ var isRowScroll = navigation === "Scroll" && (listDirection === "row" || listDirection === "horizontal");
421
+
422
+ // Single IntersectionObserver for both directions: root = viewport (vertical) or list scroll container (row)
423
+ var setupInfiniteScrollObserver = (0, _react.useCallback)(function (sentinel, scrollRoot) {
424
+ if (observerRef.current) {
425
+ observerRef.current.disconnect();
426
+ observerRef.current = null;
427
+ }
428
+ if (!sentinel || navigation !== "Scroll" || !accumulatingStateRef.current.isInitialized) {
429
+ return;
430
+ }
431
+ if (isRowScroll && !scrollRoot) {
432
+ return; // Row needs list container as root; sentinel is inside list
433
+ }
434
+ observerRef.current = new IntersectionObserver(function (entries) {
435
+ var entry = entries[0];
436
+ if (!entry.isIntersecting && sentinelHasLeftViewportRef.current === false) {
437
+ sentinelHasLeftViewportRef.current = true;
438
+ }
439
+ if (entry.isIntersecting && accumulatingStateRef.current.isInitialized && !isLastPage && !isFetchingRef.current && sentinelHasLeftViewportRef.current) {
440
+ loadMoreData();
441
+ sentinelHasLeftViewportRef.current = false;
442
+ }
443
+ }, {
444
+ root: scrollRoot !== null && scrollRoot !== void 0 ? scrollRoot : null,
445
+ rootMargin: isRowScroll ? "0px" : "100px",
446
+ threshold: 0.1
447
+ });
448
+ observerRef.current.observe(sentinel);
449
+ }, [navigation, isLastPage, loadMoreData, listDirection, isRowScroll]);
450
+
451
+ // Function to reset the paging values to default
452
+
453
+ // Function to calculate the paging values
454
+
455
+ // Function to set default values to the paging parameters
456
+ var setDefaultPagingValues = (0, _react.useCallback)(function (newDataSize, newMaxResults, currentPage) {
457
+ setPaginationState(function (prev) {
458
+ // If neither 'dataSize' nor 'maxResults' is set, then set default values to the paging parameters
459
+ if (!newDataSize && !newMaxResults) {
460
+ return _objectSpread(_objectSpread({}, prev), {}, {
461
+ pageCount: 1,
462
+ dataSize: newDataSize,
463
+ currentPage: currentPage !== undefined ? currentPage : prev.currentPage
464
+ });
465
+ } else {
466
+ // Else, set the specified values and recalculate paging parameters
467
+ var updatedMaxResults = newMaxResults || prev.currentMaxResults;
468
+ var updatedDataSize = newDataSize !== undefined ? newDataSize : prev.dataSize;
469
+ var updatedCurrentPage = currentPage !== undefined ? currentPage : prev.currentPage;
470
+
471
+ // Calculate page count based on updated values
472
+ // Use paginationMeta.totalPages if available
473
+ var newPageCount = (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalPages) !== undefined && (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalPages) > 1 ? paginationMeta.totalPages : updatedDataSize > updatedMaxResults ? Math.ceil(updatedDataSize / updatedMaxResults) : updatedDataSize < 0 ? 0 : 1;
474
+ return _objectSpread(_objectSpread({}, prev), {}, {
475
+ currentPage: updatedCurrentPage,
476
+ dataSize: updatedDataSize,
477
+ pageCount: newPageCount
478
+ });
479
+ }
480
+ });
481
+ }, [paginationMeta]);
482
+
483
+ // Function to disable navigation based on the current and total pages
484
+ var disableNavigation = (0, _react.useCallback)(function () {
485
+ setDisableStates({
486
+ isDisableFirst: isFirstPage,
487
+ isDisablePrevious: isFirstPage,
488
+ isDisableNext: isLastPage,
489
+ isDisableLast: isLastPage,
490
+ isDisableCurrent: isFirstPage && isLastPage,
491
+ isDisableCount: false
492
+ });
493
+ }, [isFirstPage, isLastPage]);
494
+
495
+ // Set non-pageable data
496
+ var setNonPageableData = (0, _react.useCallback)(function (newVal) {
497
+ var newDataSize, newMaxResults, currentPage, startIndex;
498
+
499
+ // For server-side pagination, use totalItems or paginationMeta.totalElements as dataSize
500
+ // This represents the total count of all records, not just the current page
501
+ if (isServerSidePagination) {
502
+ var serverTotalCount = totalItems !== null && totalItems !== void 0 ? totalItems : paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements;
503
+ newDataSize = serverTotalCount !== undefined && serverTotalCount >= 0 ? serverTotalCount : (0, _lodash.isArray)(newVal) ? newVal.length : (0, _lodash.isEmpty)(newVal) ? 0 : 1;
504
+ } else {
505
+ // For client-side pagination, use the array length
506
+ newDataSize = (0, _lodash.isArray)(newVal) ? newVal.length : (0, _lodash.isEmpty)(newVal) ? 0 : 1;
507
+ }
508
+ newMaxResults = paginationState.currentMaxResults || newDataSize;
509
+ // Don't default to 1 if currentPage exists
510
+ currentPage = paginationState.currentPage;
511
+ setDefaultPagingValues(newDataSize, newMaxResults, currentPage);
512
+ disableNavigation();
513
+ startIndex = (currentPage - 1) * newMaxResults;
514
+ setDataState(function (prev) {
515
+ return _objectSpread(_objectSpread({}, prev), {}, {
516
+ result: (0, _lodash.isArray)(newVal) ? newVal.slice(startIndex, startIndex + newMaxResults) : newVal
517
+ });
518
+ });
519
+ }, [paginationState.currentPage, paginationState.currentMaxResults, disableNavigation, setDefaultPagingValues, isServerSidePagination, totalItems, paginationMeta]);
520
+
521
+ // Set pagination values
522
+ var setPagingValues = (0, _react.useCallback)(function (newVal) {
523
+ // Check if we're in accumulating mode (Scroll or On-Demand with server-side pagination)
524
+ var isAccumulatingMode = (navigation === "Scroll" || navigation === "On-Demand") && isServerSidePagination;
525
+ if (isAccumulatingMode) {
526
+ // Use ref to check accumulated data to avoid circular dependency
527
+ var currentAccumulatedData = accumulatingStateRef.current.accumulatedData;
528
+
529
+ // Only update on initial load (when accumulated data is empty)
530
+ if (currentAccumulatedData.length === 0 && (0, _lodash.isArray)(newVal)) {
531
+ // Ensure initial data has unique IDs using the existing utility
532
+ var initialDataWithIds = (0, _utils.addUniqueRowIds)(newVal);
533
+ setAccumulatingState(function (prev) {
534
+ return _objectSpread(_objectSpread({}, prev), {}, {
535
+ accumulatedData: initialDataWithIds,
536
+ lastLoadedPage: 1,
537
+ isInitialized: true
538
+ });
539
+ });
540
+ setDataState(function (prev) {
541
+ return _objectSpread(_objectSpread({}, prev), {}, {
542
+ fullData: initialDataWithIds,
543
+ result: initialDataWithIds
544
+ });
545
+ });
546
+ } else if (currentAccumulatedData.length > 0) {
547
+ // For subsequent updates in accumulating mode, always use accumulated data
548
+ setDataState(function (prev) {
549
+ return _objectSpread(_objectSpread({}, prev), {}, {
550
+ fullData: currentAccumulatedData,
551
+ result: currentAccumulatedData
552
+ });
553
+ });
554
+ }
555
+ // Always return early for accumulating mode to prevent normal pagination logic
556
+ return;
557
+ }
558
+
559
+ // For On-Demand with client-side pagination
560
+ if (navigation === "On-Demand" && !isServerSidePagination) {
561
+ // Store the full data
562
+ setDataState(function (prev) {
563
+ return _objectSpread(_objectSpread({}, prev), {}, {
564
+ fullData: (0, _lodash.isArray)(newVal) ? newVal : []
565
+ });
566
+ });
567
+ var _currentAccumulatedData = accumulatingStateRef.current.accumulatedData;
568
+
569
+ // Initialize accumulated data with first page if empty
570
+ if (_currentAccumulatedData.length === 0 && (0, _lodash.isArray)(newVal) && newVal.length > 0) {
571
+ var firstPageData = newVal.slice(0, paginationState.currentMaxResults);
572
+ setAccumulatingState(function (prev) {
573
+ return _objectSpread(_objectSpread({}, prev), {}, {
574
+ accumulatedData: firstPageData,
575
+ lastLoadedPage: 1,
576
+ isInitialized: true
577
+ });
578
+ });
579
+ setDataState(function (prev) {
580
+ return _objectSpread(_objectSpread({}, prev), {}, {
581
+ result: firstPageData
582
+ });
583
+ });
584
+ } else if (_currentAccumulatedData.length > 0) {
585
+ // Use accumulated data for result
586
+ setDataState(function (prev) {
587
+ return _objectSpread(_objectSpread({}, prev), {}, {
588
+ result: _currentAccumulatedData
589
+ });
590
+ });
591
+ }
592
+
593
+ // Update dataSize for proper pagination calculation
594
+ if ((0, _lodash.isArray)(newVal)) {
595
+ setDefaultPagingValues(newVal.length, paginationState.currentMaxResults, 1);
596
+ }
597
+ return;
598
+ }
599
+
600
+ // Standard pagination logic
601
+ // Store the data in fullData. This is used for client side searching without modifying the actual dataset
602
+ setDataState(function (prev) {
603
+ return _objectSpread(_objectSpread({}, prev), {}, {
604
+ fullData: (0, _lodash.isArray)(newVal) ? newVal : []
605
+ });
606
+ });
607
+ if (newVal && !(0, _lodash.isArray)(newVal)) {
608
+ setNonPageableData(newVal);
609
+ } else if (newVal) {
610
+ setNonPageableData(newVal);
611
+ } else {
612
+ setDataState(function (prev) {
613
+ return _objectSpread(_objectSpread({}, prev), {}, {
614
+ result: newVal
615
+ });
616
+ });
617
+ // Don't reset page navigation when dataset is empty - just update counts
618
+ setPaginationState(function (prev) {
619
+ return _objectSpread(_objectSpread({}, prev), {}, {
620
+ pageCount: 0,
621
+ dataSize: 0
622
+ });
623
+ });
624
+ }
625
+ }, [setNonPageableData, navigation, isServerSidePagination, paginationState.currentMaxResults, setDefaultPagingValues]);
626
+
627
+ // Validate current page
628
+ var validateCurrentPage = (0, _react.useCallback)(function (event) {
629
+ var currentPage = paginationState.currentPage,
630
+ pageCount = paginationState.pageCount;
631
+ // If the value entered is greater than the last page number or invalid value, then update the page
632
+ if (event && (isNaN(currentPage) || currentPage <= 0 || pageCount && (currentPage > pageCount || (0, _lodash.isNull)(currentPage)))) {
633
+ if (currentPage <= 0) {
634
+ setPaginationState(function (prev) {
635
+ return _objectSpread(_objectSpread({}, prev), {}, {
636
+ currentPage: 1
637
+ });
638
+ });
639
+ } else if (currentPage > pageCount) {
640
+ setPaginationState(function (prev) {
641
+ return _objectSpread(_objectSpread({}, prev), {}, {
642
+ currentPage: pageCount
643
+ });
644
+ });
645
+ }
646
+ return false;
647
+ }
648
+ return true;
649
+ }, [paginationState]);
650
+
651
+ // Go to page
652
+ var goToPage = (0, _react.useCallback)(function () {
653
+ var currentPage = paginationState.currentPage,
654
+ currentMaxResults = paginationState.currentMaxResults;
655
+ var fullData = dataState.fullData;
656
+ var firstRow = (currentPage - 1) * currentMaxResults;
657
+ var startIndex = firstRow;
658
+ var data = (0, _lodash.isArray)(fullData) ? fullData.slice(startIndex, startIndex + currentMaxResults) : fullData;
659
+ setDataState(function (prev) {
660
+ return _objectSpread(_objectSpread({}, prev), {}, {
661
+ result: data
662
+ });
663
+ });
664
+ disableNavigation();
665
+ }, [paginationState, dataState.fullData, disableNavigation]);
666
+
667
+ // Shared function for common pagination logic
668
+ var performPageNavigation = (0, _react.useCallback)(function (newPage, previousPage, event) {
669
+ // Set loading state if available
670
+ if (setIsLoadingMore) {
671
+ setIsLoadingMore(true);
672
+ }
673
+
674
+ // Always update the current page immediately for better UX
675
+ setPaginationState(function (prev) {
676
+ return _objectSpread(_objectSpread({}, prev), {}, {
677
+ currentPage: newPage
678
+ });
679
+ });
680
+
681
+ // If server-side pagination is enabled, use API-based pagination
682
+ if (isServerSidePagination) {
683
+ datasourceInvoke(newPage).then(function () {
684
+ // Only trigger callbacks on successful data fetch
685
+ if (onPaginationChange) {
686
+ onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, newPage);
687
+ }
688
+
689
+ // Call onSetRecord with the new page data
690
+ if (onSetRecord) {
691
+ var firstRow = (newPage - 1) * paginationState.currentMaxResults;
692
+ var startIndex = firstRow;
693
+ var data = (0, _lodash.isArray)(dataState.fullData) ? dataState.fullData.slice(startIndex, startIndex + paginationState.currentMaxResults) : dataState.fullData;
694
+ var pageInfo = {
695
+ currentPage: newPage,
696
+ size: paginationState.currentMaxResults,
697
+ totalElements: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements) || dataState.fullData.length,
698
+ totalPages: paginationState.pageCount
699
+ };
700
+ onSetRecord(event || createDummyEvent("setrecord"), widgetInstance, data, pageInfo);
701
+ }
702
+
703
+ // Clear loading state immediately for better UX
704
+ if (setIsLoadingMore) {
705
+ setIsLoadingMore(false);
706
+ }
707
+ })["catch"](function () {
708
+ // If the data fetch fails, revert to the previous page
709
+ setPaginationState(function (prev) {
710
+ return _objectSpread(_objectSpread({}, prev), {}, {
711
+ currentPage: previousPage || paginationState.currentPage
712
+ });
713
+ });
714
+
715
+ // Clear loading state
716
+ if (setIsLoadingMore) {
717
+ setIsLoadingMore(false);
718
+ }
719
+ });
720
+ } else {
721
+ // Client-side pagination - no API call needed
722
+ // Just trigger the callbacks directly
723
+ if (onPaginationChange) {
724
+ onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, newPage);
725
+ }
726
+
727
+ // Call onSetRecord with the new page data
728
+ if (onSetRecord) {
729
+ var firstRow = (newPage - 1) * paginationState.currentMaxResults;
730
+ var startIndex = firstRow;
731
+ var data = (0, _lodash.isArray)(dataState.fullData) ? dataState.fullData.slice(startIndex, startIndex + paginationState.currentMaxResults) : dataState.fullData;
732
+ var pageInfo = {
733
+ currentPage: newPage,
734
+ size: paginationState.currentMaxResults,
735
+ totalElements: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements) || dataState.fullData.length,
736
+ totalPages: paginationState.pageCount
737
+ };
738
+ onSetRecord(event || createDummyEvent("setrecord"), widgetInstance, data, pageInfo);
739
+ }
740
+
741
+ // Clear loading state immediately - no delay needed for client-side pagination
742
+ if (setIsLoadingMore) {
743
+ setIsLoadingMore(false);
744
+ }
745
+ }
746
+ }, [isServerSidePagination, datasourceInvoke, onPaginationChange, onSetRecord, widgetInstance, paginationState, dataState.fullData, setIsLoadingMore, paginationMeta]);
747
+
748
+ // Navigate to page
749
+ var navigatePage = (0, _react.useCallback)(function (index, event) {
750
+ var isRefresh = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
751
+ // Convert the current page to a valid page number
752
+ var currentPage = +paginationState.currentPage;
753
+ var newPage = currentPage;
754
+ switch (index) {
755
+ case "first":
756
+ if (!isFirstPage) {
757
+ newPage = 1;
758
+ } else if (isRefresh) {
759
+ goToPage();
760
+ return;
761
+ } else {
762
+ return;
763
+ }
764
+ break;
765
+ case "prev":
766
+ // Return if already on the first page or invalid page
767
+ if (isFirstPage || !validateCurrentPage(event)) {
768
+ return;
769
+ }
770
+ // Decrement the current page by 1
771
+ newPage = currentPage - 1;
772
+ break;
773
+ case "next":
774
+ // Return if already on the last page or invalid page
775
+ if (isLastPage || !validateCurrentPage(event)) {
776
+ return;
777
+ }
778
+ // Increment the current page by 1
779
+ newPage = currentPage + 1;
780
+ break;
781
+ case "last":
782
+ if (!isLastPage) {
783
+ newPage = paginationState.pageCount;
784
+ } else if (isRefresh) {
785
+ goToPage();
786
+ return;
787
+ } else {
788
+ return;
789
+ }
790
+ break;
791
+ default:
792
+ return;
793
+ }
794
+
795
+ // Call handlers only when page actually changes
796
+ if (newPage !== currentPage) {
797
+ performPageNavigation(newPage, currentPage, event);
798
+ }
799
+ }, [paginationState, isFirstPage, isLastPage, validateCurrentPage, goToPage, performPageNavigation]);
800
+
801
+ // Handle page change for basic pagination
802
+ var handlePageChange = (0, _react.useCallback)(function (event, page) {
803
+ // Do not call goToPage if page has not changed
804
+ if (page !== paginationState.currentPage) {
805
+ // Save current page to restore in case of error
806
+ var previousPage = paginationState.currentPage;
807
+ performPageNavigation(page, previousPage, event);
808
+ }
809
+ }, [paginationState.currentPage, performPageNavigation]);
810
+
811
+ // Handle input change for classic pagination
812
+ var handleInputChange = (0, _react.useCallback)(function (event) {
813
+ var value = parseInt(event.target.value, 10);
814
+ if (!isNaN(value)) {
815
+ setPaginationState(function (prev) {
816
+ return _objectSpread(_objectSpread({}, prev), {}, {
817
+ currentPage: value
818
+ });
819
+ });
820
+ }
821
+ }, []);
822
+
823
+ // Handle model change
824
+ var onModelChange = (0, _react.useCallback)(function (event) {
825
+ if (!validateCurrentPage(event)) {
826
+ return;
827
+ }
828
+
829
+ // Call onSetRecord with the current page data
830
+ if (onSetRecord) {
831
+ var currentPage = paginationState.currentPage,
832
+ currentMaxResults = paginationState.currentMaxResults,
833
+ pageCount = paginationState.pageCount;
834
+ var fullData = dataState.fullData;
835
+ var firstRow = (currentPage - 1) * currentMaxResults;
836
+ var startIndex = firstRow;
837
+ var data = (0, _lodash.isArray)(fullData) ? fullData.slice(startIndex, startIndex + currentMaxResults) : fullData;
838
+ var pageInfo = {
839
+ currentPage: currentPage,
840
+ size: currentMaxResults,
841
+ totalElements: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements) || fullData.length,
842
+ totalPages: pageCount
843
+ };
844
+ onSetRecord(event, widgetInstance, data, pageInfo);
845
+ }
846
+ goToPage();
847
+ }, [goToPage, validateCurrentPage, onSetRecord, paginationState, dataState.fullData, widgetInstance, paginationMeta]);
848
+
849
+ // Handle key down
850
+ var onKeyDown = (0, _react.useCallback)(function (event) {
851
+ if (event.code === "KeyE") {
852
+ event.currentTarget.classList.add("ng-invalid");
853
+ return false;
854
+ }
855
+ event.currentTarget.classList.remove("ng-invalid");
856
+ return true;
857
+ }, []);
858
+
859
+ // Handle page size change
860
+ var handlePageSizeChange = (0, _react.useCallback)(function (event, pageSize) {
861
+ var oldPageSize = paginationState.currentMaxResults,
862
+ oldPage = paginationState.currentPage,
863
+ dataSize = paginationState.dataSize;
864
+
865
+ // Store actualPageSize (the previous page size) similar to Angular
866
+ var actualPageSize = oldPageSize;
867
+
868
+ // Update datasource maxResults if datasource has paging capability
869
+ if (isDataSourceHasPaging(datasource) && datasource) {
870
+ datasource.maxResults = pageSize;
871
+ }
872
+
873
+ // Update page size and reset to first page (similar to Angular behavior)
874
+ setPaginationState(function (prev) {
875
+ // Calculate new page count
876
+ var newPageCount = calculatePagingValues(dataSize, pageSize);
877
+ return _objectSpread(_objectSpread({}, prev), {}, {
878
+ currentMaxResults: pageSize,
879
+ currentPage: 1,
880
+ // Always go to first page like Angular
881
+ pageCount: newPageCount
882
+ });
883
+ });
884
+
885
+ // Set loading state if available
886
+ if (setIsLoadingMore) {
887
+ setIsLoadingMore(true);
888
+ }
889
+
890
+ // Call the external handler if provided
891
+ if (pageSizeChangeHandler) {
892
+ pageSizeChangeHandler(pageSize);
893
+ }
894
+
895
+ // Invoke datasource with new page size for server-side pagination
896
+ if (isServerSidePagination) {
897
+ datasourceInvoke(1, pageSize).then(function () {
898
+ // Trigger paginationchange event
899
+ if (onPaginationChange) {
900
+ onPaginationChange(event || createDummyEvent("paginationchange"), widgetInstance, 1);
901
+ }
902
+
903
+ // Call onSetRecord with the new page data
904
+ if (onSetRecord) {
905
+ var data = (0, _lodash.isArray)(dataState.fullData) ? dataState.fullData.slice(0, pageSize) : dataState.fullData;
906
+ var newPageCount = calculatePagingValues(dataState.fullData.length, pageSize);
907
+ var pageInfo = {
908
+ currentPage: 1,
909
+ size: pageSize,
910
+ totalElements: (paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements) || dataState.fullData.length,
911
+ totalPages: newPageCount
912
+ };
913
+ onSetRecord(event || createDummyEvent("setrecord"), widgetInstance, data, pageInfo);
914
+ }
915
+
916
+ // Clear loading state
917
+ if (setIsLoadingMore) {
918
+ setIsLoadingMore(false);
919
+ }
920
+ })["catch"](function () {
921
+ // Clear loading state on error
922
+ if (setIsLoadingMore) {
923
+ setIsLoadingMore(false);
924
+ }
925
+ });
926
+ } else {
927
+ // For client-side pagination, navigate to first page
928
+ setTimeout(function () {
929
+ navigatePage("first", event, true);
930
+ }, 0);
931
+
932
+ // Clear loading state immediately for client-side pagination
933
+ if (setIsLoadingMore) {
934
+ setIsLoadingMore(false);
935
+ }
936
+ }
937
+ }, [pageSizeChangeHandler, navigatePage, datasource, paginationState, isServerSidePagination, datasourceInvoke, onPaginationChange, onSetRecord, widgetInstance, dataState.fullData, setIsLoadingMore, paginationMeta]);
938
+
939
+ // Effect for navigation controls
940
+ (0, _react.useEffect)(function () {
941
+ setNavcontrols(getValidNavControl(navigation));
942
+
943
+ // Reset accumulated data state when navigation changes to Scroll or On-Demand
944
+ if (navigation === "Scroll" || navigation === "On-Demand") {
945
+ setAccumulatingState({
946
+ accumulatedData: [],
947
+ lastLoadedPage: 0,
948
+ isAccumulating: true,
949
+ isInitialized: false
950
+ });
951
+ }
952
+ }, [navigation]);
953
+
954
+ // for dataset changes
955
+ (0, _react.useEffect)(function () {
956
+ if (dataset !== undefined) {
957
+ // Check if we're in accumulating mode (Scroll or On-Demand with server-side pagination)
958
+ var isAccumulatingMode = (navigation === "Scroll" || navigation === "On-Demand") && isServerSidePagination;
959
+
960
+ // For accumulating mode, only process dataset updates if accumulated data is empty
961
+ // This prevents overwriting accumulated data when datasource updates with new page data
962
+ // Also skip if we're currently resetting (to prevent old dataset from overwriting reset)
963
+ if (isAccumulatingMode) {
964
+ var currentAccumulatedData = accumulatingStateRef.current.accumulatedData;
965
+ // Only process dataset if accumulated data is empty (initial load or after reset)
966
+ // AND we're not currently in the middle of a reset operation
967
+ if (currentAccumulatedData.length === 0 && !isResettingRef.current) {
968
+ setPagingValues(dataset);
969
+ }
970
+ } else {
971
+ // For non-accumulating modes, always process dataset updates
972
+ setPagingValues(dataset);
973
+ }
974
+ }
975
+ }, [dataset, setPagingValues, navigation, isServerSidePagination]);
976
+
977
+ // For server-side pagination, update dataSize and pageCount based on metadata
978
+ (0, _react.useEffect)(function () {
979
+ if (isServerSidePagination) {
980
+ // Handle totalItems/totalElements
981
+ var totalCount = totalItems !== null && totalItems !== void 0 ? totalItems : paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalElements;
982
+ if (totalCount !== undefined && totalCount >= 0) {
983
+ setPaginationState(function (prev) {
984
+ var updates = {
985
+ dataSize: totalCount
986
+ };
987
+
988
+ // If totalPages not provided, calculate it
989
+ if ((paginationMeta === null || paginationMeta === void 0 ? void 0 : paginationMeta.totalPages) !== undefined) {
990
+ updates.pageCount = paginationMeta.totalPages;
991
+ } else if (prev.currentMaxResults > 0) {
992
+ updates.pageCount = Math.ceil(totalCount / prev.currentMaxResults) || 1;
993
+ }
994
+
995
+ // Handle edge case: current page is out of range
996
+ if (paginationMeta !== null && paginationMeta !== void 0 && paginationMeta.totalPages && prev.currentPage > paginationMeta.totalPages) {
997
+ updates.currentPage = Math.max(1, paginationMeta.totalPages);
998
+ }
999
+
1000
+ // Handle empty results
1001
+ if (totalCount === 0) {
1002
+ updates.pageCount = 1; // Show at least one page for empty results
1003
+ updates.currentPage = 1;
1004
+ }
1005
+ return _objectSpread(_objectSpread({}, prev), updates);
1006
+ });
1007
+ }
1008
+ }
1009
+ }, [isServerSidePagination, totalItems, paginationMeta]);
1010
+
1011
+ // Sync internal state with currentPage prop changes (for controlled pagination)
1012
+ (0, _react.useEffect)(function () {
1013
+ if (initialPage !== undefined && initialPage !== paginationState.currentPage) {
1014
+ setPaginationState(function (prev) {
1015
+ return _objectSpread(_objectSpread({}, prev), {}, {
1016
+ currentPage: initialPage
1017
+ });
1018
+ });
1019
+ // Update navigation buttons when page changes
1020
+ disableNavigation();
1021
+ }
1022
+ }, [initialPage, paginationState.currentPage, disableNavigation]);
1023
+
1024
+ // Sync currentMaxResults when maxResults prop changes (e.g. when table passes updated page size from script/broadcast)
1025
+ (0, _react.useEffect)(function () {
1026
+ if (maxResults !== paginationState.currentMaxResults) {
1027
+ setPaginationState(function (prev) {
1028
+ return _objectSpread(_objectSpread({}, prev), {}, {
1029
+ currentMaxResults: maxResults
1030
+ });
1031
+ });
1032
+ }
1033
+ }, [maxResults, paginationState.currentMaxResults]);
1034
+
1035
+ // Re-setup observer when init or direction changes: vertical = viewport root, row = list scroll container root
1036
+ (0, _react.useEffect)(function () {
1037
+ var _scrollContainerRef$c;
1038
+ if (!accumulatingState.isInitialized || !sentinelRef.current || navigation !== "Scroll") return;
1039
+ var scrollRoot = isRowScroll ? (_scrollContainerRef$c = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current) !== null && _scrollContainerRef$c !== void 0 ? _scrollContainerRef$c : null : null;
1040
+ if (isRowScroll && !scrollRoot) return;
1041
+ setupInfiniteScrollObserver(sentinelRef.current, scrollRoot);
1042
+ }, [accumulatingState.isInitialized, navigation, setupInfiniteScrollObserver, isRowScroll]);
1043
+
1044
+ // Cleanup observer on unmount
1045
+ (0, _react.useEffect)(function () {
1046
+ return function () {
1047
+ if (observerRef.current) {
1048
+ observerRef.current.disconnect();
1049
+ observerRef.current = null;
1050
+ }
1051
+ };
1052
+ }, []);
1053
+ return {
1054
+ // State
1055
+ currentPage: paginationState.currentPage,
1056
+ pageCount: paginationState.pageCount,
1057
+ dataSize: paginationState.dataSize,
1058
+ result: dataState.result,
1059
+ navcontrols: navcontrols,
1060
+ currentMaxResults: paginationState.currentMaxResults,
1061
+ error: paginationState.error,
1062
+ // Disable states
1063
+ isDisableNext: disableStates.isDisableNext,
1064
+ isDisablePrevious: disableStates.isDisablePrevious,
1065
+ isDisableFirst: disableStates.isDisableFirst,
1066
+ isDisableLast: disableStates.isDisableLast,
1067
+ isDisableCurrent: disableStates.isDisableCurrent,
1068
+ isDisableCount: disableStates.isDisableCount,
1069
+ // Actions
1070
+ navigatePage: navigatePage,
1071
+ handlePageChange: handlePageChange,
1072
+ handleInputChange: handleInputChange,
1073
+ onModelChange: onModelChange,
1074
+ onKeyDown: onKeyDown,
1075
+ setDn: function setDn(value) {
1076
+ return setPaginationState(function (prev) {
1077
+ return _objectSpread(_objectSpread({}, prev), value);
1078
+ });
1079
+ },
1080
+ handlePageSizeChange: handlePageSizeChange,
1081
+ // Utilities
1082
+ isFirstPage: isFirstPage,
1083
+ isLastPage: isLastPage,
1084
+ isFetching: isFetchingRef.current,
1085
+ // Infinite scroll specific
1086
+ setupInfiniteScrollObserver: setupInfiniteScrollObserver,
1087
+ sentinelRef: sentinelRef,
1088
+ isLoadingMore: isFetchingRef.current && (navigation === "Scroll" || navigation === "On-Demand") && accumulatingStateRef.current.lastLoadedPage > 0,
1089
+ hasMoreData: !isLastPage && (navigation === "Scroll" || navigation === "On-Demand"),
1090
+ // On-Demand specific
1091
+ loadMoreData: loadMoreData,
1092
+ resetAccumulatedData: resetAccumulatedData,
1093
+ accumulatedDataCount: accumulatingStateRef.current.accumulatedData.length
1094
+ };
1095
+ };