@wavemaker/react-runtime 11.14.1-rc.236

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 +10183 -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,134 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isValidFile = exports.handleErrorFiles = exports.getValidFiles = exports.getDefaultChooseFilter = exports.generateFileId = exports.dialogService = exports.clearFile = void 0;
7
+ var _lodashEs = require("lodash-es");
8
+ var _constants = require("../../constants");
9
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
10
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
11
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
12
+ // Simple app function to call notifyApp on listener
13
+ var app = function app(listener) {
14
+ return {
15
+ notifyApp: function notifyApp(message, type) {
16
+ if (listener && listener.App && listener.App.notifyApp) {
17
+ listener.App.notifyApp(message, type);
18
+ }
19
+ }
20
+ };
21
+ };
22
+ var dialogService = exports.dialogService = {
23
+ showAppConfirmDialog: function showAppConfirmDialog(_ref) {
24
+ var title = _ref.title,
25
+ message = _ref.message,
26
+ onOk = _ref.onOk,
27
+ onCancel = _ref.onCancel;
28
+ if (confirm("".concat(title, ": ").concat(message))) {
29
+ onOk();
30
+ } else {
31
+ onCancel();
32
+ }
33
+ },
34
+ closeAppConfirmDialog: function closeAppConfirmDialog() {}
35
+ };
36
+ var getDefaultChooseFilter = exports.getDefaultChooseFilter = function getDefaultChooseFilter(allowedExtensions) {
37
+ return allowedExtensions.includes("*/*") ? "" : allowedExtensions.join(" ");
38
+ };
39
+ var isValidFile = exports.isValidFile = function isValidFile(filename, contenttype, extensionName) {
40
+ if (!contenttype) {
41
+ return true;
42
+ }
43
+ var contentTypes = contenttype.toLowerCase().split(" ").map(function (type) {
44
+ return type.trim();
45
+ });
46
+
47
+ // Check for direct extension match (e.g., ".csv", ".pdf")
48
+ if (contentTypes.some(function (type) {
49
+ return type === ".".concat(extensionName.toLowerCase());
50
+ })) {
51
+ return true;
52
+ }
53
+
54
+ // Check for MIME type patterns
55
+ var _iterator = _createForOfIteratorHelper(contentTypes),
56
+ _step;
57
+ try {
58
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
59
+ var type = _step.value;
60
+ if (type === "image/*" || type === "image") {
61
+ if ((0, _constants.isImageFile)(filename)) return true;
62
+ }
63
+ if (type === "audio/*" || type === "audio") {
64
+ if ((0, _constants.isAudioFile)(filename)) return true;
65
+ }
66
+ if (type === "video/*" || type === "video") {
67
+ if ((0, _constants.isVideoFile)(filename)) return true;
68
+ }
69
+ if (type === "document" || type === "pdf" || type === "doc") {
70
+ if ((0, _constants.isDocumentFile)(filename)) return true;
71
+ }
72
+ }
73
+ } catch (err) {
74
+ _iterator.e(err);
75
+ } finally {
76
+ _iterator.f();
77
+ }
78
+ return false;
79
+ };
80
+ var getValidFiles = exports.getValidFiles = function getValidFiles($files, contenttype, extensions, filetype, chooseFilter, maxfilesize, onError, listener) {
81
+ var validFiles = [];
82
+ var errorFiles = [];
83
+ var MAXFILEUPLOAD_SIZE = (typeof maxfilesize === "number" ? maxfilesize : parseFloat(maxfilesize || "10")) * _constants.fileUploadConstants.DEFAULT_VALUES.FILESIZE_MB;
84
+ var MAX_FILE_UPLOAD_FORMATTED_SIZE = (maxfilesize || "1") + "MB";
85
+ var currentChooseFilter = chooseFilter === _constants.fileUploadConstants.DEFAULT_CLASSES.DEVICE_CONTENTTYPES.FILES ? "" : contenttype || extensions || filetype || chooseFilter;
86
+ (0, _lodashEs.forEach)($files, function (file) {
87
+ // Check file extension
88
+ if (!isValidFile(file.name, currentChooseFilter, (0, _constants.getFileExtension)(file.name))) {
89
+ var msg = "Invalid file extension ".concat(currentChooseFilter);
90
+ handleErrorFiles("INVALID_FILE_EXTENSION", msg, file, errorFiles, onError, listener);
91
+ return;
92
+ }
93
+ // Check file size
94
+ if (file.size > MAXFILEUPLOAD_SIZE) {
95
+ var _msg = "File size exceeded limit. Max upload size is ".concat(MAX_FILE_UPLOAD_FORMATTED_SIZE);
96
+ handleErrorFiles("INVALID_FILE_SIZE", _msg, file, errorFiles, onError, listener);
97
+ return;
98
+ }
99
+ validFiles.push(file);
100
+ });
101
+ return {
102
+ validFiles: validFiles,
103
+ errorFiles: errorFiles
104
+ };
105
+ };
106
+ var handleErrorFiles = exports.handleErrorFiles = function handleErrorFiles(key, msg, file, errorFiles, onError, listener) {
107
+ if (!onError) {
108
+ app(listener).notifyApp(msg, "Error");
109
+ }
110
+ var error = {
111
+ key: key,
112
+ message: msg
113
+ };
114
+ onError === null || onError === void 0 || onError(event, listener, file);
115
+ file.error = error;
116
+ errorFiles.push(file);
117
+ };
118
+ var clearFile = exports.clearFile = function clearFile(files, file) {
119
+ return files.filter(function (fileObj) {
120
+ var _fileObj$_response, _response;
121
+ var fileObjResponse = (_fileObj$_response = fileObj._response) === null || _fileObj$_response === void 0 ? void 0 : _fileObj$_response.fileName;
122
+ var fileResponse = (_response = file._response) === null || _response === void 0 ? void 0 : _response.fileName;
123
+ return fileObjResponse !== fileResponse || fileObj.name !== file.name || file !== fileObj;
124
+ });
125
+ };
126
+ var generateFileId = exports.generateFileId = function generateFileId() {
127
+ // Use crypto.randomUUID() if available (modern browsers), fallback to custom implementation
128
+ if (typeof window !== "undefined" && typeof crypto !== "undefined" && crypto.randomUUID) {
129
+ return "file-" + crypto.randomUUID();
130
+ }
131
+
132
+ // Fallback for older browsers
133
+ return "file-" + Date.now().toString(36) + Math.random().toString(36).substr(2);
134
+ };
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.ListItem = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
11
+ var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
12
+ var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText"));
13
+ var _List = _interopRequireDefault(require("@mui/material/List"));
14
+ var _Folder = _interopRequireDefault(require("@mui/icons-material/Folder"));
15
+ var _Clear = _interopRequireDefault(require("@mui/icons-material/Clear"));
16
+ var _constants = require("../../../constants");
17
+ var __jsx = _react["default"].createElement;
18
+ var CommonFile = function CommonFile(_ref) {
19
+ var uploadedFiles = _ref.uploadedFiles,
20
+ selectedFolders = _ref.selectedFolders,
21
+ filelistheight = _ref.filelistheight,
22
+ readonly = _ref.readonly,
23
+ clearSelectedFile = _ref.clearSelectedFile,
24
+ onBeforedelete = _ref.onBeforedelete,
25
+ onFileDelete = _ref.onFileDelete,
26
+ setSelectedFolders = _ref.setSelectedFolders;
27
+ var fileUploadComponents = [];
28
+ // Render uploaded files list
29
+ if (uploadedFiles.length > 0) {
30
+ fileUploadComponents.push(__jsx("div", {
31
+ key: "file-list",
32
+ className: "file-list-container",
33
+ style: {
34
+ maxHeight: filelistheight || 400,
35
+ overflow: "auto"
36
+ }
37
+ }, __jsx(_List["default"], {
38
+ className: "list-group file-upload",
39
+ dense: true
40
+ }, uploadedFiles.map(function (file, index) {
41
+ return __jsx(ListItem, {
42
+ key: file.uniqueId || "file-".concat(index),
43
+ file: file,
44
+ index: index,
45
+ clearSelectedFile: clearSelectedFile,
46
+ onBeforedelete: onBeforedelete,
47
+ onFileDelete: onFileDelete
48
+ });
49
+ }))));
50
+ }
51
+
52
+ // Render selected folders list
53
+ if (selectedFolders.length > 0) {
54
+ fileUploadComponents.push(__jsx(_List["default"], {
55
+ key: "folder-list",
56
+ dense: true
57
+ }, selectedFolders.map(function (folder, index) {
58
+ return __jsx("li", {
59
+ key: index,
60
+ className: "file-upload-status error"
61
+ }, __jsx(_ListItemIcon["default"], null, __jsx(_Folder["default"], null)), __jsx(_ListItemText["default"], {
62
+ primary: folder.name,
63
+ secondary: "Folders cannot be uploaded"
64
+ }), __jsx(_IconButton["default"], {
65
+ onClick: function onClick() {
66
+ return setSelectedFolders(function (prev) {
67
+ return prev.filter(function (_, i) {
68
+ return i !== index;
69
+ });
70
+ });
71
+ },
72
+ edge: "end",
73
+ "aria-label": "clear",
74
+ size: "small",
75
+ disabled: readonly
76
+ }, __jsx(_Clear["default"], {
77
+ fontSize: "small"
78
+ })));
79
+ })));
80
+ }
81
+ return __jsx(_react["default"].Fragment, null, fileUploadComponents);
82
+ };
83
+ var _default = exports["default"] = CommonFile;
84
+ var ListItem = exports.ListItem = function ListItem(_ref2) {
85
+ var _file$_response$;
86
+ var file = _ref2.file,
87
+ index = _ref2.index,
88
+ clearSelectedFile = _ref2.clearSelectedFile,
89
+ onBeforedelete = _ref2.onBeforedelete,
90
+ onFileDelete = _ref2.onFileDelete;
91
+ return __jsx("li", {
92
+ key: "file-".concat(file.uniqueId || index),
93
+ className: "file-upload-status list-group-item ".concat(file.status || "")
94
+ }, __jsx(_Box["default"], {
95
+ component: "div",
96
+ className: "media upload-file-list",
97
+ sx: {
98
+ width: "100%"
99
+ }
100
+ }, __jsx("div", {
101
+ className: "".concat((0, _constants.getFileIconClass)(file.storageName || file.name), " file-icon media-left media-middle")
102
+ }), __jsx("div", {
103
+ className: "media-body media-middle file-details"
104
+ }, __jsx("p", {
105
+ className: "uploaddetails col-md-3"
106
+ }, __jsx("span", {
107
+ className: "upload-title"
108
+ }, file.storageName || file.name), file.status === "success" && __jsx("span", {
109
+ className: "status-icon text-success wi wi-check-circle"
110
+ }), __jsx("br", null), __jsx("span", {
111
+ className: "filesize"
112
+ }, Math.round((file._response && ((_file$_response$ = file._response[0]) === null || _file$_response$ === void 0 ? void 0 : _file$_response$.length) || file.size || 0) / 1024), " ", "KB"), file.status === "error" && __jsx("span", {
113
+ className: "status-icon status-icon text-danger wi wi-error"
114
+ }), file.status === "error" && __jsx("span", {
115
+ className: "error-message"
116
+ }, "Upload Failed")), file.status === "onProgress" && file.progress !== undefined && file.progress >= 0 && __jsx("div", {
117
+ className: "col-md-1 upload-progress-percentage"
118
+ }, file.progress || 0, "%")), __jsx("div", {
119
+ className: "media-right media-middle"
120
+ }, __jsx("a", {
121
+ type: "button",
122
+ className: "btn btn-transparent btn-default status-icon",
123
+ onClick: function onClick() {
124
+ clearSelectedFile(file);
125
+ }
126
+ }, __jsx("i", {
127
+ className: "wi wi-clear"
128
+ }))), __jsx("div", {
129
+ className: "media-right media-middle"
130
+ }, __jsx("a", {
131
+ type: "button",
132
+ className: "btn btn-transparent btn-default status-icon",
133
+ onClick: function onClick(e) {
134
+ onBeforedelete === null || onBeforedelete === void 0 || onBeforedelete(e, file);
135
+ onFileDelete(e, file);
136
+ }
137
+ }, __jsx("i", {
138
+ className: "wi wi-delete"
139
+ })))));
140
+ };
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
+ var __jsx = _react["default"].createElement;
11
+ var MultipleFileUpload = function MultipleFileUpload(_ref) {
12
+ var fileInputRef = _ref.fileInputRef,
13
+ multiple = _ref.multiple,
14
+ contenttype = _ref.contenttype,
15
+ extensions = _ref.extensions,
16
+ filetype = _ref.filetype,
17
+ _ref$caption = _ref.caption,
18
+ caption = _ref$caption === void 0 ? "Upload" : _ref$caption,
19
+ chooseFilter = _ref.chooseFilter,
20
+ disabled = _ref.disabled,
21
+ readonly = _ref.readonly,
22
+ required = _ref.required,
23
+ arialabel = _ref.arialabel,
24
+ displayname = _ref.displayname,
25
+ tabindex = _ref.tabindex,
26
+ iconclass = _ref.iconclass,
27
+ fileuploadmessage = _ref.fileuploadmessage,
28
+ highlightDropArea = _ref.highlightDropArea,
29
+ triggerFileSelect = _ref.triggerFileSelect,
30
+ onFileSelect = _ref.onFileSelect,
31
+ dragOverHandler = _ref.dragOverHandler,
32
+ onFileDrop = _ref.onFileDrop,
33
+ setHighlightDropArea = _ref.setHighlightDropArea,
34
+ onBeforeselect = _ref.onBeforeselect,
35
+ styles = _ref.styles;
36
+ var handleClick = function handleClick(e) {
37
+ onBeforeselect === null || onBeforeselect === void 0 || onBeforeselect(e);
38
+ };
39
+ return __jsx("div", {
40
+ className: "app-multi-file-upload"
41
+ }, __jsx("div", {
42
+ className: "drop-box ".concat(highlightDropArea ? "highlight-drop-box" : ""),
43
+ id: "dropzone",
44
+ onClick: disabled || readonly ? undefined : triggerFileSelect,
45
+ onDragOver: dragOverHandler,
46
+ onDrop: onFileDrop,
47
+ onDragLeave: function onDragLeave() {
48
+ return setHighlightDropArea(false);
49
+ },
50
+ style: styles
51
+ }, __jsx("i", {
52
+ className: iconclass
53
+ }), __jsx("div", {
54
+ className: "message"
55
+ }, __jsx("label", {
56
+ className: "upload-label",
57
+ htmlFor: "Upload"
58
+ }, caption), __jsx(_Box["default"], {
59
+ component: "form",
60
+ className: "form-horizontal"
61
+ }, __jsx("input", {
62
+ ref: fileInputRef,
63
+ type: "file",
64
+ name: "files",
65
+ multiple: multiple,
66
+ accept: chooseFilter,
67
+ disabled: disabled || readonly,
68
+ required: required,
69
+ "aria-label": arialabel || displayname || "File selection field",
70
+ onChange: onFileSelect,
71
+ className: "file-input",
72
+ tabIndex: tabindex,
73
+ style: {
74
+ display: "none"
75
+ },
76
+ onClick: handleClick
77
+ }), __jsx("a", {
78
+ className: "app-anchor upload-label",
79
+ onClick: disabled || readonly ? undefined : triggerFileSelect
80
+ }, fileuploadmessage || "Drop your files here or click here to browse")), __jsx("label", {
81
+ className: "upload-extensions",
82
+ htmlFor: "extensions"
83
+ }, chooseFilter || "All files", " only", " "))));
84
+ };
85
+ var _default = exports["default"] = MultipleFileUpload;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
+ var __jsx = _react["default"].createElement;
11
+ var SingleFileUpload = function SingleFileUpload(_ref) {
12
+ var fileInputRef = _ref.fileInputRef,
13
+ caption = _ref.caption,
14
+ displayname = _ref.displayname,
15
+ contenttype = _ref.contenttype,
16
+ extensions = _ref.extensions,
17
+ filetype = _ref.filetype,
18
+ chooseFilter = _ref.chooseFilter,
19
+ disabled = _ref.disabled,
20
+ readonly = _ref.readonly,
21
+ required = _ref.required,
22
+ arialabel = _ref.arialabel,
23
+ tabindex = _ref.tabindex,
24
+ iconclass = _ref.iconclass,
25
+ styles = _ref.styles,
26
+ triggerFileSelect = _ref.triggerFileSelect,
27
+ onFileSelect = _ref.onFileSelect,
28
+ onBeforeselect = _ref.onBeforeselect;
29
+ var handleClick = function handleClick(e) {
30
+ onBeforeselect === null || onBeforeselect === void 0 || onBeforeselect(e);
31
+ };
32
+ return __jsx("div", {
33
+ className: "app-single-file-upload"
34
+ }, __jsx("div", {
35
+ className: "app-button-wrapper"
36
+ }, __jsx(_Box["default"], {
37
+ component: "form",
38
+ className: "form-horizontal"
39
+ }, __jsx("input", {
40
+ ref: fileInputRef,
41
+ type: "file",
42
+ name: "files",
43
+ accept: chooseFilter,
44
+ disabled: disabled || readonly,
45
+ required: required,
46
+ "aria-label": arialabel || displayname || "File selection field",
47
+ onChange: onFileSelect,
48
+ className: "file-input",
49
+ tabIndex: tabindex,
50
+ style: {
51
+ display: "none"
52
+ },
53
+ onClick: handleClick
54
+ }), __jsx("button", {
55
+ id: "dropzone",
56
+ type: "button",
57
+ className: "app-button btn btn-default",
58
+ onClick: disabled || readonly ? undefined : triggerFileSelect,
59
+ disabled: disabled || readonly,
60
+ style: styles
61
+ }, __jsx("i", {
62
+ className: iconclass
63
+ }), __jsx("span", null, caption || displayname || "Select File")))));
64
+ };
65
+ var _default = exports["default"] = SingleFileUpload;
@@ -0,0 +1,170 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
14
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
15
+ var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
16
+ var _constants = require("@wavemaker/react-runtime/components/constants");
17
+ var _useFileUpload2 = require("./useFileUpload");
18
+ var _SingleUpload = _interopRequireDefault(require("./components/SingleUpload"));
19
+ var _MultiUpload = _interopRequireDefault(require("./components/MultiUpload"));
20
+ var _ListItems = _interopRequireDefault(require("./components/ListItems"));
21
+ var _confirmDialog = _interopRequireDefault(require("@wavemaker/react-runtime/components/dialogs/confirm-dialog"));
22
+ var _excluded = ["fileInputRef", "chooseFilter", "highlightDropArea", "uploadedFiles", "selectedFolders", "setSelectedFolders", "dragOverHandler", "onFileSelect", "onFileDrop", "setHighlightDropArea", "clearSelectedFile", "triggerFileSelect", "onFileDelete", "confirmDialogOpen", "confirmDialogProps", "closeConfirmDialog"];
23
+ 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); }
24
+ var __jsx = _react["default"].createElement;
25
+ 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; }
26
+ 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; }
27
+ var WmFileUpload = /*#__PURE__*/(0, _react.memo)(function (props) {
28
+ var _props$caption = props.caption,
29
+ caption = _props$caption === void 0 ? _constants.fileUploadConstants.DEFAULT_CLASSES.DEFAULT_CAPTIONS.SELECT : _props$caption,
30
+ name = props.name,
31
+ hint = props.hint,
32
+ arialabel = props.arialabel,
33
+ _props$tabindex = props.tabindex,
34
+ tabindex = _props$tabindex === void 0 ? _constants.fileUploadConstants.DEFAULT_VALUES.TAB_INDEX : _props$tabindex,
35
+ _props$multiple = props.multiple,
36
+ multiple = _props$multiple === void 0 ? _constants.fileUploadConstants.DEFAULT_VALUES.MULTIPLE : _props$multiple,
37
+ _props$fileuploadmess = props.fileuploadmessage,
38
+ fileuploadmessage = _props$fileuploadmess === void 0 ? _constants.fileUploadConstants.DEFAULT_VALUES.FILEUPLOAD_MESSAGE : _props$fileuploadmess,
39
+ _props$disabled = props.disabled,
40
+ disabled = _props$disabled === void 0 ? !_constants.fileUploadConstants.DEFAULT_VALUES.ENABLED : _props$disabled,
41
+ _props$contenttype = props.contenttype,
42
+ contenttype = _props$contenttype === void 0 ? "" : _props$contenttype,
43
+ _props$iconclass = props.iconclass,
44
+ iconclass = _props$iconclass === void 0 ? _constants.fileUploadConstants.DEFAULT_VALUES.ICON_CLASS : _props$iconclass,
45
+ extensions = props.extensions,
46
+ filetype = props.filetype,
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
+ displayname = props.displayname,
52
+ _props$width = props.width,
53
+ width = _props$width === void 0 ? _constants.fileUploadConstants.DEFAULT_VALUES.WIDTH : _props$width,
54
+ height = props.height,
55
+ styles = props.styles,
56
+ className = props.className,
57
+ id = props.id,
58
+ filelistheight = props.filelistheight;
59
+ var _useFileUpload = (0, _useFileUpload2.useFileUpload)(props),
60
+ fileInputRef = _useFileUpload.fileInputRef,
61
+ chooseFilter = _useFileUpload.chooseFilter,
62
+ highlightDropArea = _useFileUpload.highlightDropArea,
63
+ uploadedFiles = _useFileUpload.uploadedFiles,
64
+ selectedFolders = _useFileUpload.selectedFolders,
65
+ setSelectedFolders = _useFileUpload.setSelectedFolders,
66
+ dragOverHandler = _useFileUpload.dragOverHandler,
67
+ onFileSelect = _useFileUpload.onFileSelect,
68
+ onFileDrop = _useFileUpload.onFileDrop,
69
+ setHighlightDropArea = _useFileUpload.setHighlightDropArea,
70
+ clearSelectedFile = _useFileUpload.clearSelectedFile,
71
+ triggerFileSelect = _useFileUpload.triggerFileSelect,
72
+ onFileDelete = _useFileUpload.onFileDelete,
73
+ confirmDialogOpen = _useFileUpload.confirmDialogOpen,
74
+ confirmDialogProps = _useFileUpload.confirmDialogProps,
75
+ closeConfirmDialog = _useFileUpload.closeConfirmDialog,
76
+ events = (0, _objectWithoutProperties2["default"])(_useFileUpload, _excluded);
77
+ var containerStyle = _objectSpread(_objectSpread({}, styles), {}, {
78
+ width: width !== "auto" ? width : undefined,
79
+ height: height || undefined
80
+ });
81
+ return __jsx(_Box["default"], {
82
+ component: "div",
83
+ className: (0, _clsx["default"])("app-fileupload", className),
84
+ id: id,
85
+ sx: containerStyle,
86
+ title: hint
87
+ }, !multiple ? __jsx(_SingleUpload["default"], (0, _extends2["default"])({
88
+ fileInputRef: fileInputRef,
89
+ caption: caption,
90
+ displayname: displayname,
91
+ contenttype: contenttype,
92
+ extensions: extensions,
93
+ filetype: filetype,
94
+ chooseFilter: chooseFilter,
95
+ disabled: disabled,
96
+ readonly: readonly,
97
+ required: required,
98
+ arialabel: arialabel,
99
+ tabindex: tabindex,
100
+ iconclass: iconclass,
101
+ styles: styles,
102
+ triggerFileSelect: triggerFileSelect,
103
+ onFileSelect: onFileSelect,
104
+ onBeforeselect: props.onBeforeselect
105
+ }, events)) : __jsx(_MultiUpload["default"], (0, _extends2["default"])({
106
+ fileInputRef: fileInputRef,
107
+ caption: caption,
108
+ multiple: multiple,
109
+ contenttype: contenttype,
110
+ extensions: extensions,
111
+ filetype: filetype,
112
+ chooseFilter: chooseFilter,
113
+ disabled: disabled,
114
+ readonly: readonly,
115
+ required: required,
116
+ arialabel: arialabel,
117
+ displayname: displayname,
118
+ tabindex: tabindex,
119
+ iconclass: iconclass,
120
+ styles: styles,
121
+ fileuploadmessage: fileuploadmessage,
122
+ highlightDropArea: highlightDropArea,
123
+ triggerFileSelect: triggerFileSelect,
124
+ onFileSelect: onFileSelect,
125
+ dragOverHandler: dragOverHandler,
126
+ onFileDrop: onFileDrop,
127
+ setHighlightDropArea: setHighlightDropArea,
128
+ onBeforeselect: props.onBeforeselect
129
+ }, events)), __jsx(_ListItems["default"], (0, _extends2["default"])({
130
+ uploadedFiles: uploadedFiles,
131
+ selectedFolders: selectedFolders,
132
+ filelistheight: filelistheight,
133
+ readonly: readonly,
134
+ clearSelectedFile: clearSelectedFile,
135
+ onFileDelete: onFileDelete,
136
+ setSelectedFolders: setSelectedFolders,
137
+ onBeforedelete: props.onBeforedelete
138
+ }, events)), __jsx(_confirmDialog["default"], {
139
+ name: "fileUploadConfirmDialog",
140
+ isopen: confirmDialogOpen,
141
+ title: (confirmDialogProps === null || confirmDialogProps === void 0 ? void 0 : confirmDialogProps.title) || "",
142
+ message: (confirmDialogProps === null || confirmDialogProps === void 0 ? void 0 : confirmDialogProps.message) || "",
143
+ oktext: (confirmDialogProps === null || confirmDialogProps === void 0 ? void 0 : confirmDialogProps.oktext) || "OK",
144
+ canceltext: (confirmDialogProps === null || confirmDialogProps === void 0 ? void 0 : confirmDialogProps.canceltext) || "Cancel",
145
+ onOk: function onOk(event) {
146
+ confirmDialogProps === null || confirmDialogProps === void 0 || confirmDialogProps.onOk();
147
+ closeConfirmDialog();
148
+ },
149
+ isDialog: false,
150
+ onCancel: function onCancel(event) {
151
+ confirmDialogProps === null || confirmDialogProps === void 0 || confirmDialogProps.onCancel();
152
+ closeConfirmDialog();
153
+ },
154
+ onClose: closeConfirmDialog,
155
+ listener: {}
156
+ }));
157
+ }, function (prevProps, nextProps) {
158
+ var keysToCheck = ["caption", "name", "hint", "arialabel", "tabindex", "multiple", "fileuploadmessage", "show", "disabled", "contenttype", "maxfilesize", "iconclass", "cleariconclass", "cleariconhint", "uploadpath", "datasource", "selectedFiles", "destination", "filelistheight", "width", "showprogressbar", "showprogressbarpercentage", "deleteiconhint", "extensions", "filetype", "readonly", "required", "deletedatasource", "displayname", "height", "onBeforeselect", "onSelect", "onDelete", "onBeforedelete", "onError"];
159
+
160
+ // Check if any props that affect rendering have changed
161
+ var propsChanged = keysToCheck.some(function (key) {
162
+ return prevProps[key] !== nextProps[key];
163
+ });
164
+
165
+ // Also check if the file lists have changed
166
+ var filesChanged = prevProps.datasource !== nextProps.datasource || prevProps.deletedatasource !== nextProps.deletedatasource;
167
+ return !propsChanged && !filesChanged;
168
+ });
169
+ WmFileUpload.displayName = "WmFileUpload";
170
+ var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)(WmFileUpload);
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });