@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,276 +1,143 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- var _exportNames = {
8
- addUniqueRowIds: true,
9
- getWidgetMappingForType: true,
10
- getBooleanDataset: true,
11
- isColumnVisibleForViewport: true,
12
- parseTableColumns: true,
13
- getAggregateFunctions: true,
14
- parseTableStructureWithGroups: true,
15
- flattenTableStructure: true,
16
- parseTableRowActions: true,
17
- parseTableActions: true,
18
- parseTableRowExpansion: true,
19
- isEditAction: true,
20
- isDeleteAction: true,
21
- isAddNewAction: true,
22
- getActionButtonClass: true,
23
- getTableActionButtonClass: true,
24
- validateEditingFields: true,
25
- getButtonClasses: true,
26
- getSpacingClasses: true,
27
- shouldShowPagination: true,
28
- shouldShowPanelHeading: true,
29
- handleNewRowNavigation: true,
30
- INTERNAL_PROPERTIES: true,
31
- cleanRowData: true,
32
- parseWidth: true,
33
- getColClass: true
34
- };
35
- exports.validateEditingFields = exports.shouldShowPanelHeading = exports.shouldShowPagination = exports.parseWidth = exports.parseTableStructureWithGroups = exports.parseTableRowExpansion = exports.parseTableRowActions = exports.parseTableColumns = exports.parseTableActions = exports.isEditAction = exports.isDeleteAction = exports.isColumnVisibleForViewport = exports.isAddNewAction = exports.handleNewRowNavigation = exports.getWidgetMappingForType = exports.getTableActionButtonClass = exports.getSpacingClasses = exports.getColClass = exports.getButtonClasses = exports.getBooleanDataset = exports.getAggregateFunctions = exports.getActionButtonClass = exports.flattenTableStructure = exports.cleanRowData = exports.addUniqueRowIds = exports.INTERNAL_PROPERTIES = void 0;
36
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
37
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
38
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
39
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
40
- var _lodashEs = require("lodash-es");
41
- var _react = _interopRequireDefault(require("react"));
42
- var _constants = require("./constants");
43
- Object.keys(_constants).forEach(function (key) {
44
- if (key === "default" || key === "__esModule") return;
45
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
46
- if (key in exports && exports[key] === _constants[key]) return;
47
- Object.defineProperty(exports, key, {
48
- enumerable: true,
49
- get: function get() {
50
- return _constants[key];
51
- }
52
- });
53
- });
54
- var _renderDisplayCell = require("./renderDisplayCell");
55
- Object.keys(_renderDisplayCell).forEach(function (key) {
56
- if (key === "default" || key === "__esModule") return;
57
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
58
- if (key in exports && exports[key] === _renderDisplayCell[key]) return;
59
- Object.defineProperty(exports, key, {
60
- enumerable: true,
61
- get: function get() {
62
- return _renderDisplayCell[key];
63
- }
64
- });
65
- });
66
- var _buildSelectionColumns = require("./buildSelectionColumns");
67
- Object.keys(_buildSelectionColumns).forEach(function (key) {
68
- if (key === "default" || key === "__esModule") return;
69
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
70
- if (key in exports && exports[key] === _buildSelectionColumns[key]) return;
71
- Object.defineProperty(exports, key, {
72
- enumerable: true,
73
- get: function get() {
74
- return _buildSelectionColumns[key];
75
- }
76
- });
77
- });
78
- var _validation = require("./validation");
79
- Object.keys(_validation).forEach(function (key) {
80
- if (key === "default" || key === "__esModule") return;
81
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
82
- if (key in exports && exports[key] === _validation[key]) return;
83
- Object.defineProperty(exports, key, {
84
- enumerable: true,
85
- get: function get() {
86
- return _validation[key];
87
- }
88
- });
89
- });
90
- var _selectionUtils = require("./selectionUtils");
91
- Object.keys(_selectionUtils).forEach(function (key) {
92
- if (key === "default" || key === "__esModule") return;
93
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
94
- if (key in exports && exports[key] === _selectionUtils[key]) return;
95
- Object.defineProperty(exports, key, {
96
- enumerable: true,
97
- get: function get() {
98
- return _selectionUtils[key];
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]);
99
16
  }
100
- });
101
- });
102
- var _columnBuilder = require("./columnBuilder");
103
- Object.keys(_columnBuilder).forEach(function (key) {
104
- if (key === "default" || key === "__esModule") return;
105
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
106
- if (key in exports && exports[key] === _columnBuilder[key]) return;
107
- Object.defineProperty(exports, key, {
108
- enumerable: true,
109
- get: function get() {
110
- return _columnBuilder[key];
111
- }
112
- });
113
- });
114
- var _columnWidthDistribution = require("./columnWidthDistribution");
115
- Object.keys(_columnWidthDistribution).forEach(function (key) {
116
- if (key === "default" || key === "__esModule") return;
117
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
118
- if (key in exports && exports[key] === _columnWidthDistribution[key]) return;
119
- Object.defineProperty(exports, key, {
120
- enumerable: true,
121
- get: function get() {
122
- return _columnWidthDistribution[key];
123
- }
124
- });
125
- });
126
- var _tableHelpers = require("./table-helpers");
127
- Object.keys(_tableHelpers).forEach(function (key) {
128
- if (key === "default" || key === "__esModule") return;
129
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
130
- if (key in exports && exports[key] === _tableHelpers[key]) return;
131
- Object.defineProperty(exports, key, {
132
- enumerable: true,
133
- get: function get() {
134
- return _tableHelpers[key];
135
- }
136
- });
137
- });
138
- 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; }
139
- 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; }
140
- var formWidgets = ["WmText", "WmTextarea", "WmCheckbox", "WmSlider", "WmCurrency", "WmSwitch", "WmSelect", "WmCheckboxSet", "WmRadioSet", "WmDate", "WmTime", "WmTimestamp", "WmRating", "WmDatetime", "WmSearch", "WmChips", "WmColorPicker"];
141
- var hashString = function hashString(str, index) {
142
- var hash = 5381;
143
- for (var i = 0; i < str.length; i++) {
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import {
21
+ forEach,
22
+ entries,
23
+ size,
24
+ isEmpty,
25
+ isArray,
26
+ map,
27
+ get,
28
+ trim,
29
+ startsWith,
30
+ findIndex,
31
+ assign,
32
+ floor,
33
+ ceil,
34
+ max,
35
+ omit,
36
+ isObject,
37
+ isNil,
38
+ transform,
39
+ sum,
40
+ round,
41
+ mean,
42
+ min
43
+ } from "lodash-es";
44
+ import React from "react";
45
+ import { TABLE_CSS_CLASSES } from "./constants";
46
+ const formWidgets = [
47
+ "WmText",
48
+ "WmTextarea",
49
+ "WmCheckbox",
50
+ "WmSlider",
51
+ "WmCurrency",
52
+ "WmSwitch",
53
+ "WmSelect",
54
+ "WmCheckboxSet",
55
+ "WmRadioSet",
56
+ "WmDate",
57
+ "WmTime",
58
+ "WmTimestamp",
59
+ "WmRating",
60
+ "WmDatetime",
61
+ "WmSearch",
62
+ "WmChips",
63
+ "WmColorPicker"
64
+ ];
65
+ const hashString = (str, index) => {
66
+ let hash = 5381;
67
+ for (let i = 0; i < str.length; i++) {
144
68
  hash = (hash << 5) + hash + str.charCodeAt(i);
145
- hash = hash & hash; // Convert to 32bit integer
69
+ hash = hash & hash;
146
70
  }
147
- return "row_".concat(Math.abs(hash), "_").concat(index);
71
+ return `row_${Math.abs(hash)}_${index}`;
148
72
  };
149
- var generateDeterministicHash = function generateDeterministicHash(obj, index) {
150
- var hashSource = index.toString() + ((0, _lodashEs.isObject)(obj) ? (0, _lodashEs.transform)((0, _lodashEs.omit)(obj, "_wmTableRowId"), function (result, value, key) {
151
- if (!(0, _lodashEs.isNil)(value)) {
152
- result.push("".concat(key, ":").concat((0, _lodashEs.isObject)(value) ? JSON.stringify(value) : String(value)));
153
- }
154
- }, []).sort().join("|") : String(obj));
73
+ const generateDeterministicHash = (obj, index) => {
74
+ const hashSource = index.toString() + (isObject(obj) ? transform(
75
+ omit(obj, "_wmTableRowId"),
76
+ (result, value, key) => {
77
+ if (!isNil(value)) {
78
+ result.push(`${key}:${isObject(value) ? JSON.stringify(value) : String(value)}`);
79
+ }
80
+ },
81
+ []
82
+ ).sort().join("|") : String(obj));
155
83
  return hashString(hashSource, index);
156
84
  };
157
-
158
- /**
159
- * Adds unique row IDs to the dataset if they don't already have them.
160
- * Uses _wmTableRowId or _wmListItemId as the primary key, falling back to a generated ID.
161
- *
162
- * @param dataset - The dataset to process
163
- * @param options - Options for ID generation
164
- * @param options.type - Type of widget ('table' or 'list')
165
- * @param options.idProperty - Custom property name for the ID (defaults to _wmTableRowId for table, _wmListItemId for list)
166
- * @returns The dataset with unique row IDs added
167
- */
168
- var addUniqueRowIds = exports.addUniqueRowIds = function addUniqueRowIds(dataset) {
169
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
170
- // Handle non-array inputs (e.g., empty objects, null, undefined)
171
- if (!(0, _lodashEs.isArray)(dataset)) {
85
+ const extractDataArray = (dataset) => {
86
+ if (isArray(dataset)) return dataset;
87
+ if (dataset !== null && dataset !== void 0 && typeof dataset === "object") {
88
+ const firstArray = Object.values(dataset).find((v) => isArray(v));
89
+ return firstArray != null ? firstArray : [];
90
+ }
91
+ return [];
92
+ };
93
+ const addUniqueRowIds = (dataset, options = {}) => {
94
+ if (!isArray(dataset)) {
172
95
  return [];
173
96
  }
174
-
175
- // Determine the ID property based on type or custom property
176
- var idProperty = options.idProperty || (options.type === "list" ? "_wmListItemId" : "_wmTableRowId");
177
- var isListWidget = options.type === "list";
178
- return (0, _lodashEs.map)(dataset, function (item, index) {
179
- // If item is not an object (primitive values like strings, numbers), return as-is
180
- if ((0, _typeof2["default"])(item) !== "object" || item === null || (0, _lodashEs.isArray)(item)) {
97
+ const idProperty = options.idProperty || (options.type === "list" ? "_wmListItemId" : "_wmTableRowId");
98
+ const isListWidget = options.type === "list";
99
+ return map(dataset, (item, index) => {
100
+ if (typeof item !== "object" || item === null || isArray(item)) {
181
101
  return item;
182
102
  }
183
- var getProperty = function getProperty(propName) {
184
- return (0, _lodashEs.get)(item, propName);
103
+ const getProperty = (propName) => {
104
+ const direct = get(item, propName);
105
+ if (direct !== void 0) return direct;
106
+ const withoutArrayPrefix = propName.replace(/^[^.[]+\[\d+\]\./, "");
107
+ if (withoutArrayPrefix !== propName) {
108
+ return get(item, withoutArrayPrefix);
109
+ }
110
+ return void 0;
185
111
  };
186
-
187
- // Skip if the item already has a unique row ID
188
112
  if (item[idProperty]) {
189
- return item.getProperty ? item : _objectSpread(_objectSpread({}, item), {}, {
190
- getProperty: getProperty
191
- });
113
+ return item.getProperty ? item : __spreadProps(__spreadValues({}, item), { getProperty });
192
114
  }
193
-
194
- // Generate a unique ID based on existing id field or create a deterministic hash
195
- var rowId = item.id || item.ID || item.Id || generateDeterministicHash(item, index);
196
- var rowIdAndGetProperty = (0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, idProperty, rowId), "getProperty", getProperty);
115
+ const rowId = item.id || item.ID || item.Id || generateDeterministicHash(item, index);
116
+ const rowIdAndGetProperty = {
117
+ [idProperty]: rowId,
118
+ getProperty
119
+ };
197
120
  if (isListWidget) {
198
121
  Object.assign(item, rowIdAndGetProperty);
199
122
  return item;
200
123
  }
201
-
202
- // Table and other callers: immutable row copies (prior React/table behavior)
203
- return _objectSpread(_objectSpread({}, item), rowIdAndGetProperty);
124
+ return __spreadValues(__spreadValues({}, item), rowIdAndGetProperty);
204
125
  });
205
126
  };
206
-
207
- // Widget mapping utilities
208
- var getWidgetMappingForType = exports.getWidgetMappingForType = function getWidgetMappingForType(widgetType) {
209
- var widgetMappings = {
210
- text: "WmText",
211
- password: "WmPassword",
212
- textarea: "WmTextarea",
213
- number: "WmNumber",
214
- checkbox: "WmCheckbox",
215
- toggle: "WmToggle",
216
- "switch": "WmSwitch",
217
- slider: "WmSlider",
218
- richtext: "WmRichtext",
219
- richtexteditor: "WmRichtexteditor",
220
- currency: "WmCurrency",
221
- select: "WmSelect",
222
- checkboxset: "WmCheckboxset",
223
- radioset: "WmRadioset",
224
- date: "WmDate",
225
- time: "WmTime",
226
- timestamp: "WmTimestamp",
227
- datetime: "WmDatetime",
228
- rating: "WmRating",
229
- autocomplete: "WmAutocomplete",
230
- chips: "WmChips",
231
- colorpicker: "WmColorpicker",
232
- upload: "WmFileupload",
233
- label: "WmLabel",
234
- button: "WmButton",
235
- icon: "WmIcon",
236
- image: "WmPicture",
237
- anchor: "WmAnchor"
238
- };
239
- return widgetMappings[widgetType] || widgetType;
240
- };
241
- var getBooleanDataset = exports.getBooleanDataset = function getBooleanDataset() {
242
- return [{
243
- key: true,
244
- value: "Yes"
245
- }, {
246
- key: false,
247
- value: "No"
248
- }];
249
- };
250
-
251
- // Check if column should be visible based on current viewport
252
- var isColumnVisibleForViewport = exports.isColumnVisibleForViewport = function isColumnVisibleForViewport(column, viewportWidth) {
253
- // Validate inputs
127
+ import { getWidgetMappingForType, getBooleanDataset } from "./widgetMapping";
128
+ const isColumnVisibleForViewport = (column, viewportWidth) => {
254
129
  if (!column || typeof viewportWidth !== "number" || viewportWidth < 0) {
255
- return true; // Default to showing column if invalid inputs
130
+ return true;
256
131
  }
257
-
258
- // Define breakpoints (matching Bootstrap)
259
- var MOBILE_BREAKPOINT = 576;
260
- var TABLET_BREAKPOINT = 768;
261
- var DESKTOP_BREAKPOINT = 992;
262
-
263
- // Determine current device type
264
- var isMobile = viewportWidth < MOBILE_BREAKPOINT;
265
- var isTablet = viewportWidth >= MOBILE_BREAKPOINT && viewportWidth < DESKTOP_BREAKPOINT;
266
- var isDesktop = viewportWidth >= DESKTOP_BREAKPOINT;
267
-
268
- // Default all display properties to true if not explicitly set
269
- var mobiledisplay = column.mobiledisplay !== false;
270
- var tabletdisplay = column.tabletdisplay !== false;
271
- var pcdisplay = column.pcdisplay !== false;
272
-
273
- // Check visibility based on device type
132
+ const MOBILE_BREAKPOINT = 576;
133
+ const TABLET_BREAKPOINT = 768;
134
+ const DESKTOP_BREAKPOINT = 992;
135
+ const isMobile = viewportWidth < MOBILE_BREAKPOINT;
136
+ const isTablet = viewportWidth >= MOBILE_BREAKPOINT && viewportWidth < DESKTOP_BREAKPOINT;
137
+ const isDesktop = viewportWidth >= DESKTOP_BREAKPOINT;
138
+ const mobiledisplay = column.mobiledisplay !== false;
139
+ const tabletdisplay = column.tabletdisplay !== false;
140
+ const pcdisplay = column.pcdisplay !== false;
274
141
  if (isMobile && !mobiledisplay) {
275
142
  return false;
276
143
  }
@@ -284,168 +151,161 @@ var isColumnVisibleForViewport = exports.isColumnVisibleForViewport = function i
284
151
  };
285
152
  function transformExpression(exp) {
286
153
  if (typeof exp === "string") {
287
- // First replacing generic getProperty calls with rowData
288
- // Matches patterns like: fragment.row?.getProperty?.("key") -> rowData['key']
289
- var transformedExp = exp.replace(/(?:[\w$]+(?:\?\.|\.))*getProperty(?:\?\.)?\(\s*(['"])(.*?)\1\s*\)/g, function (_, quote, key) {
290
- return "rowData['".concat(key, "']");
291
- });
292
-
293
- // Regex to split by string literals (double or single quoted)
294
- var parts = transformedExp.split(/(".*?"|'.*?')/);
295
- return parts.map(function (part) {
296
- // If part is a string literal, return as is
154
+ let transformedExp = exp.replace(
155
+ /(?:[\w$]+(?:\?\.|\.))*getProperty(?:\?\.)?\(\s*(['"])(.*?)\1\s*\)/g,
156
+ (_, quote, key) => `rowData['${key}']`
157
+ );
158
+ const parts = transformedExp.split(/(".*?"|'.*?')/);
159
+ return parts.map((part) => {
297
160
  if (part.startsWith('"') || part.startsWith("'")) {
298
161
  return part;
299
162
  }
300
-
301
- // Replace identifiers that are not keywords
302
- // Identifiers start with letter, _, or $
303
- return part.replace(/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g, function (match) {
304
- var keywords = ["true", "false", "null", "undefined", "NaN", "Infinity", "in", "instanceof", "typeof", "void", "new", "delete", "rowData" // Don't replace rowData if it's already there
163
+ return part.replace(/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g, (match) => {
164
+ const keywords = [
165
+ "true",
166
+ "false",
167
+ "null",
168
+ "undefined",
169
+ "NaN",
170
+ "Infinity",
171
+ "in",
172
+ "instanceof",
173
+ "typeof",
174
+ "void",
175
+ "new",
176
+ "delete",
177
+ "rowData"
178
+ // Don't replace rowData if it's already there
305
179
  ];
306
180
  if (keywords.includes(match)) {
307
181
  return match;
308
182
  }
309
- return "rowData['".concat(match, "']");
183
+ return `rowData['${match}']`;
310
184
  });
311
185
  }).join("");
312
186
  }
313
187
  return exp;
314
188
  }
315
-
316
- // Table structure types for grouping
317
-
318
- // Children parsing utilities
319
- var parseTableColumns = exports.parseTableColumns = function parseTableColumns(children, dataset) {
320
- var columns = [];
321
- _react["default"].Children.forEach(children, function (child) {
189
+ const parseTableColumns = (children, dataset) => {
190
+ const columns = [];
191
+ React.Children.forEach(children, (child) => {
322
192
  if (child && child.props && child.props.name && (child.props.name.includes("wm_table_column") || child.props.name.includes("col_"))) {
323
- var props = (0, _lodashEs.get)(child, "props", {});
324
- var binding = (0, _lodashEs.get)(props, "binding");
325
- var aggregate = getAggregateFunctions(dataset, binding);
326
- columns.push(_objectSpread(_objectSpread({}, props), {}, {
327
- field: (0, _lodashEs.get)(props, "binding"),
328
- caption: (0, _lodashEs.get)(props, "caption"),
329
- displayName: (0, _lodashEs.get)(props, "caption"),
330
- show: (0, _lodashEs.get)(props, "show", true) !== false,
331
- sortable: (0, _lodashEs.get)(props, "sortable", true) !== false,
332
- textalignment: (0, _lodashEs.get)(props, "textalignment", "left"),
333
- backgroundcolor: (0, _lodashEs.get)(props, "backgroundcolor"),
334
- textcolor: (0, _lodashEs.get)(props, "textcolor"),
335
- width: (0, _lodashEs.get)(props, "width"),
336
- editWidgetType: (0, _lodashEs.get)(props, "editWidgetType", "WmText"),
337
- widgetType: (0, _lodashEs.get)(props, "widgetType", "label"),
338
- required: (0, _lodashEs.get)(props, "required") === true || (0, _lodashEs.get)(props, "required") === "true",
339
- defaultvalue: (0, _lodashEs.get)(props, "defaultvalue"),
340
- disabled: transformExpression((0, _lodashEs.get)(props, "disabled")),
341
- readonly: (0, _lodashEs.get)(props, "readonly") || (0, _lodashEs.get)(props, "readonly") === "true",
342
- placeholder: (0, _lodashEs.get)(props, "placeholder"),
343
- sortby: (0, _lodashEs.get)(props, "sortby"),
344
- aggregate: aggregate,
345
- colClass: (0, _lodashEs.get)(props, "colClass")
193
+ const props = get(child, "props", {});
194
+ const binding = get(props, "binding");
195
+ const aggregate = getAggregateFunctions(dataset, binding);
196
+ columns.push(__spreadProps(__spreadValues({}, props), {
197
+ field: get(props, "binding"),
198
+ caption: get(props, "caption"),
199
+ displayName: get(props, "caption"),
200
+ show: get(props, "show", true) !== false,
201
+ sortable: get(props, "sortable", true) !== false,
202
+ textalignment: get(props, "textalignment", "left"),
203
+ backgroundcolor: get(props, "backgroundcolor"),
204
+ textcolor: get(props, "textcolor"),
205
+ width: get(props, "width"),
206
+ editWidgetType: get(props, "editWidgetType", "WmText"),
207
+ widgetType: get(props, "widgetType", "label"),
208
+ required: get(props, "required") === true || get(props, "required") === "true",
209
+ defaultvalue: get(props, "defaultvalue"),
210
+ disabled: transformExpression(get(props, "disabled")),
211
+ readonly: get(props, "readonly") || get(props, "readonly") === "true",
212
+ placeholder: get(props, "placeholder"),
213
+ sortby: get(props, "sortby"),
214
+ aggregate,
215
+ colClass: get(props, "colClass")
346
216
  }));
347
217
  }
348
218
  });
349
219
  return columns;
350
220
  };
351
- var getAggregateFunctions = exports.getAggregateFunctions = function getAggregateFunctions(dataset, binding) {
221
+ const getAggregateFunctions = (dataset, binding) => {
352
222
  function _getColumnData() {
353
- return (0, _lodashEs.map)(dataset, binding);
223
+ return map(dataset, binding);
354
224
  }
355
- var aggregate = {
356
- sum: function sum() {
357
- return (0, _lodashEs.sum)(_getColumnData());
225
+ const aggregate = {
226
+ sum: () => {
227
+ return sum(_getColumnData());
358
228
  },
359
- average: function average() {
360
- var precision = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
361
- return (0, _lodashEs.round)((0, _lodashEs.mean)(_getColumnData()), precision);
229
+ average: (precision = 2) => {
230
+ return round(mean(_getColumnData()), precision);
362
231
  },
363
- count: function count() {
232
+ count: () => {
364
233
  return _getColumnData().length;
365
234
  },
366
- minimum: function minimum() {
367
- return (0, _lodashEs.min)(_getColumnData());
235
+ minimum: () => {
236
+ return min(_getColumnData());
368
237
  },
369
- maximum: function maximum() {
370
- return (0, _lodashEs.max)(_getColumnData());
238
+ maximum: () => {
239
+ return max(_getColumnData());
371
240
  },
372
- percent: function percent(value) {
373
- var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
374
- return (0, _lodashEs.round)((0, _lodashEs.sum)(_getColumnData()) / value * 100, precision);
241
+ percent: (value, precision = 2) => {
242
+ return round(sum(_getColumnData()) / value * 100, precision);
375
243
  }
376
244
  };
377
245
  return aggregate;
378
246
  };
379
- // Parse table structure with groups support
380
- var _parseTableStructureWithGroups = exports.parseTableStructureWithGroups = function parseTableStructureWithGroups(children) {
381
- var structure = [];
382
- _react["default"].Children.forEach(children, function (child) {
247
+ const parseTableStructureWithGroups = (children) => {
248
+ const structure = [];
249
+ React.Children.forEach(children, (child) => {
383
250
  if (!child || !child.props) return;
384
- var childName = (0, _lodashEs.get)(child, "props.name", "");
385
-
386
- // Handle WmTableGroup
251
+ const childName = get(child, "props.name", "");
387
252
  if (childName.includes("group")) {
388
- var props = (0, _lodashEs.get)(child, "props", {});
389
- var group = {
253
+ const props = get(child, "props", {});
254
+ const group = {
390
255
  isGroup: true,
391
- field: (0, _lodashEs.get)(props, "name", ""),
392
- displayName: (0, _lodashEs.get)(props, "caption", ""),
393
- textAlignment: (0, _lodashEs.get)(props, "textalignment"),
394
- backgroundColor: (0, _lodashEs.get)(props, "backgroundcolor"),
395
- "class": (0, _lodashEs.get)(props, "class"),
396
- colClass: (0, _lodashEs.get)(props, "col-class"),
397
- styles: (0, _lodashEs.get)(props, "styles"),
398
- columns: _parseTableStructureWithGroups(child.props.children) // Recursive for nested groups
256
+ field: get(props, "name", ""),
257
+ displayName: get(props, "caption", ""),
258
+ textAlignment: get(props, "textalignment"),
259
+ backgroundColor: get(props, "backgroundcolor"),
260
+ class: get(props, "class"),
261
+ colClass: get(props, "col-class"),
262
+ styles: get(props, "styles"),
263
+ columns: parseTableStructureWithGroups(child.props.children)
264
+ // Recursive for nested groups
399
265
  };
400
266
  structure.push(group);
401
- }
402
- // Handle WmTableColumn
403
- else if (childName.includes("wm_table_column") || childName.includes("col_")) {
404
- var _props = (0, _lodashEs.get)(child, "props", {});
405
- var column = _objectSpread({
406
- field: (0, _lodashEs.get)(_props, "binding"),
407
- caption: (0, _lodashEs.get)(_props, "caption"),
408
- displayName: (0, _lodashEs.get)(_props, "caption"),
409
- show: (0, _lodashEs.get)(_props, "show", true) !== false,
410
- sortable: (0, _lodashEs.get)(_props, "sortable", true) !== false,
411
- textalignment: (0, _lodashEs.get)(_props, "textalignment", "left"),
412
- backgroundcolor: (0, _lodashEs.get)(_props, "backgroundcolor"),
413
- textcolor: (0, _lodashEs.get)(_props, "textcolor"),
414
- width: (0, _lodashEs.get)(_props, "width"),
415
- editWidgetType: (0, _lodashEs.get)(_props, "editWidgetType", "WmText"),
416
- widgetType: (0, _lodashEs.get)(_props, "widgetType", "label"),
417
- required: (0, _lodashEs.get)(_props, "required") === true || (0, _lodashEs.get)(_props, "required") === "true",
418
- defaultvalue: (0, _lodashEs.get)(_props, "defaultvalue"),
419
- disabled: (0, _lodashEs.get)(_props, "disabled") === true || (0, _lodashEs.get)(_props, "disabled") === "true",
420
- placeholder: (0, _lodashEs.get)(_props, "placeholder"),
421
- sortby: (0, _lodashEs.get)(_props, "sortby")
422
- }, _props);
267
+ } else if (childName.includes("wm_table_column") || childName.includes("col_")) {
268
+ const props = get(child, "props", {});
269
+ const column = __spreadValues({
270
+ field: get(props, "binding"),
271
+ caption: get(props, "caption"),
272
+ displayName: get(props, "caption"),
273
+ show: get(props, "show", true) !== false,
274
+ sortable: get(props, "sortable", true) !== false,
275
+ textalignment: get(props, "textalignment", "left"),
276
+ backgroundcolor: get(props, "backgroundcolor"),
277
+ textcolor: get(props, "textcolor"),
278
+ width: get(props, "width"),
279
+ editWidgetType: get(props, "editWidgetType", "WmText"),
280
+ widgetType: get(props, "widgetType", "label"),
281
+ required: get(props, "required") === true || get(props, "required") === "true",
282
+ defaultvalue: get(props, "defaultvalue"),
283
+ disabled: get(props, "disabled") === true || get(props, "disabled") === "true",
284
+ placeholder: get(props, "placeholder"),
285
+ sortby: get(props, "sortby")
286
+ }, props);
423
287
  structure.push(column);
424
288
  }
425
289
  });
426
290
  return structure;
427
291
  };
428
-
429
- // Flatten hierarchical structure to get all columns
430
- var _flattenTableStructure = exports.flattenTableStructure = function flattenTableStructure(structure) {
431
- var columns = [];
432
- structure.forEach(function (item) {
292
+ const flattenTableStructure = (structure) => {
293
+ const columns = [];
294
+ structure.forEach((item) => {
433
295
  if ("isGroup" in item && item.isGroup) {
434
- // Recursively flatten groups
435
- columns.push.apply(columns, (0, _toConsumableArray2["default"])(_flattenTableStructure(item.columns)));
296
+ columns.push(...flattenTableStructure(item.columns));
436
297
  } else {
437
- // It's a column
438
298
  columns.push(item);
439
299
  }
440
300
  });
441
301
  return columns;
442
302
  };
443
- var parseTableRowActions = exports.parseTableRowActions = function parseTableRowActions(children) {
444
- var actions = [];
445
- _react["default"].Children.forEach(children, function (child) {
303
+ const parseTableRowActions = (children) => {
304
+ const actions = [];
305
+ React.Children.forEach(children, (child) => {
446
306
  if (child && child.props && child.props.name && child.props.name.includes("wm_table_row_action")) {
447
- var props = (0, _lodashEs.get)(child, "props", {});
448
- var actionProps = (0, _lodashEs.assign)({}, props);
307
+ const props = get(child, "props", {});
308
+ const actionProps = assign({}, props);
449
309
  if (child.key) {
450
310
  actionProps.key = child.key;
451
311
  }
@@ -454,12 +314,12 @@ var parseTableRowActions = exports.parseTableRowActions = function parseTableRow
454
314
  });
455
315
  return actions;
456
316
  };
457
- var parseTableActions = exports.parseTableActions = function parseTableActions(children) {
458
- var actions = [];
459
- _react["default"].Children.forEach(children, function (child) {
317
+ const parseTableActions = (children) => {
318
+ const actions = [];
319
+ React.Children.forEach(children, (child) => {
460
320
  if (child && child.props && child.props.name && child.props.name.includes("wm_table_action")) {
461
- var props = (0, _lodashEs.get)(child, "props", {});
462
- var actionProps = (0, _lodashEs.assign)({}, props);
321
+ const props = get(child, "props", {});
322
+ const actionProps = assign({}, props);
463
323
  if (child.key) {
464
324
  actionProps.key = child.key;
465
325
  }
@@ -468,113 +328,84 @@ var parseTableActions = exports.parseTableActions = function parseTableActions(c
468
328
  });
469
329
  return actions;
470
330
  };
471
-
472
- // Parse WmTableRow component for row expansion
473
- var parseTableRowExpansion = exports.parseTableRowExpansion = function parseTableRowExpansion(children) {
474
- var rowExpansionConfig = null;
475
- _react["default"].Children.forEach(children, function (child) {
476
- if (child && child.type && child.type.displayName === "WmTableRow") {
477
- // Check by displayName to ensure we get the right component
478
- var props = (0, _lodashEs.get)(child, "props", {});
479
- rowExpansionConfig = props;
331
+ function isTableRowComponent(child) {
332
+ if (!(child == null ? void 0 : child.type)) return false;
333
+ const name = child.type.displayName || child.type.name || "";
334
+ if (name === "WmTableRow" || name.includes("WmTableRow") && !name.includes("WmTableRowAction"))
335
+ return true;
336
+ const inner = child.type.type || child.type.render;
337
+ if (inner) {
338
+ const innerName = inner.displayName || inner.name || "";
339
+ if (innerName.includes("WmTableRow") && !innerName.includes("WmTableRowAction")) return true;
340
+ }
341
+ return false;
342
+ }
343
+ const parseTableRowExpansion = (children) => {
344
+ let rowExpansionConfig = null;
345
+ React.Children.forEach(children, (child) => {
346
+ if (isTableRowComponent(child)) {
347
+ const props = get(child, "props", {});
348
+ if (props.rowType === "expansion" || typeof props.renderPartial === "function" || props.content) {
349
+ rowExpansionConfig = props;
350
+ }
480
351
  } else if (child && child.props && child.props.name) {
481
- // Fallback: check by name but ensure it's not a row action
482
- var name = child.props.name;
483
- // Match names that start with "wm_table_row_" followed by a hash/id, but not "wm_table_row_action"
352
+ const name = child.props.name;
484
353
  if (name.startsWith("wm_table_row_") && !name.includes("_action")) {
485
- var _props2 = (0, _lodashEs.get)(child, "props", {});
486
- rowExpansionConfig = _props2;
354
+ const props = get(child, "props", {});
355
+ rowExpansionConfig = props;
487
356
  }
488
357
  }
489
358
  });
490
359
  return rowExpansionConfig;
491
360
  };
492
-
493
- // Action type checking utilities
494
- var isEditAction = exports.isEditAction = function isEditAction(actionKey) {
495
- return actionKey === "updaterow";
496
- };
497
- var isDeleteAction = exports.isDeleteAction = function isDeleteAction(actionKey) {
498
- return actionKey === "deleterow";
499
- };
500
- var isAddNewAction = exports.isAddNewAction = function isAddNewAction(actionKey) {
501
- return actionKey === "addNewRow";
502
- };
503
-
504
- // CSS class utilities
505
- var getActionButtonClass = exports.getActionButtonClass = function getActionButtonClass(action) {
506
- var actionKey = (0, _lodashEs.get)(action, "key") || (0, _lodashEs.get)(action, "name") || (0, _lodashEs.get)(action, "action");
361
+ const isEditAction = (actionKey) => actionKey === "updaterow";
362
+ const isDeleteAction = (actionKey) => actionKey === "deleterow";
363
+ const isAddNewAction = (actionKey) => actionKey === "addNewRow";
364
+ const getActionButtonClass = (action) => {
365
+ const actionKey = get(action, "key") || get(action, "name") || get(action, "action");
507
366
  if (isEditAction(actionKey)) {
508
- var updateRowClasses = (0, _lodashEs.get)(action, "className", "");
509
- return "row-action row-action-button btn-transparent edit edit-row-button ".concat(updateRowClasses);
367
+ const updateRowClasses = get(action, "className", "");
368
+ return `row-action row-action-button btn-transparent edit edit-row-button ${updateRowClasses}`;
510
369
  }
511
370
  if (isDeleteAction(actionKey) || actionKey === "delete") {
512
- var deleteRowClasses = (0, _lodashEs.get)(action, "className", "");
513
- return "row-action row-action-button btn-transparent delete delete-row-button ".concat(_constants.TABLE_CSS_CLASSES.deleteRow, " ").concat(deleteRowClasses);
371
+ const deleteRowClasses = get(action, "className", "");
372
+ return `row-action row-action-button btn-transparent delete delete-row-button ${TABLE_CSS_CLASSES.deleteRow} ${deleteRowClasses}`;
514
373
  }
515
- return "row-action row-action-button ".concat((0, _lodashEs.get)(action, "className", "btn-transparent"));
374
+ return `row-action row-action-button ${get(action, "className", "btn-transparent")}`;
516
375
  };
517
- var getTableActionButtonClass = exports.getTableActionButtonClass = function getTableActionButtonClass(action) {
518
- return "btn ".concat((0, _lodashEs.get)(action, "className", "btn-primary"), " ").concat(isAddNewAction((0, _lodashEs.get)(action, "key")) ? "add-action" : "");
376
+ const getTableActionButtonClass = (action) => {
377
+ return `btn ${get(action, "className", "btn-primary")} ${isAddNewAction(get(action, "key")) ? "add-action" : ""}`;
519
378
  };
520
-
521
- // Validation utilities for edit modes
522
-
523
- /**
524
- * Validates editing fields and focuses first invalid field if validation fails
525
- * Can be used across different edit modes (inline, dialog, quick edit)
526
- *
527
- * @param fieldRefs - Record of field references from editing form
528
- * @param editingRowId - Optional ID for logging/debugging purposes
529
- * @returns ValidationResult object with validation status and invalid elements
530
- */
531
- var validateEditingFields = exports.validateEditingFields = function validateEditingFields(fieldRefs, editingRowId) {
532
- var invalidElements = [];
533
- var invalidFieldKeys = [];
534
-
535
- // Helper to determine if a field needs validation based on the rowId prefix
536
- var shouldValidateField = function shouldValidateField(fieldKey) {
537
- if (!editingRowId) return true; // Validate all if no rowId provided
538
- return (0, _lodashEs.startsWith)(fieldKey, "".concat(editingRowId, "_"));
379
+ const validateEditingFields = (fieldRefs, editingRowId) => {
380
+ const invalidElements = [];
381
+ const invalidFieldKeys = [];
382
+ const shouldValidateField = (fieldKey) => {
383
+ if (!editingRowId) return true;
384
+ return startsWith(fieldKey, `${editingRowId}_`);
539
385
  };
540
-
541
- // Check each field reference for validity
542
- (0, _lodashEs.forEach)((0, _lodashEs.entries)(fieldRefs), function (_ref) {
543
- var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
544
- fieldKey = _ref2[0],
545
- fieldElement = _ref2[1];
546
- // Skip fields that don't belong to the current editing row
386
+ forEach(entries(fieldRefs), ([fieldKey, fieldElement]) => {
547
387
  if (!shouldValidateField(fieldKey) || !fieldElement) {
548
388
  return;
549
389
  }
550
- var isInvalid = false;
551
-
552
- // First check for HTML5 validation
553
- var inputs = fieldElement.querySelectorAll("input, select, textarea");
554
- (0, _lodashEs.forEach)(inputs, function (input) {
555
- // Check HTML5 validation
390
+ let isInvalid = false;
391
+ const inputs = fieldElement.querySelectorAll("input, select, textarea");
392
+ forEach(inputs, (input) => {
556
393
  if (input && !input.validity.valid && input.hasAttribute("required")) {
557
394
  invalidElements.push(input);
558
395
  isInvalid = true;
559
396
  }
560
-
561
- // Check for custom validation classes
562
397
  if (input && input.classList.contains("ng-invalid")) {
563
398
  invalidElements.push(input);
564
399
  isInvalid = true;
565
400
  }
566
-
567
- // Check for required fields that are empty
568
- if (input && input.hasAttribute("required") && !(0, _lodashEs.trim)(input.value)) {
401
+ if (input && input.hasAttribute("required") && !trim(input.value)) {
569
402
  invalidElements.push(input);
570
403
  isInvalid = true;
571
404
  }
572
405
  });
573
-
574
- // Then check for "required" attribute on the field element itself
575
406
  if (fieldElement.hasAttribute("required")) {
576
- var inputEl = fieldElement.querySelector("input, textarea, select");
577
- if (inputEl && !(0, _lodashEs.trim)(inputEl.value)) {
407
+ const inputEl = fieldElement.querySelector("input, textarea, select");
408
+ if (inputEl && !trim(inputEl.value)) {
578
409
  invalidElements.push(inputEl);
579
410
  isInvalid = true;
580
411
  }
@@ -583,217 +414,140 @@ var validateEditingFields = exports.validateEditingFields = function validateEdi
583
414
  invalidFieldKeys.push(fieldKey);
584
415
  }
585
416
  });
586
-
587
- // If invalid elements found, focus the first one
588
- if ((0, _lodashEs.size)(invalidElements) > 0) {
589
- var logPrefix = editingRowId ? "[".concat(editingRowId, "]") : "[Validation]";
590
- console.log("".concat(logPrefix, " Validation failed: Found ").concat((0, _lodashEs.size)(invalidElements), " invalid elements"));
591
-
592
- // Focus the first invalid element
593
- var firstInvalidElement = (0, _lodashEs.get)(invalidElements, "[0]");
417
+ if (size(invalidElements) > 0) {
418
+ const logPrefix = editingRowId ? `[${editingRowId}]` : "[Validation]";
419
+ console.log(`${logPrefix} Validation failed: Found ${size(invalidElements)} invalid elements`);
420
+ const firstInvalidElement = get(invalidElements, "[0]");
594
421
  if (firstInvalidElement) {
595
- // Find the closest container cell
596
- var cell = firstInvalidElement.closest("td, .app-datagrid-cell, .form-field");
422
+ const cell = firstInvalidElement.closest("td, .app-datagrid-cell, .form-field");
597
423
  if (cell) {
598
- // Try to find a specific focus-target, or fallback to the input itself
599
- var focusTarget = cell.querySelector("[focus-target], input, textarea, select");
424
+ const focusTarget = cell.querySelector(
425
+ "[focus-target], input, textarea, select"
426
+ );
600
427
  if (focusTarget) {
601
- setTimeout(function () {
428
+ setTimeout(() => {
602
429
  focusTarget.focus();
603
- console.log("".concat(logPrefix, " Focused first invalid field:"), focusTarget);
430
+ console.log(`${logPrefix} Focused first invalid field:`, focusTarget);
604
431
  }, 0);
605
432
  }
606
433
  } else {
607
- // If we can't find a container, try to focus the element directly
608
- setTimeout(function () {
434
+ setTimeout(() => {
609
435
  firstInvalidElement.focus();
610
436
  }, 0);
611
437
  }
612
438
  }
613
439
  }
614
440
  return {
615
- isValid: (0, _lodashEs.isEmpty)(invalidElements),
616
- invalidElements: invalidElements,
617
- invalidFieldKeys: invalidFieldKeys,
618
- firstInvalidElement: (0, _lodashEs.size)(invalidElements) > 0 ? (0, _lodashEs.get)(invalidElements, "[0]") : undefined
441
+ isValid: isEmpty(invalidElements),
442
+ invalidElements,
443
+ invalidFieldKeys,
444
+ firstInvalidElement: size(invalidElements) > 0 ? get(invalidElements, "[0]") : void 0
619
445
  };
620
446
  };
621
-
622
- // Panel and button styling utilities
623
- var getButtonClasses = exports.getButtonClasses = function getButtonClasses(action) {
624
- var spacing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "normal";
625
- var isGridEditMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
626
- var isLoading = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
627
- var baseClass = "btn ".concat((0, _lodashEs.get)(action, "className", "btn-primary"), " ").concat(isAddNewAction((0, _lodashEs.get)(action, "key")) ? "add-action" : "");
628
- var spacingClass = spacing === "condensed" ? "btn-sm" : "";
629
- var disabledClass = (0, _lodashEs.get)(action, "key") === "addNewRow" && (isGridEditMode || isLoading) ? "disabled-new" : "";
630
- return (0, _lodashEs.trim)("".concat(baseClass, " ").concat(spacingClass, " ").concat(disabledClass));
447
+ const getButtonClasses = (action, spacing = "normal", isGridEditMode = false, isLoading = false) => {
448
+ const baseClass = `btn ${get(action, "className", "btn-primary")} ${isAddNewAction(get(action, "key")) ? "add-action" : ""}`;
449
+ const spacingClass = spacing === "condensed" ? "btn-sm" : "";
450
+ const disabledClass = get(action, "key") === "addNewRow" && (isGridEditMode || isLoading) ? "disabled-new" : "";
451
+ return trim(`${baseClass} ${spacingClass} ${disabledClass}`);
631
452
  };
632
- var getSpacingClasses = exports.getSpacingClasses = function getSpacingClasses() {
633
- var spacing = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "normal";
634
- var classes = [];
453
+ const getSpacingClasses = (spacing = "normal") => {
454
+ const classes = [];
635
455
  if (spacing === "condensed") {
636
456
  classes.push("table-condensed");
637
457
  }
638
458
  return classes.join(" ");
639
459
  };
640
-
641
- // Pagination display logic
642
- var shouldShowPagination = exports.shouldShowPagination = function shouldShowPagination(_ref3) {
643
- var _datasource$paginatio;
644
- var shownavigation = _ref3.shownavigation,
645
- onDemandLoad = _ref3.onDemandLoad,
646
- internalDataset = _ref3.internalDataset,
647
- pagesize = _ref3.pagesize,
648
- allowpagesizechange = _ref3.allowpagesizechange,
649
- datasource = _ref3.datasource,
650
- _ref3$showrecordcount = _ref3.showrecordcount,
651
- showrecordcount = _ref3$showrecordcount === void 0 ? false : _ref3$showrecordcount;
652
- // If shownavigation is false, don't show pagination
460
+ const shouldShowPagination = ({
461
+ shownavigation,
462
+ onDemandLoad,
463
+ internalDataset,
464
+ pagesize,
465
+ allowpagesizechange,
466
+ datasource,
467
+ showrecordcount = false
468
+ }) => {
469
+ var _a;
653
470
  if (!shownavigation) return false;
654
-
655
- // If datasource has pagination metadata, show pagination
656
- if ((datasource === null || datasource === void 0 || (_datasource$paginatio = datasource.pagination) === null || _datasource$paginatio === void 0 ? void 0 : _datasource$paginatio.totalElements) > 0) return true;
657
-
658
- // If allowpagesizechange is true, always show pagination
471
+ if (((_a = datasource == null ? void 0 : datasource.pagination) == null ? void 0 : _a.totalElements) > 0) return true;
659
472
  if (allowpagesizechange) return true;
660
-
661
- // Show footer (including total records) when record count is enabled, even on a single page
662
473
  if (showrecordcount) return true;
663
-
664
- // If using on-demand load or if dataset is larger than page size, show pagination
665
- return onDemandLoad || (0, _lodashEs.size)(internalDataset) > pagesize;
474
+ return onDemandLoad || size(internalDataset) > pagesize;
666
475
  };
667
-
668
- // Panel structure utilities
669
- var shouldShowPanelHeading = exports.shouldShowPanelHeading = function shouldShowPanelHeading(title, subheading, iconclass) {
670
- var exportformat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
671
- var headerActions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
672
- return !(0, _lodashEs.isEmpty)(title) || !(0, _lodashEs.isEmpty)(subheading) || !(0, _lodashEs.isEmpty)(iconclass) || (0, _lodashEs.size)(exportformat) > 0 || (0, _lodashEs.size)(headerActions) > 0;
476
+ const shouldShowPanelHeading = (title, subheading, iconclass, exportformat = [], headerActions = []) => {
477
+ return !isEmpty(title) || !isEmpty(subheading) || !isEmpty(iconclass) || size(exportformat) > 0 || size(headerActions) > 0;
673
478
  };
674
-
675
- /**
676
- * Utility function to handle navigation after a new row is added to the table
677
- * Used by both inline edit and quick edit modes
678
- */
679
- var handleNewRowNavigation = exports.handleNewRowNavigation = function handleNewRowNavigation(tableRef, newRecord, internalDataset) {
680
- if (!(0, _lodashEs.get)(tableRef, "current")) return;
681
- var table = (0, _lodashEs.get)(tableRef, "current");
682
- var sortingState = (0, _lodashEs.get)(table.getState(), "sorting");
683
- var hasSorting = sortingState && (0, _lodashEs.size)(sortingState) > 0;
479
+ const handleNewRowNavigation = (tableRef, newRecord, internalDataset) => {
480
+ if (!get(tableRef, "current")) return;
481
+ const table = get(tableRef, "current");
482
+ const sortingState = get(table.getState(), "sorting");
483
+ const hasSorting = sortingState && size(sortingState) > 0;
684
484
  if (hasSorting) {
685
- // If sorting is active, find where the new record ends up
686
- setTimeout(function () {
687
- var sortedRows = (0, _lodashEs.get)(table.getSortedRowModel(), "rows", []);
688
- var newRecordIndex = (0, _lodashEs.findIndex)(sortedRows, function (row) {
689
- return (0, _lodashEs.get)(row, "original._wmTableRowId") === (0, _lodashEs.get)(newRecord, "_wmTableRowId");
690
- });
485
+ setTimeout(() => {
486
+ const sortedRows = get(table.getSortedRowModel(), "rows", []);
487
+ const newRecordIndex = findIndex(
488
+ sortedRows,
489
+ (row) => get(row, "original._wmTableRowId") === get(newRecord, "_wmTableRowId")
490
+ );
691
491
  if (newRecordIndex !== -1) {
692
- var currentPageSize = (0, _lodashEs.get)(table.getState(), "pagination.pageSize");
693
- var targetPage = (0, _lodashEs.floor)(newRecordIndex / currentPageSize);
492
+ const currentPageSize = get(table.getState(), "pagination.pageSize");
493
+ const targetPage = floor(newRecordIndex / currentPageSize);
694
494
  table.setPageIndex(targetPage);
695
495
  }
696
496
  }, 0);
697
497
  } else {
698
- // If no sorting, navigate to the last page
699
- var currentPageSize = (0, _lodashEs.get)(table.getState(), "pagination.pageSize");
700
- // Add 1 because the new record hasn't been added to internalDataset state yet
701
- var newDatasetLength = (0, _lodashEs.size)(internalDataset) + 1;
702
- var totalPages = (0, _lodashEs.ceil)(newDatasetLength / currentPageSize);
703
- table.setPageIndex((0, _lodashEs.max)([0, totalPages - 1]));
498
+ const currentPageSize = get(table.getState(), "pagination.pageSize");
499
+ const newDatasetLength = size(internalDataset) + 1;
500
+ const totalPages = ceil(newDatasetLength / currentPageSize);
501
+ table.setPageIndex(max([0, totalPages - 1]));
704
502
  }
705
503
  };
706
-
707
- /**
708
- * List of internal properties that should be removed from row data
709
- * before passing to external handlers or form data
710
- */
711
- var INTERNAL_PROPERTIES = exports.INTERNAL_PROPERTIES = ["_wmTableRowId",
712
- // Internal row identifier
713
- "getProperty",
714
- // Helper function to get property values
715
- "rowOperations",
716
- // Internal column for row action buttons
717
- "rowActions",
718
- // Internal row actions property
719
- "_wmListItemId",
720
- // Internal list item identifier
721
- "selected",
722
- // Internal selected property
723
- "_wm"];
724
-
725
- /**
726
- * Patterns for internal field names that should be excluded from cleaned data
727
- */
728
- var INTERNAL_FIELD_SUFFIXES = ["_formWidget"];
729
-
730
- /**
731
- * Cleans row data by removing internal properties
732
- * Handles both single objects and arrays of objects
733
- * Removes:
734
- * - Exact matches from INTERNAL_PROPERTIES list
735
- * - Fields ending with internal suffixes (e.g., _formWidget)
736
- * - Recursively cleans nested objects
737
- * @param data The raw data - can be a single object, array of objects, or primitive
738
- * @returns The cleaned data without internal properties
739
- */
740
- var _cleanRowData = exports.cleanRowData = function cleanRowData(data) {
504
+ const INTERNAL_PROPERTIES = [
505
+ "_wmTableRowId",
506
+ // Internal row identifier
507
+ "getProperty",
508
+ // Helper function to get property values
509
+ "rowOperations",
510
+ // Internal column for row action buttons
511
+ "rowActions",
512
+ // Internal row actions property
513
+ "_wmListItemId",
514
+ // Internal list item identifier
515
+ "selected",
516
+ // Internal selected property
517
+ "_wm"
518
+ ];
519
+ const INTERNAL_FIELD_SUFFIXES = ["_formWidget"];
520
+ const cleanRowData = (data) => {
741
521
  if (!data) return data;
742
-
743
- // For arrays, clean each item
744
- if ((0, _lodashEs.isArray)(data)) {
745
- return data.map(function (item) {
746
- return _cleanRowData(item);
747
- });
522
+ if (isArray(data)) {
523
+ return data.map((item) => cleanRowData(item));
748
524
  }
749
-
750
- // For objects, remove internal properties and clean nested objects
751
- if ((0, _typeof2["default"])(data) === "object") {
752
- var result = {};
753
- var _loop = function _loop() {
754
- var key = _Object$keys[_i];
755
- // Skip exact matches from INTERNAL_PROPERTIES
756
- if (INTERNAL_PROPERTIES.includes(key)) {
757
- return 0; // continue
758
- }
759
-
760
- // Skip fields ending with internal suffixes
761
- if (INTERNAL_FIELD_SUFFIXES.some(function (suffix) {
762
- return key.endsWith(suffix);
763
- })) {
764
- return 0; // continue
765
- }
766
-
767
- // Recursively clean nested objects/arrays
768
- var value = data[key];
769
- if (value && (0, _typeof2["default"])(value) === "object") {
770
- result[key] = _cleanRowData(value);
771
- } else {
772
- result[key] = value;
773
- }
774
- },
775
- _ret;
776
- for (var _i = 0, _Object$keys = Object.keys(data); _i < _Object$keys.length; _i++) {
777
- _ret = _loop();
778
- if (_ret === 0) continue;
525
+ if (typeof data === "object") {
526
+ const result = {};
527
+ for (const key of Object.keys(data)) {
528
+ if (INTERNAL_PROPERTIES.includes(key)) {
529
+ continue;
530
+ }
531
+ if (INTERNAL_FIELD_SUFFIXES.some((suffix) => key.endsWith(suffix))) {
532
+ continue;
533
+ }
534
+ const value = data[key];
535
+ if (value && typeof value === "object") {
536
+ result[key] = cleanRowData(value);
537
+ } else {
538
+ result[key] = value;
539
+ }
779
540
  }
780
541
  return result;
781
542
  }
782
-
783
- // For primitive types, return as is
784
543
  return data;
785
544
  };
786
-
787
- // Helper function to parse width values
788
- var parseWidth = exports.parseWidth = function parseWidth(width) {
789
- var fallbackSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 150;
790
- var columnSize = fallbackSize;
791
- var styleWidth = width;
545
+ const parseWidth = (width, fallbackSize = 150) => {
546
+ let columnSize = fallbackSize;
547
+ const styleWidth = width;
792
548
  if (typeof styleWidth === "string") {
793
- // Convert percentage to a pixel value (assuming viewport width)
794
549
  if (styleWidth.endsWith("%")) {
795
- var percentage = parseFloat(styleWidth);
796
- // Use a base width of 1200px for percentage calculations
550
+ const percentage = parseFloat(styleWidth);
797
551
  columnSize = Math.round(percentage / 100 * 1200);
798
552
  } else if (styleWidth.endsWith("px")) {
799
553
  columnSize = parseInt(styleWidth);
@@ -803,47 +557,137 @@ var parseWidth = exports.parseWidth = function parseWidth(width) {
803
557
  }
804
558
  return columnSize;
805
559
  };
806
- var getColClass = exports.getColClass = function getColClass(colClass, rowData, columnName) {
807
- // Return empty string if colClass is not provided or not a string
560
+ const getColClass = (colClass, rowData, columnName) => {
808
561
  if (!colClass || typeof colClass !== "string") {
809
562
  return "";
810
563
  }
811
-
812
- // Trim whitespace
813
- var trimmedClass = (0, _lodashEs.trim)(colClass);
564
+ const trimmedClass = trim(colClass);
814
565
  if (!trimmedClass) {
815
566
  return "";
816
567
  }
817
- var hasExpressionOperators = /[?&|<>!=]/.test(trimmedClass) || trimmedClass.includes("(") || trimmedClass.includes("&&") || trimmedClass.includes("||") || trimmedClass.includes("===") || trimmedClass.includes("!==");
818
- var hasRowDataReference = trimmedClass.includes("rowData");
819
- var hasColumnNameReference = trimmedClass.includes("columnName");
820
- var isExpression = hasExpressionOperators || hasRowDataReference || hasColumnNameReference;
821
-
822
- // If it's not an expression, return as-is
568
+ const hasExpressionOperators = /[?&|<>!=]/.test(trimmedClass) || trimmedClass.includes("(") || trimmedClass.includes("&&") || trimmedClass.includes("||") || trimmedClass.includes("===") || trimmedClass.includes("!==");
569
+ const hasRowDataReference = trimmedClass.includes("rowData");
570
+ const hasColumnNameReference = trimmedClass.includes("columnName");
571
+ const isExpression = hasExpressionOperators || hasRowDataReference || hasColumnNameReference;
823
572
  if (!isExpression) {
824
573
  return trimmedClass;
825
574
  }
826
-
827
- // Evaluate the expression using Function constructor
828
575
  try {
829
- var expressionToEvaluate = trimmedClass;
830
- var evaluated = new Function("rowData", "columnName", "return ".concat(expressionToEvaluate))(rowData, columnName);
831
-
832
- // Convert result to string (handles boolean, number, null, undefined)
833
- if (evaluated === null || evaluated === undefined) {
576
+ let expressionToEvaluate = trimmedClass;
577
+ const evaluated = new Function("rowData", "columnName", `return ${expressionToEvaluate}`)(
578
+ rowData,
579
+ columnName
580
+ );
581
+ if (evaluated === null || evaluated === void 0) {
834
582
  return "";
835
583
  }
836
-
837
- // If it's a boolean, return empty string (falsy) or convert to string
838
584
  if (typeof evaluated === "boolean") {
839
585
  return evaluated ? String(evaluated) : "";
840
586
  }
841
587
  return String(evaluated);
842
588
  } catch (error) {
843
589
  console.warn("Failed to evaluate colClass expression:", trimmedClass, error);
844
- // Return empty string on error to prevent breaking the UI
845
590
  return "";
846
591
  }
847
592
  };
848
-
849
- // Export utilities
593
+ import {
594
+ TABLE_CSS_CLASSES as TABLE_CSS_CLASSES2,
595
+ TABLE_DATA_STATES,
596
+ TABLE_MESSAGES,
597
+ INTERACTIVE_CLASSES,
598
+ INTERACTIVE_ROLES,
599
+ INTERACTIVE_DATA_ROLES,
600
+ INTERACTIVE_TAG_NAMES,
601
+ DYNAMIC_COLUMNS_CONFIG,
602
+ UNSUPPORTED_STATE_PERSISTENCE_TYPES
603
+ } from "./constants";
604
+ import { renderDisplayCell } from "./renderDisplayCell";
605
+ import { buildSelectionColumns } from "./buildSelectionColumns";
606
+ import { validateField, resetValidationState, updateValidationErrors } from "./validation";
607
+ import {
608
+ hasInteractiveClass,
609
+ hasInteractiveAttributes,
610
+ isInteractiveElement,
611
+ getRowIdsFromDataset,
612
+ rowExistsInDataset,
613
+ selectionStateHelpers
614
+ } from "./selectionUtils";
615
+ import {
616
+ createRowIndexColumn,
617
+ createDataColumn,
618
+ createDataColumns,
619
+ createEditingActionButtons,
620
+ createDefaultColumnProps,
621
+ getActionColumnSize
622
+ } from "./columnBuilder";
623
+ import { isDataColumn, hasExplicitWidth, distributeColumnWidths } from "./columnWidthDistribution";
624
+ import {
625
+ saveTableState,
626
+ getTableState,
627
+ clearTableState,
628
+ convertFilterArrayToObject,
629
+ convertFilterObjectToArray
630
+ } from "./table-helpers";
631
+ export {
632
+ DYNAMIC_COLUMNS_CONFIG,
633
+ INTERACTIVE_CLASSES,
634
+ INTERACTIVE_DATA_ROLES,
635
+ INTERACTIVE_ROLES,
636
+ INTERACTIVE_TAG_NAMES,
637
+ INTERNAL_PROPERTIES,
638
+ TABLE_CSS_CLASSES2 as TABLE_CSS_CLASSES,
639
+ TABLE_DATA_STATES,
640
+ TABLE_MESSAGES,
641
+ UNSUPPORTED_STATE_PERSISTENCE_TYPES,
642
+ addUniqueRowIds,
643
+ buildSelectionColumns,
644
+ cleanRowData,
645
+ clearTableState,
646
+ convertFilterArrayToObject,
647
+ convertFilterObjectToArray,
648
+ createDataColumn,
649
+ createDataColumns,
650
+ createDefaultColumnProps,
651
+ createEditingActionButtons,
652
+ createRowIndexColumn,
653
+ distributeColumnWidths,
654
+ extractDataArray,
655
+ flattenTableStructure,
656
+ getActionButtonClass,
657
+ getActionColumnSize,
658
+ getAggregateFunctions,
659
+ getBooleanDataset,
660
+ getButtonClasses,
661
+ getColClass,
662
+ getRowIdsFromDataset,
663
+ getSpacingClasses,
664
+ getTableActionButtonClass,
665
+ getTableState,
666
+ getWidgetMappingForType,
667
+ handleNewRowNavigation,
668
+ hasExplicitWidth,
669
+ hasInteractiveAttributes,
670
+ hasInteractiveClass,
671
+ isAddNewAction,
672
+ isColumnVisibleForViewport,
673
+ isDataColumn,
674
+ isDeleteAction,
675
+ isEditAction,
676
+ isInteractiveElement,
677
+ parseTableActions,
678
+ parseTableColumns,
679
+ parseTableRowActions,
680
+ parseTableRowExpansion,
681
+ parseTableStructureWithGroups,
682
+ parseWidth,
683
+ renderDisplayCell,
684
+ resetValidationState,
685
+ rowExistsInDataset,
686
+ saveTableState,
687
+ selectionStateHelpers,
688
+ shouldShowPagination,
689
+ shouldShowPanelHeading,
690
+ updateValidationErrors,
691
+ validateEditingFields,
692
+ validateField
693
+ };