@wavemaker-ai/react-runtime 1.0.0-rc.322 → 1.0.0-rc.326

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 (258) hide show
  1. package/actions/login-action.js +1 -1
  2. package/components/advanced/carousel/index.d.ts +1 -0
  3. package/components/advanced/carousel/template.d.ts +1 -0
  4. package/components/advanced/login/index.d.ts +1 -0
  5. package/components/advanced/marquee/index.d.ts +1 -0
  6. package/components/basic/anchor/index.d.ts +1 -0
  7. package/components/basic/anchor/index.js +19 -14
  8. package/components/basic/audio/index.d.ts +1 -0
  9. package/components/basic/html/index.d.ts +1 -0
  10. package/components/basic/icon/index.d.ts +1 -0
  11. package/components/basic/icon/index.js +13 -16
  12. package/components/basic/iframe/index.d.ts +1 -0
  13. package/components/basic/label/index.d.ts +1 -0
  14. package/components/basic/label/index.js +5 -3
  15. package/components/basic/label/props.d.ts +1 -1
  16. package/components/basic/picture/index.d.ts +1 -0
  17. package/components/basic/picture/index.js +3 -2
  18. package/components/basic/progress-bar/index.d.ts +1 -0
  19. package/components/basic/progress-circle/index.d.ts +1 -0
  20. package/components/basic/richtexteditor/index.d.ts +2 -0
  21. package/components/basic/search/index.d.ts +6 -0
  22. package/components/basic/search/index.js +69 -9
  23. package/components/basic/search/props.d.ts +4 -0
  24. package/components/basic/spinner/index.d.ts +2 -0
  25. package/components/basic/spinner/index.js +11 -9
  26. package/components/basic/spinner/props.d.ts +5 -0
  27. package/components/basic/tile/index.d.ts +1 -0
  28. package/components/basic/tree/index.d.ts +1 -0
  29. package/components/basic/video/index.d.ts +1 -0
  30. package/components/chart/index.d.ts +2 -0
  31. package/components/chart/props.d.ts +1 -0
  32. package/components/chart/src/chart.js +12 -1
  33. package/components/chart/src/types.d.ts +2 -0
  34. package/components/common/WmAppIcon/index.d.ts +15 -0
  35. package/components/common/WmAppIcon/index.js +130 -0
  36. package/components/common/WmAppIcon/props.d.ts +17 -0
  37. package/components/common/WmAppIcon/props.js +0 -0
  38. package/components/common/index.d.ts +3 -1
  39. package/components/common/index.js +10 -2
  40. package/components/common/wm-skeleton.d.ts +7 -0
  41. package/components/common/wm-skeleton.js +11 -1
  42. package/components/container/accordion/accordion-pane/index.d.ts +2 -0
  43. package/components/container/accordion/accordion-pane/index.js +10 -1
  44. package/components/container/accordion/accordion-pane/props.d.ts +1 -0
  45. package/components/container/accordion/index.d.ts +1 -0
  46. package/components/container/accordion/index.js +2 -2
  47. package/components/container/index.d.ts +1 -0
  48. package/components/container/index.js +6 -1
  49. package/components/container/layout-grid/grid-column/index.d.ts +1 -0
  50. package/components/container/layout-grid/grid-row/index.d.ts +1 -0
  51. package/components/container/layout-grid/grid-row/index.js +1 -1
  52. package/components/container/layout-grid/index.d.ts +1 -0
  53. package/components/container/linear-layout/index.d.ts +1 -0
  54. package/components/container/linear-layout/linear-layout-item/index.d.ts +1 -0
  55. package/components/container/panel/components/panel-header/index.js +16 -16
  56. package/components/container/panel/index.d.ts +1 -0
  57. package/components/container/repeat-template/index.d.ts +1 -0
  58. package/components/container/tabs/index.d.ts +1 -0
  59. package/components/container/tabs/index.js +18 -18
  60. package/components/container/tabs/props.d.ts +1 -0
  61. package/components/container/tabs/tab-pane/index.d.ts +2 -0
  62. package/components/container/tabs/tab-pane/index.js +2 -0
  63. package/components/container/tabs/tab-pane/props.d.ts +1 -0
  64. package/components/container/wizard/components/StepComponents.js +14 -6
  65. package/components/container/wizard/index.d.ts +2 -0
  66. package/components/container/wizard/index.js +2 -2
  67. package/components/container/wizard/props.d.ts +4 -0
  68. package/components/container/wizard/wizard-step/index.d.ts +1 -0
  69. package/components/container/wizard/wizard-step/index.js +6 -0
  70. package/components/data/card/card-actions/index.d.ts +1 -0
  71. package/components/data/card/card-content/index.d.ts +1 -0
  72. package/components/data/card/card-footer/index.d.ts +1 -0
  73. package/components/data/card/index.d.ts +1 -0
  74. package/components/data/card/index.js +13 -6
  75. package/components/data/form/base-form/hooks/useFormSubmission.d.ts +1 -1
  76. package/components/data/form/base-form/hooks/useFormSubmission.js +3 -1
  77. package/components/data/form/base-form/index.js +11 -14
  78. package/components/data/form/base-form/props.d.ts +3 -0
  79. package/components/data/form/dynamic-fields/index.js +1 -0
  80. package/components/data/form/form-action/index.d.ts +2 -0
  81. package/components/data/form/form-action/index.js +6 -4
  82. package/components/data/form/form-controller/withFormController.js +19 -2
  83. package/components/data/form/form-field/base-field.js +8 -5
  84. package/components/data/form/form-field/index.js +14 -9
  85. package/components/data/form/form-field/props.d.ts +1 -0
  86. package/components/data/form/form-header/index.d.ts +1 -1
  87. package/components/data/form/form-header/index.js +10 -1
  88. package/components/data/form/index.js +5 -3
  89. package/components/data/form/props.d.ts +1 -0
  90. package/components/data/list/components/ListHeader.js +19 -3
  91. package/components/data/list/components/ListItemWithTemplate.js +10 -3
  92. package/components/data/list/components/ListItems.d.ts +1 -1
  93. package/components/data/list/components/ListItems.js +5 -1
  94. package/components/data/list/components/LoadMoreButton.js +14 -2
  95. package/components/data/list/components/StandardListItems.js +1 -1
  96. package/components/data/list/components/props.d.ts +11 -5
  97. package/components/data/list/hooks/props.d.ts +2 -2
  98. package/components/data/list/hooks/useListEffects.js +1 -1
  99. package/components/data/list/hooks/useListEventHandlers.js +3 -2
  100. package/components/data/list/index.d.ts +5 -1
  101. package/components/data/list/index.js +28 -7
  102. package/components/data/list/props.d.ts +14 -2
  103. package/components/data/list/utils/constants.d.ts +0 -1
  104. package/components/data/list/utils/constants.js +0 -2
  105. package/components/data/list/utils/list-helpers.d.ts +5 -1
  106. package/components/data/list/utils/list-helpers.js +10 -0
  107. package/components/data/pagination/components/PageSizeSelector.js +49 -155
  108. package/components/data/pagination/hooks/usePagination.js +24 -1
  109. package/components/data/table/components/RowCells.js +18 -4
  110. package/components/data/table/components/TableBody.js +5 -3
  111. package/components/data/table/components/TableDataRow.js +16 -3
  112. package/components/data/table/components/TableHeader.js +10 -8
  113. package/components/data/table/components/TablePanelHeading.js +15 -3
  114. package/components/data/table/hooks/useDynamicColumns.js +1 -1
  115. package/components/data/table/hooks/useResponsiveColumns.d.ts +1 -0
  116. package/components/data/table/hooks/useRowExpansion.js +41 -31
  117. package/components/data/table/hooks/useRowHandlers.js +0 -1
  118. package/components/data/table/hooks/useServerSideSorting.js +0 -1
  119. package/components/data/table/hooks/useTableColumns.js +17 -9
  120. package/components/data/table/hooks/useTableData.js +30 -2
  121. package/components/data/table/hooks/useTableEdit.js +0 -1
  122. package/components/data/table/index.d.ts +4 -0
  123. package/components/data/table/index.js +93 -47
  124. package/components/data/table/live-table/index.d.ts +1 -0
  125. package/components/data/table/live-table/index.js +0 -1
  126. package/components/data/table/props.d.ts +15 -2
  127. package/components/data/table/table-action/index.d.ts +1 -0
  128. package/components/data/table/table-column/index.d.ts +1 -0
  129. package/components/data/table/table-row/index.d.ts +1 -0
  130. package/components/data/table/table-row-action/index.d.ts +1 -0
  131. package/components/data/table/utils/buildSelectionColumns.d.ts +1 -1
  132. package/components/data/table/utils/buildSelectionColumns.js +95 -71
  133. package/components/data/table/utils/columnBuilder.d.ts +29 -2
  134. package/components/data/table/utils/columnBuilder.js +40 -26
  135. package/components/data/table/utils/columnWidthDistribution.d.ts +1 -1
  136. package/components/data/table/utils/columnWidthDistribution.js +14 -1
  137. package/components/data/table/utils/constants.d.ts +0 -4
  138. package/components/data/table/utils/constants.js +0 -7
  139. package/components/data/table/utils/dynamic-columns.d.ts +1 -1
  140. package/components/data/table/utils/dynamic-columns.js +3 -8
  141. package/components/data/table/utils/expansionColumn.d.ts +23 -0
  142. package/components/data/table/utils/expansionColumn.js +56 -0
  143. package/components/data/table/utils/index.d.ts +14 -2
  144. package/components/data/table/utils/index.js +45 -19
  145. package/components/dialogs/alert-dialog/index.d.ts +2 -0
  146. package/components/dialogs/confirm-dialog/index.d.ts +2 -0
  147. package/components/dialogs/dialog/index.d.ts +2 -0
  148. package/components/dialogs/dialog/index.js +3 -2
  149. package/components/dialogs/dialog-actions/index.d.ts +1 -0
  150. package/components/dialogs/dialog-body/index.d.ts +1 -0
  151. package/components/dialogs/dialog-content/index.d.ts +1 -0
  152. package/components/dialogs/dialog-header/index.d.ts +1 -0
  153. package/components/dialogs/dialog-header/index.js +11 -12
  154. package/components/dialogs/iframe-dialog/index.d.ts +2 -0
  155. package/components/dialogs/login-dialog/index.d.ts +4 -0
  156. package/components/dialogs/login-dialog/index.js +2 -1
  157. package/components/dialogs/login-dialog/props.d.ts +1 -0
  158. package/components/dialogs/page-dialog/index.d.ts +4 -0
  159. package/components/dialogs/page-dialog/index.js +2 -1
  160. package/components/dialogs/page-dialog/props.d.ts +1 -0
  161. package/components/form/button/index.d.ts +1 -0
  162. package/components/form/button/index.js +29 -33
  163. package/components/form/button-group/index.d.ts +1 -0
  164. package/components/input/calendar/index.d.ts +2 -0
  165. package/components/input/chips/index.d.ts +2 -0
  166. package/components/input/chips/index.js +9 -3
  167. package/components/input/chips/utils.d.ts +5 -0
  168. package/components/input/chips/utils.js +29 -0
  169. package/components/input/color-picker/index.d.ts +2 -0
  170. package/components/input/composite/index.d.ts +1 -0
  171. package/components/input/composite/index.js +1 -0
  172. package/components/input/currency/index.d.ts +2 -0
  173. package/components/input/default/checkbox/index.d.ts +6 -0
  174. package/components/input/default/checkbox/index.js +48 -18
  175. package/components/input/default/checkbox/props.d.ts +8 -0
  176. package/components/input/default/checkboxset/index.d.ts +2 -0
  177. package/components/input/default/radioset/index.d.ts +2 -0
  178. package/components/input/default/radioset/index.js +2 -1
  179. package/components/input/default/switch/index.d.ts +6 -0
  180. package/components/input/default/switch/index.js +36 -9
  181. package/components/input/default/switch/prop.d.ts +2 -0
  182. package/components/input/epoch/date/index.d.ts +1 -0
  183. package/components/input/epoch/datetime/index.d.ts +1 -0
  184. package/components/input/epoch/time/index.d.ts +1 -0
  185. package/components/input/fileupload/components/ListItems.d.ts +5 -1
  186. package/components/input/fileupload/components/ListItems.js +27 -5
  187. package/components/input/fileupload/components/MultiUpload.js +12 -1
  188. package/components/input/fileupload/components/SingleUpload.js +12 -1
  189. package/components/input/fileupload/index.d.ts +3 -0
  190. package/components/input/fileupload/index.js +11 -0
  191. package/components/input/fileupload/props.d.ts +10 -0
  192. package/components/input/number/index.d.ts +2 -0
  193. package/components/input/rating/index.d.ts +6 -0
  194. package/components/input/rating/index.js +10 -5
  195. package/components/input/rating/props.d.ts +8 -0
  196. package/components/input/select/index.d.ts +2 -0
  197. package/components/input/select/index.js +1 -2
  198. package/components/input/slider/index.d.ts +6 -0
  199. package/components/input/slider/index.js +19 -2
  200. package/components/input/slider/props.d.ts +2 -0
  201. package/components/input/text/index.d.ts +7 -1
  202. package/components/input/text/index.js +25 -6
  203. package/components/input/text/props.d.ts +8 -0
  204. package/components/input/textarea/index.d.ts +2 -0
  205. package/components/input/textarea/index.js +10 -5
  206. package/components/input/textarea/util.d.ts +1 -0
  207. package/components/input/textarea/util.js +17 -0
  208. package/components/input/upload/index.d.ts +2 -0
  209. package/components/navbar/index.d.ts +7 -0
  210. package/components/navbar/index.js +21 -7
  211. package/components/navbar/nav/index.d.ts +1 -0
  212. package/components/navbar/nav-item/index.d.ts +1 -0
  213. package/components/navigation/breadcrumb/index.d.ts +1 -0
  214. package/components/navigation/menu/index.d.ts +3 -1
  215. package/components/navigation/menu/index.js +22 -4
  216. package/components/navigation/menu/props.d.ts +1 -0
  217. package/components/navigation/popover/index.d.ts +1 -0
  218. package/components/navigation/popover/index.js +23 -9
  219. package/components/page/index.js +1 -1
  220. package/components/page/page-content/index.js +6 -2
  221. package/components/page/partial/index.d.ts +1 -0
  222. package/components/page/partial-container/index.js +2 -1
  223. package/components/prefab/index.js +3 -2
  224. package/components/prefab/props.d.ts +1 -0
  225. package/context/WidgetProvider.js +2 -1
  226. package/core/appstore.d.ts +10 -0
  227. package/core/appstore.js +9 -1
  228. package/core/constants/events.d.ts +3 -0
  229. package/core/constants/events.js +13 -1
  230. package/core/proxy-service.d.ts +1 -0
  231. package/core/proxy-service.js +54 -3
  232. package/core/util/index.d.ts +2 -0
  233. package/core/util/index.js +32 -1
  234. package/higherOrder/BasePage.js +106 -30
  235. package/higherOrder/props.d.ts +1 -0
  236. package/higherOrder/useActivePageReactivity.d.ts +21 -0
  237. package/higherOrder/useActivePageReactivity.js +57 -0
  238. package/higherOrder/withBaseWrapper.js +11 -7
  239. package/higherOrder/withRenderLogger.d.ts +15 -0
  240. package/higherOrder/withRenderLogger.js +53 -0
  241. package/hooks/useAuth.js +7 -1
  242. package/package-lock.json +273 -263
  243. package/package.json +4 -3
  244. package/runtime-dynamic/components/partial-content.js +3 -1
  245. package/runtime-dynamic/factories/dynamic-component.js +44 -8
  246. package/runtime-dynamic/factories/utils.js +7 -1
  247. package/runtime-dynamic/services/compile-render.js +2 -1
  248. package/runtime-dynamic/services/css-scoping.d.ts +2 -0
  249. package/runtime-dynamic/services/css-scoping.js +39 -20
  250. package/store/slices/i18nSlice.d.ts +2 -0
  251. package/store/slices/i18nSlice.js +3 -1
  252. package/types/index.d.ts +6 -0
  253. package/utils/attr.js +4 -1
  254. package/utils/custom-expression/parser.js +11 -8
  255. package/utils/svg-icon.d.ts +27 -0
  256. package/utils/svg-icon.js +75 -0
  257. package/utils/transformedDataset-utils.d.ts +3 -3
  258. package/utils/transformedDataset-utils.js +1 -2
@@ -51,6 +51,9 @@ const WmFileUpload = memo(
51
51
  disabled = !fileUploadConstants.DEFAULT_VALUES.ENABLED,
52
52
  contenttype = "",
53
53
  iconclass = fileUploadConstants.DEFAULT_VALUES.ICON_CLASS,
54
+ iconurl,
55
+ cleariconclass,
56
+ cleariconurl,
54
57
  extensions,
55
58
  filetype,
56
59
  readonly = false,
@@ -127,6 +130,8 @@ const WmFileUpload = memo(
127
130
  arialabel,
128
131
  tabindex,
129
132
  iconclass,
133
+ iconurl,
134
+ prefabName: props.prefabName,
130
135
  styles,
131
136
  triggerFileSelect,
132
137
  onFileSelect,
@@ -149,6 +154,8 @@ const WmFileUpload = memo(
149
154
  displayname,
150
155
  tabindex,
151
156
  iconclass,
157
+ iconurl,
158
+ prefabName: props.prefabName,
152
159
  styles,
153
160
  fileuploadmessage,
154
161
  highlightDropArea,
@@ -167,6 +174,10 @@ const WmFileUpload = memo(
167
174
  selectedFolders,
168
175
  filelistheight,
169
176
  readonly,
177
+ cleariconclass,
178
+ cleariconurl,
179
+ cleariconhint: props.cleariconhint,
180
+ prefabName: props.prefabName,
170
181
  clearSelectedFile,
171
182
  onFileDelete,
172
183
  setSelectedFolders,
@@ -56,10 +56,12 @@ export interface FileUploadProps {
56
56
  * CSS class for the upload button icon.
57
57
  */
58
58
  iconclass?: string;
59
+ iconurl?: string;
59
60
  /**
60
61
  * CSS class for the clear icon.
61
62
  */
62
63
  cleariconclass?: string;
64
+ cleariconurl?: string;
63
65
  /**
64
66
  * Tooltip for the clear icon.
65
67
  */
@@ -169,6 +171,10 @@ export interface CommonFileProps {
169
171
  onFileDelete: (e: React.MouseEvent, file: FileUploadState & File) => void;
170
172
  /** Setter for the selected folders state. */
171
173
  setSelectedFolders: React.Dispatch<React.SetStateAction<File[]>>;
174
+ cleariconclass?: string;
175
+ cleariconurl?: string;
176
+ cleariconhint?: string;
177
+ prefabName?: string;
172
178
  }
173
179
  /**
174
180
  * Props for the SingleFileUpload sub-component.
@@ -200,6 +206,7 @@ export interface SingleFileUploadProps {
200
206
  tabindex?: number;
201
207
  /** CSS class for the icon. */
202
208
  iconclass?: string;
209
+ iconurl?: string;
203
210
  /** Inline styles. */
204
211
  styles?: React.CSSProperties;
205
212
  /** Triggers the native file select dialog. */
@@ -208,6 +215,7 @@ export interface SingleFileUploadProps {
208
215
  onFileSelect: (e: React.ChangeEvent<HTMLInputElement>) => void;
209
216
  /** Handler invoked before file selection. Can be called with (e) from button or (e, widget, files) from file select. */
210
217
  onBeforeselect?: (e: React.MouseEvent | React.ChangeEvent<HTMLInputElement>, widget?: Record<string, unknown>, selectedFiles?: File[]) => void;
218
+ prefabName?: string;
211
219
  }
212
220
  /**
213
221
  * Props for the MultipleFileUpload sub-component.
@@ -241,6 +249,7 @@ export interface MultipleFileUploadProps {
241
249
  tabindex?: number;
242
250
  /** CSS class for the icon. */
243
251
  iconclass?: string;
252
+ iconurl?: string;
244
253
  /** Message displayed in the drop area. */
245
254
  fileuploadmessage?: string;
246
255
  /** Whether the drop area is highlighted. */
@@ -259,6 +268,7 @@ export interface MultipleFileUploadProps {
259
268
  onBeforeselect?: (e: React.MouseEvent | React.ChangeEvent<HTMLInputElement>, widget?: Record<string, unknown>, selectedFiles?: File[]) => void;
260
269
  /** Inline styles. */
261
270
  styles?: React.CSSProperties;
271
+ prefabName?: string;
262
272
  }
263
273
  /**
264
274
  * Configuration for the upload variable/service.
@@ -71,6 +71,7 @@ declare const WmNumberStandalone: React.ComponentType<import("../../data/form/fo
71
71
  prefabName?: string;
72
72
  loading?: boolean;
73
73
  showSkeleton?: boolean;
74
+ widget?: string;
74
75
  } & import("@wavemaker-ai/react-runtime/higherOrder/withStandalone").WithStandaloneProps>;
75
76
  export { WmNumberStandalone as WmNumber };
76
77
  /**
@@ -164,5 +165,6 @@ declare const _default: React.ComponentType<{
164
165
  prefabName?: string;
165
166
  loading?: boolean;
166
167
  showSkeleton?: boolean;
168
+ widget?: string;
167
169
  }>;
168
170
  export default _default;
@@ -9,7 +9,9 @@ declare const WmRatingStandalone: React.ComponentType<import("../../data/form/fo
9
9
  iconcolor?: string;
10
10
  iconsize?: string;
11
11
  activeiconclass?: string;
12
+ activeiconurl?: string;
12
13
  inactiveiconclass?: string;
14
+ inactiveiconurl?: string;
13
15
  setDatasetItems?: (items: RatingItem[]) => void;
14
16
  dataset?: any;
15
17
  datafield?: string;
@@ -93,6 +95,7 @@ declare const WmRatingStandalone: React.ComponentType<import("../../data/form/fo
93
95
  prefabName?: string;
94
96
  loading?: boolean;
95
97
  showSkeleton?: boolean;
98
+ widget?: string;
96
99
  } & import("@wavemaker-ai/react-runtime/higherOrder/withStandalone").WithStandaloneProps>;
97
100
  export { WmRatingStandalone as WmRating };
98
101
  /**
@@ -129,7 +132,9 @@ declare const _default: React.ComponentType<{
129
132
  iconcolor?: string;
130
133
  iconsize?: string;
131
134
  activeiconclass?: string;
135
+ activeiconurl?: string;
132
136
  inactiveiconclass?: string;
137
+ inactiveiconurl?: string;
133
138
  setDatasetItems?: (items: RatingItem[]) => void;
134
139
  dataset?: any;
135
140
  datafield?: string;
@@ -208,5 +213,6 @@ declare const _default: React.ComponentType<{
208
213
  prefabName?: string;
209
214
  loading?: boolean;
210
215
  showSkeleton?: boolean;
216
+ widget?: string;
211
217
  }>;
212
218
  export default _default;
@@ -23,6 +23,7 @@ import clsx from "clsx";
23
23
  import Tooltip from "@mui/material/Tooltip";
24
24
  import { isEmpty, isEqual } from "lodash-es";
25
25
  import { withBaseWrapper } from "../../../higherOrder/withBaseWrapper";
26
+ import { WmAppIcon } from "../../common/WmAppIcon";
26
27
  import { Box } from "@mui/material";
27
28
  import { transformDataset } from "../../../utils/transformedDataset-utils";
28
29
  import withFormController from "../../data/form/form-controller/withFormController";
@@ -47,7 +48,9 @@ const WmRating = memo((props) => {
47
48
  iconcolor,
48
49
  iconsize,
49
50
  activeiconclass = DEFAULT_ICON_CLASS.active,
51
+ activeiconurl,
50
52
  inactiveiconclass = DEFAULT_ICON_CLASS.inactive,
53
+ inactiveiconurl,
51
54
  datasetItems = [],
52
55
  value,
53
56
  datafield = "index",
@@ -411,11 +414,13 @@ const WmRating = memo((props) => {
411
414
  ),
412
415
  children: [
413
416
  /* @__PURE__ */ jsx(
414
- Box,
417
+ WmAppIcon,
415
418
  {
416
- component: "i",
417
- className: clsx("app-icon", "wm-rating-star-icon", iconClass),
418
- "aria-hidden": "true"
419
+ iconclass: isActive ? activeiconclass : inactiveiconclass,
420
+ iconurl: isActive ? activeiconurl : inactiveiconurl,
421
+ prefabName: props.prefabName,
422
+ defaultClasses: "wm-rating-star-icon",
423
+ alt: "Rating"
419
424
  }
420
425
  ),
421
426
  /* @__PURE__ */ jsx(
@@ -440,7 +445,7 @@ const WmRating = memo((props) => {
440
445
  {
441
446
  hidden: props.hidden,
442
447
  sx: __spreadProps(__spreadValues({}, styles), { height, width }),
443
- className: clsx("app-ratings", { disabled: readonly }),
448
+ className: clsx("app-ratings", { disabled: readonly }, props.className),
444
449
  ref: ratingsRef,
445
450
  tabIndex: (_a = props.tabindex) != null ? _a : 0,
446
451
  children: /* @__PURE__ */ jsxs(
@@ -52,11 +52,19 @@ export interface RatingProps {
52
52
  * @default "wi wi-star"
53
53
  */
54
54
  activeiconclass?: string;
55
+ /**
56
+ * URL for the active (selected) icon.
57
+ */
58
+ activeiconurl?: string;
55
59
  /**
56
60
  * CSS class for the inactive (unselected) icon.
57
61
  * @default "wi wi-star-border"
58
62
  */
59
63
  inactiveiconclass?: string;
64
+ /**
65
+ * URL for the inactive (unselected) icon.
66
+ */
67
+ inactiveiconurl?: string;
60
68
  /**
61
69
  * Setter function for dataset items (injected by HOC).
62
70
  */
@@ -75,6 +75,7 @@ declare const WmSelectStandalone: React.ComponentType<import("../../data/form/fo
75
75
  prefabName?: string;
76
76
  loading?: boolean;
77
77
  showSkeleton?: boolean;
78
+ widget?: string;
78
79
  } & import("@wavemaker-ai/react-runtime/higherOrder/withStandalone").WithStandaloneProps>;
79
80
  export { WmSelectStandalone as WmSelect };
80
81
  /**
@@ -173,5 +174,6 @@ declare const _default: React.ComponentType<{
173
174
  prefabName?: string;
174
175
  loading?: boolean;
175
176
  showSkeleton?: boolean;
177
+ widget?: string;
176
178
  }>;
177
179
  export default _default;
@@ -334,10 +334,9 @@ const WmSelect = React.memo(
334
334
  }
335
335
  prevComputedValueRef.current = currentValue;
336
336
  }, [computedSelectValue, multiple, listener, props.fieldName, name, localDatavalue]);
337
- return /* @__PURE__ */ jsx("div", { className: clsx(DEFAULT_CLASS, className), children: /* @__PURE__ */ jsxs(
337
+ return /* @__PURE__ */ jsx("div", { className: clsx(DEFAULT_CLASS, className), hidden: props.hidden, children: /* @__PURE__ */ jsxs(
338
338
  NativeSelect,
339
339
  __spreadProps(__spreadValues({
340
- hidden: props.hidden,
341
340
  name,
342
341
  IconComponent: () => null,
343
342
  className: clsx(
@@ -17,7 +17,9 @@ declare const WmSliderStandalone: React.ComponentType<import("../../data/form/fo
17
17
  markerlabeltext?: string | string[];
18
18
  showicons?: boolean;
19
19
  starticon?: string;
20
+ starticonurl?: string;
20
21
  endicon?: string;
22
+ endiconurl?: string;
21
23
  rangelabelposition?: "top" | "bottom" | "side";
22
24
  standalone?: boolean;
23
25
  ref?: React.RefObject<HTMLElement> | React.RefObject<null>;
@@ -69,6 +71,7 @@ declare const WmSliderStandalone: React.ComponentType<import("../../data/form/fo
69
71
  prefabName?: string;
70
72
  loading?: boolean;
71
73
  showSkeleton?: boolean;
74
+ widget?: string;
72
75
  } & import("@wavemaker-ai/react-runtime/higherOrder/withStandalone").WithStandaloneProps>;
73
76
  export { WmSliderStandalone as WmSlider };
74
77
  /**
@@ -114,7 +117,9 @@ declare const _default: React.ComponentType<{
114
117
  markerlabeltext?: string | string[];
115
118
  showicons?: boolean;
116
119
  starticon?: string;
120
+ starticonurl?: string;
117
121
  endicon?: string;
122
+ endiconurl?: string;
118
123
  rangelabelposition?: "top" | "bottom" | "side";
119
124
  ref?: React.RefObject<HTMLElement> | React.RefObject<null>;
120
125
  animation?: string;
@@ -162,5 +167,6 @@ declare const _default: React.ComponentType<{
162
167
  prefabName?: string;
163
168
  loading?: boolean;
164
169
  showSkeleton?: boolean;
170
+ widget?: string;
165
171
  }>;
166
172
  export default _default;
@@ -23,6 +23,7 @@ import clsx from "clsx";
23
23
  import Box from "@mui/material/Box";
24
24
  import { Input } from "@base-ui-components/react/input";
25
25
  import { withBaseWrapper } from "../../../higherOrder/withBaseWrapper";
26
+ import { WmAppIcon } from "../../common/WmAppIcon";
26
27
  import withFormController from "../../data/form/form-controller/withFormController";
27
28
  import { convertDataToObject } from "../../../utils/transformedDataset-utils";
28
29
  import withStandalone from "../../../higherOrder/withStandalone";
@@ -49,7 +50,9 @@ const WmSlider = memo(
49
50
  markerlabeltext,
50
51
  showicons = false,
51
52
  starticon = "wi wi-minus",
53
+ starticonurl,
52
54
  endicon = "wi wi-plus",
55
+ endiconurl,
53
56
  rangelabelposition = "bottom"
54
57
  } = props;
55
58
  const initialValue = datavalue !== void 0 ? datavalue : (minvalue + maxvalue) / 2;
@@ -249,7 +252,14 @@ const WmSlider = memo(
249
252
  name: "decrementButton",
250
253
  onClick: decrementButtonClick,
251
254
  disabled,
252
- children: /* @__PURE__ */ jsx(Box, { component: "i", "aria-hidden": "true", className: starticon })
255
+ children: /* @__PURE__ */ jsx(
256
+ WmAppIcon,
257
+ {
258
+ iconclass: starticon,
259
+ iconurl: starticonurl,
260
+ prefabName: props.prefabName
261
+ }
262
+ )
253
263
  }
254
264
  ),
255
265
  /* @__PURE__ */ jsxs(Box, { className: "slider-control wm-slider-control", style: sliderControlStyle, children: [
@@ -293,7 +303,14 @@ const WmSlider = memo(
293
303
  name: "incrementButton",
294
304
  onClick: incrementButtonClick,
295
305
  disabled,
296
- children: /* @__PURE__ */ jsx(Box, { component: "i", "aria-hidden": "true", className: endicon })
306
+ children: /* @__PURE__ */ jsx(
307
+ WmAppIcon,
308
+ {
309
+ iconclass: endicon,
310
+ iconurl: endiconurl,
311
+ prefabName: props.prefabName
312
+ }
313
+ )
297
314
  }
298
315
  )
299
316
  ] }),
@@ -74,10 +74,12 @@ export interface SliderProps {
74
74
  * CSS class for the icon at the start of the slider.
75
75
  */
76
76
  starticon?: string;
77
+ starticonurl?: string;
77
78
  /**
78
79
  * CSS class for the icon at the end of the slider.
79
80
  */
80
81
  endicon?: string;
82
+ endiconurl?: string;
81
83
  /**
82
84
  * Position of range labels (min/max).
83
85
  * @default "top"
@@ -22,7 +22,9 @@ declare const WmTextStandalone: import("react").ComponentType<import("../../data
22
22
  autocapitalize?: "none" | "sentences" | "words" | "characters";
23
23
  onChange?: (event: React.ChangeEvent<HTMLInputElement>, widget: Record<string, unknown>, newVal: string | null, oldVal: string | null) => void;
24
24
  leadingiconclass?: string;
25
+ leadingiconurl?: string;
25
26
  trailingiconclass?: string;
27
+ trailingiconurl?: string;
26
28
  supportingtext?: string;
27
29
  onLeadingiconclick?: (event: React.MouseEvent<HTMLButtonElement>, widget?: Record<string, unknown>) => void;
28
30
  onTrailingiconclick?: (event: React.MouseEvent<HTMLButtonElement>, widget?: Record<string, unknown>) => void;
@@ -78,6 +80,7 @@ declare const WmTextStandalone: import("react").ComponentType<import("../../data
78
80
  prefabName?: string;
79
81
  loading?: boolean;
80
82
  showSkeleton?: boolean;
83
+ widget?: string;
81
84
  } & import("@wavemaker-ai/react-runtime/higherOrder/withStandalone").WithStandaloneProps>;
82
85
  export { WmTextStandalone as WmText };
83
86
  /**
@@ -104,7 +107,7 @@ declare const _default: import("react").ComponentType<{
104
107
  regexp?: string | (RegExp & string);
105
108
  validationmessage?: string;
106
109
  hint?: string;
107
- type?: "number" | "url" | "search" | "text" | "color" | "email" | "password" | "tel";
110
+ type?: "number" | "search" | "text" | "url" | "color" | "email" | "password" | "tel";
108
111
  observe?: string[];
109
112
  onBlur?: ((e: any) => void) & ((event: React.FocusEvent<HTMLElement>, widget?: Record<string, any>, newVal?: string | number | null, oldVal?: string | number | null) => void);
110
113
  datavaluesource?: Record<string, unknown>;
@@ -125,7 +128,9 @@ declare const _default: import("react").ComponentType<{
125
128
  autocapitalize?: "none" | "sentences" | "words" | "characters";
126
129
  onChange?: (event: React.ChangeEvent<HTMLInputElement>, widget: Record<string, unknown>, newVal: string | null, oldVal: string | null) => void;
127
130
  leadingiconclass?: string;
131
+ leadingiconurl?: string;
128
132
  trailingiconclass?: string;
133
+ trailingiconurl?: string;
129
134
  supportingtext?: string;
130
135
  onLeadingiconclick?: (event: React.MouseEvent<HTMLButtonElement>, widget?: Record<string, unknown>) => void;
131
136
  onTrailingiconclick?: (event: React.MouseEvent<HTMLButtonElement>, widget?: Record<string, unknown>) => void;
@@ -177,5 +182,6 @@ declare const _default: import("react").ComponentType<{
177
182
  prefabName?: string;
178
183
  loading?: boolean;
179
184
  showSkeleton?: boolean;
185
+ widget?: string;
180
186
  }>;
181
187
  export default _default;
@@ -25,6 +25,7 @@ import clsx from "clsx";
25
25
  import toNumber from "lodash-es/toNumber";
26
26
  import debounce from "lodash-es/debounce";
27
27
  import { withBaseWrapper } from "../../../higherOrder/withBaseWrapper";
28
+ import { WmAppIcon } from "../../common/WmAppIcon";
28
29
  import withFormController from "../../data/form/form-controller/withFormController";
29
30
  import { formatInput, removeDisplayFormat, applyAutoCapitalize, getFormatMaxLength } from "./util";
30
31
  import delay from "lodash-es/delay";
@@ -68,7 +69,9 @@ const WmText = memo(
68
69
  id,
69
70
  error,
70
71
  leadingiconclass,
72
+ leadingiconurl,
71
73
  trailingiconclass,
74
+ trailingiconurl,
72
75
  supportingtext,
73
76
  onLeadingiconclick,
74
77
  onTrailingiconclick
@@ -388,7 +391,7 @@ const WmText = memo(
388
391
  name: "supportingText"
389
392
  },
390
393
  input: {
391
- startAdornment: leadingiconclass ? /* @__PURE__ */ jsx(InputAdornment, { position: "start", children: /* @__PURE__ */ jsx(
394
+ startAdornment: leadingiconclass || leadingiconurl ? /* @__PURE__ */ jsx(InputAdornment, { position: "start", children: /* @__PURE__ */ jsx(
392
395
  "button",
393
396
  {
394
397
  type: "button",
@@ -397,10 +400,17 @@ const WmText = memo(
397
400
  onClick: handleLeadingIconClick,
398
401
  "aria-hidden": "true",
399
402
  tabIndex: -1,
400
- children: /* @__PURE__ */ jsx("i", { "aria-hidden": "true", className: leadingiconclass })
403
+ children: /* @__PURE__ */ jsx(
404
+ WmAppIcon,
405
+ {
406
+ iconclass: leadingiconclass,
407
+ iconurl: leadingiconurl,
408
+ prefabName: props.prefabName
409
+ }
410
+ )
401
411
  }
402
412
  ) }) : void 0,
403
- endAdornment: trailingiconclass ? /* @__PURE__ */ jsx(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx(
413
+ endAdornment: trailingiconclass || trailingiconurl ? /* @__PURE__ */ jsx(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx(
404
414
  "button",
405
415
  {
406
416
  type: "button",
@@ -409,7 +419,14 @@ const WmText = memo(
409
419
  onClick: handleTrailingIconClick,
410
420
  "aria-hidden": "true",
411
421
  tabIndex: -1,
412
- children: /* @__PURE__ */ jsx("i", { "aria-hidden": "true", className: trailingiconclass })
422
+ children: /* @__PURE__ */ jsx(
423
+ WmAppIcon,
424
+ {
425
+ iconclass: trailingiconclass,
426
+ iconurl: trailingiconurl,
427
+ prefabName: props.prefabName
428
+ }
429
+ )
413
430
  }
414
431
  ) }) : void 0
415
432
  },
@@ -421,8 +438,8 @@ const WmText = memo(
421
438
  DEFAULT_CLASS,
422
439
  className,
423
440
  "wm-text-input",
424
- leadingiconclass && "with-leading-icon",
425
- trailingiconclass && "with-trailing-icon",
441
+ (leadingiconclass || leadingiconurl) && "with-leading-icon",
442
+ (trailingiconclass || trailingiconurl) && "with-trailing-icon",
426
443
  isTouched ? "ng-touched" : "ng-untouched",
427
444
  displayError && "ng-invalid"
428
445
  ),
@@ -454,7 +471,9 @@ const WmText = memo(
454
471
  "className",
455
472
  "hidden",
456
473
  "leadingiconclass",
474
+ "leadingiconurl",
457
475
  "trailingiconclass",
476
+ "trailingiconurl",
458
477
  "supportingtext"
459
478
  ];
460
479
  return keys.every((key) => prev[key] === current[key]);
@@ -102,10 +102,18 @@ export interface TextProps {
102
102
  * CSS class for the leading icon.
103
103
  */
104
104
  leadingiconclass?: string;
105
+ /**
106
+ * URL for the leading icon (.svg renders inline, other URLs as image).
107
+ */
108
+ leadingiconurl?: string;
105
109
  /**
106
110
  * CSS class for the trailing icon.
107
111
  */
108
112
  trailingiconclass?: string;
113
+ /**
114
+ * URL for the trailing icon (.svg renders inline, other URLs as image).
115
+ */
116
+ trailingiconurl?: string;
109
117
  /**
110
118
  * Supporting text displayed below the input.
111
119
  */
@@ -65,6 +65,7 @@ declare const WmTextareaStandalone: React.ComponentType<import("../../data/form/
65
65
  prefabName?: string;
66
66
  loading?: boolean;
67
67
  showSkeleton?: boolean;
68
+ widget?: string;
68
69
  } & import("@wavemaker-ai/react-runtime/higherOrder/withStandalone").WithStandaloneProps>;
69
70
  export { WmTextareaStandalone as WmTextarea };
70
71
  /**
@@ -151,5 +152,6 @@ declare const _default: React.ComponentType<{
151
152
  prefabName?: string;
152
153
  loading?: boolean;
153
154
  showSkeleton?: boolean;
155
+ widget?: string;
154
156
  }>;
155
157
  export default _default;
@@ -15,7 +15,7 @@ var __spreadValues = (a, b) => {
15
15
  return a;
16
16
  };
17
17
  import { Fragment, jsx } from "react/jsx-runtime";
18
- import { memo, useEffect, useRef, useState, useCallback } from "react";
18
+ import { memo, useEffect, useRef, useState, useCallback, useMemo } from "react";
19
19
  import clsx from "clsx";
20
20
  import TextField from "@mui/material/TextField";
21
21
  import * as lodash from "lodash-es";
@@ -24,6 +24,7 @@ import withFormController from "../../data/form/form-controller/withFormControll
24
24
  import delay from "lodash-es/delay";
25
25
  import { sanitizeInputValue } from "../util";
26
26
  import withStandalone from "../../../higherOrder/withStandalone";
27
+ import { resolveCharacterCountText } from "./util";
27
28
  const DEFAULT_CLASS = "form-control app-textarea";
28
29
  const TextareaCount = ({ children }) => /* @__PURE__ */ jsx("div", { className: "textarea-count", children });
29
30
  const WmTextarea = memo(
@@ -146,11 +147,15 @@ const WmTextarea = memo(
146
147
  }, [shortcutkey]);
147
148
  const handleUpdateCharLength = useCallback(
148
149
  (charLength) => {
149
- if ((listener == null ? void 0 : listener.onChange) && limitdisplaytext !== "") {
150
+ if ((listener == null ? void 0 : listener.onChange) && (limitdisplaytext !== "" || maxchars)) {
150
151
  debouncedCharLengthUpdate(charLength);
151
152
  }
152
153
  },
153
- [limitdisplaytext, debouncedCharLengthUpdate]
154
+ [limitdisplaytext, maxchars, debouncedCharLengthUpdate]
155
+ );
156
+ const characterCountText = useMemo(
157
+ () => maxchars ? resolveCharacterCountText(maxchars, displayValue, limitdisplaytext) : void 0,
158
+ [maxchars, displayValue, limitdisplaytext]
154
159
  );
155
160
  const handleInputChange = useCallback((event) => {
156
161
  var _a;
@@ -273,7 +278,7 @@ const WmTextarea = memo(
273
278
  ),
274
279
  style: styles,
275
280
  "aria-readonly": readonly,
276
- helperText: maxchars ? limitdisplaytext.replaceAll("undefined", `${(displayValue == null ? void 0 : displayValue.length) || 0}`) : void 0,
281
+ helperText: characterCountText,
277
282
  slotProps: {
278
283
  htmlInput: {
279
284
  type: "textarea",
@@ -298,7 +303,7 @@ const WmTextarea = memo(
298
303
  pattern: regexp
299
304
  }
300
305
  },
301
- slots: __spreadValues({}, maxchars ? { formHelperText: TextareaCount } : {})
306
+ slots: __spreadValues({}, maxchars && limitdisplaytext ? { formHelperText: TextareaCount } : {})
302
307
  }, events)
303
308
  ) });
304
309
  },
@@ -0,0 +1 @@
1
+ export declare const resolveCharacterCountText: (maxchars: number, displayValue: string, limitdisplaytext: string) => string;
@@ -0,0 +1,17 @@
1
+ const resolveCharacterCountText = (maxchars, displayValue, limitdisplaytext) => {
2
+ var _a;
3
+ const currentLength = (_a = displayValue == null ? void 0 : displayValue.length) != null ? _a : 0;
4
+ if (!limitdisplaytext) {
5
+ return `${currentLength}/${maxchars}`;
6
+ }
7
+ if (/left out of/i.test(limitdisplaytext)) {
8
+ return `${Math.max(maxchars - currentLength, 0)} characters left out of ${maxchars}`;
9
+ }
10
+ if (/filled out of/i.test(limitdisplaytext)) {
11
+ return `${currentLength} characters filled out of ${maxchars}`;
12
+ }
13
+ return `${currentLength}/${maxchars}`;
14
+ };
15
+ export {
16
+ resolveCharacterCountText
17
+ };
@@ -60,6 +60,7 @@ declare const WithForm: React.NamedExoticComponent<import("../../data/form/form-
60
60
  prefabName?: string;
61
61
  loading?: boolean;
62
62
  showSkeleton?: boolean;
63
+ widget?: string;
63
64
  }>;
64
65
  /**
65
66
  * The WmUpload component provides a file upload input for form fields with blob support.
@@ -142,5 +143,6 @@ declare const _default: React.ComponentType<{
142
143
  prefabName?: string;
143
144
  loading?: boolean;
144
145
  showSkeleton?: boolean;
146
+ widget?: string;
145
147
  }>;
146
148
  export default _default;
@@ -3,6 +3,9 @@ export declare const WmNavbar: import("react").MemoExoticComponent<(props: BaseP
3
3
  title?: string;
4
4
  brandHref?: string;
5
5
  showToggle?: boolean;
6
+ menuiconclass?: string;
7
+ menuiconurl?: string;
8
+ imgsrc?: string;
6
9
  }) => import("react/jsx-runtime").JSX.Element>;
7
10
  /**
8
11
  * The WmNavbar component renders a top navigation bar with brand, toggle, and child nav items.
@@ -65,8 +68,12 @@ declare const _default: import("react").MemoExoticComponent<import("react").Comp
65
68
  prefabName?: string;
66
69
  loading?: boolean;
67
70
  showSkeleton?: boolean;
71
+ widget?: string;
68
72
  title?: string;
69
73
  brandHref?: string;
70
74
  showToggle?: boolean;
75
+ menuiconclass?: string;
76
+ menuiconurl?: string;
77
+ imgsrc?: string;
71
78
  }>>;
72
79
  export default _default;