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

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 (574) 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.js +251 -346
  6. package/actions/notification-action.js +121 -149
  7. package/actions/timer-action.js +95 -151
  8. package/actions/toast-provider.js +62 -76
  9. package/actions/toast.js +95 -91
  10. package/actions/toast.service.js +59 -79
  11. package/actions/types/index.js +6 -9
  12. package/components/advanced/carousel/index.js +358 -366
  13. package/components/advanced/carousel/props.js +0 -5
  14. package/components/advanced/carousel/template.js +102 -80
  15. package/components/advanced/login/index.js +227 -285
  16. package/components/advanced/login/props.js +0 -5
  17. package/components/advanced/marquee/index.js +169 -163
  18. package/components/advanced/marquee/props.js +0 -5
  19. package/components/basic/anchor/index.js +207 -187
  20. package/components/basic/anchor/props.js +0 -5
  21. package/components/basic/audio/index.js +110 -72
  22. package/components/basic/audio/props.js +0 -5
  23. package/components/basic/html/index.js +163 -203
  24. package/components/basic/html/props.js +0 -5
  25. package/components/basic/html/utils.js +30 -28
  26. package/components/basic/icon/index.js +98 -84
  27. package/components/basic/icon/props.js +0 -5
  28. package/components/basic/iframe/iframe.utils.js +7 -16
  29. package/components/basic/iframe/index.js +97 -103
  30. package/components/basic/iframe/props.js +0 -5
  31. package/components/basic/label/index.js +156 -134
  32. package/components/basic/label/props.js +0 -5
  33. package/components/basic/message/index.js +129 -113
  34. package/components/basic/message/props.js +0 -5
  35. package/components/basic/picture/index.js +156 -127
  36. package/components/basic/picture/props.js +0 -5
  37. package/components/basic/progress-bar/index.js +240 -176
  38. package/components/basic/progress-bar/props.js +5 -31
  39. package/components/basic/progress-circle/index.js +166 -183
  40. package/components/basic/progress-circle/props.js +14 -34
  41. package/components/basic/richtexteditor/index.js +430 -396
  42. package/components/basic/richtexteditor/props.js +0 -5
  43. package/components/basic/search/index.js +812 -931
  44. package/components/basic/search/props.js +0 -5
  45. package/components/basic/search/providers.js +233 -380
  46. package/components/basic/spinner/index.js +210 -200
  47. package/components/basic/spinner/props.js +4 -22
  48. package/components/basic/tile/index.js +73 -81
  49. package/components/basic/tile/props.js +0 -5
  50. package/components/basic/tree/Components/TreeNodeComponent.js +238 -170
  51. package/components/basic/tree/hooks/useTreePartialNodeApi.js +143 -135
  52. package/components/basic/tree/index.js +378 -454
  53. package/components/basic/tree/props.js +0 -5
  54. package/components/basic/tree/utils.js +129 -185
  55. package/components/basic/video/index.js +161 -107
  56. package/components/basic/video/props.js +0 -5
  57. package/components/chart/index.js +42 -50
  58. package/components/chart/props.js +31 -37
  59. package/components/chart/src/ChartRenderer.js +172 -154
  60. package/components/chart/src/chart.js +391 -213
  61. package/components/chart/src/chartStyles.generated.js +6 -14
  62. package/components/chart/src/chartUtils.js +228 -272
  63. package/components/chart/src/constants.d.ts +13 -0
  64. package/components/chart/src/constants.js +316 -90
  65. package/components/chart/src/d3Setup.js +11 -30
  66. package/components/chart/src/dataUtils.js +362 -446
  67. package/components/chart/src/formatUtils.js +47 -38
  68. package/components/chart/src/index.js +11 -19
  69. package/components/chart/src/nvd3Source.generated.js +5 -13
  70. package/components/chart/src/pieDonutResponsiveLayout.d.ts +5 -0
  71. package/components/chart/src/pieDonutResponsiveLayout.js +76 -96
  72. package/components/chart/src/types.js +0 -5
  73. package/components/common/AppSpinner.js +17 -33
  74. package/components/common/app-spinner.js +11 -22
  75. package/components/common/customTemplate/index.d.ts +3 -0
  76. package/components/common/customTemplate/index.js +6 -0
  77. package/components/common/customTemplate/props.d.ts +20 -0
  78. package/components/common/customTemplate/props.js +0 -0
  79. package/components/common/customTemplate/template.d.ts +3 -0
  80. package/components/common/customTemplate/template.js +27 -0
  81. package/components/common/customTemplate/useCustomTemplate.d.ts +8 -0
  82. package/components/common/customTemplate/useCustomTemplate.js +17 -0
  83. package/components/common/customTemplate/utils.d.ts +6 -0
  84. package/components/common/customTemplate/utils.js +12 -0
  85. package/components/common/index.js +4 -12
  86. package/components/constants.js +81 -77
  87. package/components/container/accordion/accordion-pane/index.js +105 -118
  88. package/components/container/accordion/accordion-pane/props.js +5 -21
  89. package/components/container/accordion/index.js +225 -243
  90. package/components/container/accordion/props.js +5 -16
  91. package/components/container/index.js +214 -150
  92. package/components/container/layout-grid/grid-column/index.js +68 -43
  93. package/components/container/layout-grid/grid-column/props.js +0 -5
  94. package/components/container/layout-grid/grid-row/index.js +12 -29
  95. package/components/container/layout-grid/grid-row/props.js +0 -5
  96. package/components/container/layout-grid/index.js +53 -38
  97. package/components/container/layout-grid/props.js +0 -5
  98. package/components/container/linear-layout/index.js +56 -60
  99. package/components/container/linear-layout/linear-layout-item/index.js +43 -47
  100. package/components/container/linear-layout/linear-layout-item/props.js +0 -5
  101. package/components/container/linear-layout/props.js +0 -5
  102. package/components/container/panel/components/panel-content/index.js +7 -16
  103. package/components/container/panel/components/panel-header/index.js +166 -146
  104. package/components/container/panel/components/panel-header/props.js +0 -5
  105. package/components/container/panel/hooks.js +76 -102
  106. package/components/container/panel/index.js +289 -252
  107. package/components/container/panel/props.js +0 -5
  108. package/components/container/props.js +0 -5
  109. package/components/container/repeat-template/index.js +65 -44
  110. package/components/container/repeat-template/props.js +0 -5
  111. package/components/container/tabs/index.js +517 -526
  112. package/components/container/tabs/props.js +5 -28
  113. package/components/container/tabs/tab-pane/index.js +105 -100
  114. package/components/container/tabs/tab-pane/props.js +0 -5
  115. package/components/container/tabs/utils.js +30 -35
  116. package/components/container/wizard/WizardContext.js +9 -11
  117. package/components/container/wizard/components/StepComponents.js +76 -99
  118. package/components/container/wizard/components/WizardStep.js +107 -85
  119. package/components/container/wizard/index.js +791 -921
  120. package/components/container/wizard/props.js +0 -5
  121. package/components/container/wizard/utils.js +97 -131
  122. package/components/container/wizard/wizard-action/index.js +41 -81
  123. package/components/container/wizard/wizard-step/index.js +140 -120
  124. package/components/data/card/card-actions/index.js +13 -31
  125. package/components/data/card/card-content/index.js +27 -36
  126. package/components/data/card/card-footer/index.js +13 -31
  127. package/components/data/card/index.js +192 -199
  128. package/components/data/card/props.js +0 -5
  129. package/components/data/form/base-form/constant.js +5 -8
  130. package/components/data/form/base-form/hooks/index.js +26 -77
  131. package/components/data/form/base-form/hooks/useFormDataSync.js +106 -212
  132. package/components/data/form/base-form/hooks/useFormOperations.js +109 -161
  133. package/components/data/form/base-form/hooks/useFormSubmission.js +220 -280
  134. package/components/data/form/base-form/hooks/useFormValidation.js +119 -168
  135. package/components/data/form/base-form/hooks/useParentFormRelationship.js +67 -103
  136. package/components/data/form/base-form/index.js +531 -646
  137. package/components/data/form/base-form/props.js +74 -151
  138. package/components/data/form/base-form/utils.js +210 -323
  139. package/components/data/form/dynamic-fields/constant.js +43 -53
  140. package/components/data/form/dynamic-fields/index.js +135 -144
  141. package/components/data/form/dynamic-fields/props.js +0 -5
  142. package/components/data/form/dynamic-fields/utils.js +99 -158
  143. package/components/data/form/form-action/index.js +107 -85
  144. package/components/data/form/form-body/index.js +52 -26
  145. package/components/data/form/form-context.js +43 -59
  146. package/components/data/form/form-controller/hooks/index.js +43 -57
  147. package/components/data/form/form-controller/props.js +5 -8
  148. package/components/data/form/form-controller/utils.js +54 -49
  149. package/components/data/form/form-controller/validation-contrustor.js +203 -426
  150. package/components/data/form/form-controller/withFormController.js +319 -269
  151. package/components/data/form/form-dynamic-section/index.js +47 -41
  152. package/components/data/form/form-dynamic-section/props.js +0 -5
  153. package/components/data/form/form-field/base-field.js +97 -109
  154. package/components/data/form/form-field/index.js +91 -82
  155. package/components/data/form/form-field/props.js +0 -5
  156. package/components/data/form/form-footer/index.js +52 -25
  157. package/components/data/form/form-header/index.js +61 -58
  158. package/components/data/form/index.js +95 -74
  159. package/components/data/form/props.js +0 -5
  160. package/components/data/list/components/GroupHeader.js +34 -33
  161. package/components/data/list/components/GroupedListItems.js +108 -104
  162. package/components/data/list/components/ListContainer.js +22 -27
  163. package/components/data/list/components/ListDND.js +193 -185
  164. package/components/data/list/components/ListHeader.js +32 -49
  165. package/components/data/list/components/ListItem.js +153 -146
  166. package/components/data/list/components/ListItemWithTemplate.js +87 -105
  167. package/components/data/list/components/ListItems.js +180 -194
  168. package/components/data/list/components/ListPagination.js +127 -153
  169. package/components/data/list/components/LoadMoreButton.js +25 -33
  170. package/components/data/list/components/NoDataMessage.js +9 -22
  171. package/components/data/list/components/StandardListItems.js +79 -85
  172. package/components/data/list/components/index.js +31 -119
  173. package/components/data/list/components/props.js +0 -5
  174. package/components/data/list/hooks/index.js +22 -75
  175. package/components/data/list/hooks/props.js +0 -5
  176. package/components/data/list/hooks/useCurrentPageItems.js +20 -38
  177. package/components/data/list/hooks/useGroupedData.js +19 -33
  178. package/components/data/list/hooks/useListData.js +17 -47
  179. package/components/data/list/hooks/useListEffects.js +168 -237
  180. package/components/data/list/hooks/useListEventHandlers.js +301 -285
  181. package/components/data/list/hooks/useListPagination.js +90 -136
  182. package/components/data/list/hooks/useListState.js +49 -91
  183. package/components/data/list/hooks/useListStateManager.js +104 -159
  184. package/components/data/list/hooks/usePaginatedGroupedData.js +74 -110
  185. package/components/data/list/index.d.ts +1 -0
  186. package/components/data/list/index.js +579 -621
  187. package/components/data/list/props.d.ts +4 -0
  188. package/components/data/list/props.js +0 -5
  189. package/components/data/list/templates/media-template.js +29 -50
  190. package/components/data/list/utils/constants.js +20 -32
  191. package/components/data/list/utils/list-helpers.d.ts +2 -1
  192. package/components/data/list/utils/list-helpers.js +71 -115
  193. package/components/data/list/utils/list-widget-methods.js +56 -76
  194. package/components/data/list/utils/widget-instance-utils.js +20 -57
  195. package/components/data/live-filter/index.js +219 -271
  196. package/components/data/live-filter/props.js +5 -12
  197. package/components/data/live-form/index.js +68 -91
  198. package/components/data/live-form/props.js +5 -12
  199. package/components/data/pagination/components/BasicPagination.js +124 -104
  200. package/components/data/pagination/components/ClassicPagination.js +167 -190
  201. package/components/data/pagination/components/InlinePagination.js +97 -98
  202. package/components/data/pagination/components/LoadingComponent.js +17 -30
  203. package/components/data/pagination/components/PageSizeSelector.js +176 -169
  204. package/components/data/pagination/components/PagerNavigation.js +84 -105
  205. package/components/data/pagination/components/TotalRecords.js +48 -47
  206. package/components/data/pagination/components/index.js +14 -47
  207. package/components/data/pagination/components/props.js +0 -5
  208. package/components/data/pagination/hooks/index.js +6 -19
  209. package/components/data/pagination/hooks/props.js +0 -5
  210. package/components/data/pagination/hooks/useNavigationSize.js +12 -21
  211. package/components/data/pagination/hooks/usePagination.js +702 -905
  212. package/components/data/pagination/index.js +336 -389
  213. package/components/data/table/components/AddNewRow.js +122 -154
  214. package/components/data/table/components/EditableCell.js +68 -75
  215. package/components/data/table/components/FieldValidationError.js +19 -20
  216. package/components/data/table/components/RowCells.js +97 -80
  217. package/components/data/table/components/RowExpansionButton.js +43 -39
  218. package/components/data/table/components/SummaryCell.js +54 -88
  219. package/components/data/table/components/SummaryRow.js +45 -52
  220. package/components/data/table/components/SummaryRowFooter.js +35 -42
  221. package/components/data/table/components/TableBody.js +222 -218
  222. package/components/data/table/components/TableDataRow.js +113 -106
  223. package/components/data/table/components/TableFilters.js +391 -390
  224. package/components/data/table/components/TableFooterActions.js +25 -32
  225. package/components/data/table/components/TableHeader.js +460 -435
  226. package/components/data/table/components/TablePanelHeading.js +157 -181
  227. package/components/data/table/components/index.js +27 -95
  228. package/components/data/table/hooks/index.js +21 -230
  229. package/components/data/table/hooks/use-edited-rows.js +59 -94
  230. package/components/data/table/hooks/useCellState.js +58 -83
  231. package/components/data/table/hooks/useCustomExpressionColumns.js +65 -86
  232. package/components/data/table/hooks/useDynamicColumns.js +59 -92
  233. package/components/data/table/hooks/useEditingState.js +30 -41
  234. package/components/data/table/hooks/useFormWidget.js +163 -172
  235. package/components/data/table/hooks/usePaginationState.js +67 -77
  236. package/components/data/table/hooks/usePanelStructure.js +47 -41
  237. package/components/data/table/hooks/useResponsiveColumns.js +14 -20
  238. package/components/data/table/hooks/useRowExpansion.js +131 -127
  239. package/components/data/table/hooks/useRowHandlers.js +56 -69
  240. package/components/data/table/hooks/useRowSelection.js +249 -329
  241. package/components/data/table/hooks/useServerSideSorting.js +109 -175
  242. package/components/data/table/hooks/useTableColumns.js +322 -331
  243. package/components/data/table/hooks/useTableData.js +111 -166
  244. package/components/data/table/hooks/useTableEdit.js +526 -564
  245. package/components/data/table/hooks/useTableEffects.js +60 -107
  246. package/components/data/table/hooks/useTableFilter.js +244 -237
  247. package/components/data/table/hooks/useTableInitialization.js +44 -76
  248. package/components/data/table/hooks/useTableState.js +39 -61
  249. package/components/data/table/hooks/useTableStateManager.js +295 -468
  250. package/components/data/table/index.js +1553 -1713
  251. package/components/data/table/live-table/index.js +157 -219
  252. package/components/data/table/props.js +0 -5
  253. package/components/data/table/table-action/index.js +97 -75
  254. package/components/data/table/table-column/index.js +48 -42
  255. package/components/data/table/table-group/index.js +7 -25
  256. package/components/data/table/table-row/index.js +63 -55
  257. package/components/data/table/table-row-action/index.js +102 -77
  258. package/components/data/table/utils/buildSelectionColumns.js +86 -137
  259. package/components/data/table/utils/columnBuilder.js +116 -158
  260. package/components/data/table/utils/columnProxy.js +48 -66
  261. package/components/data/table/utils/columnWidthDistribution.js +40 -64
  262. package/components/data/table/utils/constants.js +92 -40
  263. package/components/data/table/utils/crud-handlers.js +292 -473
  264. package/components/data/table/utils/dynamic-columns.js +99 -144
  265. package/components/data/table/utils/groupHeaderUtils.js +36 -61
  266. package/components/data/table/utils/index.d.ts +8 -5
  267. package/components/data/table/utils/index.js +419 -639
  268. package/components/data/table/utils/renderDisplayCell.js +127 -169
  269. package/components/data/table/utils/script-page-size-broadcast.js +17 -29
  270. package/components/data/table/utils/selectionUtils.js +59 -113
  271. package/components/data/table/utils/table-helpers.js +38 -74
  272. package/components/data/table/utils/validation.js +35 -78
  273. package/components/data/table/utils/widgetMapping.d.ts +5 -0
  274. package/components/data/table/utils/widgetMapping.js +41 -0
  275. package/components/data/types.js +112 -112
  276. package/components/data/utils/field-data-utils.js +38 -42
  277. package/components/data/utils/filter-field-util.js +42 -44
  278. package/components/data/utils/index.js +112 -111
  279. package/components/dialogs/alert-dialog/index.js +83 -78
  280. package/components/dialogs/alert-dialog/props.js +0 -5
  281. package/components/dialogs/confirm-dialog/index.js +102 -92
  282. package/components/dialogs/confirm-dialog/props.js +0 -5
  283. package/components/dialogs/dialog/index.js +93 -69
  284. package/components/dialogs/dialog/props.js +0 -5
  285. package/components/dialogs/dialog-actions/index.js +12 -26
  286. package/components/dialogs/dialog-actions/props.js +0 -5
  287. package/components/dialogs/dialog-body/index.js +13 -30
  288. package/components/dialogs/dialog-body/props.js +0 -5
  289. package/components/dialogs/dialog-content/index.js +48 -41
  290. package/components/dialogs/dialog-content/props.js +0 -5
  291. package/components/dialogs/dialog-header/index.js +88 -101
  292. package/components/dialogs/dialog-header/props.js +0 -5
  293. package/components/dialogs/iframe-dialog/index.js +136 -128
  294. package/components/dialogs/iframe-dialog/props.js +0 -5
  295. package/components/dialogs/index.js +104 -101
  296. package/components/dialogs/login-dialog/index.js +285 -347
  297. package/components/dialogs/login-dialog/props.js +0 -5
  298. package/components/dialogs/page-dialog/index.js +95 -86
  299. package/components/dialogs/page-dialog/props.js +0 -5
  300. package/components/dialogs/props.js +0 -5
  301. package/components/dialogs/withDialogWrapper.js +110 -83
  302. package/components/form/button/index.js +296 -245
  303. package/components/form/button/props.js +0 -5
  304. package/components/form/button-group/index.js +80 -69
  305. package/components/form/button-group/props.js +0 -5
  306. package/components/input/calendar/index.js +409 -362
  307. package/components/input/calendar/props.js +0 -5
  308. package/components/input/calendar/utils.js +164 -172
  309. package/components/input/chips/SortableChip/index.js +109 -100
  310. package/components/input/chips/SortableChip/props.js +0 -5
  311. package/components/input/chips/index.js +663 -570
  312. package/components/input/chips/props.js +0 -5
  313. package/components/input/chips/utils.js +131 -122
  314. package/components/input/color-picker/index.js +536 -594
  315. package/components/input/color-picker/props.js +0 -5
  316. package/components/input/composite/index.js +71 -110
  317. package/components/input/composite/props.js +0 -5
  318. package/components/input/currency/index.js +277 -224
  319. package/components/input/currency/props.js +0 -5
  320. package/components/input/default/checkbox/index.js +329 -250
  321. package/components/input/default/checkbox/props.js +0 -5
  322. package/components/input/default/checkboxset/index.d.ts +2 -0
  323. package/components/input/default/checkboxset/index.js +529 -446
  324. package/components/input/default/checkboxset/props.d.ts +4 -0
  325. package/components/input/default/checkboxset/props.js +0 -5
  326. package/components/input/default/checkboxset/utils.js +15 -25
  327. package/components/input/default/radioset/index.d.ts +2 -0
  328. package/components/input/default/radioset/index.js +409 -350
  329. package/components/input/default/radioset/props.d.ts +6 -0
  330. package/components/input/default/radioset/props.js +0 -5
  331. package/components/input/default/switch/index.js +494 -458
  332. package/components/input/default/switch/prop.js +0 -5
  333. package/components/input/epoch/date/components/DatePickerPopover.js +242 -193
  334. package/components/input/epoch/date/index.js +638 -518
  335. package/components/input/epoch/date/props.js +0 -5
  336. package/components/input/epoch/date/styled.js +61 -70
  337. package/components/input/epoch/date/utils.js +67 -115
  338. package/components/input/epoch/datetime/index.js +758 -695
  339. package/components/input/epoch/datetime/props.js +0 -5
  340. package/components/input/epoch/datetime/utils.js +121 -186
  341. package/components/input/epoch/time/index.js +441 -415
  342. package/components/input/epoch/time/props.js +0 -5
  343. package/components/input/epoch/time/utils.js +101 -112
  344. package/components/input/fileupload/Utils.js +70 -97
  345. package/components/input/fileupload/components/ListItems.js +132 -130
  346. package/components/input/fileupload/components/MultiUpload.js +80 -77
  347. package/components/input/fileupload/components/SingleUpload.js +57 -57
  348. package/components/input/fileupload/index.js +253 -178
  349. package/components/input/fileupload/props.js +0 -5
  350. package/components/input/fileupload/useFileUpload.js +209 -258
  351. package/components/input/number/index.js +434 -393
  352. package/components/input/number/props.js +0 -5
  353. package/components/input/rating/index.js +401 -394
  354. package/components/input/rating/props.js +0 -5
  355. package/components/input/select/index.js +408 -463
  356. package/components/input/select/props.js +0 -5
  357. package/components/input/slider/index.js +339 -332
  358. package/components/input/slider/props.js +0 -5
  359. package/components/input/text/index.d.ts +3 -3
  360. package/components/input/text/index.js +438 -475
  361. package/components/input/text/props.d.ts +1 -1
  362. package/components/input/text/props.js +0 -5
  363. package/components/input/text/util.js +82 -222
  364. package/components/input/textarea/index.js +322 -358
  365. package/components/input/textarea/props.js +0 -5
  366. package/components/input/upload/index.js +135 -131
  367. package/components/input/upload/props.js +0 -5
  368. package/components/input/util/index.js +9 -11
  369. package/components/layout/footer/index.js +12 -35
  370. package/components/layout/footer/props.js +0 -5
  371. package/components/layout/header/index.js +12 -38
  372. package/components/layout/header/props.js +0 -5
  373. package/components/layout/leftnav/index.js +38 -44
  374. package/components/layout/leftnav/props.js +0 -5
  375. package/components/layout/rightnav/index.js +12 -36
  376. package/components/layout/rightnav/props.js +0 -5
  377. package/components/layout/topnav/index.js +24 -38
  378. package/components/layout/topnav/props.js +0 -5
  379. package/components/navbar/index.js +119 -98
  380. package/components/navbar/nav/index.js +236 -232
  381. package/components/navbar/nav/props.js +0 -5
  382. package/components/navbar/nav-item/index.js +74 -65
  383. package/components/navbar/nav-item/props.js +0 -5
  384. package/components/navigation/breadcrumb/index.js +38 -61
  385. package/components/navigation/breadcrumb/props.js +0 -5
  386. package/components/navigation/menu/components/ListItems.js +76 -67
  387. package/components/navigation/menu/constants.js +27 -42
  388. package/components/navigation/menu/hooks/useHoverState.hook.js +20 -47
  389. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +34 -28
  390. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +21 -14
  391. package/components/navigation/menu/index.js +911 -846
  392. package/components/navigation/menu/props.js +0 -5
  393. package/components/navigation/menu/utils/action-task.js +6 -9
  394. package/components/navigation/menu/utils/role-filter.js +41 -56
  395. package/components/navigation/popover/index.js +191 -205
  396. package/components/navigation/popover/props.js +5 -8
  397. package/components/page/content/index.js +9 -31
  398. package/components/page/content/props.js +0 -5
  399. package/components/page/error-boundary/index.js +115 -105
  400. package/components/page/error-boundary/props.js +0 -5
  401. package/components/page/index.js +84 -102
  402. package/components/page/page-content/index.js +21 -30
  403. package/components/page/page-content/props.js +0 -5
  404. package/components/page/partial/index.js +50 -45
  405. package/components/page/partial/props.js +0 -5
  406. package/components/page/partial-container/index.js +81 -107
  407. package/components/page/partial-container/props.d.ts +1 -1
  408. package/components/page/partial-container/props.js +0 -5
  409. package/components/page/props.js +0 -5
  410. package/components/page/toast-container/index.js +20 -41
  411. package/components/page/toast-container/props.js +0 -5
  412. package/components/prefab/container/index.js +60 -53
  413. package/components/prefab/container/props.js +0 -5
  414. package/components/prefab/index.js +76 -61
  415. package/components/prefab/props.js +0 -5
  416. package/context/AppContext.d.ts +1 -1
  417. package/context/AppContext.js +17 -18
  418. package/context/AppSpinnerProvider.js +19 -34
  419. package/context/LayoutProvider.js +54 -57
  420. package/context/LocalizationProvider.js +34 -49
  421. package/context/PrefabContext.js +68 -119
  422. package/context/WidgetProvider.js +160 -166
  423. package/core/app-config.js +0 -1
  424. package/core/app.service.js +200 -327
  425. package/core/appVariablesStore.js +10 -15
  426. package/core/appstore.js +37 -53
  427. package/core/constants/currency-constant.js +81 -83
  428. package/core/constants/events.js +34 -44
  429. package/core/constants/index.js +21 -31
  430. package/core/dialog.service.js +52 -72
  431. package/core/event-notifier.js +94 -131
  432. package/core/formatter/array-formatters.js +18 -32
  433. package/core/formatter/date-formatters.js +140 -204
  434. package/core/formatter/index.js +64 -117
  435. package/core/formatter/number-formatters.js +115 -159
  436. package/core/formatter/security-formatters.js +233 -283
  437. package/core/formatter/string-formatters.js +23 -45
  438. package/core/formatter/types.js +12 -18
  439. package/core/formatters.js +6 -24
  440. package/core/proxy-service.js +242 -306
  441. package/core/script-registry.js +87 -134
  442. package/core/security.service.js +8 -11
  443. package/core/util/compare.js +13 -25
  444. package/core/util/dom.js +32 -63
  445. package/core/util/index.d.ts +5 -0
  446. package/core/util/index.js +95 -95
  447. package/core/util/safe-is-equal.js +42 -94
  448. package/core/util/security.js +114 -153
  449. package/core/util/utils.d.ts +8 -1
  450. package/core/util/utils.js +124 -132
  451. package/core/widget-observer.js +34 -61
  452. package/higherOrder/BaseApp.js +327 -500
  453. package/higherOrder/BaseAppProps.js +0 -5
  454. package/higherOrder/BaseDateTime.js +277 -231
  455. package/higherOrder/BasePage.js +479 -735
  456. package/higherOrder/BasePartial.js +87 -114
  457. package/higherOrder/BasePrefab.js +190 -206
  458. package/higherOrder/DataNav.js +287 -302
  459. package/higherOrder/helper.js +62 -48
  460. package/higherOrder/props.js +0 -5
  461. package/higherOrder/withBaseWrapper.js +123 -168
  462. package/higherOrder/withStandalone.js +28 -26
  463. package/hooks/useAccess.js +113 -289
  464. package/hooks/useAppConfig.js +15 -40
  465. package/hooks/useAuth.js +256 -495
  466. package/hooks/useDataSourceSubscription.d.ts +3 -3
  467. package/hooks/useDataSourceSubscription.js +99 -109
  468. package/hooks/useDebounce.js +28 -56
  469. package/hooks/useDeviceVisibility.js +14 -23
  470. package/hooks/useHttp.d.ts +1 -0
  471. package/hooks/useHttp.js +318 -493
  472. package/libs/index.js +4 -13
  473. package/libs/prefab/index.js +6 -20
  474. package/mui-config/theme-provider.js +9 -17
  475. package/mui-config/theme.js +6 -9
  476. package/package-lock.json +822 -3191
  477. package/package.json +3 -19
  478. package/providers/AppProviders.js +21 -24
  479. package/runtime-dynamic/App.js +65 -93
  480. package/runtime-dynamic/app-initializer.js +207 -400
  481. package/runtime-dynamic/components/ErrorBoundary.js +59 -76
  482. package/runtime-dynamic/components/PageWrapper.js +23 -35
  483. package/runtime-dynamic/components/PrefabPreview.js +40 -69
  484. package/runtime-dynamic/components/partial-content.d.ts +2 -3
  485. package/runtime-dynamic/components/partial-content.js +66 -48
  486. package/runtime-dynamic/components/prefab-content.js +37 -30
  487. package/runtime-dynamic/components/use-dynamic-component.js +62 -150
  488. package/runtime-dynamic/factories/build-base-page-like-component.js +44 -58
  489. package/runtime-dynamic/factories/dynamic-component.d.ts +9 -0
  490. package/runtime-dynamic/factories/dynamic-component.js +83 -0
  491. package/runtime-dynamic/factories/prefab-factory.js +60 -81
  492. package/runtime-dynamic/factories/startup-info.js +12 -25
  493. package/runtime-dynamic/factories/utils.d.ts +1 -9
  494. package/runtime-dynamic/factories/utils.js +47 -130
  495. package/runtime-dynamic/index.js +56 -191
  496. package/runtime-dynamic/main.js +42 -70
  497. package/runtime-dynamic/preview-mode.js +14 -29
  498. package/runtime-dynamic/preview-navigation.js +21 -30
  499. package/runtime-dynamic/preview-path.d.ts +5 -0
  500. package/runtime-dynamic/preview-path.js +13 -0
  501. package/runtime-dynamic/preview-resource-base.js +15 -31
  502. package/runtime-dynamic/registry/component-registry.js +269 -334
  503. package/runtime-dynamic/registry/custom-widget-registry.js +11 -15
  504. package/runtime-dynamic/registry/index.js +24 -63
  505. package/runtime-dynamic/registry/store.d.ts +1 -0
  506. package/runtime-dynamic/registry/store.js +18 -23
  507. package/runtime-dynamic/routes.js +53 -81
  508. package/runtime-dynamic/services/app-extension-provider.js +17 -44
  509. package/runtime-dynamic/services/autolayout-inject.d.ts +4 -0
  510. package/runtime-dynamic/services/autolayout-inject.js +27 -0
  511. package/runtime-dynamic/services/cache.js +27 -33
  512. package/runtime-dynamic/services/compile-render.d.ts +9 -0
  513. package/runtime-dynamic/services/compile-render.js +142 -0
  514. package/runtime-dynamic/services/component-ref-provider.js +70 -124
  515. package/runtime-dynamic/services/css-scoping.js +27 -28
  516. package/runtime-dynamic/services/fragment-url.js +37 -50
  517. package/runtime-dynamic/services/index.js +48 -152
  518. package/runtime-dynamic/services/markup-transpiler.d.ts +2 -2
  519. package/runtime-dynamic/services/markup-transpiler.js +39 -231
  520. package/runtime-dynamic/services/prefab-resources.js +42 -130
  521. package/runtime-dynamic/services/resource-manager.d.ts +2 -1
  522. package/runtime-dynamic/services/resource-manager.js +32 -63
  523. package/runtime-dynamic/services/script-executor.js +50 -61
  524. package/runtime-dynamic/services/variable-factory.js +141 -184
  525. package/runtime-dynamic/services/variable-registry.js +69 -115
  526. package/runtime-dynamic/services/variable-transpiler.js +73 -103
  527. package/runtime-dynamic/shims/next-image.js +79 -50
  528. package/runtime-dynamic/shims/next-link.js +58 -32
  529. package/runtime-dynamic/shims/next-navigation.js +17 -34
  530. package/runtime-dynamic/utils/index.d.ts +2 -0
  531. package/runtime-dynamic/utils/index.js +22 -24
  532. package/store/bindActions/i18nActions.js +16 -18
  533. package/store/index.js +29 -35
  534. package/store/middleware/navigationMiddleware.js +25 -45
  535. package/store/middleware/pendingTabNavigationIntentMiddleware.js +20 -25
  536. package/store/slices/appConfigSlice.js +65 -94
  537. package/store/slices/authSlice.js +317 -471
  538. package/store/slices/i18nSlice.js +169 -168
  539. package/store/slices/navigationSlice.js +22 -20
  540. package/store/util/resolve-path.d.ts +1 -0
  541. package/store/util/resolve-path.js +7 -0
  542. package/store/viewport.service.js +150 -194
  543. package/types/index.js +10 -15
  544. package/utils/attr.js +198 -41
  545. package/utils/custom-expression/index.js +55 -151
  546. package/utils/custom-expression/parser.js +106 -182
  547. package/utils/dataset-util.js +113 -154
  548. package/utils/eval-expression.js +10 -19
  549. package/utils/form-state.util.js +60 -118
  550. package/utils/form-utils.js +49 -190
  551. package/utils/format-util.js +113 -184
  552. package/utils/layoutsize-util.js +11 -17
  553. package/utils/lib-error-skipper.js +54 -52
  554. package/utils/page-params-util.js +50 -40
  555. package/utils/pending-tab-navigation-intent.js +7 -17
  556. package/utils/resource-url.js +8 -19
  557. package/utils/state-persistance.js +136 -253
  558. package/utils/style-utils.d.ts +2 -0
  559. package/utils/style-utils.js +25 -74
  560. package/utils/transformedDataset-utils.js +353 -381
  561. package/utils/widget-cleanup-util.js +42 -74
  562. package/utils/widgets.js +19 -31
  563. package/variables/base-variable.js +117 -166
  564. package/variables/constants.js +5 -8
  565. package/variables/crud-variable.js +150 -181
  566. package/variables/live-variable.d.ts +1 -1
  567. package/variables/live-variable.js +140 -174
  568. package/variables/metadata.service.js +74 -116
  569. package/variables/model-variable.js +68 -78
  570. package/variables/service-variable.js +171 -285
  571. package/wm-namespace.js +11 -14
  572. package/components/chart/src/css.d.js +0 -1
  573. package/tsconfig.declaration.tsbuildinfo +0 -1
  574. package/types/global.d.js +0 -3
@@ -1,406 +1,447 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.WmNumber = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _clsx = _interopRequireDefault(require("clsx"));
13
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
14
- var lodash = _interopRequireWildcard(require("lodash-es"));
15
- var _withBaseWrapper = require("@wavemaker-ai/react-runtime/higherOrder/withBaseWrapper");
16
- var _withFormController = _interopRequireDefault(require("@wavemaker-ai/react-runtime/components/data/form/form-controller/withFormController"));
17
- var _formatUtil = require("@wavemaker-ai/react-runtime/utils/format-util");
18
- var _util = require("../util");
19
- var _withStandalone = _interopRequireDefault(require("@wavemaker-ai/react-runtime/higherOrder/withStandalone"));
20
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
21
- var __jsx = _react["default"].createElement;
22
- 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; }
23
- 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; }
24
- var DEFAULT_CLASS = "form-control app-textbox app-number-input";
25
- var WmNumber = /*#__PURE__*/(0, _react.memo)(function (props) {
26
- var _props$required = props.required,
27
- required = _props$required === void 0 ? false : _props$required,
28
- _props$regexp = props.regexp,
29
- regexp = _props$regexp === void 0 ? ".*" : _props$regexp,
30
- disabled = props.disabled,
31
- name = props.name,
32
- hint = props.hint,
33
- arialabel = props.arialabel,
34
- tabindex = props.tabindex,
35
- shortcutkey = props.shortcutkey,
36
- autofocus = props.autofocus,
37
- _props$datavalue = props.datavalue,
38
- initialDataValue = _props$datavalue === void 0 ? null : _props$datavalue,
39
- _props$maxDataValue = props.maxDataValue,
40
- initialMaxDataValue = _props$maxDataValue === void 0 ? null : _props$maxDataValue,
41
- _props$maxvalue = props.maxvalue,
42
- initialMaxValue = _props$maxvalue === void 0 ? null : _props$maxvalue,
43
- _props$maxdisplayValu = props.maxdisplayValue,
44
- initialMaxDisplayValue = _props$maxdisplayValu === void 0 ? null : _props$maxdisplayValu,
45
- _props$isMaxWidget = props.isMaxWidget,
46
- isMaxWidget = _props$isMaxWidget === void 0 ? false : _props$isMaxWidget,
47
- _props$styles = props.styles,
48
- styles = _props$styles === void 0 ? {} : _props$styles,
49
- className = props.className,
50
- placeholder = props.placeholder,
51
- _props$updatedelay = props.updatedelay,
52
- updatedelay = _props$updatedelay === void 0 ? "0" : _props$updatedelay,
53
- listener = props.listener,
54
- _props$updateon = props.updateon,
55
- updateon = _props$updateon === void 0 ? "blur" : _props$updateon,
56
- step = props.step,
57
- minvalue = props.minvalue,
58
- maxvalue = props.maxvalue,
59
- readonly = props.readonly,
60
- _props$inputmode = props.inputmode,
61
- inputmode = _props$inputmode === void 0 ? "natural" : _props$inputmode,
62
- _props$trailingzero = props.trailingzero,
63
- trailingzero = _props$trailingzero === void 0 ? false : _props$trailingzero,
64
- _props$decimalplaces = props.decimalplaces,
65
- decimalplaces = _props$decimalplaces === void 0 ? 0 : _props$decimalplaces,
66
- onChange = props.onChange,
67
- onClick = props.onClick,
68
- onKeydown = props.onKeydown,
69
- onKeyup = props.onKeyup,
70
- onKeypress = props.onKeypress,
71
- onBlur = props.onBlur,
72
- onFocus = props.onFocus,
73
- onMouseEnter = props.onMouseEnter,
74
- onMouseLeave = props.onMouseLeave,
75
- id = props.id,
76
- error = props.error;
77
- var _useState = (0, _react.useState)(false),
78
- showError = _useState[0],
79
- setShowError = _useState[1];
80
- // For max widgets: use max-prefixed properties (maxdatavalue, maxvalue)
81
- // For regular widgets: use regular properties (datavalue)
82
- var effectiveInitialValue = isMaxWidget ? initialMaxDataValue !== null && initialMaxDataValue !== undefined ? initialMaxDataValue : initialMaxValue !== null && initialMaxValue !== undefined ? initialMaxValue : null : initialDataValue !== null && initialDataValue !== undefined ? initialDataValue : null;
83
- var _useState2 = (0, _react.useState)(effectiveInitialValue),
84
- datavalue = _useState2[0],
85
- setDatavalue = _useState2[1];
86
- var _useState3 = (0, _react.useState)(effectiveInitialValue),
87
- prevDatavalue = _useState3[0],
88
- setPrevDatavalue = _useState3[1];
89
- var _useState4 = (0, _react.useState)(effectiveInitialValue !== null ? effectiveInitialValue.toString() : ""),
90
- internalValue = _useState4[0],
91
- setInternalValue = _useState4[1];
92
- // Add state to preserve the original string input when trailingzero is true
93
- var _useState5 = (0, _react.useState)(effectiveInitialValue !== null ? effectiveInitialValue.toString() : ""),
94
- rawInputValue = _useState5[0],
95
- setRawInputValue = _useState5[1];
96
- var _useState6 = (0, _react.useState)(false),
97
- isDirty = _useState6[0],
98
- setIsDirty = _useState6[1];
99
- var _useState7 = (0, _react.useState)(false),
100
- isTouched = _useState7[0],
101
- setIsTouched = _useState7[1];
102
- var inputEl = (0, _react.useRef)(null);
103
- var effectiveDecimalPlaces = (0, _react.useMemo)(function () {
104
- if (decimalplaces > 0) return decimalplaces;
105
- if (inputmode === "financial" && step && step < 1) {
106
- var stepStr = step.toString();
107
- if (stepStr.includes(".")) {
108
- return stepStr.split(".")[1].length;
109
- }
110
- }
111
- return decimalplaces;
112
- }, [decimalplaces, inputmode, step]);
113
- var displayError = error || isDirty && showError;
114
- var validateNumber = (0, _react.useCallback)(function (value) {
115
- return (0, _formatUtil.validateNumericValue)(value, required, minvalue, maxvalue, regexp);
116
- }, [required, regexp, minvalue, maxvalue]);
117
- var debouncedUpdateValue = (0, _react.useCallback)(lodash.debounce(function (value) {
118
- var validation = validateNumber(value);
119
- setShowError(!validation.isValid);
120
- if (prevDatavalue === value) {
121
- return;
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]);
122
16
  }
123
- if (onChange || listener !== null && listener !== void 0 && listener.onChange) {
124
- var _listener$onChange;
125
- var syntheticEvent = {
126
- target: {
127
- value: value === null ? "" : value.toString(),
128
- name: name
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { jsx } from "react/jsx-runtime";
21
+ import { memo, useState, useRef, useEffect, useCallback, useMemo } from "react";
22
+ import clsx from "clsx";
23
+ import TextField from "@mui/material/TextField";
24
+ import * as lodash from "lodash-es";
25
+ import { withBaseWrapper } from "../../../higherOrder/withBaseWrapper";
26
+ import withFormController from "../../data/form/form-controller/withFormController";
27
+ import {
28
+ validateNumericValue,
29
+ handleNumericInputChange,
30
+ formatOnBlur,
31
+ handleStepValue
32
+ } from "../../../utils/format-util";
33
+ import { sanitizeInputValue } from "../util";
34
+ import withStandalone from "../../../higherOrder/withStandalone";
35
+ const DEFAULT_CLASS = "form-control app-textbox app-number-input";
36
+ const WmNumber = memo(
37
+ (props) => {
38
+ const {
39
+ required = false,
40
+ regexp = ".*",
41
+ disabled,
42
+ name,
43
+ hint,
44
+ arialabel,
45
+ tabindex,
46
+ shortcutkey,
47
+ autofocus,
48
+ datavalue: initialDataValue = null,
49
+ maxDataValue: initialMaxDataValue = null,
50
+ maxvalue: initialMaxValue = null,
51
+ maxdisplayValue: initialMaxDisplayValue = null,
52
+ isMaxWidget = false,
53
+ styles = {},
54
+ className,
55
+ placeholder,
56
+ updatedelay = "0",
57
+ listener,
58
+ updateon = "blur",
59
+ step,
60
+ minvalue,
61
+ maxvalue,
62
+ readonly,
63
+ inputmode = "natural",
64
+ trailingzero = false,
65
+ decimalplaces = 0,
66
+ onChange,
67
+ onClick,
68
+ onKeydown,
69
+ onKeyup,
70
+ onKeypress,
71
+ onBlur,
72
+ onFocus,
73
+ onMouseEnter,
74
+ onMouseLeave,
75
+ id,
76
+ error
77
+ } = props;
78
+ const [showError, setShowError] = useState(false);
79
+ const effectiveInitialValue = isMaxWidget ? initialMaxDataValue !== null && initialMaxDataValue !== void 0 ? initialMaxDataValue : initialMaxValue !== null && initialMaxValue !== void 0 ? initialMaxValue : null : initialDataValue !== null && initialDataValue !== void 0 ? initialDataValue : null;
80
+ const [datavalue, setDatavalue] = useState(effectiveInitialValue);
81
+ const [prevDatavalue, setPrevDatavalue] = useState(effectiveInitialValue);
82
+ const [internalValue, setInternalValue] = useState(
83
+ effectiveInitialValue !== null ? effectiveInitialValue.toString() : ""
84
+ );
85
+ const [rawInputValue, setRawInputValue] = useState(
86
+ effectiveInitialValue !== null ? effectiveInitialValue.toString() : ""
87
+ );
88
+ const [isDirty, setIsDirty] = useState(false);
89
+ const [isTouched, setIsTouched] = useState(false);
90
+ const inputEl = useRef(null);
91
+ const effectiveDecimalPlaces = useMemo(() => {
92
+ if (decimalplaces > 0) return decimalplaces;
93
+ if (inputmode === "financial" && step && step < 1) {
94
+ const stepStr = step.toString();
95
+ if (stepStr.includes(".")) {
96
+ return stepStr.split(".")[1].length;
97
+ }
98
+ }
99
+ return decimalplaces;
100
+ }, [decimalplaces, inputmode, step]);
101
+ const displayError = error || isDirty && showError;
102
+ const validateNumber = useCallback(
103
+ (value2) => {
104
+ return validateNumericValue(value2, required, minvalue, maxvalue, regexp);
105
+ },
106
+ [required, regexp, minvalue, maxvalue]
107
+ );
108
+ const debouncedUpdateValue = useCallback(
109
+ lodash.debounce(
110
+ (value2) => {
111
+ var _a;
112
+ const validation = validateNumber(value2);
113
+ setShowError(!validation.isValid);
114
+ if (prevDatavalue === value2) {
115
+ return;
116
+ }
117
+ if (onChange || (listener == null ? void 0 : listener.onChange)) {
118
+ const syntheticEvent = {
119
+ target: {
120
+ value: value2 === null ? "" : value2.toString(),
121
+ name
122
+ },
123
+ currentTarget: inputEl.current
124
+ };
125
+ const updatedWidgetData = isMaxWidget ? {
126
+ maxDataValue: value2 == null ? "" : value2,
127
+ maxvalue: value2 == null ? "" : value2,
128
+ maxdisplayValue: value2 == null ? "" : value2.toString()
129
+ } : {
130
+ datavalue: value2 == null ? "" : value2,
131
+ value: value2 == null ? "" : value2,
132
+ displayValue: value2 == null ? "" : value2.toString()
133
+ };
134
+ (_a = listener == null ? void 0 : listener.onChange) == null ? void 0 : _a.call(listener, props.fieldName || name, updatedWidgetData, value2, prevDatavalue);
135
+ if (onChange) {
136
+ const updatedProps = isMaxWidget ? __spreadProps(__spreadValues({}, props), {
137
+ maxDataValue: value2,
138
+ maxvalue: value2,
139
+ maxdisplayValue: value2 == null ? "" : value2.toString()
140
+ }) : __spreadProps(__spreadValues({}, props), {
141
+ datavalue: value2,
142
+ value: value2,
143
+ displayValue: value2 == null ? "" : value2.toString()
144
+ });
145
+ onChange(syntheticEvent, updatedProps, value2, prevDatavalue);
146
+ }
147
+ }
148
+ setPrevDatavalue(value2);
129
149
  },
130
- currentTarget: inputEl.current
131
- };
132
- // For max widgets, use max-prefixed properties to avoid conflicts with regular widgets
133
- var updatedWidgetData = isMaxWidget ? {
134
- maxDataValue: value == null ? "" : value,
135
- maxvalue: value == null ? "" : value,
136
- maxdisplayValue: value == null ? "" : value.toString()
137
- } : {
138
- datavalue: value == null ? "" : value,
139
- value: value == null ? "" : value,
140
- displayValue: value == null ? "" : value.toString()
150
+ parseInt(updatedelay || "10"),
151
+ { leading: parseInt(updatedelay) === 0 }
152
+ ),
153
+ [onChange, name, prevDatavalue, updatedelay, validateNumber]
154
+ );
155
+ useEffect(() => {
156
+ if (!shortcutkey) return;
157
+ const handleGlobalKeyDown = (e) => {
158
+ var _a;
159
+ if (e.altKey && e.key.toLowerCase() === shortcutkey.toLowerCase()) {
160
+ e.preventDefault();
161
+ (_a = inputEl.current) == null ? void 0 : _a.focus();
162
+ }
141
163
  };
142
- listener === null || listener === void 0 || (_listener$onChange = listener.onChange) === null || _listener$onChange === void 0 || _listener$onChange.call(listener, props.fieldName || name, updatedWidgetData, value, prevDatavalue);
143
- if (onChange) {
144
- // Create updated props object with new value
145
- // For max widgets, use max-prefixed properties
146
- var updatedProps = isMaxWidget ? _objectSpread(_objectSpread({}, props), {}, {
147
- maxDataValue: value,
148
- maxvalue: value,
149
- maxdisplayValue: value == null ? "" : value.toString()
150
- }) : _objectSpread(_objectSpread({}, props), {}, {
151
- datavalue: value,
152
- value: value,
153
- displayValue: value == null ? "" : value.toString()
154
- });
155
- onChange(syntheticEvent, updatedProps, value, prevDatavalue);
164
+ window.addEventListener("keydown", handleGlobalKeyDown);
165
+ return () => window.removeEventListener("keydown", handleGlobalKeyDown);
166
+ }, [shortcutkey]);
167
+ const handleInputChange = (event) => {
168
+ var _a;
169
+ const result = handleNumericInputChange(
170
+ event.target.value,
171
+ inputmode,
172
+ effectiveDecimalPlaces,
173
+ setRawInputValue
174
+ );
175
+ if (result.newVal === null && event.target.value !== "") {
176
+ return;
156
177
  }
157
- }
158
- setPrevDatavalue(value);
159
- }, parseInt(updatedelay || "10"), {
160
- leading: parseInt(updatedelay) === 0
161
- }), [onChange, name, prevDatavalue, updatedelay, validateNumber]);
162
- (0, _react.useEffect)(function () {
163
- if (!shortcutkey) return;
164
- var handleGlobalKeyDown = function handleGlobalKeyDown(e) {
165
- if (e.altKey && e.key.toLowerCase() === shortcutkey.toLowerCase()) {
166
- var _inputEl$current;
167
- e.preventDefault();
168
- (_inputEl$current = inputEl.current) === null || _inputEl$current === void 0 || _inputEl$current.focus();
178
+ setInternalValue(result.inputValue);
179
+ setDatavalue(result.newVal);
180
+ const validation = validateNumber(result.newVal);
181
+ setShowError(!validation.isValid);
182
+ if (updateon === "keypress") {
183
+ debouncedUpdateValue(result.newVal);
184
+ onChange == null ? void 0 : onChange(event, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name], result.newVal, prevDatavalue);
169
185
  }
170
186
  };
171
- window.addEventListener("keydown", handleGlobalKeyDown);
172
- return function () {
173
- return window.removeEventListener("keydown", handleGlobalKeyDown);
174
- };
175
- }, [shortcutkey]);
176
- var handleInputChange = function handleInputChange(event) {
177
- var result = (0, _formatUtil.handleNumericInputChange)(event.target.value, inputmode, effectiveDecimalPlaces, setRawInputValue);
178
- if (result.newVal === null && event.target.value !== "") {
179
- return; // Invalid input, don't update
180
- }
181
- setInternalValue(result.inputValue);
182
- setDatavalue(result.newVal);
183
- var validation = validateNumber(result.newVal);
184
- setShowError(!validation.isValid);
185
- if (updateon === "keypress") {
186
- var _listener$Widgets;
187
- debouncedUpdateValue(result.newVal);
188
- onChange === null || onChange === void 0 || onChange(event, listener === null || listener === void 0 || (_listener$Widgets = listener.Widgets) === null || _listener$Widgets === void 0 ? void 0 : _listener$Widgets[name], result.newVal, prevDatavalue);
189
- }
190
- };
191
- var handleBlur = function handleBlur(e) {
192
- var _listener$Widgets2;
193
- var formattedValue = (0, _formatUtil.formatOnBlur)(datavalue, rawInputValue, trailingzero, effectiveDecimalPlaces);
194
- if (formattedValue) {
195
- setInternalValue(formattedValue);
196
- }
197
- if (updateon === "blur") {
198
- debouncedUpdateValue(datavalue);
199
- }
200
- onBlur === null || onBlur === void 0 || onBlur(e, listener === null || listener === void 0 || (_listener$Widgets2 = listener.Widgets) === null || _listener$Widgets2 === void 0 ? void 0 : _listener$Widgets2[name]);
201
- var validation = validateNumber(datavalue);
202
- if (!validation.isValid && (required || maxvalue || minvalue)) {
203
- setIsDirty(true);
204
- } else {
205
- setIsDirty(false);
206
- }
207
- if (!validation.isValid && regexp != ".*") {
208
- setIsTouched(true);
209
- setIsDirty(true);
210
- setShowError(true);
211
- }
212
- };
213
- var handleArrowPress = (0, _react.useCallback)(function (event, direction) {
214
- event.preventDefault();
215
- if (readonly || disabled || !step || step === 0) {
216
- return;
217
- }
218
- var targetVal = event.target.value;
219
- var currentValue = targetVal && !isNaN(Number.parseFloat(targetVal)) ? Number.parseFloat(targetVal) : datavalue;
220
- var newValue = (0, _formatUtil.handleStepValue)(currentValue, direction, step, effectiveDecimalPlaces, minvalue, maxvalue);
221
- var currentPrevValue = datavalue;
222
- var cleanValue = newValue.toString();
223
- setInternalValue(cleanValue);
224
- setDatavalue(newValue);
225
- setPrevDatavalue(currentPrevValue);
226
- setRawInputValue(cleanValue);
227
- var validation = validateNumber(newValue);
228
- setShowError(!validation.isValid);
229
- if (onChange || listener !== null && listener !== void 0 && listener.onChange) {
230
- var _listener$onChange2;
231
- var syntheticEvent = {
232
- target: {
233
- value: newValue.toString(),
234
- name: name
235
- },
236
- currentTarget: inputEl.current
237
- };
238
- // For max widgets, use max-prefixed properties to avoid conflicts with regular widgets
239
- var updatedWidgetData = isMaxWidget ? {
240
- maxDataValue: newValue == null ? "" : newValue,
241
- maxvalue: newValue == null ? "" : newValue,
242
- maxdisplayValue: newValue == null ? "" : newValue.toString()
243
- } : {
244
- datavalue: newValue == null ? "" : newValue,
245
- value: newValue == null ? "" : newValue,
246
- displayValue: newValue == null ? "" : newValue.toString()
247
- };
248
- listener === null || listener === void 0 || (_listener$onChange2 = listener.onChange) === null || _listener$onChange2 === void 0 || _listener$onChange2.call(listener, props.fieldName || name, updatedWidgetData, newValue, currentPrevValue);
249
- if (onChange) {
250
- // Create updated props object with new datavalue and displayValue
251
- var updatedProps = _objectSpread(_objectSpread({}, props), {}, {
252
- datavalue: newValue,
253
- displayValue: newValue == null ? "" : newValue.toString()
254
- });
255
- onChange(syntheticEvent, updatedProps, newValue, currentPrevValue);
187
+ const handleBlur = (e) => {
188
+ var _a;
189
+ const formattedValue = formatOnBlur(
190
+ datavalue,
191
+ rawInputValue,
192
+ trailingzero,
193
+ effectiveDecimalPlaces
194
+ );
195
+ if (formattedValue) {
196
+ setInternalValue(formattedValue);
256
197
  }
257
- }
258
- if (updateon === "keypress") {
259
- debouncedUpdateValue(newValue);
260
- }
261
- setPrevDatavalue(newValue);
262
- }, [readonly, disabled, step, datavalue, minvalue, maxvalue, effectiveDecimalPlaces, validateNumber, onChange, name, props, listener, updateon, debouncedUpdateValue]);
263
- var handleKeyDown = function handleKeyDown(e) {
264
- var _listener$Widgets4;
265
- if (step && step !== 0) {
266
- if (e.key === "ArrowUp") {
267
- handleArrowPress(e, "UP");
268
- return;
269
- } else if (e.key === "ArrowDown") {
270
- handleArrowPress(e, "DOWN");
271
- return;
198
+ if (updateon === "blur") {
199
+ debouncedUpdateValue(datavalue);
200
+ }
201
+ onBlur == null ? void 0 : onBlur(e, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name]);
202
+ const validation = validateNumber(datavalue);
203
+ if (!validation.isValid && (required || maxvalue || minvalue)) {
204
+ setIsDirty(true);
272
205
  } else {
273
- var _listener$Widgets3;
274
- onKeydown === null || onKeydown === void 0 || onKeydown(e, listener === null || listener === void 0 || (_listener$Widgets3 = listener.Widgets) === null || _listener$Widgets3 === void 0 ? void 0 : _listener$Widgets3[name]);
206
+ setIsDirty(false);
275
207
  }
276
- }
277
- if (e.key === "Enter") {
278
- debouncedUpdateValue(datavalue);
279
- }
280
- onKeydown === null || onKeydown === void 0 || onKeydown(e, listener === null || listener === void 0 || (_listener$Widgets4 = listener.Widgets) === null || _listener$Widgets4 === void 0 ? void 0 : _listener$Widgets4[name]);
281
- };
282
- var handleKeyUp = function handleKeyUp(e) {
283
- var _listener$Widgets5;
284
- onKeyup === null || onKeyup === void 0 || onKeyup(e, listener === null || listener === void 0 || (_listener$Widgets5 = listener.Widgets) === null || _listener$Widgets5 === void 0 ? void 0 : _listener$Widgets5[name]);
285
- };
286
- var handleFocus = function handleFocus(e) {
287
- var _listener$Widgets6;
288
- onFocus === null || onFocus === void 0 || onFocus(e, listener === null || listener === void 0 || (_listener$Widgets6 = listener.Widgets) === null || _listener$Widgets6 === void 0 ? void 0 : _listener$Widgets6[name]);
289
- };
290
- var handleClick = function handleClick(e) {
291
- var _listener$Widgets7;
292
- onClick === null || onClick === void 0 || onClick(e, listener === null || listener === void 0 || (_listener$Widgets7 = listener.Widgets) === null || _listener$Widgets7 === void 0 ? void 0 : _listener$Widgets7[name]);
293
- };
294
- var handleMouseEnter = function handleMouseEnter(e) {
295
- var _listener$Widgets8;
296
- setIsTouched(true);
297
- onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter(e, listener === null || listener === void 0 || (_listener$Widgets8 = listener.Widgets) === null || _listener$Widgets8 === void 0 ? void 0 : _listener$Widgets8[name]);
298
- };
299
- var handleMouseLeave = function handleMouseLeave(e) {
300
- var _listener$Widgets9;
301
- setIsTouched(false);
302
- onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave(e, listener === null || listener === void 0 || (_listener$Widgets9 = listener.Widgets) === null || _listener$Widgets9 === void 0 ? void 0 : _listener$Widgets9[name]);
303
- };
304
- var handleKeyPress = function handleKeyPress(e) {
305
- var _listener$Widgets0;
306
- onKeypress === null || onKeypress === void 0 || onKeypress(e, listener === null || listener === void 0 || (_listener$Widgets0 = listener.Widgets) === null || _listener$Widgets0 === void 0 ? void 0 : _listener$Widgets0[name]);
307
- };
308
- (0, _react.useEffect)(function () {
309
- // For max widgets: use max-prefixed properties (maxdatavalue, maxvalue)
310
- // For regular widgets: use regular properties (datavalue)
311
- var currentInitialValue = isMaxWidget ? initialMaxDataValue !== null && initialMaxDataValue !== undefined ? initialMaxDataValue : initialMaxValue !== null && initialMaxValue !== undefined ? initialMaxValue : null : initialDataValue !== null && initialDataValue !== undefined ? initialDataValue : null;
312
-
313
- // Only update if the incoming value is different from current state
314
- // Use a more robust comparison that handles null/undefined/empty string cases
315
- var currentValue = datavalue !== null && datavalue !== undefined ? datavalue : null;
316
- var newValue = currentInitialValue;
317
- if (currentValue !== newValue) {
318
- setDatavalue(newValue);
319
- var cleanValue = newValue !== null ? newValue.toString() : "";
320
- setInternalValue(cleanValue);
321
- setRawInputValue(cleanValue);
322
- setPrevDatavalue(currentValue);
323
- }
324
- }, [initialDataValue, initialMaxDataValue, initialMaxValue, isMaxWidget]);
325
- (0, _react.useEffect)(function () {
326
- if (inputEl.current) {
327
- var focus = function focus() {
328
- var _inputEl$current2;
329
- (_inputEl$current2 = inputEl.current) === null || _inputEl$current2 === void 0 || _inputEl$current2.focus();
330
- };
331
- if (listener !== null && listener !== void 0 && listener.Widgets[name]) {
332
- listener.Widgets[name].focus = focus;
208
+ if (!validation.isValid && regexp != ".*") {
209
+ setIsTouched(true);
210
+ setIsDirty(true);
211
+ setShowError(true);
333
212
  }
334
- }
335
- }, []);
336
- var events = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
337
- onChange: handleInputChange,
338
- onKeyDown: handleKeyDown
339
- }, onMouseEnter ? {
340
- onMouseEnter: handleMouseEnter
341
- } : {}), onMouseLeave ? {
342
- onMouseLeave: handleMouseLeave
343
- } : {}), onClick ? {
344
- onClick: handleClick
345
- } : {}), onFocus ? {
346
- onFocus: handleFocus
347
- } : {}), onKeyup ? {
348
- onKeyUp: handleKeyUp
349
- } : {}), onKeypress ? {
350
- onKeyPress: handleKeyPress
351
- } : {}), updateon === "blur" || onBlur ? {
352
- onBlur: handleBlur
353
- } : {});
354
- var value = (0, _util.sanitizeInputValue)(internalValue);
355
- return __jsx(_TextField["default"], (0, _extends2["default"])({}, events, {
356
- hidden: props.hidden,
357
- title: hint || "Number Input",
358
- name: name,
359
- inputRef: inputEl,
360
- variant: "standard",
361
- autoFocus: autofocus,
362
- disabled: disabled,
363
- placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : "Enter number",
364
- type: "text",
365
- id: id || name,
366
- value: value,
367
- error: displayError,
368
- className: (0, _clsx["default"])("app-input-wrapper", "wm-number-textfield", disabled && "wm-number-textfield-disabled", isTouched ? "ng-touched" : "ng-untouched", displayError ? "ng-invalid" : "ng-valid"),
369
- slotProps: {
370
- htmlInput: {
371
- step: step,
372
- min: minvalue,
373
- max: maxvalue,
374
- readOnly: readonly,
375
- required: required,
376
- className: (0, _clsx["default"])(DEFAULT_CLASS, className, "wm-number-slot-input", isTouched ? "ng-touched" : "ng-untouched", displayError ? "ng-invalid" : "ng-valid"),
377
- style: styles,
378
- "aria-label": arialabel,
379
- pattern: regexp,
380
- tabIndex: tabindex
213
+ };
214
+ const handleArrowPress = useCallback(
215
+ (event, direction) => {
216
+ var _a;
217
+ event.preventDefault();
218
+ if (readonly || disabled || !step || step === 0) {
219
+ return;
220
+ }
221
+ const targetVal = event.target.value;
222
+ let currentValue = targetVal && !isNaN(Number.parseFloat(targetVal)) ? Number.parseFloat(targetVal) : datavalue;
223
+ const newValue = handleStepValue(
224
+ currentValue,
225
+ direction,
226
+ step,
227
+ effectiveDecimalPlaces,
228
+ minvalue,
229
+ maxvalue
230
+ );
231
+ const currentPrevValue = datavalue;
232
+ const cleanValue = newValue.toString();
233
+ setInternalValue(cleanValue);
234
+ setDatavalue(newValue);
235
+ setPrevDatavalue(currentPrevValue);
236
+ setRawInputValue(cleanValue);
237
+ const validation = validateNumber(newValue);
238
+ setShowError(!validation.isValid);
239
+ if (onChange || (listener == null ? void 0 : listener.onChange)) {
240
+ const syntheticEvent = {
241
+ target: {
242
+ value: newValue.toString(),
243
+ name
244
+ },
245
+ currentTarget: inputEl.current
246
+ };
247
+ const updatedWidgetData = isMaxWidget ? {
248
+ maxDataValue: newValue == null ? "" : newValue,
249
+ maxvalue: newValue == null ? "" : newValue,
250
+ maxdisplayValue: newValue == null ? "" : newValue.toString()
251
+ } : {
252
+ datavalue: newValue == null ? "" : newValue,
253
+ value: newValue == null ? "" : newValue,
254
+ displayValue: newValue == null ? "" : newValue.toString()
255
+ };
256
+ (_a = listener == null ? void 0 : listener.onChange) == null ? void 0 : _a.call(
257
+ listener,
258
+ props.fieldName || name,
259
+ updatedWidgetData,
260
+ newValue,
261
+ currentPrevValue
262
+ );
263
+ if (onChange) {
264
+ const updatedProps = __spreadProps(__spreadValues({}, props), {
265
+ datavalue: newValue,
266
+ displayValue: newValue == null ? "" : newValue.toString()
267
+ });
268
+ onChange(syntheticEvent, updatedProps, newValue, currentPrevValue);
269
+ }
270
+ }
271
+ if (updateon === "keypress") {
272
+ debouncedUpdateValue(newValue);
273
+ }
274
+ setPrevDatavalue(newValue);
381
275
  },
382
- formHelperText: {
383
- className: (0, _clsx["default"])("wm-number-helper-text", displayError && "wm-number-helper-text-error")
276
+ [
277
+ readonly,
278
+ disabled,
279
+ step,
280
+ datavalue,
281
+ minvalue,
282
+ maxvalue,
283
+ effectiveDecimalPlaces,
284
+ validateNumber,
285
+ onChange,
286
+ name,
287
+ props,
288
+ listener,
289
+ updateon,
290
+ debouncedUpdateValue
291
+ ]
292
+ );
293
+ const handleKeyDown = (e) => {
294
+ var _a, _b;
295
+ if (step && step !== 0) {
296
+ if (e.key === "ArrowUp") {
297
+ handleArrowPress(e, "UP");
298
+ return;
299
+ } else if (e.key === "ArrowDown") {
300
+ handleArrowPress(e, "DOWN");
301
+ return;
302
+ } else {
303
+ onKeydown == null ? void 0 : onKeydown(e, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name]);
304
+ }
384
305
  }
385
- },
386
- sx: styles
387
- }));
388
- }, function (prev, current) {
389
- var keys = ["datavalue", "maxDataValue", "isMaxWidget", "disabled", "required", "readonly", "placeholder", "tabindex", "shortcutkey", "autofocus", "arialabel", "inputmode", "trailingzero", "decimalplaces", "minvalue", "maxvalue", "className", "hidden", "show", "error"];
390
- return keys.every(function (key) {
391
- return prev[key] === current[key];
392
- });
393
- });
306
+ if (e.key === "Enter") {
307
+ debouncedUpdateValue(datavalue);
308
+ }
309
+ onKeydown == null ? void 0 : onKeydown(e, (_b = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _b[name]);
310
+ };
311
+ const handleKeyUp = (e) => {
312
+ var _a;
313
+ onKeyup == null ? void 0 : onKeyup(e, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name]);
314
+ };
315
+ const handleFocus = (e) => {
316
+ var _a;
317
+ onFocus == null ? void 0 : onFocus(e, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name]);
318
+ };
319
+ const handleClick = (e) => {
320
+ var _a;
321
+ onClick == null ? void 0 : onClick(e, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name]);
322
+ };
323
+ const handleMouseEnter = (e) => {
324
+ var _a;
325
+ setIsTouched(true);
326
+ onMouseEnter == null ? void 0 : onMouseEnter(e, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name]);
327
+ };
328
+ const handleMouseLeave = (e) => {
329
+ var _a;
330
+ setIsTouched(false);
331
+ onMouseLeave == null ? void 0 : onMouseLeave(e, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name]);
332
+ };
333
+ const handleKeyPress = (e) => {
334
+ var _a;
335
+ onKeypress == null ? void 0 : onKeypress(e, (_a = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a[name]);
336
+ };
337
+ useEffect(() => {
338
+ const currentInitialValue = isMaxWidget ? initialMaxDataValue !== null && initialMaxDataValue !== void 0 ? initialMaxDataValue : initialMaxValue !== null && initialMaxValue !== void 0 ? initialMaxValue : null : initialDataValue !== null && initialDataValue !== void 0 ? initialDataValue : null;
339
+ const currentValue = datavalue !== null && datavalue !== void 0 ? datavalue : null;
340
+ const newValue = currentInitialValue;
341
+ if (currentValue !== newValue) {
342
+ setDatavalue(newValue);
343
+ const cleanValue = newValue !== null ? newValue.toString() : "";
344
+ setInternalValue(cleanValue);
345
+ setRawInputValue(cleanValue);
346
+ setPrevDatavalue(currentValue);
347
+ }
348
+ }, [initialDataValue, initialMaxDataValue, initialMaxValue, isMaxWidget]);
349
+ useEffect(() => {
350
+ if (inputEl.current) {
351
+ const focus = () => {
352
+ var _a;
353
+ (_a = inputEl.current) == null ? void 0 : _a.focus();
354
+ };
355
+ if (listener == null ? void 0 : listener.Widgets[name]) {
356
+ listener.Widgets[name].focus = focus;
357
+ }
358
+ }
359
+ }, []);
360
+ const events = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
361
+ onChange: handleInputChange,
362
+ onKeyDown: handleKeyDown
363
+ }, onMouseEnter ? { onMouseEnter: handleMouseEnter } : {}), onMouseLeave ? { onMouseLeave: handleMouseLeave } : {}), onClick ? { onClick: handleClick } : {}), onFocus ? { onFocus: handleFocus } : {}), onKeyup ? { onKeyUp: handleKeyUp } : {}), onKeypress ? { onKeyPress: handleKeyPress } : {}), updateon === "blur" || onBlur ? { onBlur: handleBlur } : {});
364
+ const value = sanitizeInputValue(internalValue);
365
+ return /* @__PURE__ */ jsx(
366
+ TextField,
367
+ __spreadProps(__spreadValues({}, events), {
368
+ hidden: props.hidden,
369
+ title: hint || "Number Input",
370
+ name,
371
+ inputRef: inputEl,
372
+ variant: "standard",
373
+ autoFocus: autofocus,
374
+ disabled,
375
+ placeholder: placeholder != null ? placeholder : "Enter number",
376
+ type: "text",
377
+ id: id || name,
378
+ value,
379
+ error: displayError,
380
+ className: clsx(
381
+ "app-input-wrapper",
382
+ "wm-number-textfield",
383
+ disabled && "wm-number-textfield-disabled",
384
+ isTouched ? "ng-touched" : "ng-untouched",
385
+ displayError ? "ng-invalid" : "ng-valid"
386
+ ),
387
+ slotProps: {
388
+ htmlInput: {
389
+ step,
390
+ min: minvalue,
391
+ max: maxvalue,
392
+ readOnly: readonly,
393
+ required,
394
+ className: clsx(
395
+ DEFAULT_CLASS,
396
+ className,
397
+ "wm-number-slot-input",
398
+ isTouched ? "ng-touched" : "ng-untouched",
399
+ displayError ? "ng-invalid" : "ng-valid"
400
+ ),
401
+ style: styles,
402
+ "aria-label": arialabel,
403
+ pattern: regexp,
404
+ tabIndex: tabindex
405
+ },
406
+ formHelperText: {
407
+ className: clsx("wm-number-helper-text", displayError && "wm-number-helper-text-error")
408
+ }
409
+ },
410
+ sx: styles
411
+ })
412
+ );
413
+ },
414
+ (prev, current) => {
415
+ const keys = [
416
+ "datavalue",
417
+ "maxDataValue",
418
+ "isMaxWidget",
419
+ "disabled",
420
+ "required",
421
+ "readonly",
422
+ "placeholder",
423
+ "tabindex",
424
+ "shortcutkey",
425
+ "autofocus",
426
+ "arialabel",
427
+ "inputmode",
428
+ "trailingzero",
429
+ "decimalplaces",
430
+ "minvalue",
431
+ "maxvalue",
432
+ "className",
433
+ "hidden",
434
+ "show",
435
+ "error"
436
+ ];
437
+ return keys.every((key) => prev[key] === current[key]);
438
+ }
439
+ );
394
440
  WmNumber.displayName = "WmNumber";
395
- var WithForm = (0, _withFormController["default"])(WmNumber);
396
- var WmNumberStandalone = exports.WmNumber = (0, _withStandalone["default"])(WithForm);
397
- /**
398
- * The WmNumber component provides a numeric input with step controls, formatting, and validation.
399
- *
400
- * - [Playground](https://react-components.wavemaker.ai/?path=/story/input-number--showcase)
401
- *
402
- * - [Docs](https://react-components.wavemaker.ai/?path=/story/input-number--docs)
403
- *
404
- * @param props - {@link WmNumberProps}
405
- */
406
- var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)(WithForm);
441
+ const WithForm = withFormController(WmNumber);
442
+ const WmNumberStandalone = withStandalone(WithForm);
443
+ var number_default = withBaseWrapper(WithForm);
444
+ export {
445
+ WmNumberStandalone as WmNumber,
446
+ number_default as default
447
+ };