@wavemaker/react-runtime 11.14.1-15.6409

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,434 @@
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 _react = _interopRequireWildcard(require("react"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
14
+ var _toNumber = _interopRequireDefault(require("lodash-es/toNumber"));
15
+ var _debounce = _interopRequireDefault(require("lodash-es/debounce"));
16
+ var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
17
+ var _withFormController = _interopRequireDefault(require("@wavemaker/react-runtime/components/data/form/form-controller/withFormController"));
18
+ var _util = require("./util");
19
+ var _delay = _interopRequireDefault(require("lodash/delay"));
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
21
+ var __jsx = _react["default"].createElement;
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ var DEFAULT_CLASS = "form-control app-textbox";
25
+ var WmText = /*#__PURE__*/(0, _react.memo)(function (props) {
26
+ var _props$autocomplete = props.autocomplete,
27
+ autocomplete = _props$autocomplete === void 0 ? "true" : _props$autocomplete,
28
+ autofocus = props.autofocus,
29
+ disabled = props.disabled,
30
+ readonly = props.readonly,
31
+ placeholder = props.placeholder,
32
+ type = props.type,
33
+ maxchars = props.maxchars,
34
+ _props$styles = props.styles,
35
+ styles = _props$styles === void 0 ? {} : _props$styles,
36
+ className = props.className,
37
+ shortcutkey = props.shortcutkey,
38
+ _props$required = props.required,
39
+ required = _props$required === void 0 ? false : _props$required,
40
+ name = props.name,
41
+ arialabel = props.arialabel,
42
+ _props$datavalue = props.datavalue,
43
+ datavalue = _props$datavalue === void 0 ? "" : _props$datavalue,
44
+ hint = props.hint,
45
+ listener = props.listener,
46
+ displayformat = props.displayformat,
47
+ _props$showdisplayfor = props.showdisplayformaton,
48
+ showdisplayformaton = _props$showdisplayfor === void 0 ? "keypress" : _props$showdisplayfor,
49
+ _props$updatedelay = props.updatedelay,
50
+ updatedelay = _props$updatedelay === void 0 ? "0" : _props$updatedelay,
51
+ tabindex = props.tabindex,
52
+ regexp = props.regexp,
53
+ _props$updateon = props.updateon,
54
+ updateon = _props$updateon === void 0 ? "blur" : _props$updateon,
55
+ autocapitalize = props.autocapitalize,
56
+ autotrim = props.autotrim,
57
+ onChange = props.onChange,
58
+ onBlur = props.onBlur,
59
+ onFocus = props.onFocus,
60
+ onKeydown = props.onKeydown,
61
+ onKeypress = props.onKeypress,
62
+ onKeyup = props.onKeyup,
63
+ onMouseEnter = props.onMouseEnter,
64
+ id = props.id,
65
+ error = props.error;
66
+
67
+ // Use a single state for the raw input value
68
+ var _useState = (0, _react.useState)(datavalue),
69
+ rawValue = _useState[0],
70
+ setRawValue = _useState[1];
71
+
72
+ // Compute formatted display value based on raw value
73
+ var displayValue = displayformat ? (0, _util.formatInput)(rawValue, displayformat) : rawValue;
74
+ var _useState2 = (0, _react.useState)(false),
75
+ showError = _useState2[0],
76
+ setShowError = _useState2[1];
77
+ var _useState3 = (0, _react.useState)(false),
78
+ isDirty = _useState3[0],
79
+ setIsDirty = _useState3[1];
80
+ var _useState4 = (0, _react.useState)(false),
81
+ isTouched = _useState4[0],
82
+ setIsTouched = _useState4[1];
83
+ var _useState5 = (0, _react.useState)(false),
84
+ isAutofilled = _useState5[0],
85
+ setIsAutofilled = _useState5[1];
86
+ var ref = (0, _react.useRef)(null);
87
+ var cursorPositionRef = (0, _react.useRef)(0);
88
+ var displayError = error || isDirty && showError;
89
+
90
+ // Track if changes are coming from internal user input
91
+ var isInternalChange = (0, _react.useRef)(false);
92
+ // Store previous value for onChange callbacks
93
+ var prevValueRef = (0, _react.useRef)(datavalue);
94
+
95
+ // Sync state with prop changes
96
+ (0, _react.useEffect)(function () {
97
+ // Only update state from props if it's not from an internal change
98
+ if (!isInternalChange.current && datavalue !== rawValue) {
99
+ setRawValue(datavalue);
100
+ prevValueRef.current = datavalue;
101
+ } else if (datavalue !== rawValue) {
102
+ setRawValue(datavalue);
103
+ }
104
+ // Reset the flag
105
+ isInternalChange.current = false;
106
+
107
+ // Reset autofill state when value is reset externally
108
+ if (datavalue === "" || datavalue === null || datavalue === undefined) {
109
+ setIsAutofilled(false);
110
+ }
111
+ }, [datavalue]);
112
+ var validateInput = (0, _react.useCallback)(function (value) {
113
+ if (displayformat) {
114
+ value = (0, _util.removeDisplayFormat)(value, displayformat);
115
+ }
116
+ if (!value.trim() && required) {
117
+ return {
118
+ isValid: false,
119
+ type: "required",
120
+ message: "This field is required"
121
+ };
122
+ }
123
+ if (type === "email" && value && value.trim()) {
124
+ var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
125
+ if (!emailRegex.test(value.trim())) {
126
+ return {
127
+ isValid: false,
128
+ type: "email",
129
+ message: "Please enter a valid email address"
130
+ };
131
+ }
132
+ }
133
+ if (regexp && value && !new RegExp(regexp || ".*", "g").test(value)) {
134
+ return {
135
+ isValid: false,
136
+ type: "regexp",
137
+ message: "Invalid format"
138
+ };
139
+ }
140
+ if (maxchars && value.length > maxchars) {
141
+ return {
142
+ isValid: false,
143
+ type: "maxchars",
144
+ message: "Maximum ".concat(maxchars, " characters allowed")
145
+ };
146
+ }
147
+ if (props.type === "number") {
148
+ if (props.minvalue && (0, _toNumber["default"])(value) < props.minvalue) {
149
+ return {
150
+ isValid: false,
151
+ type: "minvalue",
152
+ message: "Minimum ".concat(props.minvalue, " characters allowed")
153
+ };
154
+ }
155
+ if (props.maxvalue && (0, _toNumber["default"])(value) > props.maxvalue) {
156
+ return {
157
+ isValid: false,
158
+ type: "maxvalue",
159
+ message: "Maximum ".concat(props.maxvalue, " characters allowed")
160
+ };
161
+ }
162
+ }
163
+ return {
164
+ isValid: true,
165
+ message: "",
166
+ type: ""
167
+ };
168
+ }, [required, regexp, maxchars]);
169
+
170
+ // Debounced update function for delayed updates
171
+ var debouncedUpdateValue = (0, _react.useMemo)(function () {
172
+ return (0, _debounce["default"])(function (value) {
173
+ if (autotrim) {
174
+ value = value.trim();
175
+ }
176
+ var validation = validateInput(value);
177
+ setShowError(!validation.isValid);
178
+ if (onChange || listener !== null && listener !== void 0 && listener.onChange) {
179
+ isInternalChange.current = true;
180
+
181
+ // Remove display format before processing the value
182
+ var unformattedValue = displayformat ? (0, _util.removeDisplayFormat)(value, displayformat) : value;
183
+ var _datavalue = props.type === "number" ? (0, _toNumber["default"])(unformattedValue) : unformattedValue;
184
+ if (listener !== null && listener !== void 0 && listener.onChange) {
185
+ listener.onChange(props.fieldName || name, {
186
+ datavalue: _datavalue,
187
+ value: value,
188
+ charlength: value.length
189
+ });
190
+ }
191
+ if (onChange) {
192
+ var syntheticEvent = {
193
+ target: {
194
+ value: _datavalue,
195
+ name: name
196
+ },
197
+ currentTarget: ref.current
198
+ };
199
+ // onChange expects string | null, so convert number to string if needed
200
+ var onChangeValue = typeof _datavalue === "number" ? String(_datavalue) : _datavalue;
201
+ var prevValue = typeof prevValueRef.current === "number" ? String(prevValueRef.current) : prevValueRef.current;
202
+ onChange(syntheticEvent, props, onChangeValue, prevValue);
203
+ }
204
+ prevValueRef.current = _datavalue;
205
+ }
206
+ }, parseInt(updatedelay) || 0, {
207
+ leading: parseInt(updatedelay) === 0
208
+ });
209
+ }, [onChange, name, validateInput, autotrim, displayformat]);
210
+
211
+ // Shortcut key handler
212
+ (0, _react.useEffect)(function () {
213
+ if (!shortcutkey) return;
214
+ var handleGlobalKeyDown = function handleGlobalKeyDown(e) {
215
+ if (e.altKey && e.key.toLowerCase() === shortcutkey.toLowerCase()) {
216
+ var _ref$current;
217
+ e.preventDefault();
218
+ (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();
219
+ }
220
+ };
221
+ window.addEventListener("keydown", handleGlobalKeyDown);
222
+ return function () {
223
+ return window.removeEventListener("keydown", handleGlobalKeyDown);
224
+ };
225
+ }, [shortcutkey]);
226
+
227
+ // Autofill detection using mui-auto-fill animation event
228
+ (0, _react.useEffect)(function () {
229
+ var input = ref.current;
230
+ function handleAnimationStart(e) {
231
+ if (e.animationName === "mui-auto-fill") {
232
+ setIsAutofilled(true);
233
+ }
234
+ }
235
+ if (input) {
236
+ input.addEventListener("animationstart", handleAnimationStart);
237
+ }
238
+ return function () {
239
+ if (input) {
240
+ input.removeEventListener("animationstart", handleAnimationStart);
241
+ }
242
+ };
243
+ }, []);
244
+ var handleInputChange = function handleInputChange(e) {
245
+ isInternalChange.current = true;
246
+ var inputEl = e.target;
247
+ var newValue = inputEl.value;
248
+ cursorPositionRef.current = inputEl.selectionStart || 0;
249
+
250
+ // Extract digits for validation if displayformat is present
251
+ var digitsOnly = displayformat ? newValue.replace(/\D/g, "") : newValue;
252
+
253
+ // Enforce maxchars constraint BEFORE setting state
254
+ if (maxchars && digitsOnly.length > maxchars) {
255
+ // Prevent input that exceeds maxchars
256
+ return;
257
+ }
258
+
259
+ // Enforce displayformat digit limit
260
+ if (displayformat) {
261
+ var formatDigits = displayformat.replace(/[^9]/g, "");
262
+ var maxDigits = formatDigits.length;
263
+ if (digitsOnly.length > maxDigits) {
264
+ // Prevent input that exceeds format digit limit
265
+ return;
266
+ }
267
+ }
268
+
269
+ // Enforce min/max value constraints for number type
270
+ if (props.type === "number") {
271
+ var numValue = (0, _toNumber["default"])(digitsOnly);
272
+ if (props.maxvalue !== undefined && numValue > props.maxvalue) {
273
+ // Prevent input that exceeds maxvalue
274
+ return;
275
+ }
276
+ if (props.minvalue !== undefined && numValue < props.minvalue && digitsOnly.length >= String(props.minvalue).length) {
277
+ // Only prevent if the number length is complete and still below minvalue
278
+ // This allows typing "1" when minvalue is 10
279
+ var minLength = String(props.minvalue).length;
280
+ if (digitsOnly.length >= minLength) {
281
+ return;
282
+ }
283
+ }
284
+ }
285
+ setRawValue(newValue);
286
+
287
+ // Handle cursor position for formatted input
288
+ if (displayformat && showdisplayformaton === "keypress") {
289
+ setTimeout(function () {
290
+ if (ref.current) {
291
+ var formatted = (0, _util.formatInput)(newValue, displayformat);
292
+ var digitsBefore = newValue.substring(0, cursorPositionRef.current).replace(/\D/g, "").length;
293
+ var newPos = formatted.split("").reduce(function (pos, _char, index) {
294
+ if (pos !== -1) return pos;
295
+ var digitsSoFar = formatted.substring(0, index).replace(/\D/g, "").length;
296
+ return digitsSoFar >= digitsBefore ? index : -1;
297
+ }, -1);
298
+ if (newPos !== -1) {
299
+ ref.current.setSelectionRange(newPos, newPos);
300
+ }
301
+ }
302
+ }, 0);
303
+ }
304
+ var validation = validateInput(newValue);
305
+ setShowError(!validation.isValid);
306
+
307
+ // Set isDirty based on validation and whether user has typed
308
+ if (updateon === "keypress") {
309
+ if (!validation.isValid && (newValue.trim() || required)) {
310
+ setIsDirty(true);
311
+ } else if (validation.isValid && !required) {
312
+ // Reset isDirty when field becomes valid (except for required fields which need blur)
313
+ setIsDirty(false);
314
+ }
315
+ }
316
+ if (updateon === "keypress" || isAutofilled) {
317
+ debouncedUpdateValue(newValue);
318
+ }
319
+ };
320
+ var handleBlur = function handleBlur(e) {
321
+ if (readonly || disabled) {
322
+ return;
323
+ }
324
+ var validation = validateInput(rawValue);
325
+ if (!validation.isValid && (required || validation.type === "regexp")) {
326
+ setIsDirty(true);
327
+ } else {
328
+ setIsDirty(false);
329
+ }
330
+ setShowError(!validation.isValid);
331
+ if (updateon === "blur") {
332
+ debouncedUpdateValue(rawValue);
333
+ }
334
+ if (!validation.isValid && regexp != ".*") {
335
+ setIsTouched(true);
336
+ setIsDirty(true);
337
+ }
338
+ onBlur === null || onBlur === void 0 || onBlur(e, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
339
+ };
340
+ var handleFocus = function handleFocus(e) {
341
+ onFocus === null || onFocus === void 0 || onFocus(e, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
342
+ };
343
+ var handleKeyDown = function handleKeyDown(e) {
344
+ (0, _delay["default"])(function () {
345
+ onKeydown === null || onKeydown === void 0 || onKeydown(e, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
346
+ if (e.key === "Enter") {
347
+ debouncedUpdateValue(rawValue);
348
+ }
349
+ }, 0);
350
+ };
351
+ var handleKeyPress = function handleKeyPress(e) {
352
+ (0, _delay["default"])(function () {
353
+ onKeypress === null || onKeypress === void 0 || onKeypress(e, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
354
+ }, 0);
355
+ };
356
+ var handleKeyUp = function handleKeyUp(e) {
357
+ (0, _delay["default"])(function () {
358
+ onKeyup === null || onKeyup === void 0 || onKeyup(e, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
359
+ }, 0);
360
+ };
361
+ var handleMouseEnter = function handleMouseEnter(e) {
362
+ onMouseEnter === null || onMouseEnter === void 0 || onMouseEnter(e, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
363
+ setIsTouched(true);
364
+ };
365
+ var events = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
366
+ onChange: handleInputChange
367
+ }, onFocus ? {
368
+ onFocus: handleFocus
369
+ } : {}), onKeydown ? {
370
+ onKeyDown: handleKeyDown
371
+ } : {}), onKeyup ? {
372
+ onKeyUp: handleKeyUp
373
+ } : {}), onKeypress ? {
374
+ onKeyPress: handleKeyPress
375
+ } : {}), props.onClick ? {
376
+ onClick: props.onClick
377
+ } : {}), updateon === "blur" || onBlur ? {
378
+ onBlur: handleBlur
379
+ } : {}), props.onMouseEnter ? {
380
+ onMouseEnter: handleMouseEnter
381
+ } : {}), props.onMouseLeave ? {
382
+ onMouseLeave: props.onMouseLeave
383
+ } : {});
384
+ return __jsx(_TextField["default"], (0, _extends2["default"])({}, events, {
385
+ title: hint || "Text Input",
386
+ name: name,
387
+ id: id || name,
388
+ variant: "standard",
389
+ autoComplete: (autocomplete === null || autocomplete === void 0 ? void 0 : autocomplete.toString()) === "true" ? "on" : "off",
390
+ autoFocus: autofocus,
391
+ disabled: disabled,
392
+ required: required,
393
+ placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : "Enter text",
394
+ value: displayValue,
395
+ type: type,
396
+ inputRef: ref,
397
+ error: displayError,
398
+ "aria-readonly": readonly,
399
+ className: (0, _clsx["default"])("app-input-wrapper", isTouched ? "ng-touched" : "ng-untouched", displayError && "ng-invalid"),
400
+ slotProps: {
401
+ htmlInput: {
402
+ tabIndex: tabindex,
403
+ readOnly: readonly,
404
+ className: (0, _clsx["default"])(DEFAULT_CLASS, className, isTouched ? "ng-touched" : "ng-untouched", displayError && "ng-invalid"),
405
+ style: styles,
406
+ "aria-label": arialabel,
407
+ maxLength: maxchars,
408
+ pattern: new RegExp(regexp || ".*", "g"),
409
+ min: props.minvalue,
410
+ max: props.maxvalue,
411
+ step: props.step
412
+ }
413
+ },
414
+ sx: {
415
+ "& .MuiInputBase-input.Mui-disabled": {
416
+ WebkitTextFillColor: "inherit"
417
+ },
418
+ "& .MuiFormHelperText-root": {
419
+ marginLeft: 0,
420
+ "&.Mui-error": {
421
+ color: "#ee5f5b"
422
+ }
423
+ },
424
+ width: "100%"
425
+ }
426
+ }));
427
+ }, function (prev, current) {
428
+ var keys = ["datavalue", "disabled", "required", "readonly", "placeholder", "maxchars", "tabindex", "shortcutkey", "autofocus", "arialabel", "error", "className"];
429
+ return keys.every(function (key) {
430
+ return prev[key] === current[key];
431
+ });
432
+ });
433
+ WmText.displayName = "WmText";
434
+ var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)((0, _withFormController["default"])(WmText));
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.autoCapitalize = autoCapitalize;
7
+ exports.removeDisplayFormat = exports.formatInput = void 0;
8
+ var formatInput = exports.formatInput = function formatInput(value, format) {
9
+ if (!format || !value) return value;
10
+ var digitsOnly = value.replace(/\D/g, "");
11
+ var formatDigits = format.replace(/[^9]/g, "");
12
+ var maxDigits = formatDigits.length;
13
+ if (format === "999-99-9999") {
14
+ if (digitsOnly.length === 0) return "";
15
+ var result = digitsOnly.substring(0, Math.min(3, digitsOnly.length));
16
+ if (digitsOnly.length > 3) {
17
+ result += "-" + digitsOnly.substring(3, Math.min(5, digitsOnly.length));
18
+ }
19
+ if (digitsOnly.length > 5) {
20
+ result += "-" + digitsOnly.substring(5, Math.min(9, digitsOnly.length));
21
+ }
22
+ return result;
23
+ }
24
+ if (format === "(999) 999-9999") {
25
+ if (digitsOnly.length === 0) return "";
26
+ var _result = "(" + digitsOnly.substring(0, Math.min(3, digitsOnly.length));
27
+ if (digitsOnly.length > 3) {
28
+ _result += ") " + digitsOnly.substring(3, Math.min(6, digitsOnly.length));
29
+ }
30
+ if (digitsOnly.length > 6) {
31
+ _result += "-" + digitsOnly.substring(6, Math.min(10, digitsOnly.length));
32
+ }
33
+ return _result;
34
+ }
35
+ if (format === "(999) 999-9999 ext. 999") {
36
+ if (digitsOnly.length === 0) return "";
37
+ var _result2 = "(" + digitsOnly.substring(0, Math.min(3, digitsOnly.length));
38
+ if (digitsOnly.length > 3) {
39
+ _result2 += ") " + digitsOnly.substring(3, Math.min(6, digitsOnly.length));
40
+ }
41
+ if (digitsOnly.length > 6) {
42
+ _result2 += "-" + digitsOnly.substring(6, Math.min(10, digitsOnly.length));
43
+ }
44
+ if (digitsOnly.length > 10) {
45
+ _result2 += " ext. " + digitsOnly.substring(10);
46
+ }
47
+ return _result2;
48
+ }
49
+ if (format === "(9?9?9?) 9?9?9?-9?9?9?9?9?9?") {
50
+ var _result3 = "";
51
+ var areaCode = "";
52
+ var prefix = "";
53
+ var number = "";
54
+ if (digitsOnly.length > 0) {
55
+ areaCode = "(" + digitsOnly.substring(0, Math.min(3, digitsOnly.length));
56
+ if (digitsOnly.length < 3) {
57
+ return areaCode;
58
+ }
59
+ areaCode += ") ";
60
+ }
61
+ if (digitsOnly.length > 3) {
62
+ prefix = digitsOnly.substring(3, Math.min(6, digitsOnly.length));
63
+ if (digitsOnly.length < 6) {
64
+ return areaCode + prefix;
65
+ }
66
+ prefix += "-";
67
+ }
68
+ if (digitsOnly.length > 6) {
69
+ number = digitsOnly.substring(6);
70
+ }
71
+ _result3 = areaCode + prefix + number;
72
+ return _result3;
73
+ }
74
+ if (format === "9999 9999 9999 9999") {
75
+ // Credit card format
76
+ var _result4 = "";
77
+ for (var i = 0; i < digitsOnly.length && i < 16; i += 4) {
78
+ if (i > 0) _result4 += " ";
79
+ _result4 += digitsOnly.substring(i, Math.min(i + 4, digitsOnly.length));
80
+ }
81
+ return _result4;
82
+ }
83
+ if (format === "AA-9999") {
84
+ var _value$match;
85
+ // Alpha-numeric format
86
+ var _result5 = "";
87
+ var alphaOnly = ((_value$match = value.match(/[A-Za-z]*/g)) === null || _value$match === void 0 ? void 0 : _value$match.join("")) || "";
88
+ if (alphaOnly.length > 0) {
89
+ _result5 = alphaOnly.substring(0, Math.min(2, alphaOnly.length)).toUpperCase();
90
+ }
91
+ if (digitsOnly.length > 0 && _result5.length > 0) {
92
+ _result5 += "-";
93
+ }
94
+ if (digitsOnly.length > 0) {
95
+ _result5 += digitsOnly.substring(0, Math.min(4, digitsOnly.length));
96
+ }
97
+ return _result5;
98
+ }
99
+ if (format === "(***: AAA-999)") {
100
+ var _value$match2;
101
+ // Special format with asterisks
102
+ var _result6 = "(";
103
+ _result6 += "***";
104
+ _result6 += ": ";
105
+ var _alphaOnly = ((_value$match2 = value.match(/[A-Za-z]*/g)) === null || _value$match2 === void 0 ? void 0 : _value$match2.join("")) || "";
106
+ if (_alphaOnly.length > 0) {
107
+ _result6 += _alphaOnly.substring(0, Math.min(3, _alphaOnly.length)).toUpperCase();
108
+ }
109
+ if (digitsOnly.length > 0) {
110
+ _result6 += "-";
111
+ _result6 += digitsOnly.substring(0, Math.min(3, digitsOnly.length));
112
+ }
113
+ _result6 += ")";
114
+ return _result6;
115
+ }
116
+
117
+ // Generic formatter for other patterns
118
+ if (format.includes("9")) {
119
+ var _result7 = "";
120
+ var digitIndex = 0;
121
+ var _formatDigits = format.replace(/[^9]/g, "");
122
+ var _maxDigits = _formatDigits.length;
123
+
124
+ // Limit digitsOnly to maxDigits from format
125
+ var limitedDigits = digitsOnly.substring(0, _maxDigits);
126
+ for (var _i2 = 0; _i2 < format.length && digitIndex < limitedDigits.length; _i2++) {
127
+ if (format[_i2] === "9") {
128
+ _result7 += limitedDigits[digitIndex++] || "";
129
+ } else {
130
+ // Only add separator if there are more digits to come
131
+ if (digitIndex < limitedDigits.length) {
132
+ _result7 += format[_i2];
133
+ }
134
+ }
135
+ }
136
+ return _result7;
137
+ }
138
+
139
+ // Fallback: return original value
140
+ return value;
141
+ };
142
+
143
+ /**
144
+ * Removes display format characters from the value
145
+ * Keeps only alphanumeric characters based on the format type
146
+ */
147
+ var removeDisplayFormat = exports.removeDisplayFormat = function removeDisplayFormat(value, format) {
148
+ if (!format || !value) return value;
149
+
150
+ // For alphanumeric formats (like AA-9999), keep both letters and numbers
151
+ if (format.includes("A")) {
152
+ return value.replace(/[^A-Za-z0-9]/g, "");
153
+ }
154
+
155
+ // For numeric-only formats, keep only digits
156
+ if (format.includes("9")) {
157
+ return value.replace(/\D/g, "");
158
+ }
159
+
160
+ // Default: return the value as-is
161
+ return value;
162
+ };
163
+ function autoCapitalize(value, type) {
164
+ if (!value) return value;
165
+ switch (type) {
166
+ case "characters":
167
+ return value.toUpperCase();
168
+ case "words":
169
+ return value.split(" ").map(function (word) {
170
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
171
+ }).join(" ");
172
+ case "sentences":
173
+ return value.toLowerCase().replace(/(^\w|\.\s+\w)/g, function (letter) {
174
+ return letter.toUpperCase();
175
+ });
176
+ default:
177
+ return value;
178
+ }
179
+ }