@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,21 +1,56 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useTableFilter = 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 _types = require("@wavemaker-ai/react-runtime/components/data/types");
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
- // Constants
16
- var NUMERIC_DATA_TYPES = [_types.DataType.INTEGER, _types.DataType.BIG_INTEGER, _types.DataType.SHORT, _types.DataType.FLOAT, _types.DataType.BIG_DECIMAL, _types.DataType.DOUBLE, _types.DataType.LONG, _types.DataType.BYTE, "number"];
17
- var DATE_DATA_TYPES = [_types.DataType.DATE, _types.DataType.TIME, _types.DataType.TIMESTAMP, _types.DataType.DATETIME];
18
- var MATCH_MODES = {
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 { useState, useCallback, useMemo } from "react";
21
+ import {
22
+ get,
23
+ isEmpty,
24
+ toString,
25
+ toLower,
26
+ startsWith,
27
+ endsWith,
28
+ includes,
29
+ isEqual,
30
+ toNumber,
31
+ filter,
32
+ find,
33
+ forEach,
34
+ isArray,
35
+ isNull,
36
+ isNil,
37
+ isString,
38
+ map
39
+ } from "lodash-es";
40
+ import { DataType } from "../../types";
41
+ const NUMERIC_DATA_TYPES = [
42
+ DataType.INTEGER,
43
+ DataType.BIG_INTEGER,
44
+ DataType.SHORT,
45
+ DataType.FLOAT,
46
+ DataType.BIG_DECIMAL,
47
+ DataType.DOUBLE,
48
+ DataType.LONG,
49
+ DataType.BYTE,
50
+ "number"
51
+ ];
52
+ const DATE_DATA_TYPES = [DataType.DATE, DataType.TIME, DataType.TIMESTAMP, DataType.DATETIME];
53
+ const MATCH_MODES = {
19
54
  START: "start",
20
55
  START_IGNORE_CASE: "startignorecase",
21
56
  END: "end",
@@ -36,106 +71,93 @@ var MATCH_MODES = {
36
71
  ANYWHERE: "anywhere",
37
72
  ANYWHERE_IGNORE_CASE: "anywhereignorecase"
38
73
  };
39
- var EMPTY_MATCH_MODES = [MATCH_MODES.NULL, MATCH_MODES.EMPTY, MATCH_MODES.NULL_OR_EMPTY, MATCH_MODES.IS_NOT_NULL, MATCH_MODES.IS_NOT_EMPTY];
40
-
41
- // Helper function to check if type is numeric
42
- var isNumberType = function isNumberType(type) {
43
- return (0, _lodashEs.includes)(NUMERIC_DATA_TYPES, type === null || type === void 0 ? void 0 : type.toLowerCase());
74
+ const EMPTY_MATCH_MODES = [
75
+ MATCH_MODES.NULL,
76
+ MATCH_MODES.EMPTY,
77
+ MATCH_MODES.NULL_OR_EMPTY,
78
+ MATCH_MODES.IS_NOT_NULL,
79
+ MATCH_MODES.IS_NOT_EMPTY
80
+ ];
81
+ const isNumberType = (type) => {
82
+ return includes(NUMERIC_DATA_TYPES, type == null ? void 0 : type.toLowerCase());
44
83
  };
45
-
46
- // Get search value based on the type
47
- var getSearchValue = function getSearchValue(value, type) {
84
+ const getSearchValue = (value, type) => {
48
85
  if (!value && value !== 0 && value !== "") {
49
- return undefined;
86
+ return void 0;
50
87
  }
51
- var dataType = type === null || type === void 0 ? void 0 : type.toLowerCase();
52
- if (isNumberType(dataType !== null && dataType !== void 0 ? dataType : "")) {
53
- return (0, _lodashEs.toNumber)(value);
88
+ const dataType = type == null ? void 0 : type.toLowerCase();
89
+ if (isNumberType(dataType != null ? dataType : "")) {
90
+ return toNumber(value);
54
91
  }
55
- if ((0, _lodashEs.includes)(DATE_DATA_TYPES, dataType)) {
56
- // For now, return timestamp - can be enhanced with moment.js if needed
92
+ if (includes(DATE_DATA_TYPES, dataType)) {
57
93
  return new Date(value).valueOf();
58
94
  }
59
- return (0, _lodashEs.toLower)((0, _lodashEs.toString)(value));
95
+ return toLower(toString(value));
60
96
  };
61
-
62
- // Filter the data based on the search value and conditions - matches Angular implementation
63
- var getFilteredData = function getFilteredData(data, searchObj) {
64
- var _searchObj$matchMode, _searchObj$type;
65
- var visibleCols = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
66
- var searchVal = getSearchValue(searchObj.value, searchObj.type);
67
- var currentVal;
68
-
69
- // Return whole data if search value is undefined and matchmode is not an empty matchmode type
70
- // or search value is null and datatype is number. Null can not be compared with numeric values
71
- if (!searchVal && searchVal !== 0 && !(0, _lodashEs.includes)(EMPTY_MATCH_MODES, (_searchObj$matchMode = searchObj.matchMode) !== null && _searchObj$matchMode !== void 0 ? _searchObj$matchMode : "") || isNumberType((_searchObj$type = searchObj.type) !== null && _searchObj$type !== void 0 ? _searchObj$type : "") && (0, _lodashEs.isNull)(searchObj.value)) {
97
+ const getFilteredData = (data, searchObj, visibleCols = []) => {
98
+ var _a, _b;
99
+ const searchVal = getSearchValue(searchObj.value, searchObj.type);
100
+ let currentVal;
101
+ if (!searchVal && searchVal !== 0 && !includes(EMPTY_MATCH_MODES, (_a = searchObj.matchMode) != null ? _a : "") || isNumberType((_b = searchObj.type) != null ? _b : "") && isNull(searchObj.value)) {
72
102
  return data;
73
103
  }
74
- return (0, _lodashEs.filter)(data, function (obj) {
75
- var _searchObj$type2;
76
- var isExists;
104
+ return filter(data, (obj) => {
105
+ var _a2;
106
+ let isExists;
77
107
  if (searchObj.field) {
78
- currentVal = getSearchValue((0, _lodashEs.get)(obj, searchObj.field), searchObj.type);
108
+ currentVal = getSearchValue(get(obj, searchObj.field), searchObj.type);
79
109
  } else {
80
- // If field is not there, search on all visible columns
81
- var valuesArray = [];
82
-
83
- // Use lodash's forEach and filter more efficiently
84
- (0, _lodashEs.forEach)(obj, function (val, key) {
85
- if ((0, _lodashEs.includes)(visibleCols, key)) {
110
+ const valuesArray = [];
111
+ forEach(obj, (val, key) => {
112
+ if (includes(visibleCols, key)) {
86
113
  valuesArray.push(val);
87
114
  } else {
88
- // Handle nested key format (dot notation)
89
- var nestedColPaths = (0, _lodashEs.filter)(visibleCols, function (col) {
90
- return (0, _lodashEs.startsWith)(col, "".concat(key, "."));
91
- });
92
- (0, _lodashEs.forEach)(nestedColPaths, function (colPath) {
93
- var value = (0, _lodashEs.get)(obj, colPath);
94
- if (!(0, _lodashEs.includes)(valuesArray, value)) {
115
+ const nestedColPaths = filter(visibleCols, (col) => startsWith(col, `${key}.`));
116
+ forEach(nestedColPaths, (colPath) => {
117
+ const value = get(obj, colPath);
118
+ if (!includes(valuesArray, value)) {
95
119
  valuesArray.push(value);
96
120
  }
97
121
  });
98
122
  }
99
123
  });
100
- currentVal = (0, _lodashEs.toLower)(valuesArray.join(" "));
124
+ currentVal = toLower(valuesArray.join(" "));
101
125
  }
102
-
103
- // Check if values are valid for comparison operations upfront
104
- var hasValidValues = !(0, _lodashEs.isNil)(currentVal) && !(0, _lodashEs.isNil)(searchVal);
105
- var isCurrentString = (0, _lodashEs.isString)(currentVal);
106
- var isSearchString = (0, _lodashEs.isString)(searchVal);
107
- var areBothStrings = isCurrentString && isSearchString;
126
+ const hasValidValues = !isNil(currentVal) && !isNil(searchVal);
127
+ const isCurrentString = isString(currentVal);
128
+ const isSearchString = isString(searchVal);
129
+ const areBothStrings = isCurrentString && isSearchString;
108
130
  switch (searchObj.matchMode) {
109
131
  case MATCH_MODES.START:
110
132
  case MATCH_MODES.START_IGNORE_CASE:
111
- isExists = areBothStrings ? (0, _lodashEs.startsWith)(currentVal, searchVal) : false;
133
+ isExists = areBothStrings ? startsWith(currentVal, searchVal) : false;
112
134
  break;
113
135
  case MATCH_MODES.END:
114
136
  case MATCH_MODES.END_IGNORE_CASE:
115
- isExists = areBothStrings ? (0, _lodashEs.endsWith)(currentVal, searchVal) : false;
137
+ isExists = areBothStrings ? endsWith(currentVal, searchVal) : false;
116
138
  break;
117
139
  case MATCH_MODES.EXACT:
118
140
  case MATCH_MODES.EXACT_IGNORE_CASE:
119
- isExists = (0, _lodashEs.isEqual)(currentVal, searchVal);
141
+ isExists = isEqual(currentVal, searchVal);
120
142
  break;
121
143
  case MATCH_MODES.NOT_EQUALS:
122
144
  case MATCH_MODES.NOT_EQUALS_IGNORE_CASE:
123
- isExists = !(0, _lodashEs.isEqual)(currentVal, searchVal);
145
+ isExists = !isEqual(currentVal, searchVal);
124
146
  break;
125
147
  case MATCH_MODES.NULL:
126
- isExists = (0, _lodashEs.isNull)(currentVal);
148
+ isExists = isNull(currentVal);
127
149
  break;
128
150
  case MATCH_MODES.IS_NOT_NULL:
129
- isExists = !(0, _lodashEs.isNull)(currentVal);
151
+ isExists = !isNull(currentVal);
130
152
  break;
131
153
  case MATCH_MODES.EMPTY:
132
- isExists = (0, _lodashEs.isEmpty)(currentVal);
154
+ isExists = isEmpty(currentVal);
133
155
  break;
134
156
  case MATCH_MODES.IS_NOT_EMPTY:
135
- isExists = !(0, _lodashEs.isEmpty)(currentVal);
157
+ isExists = !isEmpty(currentVal);
136
158
  break;
137
159
  case MATCH_MODES.NULL_OR_EMPTY:
138
- isExists = (0, _lodashEs.isNull)(currentVal) || (0, _lodashEs.isEmpty)(currentVal);
160
+ isExists = isNull(currentVal) || isEmpty(currentVal);
139
161
  break;
140
162
  case MATCH_MODES.LESS_THAN:
141
163
  isExists = hasValidValues && currentVal < searchVal;
@@ -152,238 +174,223 @@ var getFilteredData = function getFilteredData(data, searchObj) {
152
174
  case MATCH_MODES.ANYWHERE:
153
175
  case MATCH_MODES.ANYWHERE_IGNORE_CASE:
154
176
  default:
155
- isExists = isNumberType((_searchObj$type2 = searchObj.type) !== null && _searchObj$type2 !== void 0 ? _searchObj$type2 : "") ? (0, _lodashEs.isEqual)(currentVal, searchVal) : isCurrentString && !(0, _lodashEs.isNil)(searchVal) ? (0, _lodashEs.includes)(currentVal, (0, _lodashEs.toString)(searchVal)) : false;
177
+ isExists = isNumberType((_a2 = searchObj.type) != null ? _a2 : "") ? isEqual(currentVal, searchVal) : isCurrentString && !isNil(searchVal) ? includes(currentVal, toString(searchVal)) : false;
156
178
  break;
157
179
  }
158
180
  return isExists;
159
181
  });
160
182
  };
161
-
162
- // Set the filter fields as required by datasource
163
- var setFilterFields = function setFilterFields(filterFields, searchObj) {
164
- var visibleCols = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
165
- var columns = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
166
- var field = searchObj && searchObj.field;
183
+ const setFilterFields = (filterFields, searchObj, visibleCols = [], columns = []) => {
184
+ var _a, _b, _c, _d, _e, _f;
185
+ const field = searchObj && searchObj.field;
167
186
  if (field) {
168
- var _ref, _ref2, _searchObj$type3, _column$meta, _column$meta2, _searchObj$matchMode2;
169
- // Set the filter options when a field/column has been selected
170
- // Find the column to get its type
171
- var column = (0, _lodashEs.find)(columns, function (col) {
172
- var c = col;
187
+ const column = find(columns, (col) => {
188
+ const c = col;
173
189
  return c.accessorKey === field || c.id === field;
174
190
  });
175
- var columnType = (_ref = (_ref2 = (_searchObj$type3 = searchObj.type) !== null && _searchObj$type3 !== void 0 ? _searchObj$type3 : column === null || column === void 0 || (_column$meta = column.meta) === null || _column$meta === void 0 ? void 0 : _column$meta.type) !== null && _ref2 !== void 0 ? _ref2 : column === null || column === void 0 || (_column$meta2 = column.meta) === null || _column$meta2 === void 0 ? void 0 : _column$meta2.editinputtype) !== null && _ref !== void 0 ? _ref : _types.DataType.STRING;
191
+ const columnType = (_e = (_d = (_b = searchObj.type) != null ? _b : (_a = column == null ? void 0 : column.meta) == null ? void 0 : _a.type) != null ? _d : (_c = column == null ? void 0 : column.meta) == null ? void 0 : _c.editinputtype) != null ? _e : DataType.STRING;
176
192
  filterFields[field] = {
177
193
  value: searchObj.value,
178
194
  logicalOp: "AND",
179
- matchMode: (_searchObj$matchMode2 = searchObj.matchMode) !== null && _searchObj$matchMode2 !== void 0 ? _searchObj$matchMode2 : MATCH_MODES.ANYWHERE_IGNORE_CASE,
195
+ matchMode: (_f = searchObj.matchMode) != null ? _f : MATCH_MODES.ANYWHERE_IGNORE_CASE,
180
196
  type: columnType
181
197
  };
182
198
  } else {
183
- // Set the filter options when a field/column hasn't been selected
184
- (0, _lodashEs.forEach)(visibleCols, function (field) {
185
- var _ref3, _column$meta$type, _column$meta3, _column$meta4, _searchObj$matchMode3;
186
- // Find the column to get its type
187
- var column = (0, _lodashEs.find)(columns, function (col) {
188
- var c = col;
189
- return c.accessorKey === field;
199
+ forEach(visibleCols, (field2) => {
200
+ var _a2, _b2, _c2, _d2, _e2;
201
+ const column = find(columns, (col) => {
202
+ const c = col;
203
+ return c.accessorKey === field2;
190
204
  });
191
- var columnType = (_ref3 = (_column$meta$type = column === null || column === void 0 || (_column$meta3 = column.meta) === null || _column$meta3 === void 0 ? void 0 : _column$meta3.type) !== null && _column$meta$type !== void 0 ? _column$meta$type : column === null || column === void 0 || (_column$meta4 = column.meta) === null || _column$meta4 === void 0 ? void 0 : _column$meta4.editinputtype) !== null && _ref3 !== void 0 ? _ref3 : _types.DataType.STRING;
192
- filterFields[field] = {
205
+ const columnType = (_d2 = (_c2 = (_a2 = column == null ? void 0 : column.meta) == null ? void 0 : _a2.type) != null ? _c2 : (_b2 = column == null ? void 0 : column.meta) == null ? void 0 : _b2.editinputtype) != null ? _d2 : DataType.STRING;
206
+ filterFields[field2] = {
193
207
  value: searchObj.value,
194
208
  type: columnType,
195
209
  logicalOp: "OR",
196
- matchMode: (_searchObj$matchMode3 = searchObj.matchMode) !== null && _searchObj$matchMode3 !== void 0 ? _searchObj$matchMode3 : MATCH_MODES.ANYWHERE_IGNORE_CASE
210
+ matchMode: (_e2 = searchObj.matchMode) != null ? _e2 : MATCH_MODES.ANYWHERE_IGNORE_CASE
197
211
  };
198
212
  });
199
213
  }
200
214
  };
201
- var useTableFilter = exports.useTableFilter = function useTableFilter(_ref4) {
202
- var filterMode = _ref4.filterMode,
203
- _ref4$columns = _ref4.columns,
204
- columns = _ref4$columns === void 0 ? [] : _ref4$columns,
205
- _ref4$dataset = _ref4.dataset,
206
- dataset = _ref4$dataset === void 0 ? [] : _ref4$dataset,
207
- initialSearchState = _ref4.initialSearchState;
208
- // Initialize filter states based on persisted state
209
- var getInitialGlobalFilter = function getInitialGlobalFilter() {
215
+ const useTableFilter = ({
216
+ filterMode,
217
+ columns = [],
218
+ dataset = [],
219
+ initialSearchState
220
+ }) => {
221
+ const getInitialGlobalFilter = () => {
210
222
  if (!initialSearchState || filterMode !== "search") return "";
211
- // For search mode, we expect an array with one item
212
- if ((0, _lodashEs.isArray)(initialSearchState) && initialSearchState.length > 0) {
213
- var value = initialSearchState[0].value;
214
- return !(0, _lodashEs.isNil)(value) ? String(value) : "";
223
+ if (isArray(initialSearchState) && initialSearchState.length > 0) {
224
+ const value = initialSearchState[0].value;
225
+ return !isNil(value) ? String(value) : "";
215
226
  }
216
227
  return "";
217
228
  };
218
- var getInitialGlobalSearchColumn = function getInitialGlobalSearchColumn() {
229
+ const getInitialGlobalSearchColumn = () => {
219
230
  if (!initialSearchState || filterMode !== "search") return "";
220
- // For search mode, we expect an array with one item
221
- if ((0, _lodashEs.isArray)(initialSearchState) && initialSearchState.length > 0) {
231
+ if (isArray(initialSearchState) && initialSearchState.length > 0) {
222
232
  return initialSearchState[0].field || "";
223
233
  }
224
234
  return "";
225
235
  };
226
- var getInitialColumnFilters = function getInitialColumnFilters() {
236
+ const getInitialColumnFilters = () => {
227
237
  if (!initialSearchState || filterMode !== "multicolumn") return {};
228
- var filters = {};
229
- if ((0, _lodashEs.isArray)(initialSearchState)) {
230
- (0, _lodashEs.forEach)(initialSearchState, function (filter) {
231
- if (filter.field) {
232
- var _filter$value, _filter$matchMode;
233
- filters[filter.field] = {
234
- value: (_filter$value = filter.value) !== null && _filter$value !== void 0 ? _filter$value : "",
235
- matchMode: (_filter$matchMode = filter.matchMode) !== null && _filter$matchMode !== void 0 ? _filter$matchMode : MATCH_MODES.ANYWHERE_IGNORE_CASE
238
+ const filters = {};
239
+ if (isArray(initialSearchState)) {
240
+ forEach(initialSearchState, (filter2) => {
241
+ var _a, _b;
242
+ if (filter2.field) {
243
+ filters[filter2.field] = {
244
+ value: (_a = filter2.value) != null ? _a : "",
245
+ matchMode: (_b = filter2.matchMode) != null ? _b : MATCH_MODES.ANYWHERE_IGNORE_CASE
236
246
  };
237
247
  }
238
248
  });
239
249
  }
240
250
  return filters;
241
251
  };
242
-
243
- // Global filter state for 'search' mode
244
- var _useState = (0, _react.useState)(getInitialGlobalFilter()),
245
- globalFilter = _useState[0],
246
- setGlobalFilter = _useState[1];
247
-
248
- // Selected column for global search
249
- var _useState2 = (0, _react.useState)(getInitialGlobalSearchColumn()),
250
- globalSearchColumn = _useState2[0],
251
- setGlobalSearchColumn = _useState2[1];
252
-
253
- // Column filters state for 'multicolumn' mode
254
- var _useState3 = (0, _react.useState)(getInitialColumnFilters()),
255
- columnFilters = _useState3[0],
256
- setColumnFilters = _useState3[1];
257
-
258
- // Set individual column filter
259
- var setColumnFilter = (0, _react.useCallback)(function (columnId, value) {
260
- var matchMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : MATCH_MODES.ANYWHERE_IGNORE_CASE;
261
- setColumnFilters(function (prev) {
262
- return _objectSpread(_objectSpread({}, prev), {}, (0, _defineProperty2["default"])({}, columnId, {
263
- value: value,
264
- matchMode: matchMode
252
+ const [globalFilter, setGlobalFilter] = useState(getInitialGlobalFilter());
253
+ const [globalSearchColumn, setGlobalSearchColumn] = useState(
254
+ getInitialGlobalSearchColumn()
255
+ );
256
+ const [columnFilters, setColumnFilters] = useState(getInitialColumnFilters());
257
+ const setColumnFilter = useCallback(
258
+ (columnId, value, matchMode = MATCH_MODES.ANYWHERE_IGNORE_CASE) => {
259
+ setColumnFilters((prev) => __spreadProps(__spreadValues({}, prev), {
260
+ [columnId]: {
261
+ value,
262
+ matchMode
263
+ }
265
264
  }));
266
- });
267
- }, []);
268
-
269
- // Clear all filters
270
- var clearAllFilters = (0, _react.useCallback)(function () {
265
+ },
266
+ []
267
+ );
268
+ const clearAllFilters = useCallback(() => {
271
269
  setGlobalFilter("");
272
270
  setGlobalSearchColumn("");
273
271
  setColumnFilters({});
274
272
  }, []);
275
-
276
- // Get visible columns that can be searched
277
- var getTableVisibleCols = (0, _react.useCallback)(function () {
278
- var excludedColumnIds = ["actions", "row-operations", "multiSelect", "radioSelect", "row-index"];
279
- return (0, _lodashEs.map)((0, _lodashEs.filter)(columns, function (col) {
280
- var column = col;
281
- return column.searchable !== false && !!column.accessorKey && !(0, _lodashEs.includes)(excludedColumnIds, column.id);
282
- }), function (col) {
283
- return col.accessorKey;
284
- });
273
+ const getTableVisibleCols = useCallback(() => {
274
+ const excludedColumnIds = [
275
+ "actions",
276
+ "row-operations",
277
+ "multiSelect",
278
+ "radioSelect",
279
+ "row-index"
280
+ ];
281
+ return map(
282
+ filter(columns, (col) => {
283
+ const column = col;
284
+ return column.searchable !== false && !!column.accessorKey && !includes(excludedColumnIds, column.id);
285
+ }),
286
+ (col) => col.accessorKey
287
+ );
285
288
  }, [columns]);
286
-
287
- // Get filter fields as required by datasource
288
- var getFilterFields = (0, _react.useCallback)(function (searchObj) {
289
- var filterFields = {};
290
- var visibleCols = getTableVisibleCols();
291
- if (!searchObj) return filterFields;
292
- if ((0, _lodashEs.isArray)(searchObj)) {
293
- (0, _lodashEs.forEach)(searchObj, function (obj) {
294
- setFilterFields(filterFields, obj, visibleCols, columns);
295
- });
296
- } else {
297
- setFilterFields(filterFields, searchObj, visibleCols, columns);
298
- }
299
- return filterFields;
300
- }, [getTableVisibleCols, columns]);
301
-
302
- // Transform filter fields from object to array format
303
- var transformFilterFields = (0, _react.useCallback)(function (filterFields) {
304
- var result = [];
305
- (0, _lodashEs.forEach)(filterFields, function (filter, field) {
306
- var _filterObj$matchMode;
307
- var filterObj = filter;
308
- if (filterObj && (!(0, _lodashEs.isNil)(filterObj.value) || (0, _lodashEs.includes)(EMPTY_MATCH_MODES, (_filterObj$matchMode = filterObj.matchMode) !== null && _filterObj$matchMode !== void 0 ? _filterObj$matchMode : ""))) {
309
- var _filterObj$matchMode2, _filterObj$type;
310
- result.push({
311
- field: field,
312
- value: filterObj.value,
313
- matchMode: (_filterObj$matchMode2 = filterObj.matchMode) !== null && _filterObj$matchMode2 !== void 0 ? _filterObj$matchMode2 : MATCH_MODES.ANYWHERE_IGNORE_CASE,
314
- type: (_filterObj$type = filterObj.type) !== null && _filterObj$type !== void 0 ? _filterObj$type : _types.DataType.STRING
289
+ const getFilterFields = useCallback(
290
+ (searchObj) => {
291
+ const filterFields = {};
292
+ const visibleCols = getTableVisibleCols();
293
+ if (!searchObj) return filterFields;
294
+ if (isArray(searchObj)) {
295
+ forEach(searchObj, (obj) => {
296
+ setFilterFields(filterFields, obj, visibleCols, columns);
315
297
  });
298
+ } else {
299
+ setFilterFields(filterFields, searchObj, visibleCols, columns);
316
300
  }
317
- });
318
- return result;
319
- }, []);
320
-
321
- // Apply filtering logic based on filter mode
322
- var filteredData = (0, _react.useMemo)(function () {
301
+ return filterFields;
302
+ },
303
+ [getTableVisibleCols, columns]
304
+ );
305
+ const transformFilterFields = useCallback(
306
+ (filterFields) => {
307
+ const result = [];
308
+ forEach(filterFields, (filter2, field) => {
309
+ var _a, _b, _c;
310
+ const filterObj = filter2;
311
+ if (filterObj && (!isNil(filterObj.value) || includes(EMPTY_MATCH_MODES, (_a = filterObj.matchMode) != null ? _a : ""))) {
312
+ result.push({
313
+ field,
314
+ value: filterObj.value,
315
+ matchMode: (_b = filterObj.matchMode) != null ? _b : MATCH_MODES.ANYWHERE_IGNORE_CASE,
316
+ type: (_c = filterObj.type) != null ? _c : DataType.STRING
317
+ });
318
+ }
319
+ });
320
+ return result;
321
+ },
322
+ []
323
+ );
324
+ const filteredData = useMemo(() => {
323
325
  if (!filterMode || !dataset) {
324
326
  return dataset;
325
327
  }
326
- var data = (0, _toConsumableArray2["default"])(dataset);
327
- var visibleCols = getTableVisibleCols();
328
+ let data = [...dataset];
329
+ const visibleCols = getTableVisibleCols();
328
330
  if (filterMode === "search") {
329
- // Handle search mode filtering
330
331
  if (globalFilter || globalSearchColumn) {
331
- var searchObj = {
332
+ const searchObj = {
332
333
  field: globalSearchColumn || "",
333
334
  value: globalFilter,
334
335
  matchMode: MATCH_MODES.ANYWHERE_IGNORE_CASE,
335
- type: globalSearchColumn ? function (_ref5, _col$meta$type, _col$meta, _col$meta2) {
336
- var col = (0, _lodashEs.find)(columns, function (c) {
337
- var column = c;
336
+ type: globalSearchColumn ? (() => {
337
+ var _a, _b, _c, _d;
338
+ const col = find(columns, (c) => {
339
+ const column = c;
338
340
  return column.accessorKey === globalSearchColumn || column.id === globalSearchColumn;
339
341
  });
340
- return (_ref5 = (_col$meta$type = col === null || col === void 0 || (_col$meta = col.meta) === null || _col$meta === void 0 ? void 0 : _col$meta.type) !== null && _col$meta$type !== void 0 ? _col$meta$type : col === null || col === void 0 || (_col$meta2 = col.meta) === null || _col$meta2 === void 0 ? void 0 : _col$meta2.editinputtype) !== null && _ref5 !== void 0 ? _ref5 : _types.DataType.STRING;
341
- }() : _types.DataType.STRING
342
+ return (_d = (_c = (_a = col == null ? void 0 : col.meta) == null ? void 0 : _a.type) != null ? _c : (_b = col == null ? void 0 : col.meta) == null ? void 0 : _b.editinputtype) != null ? _d : DataType.STRING;
343
+ })() : DataType.STRING
342
344
  };
343
345
  data = getFilteredData(data, searchObj, visibleCols);
344
346
  }
345
347
  } else if (filterMode === "multicolumn") {
346
- // Handle multicolumn filtering
347
- var filterArray = [];
348
- (0, _lodashEs.forEach)(columnFilters, function (filterObj, columnId) {
348
+ const filterArray = [];
349
+ forEach(columnFilters, (filterObj, columnId) => {
350
+ var _a, _b, _c, _d;
349
351
  if (!filterObj) return;
350
-
351
- // Special match modes that don't require a value
352
- if ((0, _lodashEs.isNil)(filterObj.value) && !(0, _lodashEs.includes)(EMPTY_MATCH_MODES, filterObj.matchMode)) return;
353
-
354
- // Find column to get type
355
- var column = (0, _lodashEs.find)(columns, function (col) {
356
- var c = col;
352
+ if (isNil(filterObj.value) && !includes(EMPTY_MATCH_MODES, filterObj.matchMode)) return;
353
+ const column = find(columns, (col) => {
354
+ const c = col;
357
355
  return c.id === columnId || c.accessorKey === columnId;
358
356
  });
359
357
  if (column && column.accessorKey) {
360
- var _ref6, _column$meta$type2, _column$meta5, _column$meta6;
361
358
  filterArray.push({
362
359
  field: column.accessorKey,
363
360
  value: filterObj.value,
364
361
  matchMode: filterObj.matchMode,
365
- type: (_ref6 = (_column$meta$type2 = (_column$meta5 = column.meta) === null || _column$meta5 === void 0 ? void 0 : _column$meta5.type) !== null && _column$meta$type2 !== void 0 ? _column$meta$type2 : (_column$meta6 = column.meta) === null || _column$meta6 === void 0 ? void 0 : _column$meta6.editinputtype) !== null && _ref6 !== void 0 ? _ref6 : _types.DataType.STRING
362
+ type: (_d = (_c = (_a = column.meta) == null ? void 0 : _a.type) != null ? _c : (_b = column.meta) == null ? void 0 : _b.editinputtype) != null ? _d : DataType.STRING
366
363
  });
367
364
  }
368
365
  });
369
-
370
- // Apply each filter sequentially
371
- data = filterArray.reduce(function (filteredData, searchObj) {
372
- return getFilteredData(filteredData, searchObj, visibleCols);
373
- }, data);
366
+ data = filterArray.reduce(
367
+ (filteredData2, searchObj) => getFilteredData(filteredData2, searchObj, visibleCols),
368
+ data
369
+ );
374
370
  }
375
371
  return data;
376
- }, [dataset, columns, filterMode, globalFilter, globalSearchColumn, columnFilters, getTableVisibleCols]);
372
+ }, [
373
+ dataset,
374
+ columns,
375
+ filterMode,
376
+ globalFilter,
377
+ globalSearchColumn,
378
+ columnFilters,
379
+ getTableVisibleCols
380
+ ]);
377
381
  return {
378
- globalFilter: globalFilter,
379
- setGlobalFilter: setGlobalFilter,
380
- globalSearchColumn: globalSearchColumn,
381
- setGlobalSearchColumn: setGlobalSearchColumn,
382
- columnFilters: columnFilters,
383
- setColumnFilter: setColumnFilter,
384
- filteredData: filteredData,
385
- clearAllFilters: clearAllFilters,
386
- getFilterFields: getFilterFields,
387
- transformFilterFields: transformFilterFields
382
+ globalFilter,
383
+ setGlobalFilter,
384
+ globalSearchColumn,
385
+ setGlobalSearchColumn,
386
+ columnFilters,
387
+ setColumnFilter,
388
+ filteredData,
389
+ clearAllFilters,
390
+ getFilterFields,
391
+ transformFilterFields
388
392
  };
389
- };
393
+ };
394
+ export {
395
+ useTableFilter
396
+ };