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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (593) hide show
  1. package/.npmignore +4 -0
  2. package/actions/base-action.js +12 -29
  3. package/actions/login-action.js +35 -52
  4. package/actions/logout-action.js +21 -38
  5. package/actions/navigation-action.d.ts +1 -0
  6. package/actions/navigation-action.js +275 -345
  7. package/actions/notification-action.js +121 -149
  8. package/actions/timer-action.js +95 -151
  9. package/actions/toast-provider.js +62 -76
  10. package/actions/toast.js +95 -91
  11. package/actions/toast.service.js +59 -79
  12. package/actions/types/index.js +6 -9
  13. package/components/advanced/carousel/index.js +358 -366
  14. package/components/advanced/carousel/props.js +0 -5
  15. package/components/advanced/carousel/template.js +102 -80
  16. package/components/advanced/login/index.js +227 -285
  17. package/components/advanced/login/props.js +0 -5
  18. package/components/advanced/marquee/index.js +169 -163
  19. package/components/advanced/marquee/props.js +0 -5
  20. package/components/auth/RoleAuthGuard.d.ts +6 -0
  21. package/components/auth/RoleAuthGuard.js +65 -0
  22. package/components/basic/anchor/index.js +207 -187
  23. package/components/basic/anchor/props.js +0 -5
  24. package/components/basic/audio/index.js +110 -72
  25. package/components/basic/audio/props.js +0 -5
  26. package/components/basic/html/index.js +163 -203
  27. package/components/basic/html/props.js +0 -5
  28. package/components/basic/html/utils.js +30 -28
  29. package/components/basic/icon/index.js +98 -84
  30. package/components/basic/icon/props.js +0 -5
  31. package/components/basic/iframe/iframe.utils.js +7 -16
  32. package/components/basic/iframe/index.js +97 -103
  33. package/components/basic/iframe/props.js +0 -5
  34. package/components/basic/label/index.js +156 -134
  35. package/components/basic/label/props.js +0 -5
  36. package/components/basic/message/index.js +129 -113
  37. package/components/basic/message/props.js +0 -5
  38. package/components/basic/picture/index.js +156 -127
  39. package/components/basic/picture/props.js +0 -5
  40. package/components/basic/progress-bar/index.js +240 -176
  41. package/components/basic/progress-bar/props.js +5 -31
  42. package/components/basic/progress-circle/index.js +166 -183
  43. package/components/basic/progress-circle/props.js +14 -34
  44. package/components/basic/richtexteditor/index.js +430 -396
  45. package/components/basic/richtexteditor/props.js +0 -5
  46. package/components/basic/search/index.js +813 -931
  47. package/components/basic/search/props.js +0 -5
  48. package/components/basic/search/providers.js +233 -380
  49. package/components/basic/spinner/index.js +210 -200
  50. package/components/basic/spinner/props.js +4 -22
  51. package/components/basic/tile/index.js +73 -81
  52. package/components/basic/tile/props.js +0 -5
  53. package/components/basic/tree/Components/TreeNodeComponent.d.ts +1 -1
  54. package/components/basic/tree/Components/TreeNodeComponent.js +244 -170
  55. package/components/basic/tree/hooks/useTreePartialNodeApi.js +143 -135
  56. package/components/basic/tree/hooks/useTreePersistedState.d.ts +3 -0
  57. package/components/basic/tree/hooks/useTreePersistedState.js +38 -0
  58. package/components/basic/tree/index.d.ts +1 -0
  59. package/components/basic/tree/index.js +453 -454
  60. package/components/basic/tree/props.d.ts +18 -1
  61. package/components/basic/tree/props.js +0 -5
  62. package/components/basic/tree/utils.d.ts +16 -1
  63. package/components/basic/tree/utils.js +240 -185
  64. package/components/basic/video/index.js +161 -107
  65. package/components/basic/video/props.js +0 -5
  66. package/components/chart/index.js +42 -50
  67. package/components/chart/props.js +31 -37
  68. package/components/chart/src/ChartRenderer.js +172 -154
  69. package/components/chart/src/chart.js +391 -213
  70. package/components/chart/src/chartStyles.generated.js +6 -14
  71. package/components/chart/src/chartUtils.js +228 -272
  72. package/components/chart/src/constants.d.ts +13 -0
  73. package/components/chart/src/constants.js +316 -90
  74. package/components/chart/src/d3Setup.js +11 -30
  75. package/components/chart/src/dataUtils.js +363 -447
  76. package/components/chart/src/formatUtils.js +47 -38
  77. package/components/chart/src/index.js +11 -19
  78. package/components/chart/src/nvd3Source.generated.js +5 -13
  79. package/components/chart/src/pieDonutResponsiveLayout.d.ts +5 -0
  80. package/components/chart/src/pieDonutResponsiveLayout.js +76 -96
  81. package/components/chart/src/types.js +0 -5
  82. package/components/common/AppSpinner.js +17 -33
  83. package/components/common/app-spinner.js +11 -22
  84. package/components/common/customTemplate/index.d.ts +3 -0
  85. package/components/common/customTemplate/index.js +6 -0
  86. package/components/common/customTemplate/props.d.ts +20 -0
  87. package/components/common/customTemplate/props.js +0 -0
  88. package/components/common/customTemplate/template.d.ts +3 -0
  89. package/components/common/customTemplate/template.js +27 -0
  90. package/components/common/customTemplate/useCustomTemplate.d.ts +8 -0
  91. package/components/common/customTemplate/useCustomTemplate.js +17 -0
  92. package/components/common/customTemplate/utils.d.ts +6 -0
  93. package/components/common/customTemplate/utils.js +12 -0
  94. package/components/common/index.js +4 -12
  95. package/components/constants.js +81 -77
  96. package/components/container/accordion/accordion-pane/index.js +105 -118
  97. package/components/container/accordion/accordion-pane/props.js +5 -21
  98. package/components/container/accordion/index.js +225 -243
  99. package/components/container/accordion/props.js +5 -16
  100. package/components/container/index.js +210 -155
  101. package/components/container/layout-grid/grid-column/index.js +69 -43
  102. package/components/container/layout-grid/grid-column/props.js +0 -5
  103. package/components/container/layout-grid/grid-row/index.js +12 -29
  104. package/components/container/layout-grid/grid-row/props.js +0 -5
  105. package/components/container/layout-grid/index.js +53 -38
  106. package/components/container/layout-grid/props.js +0 -5
  107. package/components/container/linear-layout/index.js +56 -60
  108. package/components/container/linear-layout/linear-layout-item/index.js +43 -47
  109. package/components/container/linear-layout/linear-layout-item/props.js +0 -5
  110. package/components/container/linear-layout/props.js +0 -5
  111. package/components/container/panel/components/panel-content/index.js +7 -16
  112. package/components/container/panel/components/panel-header/index.js +166 -146
  113. package/components/container/panel/components/panel-header/props.js +0 -5
  114. package/components/container/panel/hooks.js +76 -102
  115. package/components/container/panel/index.js +289 -252
  116. package/components/container/panel/props.js +0 -5
  117. package/components/container/props.js +0 -5
  118. package/components/container/repeat-template/index.js +65 -44
  119. package/components/container/repeat-template/props.js +0 -5
  120. package/components/container/tabs/index.js +517 -526
  121. package/components/container/tabs/props.js +5 -28
  122. package/components/container/tabs/tab-pane/index.js +105 -100
  123. package/components/container/tabs/tab-pane/props.js +0 -5
  124. package/components/container/tabs/utils.js +30 -35
  125. package/components/container/wizard/WizardContext.js +9 -11
  126. package/components/container/wizard/components/StepComponents.js +76 -99
  127. package/components/container/wizard/components/WizardStep.js +107 -85
  128. package/components/container/wizard/index.js +791 -921
  129. package/components/container/wizard/props.js +0 -5
  130. package/components/container/wizard/utils.js +97 -131
  131. package/components/container/wizard/wizard-action/index.js +41 -81
  132. package/components/container/wizard/wizard-step/index.js +140 -120
  133. package/components/data/card/card-actions/index.js +13 -31
  134. package/components/data/card/card-content/index.js +27 -36
  135. package/components/data/card/card-footer/index.js +13 -31
  136. package/components/data/card/index.js +192 -199
  137. package/components/data/card/props.js +0 -5
  138. package/components/data/form/base-form/constant.js +5 -8
  139. package/components/data/form/base-form/hooks/index.js +26 -77
  140. package/components/data/form/base-form/hooks/useFormDataSync.js +106 -212
  141. package/components/data/form/base-form/hooks/useFormOperations.js +109 -161
  142. package/components/data/form/base-form/hooks/useFormSubmission.js +220 -280
  143. package/components/data/form/base-form/hooks/useFormValidation.js +119 -168
  144. package/components/data/form/base-form/hooks/useParentFormRelationship.js +67 -103
  145. package/components/data/form/base-form/index.js +534 -647
  146. package/components/data/form/base-form/props.js +74 -151
  147. package/components/data/form/base-form/utils.js +210 -323
  148. package/components/data/form/dynamic-fields/constant.js +43 -53
  149. package/components/data/form/dynamic-fields/index.js +135 -144
  150. package/components/data/form/dynamic-fields/props.js +0 -5
  151. package/components/data/form/dynamic-fields/utils.js +99 -158
  152. package/components/data/form/form-action/index.js +107 -85
  153. package/components/data/form/form-body/index.js +52 -26
  154. package/components/data/form/form-context.js +43 -59
  155. package/components/data/form/form-controller/hooks/index.js +43 -57
  156. package/components/data/form/form-controller/props.js +5 -8
  157. package/components/data/form/form-controller/utils.js +54 -49
  158. package/components/data/form/form-controller/validation-contrustor.js +203 -426
  159. package/components/data/form/form-controller/withFormController.js +320 -274
  160. package/components/data/form/form-dynamic-section/index.js +47 -41
  161. package/components/data/form/form-dynamic-section/props.js +0 -5
  162. package/components/data/form/form-field/base-field.js +97 -109
  163. package/components/data/form/form-field/index.js +91 -82
  164. package/components/data/form/form-field/props.js +0 -5
  165. package/components/data/form/form-footer/index.js +52 -25
  166. package/components/data/form/form-header/index.js +61 -58
  167. package/components/data/form/index.js +95 -74
  168. package/components/data/form/props.js +0 -5
  169. package/components/data/list/components/GroupHeader.js +34 -33
  170. package/components/data/list/components/GroupedListItems.js +108 -104
  171. package/components/data/list/components/ListContainer.js +22 -27
  172. package/components/data/list/components/ListDND.js +193 -185
  173. package/components/data/list/components/ListHeader.js +32 -49
  174. package/components/data/list/components/ListItem.js +153 -146
  175. package/components/data/list/components/ListItemWithTemplate.js +87 -105
  176. package/components/data/list/components/ListItems.js +180 -194
  177. package/components/data/list/components/ListPagination.js +127 -153
  178. package/components/data/list/components/LoadMoreButton.js +25 -33
  179. package/components/data/list/components/NoDataMessage.js +9 -22
  180. package/components/data/list/components/StandardListItems.js +79 -85
  181. package/components/data/list/components/index.js +31 -119
  182. package/components/data/list/components/props.js +0 -5
  183. package/components/data/list/hooks/index.js +22 -75
  184. package/components/data/list/hooks/props.js +0 -5
  185. package/components/data/list/hooks/useCurrentPageItems.js +20 -38
  186. package/components/data/list/hooks/useGroupedData.js +19 -33
  187. package/components/data/list/hooks/useListData.js +17 -47
  188. package/components/data/list/hooks/useListEffects.js +168 -237
  189. package/components/data/list/hooks/useListEventHandlers.js +301 -285
  190. package/components/data/list/hooks/useListPagination.js +90 -136
  191. package/components/data/list/hooks/useListState.js +49 -91
  192. package/components/data/list/hooks/useListStateManager.js +104 -159
  193. package/components/data/list/hooks/usePaginatedGroupedData.js +74 -110
  194. package/components/data/list/index.d.ts +1 -0
  195. package/components/data/list/index.js +579 -621
  196. package/components/data/list/props.d.ts +4 -0
  197. package/components/data/list/props.js +0 -5
  198. package/components/data/list/templates/media-template.js +29 -50
  199. package/components/data/list/utils/constants.js +20 -32
  200. package/components/data/list/utils/list-helpers.d.ts +2 -1
  201. package/components/data/list/utils/list-helpers.js +71 -115
  202. package/components/data/list/utils/list-widget-methods.js +56 -76
  203. package/components/data/list/utils/widget-instance-utils.js +20 -57
  204. package/components/data/live-filter/index.js +219 -271
  205. package/components/data/live-filter/props.js +5 -12
  206. package/components/data/live-form/index.js +68 -91
  207. package/components/data/live-form/props.js +5 -12
  208. package/components/data/pagination/components/BasicPagination.js +124 -104
  209. package/components/data/pagination/components/ClassicPagination.js +167 -190
  210. package/components/data/pagination/components/InlinePagination.js +97 -98
  211. package/components/data/pagination/components/LoadingComponent.js +17 -30
  212. package/components/data/pagination/components/PageSizeSelector.js +176 -169
  213. package/components/data/pagination/components/PagerNavigation.js +84 -105
  214. package/components/data/pagination/components/TotalRecords.js +48 -47
  215. package/components/data/pagination/components/index.js +14 -47
  216. package/components/data/pagination/components/props.js +0 -5
  217. package/components/data/pagination/hooks/index.js +6 -19
  218. package/components/data/pagination/hooks/props.js +0 -5
  219. package/components/data/pagination/hooks/useNavigationSize.js +12 -21
  220. package/components/data/pagination/hooks/usePagination.js +701 -905
  221. package/components/data/pagination/index.js +336 -389
  222. package/components/data/table/components/AddNewRow.js +122 -154
  223. package/components/data/table/components/EditableCell.js +68 -75
  224. package/components/data/table/components/FieldValidationError.js +19 -20
  225. package/components/data/table/components/RowCells.js +97 -80
  226. package/components/data/table/components/RowExpansionButton.js +43 -39
  227. package/components/data/table/components/SummaryCell.js +54 -88
  228. package/components/data/table/components/SummaryRow.js +45 -52
  229. package/components/data/table/components/SummaryRowFooter.js +35 -42
  230. package/components/data/table/components/TableBody.js +222 -218
  231. package/components/data/table/components/TableDataRow.js +113 -106
  232. package/components/data/table/components/TableFilters.js +391 -390
  233. package/components/data/table/components/TableFooterActions.js +25 -32
  234. package/components/data/table/components/TableHeader.js +460 -435
  235. package/components/data/table/components/TablePanelHeading.js +157 -181
  236. package/components/data/table/components/index.js +27 -95
  237. package/components/data/table/hooks/index.js +21 -230
  238. package/components/data/table/hooks/use-edited-rows.js +59 -94
  239. package/components/data/table/hooks/useCellState.js +58 -83
  240. package/components/data/table/hooks/useCustomExpressionColumns.js +65 -86
  241. package/components/data/table/hooks/useDynamicColumns.js +59 -92
  242. package/components/data/table/hooks/useEditingState.js +30 -41
  243. package/components/data/table/hooks/useFormWidget.js +163 -172
  244. package/components/data/table/hooks/usePaginationState.js +67 -77
  245. package/components/data/table/hooks/usePanelStructure.js +47 -41
  246. package/components/data/table/hooks/useResponsiveColumns.js +14 -20
  247. package/components/data/table/hooks/useRowExpansion.js +131 -127
  248. package/components/data/table/hooks/useRowHandlers.js +56 -69
  249. package/components/data/table/hooks/useRowSelection.js +249 -329
  250. package/components/data/table/hooks/useServerSideSorting.js +109 -175
  251. package/components/data/table/hooks/useTableColumns.js +322 -331
  252. package/components/data/table/hooks/useTableData.js +111 -166
  253. package/components/data/table/hooks/useTableEdit.js +526 -564
  254. package/components/data/table/hooks/useTableEffects.js +60 -107
  255. package/components/data/table/hooks/useTableFilter.js +244 -237
  256. package/components/data/table/hooks/useTableInitialization.js +44 -76
  257. package/components/data/table/hooks/useTableState.js +39 -61
  258. package/components/data/table/hooks/useTableStateManager.js +295 -468
  259. package/components/data/table/index.js +1556 -1713
  260. package/components/data/table/live-table/index.js +157 -219
  261. package/components/data/table/props.js +0 -5
  262. package/components/data/table/table-action/index.js +97 -75
  263. package/components/data/table/table-column/index.js +48 -42
  264. package/components/data/table/table-group/index.js +7 -25
  265. package/components/data/table/table-row/index.js +63 -55
  266. package/components/data/table/table-row-action/index.js +102 -77
  267. package/components/data/table/utils/buildSelectionColumns.js +86 -137
  268. package/components/data/table/utils/columnBuilder.d.ts +1 -1
  269. package/components/data/table/utils/columnBuilder.js +121 -160
  270. package/components/data/table/utils/columnProxy.js +48 -66
  271. package/components/data/table/utils/columnWidthDistribution.js +40 -64
  272. package/components/data/table/utils/constants.js +92 -40
  273. package/components/data/table/utils/crud-handlers.js +292 -473
  274. package/components/data/table/utils/dynamic-columns.js +99 -144
  275. package/components/data/table/utils/groupHeaderUtils.js +36 -61
  276. package/components/data/table/utils/index.d.ts +17 -13
  277. package/components/data/table/utils/index.js +483 -639
  278. package/components/data/table/utils/renderDisplayCell.js +127 -169
  279. package/components/data/table/utils/script-page-size-broadcast.js +17 -29
  280. package/components/data/table/utils/selectionUtils.js +59 -113
  281. package/components/data/table/utils/table-helpers.js +38 -74
  282. package/components/data/table/utils/validation.js +35 -78
  283. package/components/data/table/utils/widgetMapping.d.ts +5 -0
  284. package/components/data/table/utils/widgetMapping.js +41 -0
  285. package/components/data/types.js +112 -112
  286. package/components/data/utils/field-data-utils.js +38 -42
  287. package/components/data/utils/filter-field-util.js +42 -44
  288. package/components/data/utils/index.js +112 -111
  289. package/components/dialogs/alert-dialog/index.js +83 -78
  290. package/components/dialogs/alert-dialog/props.js +0 -5
  291. package/components/dialogs/confirm-dialog/index.js +102 -92
  292. package/components/dialogs/confirm-dialog/props.js +0 -5
  293. package/components/dialogs/dialog/index.js +93 -69
  294. package/components/dialogs/dialog/props.js +0 -5
  295. package/components/dialogs/dialog-actions/index.js +12 -26
  296. package/components/dialogs/dialog-actions/props.js +0 -5
  297. package/components/dialogs/dialog-body/index.js +13 -30
  298. package/components/dialogs/dialog-body/props.js +0 -5
  299. package/components/dialogs/dialog-content/index.js +48 -41
  300. package/components/dialogs/dialog-content/props.js +0 -5
  301. package/components/dialogs/dialog-header/index.js +88 -101
  302. package/components/dialogs/dialog-header/props.js +0 -5
  303. package/components/dialogs/iframe-dialog/index.js +136 -128
  304. package/components/dialogs/iframe-dialog/props.js +0 -5
  305. package/components/dialogs/index.js +104 -101
  306. package/components/dialogs/login-dialog/index.js +285 -347
  307. package/components/dialogs/login-dialog/props.js +0 -5
  308. package/components/dialogs/page-dialog/index.js +95 -86
  309. package/components/dialogs/page-dialog/props.js +0 -5
  310. package/components/dialogs/props.js +0 -5
  311. package/components/dialogs/withDialogWrapper.js +110 -83
  312. package/components/form/button/index.js +296 -245
  313. package/components/form/button/props.js +0 -5
  314. package/components/form/button-group/index.js +80 -69
  315. package/components/form/button-group/props.js +0 -5
  316. package/components/input/calendar/index.js +409 -362
  317. package/components/input/calendar/props.js +0 -5
  318. package/components/input/calendar/utils.js +164 -172
  319. package/components/input/chips/SortableChip/index.js +109 -100
  320. package/components/input/chips/SortableChip/props.js +0 -5
  321. package/components/input/chips/index.js +663 -570
  322. package/components/input/chips/props.js +0 -5
  323. package/components/input/chips/utils.js +131 -122
  324. package/components/input/color-picker/index.js +536 -594
  325. package/components/input/color-picker/props.js +0 -5
  326. package/components/input/composite/index.js +71 -110
  327. package/components/input/composite/props.js +0 -5
  328. package/components/input/currency/index.js +277 -224
  329. package/components/input/currency/props.js +0 -5
  330. package/components/input/default/checkbox/index.js +329 -250
  331. package/components/input/default/checkbox/props.js +0 -5
  332. package/components/input/default/checkboxset/index.d.ts +2 -0
  333. package/components/input/default/checkboxset/index.js +529 -446
  334. package/components/input/default/checkboxset/props.d.ts +4 -0
  335. package/components/input/default/checkboxset/props.js +0 -5
  336. package/components/input/default/checkboxset/utils.js +15 -25
  337. package/components/input/default/radioset/index.d.ts +2 -0
  338. package/components/input/default/radioset/index.js +409 -350
  339. package/components/input/default/radioset/props.d.ts +6 -0
  340. package/components/input/default/radioset/props.js +0 -5
  341. package/components/input/default/switch/index.js +494 -458
  342. package/components/input/default/switch/prop.js +0 -5
  343. package/components/input/epoch/date/components/DatePickerPopover.js +242 -193
  344. package/components/input/epoch/date/index.js +638 -518
  345. package/components/input/epoch/date/props.js +0 -5
  346. package/components/input/epoch/date/styled.js +61 -70
  347. package/components/input/epoch/date/utils.js +67 -115
  348. package/components/input/epoch/datetime/index.js +758 -695
  349. package/components/input/epoch/datetime/props.js +0 -5
  350. package/components/input/epoch/datetime/utils.js +121 -186
  351. package/components/input/epoch/time/index.js +441 -415
  352. package/components/input/epoch/time/props.js +0 -5
  353. package/components/input/epoch/time/utils.js +101 -112
  354. package/components/input/fileupload/Utils.js +70 -97
  355. package/components/input/fileupload/components/ListItems.js +132 -130
  356. package/components/input/fileupload/components/MultiUpload.js +80 -77
  357. package/components/input/fileupload/components/SingleUpload.js +57 -57
  358. package/components/input/fileupload/index.js +253 -178
  359. package/components/input/fileupload/props.js +0 -5
  360. package/components/input/fileupload/useFileUpload.js +209 -258
  361. package/components/input/number/index.js +434 -393
  362. package/components/input/number/props.js +0 -5
  363. package/components/input/rating/index.js +401 -394
  364. package/components/input/rating/props.js +0 -5
  365. package/components/input/select/index.js +408 -463
  366. package/components/input/select/props.js +0 -5
  367. package/components/input/slider/index.js +339 -332
  368. package/components/input/slider/props.js +0 -5
  369. package/components/input/text/index.d.ts +3 -3
  370. package/components/input/text/index.js +438 -475
  371. package/components/input/text/props.d.ts +1 -1
  372. package/components/input/text/props.js +0 -5
  373. package/components/input/text/util.js +82 -222
  374. package/components/input/textarea/index.js +322 -358
  375. package/components/input/textarea/props.js +0 -5
  376. package/components/input/upload/index.js +135 -131
  377. package/components/input/upload/props.js +0 -5
  378. package/components/input/util/index.js +9 -11
  379. package/components/layout/footer/index.js +12 -35
  380. package/components/layout/footer/props.js +0 -5
  381. package/components/layout/header/index.js +12 -38
  382. package/components/layout/header/props.js +0 -5
  383. package/components/layout/leftnav/index.js +57 -44
  384. package/components/layout/leftnav/props.d.ts +9 -0
  385. package/components/layout/leftnav/props.js +0 -5
  386. package/components/layout/leftnav/utils/page-class-util.d.ts +9 -0
  387. package/components/layout/leftnav/utils/page-class-util.js +28 -0
  388. package/components/layout/rightnav/index.js +12 -36
  389. package/components/layout/rightnav/props.js +0 -5
  390. package/components/layout/topnav/index.js +24 -38
  391. package/components/layout/topnav/props.js +0 -5
  392. package/components/navbar/index.js +119 -98
  393. package/components/navbar/nav/index.js +236 -232
  394. package/components/navbar/nav/props.js +0 -5
  395. package/components/navbar/nav-item/index.js +74 -65
  396. package/components/navbar/nav-item/props.js +0 -5
  397. package/components/navigation/breadcrumb/index.js +38 -61
  398. package/components/navigation/breadcrumb/props.js +0 -5
  399. package/components/navigation/menu/components/ListItems.js +76 -67
  400. package/components/navigation/menu/constants.js +27 -42
  401. package/components/navigation/menu/hooks/useHoverState.hook.js +20 -47
  402. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +34 -28
  403. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +21 -14
  404. package/components/navigation/menu/index.js +911 -846
  405. package/components/navigation/menu/props.js +0 -5
  406. package/components/navigation/menu/utils/action-task.js +6 -9
  407. package/components/navigation/menu/utils/role-filter.js +41 -56
  408. package/components/navigation/popover/index.js +192 -205
  409. package/components/navigation/popover/props.js +5 -8
  410. package/components/page/content/index.js +9 -31
  411. package/components/page/content/props.js +0 -5
  412. package/components/page/error-boundary/index.js +115 -105
  413. package/components/page/error-boundary/props.js +0 -5
  414. package/components/page/index.js +100 -102
  415. package/components/page/page-content/index.js +21 -30
  416. package/components/page/page-content/props.js +0 -5
  417. package/components/page/page-context.d.ts +4 -0
  418. package/components/page/page-context.js +5 -0
  419. package/components/page/partial/index.js +50 -45
  420. package/components/page/partial/props.js +0 -5
  421. package/components/page/partial-container/index.js +78 -107
  422. package/components/page/partial-container/props.d.ts +1 -1
  423. package/components/page/partial-container/props.js +0 -5
  424. package/components/page/props.js +0 -5
  425. package/components/page/toast-container/index.js +20 -41
  426. package/components/page/toast-container/props.js +0 -5
  427. package/components/prefab/container/index.js +60 -53
  428. package/components/prefab/container/props.js +0 -5
  429. package/components/prefab/index.js +76 -61
  430. package/components/prefab/props.js +0 -5
  431. package/context/AppContext.d.ts +1 -1
  432. package/context/AppContext.js +17 -18
  433. package/context/AppSpinnerProvider.js +19 -34
  434. package/context/LayoutProvider.js +54 -57
  435. package/context/LocalizationProvider.js +34 -49
  436. package/context/PrefabContext.js +68 -119
  437. package/context/WidgetProvider.js +160 -166
  438. package/core/app-config.js +0 -1
  439. package/core/app.service.js +200 -327
  440. package/core/appVariablesStore.js +10 -15
  441. package/core/appstore.js +37 -53
  442. package/core/constants/currency-constant.js +81 -83
  443. package/core/constants/events.js +34 -44
  444. package/core/constants/index.js +21 -31
  445. package/core/dialog.service.js +52 -72
  446. package/core/event-notifier.js +94 -131
  447. package/core/formatter/array-formatters.js +18 -32
  448. package/core/formatter/date-formatters.js +140 -204
  449. package/core/formatter/index.js +64 -117
  450. package/core/formatter/number-formatters.js +115 -159
  451. package/core/formatter/security-formatters.js +233 -283
  452. package/core/formatter/string-formatters.js +23 -45
  453. package/core/formatter/types.js +12 -18
  454. package/core/formatters.js +6 -24
  455. package/core/proxy-service.js +242 -306
  456. package/core/script-registry.js +87 -134
  457. package/core/security.service.js +8 -11
  458. package/core/util/compare.js +13 -25
  459. package/core/util/dom.js +32 -63
  460. package/core/util/index.js +92 -98
  461. package/core/util/safe-is-equal.js +42 -94
  462. package/core/util/security.js +114 -153
  463. package/core/util/utils.d.ts +4 -1
  464. package/core/util/utils.js +88 -159
  465. package/core/widget-observer.js +34 -61
  466. package/higherOrder/BaseApp.js +328 -502
  467. package/higherOrder/BaseAppProps.d.ts +1 -0
  468. package/higherOrder/BaseAppProps.js +0 -5
  469. package/higherOrder/BaseDateTime.js +277 -231
  470. package/higherOrder/BasePage.js +474 -740
  471. package/higherOrder/BasePartial.js +87 -114
  472. package/higherOrder/BasePrefab.js +190 -206
  473. package/higherOrder/DataNav.js +287 -302
  474. package/higherOrder/helper.js +62 -48
  475. package/higherOrder/props.js +0 -5
  476. package/higherOrder/withBaseWrapper.js +123 -168
  477. package/higherOrder/withStandalone.js +28 -26
  478. package/hooks/useAccess.js +113 -289
  479. package/hooks/useAppConfig.js +15 -40
  480. package/hooks/useAuth.js +256 -495
  481. package/hooks/useDataSourceSubscription.d.ts +3 -3
  482. package/hooks/useDataSourceSubscription.js +99 -109
  483. package/hooks/useDebounce.js +28 -56
  484. package/hooks/useDeviceVisibility.js +14 -23
  485. package/hooks/useHttp.d.ts +1 -0
  486. package/hooks/useHttp.js +314 -493
  487. package/libs/index.js +4 -13
  488. package/libs/prefab/index.js +6 -20
  489. package/mui-config/theme-provider.js +9 -17
  490. package/mui-config/theme.js +6 -9
  491. package/package-lock.json +816 -3207
  492. package/package.json +3 -19
  493. package/providers/AppProviders.js +21 -24
  494. package/runtime-dynamic/App.js +65 -93
  495. package/runtime-dynamic/app-initializer.js +193 -411
  496. package/runtime-dynamic/components/ErrorBoundary.js +59 -76
  497. package/runtime-dynamic/components/PageWrapper.js +23 -35
  498. package/runtime-dynamic/components/PrefabPreview.js +40 -69
  499. package/runtime-dynamic/components/partial-content.d.ts +2 -3
  500. package/runtime-dynamic/components/partial-content.js +66 -45
  501. package/runtime-dynamic/components/prefab-content.js +37 -30
  502. package/runtime-dynamic/components/use-dynamic-component.js +55 -157
  503. package/runtime-dynamic/factories/build-base-page-like-component.d.ts +1 -1
  504. package/runtime-dynamic/factories/build-base-page-like-component.js +44 -58
  505. package/runtime-dynamic/factories/dynamic-component.d.ts +9 -0
  506. package/runtime-dynamic/factories/dynamic-component.js +91 -0
  507. package/runtime-dynamic/factories/prefab-factory.d.ts +1 -1
  508. package/runtime-dynamic/factories/prefab-factory.js +60 -81
  509. package/runtime-dynamic/factories/startup-info.js +12 -25
  510. package/runtime-dynamic/factories/utils.d.ts +2 -10
  511. package/runtime-dynamic/factories/utils.js +47 -129
  512. package/runtime-dynamic/index.js +56 -191
  513. package/runtime-dynamic/main.js +42 -70
  514. package/runtime-dynamic/preview-mode.js +14 -29
  515. package/runtime-dynamic/preview-navigation.js +21 -30
  516. package/runtime-dynamic/preview-path.d.ts +5 -0
  517. package/runtime-dynamic/preview-path.js +13 -0
  518. package/runtime-dynamic/preview-resource-base.js +15 -31
  519. package/runtime-dynamic/registry/component-registry.js +269 -334
  520. package/runtime-dynamic/registry/custom-widget-registry.js +11 -15
  521. package/runtime-dynamic/registry/index.js +24 -63
  522. package/runtime-dynamic/registry/store.d.ts +1 -0
  523. package/runtime-dynamic/registry/store.js +18 -23
  524. package/runtime-dynamic/routes.js +53 -81
  525. package/runtime-dynamic/services/app-extension-provider.js +17 -44
  526. package/runtime-dynamic/services/autolayout-inject.d.ts +4 -0
  527. package/runtime-dynamic/services/autolayout-inject.js +27 -0
  528. package/runtime-dynamic/services/compile-render.d.ts +9 -0
  529. package/runtime-dynamic/services/compile-render.js +142 -0
  530. package/runtime-dynamic/services/component-ref-provider.d.ts +18 -3
  531. package/runtime-dynamic/services/component-ref-provider.js +52 -129
  532. package/runtime-dynamic/services/css-scoping.js +23 -28
  533. package/runtime-dynamic/services/fragment-url.js +37 -50
  534. package/runtime-dynamic/services/index.d.ts +2 -3
  535. package/runtime-dynamic/services/index.js +31 -152
  536. package/runtime-dynamic/services/markup-transpiler.d.ts +2 -2
  537. package/runtime-dynamic/services/markup-transpiler.js +39 -231
  538. package/runtime-dynamic/services/prefab-resources.js +40 -118
  539. package/runtime-dynamic/services/resource-manager.d.ts +2 -2
  540. package/runtime-dynamic/services/resource-manager.js +24 -65
  541. package/runtime-dynamic/services/script-executor.js +46 -63
  542. package/runtime-dynamic/services/variable-factory.js +141 -184
  543. package/runtime-dynamic/services/variable-registry.js +65 -115
  544. package/runtime-dynamic/services/variable-transpiler.js +73 -103
  545. package/runtime-dynamic/shims/next-image.js +79 -50
  546. package/runtime-dynamic/shims/next-link.js +58 -32
  547. package/runtime-dynamic/shims/next-navigation.js +17 -34
  548. package/runtime-dynamic/utils/index.js +15 -30
  549. package/store/bindActions/i18nActions.js +16 -18
  550. package/store/index.js +29 -35
  551. package/store/middleware/navigationMiddleware.js +25 -45
  552. package/store/middleware/pendingTabNavigationIntentMiddleware.js +20 -25
  553. package/store/slices/appConfigSlice.js +65 -94
  554. package/store/slices/authSlice.js +317 -471
  555. package/store/slices/i18nSlice.js +169 -168
  556. package/store/slices/navigationSlice.js +22 -20
  557. package/store/util/resolve-path.d.ts +1 -0
  558. package/store/util/resolve-path.js +7 -0
  559. package/store/viewport.service.js +150 -194
  560. package/types/index.js +10 -15
  561. package/utils/attr.js +191 -41
  562. package/utils/custom-expression/index.js +58 -151
  563. package/utils/custom-expression/parser.js +108 -182
  564. package/utils/dataset-util.js +113 -154
  565. package/utils/eval-expression.js +10 -19
  566. package/utils/form-state.util.js +60 -118
  567. package/utils/form-utils.js +49 -190
  568. package/utils/format-util.js +113 -184
  569. package/utils/layoutsize-util.js +11 -17
  570. package/utils/lib-error-skipper.js +54 -52
  571. package/utils/page-params-util.js +50 -40
  572. package/utils/pending-tab-navigation-intent.js +7 -17
  573. package/utils/resource-url.js +8 -19
  574. package/utils/state-persistance.d.ts +1 -1
  575. package/utils/state-persistance.js +136 -253
  576. package/utils/style-utils.js +24 -78
  577. package/utils/transformedDataset-utils.js +353 -381
  578. package/utils/widget-cleanup-util.js +42 -74
  579. package/utils/widgets.js +19 -31
  580. package/variables/base-variable.js +117 -166
  581. package/variables/constants.js +5 -8
  582. package/variables/crud-variable.js +150 -181
  583. package/variables/live-variable.d.ts +1 -1
  584. package/variables/live-variable.js +140 -174
  585. package/variables/metadata.service.js +74 -116
  586. package/variables/model-variable.js +68 -78
  587. package/variables/service-variable.js +171 -285
  588. package/wm-namespace.js +11 -14
  589. package/components/chart/src/css.d.js +0 -1
  590. package/runtime-dynamic/services/cache.d.ts +0 -29
  591. package/runtime-dynamic/services/cache.js +0 -57
  592. package/tsconfig.declaration.tsbuildinfo +0 -1
  593. package/types/global.d.js +0 -3
@@ -1,132 +1,114 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useFileUpload = 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 _lodashEs = require("lodash-es");
12
- var _constants = require("@wavemaker-ai/react-runtime/components/constants");
13
- var _Utils = require("./Utils");
14
- var _eventNotifier = require("@wavemaker-ai/react-runtime/core/event-notifier");
15
- 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; }
16
- 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; }
17
- var useFileUpload = exports.useFileUpload = function useFileUpload(props) {
18
- var _listener$appConfig;
19
- var name = props.name,
20
- _props$multiple = props.multiple,
21
- multiple = _props$multiple === void 0 ? _constants.fileUploadConstants.DEFAULT_VALUES.MULTIPLE : _props$multiple,
22
- _props$disabled = props.disabled,
23
- disabled = _props$disabled === void 0 ? !_constants.fileUploadConstants.DEFAULT_VALUES.ENABLED : _props$disabled,
24
- _props$contenttype = props.contenttype,
25
- contenttype = _props$contenttype === void 0 ? "" : _props$contenttype,
26
- maxfilesize = props.maxfilesize,
27
- uploadpath = props.uploadpath,
28
- datasource = props.datasource,
29
- extensions = props.extensions,
30
- filetype = props.filetype,
31
- _props$readonly = props.readonly,
32
- readonly = _props$readonly === void 0 ? false : _props$readonly,
33
- deletedatasource = props.deletedatasource,
34
- onError = props.onError,
35
- onSelect = props.onSelect,
36
- onBeforeselect = props.onBeforeselect,
37
- onDelete = props.onDelete,
38
- listener = props.listener;
39
- var allowedFileUploadExtensions = listener === null || listener === void 0 || (_listener$appConfig = listener.appConfig) === null || _listener$appConfig === void 0 || (_listener$appConfig = _listener$appConfig.appProperties) === null || _listener$appConfig === void 0 ? void 0 : _listener$appConfig.allowedFileUploadExtensions;
40
- var fileInputRef = (0, _react.useRef)(null);
41
-
42
- // State for managing confirm dialog
43
- var _useState = (0, _react.useState)(false),
44
- confirmDialogOpen = _useState[0],
45
- setConfirmDialogOpen = _useState[1];
46
- var _useState2 = (0, _react.useState)({
47
- title: "",
48
- message: "",
49
- oktext: "OK",
50
- canceltext: "Cancel",
51
- onOk: function onOk() {},
52
- onCancel: function onCancel() {}
53
- }),
54
- confirmDialogProps = _useState2[0],
55
- setConfirmDialogProps = _useState2[1];
56
-
57
- // Function to show confirm dialog
58
- var showConfirmDialog = function showConfirmDialog(props) {
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { useCallback, useEffect, useRef, useState } from "react";
21
+ import { isEmpty } from "lodash-es";
22
+ import { fileUploadConstants } from "../../constants";
23
+ import { getDefaultChooseFilter, getValidFiles, clearFile, generateFileId } from "./Utils";
24
+ import { eventObserver } from "../../../core/event-notifier";
25
+ const useFileUpload = (props) => {
26
+ var _a, _b;
27
+ const {
28
+ name,
29
+ multiple = fileUploadConstants.DEFAULT_VALUES.MULTIPLE,
30
+ disabled = !fileUploadConstants.DEFAULT_VALUES.ENABLED,
31
+ contenttype = "",
32
+ maxfilesize,
33
+ uploadpath,
34
+ datasource,
35
+ extensions,
36
+ filetype,
37
+ readonly = false,
38
+ deletedatasource,
39
+ onError,
40
+ onSelect,
41
+ onBeforeselect,
42
+ onDelete,
43
+ listener
44
+ } = props;
45
+ const allowedFileUploadExtensions = (_b = (_a = listener == null ? void 0 : listener.appConfig) == null ? void 0 : _a.appProperties) == null ? void 0 : _b.allowedFileUploadExtensions;
46
+ const fileInputRef = useRef(null);
47
+ const [confirmDialogOpen, setConfirmDialogOpen] = useState(false);
48
+ const [confirmDialogProps, setConfirmDialogProps] = useState({
49
+ title: "",
50
+ message: "",
51
+ oktext: "OK",
52
+ canceltext: "Cancel",
53
+ onOk: () => {
54
+ },
55
+ onCancel: () => {
56
+ }
57
+ });
58
+ const showConfirmDialog = (props2) => {
59
59
  setConfirmDialogProps({
60
- title: props.title,
61
- message: props.message,
62
- oktext: props.oktext || "OK",
63
- canceltext: props.canceltext || "Cancel",
64
- onOk: props.onOk,
65
- onCancel: props.onCancel || function () {}
60
+ title: props2.title,
61
+ message: props2.message,
62
+ oktext: props2.oktext || "OK",
63
+ canceltext: props2.canceltext || "Cancel",
64
+ onOk: props2.onOk,
65
+ onCancel: props2.onCancel || (() => {
66
+ })
66
67
  });
67
68
  setConfirmDialogOpen(true);
68
69
  };
69
-
70
- // Function to close confirm dialog
71
- var closeConfirmDialog = function closeConfirmDialog() {
70
+ const closeConfirmDialog = () => {
72
71
  setConfirmDialogOpen(false);
73
72
  };
74
-
75
- // Helper function to normalize extensions (handles both space and comma separated)
76
- var normalizeExtensions = (0, _react.useCallback)(function (extensionString) {
73
+ const normalizeExtensions = useCallback((extensionString) => {
77
74
  if (!extensionString) return "";
78
-
79
- // Split by both comma and space, then filter out empty strings
80
- var extensions = extensionString.split(/[,\s]+/).filter(function (ext) {
81
- return ext.trim();
82
- });
83
- return extensions.map(function (ext) {
84
- var trimmedExt = ext.trim();
85
- // Handle MIME type patterns (e.g., "image/*")
75
+ const extensions2 = extensionString.split(/[,\s]+/).filter((ext) => ext.trim());
76
+ return extensions2.map((ext) => {
77
+ const trimmedExt = ext.trim();
86
78
  if (trimmedExt.includes("/")) {
87
79
  return trimmedExt;
88
80
  }
89
- // Ensure extensions start with a dot
90
81
  if (trimmedExt.startsWith(".")) {
91
82
  return trimmedExt;
92
83
  }
93
- return ".".concat(trimmedExt);
84
+ return `.${trimmedExt}`;
94
85
  }).join(",");
95
86
  }, []);
96
- var getChooseFilter = function getChooseFilter() {
97
- var normalizedContenttype = normalizeExtensions(contenttype);
98
- var normalizedExtensions = normalizeExtensions(extensions || "");
99
- var normalizedFiletype = normalizeExtensions(filetype || "");
100
- var defaultFilter = (0, _Utils.getDefaultChooseFilter)(DEFAULT_ALLOWED_EXTENSIONS);
87
+ const getChooseFilter = () => {
88
+ const normalizedContenttype = normalizeExtensions(contenttype);
89
+ const normalizedExtensions = normalizeExtensions(extensions || "");
90
+ const normalizedFiletype = normalizeExtensions(filetype || "");
91
+ const defaultFilter = getDefaultChooseFilter(DEFAULT_ALLOWED_EXTENSIONS);
101
92
  return normalizedContenttype || normalizedExtensions || normalizedFiletype || defaultFilter;
102
93
  };
103
- var DEFAULT_ALLOWED_EXTENSIONS = (allowedFileUploadExtensions === null || allowedFileUploadExtensions === void 0 ? void 0 : allowedFileUploadExtensions.split(" ").map(function (item) {
104
- return item.trim();
105
- }).map(function (item) {
106
- return item.endsWith("/*") ? item : ".".concat(item);
107
- })) || [];
108
- var _useState3 = (0, _react.useState)(function () {
109
- return getChooseFilter();
110
- }),
111
- chooseFilter = _useState3[0],
112
- setChooseFilter = _useState3[1];
113
- var _useState4 = (0, _react.useState)(false),
114
- highlightDropArea = _useState4[0],
115
- setHighlightDropArea = _useState4[1];
116
- var _useState5 = (0, _react.useState)([]),
117
- uploadedFiles = _useState5[0],
118
- setUploadedFiles = _useState5[1];
119
- var _useState6 = (0, _react.useState)([]),
120
- selectedFolders = _useState6[0],
121
- setSelectedFolders = _useState6[1];
122
- var invokeEventCallback = (0, _react.useCallback)(function (eventName, payload) {
123
- var _listener$Widgets;
124
- var eventHandler = listener === null || listener === void 0 || (_listener$Widgets = listener.Widgets) === null || _listener$Widgets === void 0 || (_listener$Widgets = _listener$Widgets[name]) === null || _listener$Widgets === void 0 ? void 0 : _listener$Widgets[eventName];
125
- return eventHandler ? eventHandler(payload.$event, listener.Widgets[name], payload.files) || true : true;
126
- }, [listener, name]);
127
- var fileUploadProgress = function fileUploadProgress(progress) {
128
- setUploadedFiles(function (prevFiles) {
129
- return prevFiles.map(function (file) {
94
+ const DEFAULT_ALLOWED_EXTENSIONS = (allowedFileUploadExtensions == null ? void 0 : allowedFileUploadExtensions.split(" ").map((item) => item.trim()).map((item) => item.endsWith("/*") ? item : `.${item}`)) || [];
95
+ const [chooseFilter, setChooseFilter] = useState(() => {
96
+ return getChooseFilter();
97
+ });
98
+ const [highlightDropArea, setHighlightDropArea] = useState(false);
99
+ const [uploadedFiles, setUploadedFiles] = useState([]);
100
+ const [selectedFolders, setSelectedFolders] = useState([]);
101
+ const invokeEventCallback = useCallback(
102
+ (eventName, payload) => {
103
+ var _a2, _b2;
104
+ const eventHandler = (_b2 = (_a2 = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a2[name]) == null ? void 0 : _b2[eventName];
105
+ return eventHandler ? eventHandler(payload.$event, listener.Widgets[name], payload.files) || true : true;
106
+ },
107
+ [listener, name]
108
+ );
109
+ const fileUploadProgress = (progress) => {
110
+ setUploadedFiles((prevFiles) => {
111
+ return prevFiles.map((file) => {
130
112
  if (file.name === progress.fileName && file.uniqueId === progress.uniqueId) {
131
113
  file.progress = progress.progress;
132
114
  if (file.progress === 100) {
@@ -143,120 +125,110 @@ var useFileUpload = exports.useFileUpload = function useFileUpload(props) {
143
125
  });
144
126
  });
145
127
  };
146
-
147
- // Setup progress tracking with EventNotifier
148
- (0, _react.useEffect)(function () {
149
- var progressObs = datasource && datasource._progressObservable;
128
+ useEffect(() => {
129
+ const progressObs = datasource && datasource._progressObservable;
150
130
  if (progressObs) {
151
- progressObs.subscribe(function (progress) {
131
+ progressObs.subscribe((progress) => {
132
+ var _a2, _b2;
152
133
  fileUploadProgress(progress);
153
-
154
- // Move notifyApp calls outside of setState to avoid render phase issues
155
134
  if (progress.progress === 100) {
156
- var _listener$App;
157
- listener === null || listener === void 0 || (_listener$App = listener.App) === null || _listener$App === void 0 || _listener$App.notifyApp("File uploaded successfully", "Success");
135
+ (_a2 = listener == null ? void 0 : listener.App) == null ? void 0 : _a2.notifyApp("File uploaded successfully", "Success");
158
136
  } else if (progress.errMsg) {
159
- var _listener$App2;
160
- listener === null || listener === void 0 || (_listener$App2 = listener.App) === null || _listener$App2 === void 0 || _listener$App2.notifyApp("File upload failed", "Error");
137
+ (_b2 = listener == null ? void 0 : listener.App) == null ? void 0 : _b2.notifyApp("File upload failed", "Error");
161
138
  }
162
139
  });
163
140
  }
164
- return function () {
165
- var progressObs = datasource && datasource._progressObservable;
166
- if (progressObs !== null && progressObs !== void 0 && progressObs.unsubscribe) {
167
- progressObs.unsubscribe();
141
+ return () => {
142
+ const progressObs2 = datasource && datasource._progressObservable;
143
+ if (progressObs2 == null ? void 0 : progressObs2.unsubscribe) {
144
+ progressObs2.unsubscribe();
168
145
  }
169
146
  };
170
147
  }, [invokeEventCallback]);
171
- (0, _react.useEffect)(function () {
172
- // Normalize extensions to handle both space and comma separated values
173
- var selected = getChooseFilter();
148
+ useEffect(() => {
149
+ const selected = getChooseFilter();
174
150
  setChooseFilter(selected);
175
151
  }, [contenttype, extensions, filetype, normalizeExtensions, DEFAULT_ALLOWED_EXTENSIONS]);
176
- (0, _react.useEffect)(function () {
177
- var _ref, _ref2;
178
- var selected = (_ref = (_ref2 = contenttype !== null && contenttype !== void 0 ? contenttype : extensions) !== null && _ref2 !== void 0 ? _ref2 : filetype) !== null && _ref !== void 0 ? _ref : (0, _Utils.getDefaultChooseFilter)(DEFAULT_ALLOWED_EXTENSIONS);
152
+ useEffect(() => {
153
+ var _a2, _b2;
154
+ const selected = (_b2 = (_a2 = contenttype != null ? contenttype : extensions) != null ? _a2 : filetype) != null ? _b2 : getDefaultChooseFilter(DEFAULT_ALLOWED_EXTENSIONS);
179
155
  setChooseFilter(selected);
180
156
  }, [contenttype, extensions, filetype]);
181
- (0, _react.useEffect)(function () {
182
- // Add event listeners for drag and drop
157
+ useEffect(() => {
183
158
  if (disabled || readonly) {
184
159
  setHighlightDropArea(false);
185
- window.removeEventListener("focus", _disableDropZone);
160
+ window.removeEventListener("focus", disableDropZone);
186
161
  } else {
187
162
  document.addEventListener("dragover", dragOverCb);
188
163
  document.addEventListener("drop", dropCb);
189
164
  document.addEventListener("mouseleave", dropCb);
190
165
  }
191
- return function () {
166
+ return () => {
192
167
  document.removeEventListener("dragover", dragOverCb);
193
168
  document.removeEventListener("drop", dropCb);
194
169
  document.removeEventListener("mouseleave", dropCb);
195
170
  };
196
171
  }, [disabled, readonly]);
197
- var dragOverCb = function dragOverCb(e) {
172
+ const dragOverCb = (e) => {
198
173
  e.preventDefault();
199
- var dropzone = document.getElementById("dropzone");
174
+ const dropzone = document.getElementById("dropzone");
200
175
  if (dropzone) {
201
176
  dropzone.classList.add("highlight-drop-box");
202
177
  }
203
178
  };
204
- var dropCb = function dropCb() {
205
- var dropzone = document.getElementById("dropzone");
179
+ const dropCb = () => {
180
+ const dropzone = document.getElementById("dropzone");
206
181
  if (dropzone) {
207
182
  dropzone.classList.remove("highlight-drop-box");
208
183
  }
209
184
  setHighlightDropArea(false);
210
185
  };
211
- var dragOverHandler = function dragOverHandler(e) {
186
+ const dragOverHandler = (e) => {
212
187
  e.preventDefault();
213
188
  e.stopPropagation();
214
189
  setHighlightDropArea(true);
215
190
  };
216
- var _disableDropZone = function disableDropZone() {
191
+ const disableDropZone = () => {
217
192
  setHighlightDropArea(false);
218
- window.removeEventListener("focus", _disableDropZone);
193
+ window.removeEventListener("focus", disableDropZone);
219
194
  };
220
- var onBeforeSelectEventCall = function onBeforeSelectEventCall($event, $files) {
221
- var files = (0, _Utils.getValidFiles)($files, contenttype, extensions || "", filetype || "", chooseFilter, maxfilesize || "10", onError, listener);
222
- if (!(0, _lodashEs.isEmpty)(files.errorFiles)) {
195
+ const onBeforeSelectEventCall = ($event, $files) => {
196
+ var _a2, _b2, _c, _d;
197
+ const files = getValidFiles(
198
+ $files,
199
+ contenttype,
200
+ extensions || "",
201
+ filetype || "",
202
+ chooseFilter,
203
+ maxfilesize || "10",
204
+ onError,
205
+ listener
206
+ );
207
+ if (!isEmpty(files.errorFiles)) {
223
208
  invokeEventCallback("error", {
224
- $event: _objectSpread(_objectSpread({}, $event), {}, {
225
- files: files.errorFiles
226
- }),
209
+ $event: __spreadProps(__spreadValues({}, $event), { files: files.errorFiles }),
227
210
  files: files.errorFiles
228
211
  });
229
212
  }
230
213
  if (files.validFiles.length) {
231
- var beforeSelectVal = invokeEventCallback("beforeselect", {
232
- $event: _objectSpread(_objectSpread({}, $event), {}, {
233
- files: files.validFiles
234
- }),
214
+ const beforeSelectVal = invokeEventCallback("beforeselect", {
215
+ $event: __spreadProps(__spreadValues({}, $event), { files: files.validFiles }),
235
216
  files: files.validFiles
236
217
  });
237
218
  if (onBeforeselect) {
238
- var _listener$Widgets2;
239
- var event = _objectSpread(_objectSpread({}, $event), {}, {
240
- _reactName: "onBeforeselect"
241
- });
242
- onBeforeselect(event, listener === null || listener === void 0 || (_listener$Widgets2 = listener.Widgets) === null || _listener$Widgets2 === void 0 ? void 0 : _listener$Widgets2[name], files.validFiles);
219
+ const event = __spreadProps(__spreadValues({}, $event), { _reactName: "onBeforeselect" });
220
+ onBeforeselect(event, (_a2 = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a2[name], files.validFiles);
243
221
  }
244
- // Proceed only if neither callback returns false
245
222
  if (beforeSelectVal !== false) {
246
- var _filesWithIds$, _fileInputRef$current;
247
- var filesWithIds = files.validFiles.map(function (file) {
248
- var fileWithId = file;
223
+ const filesWithIds = files.validFiles.map((file) => {
224
+ const fileWithId = file;
249
225
  if (!fileWithId.name) {
250
226
  fileWithId.name = file.name;
251
227
  }
252
228
  if (!fileWithId.size) {
253
229
  fileWithId.size = file.size;
254
230
  }
255
-
256
- // Add our custom properties
257
- fileWithId.uniqueId = (0, _Utils.generateFileId)();
258
-
259
- // Set initial status
231
+ fileWithId.uniqueId = generateFileId();
260
232
  if (datasource) {
261
233
  fileWithId.status = "onProgress";
262
234
  fileWithId.progress = 0;
@@ -264,151 +236,130 @@ var useFileUpload = exports.useFileUpload = function useFileUpload(props) {
264
236
  return fileWithId;
265
237
  });
266
238
  if (datasource) {
267
- datasource._progressObservable = (0, _eventNotifier.eventObserver)();
239
+ datasource._progressObservable = eventObserver();
268
240
  datasource.dataBinding = datasource.dataBinding || {};
269
241
  datasource.dataBinding.files = filesWithIds;
270
242
  datasource.dataSet = filesWithIds;
271
243
  }
272
- setUploadedFiles(function (prev) {
273
- return multiple ? [].concat((0, _toConsumableArray2["default"])(prev), (0, _toConsumableArray2["default"])(filesWithIds)) : (0, _toConsumableArray2["default"])(filesWithIds);
274
- });
275
- listener === null || listener === void 0 || listener.onChange(name, {
276
- selectedFiles: filesWithIds
277
- });
278
- var selectedFile = (_filesWithIds$ = filesWithIds[0]) !== null && _filesWithIds$ !== void 0 ? _filesWithIds$ : (_fileInputRef$current = fileInputRef.current) === null || _fileInputRef$current === void 0 || (_fileInputRef$current = _fileInputRef$current.files) === null || _fileInputRef$current === void 0 ? void 0 : _fileInputRef$current[0];
279
- onSelect === null || onSelect === void 0 || onSelect($event, selectedFile, filesWithIds);
244
+ setUploadedFiles((prev) => multiple ? [...prev, ...filesWithIds] : [...filesWithIds]);
245
+ listener == null ? void 0 : listener.onChange(name, { selectedFiles: filesWithIds });
246
+ const selectedFile = (_d = filesWithIds[0]) != null ? _d : (_c = (_b2 = fileInputRef.current) == null ? void 0 : _b2.files) == null ? void 0 : _c[0];
247
+ onSelect == null ? void 0 : onSelect($event, selectedFile, filesWithIds);
280
248
  }
281
249
  }
282
250
  };
283
- var onFileSelect = function onFileSelect(e) {
251
+ const onFileSelect = (e) => {
284
252
  setSelectedFolders([]);
285
253
  onBeforeSelectEventCall(e, e.target.files || []);
286
254
  if (fileInputRef.current) {
287
255
  fileInputRef.current.value = "";
288
256
  }
289
257
  };
290
- var onFileDrop = function onFileDrop(e) {
258
+ const onFileDrop = (e) => {
259
+ var _a2, _b2;
291
260
  e.preventDefault();
292
- var listOfFiles = [];
261
+ let listOfFiles = [];
293
262
  setSelectedFolders([]);
294
- var filesData = e.dataTransfer.items;
263
+ const filesData = e.dataTransfer.items;
295
264
  if (filesData.length > 0) {
296
- var _loop = function _loop() {
297
- var _webkitGetAsEntry, _ref3;
298
- // Using explicit type assertion since webkitGetAsEntry is non-standard
299
- var entry = (_webkitGetAsEntry = (_ref3 = filesData[i]).webkitGetAsEntry) === null || _webkitGetAsEntry === void 0 ? void 0 : _webkitGetAsEntry.call(_ref3);
265
+ for (let i = 0; i < filesData.length; i++) {
266
+ const entry = (_b2 = (_a2 = filesData[i]).webkitGetAsEntry) == null ? void 0 : _b2.call(_a2);
300
267
  if (entry && entry.isFile) {
301
- var file = filesData[i].getAsFile();
268
+ const file = filesData[i].getAsFile();
302
269
  if (file) listOfFiles.push(file);
303
270
  } else if (entry && entry.isDirectory) {
304
- var _file = filesData[i].getAsFile();
305
- if (_file) setSelectedFolders(function (prev) {
306
- return [].concat((0, _toConsumableArray2["default"])(prev), [_file]);
307
- });
271
+ const file = filesData[i].getAsFile();
272
+ if (file) setSelectedFolders((prev) => [...prev, file]);
308
273
  }
309
- };
310
- for (var i = 0; i < filesData.length; i++) {
311
- _loop();
312
274
  }
313
275
  onBeforeSelectEventCall(e, listOfFiles);
314
276
  }
315
277
  };
316
- var clearSelectedFile = function clearSelectedFile(file) {
317
- // setSelectedFilesList((prev) => clearFile(prev as (File & FileUploadState)[], file));
318
- setUploadedFiles(function (prev) {
319
- return (0, _Utils.clearFile)(prev, file);
320
- });
278
+ const clearSelectedFile = (file) => {
279
+ setUploadedFiles((prev) => clearFile(prev, file));
321
280
  };
322
- var triggerFileSelect = function triggerFileSelect() {
281
+ const triggerFileSelect = () => {
323
282
  if (fileInputRef.current && !disabled && !readonly) {
324
283
  fileInputRef.current.click();
325
284
  }
326
285
  };
327
- var deleteFileProgress = function deleteFileProgress(file) {
286
+ const deleteFileProgress = (file) => {
328
287
  if (!deletedatasource) return;
329
- deletedatasource._deleteFileObservable.subscribe(function (response) {
288
+ deletedatasource._deleteFileObservable.subscribe((response) => {
330
289
  if (response.status === "success") {
331
- setUploadedFiles(function (prev) {
332
- return prev.filter(function (fileObj) {
333
- return file !== fileObj;
334
- }) || [];
335
- });
336
- setSelectedFolders(function (prev) {
337
- return prev.filter(function (fileObj) {
338
- return file !== fileObj;
339
- }) || [];
340
- });
290
+ setUploadedFiles((prev) => prev.filter((fileObj) => file !== fileObj) || []);
291
+ setSelectedFolders((prev) => prev.filter((fileObj) => file !== fileObj) || []);
341
292
  }
342
293
  });
343
294
  };
344
- var onFileDelete = function onFileDelete(e, file) {
295
+ const onFileDelete = (e, file) => {
345
296
  if (!file || readonly) return;
346
- var beforeDeleteVal = invokeEventCallback("beforedelete", {
347
- $event: file
348
- });
297
+ const beforeDeleteVal = invokeEventCallback("beforedelete", { $event: file });
349
298
  if (beforeDeleteVal !== false) {
350
299
  showConfirmDialog({
351
300
  title: "Delete file",
352
301
  message: "Are you sure you want to delete this file?",
353
302
  oktext: "Ok",
354
303
  canceltext: "Cancel",
355
- onOk: function onOk() {
304
+ onOk: () => {
305
+ var _a2, _b2, _c, _d, _e;
356
306
  try {
357
307
  if (deletedatasource) {
358
- var _response, _fileResponse$fileNam, _listener$Widgets3, _listener$App3;
359
- deletedatasource._deleteFileObservable = (0, _eventNotifier.eventObserver)();
308
+ deletedatasource._deleteFileObservable = eventObserver();
360
309
  deleteFileProgress(file);
361
- var fileResponse = (_response = file._response) === null || _response === void 0 ? void 0 : _response[0];
362
- var fileName = (_fileResponse$fileNam = fileResponse === null || fileResponse === void 0 ? void 0 : fileResponse.fileName) !== null && _fileResponse$fileNam !== void 0 ? _fileResponse$fileNam : file.name;
310
+ const fileResponse = (_a2 = file._response) == null ? void 0 : _a2[0];
311
+ const fileName = (_b2 = fileResponse == null ? void 0 : fileResponse.fileName) != null ? _b2 : file.name;
363
312
  deletedatasource.setInput("file", fileName);
364
- var event = _objectSpread(_objectSpread({}, e), {}, {
365
- _reactName: "onDelete"
366
- });
367
- onDelete === null || onDelete === void 0 || onDelete(event, listener === null || listener === void 0 || (_listener$Widgets3 = listener.Widgets) === null || _listener$Widgets3 === void 0 ? void 0 : _listener$Widgets3[name]);
368
- listener && (listener === null || listener === void 0 || (_listener$App3 = listener.App) === null || _listener$App3 === void 0 ? void 0 : _listener$App3.notifyApp("File deleted successfully", "Success"));
313
+ const event = __spreadProps(__spreadValues({}, e), { _reactName: "onDelete" });
314
+ onDelete == null ? void 0 : onDelete(event, (_c = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _c[name]);
315
+ listener && ((_d = listener == null ? void 0 : listener.App) == null ? void 0 : _d.notifyApp("File deleted successfully", "Success"));
369
316
  }
370
317
  } catch (error) {
371
- var _listener$App4;
372
- listener && (listener === null || listener === void 0 || (_listener$App4 = listener.App) === null || _listener$App4 === void 0 ? void 0 : _listener$App4.notifyApp("Service Call Failed", "Error"));
318
+ listener && ((_e = listener == null ? void 0 : listener.App) == null ? void 0 : _e.notifyApp("Service Call Failed", "Error"));
373
319
  } finally {
374
320
  closeConfirmDialog();
375
321
  }
376
322
  },
377
- onCancel: function onCancel() {
323
+ onCancel: () => {
378
324
  closeConfirmDialog();
379
325
  }
380
326
  });
381
327
  }
382
328
  };
383
- var handleBeforeSelect = (0, _react.useCallback)(function (event, widget, selectedFiles) {
384
- onBeforeselect === null || onBeforeselect === void 0 || onBeforeselect(event, widget !== null && widget !== void 0 ? widget : {}, selectedFiles !== null && selectedFiles !== void 0 ? selectedFiles : []);
385
- }, [onBeforeselect]);
386
- var handleError = (0, _react.useCallback)(function (event, widget, file) {
387
- onError === null || onError === void 0 || onError(event, widget, file);
388
- }, [onError]);
389
- var events = _objectSpread(_objectSpread({}, onBeforeselect ? {
390
- onBeforeselect: handleBeforeSelect
391
- } : {}), onError ? {
392
- onError: handleError
393
- } : {});
394
- return _objectSpread({
395
- fileInputRef: fileInputRef,
396
- chooseFilter: chooseFilter,
397
- highlightDropArea: highlightDropArea,
398
- uploadedFiles: uploadedFiles,
399
- selectedFolders: selectedFolders,
400
- setSelectedFolders: setSelectedFolders,
401
- dragOverHandler: dragOverHandler,
402
- onFileSelect: onFileSelect,
403
- onFileDrop: onFileDrop,
404
- setHighlightDropArea: setHighlightDropArea,
405
- clearSelectedFile: clearSelectedFile,
406
- triggerFileSelect: triggerFileSelect,
407
- onFileDelete: onFileDelete,
329
+ const handleBeforeSelect = useCallback(
330
+ (event, widget, selectedFiles) => {
331
+ onBeforeselect == null ? void 0 : onBeforeselect(event, widget != null ? widget : {}, selectedFiles != null ? selectedFiles : []);
332
+ },
333
+ [onBeforeselect]
334
+ );
335
+ const handleError = useCallback(
336
+ (event, widget, file) => {
337
+ onError == null ? void 0 : onError(event, widget, file);
338
+ },
339
+ [onError]
340
+ );
341
+ const events = __spreadValues(__spreadValues({}, onBeforeselect ? { onBeforeselect: handleBeforeSelect } : {}), onError ? { onError: handleError } : {});
342
+ return __spreadValues({
343
+ fileInputRef,
344
+ chooseFilter,
345
+ highlightDropArea,
346
+ uploadedFiles,
347
+ selectedFolders,
348
+ setSelectedFolders,
349
+ dragOverHandler,
350
+ onFileSelect,
351
+ onFileDrop,
352
+ setHighlightDropArea,
353
+ clearSelectedFile,
354
+ triggerFileSelect,
355
+ onFileDelete,
408
356
  // Confirm dialog state and functions
409
- confirmDialogOpen: confirmDialogOpen,
410
- confirmDialogProps: confirmDialogProps,
411
- showConfirmDialog: showConfirmDialog,
412
- closeConfirmDialog: closeConfirmDialog
357
+ confirmDialogOpen,
358
+ confirmDialogProps,
359
+ showConfirmDialog,
360
+ closeConfirmDialog
413
361
  }, events);
414
- };
362
+ };
363
+ export {
364
+ useFileUpload
365
+ };