@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,208 +1,207 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof3 = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.WmRating = void 0;
9
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _clsx = _interopRequireDefault(require("clsx"));
13
- var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
14
- var _lodashEs = require("lodash-es");
15
- var _withBaseWrapper = require("@wavemaker-ai/react-runtime/higherOrder/withBaseWrapper");
16
- var _material = require("@mui/material");
17
- var _transformedDatasetUtils = require("@wavemaker-ai/react-runtime/utils/transformedDataset-utils");
18
- var _withFormController = _interopRequireDefault(require("@wavemaker-ai/react-runtime/components/data/form/form-controller/withFormController"));
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" != _typeof3(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_MAX_VALUE = 5;
25
- var DEFAULT_ICON_CLASS = {
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { jsx, jsxs } from "react/jsx-runtime";
21
+ import { memo, useState, useEffect, useRef, useCallback } from "react";
22
+ import clsx from "clsx";
23
+ import Tooltip from "@mui/material/Tooltip";
24
+ import { isEmpty, isEqual } from "lodash-es";
25
+ import { withBaseWrapper } from "../../../higherOrder/withBaseWrapper";
26
+ import { Box } from "@mui/material";
27
+ import { transformDataset } from "../../../utils/transformedDataset-utils";
28
+ import withFormController from "../../data/form/form-controller/withFormController";
29
+ import withStandalone from "../../../higherOrder/withStandalone";
30
+ const DEFAULT_MAX_VALUE = 5;
31
+ const DEFAULT_ICON_CLASS = {
26
32
  active: "wi wi-star",
27
33
  inactive: "wi wi-star-border"
28
34
  };
29
- var DEFAULT_COLORS = {
35
+ const DEFAULT_COLORS = {
30
36
  inactive: "#ccc"
31
37
  };
32
- var WmRating = /*#__PURE__*/(0, _react.memo)(function (props) {
33
- var _props$tabindex;
34
- var _props$maxvalue = props.maxvalue,
35
- maxvalue = _props$maxvalue === void 0 ? DEFAULT_MAX_VALUE : _props$maxvalue,
36
- name = props.name,
37
- caption = props.caption,
38
- readonly = props.readonly,
39
- _props$showcaptions = props.showcaptions,
40
- showcaptions = _props$showcaptions === void 0 ? true : _props$showcaptions,
41
- _props$show = props.show,
42
- show = _props$show === void 0 ? true : _props$show,
43
- iconcolor = props.iconcolor,
44
- iconsize = props.iconsize,
45
- _props$activeiconclas = props.activeiconclass,
46
- activeiconclass = _props$activeiconclas === void 0 ? DEFAULT_ICON_CLASS.active : _props$activeiconclas,
47
- _props$inactiveiconcl = props.inactiveiconclass,
48
- inactiveiconclass = _props$inactiveiconcl === void 0 ? DEFAULT_ICON_CLASS.inactive : _props$inactiveiconcl,
49
- _props$datasetItems = props.datasetItems,
50
- datasetItems = _props$datasetItems === void 0 ? [] : _props$datasetItems,
51
- value = props.value,
52
- _props$datafield = props.datafield,
53
- datafield = _props$datafield === void 0 ? "index" : _props$datafield,
54
- displayfield = props.displayfield,
55
- displaylabel = props.displaylabel,
56
- onChange = props.onChange,
57
- displayexpression = props.displayexpression,
58
- _props$invokeEventCal = props.invokeEventCallback,
59
- invokeEventCallback = _props$invokeEventCal === void 0 ? function () {} : _props$invokeEventCal,
60
- propsSetDatasetItems = props.setDatasetItems,
61
- width = props.width,
62
- datavalue = props.datavalue,
63
- height = props.height,
64
- dataset = props.dataset,
65
- styles = props.styles,
66
- listener = props.listener;
67
-
68
- // State management
69
- var _useState = (0, _react.useState)(0),
70
- selectedRatingValue = _useState[0],
71
- setSelectedRatingValue = _useState[1];
72
- var _useState2 = (0, _react.useState)(null),
73
- hoveredRatingValue = _useState2[0],
74
- setHoveredRatingValue = _useState2[1];
75
- var _useState3 = (0, _react.useState)([]),
76
- ratingItems = _useState3[0],
77
- setRatingItems = _useState3[1];
78
- var _useState4 = (0, _react.useState)(caption || ""),
79
- currentCaption = _useState4[0],
80
- setCurrentCaption = _useState4[1];
81
- var _useState5 = (0, _react.useState)([]),
82
- processedDataset = _useState5[0],
83
- setProcessedDataset = _useState5[1];
84
- var _useState6 = (0, _react.useState)(false),
85
- hover = _useState6[0],
86
- setHover = _useState6[1];
87
- var ratingsRef = (0, _react.useRef)(null);
88
- var previousValue = (0, _react.useRef)(value);
89
- var isInternalChange = (0, _react.useRef)(false); // Track internal changes to prevent double listener.onChange calls
90
-
91
- // Helper functions
92
- var setDatasetItems = (0, _react.useCallback)(function (items) {
93
- if (propsSetDatasetItems) {
94
- propsSetDatasetItems(items);
95
- }
96
- }, [propsSetDatasetItems]);
97
- var updateCaptionElement = (0, _react.useCallback)(function (text) {
38
+ const WmRating = memo((props) => {
39
+ var _a;
40
+ const {
41
+ maxvalue = DEFAULT_MAX_VALUE,
42
+ name,
43
+ caption,
44
+ readonly,
45
+ showcaptions = true,
46
+ show = true,
47
+ iconcolor,
48
+ iconsize,
49
+ activeiconclass = DEFAULT_ICON_CLASS.active,
50
+ inactiveiconclass = DEFAULT_ICON_CLASS.inactive,
51
+ datasetItems = [],
52
+ value,
53
+ datafield = "index",
54
+ displayfield,
55
+ displaylabel,
56
+ onChange,
57
+ displayexpression,
58
+ invokeEventCallback = () => {
59
+ },
60
+ setDatasetItems: propsSetDatasetItems,
61
+ width,
62
+ datavalue,
63
+ height,
64
+ dataset,
65
+ styles,
66
+ listener
67
+ } = props;
68
+ const [selectedRatingValue, setSelectedRatingValue] = useState(0);
69
+ const [hoveredRatingValue, setHoveredRatingValue] = useState(null);
70
+ const [ratingItems, setRatingItems] = useState([]);
71
+ const [currentCaption, setCurrentCaption] = useState(caption || "");
72
+ const [processedDataset, setProcessedDataset] = useState([]);
73
+ const [hover, setHover] = useState(false);
74
+ const ratingsRef = useRef(null);
75
+ const previousValue = useRef(value);
76
+ const isInternalChange = useRef(false);
77
+ const setDatasetItems = useCallback(
78
+ (items) => {
79
+ if (propsSetDatasetItems) {
80
+ propsSetDatasetItems(items);
81
+ }
82
+ },
83
+ [propsSetDatasetItems]
84
+ );
85
+ const updateCaptionElement = useCallback((text) => {
98
86
  setCurrentCaption(text);
99
87
  }, []);
100
- var isStarActive = (0, _react.useCallback)(function (index) {
101
- return index <= datavalue;
102
- }, [datavalue]);
103
- var isStarHovered = (0, _react.useCallback)(function (index) {
104
- return hoveredRatingValue !== null && index <= hoveredRatingValue;
105
- }, [hoveredRatingValue]);
106
- var getStarState = (0, _react.useCallback)(function (index) {
107
- var isActive = isStarActive(index);
108
- var isHovered = isStarHovered(index);
109
- var labelColor = isActive ? iconcolor !== null && iconcolor !== void 0 ? iconcolor : DEFAULT_COLORS.inactive : DEFAULT_COLORS.inactive;
110
- var borderColorVar = isHovered ? iconcolor !== null && iconcolor !== void 0 ? iconcolor : "transparent" : "transparent";
111
- var starStyle = _objectSpread({
112
- "--wm-rating-star-color": labelColor,
113
- "--wm-rating-star-border-color": borderColorVar
114
- }, iconsize ? {
115
- "--wm-rating-star-font-size": iconsize
116
- } : {});
117
- return {
118
- isActive: isActive,
119
- isHovered: isHovered,
120
- iconClass: isActive ? activeiconclass : inactiveiconclass,
121
- starStyle: starStyle
122
- };
123
- }, [isStarActive, isStarHovered, iconcolor, activeiconclass, inactiveiconclass, iconsize]);
124
-
125
- // Event handlers
126
- var invokeOnChange = (0, _react.useCallback)(function (newValue) {
127
- var _listener$Widgets;
128
- var oldValue = previousValue.current;
129
- if (invokeEventCallback) {
130
- invokeEventCallback("change", {
131
- value: newValue,
132
- oldValue: oldValue
133
- });
134
- }
135
- onChange === null || onChange === void 0 || onChange(undefined, listener === null || listener === void 0 || (_listener$Widgets = listener.Widgets) === null || _listener$Widgets === void 0 ? void 0 : _listener$Widgets[name], newValue, oldValue);
136
- }, [onChange, invokeEventCallback]);
137
- var handleMouseLeave = (0, _react.useCallback)(function () {
88
+ const isStarActive = useCallback(
89
+ (index) => {
90
+ return index <= datavalue;
91
+ },
92
+ [datavalue]
93
+ );
94
+ const isStarHovered = useCallback(
95
+ (index) => {
96
+ return hoveredRatingValue !== null && index <= hoveredRatingValue;
97
+ },
98
+ [hoveredRatingValue]
99
+ );
100
+ const getStarState = useCallback(
101
+ (index) => {
102
+ const isActive = isStarActive(index);
103
+ const isHovered = isStarHovered(index);
104
+ const labelColor = isActive ? iconcolor != null ? iconcolor : DEFAULT_COLORS.inactive : DEFAULT_COLORS.inactive;
105
+ const borderColorVar = isHovered ? iconcolor != null ? iconcolor : "transparent" : "transparent";
106
+ const starStyle = __spreadValues({
107
+ "--wm-rating-star-color": labelColor,
108
+ "--wm-rating-star-border-color": borderColorVar
109
+ }, iconsize ? { "--wm-rating-star-font-size": iconsize } : {});
110
+ return {
111
+ isActive,
112
+ isHovered,
113
+ iconClass: isActive ? activeiconclass : inactiveiconclass,
114
+ starStyle
115
+ };
116
+ },
117
+ [isStarActive, isStarHovered, iconcolor, activeiconclass, inactiveiconclass, iconsize]
118
+ );
119
+ const invokeOnChange = useCallback(
120
+ (newValue) => {
121
+ var _a2;
122
+ const oldValue = previousValue.current;
123
+ if (invokeEventCallback) {
124
+ invokeEventCallback("change", { value: newValue, oldValue });
125
+ }
126
+ onChange == null ? void 0 : onChange(
127
+ void 0,
128
+ (_a2 = listener == null ? void 0 : listener.Widgets) == null ? void 0 : _a2[name],
129
+ newValue,
130
+ oldValue
131
+ );
132
+ },
133
+ [onChange, invokeEventCallback]
134
+ );
135
+ const handleMouseLeave = useCallback(() => {
138
136
  setHoveredRatingValue(null);
139
- var selectedItem = ratingItems.find(function (item) {
140
- return item.index === selectedRatingValue;
141
- });
137
+ const selectedItem = ratingItems.find((item) => item.index === selectedRatingValue);
142
138
  updateCaptionElement(selectedItem ? selectedItem.label : currentCaption || caption || "");
143
139
  }, [ratingItems, selectedRatingValue, currentCaption, updateCaptionElement, caption]);
144
- var handleMouseOver = (0, _react.useCallback)(function (rate) {
145
- if (readonly) return;
146
- setHoveredRatingValue(rate.index);
147
- updateCaptionElement(rate.label);
148
- }, [readonly, updateCaptionElement]);
149
- var handleRatingClick = (0, _react.useCallback)(function (rate) {
150
- var _listener$onChange;
151
- if (readonly) return;
152
- var newRating = rate.index === selectedRatingValue ? 0 : rate.index;
153
-
154
- // Mark this as an internal change to prevent duplicate listener.onChange from onDatavalueChange
155
- isInternalChange.current = true;
156
- setSelectedRatingValue(newRating);
157
- listener === null || listener === void 0 || (_listener$onChange = listener.onChange) === null || _listener$onChange === void 0 || _listener$onChange.call(listener, name, {
158
- prevDatavalue: previousValue.current,
159
- _selectedRatingValue: newRating,
160
- ratingsWidth: calculateRatingsWidth()
161
- });
162
- if (showcaptions) {
163
- var selectedItem = newRating > 0 ? ratingItems.find(function (item) {
164
- return item.index === newRating;
165
- }) : null;
166
- var newCaption = selectedItem ? selectedItem.label : caption || "";
167
- setCurrentCaption(newCaption);
168
- updateCaptionElement(newCaption);
169
- }
170
- var effectiveDataset = processedDataset.length > 0 ? processedDataset : datasetItems;
171
- var selectedDatasetItem = newRating > 0 ? effectiveDataset.find(function (item) {
172
- return item.index === newRating;
173
- }) : null;
174
- if (effectiveDataset.length) {
175
- var updatedDatasetItems = effectiveDataset.map(function (item) {
176
- return _objectSpread(_objectSpread({}, item), {}, {
177
- selected: item.index === newRating
178
- });
140
+ const handleMouseOver = useCallback(
141
+ (rate) => {
142
+ if (readonly) return;
143
+ setHoveredRatingValue(rate.index);
144
+ updateCaptionElement(rate.label);
145
+ },
146
+ [readonly, updateCaptionElement]
147
+ );
148
+ const handleRatingClick = useCallback(
149
+ (rate) => {
150
+ var _a2;
151
+ if (readonly) return;
152
+ const newRating = rate.index === selectedRatingValue ? 0 : rate.index;
153
+ isInternalChange.current = true;
154
+ setSelectedRatingValue(newRating);
155
+ (_a2 = listener == null ? void 0 : listener.onChange) == null ? void 0 : _a2.call(listener, name, {
156
+ prevDatavalue: previousValue.current,
157
+ _selectedRatingValue: newRating,
158
+ ratingsWidth: calculateRatingsWidth()
179
159
  });
180
- setDatasetItems(updatedDatasetItems);
181
- }
182
- var newValue = newRating > 0 ? (selectedDatasetItem === null || selectedDatasetItem === void 0 ? void 0 : selectedDatasetItem.value) || rate.value : 0;
183
- invokeOnChange(newValue);
184
- previousValue.current = newValue;
185
- }, [readonly, selectedRatingValue, showcaptions, ratingItems, datasetItems, processedDataset, setDatasetItems, updateCaptionElement, invokeOnChange, caption]);
186
-
187
- // Data processing
188
- var processDataset = (0, _react.useCallback)(function () {
160
+ if (showcaptions) {
161
+ const selectedItem = newRating > 0 ? ratingItems.find((item) => item.index === newRating) : null;
162
+ const newCaption = selectedItem ? selectedItem.label : caption || "";
163
+ setCurrentCaption(newCaption);
164
+ updateCaptionElement(newCaption);
165
+ }
166
+ const effectiveDataset = processedDataset.length > 0 ? processedDataset : datasetItems;
167
+ const selectedDatasetItem = newRating > 0 ? effectiveDataset.find((item) => item.index === newRating) : null;
168
+ if (effectiveDataset.length) {
169
+ const updatedDatasetItems = effectiveDataset.map((item) => __spreadProps(__spreadValues({}, item), {
170
+ selected: item.index === newRating
171
+ }));
172
+ setDatasetItems(updatedDatasetItems);
173
+ }
174
+ const newValue = newRating > 0 ? (selectedDatasetItem == null ? void 0 : selectedDatasetItem.value) || rate.value : 0;
175
+ invokeOnChange(newValue);
176
+ previousValue.current = newValue;
177
+ },
178
+ [
179
+ readonly,
180
+ selectedRatingValue,
181
+ showcaptions,
182
+ ratingItems,
183
+ datasetItems,
184
+ processedDataset,
185
+ setDatasetItems,
186
+ updateCaptionElement,
187
+ invokeOnChange,
188
+ caption
189
+ ]
190
+ );
191
+ const processDataset = useCallback(() => {
189
192
  if (!dataset) return;
190
- var processedData = [];
193
+ let processedData = [];
191
194
  if (Array.isArray(dataset)) {
192
- dataset.forEach(function (item, idx) {
195
+ dataset.forEach((item, idx) => {
193
196
  if (typeof item === "string") {
194
197
  if (item.includes(",")) {
195
- var parts = item.split(",").map(function (part) {
196
- return part.trim();
197
- });
198
- processedData = parts.map(function (part, index) {
199
- return {
200
- index: index + 1,
201
- value: index + 1,
202
- label: part,
203
- key: index + 1
204
- };
205
- });
198
+ const parts = item.split(",").map((part) => part.trim());
199
+ processedData = parts.map((part, index) => ({
200
+ index: index + 1,
201
+ value: index + 1,
202
+ label: part,
203
+ key: index + 1
204
+ }));
206
205
  } else {
207
206
  processedData.push({
208
207
  index: idx + 1,
@@ -211,251 +210,259 @@ var WmRating = /*#__PURE__*/(0, _react.memo)(function (props) {
211
210
  key: idx + 1
212
211
  });
213
212
  }
214
- } else if ((0, _typeof2["default"])(item) === "object" && item !== null) {
213
+ } else if (typeof item === "object" && item !== null) {
215
214
  processedData.push(item);
216
215
  }
217
216
  });
218
217
  }
219
218
  setProcessedDataset(processedData);
220
219
  }, [dataset]);
221
- var prepareRatingDataset = (0, _react.useCallback)(function () {
222
- var data = processedDataset.length > 0 ? processedDataset : datasetItems || [];
223
- var maxVal = Math.min(maxvalue || data.length, 10) || DEFAULT_MAX_VALUE;
224
-
225
- // Use transformDataset utility to create the dataset
226
- var transformedItems = (0, _transformedDatasetUtils.transformDataset)(data, datafield, displayfield, displaylabel, displayexpression, undefined, undefined, undefined);
227
-
228
- // If no data provided, create default numeric rating items
220
+ const prepareRatingDataset = useCallback(() => {
221
+ var _a2, _b;
222
+ const data = processedDataset.length > 0 ? processedDataset : datasetItems || [];
223
+ const maxVal = Math.min(maxvalue || data.length, 10) || DEFAULT_MAX_VALUE;
224
+ let transformedItems = transformDataset(
225
+ data,
226
+ datafield,
227
+ displayfield,
228
+ displaylabel,
229
+ displayexpression,
230
+ void 0,
231
+ void 0,
232
+ void 0
233
+ );
229
234
  if (!data.length) {
230
- transformedItems = Array.from({
231
- length: maxVal
232
- }, function (_, i) {
233
- return {
234
- key: maxVal - i,
235
- value: maxVal - i,
236
- index: maxVal - i,
237
- label: "".concat(maxVal - i)
238
- };
239
- });
235
+ transformedItems = Array.from({ length: maxVal }, (_, i) => ({
236
+ key: maxVal - i,
237
+ value: maxVal - i,
238
+ index: maxVal - i,
239
+ label: `${maxVal - i}`
240
+ }));
240
241
  } else {
241
- // Limit transformed items to maxVal when dataset exists
242
- // Sort first to ensure we keep items with lowest indices
243
- transformedItems.sort(function (a, b) {
244
- return a.index - b.index;
245
- });
242
+ transformedItems.sort((a, b) => a.index - b.index);
246
243
  transformedItems = transformedItems.slice(0, maxVal);
247
-
248
- // Convert 0-based indices to 1-based to match the isStarActive logic
249
- // The isStarActive function expects 1-based indices where index <= selectedRatingValue
250
- transformedItems = transformedItems.map(function (item, idx) {
251
- return _objectSpread(_objectSpread({}, item), {}, {
252
- index: idx + 1,
253
- // Convert to 1-based index
254
- key: idx + 1
255
- });
256
- });
244
+ transformedItems = transformedItems.map((item, idx) => __spreadProps(__spreadValues({}, item), {
245
+ index: idx + 1,
246
+ // Convert to 1-based index
247
+ key: idx + 1
248
+ }));
257
249
  }
258
-
259
- // Sort items by index in descending order to maintain left-to-right star activation
260
- transformedItems.sort(function (a, b) {
261
- return b.index - a.index;
262
- });
263
- if (!(0, _lodashEs.isEqual)(transformedItems, ratingItems)) {
264
- var _listener$onChange2, _listener$onChange3;
265
- listener === null || listener === void 0 || (_listener$onChange2 = listener.onChange) === null || _listener$onChange2 === void 0 || _listener$onChange2.call(listener, props.fieldName || name, {
250
+ transformedItems.sort((a, b) => b.index - a.index);
251
+ if (!isEqual(transformedItems, ratingItems)) {
252
+ (_a2 = listener == null ? void 0 : listener.onChange) == null ? void 0 : _a2.call(listener, props.fieldName || name, {
266
253
  ratingItems: transformedItems
267
254
  });
268
255
  setRatingItems(transformedItems);
269
- listener === null || listener === void 0 || (_listener$onChange3 = listener.onChange) === null || _listener$onChange3 === void 0 || _listener$onChange3.call(listener, name, {
256
+ (_b = listener == null ? void 0 : listener.onChange) == null ? void 0 : _b.call(listener, name, {
270
257
  ratingItems: transformedItems
271
258
  });
272
259
  if (!data.length || processedDataset.length > 0 && data === processedDataset) {
273
- var currentDatasetItems = processedDataset.length > 0 ? processedDataset : datasetItems;
274
- if (!(0, _lodashEs.isEqual)(transformedItems, currentDatasetItems)) {
260
+ const currentDatasetItems = processedDataset.length > 0 ? processedDataset : datasetItems;
261
+ if (!isEqual(transformedItems, currentDatasetItems)) {
275
262
  setDatasetItems(transformedItems);
276
263
  }
277
264
  }
278
265
  }
279
- }, [datasetItems, processedDataset, maxvalue, datafield, displayexpression, setDatasetItems, ratingItems, displaylabel, displayfield]);
280
- var calculateRatingsWidth = (0, _react.useCallback)(function (selectedDefaultRating) {
281
- var selectedRating = selectedDefaultRating || selectedRatingValue;
282
- var starWidth = 0.925;
283
- var maxValue = maxvalue || datasetItems.length || DEFAULT_MAX_VALUE;
284
- if (selectedRating <= maxValue && selectedRating >= 0) {
285
- return selectedRating * starWidth + "em";
286
- }
287
- if (selectedRating > maxValue) {
288
- return maxValue * starWidth + "em";
289
- }
290
- }, [selectedRatingValue, maxvalue, datasetItems]);
291
- var onDatavalueChange = (0, _react.useCallback)(function (dataVal) {
292
- // Skip ALL updates if this was triggered by an internal click (we already set state in handleRatingClick)
293
- if (isInternalChange.current) {
294
- isInternalChange.current = false; // Reset the flag
295
- return; // Early return - skip all processing for internal changes
296
- }
297
- var effectiveDataset = processedDataset.length > 0 ? processedDataset : datasetItems;
298
- if (!(0, _lodashEs.isEmpty)(effectiveDataset)) {
299
- var selectedItem = effectiveDataset.find(function (item) {
300
- return item.selected;
301
- });
302
- if (!selectedItem && dataVal !== undefined) {
303
- selectedItem = effectiveDataset.find(function (item) {
304
- var _item$index, _item$value;
305
- return ((_item$index = item.index) === null || _item$index === void 0 ? void 0 : _item$index.toString()) === (dataVal === null || dataVal === void 0 ? void 0 : dataVal.toString()) || ((_item$value = item.value) === null || _item$value === void 0 ? void 0 : _item$value.toString()) === (dataVal === null || dataVal === void 0 ? void 0 : dataVal.toString());
306
- });
307
- if (selectedItem) {
308
- var updatedDatasetItems = effectiveDataset.map(function (item) {
309
- return _objectSpread(_objectSpread({}, item), {}, {
266
+ }, [
267
+ datasetItems,
268
+ processedDataset,
269
+ maxvalue,
270
+ datafield,
271
+ displayexpression,
272
+ setDatasetItems,
273
+ ratingItems,
274
+ displaylabel,
275
+ displayfield
276
+ ]);
277
+ const calculateRatingsWidth = useCallback(
278
+ (selectedDefaultRating) => {
279
+ const selectedRating = selectedDefaultRating || selectedRatingValue;
280
+ const starWidth = 0.925;
281
+ const maxValue = maxvalue || datasetItems.length || DEFAULT_MAX_VALUE;
282
+ if (selectedRating <= maxValue && selectedRating >= 0) {
283
+ return selectedRating * starWidth + "em";
284
+ }
285
+ if (selectedRating > maxValue) {
286
+ return maxValue * starWidth + "em";
287
+ }
288
+ },
289
+ [selectedRatingValue, maxvalue, datasetItems]
290
+ );
291
+ const onDatavalueChange = useCallback(
292
+ (dataVal) => {
293
+ var _a2, _b, _c, _d;
294
+ if (isInternalChange.current) {
295
+ isInternalChange.current = false;
296
+ return;
297
+ }
298
+ const effectiveDataset = processedDataset.length > 0 ? processedDataset : datasetItems;
299
+ if (!isEmpty(effectiveDataset)) {
300
+ let selectedItem = effectiveDataset.find((item) => item.selected);
301
+ if (!selectedItem && dataVal !== void 0) {
302
+ selectedItem = effectiveDataset.find(
303
+ (item) => {
304
+ var _a3, _b2;
305
+ return ((_a3 = item.index) == null ? void 0 : _a3.toString()) === (dataVal == null ? void 0 : dataVal.toString()) || ((_b2 = item.value) == null ? void 0 : _b2.toString()) === (dataVal == null ? void 0 : dataVal.toString());
306
+ }
307
+ );
308
+ if (selectedItem) {
309
+ const updatedDatasetItems = effectiveDataset.map((item) => __spreadProps(__spreadValues({}, item), {
310
310
  selected: item === selectedItem
311
- });
311
+ }));
312
+ setDatasetItems(updatedDatasetItems);
313
+ }
314
+ }
315
+ if (!selectedItem) {
316
+ setSelectedRatingValue(0);
317
+ (_a2 = listener == null ? void 0 : listener.onChange) == null ? void 0 : _a2.call(listener, props.fieldName || name, {
318
+ _selectedRatingValue: 0,
319
+ datavalue: 0
320
+ });
321
+ setCurrentCaption(caption || "");
322
+ updateCaptionElement(caption || "");
323
+ } else {
324
+ setSelectedRatingValue(selectedItem.index);
325
+ (_b = listener == null ? void 0 : listener.onChange) == null ? void 0 : _b.call(listener, props.fieldName || name, {
326
+ selectedRatingValue: selectedItem.index,
327
+ _selectedRatingValue: selectedItem.index,
328
+ ratingsWidth: calculateRatingsWidth(selectedItem.index),
329
+ datavalue: selectedItem.index
312
330
  });
313
- setDatasetItems(updatedDatasetItems);
331
+ setCurrentCaption(selectedItem.label);
332
+ updateCaptionElement(selectedItem.label);
314
333
  }
315
- }
316
- if (!selectedItem) {
317
- var _listener$onChange4;
318
- setSelectedRatingValue(0);
319
- listener === null || listener === void 0 || (_listener$onChange4 = listener.onChange) === null || _listener$onChange4 === void 0 || _listener$onChange4.call(listener, props.fieldName || name, {
320
- _selectedRatingValue: 0,
321
- datavalue: 0
322
- });
323
- setCurrentCaption(caption || "");
324
- updateCaptionElement(caption || "");
325
334
  } else {
326
- var _listener$onChange5;
327
- setSelectedRatingValue(selectedItem.index);
328
- listener === null || listener === void 0 || (_listener$onChange5 = listener.onChange) === null || _listener$onChange5 === void 0 || _listener$onChange5.call(listener, props.fieldName || name, {
329
- selectedRatingValue: selectedItem.index,
330
- _selectedRatingValue: selectedItem.index,
331
- ratingsWidth: calculateRatingsWidth(selectedItem.index),
332
- datavalue: selectedItem.index
333
- });
334
- setCurrentCaption(selectedItem.label);
335
- updateCaptionElement(selectedItem.label);
336
- }
337
- } else {
338
- if (!isNaN(Number(dataVal))) {
339
- var _listener$onChange6;
340
- var rating = Math.min(Math.max(parseFloat(dataVal), 0), maxvalue || DEFAULT_MAX_VALUE);
341
- setSelectedRatingValue(rating);
342
- listener === null || listener === void 0 || (_listener$onChange6 = listener.onChange) === null || _listener$onChange6 === void 0 || _listener$onChange6.call(listener, props.fieldName || name, {
343
- _selectedRatingValue: rating,
344
- ratingsWidth: calculateRatingsWidth(rating),
345
- datavalue: rating
346
- });
347
- var _selectedItem = ratingItems.find(function (item) {
348
- return item.index === rating;
349
- });
350
- if (_selectedItem) {
351
- setCurrentCaption(_selectedItem.label);
352
- updateCaptionElement(_selectedItem.label);
335
+ if (!isNaN(Number(dataVal))) {
336
+ const rating = Math.min(
337
+ Math.max(parseFloat(dataVal), 0),
338
+ maxvalue || DEFAULT_MAX_VALUE
339
+ );
340
+ setSelectedRatingValue(rating);
341
+ (_c = listener == null ? void 0 : listener.onChange) == null ? void 0 : _c.call(listener, props.fieldName || name, {
342
+ _selectedRatingValue: rating,
343
+ ratingsWidth: calculateRatingsWidth(rating),
344
+ datavalue: rating
345
+ });
346
+ const selectedItem = ratingItems.find((item) => item.index === rating);
347
+ if (selectedItem) {
348
+ setCurrentCaption(selectedItem.label);
349
+ updateCaptionElement(selectedItem.label);
350
+ } else {
351
+ setCurrentCaption(caption || "");
352
+ updateCaptionElement(caption || "");
353
+ }
353
354
  } else {
355
+ setSelectedRatingValue(0);
356
+ (_d = listener == null ? void 0 : listener.onChange) == null ? void 0 : _d.call(listener, props.fieldName || name, {
357
+ _selectedRatingValue: 0,
358
+ ratingsWidth: calculateRatingsWidth(),
359
+ datavalue: 0
360
+ });
354
361
  setCurrentCaption(caption || "");
355
362
  updateCaptionElement(caption || "");
356
363
  }
357
- } else {
358
- var _listener$onChange7;
359
- setSelectedRatingValue(0);
360
- listener === null || listener === void 0 || (_listener$onChange7 = listener.onChange) === null || _listener$onChange7 === void 0 || _listener$onChange7.call(listener, props.fieldName || name, {
361
- _selectedRatingValue: 0,
362
- ratingsWidth: calculateRatingsWidth(),
363
- datavalue: 0
364
- });
365
- setCurrentCaption(caption || "");
366
- updateCaptionElement(caption || "");
367
364
  }
368
- }
369
- }, [datasetItems, processedDataset, maxvalue, ratingItems, setDatasetItems, updateCaptionElement, caption]);
370
-
371
- // Effects
372
- (0, _react.useEffect)(function () {
365
+ },
366
+ [
367
+ datasetItems,
368
+ processedDataset,
369
+ maxvalue,
370
+ ratingItems,
371
+ setDatasetItems,
372
+ updateCaptionElement,
373
+ caption
374
+ ]
375
+ );
376
+ useEffect(() => {
373
377
  processDataset();
374
378
  }, [processDataset]);
375
- (0, _react.useEffect)(function () {
379
+ useEffect(() => {
376
380
  prepareRatingDataset();
377
381
  }, [prepareRatingDataset]);
378
- (0, _react.useEffect)(function () {
379
- var _listener$onChange8;
380
- if (datavalue !== undefined) {
382
+ useEffect(() => {
383
+ var _a2;
384
+ if (datavalue !== void 0) {
381
385
  onDatavalueChange(datavalue);
382
386
  }
383
- listener === null || listener === void 0 || (_listener$onChange8 = listener.onChange) === null || _listener$onChange8 === void 0 || _listener$onChange8.call(listener, props.fieldName || name, {
387
+ (_a2 = listener == null ? void 0 : listener.onChange) == null ? void 0 : _a2.call(listener, props.fieldName || name, {
384
388
  ratingEl: ratingsRef.current,
385
- datavalue: datavalue
389
+ datavalue
386
390
  });
387
391
  }, [datavalue]);
388
-
389
- // Render methods
390
- var renderStar = function renderStar(rate) {
391
- var _getStarState = getStarState(rate.index),
392
- isActive = _getStarState.isActive,
393
- iconClass = _getStarState.iconClass,
394
- starStyle = _getStarState.starStyle;
395
- return __jsx(_Tooltip["default"], {
396
- key: rate.key,
397
- title: rate.label,
398
- enterDelay: 500,
399
- enterNextDelay: 500
400
- }, __jsx(_material.Box, {
401
- component: "label",
402
- onClick: function onClick(e) {
403
- e.preventDefault();
404
- e.stopPropagation();
405
- handleRatingClick(rate);
406
- },
407
- onMouseOver: function onMouseOver() {
408
- return handleMouseOver(rate);
409
- },
410
- onMouseLeave: handleMouseLeave,
411
- style: starStyle,
412
- className: (0, _clsx["default"])("app-icon-container", "wm-rating-star", readonly && "wm-rating-star-readonly", isActive && "active")
413
- }, __jsx(_material.Box, {
414
- component: "i",
415
- className: (0, _clsx["default"])("app-icon", "wm-rating-star-icon", iconClass),
416
- "aria-hidden": "true"
417
- }), __jsx("input", {
418
- type: "radio",
419
- role: "radio",
420
- name: name,
421
- "aria-label": (rate.label || rate.index) + " out of " + ratingItems.length + " ratings",
422
- "aria-checked": isStarActive(rate.index) ? "true" : "false"
423
- })));
392
+ const renderStar = (rate) => {
393
+ const { isActive, iconClass, starStyle } = getStarState(rate.index);
394
+ return /* @__PURE__ */ jsx(Tooltip, { title: rate.label, enterDelay: 500, enterNextDelay: 500, children: /* @__PURE__ */ jsxs(
395
+ Box,
396
+ {
397
+ component: "label",
398
+ onClick: (e) => {
399
+ e.preventDefault();
400
+ e.stopPropagation();
401
+ handleRatingClick(rate);
402
+ },
403
+ onMouseOver: () => handleMouseOver(rate),
404
+ onMouseLeave: handleMouseLeave,
405
+ style: starStyle,
406
+ className: clsx(
407
+ "app-icon-container",
408
+ "wm-rating-star",
409
+ readonly && "wm-rating-star-readonly",
410
+ isActive && "active"
411
+ ),
412
+ children: [
413
+ /* @__PURE__ */ jsx(
414
+ Box,
415
+ {
416
+ component: "i",
417
+ className: clsx("app-icon", "wm-rating-star-icon", iconClass),
418
+ "aria-hidden": "true"
419
+ }
420
+ ),
421
+ /* @__PURE__ */ jsx(
422
+ "input",
423
+ {
424
+ type: "radio",
425
+ role: "radio",
426
+ name,
427
+ "aria-label": (rate.label || rate.index) + " out of " + ratingItems.length + " ratings",
428
+ "aria-checked": isStarActive(rate.index) ? "true" : "false"
429
+ }
430
+ )
431
+ ]
432
+ }
433
+ ) }, rate.key);
424
434
  };
425
435
  function showHideOnHover() {
426
436
  setHover(!hover);
427
437
  }
428
- return __jsx(_material.Box, {
429
- hidden: props.hidden,
430
- sx: _objectSpread(_objectSpread({}, styles), {}, {
431
- height: height,
432
- width: width
433
- }),
434
- className: (0, _clsx["default"])("app-ratings", {
435
- disabled: readonly
436
- }),
437
- ref: ratingsRef,
438
- tabIndex: (_props$tabindex = props.tabindex) !== null && _props$tabindex !== void 0 ? _props$tabindex : 0
439
- }, __jsx(_material.Box, {
440
- className: "ratings-wrapper",
441
- onMouseEnter: showHideOnHover,
442
- onMouseLeave: showHideOnHover
443
- }, __jsx(_material.Box, {
444
- className: "rating-style"
445
- }, ratingItems.map(renderStar)), showcaptions && (selectedRatingValue !== 0 || hover) && __jsx("label", {
446
- className: "caption"
447
- }, currentCaption || caption || (showcaptions ? datavalue : ""))));
438
+ return /* @__PURE__ */ jsx(
439
+ Box,
440
+ {
441
+ hidden: props.hidden,
442
+ sx: __spreadProps(__spreadValues({}, styles), { height, width }),
443
+ className: clsx("app-ratings", { disabled: readonly }),
444
+ ref: ratingsRef,
445
+ tabIndex: (_a = props.tabindex) != null ? _a : 0,
446
+ children: /* @__PURE__ */ jsxs(
447
+ Box,
448
+ {
449
+ className: "ratings-wrapper",
450
+ onMouseEnter: showHideOnHover,
451
+ onMouseLeave: showHideOnHover,
452
+ children: [
453
+ /* @__PURE__ */ jsx(Box, { className: "rating-style", children: ratingItems.map(renderStar) }),
454
+ showcaptions && (selectedRatingValue !== 0 || hover) && /* @__PURE__ */ jsx("label", { className: "caption", children: currentCaption || caption || (showcaptions ? datavalue : "") })
455
+ ]
456
+ }
457
+ )
458
+ }
459
+ );
448
460
  });
449
461
  WmRating.displayName = "WmRating";
450
- var WithForm = (0, _withFormController["default"])(WmRating);
451
- var WmRatingStandalone = exports.WmRating = (0, _withStandalone["default"])(WithForm);
452
- /**
453
- * The WmRating component provides a star-based rating input with captions and customizable icons.
454
- *
455
- * - [Playground](https://react-components.wavemaker.ai/?path=/story/input-rating--showcase)
456
- *
457
- * - [Docs](https://react-components.wavemaker.ai/?path=/story/input-rating--docs)
458
- *
459
- * @param props - {@link WmRatingProps}
460
- */
461
- var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)(WithForm);
462
+ const WithForm = withFormController(WmRating);
463
+ const WmRatingStandalone = withStandalone(WithForm);
464
+ var rating_default = withBaseWrapper(WithForm);
465
+ export {
466
+ WmRatingStandalone as WmRating,
467
+ rating_default as default
468
+ };