@wavemaker/react-runtime 11.14.1-16.6404

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 (402) hide show
  1. package/actions/base-action.js +32 -0
  2. package/actions/login-action.js +53 -0
  3. package/actions/logout-action.js +41 -0
  4. package/actions/navigation-action.js +145 -0
  5. package/actions/notification-action.js +147 -0
  6. package/actions/timer-action.js +164 -0
  7. package/actions/toast-provider.js +111 -0
  8. package/actions/toast.js +115 -0
  9. package/actions/toast.service.js +94 -0
  10. package/actions/types/index.js +11 -0
  11. package/components/advanced/carousel/index.js +456 -0
  12. package/components/advanced/carousel/props.js +5 -0
  13. package/components/advanced/carousel/template.js +72 -0
  14. package/components/advanced/login/index.js +307 -0
  15. package/components/advanced/login/props.js +5 -0
  16. package/components/advanced/marquee/index.js +158 -0
  17. package/components/advanced/marquee/props.js +5 -0
  18. package/components/basic/anchor/index.js +239 -0
  19. package/components/basic/anchor/props.js +5 -0
  20. package/components/basic/audio/index.js +61 -0
  21. package/components/basic/html/index.js +158 -0
  22. package/components/basic/icon/index.js +85 -0
  23. package/components/basic/iframe/iframe.utils.js +10 -0
  24. package/components/basic/iframe/index.js +95 -0
  25. package/components/basic/label/index.js +139 -0
  26. package/components/basic/message/index.js +120 -0
  27. package/components/basic/message/props.js +5 -0
  28. package/components/basic/picture/index.js +117 -0
  29. package/components/basic/picture/props.js +5 -0
  30. package/components/basic/progress-bar/index.js +168 -0
  31. package/components/basic/progress-bar/props.js +18 -0
  32. package/components/basic/progress-circle/index.js +196 -0
  33. package/components/basic/progress-circle/props.js +16 -0
  34. package/components/basic/richtexteditor/index.js +533 -0
  35. package/components/basic/richtexteditor/props.js +5 -0
  36. package/components/basic/search/index.js +1023 -0
  37. package/components/basic/search/props.js +5 -0
  38. package/components/basic/search/providers.js +350 -0
  39. package/components/basic/spinner/index.js +202 -0
  40. package/components/basic/spinner/props.js +12 -0
  41. package/components/basic/tile/index.js +91 -0
  42. package/components/basic/tree/Components/TreeNodeComponent.js +142 -0
  43. package/components/basic/tree/index.js +503 -0
  44. package/components/basic/tree/props.js +5 -0
  45. package/components/basic/tree/utils.js +154 -0
  46. package/components/basic/video/index.js +85 -0
  47. package/components/basic/video/props.js +5 -0
  48. package/components/chart/components/barColumnChart/index.js +132 -0
  49. package/components/chart/components/barColumnChart/props.js +5 -0
  50. package/components/chart/components/bubbleChart/index.js +176 -0
  51. package/components/chart/components/bubbleChart/props.js +5 -0
  52. package/components/chart/components/chartLegend/components/ClassicLegendItem.js +39 -0
  53. package/components/chart/components/chartLegend/components/FuriousLegendItem.js +81 -0
  54. package/components/chart/components/chartLegend/index.js +69 -0
  55. package/components/chart/components/chartLegend/props.js +5 -0
  56. package/components/chart/components/chartLegend/utils.js +31 -0
  57. package/components/chart/components/chartTooltip/index.js +53 -0
  58. package/components/chart/components/chartTooltip/styles.js +37 -0
  59. package/components/chart/components/chartTooltip/utils.js +23 -0
  60. package/components/chart/components/cumulativeLineChart/index.js +113 -0
  61. package/components/chart/components/cumulativeLineChart/props.js +5 -0
  62. package/components/chart/components/cumulativeLineChart/utils.js +34 -0
  63. package/components/chart/components/index.js +40 -0
  64. package/components/chart/components/lineAreaChart/index.js +140 -0
  65. package/components/chart/components/lineAreaChart/props.js +5 -0
  66. package/components/chart/components/noDataMessage/index.js +27 -0
  67. package/components/chart/components/pieDonutChart/index.js +171 -0
  68. package/components/chart/components/pieDonutChart/props.js +5 -0
  69. package/components/chart/constant.js +72 -0
  70. package/components/chart/index.js +930 -0
  71. package/components/chart/props.js +5 -0
  72. package/components/chart/utils.js +691 -0
  73. package/components/common/AppSpinner.js +36 -0
  74. package/components/common/app-spinner.js +26 -0
  75. package/components/common/index.js +12 -0
  76. package/components/constants.js +1208 -0
  77. package/components/container/accordion/accordion-pane/index.js +108 -0
  78. package/components/container/accordion/accordion-pane/props.js +11 -0
  79. package/components/container/accordion/index.js +232 -0
  80. package/components/container/accordion/props.js +13 -0
  81. package/components/container/alignment-utils.js +183 -0
  82. package/components/container/index.js +188 -0
  83. package/components/container/layout-grid/grid-column/index.js +34 -0
  84. package/components/container/layout-grid/grid-row/index.js +24 -0
  85. package/components/container/layout-grid/index.js +33 -0
  86. package/components/container/linear-layout/index.js +72 -0
  87. package/components/container/linear-layout/linear-layout-item/index.js +43 -0
  88. package/components/container/panel/components/panel-header/index.js +144 -0
  89. package/components/container/panel/components/panel-header/props.js +5 -0
  90. package/components/container/panel/hooks.js +144 -0
  91. package/components/container/panel/index.js +286 -0
  92. package/components/container/panel/props.js +5 -0
  93. package/components/container/props.js +5 -0
  94. package/components/container/tabs/index.js +379 -0
  95. package/components/container/tabs/props.js +20 -0
  96. package/components/container/tabs/tab-pane/index.js +42 -0
  97. package/components/container/tabs/tab-pane/props.js +5 -0
  98. package/components/container/wizard/WizardContext.js +16 -0
  99. package/components/container/wizard/components/StepComponents.js +100 -0
  100. package/components/container/wizard/components/WizardStep.js +89 -0
  101. package/components/container/wizard/index.js +710 -0
  102. package/components/container/wizard/props.js +5 -0
  103. package/components/container/wizard/utils.js +133 -0
  104. package/components/container/wizard/wizard-action/index.js +22 -0
  105. package/components/container/wizard/wizard-step/index.js +94 -0
  106. package/components/data/card/card-actions/index.js +24 -0
  107. package/components/data/card/card-content/index.js +38 -0
  108. package/components/data/card/card-footer/index.js +24 -0
  109. package/components/data/card/index.js +246 -0
  110. package/components/data/card/props.js +5 -0
  111. package/components/data/form/base-form/constant.js +39 -0
  112. package/components/data/form/base-form/index.js +460 -0
  113. package/components/data/form/base-form/props.js +29 -0
  114. package/components/data/form/base-form/utils.js +42 -0
  115. package/components/data/form/dynamic-fields/index.js +196 -0
  116. package/components/data/form/dynamic-fields/props.js +5 -0
  117. package/components/data/form/dynamic-fields/utils.js +237 -0
  118. package/components/data/form/form-action/index.js +71 -0
  119. package/components/data/form/form-body/index.js +26 -0
  120. package/components/data/form/form-context.js +34 -0
  121. package/components/data/form/form-controller/props.js +19 -0
  122. package/components/data/form/form-controller/validation-contrustor.js +313 -0
  123. package/components/data/form/form-controller/withFormController.js +320 -0
  124. package/components/data/form/form-field/base-field.js +138 -0
  125. package/components/data/form/form-field/index.js +36 -0
  126. package/components/data/form/form-field/props.js +5 -0
  127. package/components/data/form/form-footer/index.js +26 -0
  128. package/components/data/form/form-header/index.js +56 -0
  129. package/components/data/form/index.js +39 -0
  130. package/components/data/form/props.js +5 -0
  131. package/components/data/list/components/GroupHeader.js +35 -0
  132. package/components/data/list/components/GroupedListItems.js +98 -0
  133. package/components/data/list/components/ListContainer.js +27 -0
  134. package/components/data/list/components/ListDND.js +241 -0
  135. package/components/data/list/components/ListHeader.js +59 -0
  136. package/components/data/list/components/ListItem.js +148 -0
  137. package/components/data/list/components/ListItemWithTemplate.js +59 -0
  138. package/components/data/list/components/ListItems.js +231 -0
  139. package/components/data/list/components/ListPagination.js +165 -0
  140. package/components/data/list/components/LoadMoreButton.js +39 -0
  141. package/components/data/list/components/NoDataMessage.js +22 -0
  142. package/components/data/list/components/StandardListItems.js +84 -0
  143. package/components/data/list/components/index.js +119 -0
  144. package/components/data/list/components/props.js +5 -0
  145. package/components/data/list/hooks/index.js +75 -0
  146. package/components/data/list/hooks/props.js +5 -0
  147. package/components/data/list/hooks/useCurrentPageItems.js +48 -0
  148. package/components/data/list/hooks/useGroupedData.js +37 -0
  149. package/components/data/list/hooks/useListData.js +60 -0
  150. package/components/data/list/hooks/useListEffects.js +285 -0
  151. package/components/data/list/hooks/useListEventHandlers.js +291 -0
  152. package/components/data/list/hooks/useListPagination.js +168 -0
  153. package/components/data/list/hooks/useListState.js +98 -0
  154. package/components/data/list/hooks/useListStateManager.js +195 -0
  155. package/components/data/list/hooks/usePaginatedGroupedData.js +121 -0
  156. package/components/data/list/index.js +611 -0
  157. package/components/data/list/props.js +5 -0
  158. package/components/data/list/templates/media-template.js +53 -0
  159. package/components/data/list/utils/constants.js +81 -0
  160. package/components/data/list/utils/list-helpers.js +173 -0
  161. package/components/data/list/utils/list-widget-methods.js +114 -0
  162. package/components/data/live-filter/index.js +279 -0
  163. package/components/data/live-filter/props.js +12 -0
  164. package/components/data/live-form/index.js +93 -0
  165. package/components/data/live-form/props.js +16 -0
  166. package/components/data/pagination/components/BasicPagination.js +77 -0
  167. package/components/data/pagination/components/ClassicPagination.js +191 -0
  168. package/components/data/pagination/components/InlinePagination.js +99 -0
  169. package/components/data/pagination/components/LoadingComponent.js +31 -0
  170. package/components/data/pagination/components/PageSizeSelector.js +175 -0
  171. package/components/data/pagination/components/PagerNavigation.js +105 -0
  172. package/components/data/pagination/components/TotalRecords.js +52 -0
  173. package/components/data/pagination/components/index.js +47 -0
  174. package/components/data/pagination/components/props.js +5 -0
  175. package/components/data/pagination/hooks/index.js +19 -0
  176. package/components/data/pagination/hooks/props.js +5 -0
  177. package/components/data/pagination/hooks/useNavigationSize.js +44 -0
  178. package/components/data/pagination/hooks/usePagination.js +796 -0
  179. package/components/data/pagination/index.js +322 -0
  180. package/components/data/table/components/AddNewRow.js +190 -0
  181. package/components/data/table/components/EditableCell.js +91 -0
  182. package/components/data/table/components/FieldValidationError.js +24 -0
  183. package/components/data/table/components/RowExpansionButton.js +74 -0
  184. package/components/data/table/components/TableBody.js +279 -0
  185. package/components/data/table/components/TableFilters.js +325 -0
  186. package/components/data/table/components/TableFooterActions.js +48 -0
  187. package/components/data/table/components/TableHeader.js +174 -0
  188. package/components/data/table/components/TablePanelHeading.js +68 -0
  189. package/components/data/table/components/index.js +74 -0
  190. package/components/data/table/hooks/index.js +219 -0
  191. package/components/data/table/hooks/useCellState.js +117 -0
  192. package/components/data/table/hooks/useDynamicColumns.js +85 -0
  193. package/components/data/table/hooks/useEditingState.js +47 -0
  194. package/components/data/table/hooks/useFormWidget.js +184 -0
  195. package/components/data/table/hooks/usePaginationState.js +60 -0
  196. package/components/data/table/hooks/usePanelStructure.js +40 -0
  197. package/components/data/table/hooks/useResponsiveColumns.js +34 -0
  198. package/components/data/table/hooks/useRowExpansion.js +110 -0
  199. package/components/data/table/hooks/useRowHandlers.js +38 -0
  200. package/components/data/table/hooks/useRowSelection.js +213 -0
  201. package/components/data/table/hooks/useServerSideSorting.js +165 -0
  202. package/components/data/table/hooks/useTableColumns.js +263 -0
  203. package/components/data/table/hooks/useTableData.js +154 -0
  204. package/components/data/table/hooks/useTableEdit.js +467 -0
  205. package/components/data/table/hooks/useTableEffects.js +139 -0
  206. package/components/data/table/hooks/useTableFilter.js +389 -0
  207. package/components/data/table/hooks/useTableInitialization.js +103 -0
  208. package/components/data/table/hooks/useTableState.js +69 -0
  209. package/components/data/table/hooks/useTableStateManager.js +558 -0
  210. package/components/data/table/index.js +1295 -0
  211. package/components/data/table/live-table/index.js +232 -0
  212. package/components/data/table/props.js +5 -0
  213. package/components/data/table/table-action/index.js +78 -0
  214. package/components/data/table/table-column/index.js +35 -0
  215. package/components/data/table/table-row/index.js +49 -0
  216. package/components/data/table/table-row-action/index.js +74 -0
  217. package/components/data/table/utils/buildSelectionColumns.js +173 -0
  218. package/components/data/table/utils/columnBuilder.js +209 -0
  219. package/components/data/table/utils/columnProxy.js +48 -0
  220. package/components/data/table/utils/columnWidthDistribution.js +98 -0
  221. package/components/data/table/utils/constants.js +80 -0
  222. package/components/data/table/utils/crud-handlers.js +518 -0
  223. package/components/data/table/utils/dynamic-columns.js +118 -0
  224. package/components/data/table/utils/index.js +607 -0
  225. package/components/data/table/utils/renderDisplayCell.js +183 -0
  226. package/components/data/table/utils/selectionUtils.js +166 -0
  227. package/components/data/table/utils/table-helpers.js +100 -0
  228. package/components/data/table/utils/validation.js +124 -0
  229. package/components/data/types.js +113 -0
  230. package/components/data/utils/field-data-utils.js +66 -0
  231. package/components/data/utils/filter-field-util.js +81 -0
  232. package/components/data/utils/index.js +216 -0
  233. package/components/dialogs/alert-dialog/index.js +80 -0
  234. package/components/dialogs/confirm-dialog/index.js +105 -0
  235. package/components/dialogs/dialog/index.js +56 -0
  236. package/components/dialogs/dialog-actions/index.js +18 -0
  237. package/components/dialogs/dialog-body/index.js +21 -0
  238. package/components/dialogs/dialog-content/index.js +30 -0
  239. package/components/dialogs/dialog-header/index.js +93 -0
  240. package/components/dialogs/iframe-dialog/index.js +114 -0
  241. package/components/dialogs/index.js +129 -0
  242. package/components/dialogs/login-dialog/index.js +369 -0
  243. package/components/dialogs/login-dialog/props.js +5 -0
  244. package/components/dialogs/page-dialog/index.js +96 -0
  245. package/components/dialogs/withDialogWrapper.js +108 -0
  246. package/components/form/button/index.js +216 -0
  247. package/components/form/button-group/index.js +60 -0
  248. package/components/input/calendar/index.js +546 -0
  249. package/components/input/calendar/props.js +5 -0
  250. package/components/input/calendar/utils.js +340 -0
  251. package/components/input/chips/SortableChip/index.js +115 -0
  252. package/components/input/chips/SortableChip/props.js +5 -0
  253. package/components/input/chips/index.js +488 -0
  254. package/components/input/chips/props.js +5 -0
  255. package/components/input/chips/utils.js +259 -0
  256. package/components/input/color-picker/index.js +678 -0
  257. package/components/input/color-picker/props.js +5 -0
  258. package/components/input/composite/index.js +137 -0
  259. package/components/input/currency/index.js +263 -0
  260. package/components/input/currency/props.js +5 -0
  261. package/components/input/default/checkbox/index.js +230 -0
  262. package/components/input/default/checkbox/props.js +5 -0
  263. package/components/input/default/checkboxset/index.js +476 -0
  264. package/components/input/default/checkboxset/props.js +5 -0
  265. package/components/input/default/radioset/index.js +379 -0
  266. package/components/input/default/radioset/props.js +5 -0
  267. package/components/input/default/switch/index.js +490 -0
  268. package/components/input/default/switch/prop.js +5 -0
  269. package/components/input/epoch/date/components/DatePickerPopover.js +220 -0
  270. package/components/input/epoch/date/index.js +520 -0
  271. package/components/input/epoch/date/props.js +5 -0
  272. package/components/input/epoch/date/styled.js +70 -0
  273. package/components/input/epoch/date/utils.js +108 -0
  274. package/components/input/epoch/datetime/index.js +656 -0
  275. package/components/input/epoch/datetime/props.js +5 -0
  276. package/components/input/epoch/datetime/styled.js +90 -0
  277. package/components/input/epoch/datetime/utils.js +244 -0
  278. package/components/input/epoch/time/index.js +412 -0
  279. package/components/input/epoch/time/props.js +5 -0
  280. package/components/input/epoch/time/utils.js +209 -0
  281. package/components/input/fileupload/Utils.js +134 -0
  282. package/components/input/fileupload/components/ListItems.js +140 -0
  283. package/components/input/fileupload/components/MultiUpload.js +85 -0
  284. package/components/input/fileupload/components/SingleUpload.js +65 -0
  285. package/components/input/fileupload/index.js +170 -0
  286. package/components/input/fileupload/props.js +5 -0
  287. package/components/input/fileupload/useFileUpload.js +400 -0
  288. package/components/input/number/index.js +295 -0
  289. package/components/input/number/props.js +5 -0
  290. package/components/input/rating/index.js +368 -0
  291. package/components/input/rating/props.js +5 -0
  292. package/components/input/select/index.js +344 -0
  293. package/components/input/select/props.js +5 -0
  294. package/components/input/slider/index.js +167 -0
  295. package/components/input/slider/props.js +5 -0
  296. package/components/input/text/index.js +434 -0
  297. package/components/input/text/props.js +5 -0
  298. package/components/input/text/util.js +179 -0
  299. package/components/input/textarea/index.js +347 -0
  300. package/components/input/textarea/props.js +5 -0
  301. package/components/layout/footer/index.js +30 -0
  302. package/components/layout/header/index.js +30 -0
  303. package/components/layout/leftnav/index.js +44 -0
  304. package/components/layout/rightnav/index.js +32 -0
  305. package/components/layout/topnav/index.js +34 -0
  306. package/components/navbar/index.js +41 -0
  307. package/components/navbar/nav/index.js +102 -0
  308. package/components/navbar/nav/props.js +5 -0
  309. package/components/navbar/nav-item/index.js +44 -0
  310. package/components/navigation/breadcrumb/index.js +56 -0
  311. package/components/navigation/breadcrumb/props.js +5 -0
  312. package/components/navigation/menu/components/ListItems.js +66 -0
  313. package/components/navigation/menu/constants.js +101 -0
  314. package/components/navigation/menu/index.js +807 -0
  315. package/components/navigation/menu/props.js +5 -0
  316. package/components/navigation/popover/index.js +209 -0
  317. package/components/navigation/popover/props.js +15 -0
  318. package/components/page/content/index.js +28 -0
  319. package/components/page/error-boundary/index.js +108 -0
  320. package/components/page/index.js +137 -0
  321. package/components/page/page-content/index.js +23 -0
  322. package/components/page/partial/index.js +36 -0
  323. package/components/page/partial-container/index.js +48 -0
  324. package/components/page/props.js +5 -0
  325. package/components/page/toast-container/index.js +33 -0
  326. package/components/prefab/container/index.js +46 -0
  327. package/components/prefab/index.js +67 -0
  328. package/context/AppContext.js +25 -0
  329. package/context/AppSpinnerProvider.js +43 -0
  330. package/context/LocalizationProvider.js +79 -0
  331. package/context/PrefabContext.js +66 -0
  332. package/context/WidgetProvider.js +187 -0
  333. package/core/app-config.js +1 -0
  334. package/core/app.service.js +357 -0
  335. package/core/appVariablesStore.js +20 -0
  336. package/core/appstore.js +88 -0
  337. package/core/constants/currency-constant.js +1071 -0
  338. package/core/constants/events.js +34 -0
  339. package/core/constants/index.js +27 -0
  340. package/core/dialog.service.js +76 -0
  341. package/core/event-notifier.js +151 -0
  342. package/core/formatter/date-formatters.js +222 -0
  343. package/core/formatter/index.js +131 -0
  344. package/core/formatter/number-formatters.js +142 -0
  345. package/core/formatter/security-formatters.js +323 -0
  346. package/core/formatter/string-formatters.js +52 -0
  347. package/core/formatter/types.js +18 -0
  348. package/core/formatters.js +24 -0
  349. package/core/proxy-service.js +412 -0
  350. package/core/script-registry.js +63 -0
  351. package/core/security.service.js +11 -0
  352. package/core/util/common.js +33 -0
  353. package/core/util/dom.js +107 -0
  354. package/core/util/index.js +136 -0
  355. package/core/util/security.js +184 -0
  356. package/core/util/utils.js +189 -0
  357. package/core/widget-observer.js +98 -0
  358. package/higherOrder/BaseApp.js +430 -0
  359. package/higherOrder/BaseAppProps.js +5 -0
  360. package/higherOrder/BaseDateTime.js +251 -0
  361. package/higherOrder/BasePage.js +715 -0
  362. package/higherOrder/BasePartial.js +124 -0
  363. package/higherOrder/BasePrefab.js +145 -0
  364. package/higherOrder/DataNav.js +377 -0
  365. package/higherOrder/helper.js +43 -0
  366. package/higherOrder/props.js +5 -0
  367. package/higherOrder/withBaseWrapper.js +183 -0
  368. package/hooks/useAccess.js +308 -0
  369. package/hooks/useAppConfig.js +42 -0
  370. package/hooks/useAuth.js +562 -0
  371. package/hooks/useDataSourceSubscription.js +125 -0
  372. package/hooks/useDebounce.js +76 -0
  373. package/hooks/useDeviceVisibility.js +49 -0
  374. package/hooks/useHttp.js +338 -0
  375. package/libs/index.js +20 -0
  376. package/mui-config/theme-provider.js +17 -0
  377. package/mui-config/theme.js +371 -0
  378. package/package-lock.json +10177 -0
  379. package/package.json +95 -0
  380. package/store/index.js +33 -0
  381. package/store/middleware/navigationMiddleware.js +48 -0
  382. package/store/slices/appConfigSlice.js +103 -0
  383. package/store/slices/authSlice.js +508 -0
  384. package/store/slices/i18nSlice.js +206 -0
  385. package/types/index.js +15 -0
  386. package/utils/dataset-util.js +174 -0
  387. package/utils/eval-expression.js +32 -0
  388. package/utils/form-state.util.js +140 -0
  389. package/utils/form-utils.js +187 -0
  390. package/utils/format-util.js +260 -0
  391. package/utils/page-params-util.js +24 -0
  392. package/utils/resource-url.js +27 -0
  393. package/utils/state-persistance.js +343 -0
  394. package/utils/style-utils.js +73 -0
  395. package/utils/transformedDataset-utils.js +633 -0
  396. package/utils/widget-cleanup-util.js +84 -0
  397. package/utils/widgets.js +99 -0
  398. package/variables/base-variable.js +173 -0
  399. package/variables/constants.js +27 -0
  400. package/variables/live-variable.js +166 -0
  401. package/variables/model-variable.js +77 -0
  402. package/variables/service-variable.js +307 -0
@@ -0,0 +1,344 @@
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"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
14
+ var _NativeSelect = _interopRequireDefault(require("@mui/material/NativeSelect"));
15
+ var _transformedDatasetUtils = require("@wavemaker/react-runtime/utils/transformedDataset-utils");
16
+ var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
17
+ var _material = require("@mui/material");
18
+ var _withFormController = _interopRequireDefault(require("@wavemaker/react-runtime/components/data/form/form-controller/withFormController"));
19
+ 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); }
20
+ var __jsx = _react["default"].createElement;
21
+ 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; }
22
+ 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; }
23
+ var WmSelect = /*#__PURE__*/_react["default"].memo(function (props) {
24
+ var _ref;
25
+ var autofocus = props.autofocus,
26
+ className = props.className,
27
+ _props$datafield = props.datafield,
28
+ datafield = _props$datafield === void 0 ? "key" : _props$datafield,
29
+ dataset = props.dataset,
30
+ datavalue = props.datavalue,
31
+ _props$disabled = props.disabled,
32
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
33
+ displayexpression = props.displayexpression,
34
+ displaylabel = props.displaylabel,
35
+ _props$displayfield = props.displayfield,
36
+ displayfield = _props$displayfield === void 0 ? "value" : _props$displayfield,
37
+ groupby = props.groupby,
38
+ hint = props.hint,
39
+ dataPath = props.dataPath,
40
+ arialabel = props.arialabel,
41
+ _props$multiple = props.multiple,
42
+ multiple = _props$multiple === void 0 ? false : _props$multiple,
43
+ name = props.name,
44
+ styles = props.styles,
45
+ orderby = props.orderby,
46
+ placeholder = props.placeholder,
47
+ _props$readonly = props.readonly,
48
+ readonly = _props$readonly === void 0 ? false : _props$readonly,
49
+ _props$required = props.required,
50
+ required = _props$required === void 0 ? false : _props$required,
51
+ shortcutkey = props.shortcutkey,
52
+ listener = props.listener,
53
+ _props$tabindex = props.tabindex,
54
+ tabindex = _props$tabindex === void 0 ? 0 : _props$tabindex,
55
+ onClick = props.onClick,
56
+ onChange = props.onChange,
57
+ onBlur = props.onBlur,
58
+ onFocus = props.onFocus,
59
+ onKeyDown = props.onKeyDown,
60
+ onEnter = props.onEnter,
61
+ onMouseEnter = props.onMouseEnter,
62
+ onMouseLeave = props.onMouseLeave,
63
+ onKeyUp = props.onKeyUp;
64
+ var DEFAULT_CLASS = "app-select-wrapper ng-dirty";
65
+ var selectRef = (0, _react.useRef)(null);
66
+ var _useState = (0, _react.useState)(""),
67
+ displayValue = _useState[0],
68
+ setDisplayValue = _useState[1];
69
+ var _useState2 = (0, _react.useState)(multiple ? Array.isArray(datavalue) ? datavalue : datavalue ? [datavalue] : [] : datavalue),
70
+ localDatavalue = _useState2[0],
71
+ setLocalDatavalue = _useState2[1];
72
+ var _useState3 = (0, _react.useState)(false),
73
+ isTouched = _useState3[0],
74
+ setIsTouched = _useState3[1];
75
+ var _useState4 = (0, _react.useState)(false),
76
+ showError = _useState4[0],
77
+ setShowError = _useState4[1];
78
+ var _useState5 = (0, _react.useState)(false),
79
+ isDirty = _useState5[0],
80
+ setIsDirty = _useState5[1];
81
+ var _useState6 = (0, _react.useState)(datavalue),
82
+ prevDatavalue = _useState6[0],
83
+ setPrevDatavalue = _useState6[1];
84
+ var transformedDataset = (0, _transformedDatasetUtils.transformDataset)(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath);
85
+ var validateInput = (0, _react.useCallback)(function (value) {
86
+ // Handle special case value
87
+ if (value === "") {
88
+ return {
89
+ isValid: !required,
90
+ message: required ? "This field is required" : ""
91
+ };
92
+ }
93
+ if (!value || !value.toString().trim()) {
94
+ return {
95
+ isValid: !required,
96
+ message: required ? "This field is required" : ""
97
+ };
98
+ }
99
+ return {
100
+ isValid: true,
101
+ message: ""
102
+ };
103
+ }, [required]);
104
+
105
+ // Handle value change
106
+ var handleValueChange = function handleValueChange(event) {
107
+ var _listener$Widgets, _transformedDataset;
108
+ var newValue = multiple ? Array.from(event.target.selectedOptions, function (option) {
109
+ return option.value;
110
+ }) : event.target.selectedIndex;
111
+ if (multiple) {
112
+ // Filter out placeholder value from multiple selection
113
+ var filteredValues = newValue.filter(function (val) {
114
+ return val !== placeholder;
115
+ });
116
+ setLocalDatavalue(filteredValues);
117
+ var selectedTexts = Array.from(event.target.selectedOptions, function (option) {
118
+ return option.text;
119
+ }).filter(function (text) {
120
+ return text !== placeholder;
121
+ });
122
+ setDisplayValue(selectedTexts.join(", "));
123
+ if (listener !== null && listener !== void 0 && listener.onChange) {
124
+ if (filteredValues.length === 0) {
125
+ // If only placeholder is selected or no valid selections, return empty array
126
+ listener.onChange(props.fieldName || name, {
127
+ datavalue: [],
128
+ displayValue: []
129
+ });
130
+ } else {
131
+ var findItem = function findItem(val) {
132
+ return transformedDataset.find(function (item) {
133
+ return (0, _typeof2["default"])(item.value) === "object" ? String(item.key) === String(val) : String(item.value) === String(val);
134
+ });
135
+ };
136
+ var selectedValues = filteredValues.map(function (val) {
137
+ var item = findItem(val);
138
+ return item ? item.value : val;
139
+ });
140
+ var selectedDisplayValues = filteredValues.map(function (val) {
141
+ var item = findItem(val);
142
+ return item ? item.label : val;
143
+ });
144
+ listener.onChange(props.fieldName || name, {
145
+ datavalue: selectedValues,
146
+ displayValue: selectedDisplayValues
147
+ });
148
+ }
149
+ }
150
+ } else {
151
+ var _event$target$options;
152
+ setLocalDatavalue(event.target.value);
153
+ setDisplayValue(((_event$target$options = event.target.options[event.target.selectedIndex]) === null || _event$target$options === void 0 ? void 0 : _event$target$options.text) || "");
154
+ if (listener !== null && listener !== void 0 && listener.onChange) {
155
+ if (newValue === 0 || event.target.value === placeholder) {
156
+ listener.onChange(props.fieldName || name, {
157
+ datavalue: "",
158
+ displayValue: ""
159
+ });
160
+ } else {
161
+ listener.onChange(props.fieldName || name, {
162
+ datavalue: transformedDataset[newValue - 1].value,
163
+ displayValue: transformedDataset[newValue - 1].label
164
+ });
165
+ }
166
+ }
167
+ }
168
+ if (onChange) onChange === null || onChange === void 0 || onChange(event, listener === null || listener === void 0 || (_listener$Widgets = listener.Widgets) === null || _listener$Widgets === void 0 ? void 0 : _listener$Widgets[name], (transformedDataset === null || transformedDataset === void 0 || (_transformedDataset = transformedDataset[newValue - 1]) === null || _transformedDataset === void 0 ? void 0 : _transformedDataset.value) || "en", prevDatavalue);
169
+ setPrevDatavalue(newValue);
170
+ };
171
+ var handleBlur = function handleBlur(e) {
172
+ var newValue = e.target.value;
173
+ var selectedItem = transformedDataset.find(function (item) {
174
+ return String(item.value) === newValue;
175
+ });
176
+ var validation = validateInput(selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.value);
177
+ setIsTouched(true);
178
+ if (!validation.isValid) {
179
+ setIsDirty(true);
180
+ } else {
181
+ setIsDirty(false);
182
+ }
183
+ setShowError(!validation.isValid);
184
+ onBlur === null || onBlur === void 0 || onBlur(e, props);
185
+ };
186
+
187
+ // Handle floating label behavior
188
+ var handleFloatingLabel = (0, _react.useCallback)(function (event) {
189
+ var _selectRef$current, _selectRef$current2, _selectRef$current3;
190
+ var captionEl = (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.closest(".app-composite-widget.caption-floating");
191
+ if (!captionEl) return;
192
+ var placeholderOption = (_selectRef$current2 = selectRef.current) === null || _selectRef$current2 === void 0 ? void 0 : _selectRef$current2.querySelector("#placeholderOption");
193
+ if (!placeholderOption) return;
194
+ if (event.type === "mousedown" && (!datavalue || datavalue && ((_selectRef$current3 = selectRef.current) === null || _selectRef$current3 === void 0 || (_selectRef$current3 = _selectRef$current3.querySelector("option:checked")) === null || _selectRef$current3 === void 0 ? void 0 : _selectRef$current3.textContent) === "")) {
195
+ if (placeholder) {
196
+ placeholderOption.textContent = placeholder;
197
+ }
198
+ } else if (!datavalue) {
199
+ if (placeholder) {
200
+ placeholderOption.textContent = "";
201
+ }
202
+ captionEl.classList.remove("float-active");
203
+ }
204
+ }, [datavalue, placeholder]);
205
+ var handleKeyDown = (0, _react.useCallback)(function (event) {
206
+ if (event.key === "Enter") {
207
+ onEnter === null || onEnter === void 0 || onEnter(event);
208
+ }
209
+ onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);
210
+ }, [onEnter, onKeyDown]);
211
+ (0, _react.useEffect)(function () {
212
+ if (datavalue !== undefined) {
213
+ if (multiple) {
214
+ var normalizedValue = Array.isArray(datavalue) ? datavalue : datavalue ? [datavalue] : [];
215
+ var selectedOptions = normalizedValue.map(function (val) {
216
+ return transformedDataset.find(function (item) {
217
+ return String(item.value) === String(val);
218
+ });
219
+ });
220
+ var displayText = selectedOptions.map(function (option) {
221
+ return option === null || option === void 0 ? void 0 : option.label;
222
+ }).join(", ");
223
+ setDisplayValue(displayText);
224
+ } else {
225
+ var selectedOption = transformedDataset.find(function (item) {
226
+ return item.selected;
227
+ });
228
+ if (selectedOption) {
229
+ setDisplayValue(selectedOption.label);
230
+ }
231
+ }
232
+ }
233
+ }, [transformedDataset, datavalue, multiple]);
234
+
235
+ // Sync localDatavalue with incoming datavalue prop
236
+ (0, _react.useEffect)(function () {
237
+ if (multiple) {
238
+ var normalizedValue = Array.isArray(datavalue) ? datavalue : datavalue ? [datavalue] : [];
239
+ if (JSON.stringify(normalizedValue) !== JSON.stringify(localDatavalue)) {
240
+ setLocalDatavalue(normalizedValue);
241
+ }
242
+ } else {
243
+ if (datavalue !== localDatavalue) {
244
+ setLocalDatavalue(datavalue);
245
+ }
246
+ }
247
+ }, [datavalue, multiple]);
248
+ var handleClick = (0, _react.useCallback)(function (event) {
249
+ onClick === null || onClick === void 0 || onClick(event);
250
+ }, [onClick]);
251
+ var handleFocus = (0, _react.useCallback)(function (event) {
252
+ onFocus === null || onFocus === void 0 || onFocus(event);
253
+ }, [onFocus]);
254
+ var handleMouseEnter = (0, _react.useCallback)(function (event) {
255
+ onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter(event);
256
+ }, [onMouseEnter]);
257
+ var handleMouseLeave = (0, _react.useCallback)(function (event) {
258
+ onMouseLeave === null || onMouseLeave === void 0 || onMouseLeave(event);
259
+ }, [onMouseLeave]);
260
+ var handleKeyUp = (0, _react.useCallback)(function (event) {
261
+ onKeyUp === null || onKeyUp === void 0 || onKeyUp(event);
262
+ }, [onKeyUp]);
263
+ var events = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
264
+ onChange: handleValueChange,
265
+ onBlur: function onBlur(e) {
266
+ handleFloatingLabel(e);
267
+ handleBlur(e);
268
+ }
269
+ }, onFocus ? {
270
+ onFocus: handleFocus
271
+ } : {}), onKeyDown ? {
272
+ onKeyDown: handleKeyDown
273
+ } : {}), onKeyUp ? {
274
+ onKeyUp: handleKeyUp
275
+ } : {}), onClick ? {
276
+ onClick: handleClick
277
+ } : {}), onMouseEnter ? {
278
+ onMouseEnter: handleMouseEnter
279
+ } : {}), onMouseLeave ? {
280
+ onMouseLeave: handleMouseLeave
281
+ } : {});
282
+ return __jsx(_material.Box, {
283
+ sx: {
284
+ display: "inherit !important"
285
+ },
286
+ className: (0, _clsx["default"])(DEFAULT_CLASS, isTouched ? "ng-touched" : "ng-untouched", isDirty ? "ng-invalid" : "ng-valid")
287
+ }, __jsx(_NativeSelect["default"], (0, _extends2["default"])({
288
+ key: name,
289
+ IconComponent: function IconComponent() {
290
+ return null;
291
+ },
292
+ value: multiple ? Array.isArray(localDatavalue) ? localDatavalue : [] : (_ref = localDatavalue !== null && localDatavalue !== void 0 ? localDatavalue : placeholder) !== null && _ref !== void 0 ? _ref : ""
293
+ }, events, {
294
+ sx: {
295
+ "& .MuiNativeSelect-select": _objectSpread(_objectSpread({}, styles), {}, {
296
+ WebkitAppearance: (styles === null || styles === void 0 ? void 0 : styles.WebkitAppearance) || "auto"
297
+ })
298
+ },
299
+ inputProps: {
300
+ id: name,
301
+ name: name,
302
+ required: required,
303
+ autoFocus: autofocus,
304
+ tabIndex: tabindex,
305
+ "aria-label": arialabel,
306
+ multiple: multiple,
307
+ disabled: disabled || readonly,
308
+ "aria-readonly": readonly,
309
+ className: "app-select ".concat(className, " form-control ng-valid ng-touched ng-dirty wm-app "),
310
+ accessKey: shortcutkey,
311
+ title: hint
312
+ }
313
+ }), __jsx("option", {
314
+ value: placeholder,
315
+ id: "placeholderOption",
316
+ key: "placeholder-text",
317
+ hidden: !placeholder
318
+ }, placeholder), groupby && transformedDataset ? transformedDataset.map(function (group) {
319
+ return __jsx("optgroup", {
320
+ key: group.key,
321
+ label: group.key,
322
+ style: {
323
+ backgroundColor: "rgba(0, 0, 0, .1)"
324
+ }
325
+ }, group.data.map(function (item) {
326
+ return __jsx("option", {
327
+ key: "".concat(group.key, "-").concat(item.key),
328
+ value: (0, _typeof2["default"])(item.value) === "object" ? item.key : item.value
329
+ }, item.label);
330
+ }));
331
+ }) : transformedDataset && transformedDataset.map(function (item) {
332
+ return __jsx("option", {
333
+ key: item.key,
334
+ value: (0, _typeof2["default"])(item.value) === "object" ? item.key : item.value
335
+ }, item.label);
336
+ })));
337
+ }, function (prevProps, nextProps) {
338
+ var keys = ["dataset", "datafield", "displayfield", "displaylabel", "displayexpression", "orderby", "groupby", "dataPath", "arialabel", "multiple", "styles", "autofocus", "disabled", "readonly", "required", "datavalue"];
339
+ return keys.every(function (key) {
340
+ return prevProps[key] === nextProps[key];
341
+ });
342
+ });
343
+ WmSelect.displayName = "WmSelect";
344
+ var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)((0, _withFormController["default"])(WmSelect));
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _clsx = _interopRequireDefault(require("clsx"));
12
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
13
+ var _input = require("@base-ui-components/react/input");
14
+ var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
15
+ var _withFormController = _interopRequireDefault(require("@wavemaker/react-runtime/components/data/form/form-controller/withFormController"));
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
17
+ var __jsx = _react["default"].createElement;
18
+ 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; }
19
+ 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; }
20
+ var DEFAULT_CLASS = "app-slider slider";
21
+ var WmSlider = /*#__PURE__*/(0, _react.memo)(function (props) {
22
+ var className = props["class"],
23
+ _props$disabled = props.disabled,
24
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
25
+ hint = props.hint,
26
+ name = props.name,
27
+ shortcutkey = props.shortcutkey,
28
+ _props$readonly = props.readonly,
29
+ readonly = _props$readonly === void 0 ? false : _props$readonly,
30
+ _props$tabindex = props.tabindex,
31
+ tabindex = _props$tabindex === void 0 ? 0 : _props$tabindex,
32
+ _props$datavalue = props.datavalue,
33
+ datavalue = _props$datavalue === void 0 ? 0 : _props$datavalue,
34
+ _props$minvalue = props.minvalue,
35
+ minvalue = _props$minvalue === void 0 ? 0 : _props$minvalue,
36
+ _props$maxvalue = props.maxvalue,
37
+ maxvalue = _props$maxvalue === void 0 ? 100 : _props$maxvalue,
38
+ _props$step = props.step,
39
+ step = _props$step === void 0 ? 1 : _props$step,
40
+ onChange = props.onChange,
41
+ styles = props.styles,
42
+ listener = props.listener,
43
+ height = props.height,
44
+ width = props.width,
45
+ arialabel = props.arialabel;
46
+ var _useState = (0, _react.useState)(datavalue),
47
+ value = _useState[0],
48
+ setValue = _useState[1];
49
+ var prevDatavalueRef = (0, _react.useRef)(datavalue);
50
+ var sliderRef = (0, _react.useRef)(null);
51
+ var _useState2 = (0, _react.useState)(false),
52
+ isTouched = _useState2[0],
53
+ setIsTouched = _useState2[1];
54
+ var _useState3 = (0, _react.useState)(false),
55
+ isDirty = _useState3[0],
56
+ setIsDirty = _useState3[1];
57
+ (0, _react.useEffect)(function () {
58
+ if (datavalue !== prevDatavalueRef.current) {
59
+ setValue(datavalue);
60
+ prevDatavalueRef.current = datavalue;
61
+ }
62
+ }, [datavalue, listener]);
63
+ (0, _react.useEffect)(function () {
64
+ if (props.datavalue !== value) {
65
+ setValue(props.datavalue || 0);
66
+ }
67
+ }, [props.datavalue]);
68
+
69
+ // Fix keyboard event handler type - use regular KeyboardEvent instead of React.KeyboardEvent
70
+ var handleKeyDown = (0, _react.useCallback)(function (event) {
71
+ if (event.altKey && shortcutkey && event.key.toLowerCase() === shortcutkey.toLowerCase()) {
72
+ var _sliderRef$current;
73
+ event.preventDefault();
74
+ (_sliderRef$current = sliderRef.current) === null || _sliderRef$current === void 0 || _sliderRef$current.focus();
75
+ }
76
+ }, [shortcutkey]);
77
+ var handleInputChange = (0, _react.useCallback)(function (event) {
78
+ var newVal = Number(event.target.value);
79
+ setValue(newVal);
80
+ if (listener !== null && listener !== void 0 && listener.Widgets[name]) {
81
+ listener.Widgets[name].displayValue = newVal;
82
+ }
83
+ if (onChange) {
84
+ onChange(event, listener === null || listener === void 0 ? void 0 : listener.Widgets[name], newVal, prevDatavalueRef.current);
85
+ }
86
+ if (listener !== null && listener !== void 0 && listener.onChange) {
87
+ listener.onChange(name, _objectSpread(_objectSpread({}, props), {}, {
88
+ datavalue: newVal
89
+ }));
90
+ }
91
+ prevDatavalueRef.current = newVal;
92
+ }, [onChange, listener, name]);
93
+ var handleBlur = (0, _react.useCallback)(function (e) {
94
+ setIsTouched(true);
95
+ }, [listener, name, props, value]);
96
+ (0, _react.useEffect)(function () {
97
+ // Only disable keyboard shortcuts when disabled OR readonly
98
+ if (!disabled && !readonly) {
99
+ window.addEventListener("keydown", handleKeyDown);
100
+ return function () {
101
+ return window.removeEventListener("keydown", handleKeyDown);
102
+ };
103
+ }
104
+ }, [disabled, readonly, handleKeyDown]);
105
+ (0, _react.useEffect)(function () {
106
+ if (disabled || readonly) return;
107
+ var element = sliderRef.current;
108
+ if (!element) return;
109
+ var closestParent = element.closest("[wmList]");
110
+ if (closestParent) {
111
+ var handleParentKeyDown = function handleParentKeyDown(event) {
112
+ var keyEvent = event;
113
+ if ([37, 38, 39, 40].includes(keyEvent.keyCode)) {
114
+ keyEvent.stopPropagation();
115
+ }
116
+ };
117
+ closestParent.addEventListener("keydown", handleParentKeyDown);
118
+ return function () {
119
+ return closestParent.removeEventListener("keydown", handleParentKeyDown);
120
+ };
121
+ }
122
+ }, [sliderRef, disabled, readonly]);
123
+ return __jsx(_Box["default"], {
124
+ className: (0, _clsx["default"])(DEFAULT_CLASS, className, isTouched ? "ng-touched" : "ng-untouched", isDirty ? "ng-invalid" : "ng-valid"),
125
+ sx: _objectSpread(_objectSpread({}, styles), {}, {
126
+ height: height,
127
+ width: width
128
+ })
129
+ }, (minvalue || maxvalue) && __jsx(_react["default"].Fragment, null, __jsx(_Box["default"], {
130
+ component: "span",
131
+ className: "app-slider-value pull-left"
132
+ }, minvalue || minvalue == 0 ? minvalue : null), __jsx(_Box["default"], {
133
+ component: "span",
134
+ className: "app-slider-value pull-right"
135
+ }, maxvalue || maxvalue == 0 ? maxvalue : null)), __jsx(_input.Input, {
136
+ type: "range",
137
+ ref: sliderRef,
138
+ className: "range-input ng-dirty ".concat(isTouched ? "ng-touched" : "ng-untouched", " ").concat(isDirty ? "ng-invalid" : "ng-valid"),
139
+ step: step,
140
+ value: value,
141
+ onChange: handleInputChange,
142
+ min: minvalue,
143
+ max: maxvalue,
144
+ disabled: disabled // Only disabled when explicitly disabled, not when readonly
145
+ ,
146
+ "aria-label": name || "slider",
147
+ "aria-orientation": "horizontal",
148
+ role: "slider",
149
+ "aria-valuenow": value,
150
+ "aria-valuemin": minvalue,
151
+ "aria-valuemax": maxvalue,
152
+ tabIndex: tabindex,
153
+ title: hint,
154
+ onBlur: handleBlur
155
+ }), readonly && __jsx(_Box["default"], {
156
+ className: "readonly-wrapper",
157
+ "aria-readonly": "true"
158
+ }));
159
+ }, function (prev, current) {
160
+ // Enhanced memo comparison
161
+ var keys = ["datavalue", "disabled", "readonly", "minvalue", "maxvalue", "step", "class", "styles"];
162
+ return keys.every(function (key) {
163
+ return prev[key] === current[key];
164
+ });
165
+ });
166
+ WmSlider.displayName = "WmSlider";
167
+ var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)((0, _withFormController["default"])(WmSlider));
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });