primereact 10.0.0 → 10.0.1

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 (319) hide show
  1. package/README.md +1 -1
  2. package/componentbase/componentbase.cjs.js +12 -7
  3. package/componentbase/componentbase.cjs.min.js +1 -1
  4. package/componentbase/componentbase.esm.min.mjs +1 -1
  5. package/componentbase/componentbase.esm.mjs +12 -7
  6. package/componentbase/componentbase.js +12 -7
  7. package/componentbase/componentbase.min.js +1 -1
  8. package/core/core.js +12 -7
  9. package/core/core.min.js +1 -1
  10. package/package.json +1 -1
  11. package/primereact.all.cjs.js +12 -7
  12. package/primereact.all.cjs.min.js +1 -1
  13. package/primereact.all.esm.min.mjs +1 -1
  14. package/primereact.all.esm.mjs +12 -7
  15. package/primereact.all.js +12 -7
  16. package/primereact.all.min.js +1 -1
  17. package/web-types.json +1 -1
  18. package/accordion/accordion.esm.js +0 -421
  19. package/accordion/accordion.esm.min.js +0 -1
  20. package/api/api.esm.js +0 -944
  21. package/api/api.esm.min.js +0 -1
  22. package/autocomplete/autocomplete.esm.js +0 -1127
  23. package/autocomplete/autocomplete.esm.min.js +0 -1
  24. package/avatar/avatar.esm.js +0 -245
  25. package/avatar/avatar.esm.min.js +0 -1
  26. package/avatargroup/avatargroup.esm.js +0 -55
  27. package/avatargroup/avatargroup.esm.min.js +0 -1
  28. package/badge/badge.esm.js +0 -110
  29. package/badge/badge.esm.min.js +0 -1
  30. package/blockui/blockui.esm.js +0 -265
  31. package/blockui/blockui.esm.min.js +0 -1
  32. package/breadcrumb/breadcrumb.esm.js +0 -351
  33. package/breadcrumb/breadcrumb.esm.min.js +0 -1
  34. package/button/button.esm.js +0 -295
  35. package/button/button.esm.min.js +0 -1
  36. package/calendar/calendar.esm.js +0 -3473
  37. package/calendar/calendar.esm.min.js +0 -1
  38. package/card/card.esm.js +0 -98
  39. package/card/card.esm.min.js +0 -1
  40. package/carousel/carousel.esm.js +0 -801
  41. package/carousel/carousel.esm.min.js +0 -1
  42. package/cascadeselect/cascadeselect.esm.js +0 -819
  43. package/cascadeselect/cascadeselect.esm.min.js +0 -1
  44. package/chart/chart.esm.js +0 -155
  45. package/chart/chart.esm.min.js +0 -1
  46. package/checkbox/checkbox.esm.js +0 -357
  47. package/checkbox/checkbox.esm.min.js +0 -1
  48. package/chip/chip.esm.js +0 -248
  49. package/chip/chip.esm.min.js +0 -1
  50. package/chips/chips.esm.js +0 -501
  51. package/chips/chips.esm.min.js +0 -1
  52. package/colorpicker/colorpicker.esm.js +0 -788
  53. package/colorpicker/colorpicker.esm.min.js +0 -1
  54. package/column/column.esm.js +0 -8
  55. package/column/column.esm.min.js +0 -1
  56. package/columngroup/columngroup.esm.js +0 -6
  57. package/columngroup/columngroup.esm.min.js +0 -1
  58. package/componentbase/componentbase.esm.js +0 -323
  59. package/componentbase/componentbase.esm.min.js +0 -1
  60. package/confirmdialog/confirmdialog.esm.js +0 -376
  61. package/confirmdialog/confirmdialog.esm.min.js +0 -1
  62. package/confirmpopup/confirmpopup.esm.js +0 -610
  63. package/confirmpopup/confirmpopup.esm.min.js +0 -1
  64. package/contextmenu/contextmenu.esm.js +0 -664
  65. package/contextmenu/contextmenu.esm.min.js +0 -1
  66. package/csstransition/csstransition.esm.js +0 -138
  67. package/csstransition/csstransition.esm.min.js +0 -1
  68. package/datascroller/datascroller.esm.js +0 -320
  69. package/datascroller/datascroller.esm.min.js +0 -1
  70. package/datatable/datatable.esm.js +0 -6636
  71. package/datatable/datatable.esm.min.js +0 -1
  72. package/dataview/dataview.esm.js +0 -506
  73. package/dataview/dataview.esm.min.js +0 -1
  74. package/deferredcontent/deferredcontent.esm.js +0 -133
  75. package/deferredcontent/deferredcontent.esm.min.js +0 -1
  76. package/dialog/dialog.esm.js +0 -983
  77. package/dialog/dialog.esm.min.js +0 -1
  78. package/divider/divider.esm.js +0 -79
  79. package/divider/divider.esm.min.js +0 -1
  80. package/dock/dock.esm.js +0 -348
  81. package/dock/dock.esm.min.js +0 -1
  82. package/dropdown/dropdown.esm.js +0 -1380
  83. package/dropdown/dropdown.esm.min.js +0 -1
  84. package/editor/editor.esm.js +0 -338
  85. package/editor/editor.esm.min.js +0 -1
  86. package/fieldset/fieldset.esm.js +0 -270
  87. package/fieldset/fieldset.esm.min.js +0 -1
  88. package/fileupload/fileupload.esm.js +0 -1005
  89. package/fileupload/fileupload.esm.min.js +0 -1
  90. package/galleria/galleria.esm.js +0 -1090
  91. package/galleria/galleria.esm.min.js +0 -1
  92. package/hooks/hooks.esm.js +0 -1042
  93. package/hooks/hooks.esm.min.js +0 -1
  94. package/iconbase/iconbase.esm.js +0 -33
  95. package/iconbase/iconbase.esm.min.js +0 -1
  96. package/icons/angledoubledown/index.esm.js +0 -39
  97. package/icons/angledoubledown/index.esm.min.js +0 -1
  98. package/icons/angledoubleleft/index.esm.js +0 -39
  99. package/icons/angledoubleleft/index.esm.min.js +0 -1
  100. package/icons/angledoubleright/index.esm.js +0 -39
  101. package/icons/angledoubleright/index.esm.min.js +0 -1
  102. package/icons/angledoubleup/index.esm.js +0 -39
  103. package/icons/angledoubleup/index.esm.min.js +0 -1
  104. package/icons/angledown/index.esm.js +0 -37
  105. package/icons/angledown/index.esm.min.js +0 -1
  106. package/icons/angleleft/index.esm.js +0 -37
  107. package/icons/angleleft/index.esm.min.js +0 -1
  108. package/icons/angleright/index.esm.js +0 -37
  109. package/icons/angleright/index.esm.min.js +0 -1
  110. package/icons/angleup/index.esm.js +0 -37
  111. package/icons/angleup/index.esm.min.js +0 -1
  112. package/icons/arrowdown/index.esm.js +0 -661
  113. package/icons/arrowdown/index.esm.min.js +0 -1
  114. package/icons/arrowup/index.esm.js +0 -661
  115. package/icons/arrowup/index.esm.min.js +0 -1
  116. package/icons/ban/index.esm.js +0 -659
  117. package/icons/ban/index.esm.min.js +0 -1
  118. package/icons/bars/index.esm.js +0 -39
  119. package/icons/bars/index.esm.min.js +0 -1
  120. package/icons/calendar/index.esm.js +0 -37
  121. package/icons/calendar/index.esm.min.js +0 -1
  122. package/icons/check/index.esm.js +0 -37
  123. package/icons/check/index.esm.min.js +0 -1
  124. package/icons/chevrondown/index.esm.js +0 -37
  125. package/icons/chevrondown/index.esm.min.js +0 -1
  126. package/icons/chevronleft/index.esm.js +0 -37
  127. package/icons/chevronleft/index.esm.min.js +0 -1
  128. package/icons/chevronright/index.esm.js +0 -37
  129. package/icons/chevronright/index.esm.min.js +0 -1
  130. package/icons/chevronup/index.esm.js +0 -37
  131. package/icons/chevronup/index.esm.min.js +0 -1
  132. package/icons/download/index.esm.js +0 -661
  133. package/icons/download/index.esm.min.js +0 -1
  134. package/icons/exclamationtriangle/index.esm.js +0 -665
  135. package/icons/exclamationtriangle/index.esm.min.js +0 -1
  136. package/icons/eye/index.esm.js +0 -39
  137. package/icons/eye/index.esm.min.js +0 -1
  138. package/icons/eyeslash/index.esm.js +0 -661
  139. package/icons/eyeslash/index.esm.min.js +0 -1
  140. package/icons/filter/index.esm.js +0 -659
  141. package/icons/filter/index.esm.min.js +0 -1
  142. package/icons/filterslash/index.esm.js +0 -661
  143. package/icons/filterslash/index.esm.min.js +0 -1
  144. package/icons/infocircle/index.esm.js +0 -661
  145. package/icons/infocircle/index.esm.min.js +0 -1
  146. package/icons/minus/index.esm.js +0 -37
  147. package/icons/minus/index.esm.min.js +0 -1
  148. package/icons/pencil/index.esm.js +0 -659
  149. package/icons/pencil/index.esm.min.js +0 -1
  150. package/icons/plus/index.esm.js +0 -659
  151. package/icons/plus/index.esm.min.js +0 -1
  152. package/icons/refresh/index.esm.js +0 -661
  153. package/icons/refresh/index.esm.min.js +0 -1
  154. package/icons/search/index.esm.js +0 -661
  155. package/icons/search/index.esm.min.js +0 -1
  156. package/icons/searchminus/index.esm.js +0 -661
  157. package/icons/searchminus/index.esm.min.js +0 -1
  158. package/icons/searchplus/index.esm.js +0 -661
  159. package/icons/searchplus/index.esm.min.js +0 -1
  160. package/icons/sortalt/index.esm.js +0 -668
  161. package/icons/sortalt/index.esm.min.js +0 -1
  162. package/icons/sortamountdown/index.esm.js +0 -674
  163. package/icons/sortamountdown/index.esm.min.js +0 -1
  164. package/icons/sortamountupalt/index.esm.js +0 -674
  165. package/icons/sortamountupalt/index.esm.min.js +0 -1
  166. package/icons/spinner/index.esm.js +0 -659
  167. package/icons/spinner/index.esm.min.js +0 -1
  168. package/icons/star/index.esm.js +0 -659
  169. package/icons/star/index.esm.min.js +0 -1
  170. package/icons/starfill/index.esm.js +0 -659
  171. package/icons/starfill/index.esm.min.js +0 -1
  172. package/icons/thlarge/index.esm.js +0 -661
  173. package/icons/thlarge/index.esm.min.js +0 -1
  174. package/icons/times/index.esm.js +0 -37
  175. package/icons/times/index.esm.min.js +0 -1
  176. package/icons/timescircle/index.esm.js +0 -661
  177. package/icons/timescircle/index.esm.min.js +0 -1
  178. package/icons/trash/index.esm.js +0 -661
  179. package/icons/trash/index.esm.min.js +0 -1
  180. package/icons/undo/index.esm.js +0 -661
  181. package/icons/undo/index.esm.min.js +0 -1
  182. package/icons/upload/index.esm.js +0 -661
  183. package/icons/upload/index.esm.min.js +0 -1
  184. package/icons/windowmaximize/index.esm.js +0 -661
  185. package/icons/windowmaximize/index.esm.min.js +0 -1
  186. package/icons/windowminimize/index.esm.js +0 -661
  187. package/icons/windowminimize/index.esm.min.js +0 -1
  188. package/image/image.esm.js +0 -1162
  189. package/image/image.esm.min.js +0 -1
  190. package/inplace/inplace.esm.js +0 -243
  191. package/inplace/inplace.esm.min.js +0 -1
  192. package/inputmask/inputmask.esm.js +0 -560
  193. package/inputmask/inputmask.esm.min.js +0 -1
  194. package/inputnumber/inputnumber.esm.js +0 -1209
  195. package/inputnumber/inputnumber.esm.min.js +0 -1
  196. package/inputswitch/inputswitch.esm.js +0 -291
  197. package/inputswitch/inputswitch.esm.min.js +0 -1
  198. package/inputtext/inputtext.esm.js +0 -171
  199. package/inputtext/inputtext.esm.min.js +0 -1
  200. package/inputtextarea/inputtextarea.esm.js +0 -220
  201. package/inputtextarea/inputtextarea.esm.min.js +0 -1
  202. package/keyfilter/keyfilter.esm.js +0 -108
  203. package/keyfilter/keyfilter.esm.min.js +0 -1
  204. package/knob/knob.esm.js +0 -318
  205. package/knob/knob.esm.min.js +0 -1
  206. package/listbox/listbox.esm.js +0 -810
  207. package/listbox/listbox.esm.min.js +0 -1
  208. package/megamenu/megamenu.esm.js +0 -716
  209. package/megamenu/megamenu.esm.min.js +0 -1
  210. package/mention/mention.esm.js +0 -771
  211. package/mention/mention.esm.min.js +0 -1
  212. package/menu/menu.esm.js +0 -485
  213. package/menu/menu.esm.min.js +0 -1
  214. package/menubar/menubar.esm.js +0 -584
  215. package/menubar/menubar.esm.min.js +0 -1
  216. package/message/message.esm.js +0 -169
  217. package/message/message.esm.min.js +0 -1
  218. package/messages/messages.esm.js +0 -439
  219. package/messages/messages.esm.min.js +0 -1
  220. package/multiselect/multiselect.esm.js +0 -1724
  221. package/multiselect/multiselect.esm.min.js +0 -1
  222. package/multistatecheckbox/multistatecheckbox.esm.js +0 -352
  223. package/multistatecheckbox/multistatecheckbox.esm.min.js +0 -1
  224. package/orderlist/orderlist.esm.js +0 -816
  225. package/orderlist/orderlist.esm.min.js +0 -1
  226. package/organizationchart/organizationchart.esm.js +0 -480
  227. package/organizationchart/organizationchart.esm.min.js +0 -1
  228. package/overlaypanel/overlaypanel.esm.js +0 -516
  229. package/overlaypanel/overlaypanel.esm.min.js +0 -1
  230. package/overlayservice/overlayservice.esm.js +0 -7
  231. package/overlayservice/overlayservice.esm.min.js +0 -1
  232. package/paginator/paginator.esm.js +0 -933
  233. package/paginator/paginator.esm.min.js +0 -1
  234. package/panel/panel.esm.js +0 -316
  235. package/panel/panel.esm.min.js +0 -1
  236. package/panelmenu/panelmenu.esm.js +0 -645
  237. package/panelmenu/panelmenu.esm.min.js +0 -1
  238. package/passthrough/index.esm.js +0 -71
  239. package/passthrough/index.esm.min.js +0 -1
  240. package/passthrough/tailwind/index.esm.js +0 -3509
  241. package/passthrough/tailwind/index.esm.min.js +0 -1
  242. package/password/password.esm.js +0 -567
  243. package/password/password.esm.min.js +0 -1
  244. package/picklist/picklist.esm.js +0 -1119
  245. package/picklist/picklist.esm.min.js +0 -1
  246. package/portal/portal.esm.js +0 -110
  247. package/portal/portal.esm.min.js +0 -1
  248. package/primereact.all.esm.js +0 -51646
  249. package/primereact.all.esm.min.js +0 -1
  250. package/progressbar/progressbar.esm.js +0 -190
  251. package/progressbar/progressbar.esm.min.js +0 -1
  252. package/progressspinner/progressspinner.esm.js +0 -88
  253. package/progressspinner/progressspinner.esm.min.js +0 -1
  254. package/radiobutton/radiobutton.esm.js +0 -329
  255. package/radiobutton/radiobutton.esm.min.js +0 -1
  256. package/rating/rating.esm.js +0 -273
  257. package/rating/rating.esm.min.js +0 -1
  258. package/ripple/ripple.esm.js +0 -100
  259. package/ripple/ripple.esm.min.js +0 -1
  260. package/row/row.esm.js +0 -36
  261. package/row/row.esm.min.js +0 -1
  262. package/scrollpanel/scrollpanel.esm.js +0 -210
  263. package/scrollpanel/scrollpanel.esm.min.js +0 -1
  264. package/scrolltop/scrolltop.esm.js +0 -269
  265. package/scrolltop/scrolltop.esm.min.js +0 -1
  266. package/selectbutton/selectbutton.esm.js +0 -327
  267. package/selectbutton/selectbutton.esm.min.js +0 -1
  268. package/sidebar/sidebar.esm.js +0 -543
  269. package/sidebar/sidebar.esm.min.js +0 -1
  270. package/skeleton/skeleton.esm.js +0 -125
  271. package/skeleton/skeleton.esm.min.js +0 -1
  272. package/slidemenu/slidemenu.esm.js +0 -689
  273. package/slidemenu/slidemenu.esm.min.js +0 -1
  274. package/slider/slider.esm.js +0 -478
  275. package/slider/slider.esm.min.js +0 -1
  276. package/speeddial/speeddial.esm.js +0 -521
  277. package/speeddial/speeddial.esm.min.js +0 -1
  278. package/splitbutton/splitbutton.esm.js +0 -545
  279. package/splitbutton/splitbutton.esm.min.js +0 -1
  280. package/splitter/splitter.esm.js +0 -466
  281. package/splitter/splitter.esm.min.js +0 -1
  282. package/steps/steps.esm.js +0 -294
  283. package/steps/steps.esm.min.js +0 -1
  284. package/styleclass/styleclass.esm.js +0 -269
  285. package/styleclass/styleclass.esm.min.js +0 -1
  286. package/tabmenu/tabmenu.esm.js +0 -332
  287. package/tabmenu/tabmenu.esm.min.js +0 -1
  288. package/tabview/tabview.esm.js +0 -678
  289. package/tabview/tabview.esm.min.js +0 -1
  290. package/tag/tag.esm.js +0 -117
  291. package/tag/tag.esm.min.js +0 -1
  292. package/terminal/terminal.esm.js +0 -280
  293. package/terminal/terminal.esm.min.js +0 -1
  294. package/terminalservice/terminalservice.esm.js +0 -7
  295. package/terminalservice/terminalservice.esm.min.js +0 -1
  296. package/tieredmenu/tieredmenu.esm.js +0 -699
  297. package/tieredmenu/tieredmenu.esm.min.js +0 -1
  298. package/timeline/timeline.esm.js +0 -164
  299. package/timeline/timeline.esm.min.js +0 -1
  300. package/toast/toast.esm.js +0 -739
  301. package/toast/toast.esm.min.js +0 -1
  302. package/togglebutton/togglebutton.esm.js +0 -217
  303. package/togglebutton/togglebutton.esm.min.js +0 -1
  304. package/toolbar/toolbar.esm.js +0 -79
  305. package/toolbar/toolbar.esm.min.js +0 -1
  306. package/tooltip/tooltip.esm.js +0 -696
  307. package/tooltip/tooltip.esm.min.js +0 -1
  308. package/tree/tree.esm.js +0 -1403
  309. package/tree/tree.esm.min.js +0 -1
  310. package/treeselect/treeselect.esm.js +0 -930
  311. package/treeselect/treeselect.esm.min.js +0 -1
  312. package/treetable/treetable.esm.js +0 -3094
  313. package/treetable/treetable.esm.min.js +0 -1
  314. package/tristatecheckbox/tristatecheckbox.esm.js +0 -292
  315. package/tristatecheckbox/tristatecheckbox.esm.min.js +0 -1
  316. package/utils/utils.esm.js +0 -2383
  317. package/utils/utils.esm.min.js +0 -1
  318. package/virtualscroller/virtualscroller.esm.js +0 -972
  319. package/virtualscroller/virtualscroller.esm.min.js +0 -1
@@ -1,560 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import { PrimeReactContext } from 'primereact/api';
5
- import { useMountEffect, useUpdateEffect } from 'primereact/hooks';
6
- import { InputText } from 'primereact/inputtext';
7
- import { DomHandler, ObjectUtils, classNames } from 'primereact/utils';
8
- import { ComponentBase } from 'primereact/componentbase';
9
-
10
- function _extends() {
11
- _extends = Object.assign ? Object.assign.bind() : function (target) {
12
- for (var i = 1; i < arguments.length; i++) {
13
- var source = arguments[i];
14
- for (var key in source) {
15
- if (Object.prototype.hasOwnProperty.call(source, key)) {
16
- target[key] = source[key];
17
- }
18
- }
19
- }
20
- return target;
21
- };
22
- return _extends.apply(this, arguments);
23
- }
24
-
25
- var InputMaskBase = ComponentBase.extend({
26
- defaultProps: {
27
- __TYPE: 'InputMask',
28
- autoClear: true,
29
- autoFocus: false,
30
- className: null,
31
- disabled: false,
32
- id: null,
33
- mask: null,
34
- maxLength: null,
35
- name: null,
36
- onBlur: null,
37
- onChange: null,
38
- onComplete: null,
39
- onFocus: null,
40
- placeholder: null,
41
- readOnly: false,
42
- required: false,
43
- size: null,
44
- slotChar: '_',
45
- style: null,
46
- tabIndex: null,
47
- tooltip: null,
48
- tooltipOptions: null,
49
- type: 'text',
50
- unmask: false,
51
- value: null,
52
- children: undefined
53
- }
54
- });
55
-
56
- var InputMask = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
57
- var context = React.useContext(PrimeReactContext);
58
- var props = InputMaskBase.getProps(inProps, context);
59
- var elementRef = React.useRef(null);
60
- var firstNonMaskPos = React.useRef(null);
61
- var lastRequiredNonMaskPos = React.useRef(0);
62
- var tests = React.useRef([]);
63
- var buffer = React.useRef([]);
64
- var len = React.useRef(0);
65
- var oldVal = React.useRef(null);
66
- var focus = React.useRef(false);
67
- var focusText = React.useRef(null);
68
- var isValueChecked = React.useRef(null);
69
- var partialPosition = React.useRef(null);
70
- var defaultBuffer = React.useRef(null);
71
- var caretTimeoutId = React.useRef(null);
72
- var androidChrome = React.useRef(false);
73
- var metaData = {
74
- props: props
75
- };
76
- var caret = function caret(first, last) {
77
- var range, begin, end;
78
- var inputEl = elementRef.current;
79
- if (!inputEl || !inputEl.offsetParent || inputEl !== document.activeElement) {
80
- return;
81
- }
82
- if (typeof first === 'number') {
83
- begin = first;
84
- end = typeof last === 'number' ? last : begin;
85
- if (inputEl.setSelectionRange) {
86
- inputEl.setSelectionRange(begin, end);
87
- } else if (inputEl['createTextRange']) {
88
- range = inputEl['createTextRange']();
89
- range.collapse(true);
90
- range.moveEnd('character', end);
91
- range.moveStart('character', begin);
92
- range.select();
93
- }
94
- } else {
95
- if (inputEl.setSelectionRange) {
96
- begin = inputEl.selectionStart;
97
- end = inputEl.selectionEnd;
98
- } else if (document['selection'] && document['selection'].createRange) {
99
- range = document['selection'].createRange();
100
- begin = 0 - range.duplicate().moveStart('character', -100000);
101
- end = begin + range.text.length;
102
- }
103
- return {
104
- begin: begin,
105
- end: end
106
- };
107
- }
108
- };
109
- var isCompleted = function isCompleted() {
110
- for (var i = firstNonMaskPos.current; i <= lastRequiredNonMaskPos.current; i++) {
111
- if (tests.current[i] && buffer.current[i] === getPlaceholder(i)) {
112
- return false;
113
- }
114
- }
115
- return true;
116
- };
117
- var getPlaceholder = React.useCallback(function (i) {
118
- if (i < props.slotChar.length) {
119
- return props.slotChar.charAt(i);
120
- }
121
- return props.slotChar.charAt(0);
122
- }, [props.slotChar]);
123
- var getValue = function getValue() {
124
- return props.unmask ? getUnmaskedValue() : elementRef.current && elementRef.current.value;
125
- };
126
- var seekNext = function seekNext(pos) {
127
- while (++pos < len.current && !tests.current[pos]);
128
- return pos;
129
- };
130
- var seekPrev = function seekPrev(pos) {
131
- while (--pos >= 0 && !tests.current[pos]);
132
- return pos;
133
- };
134
- var shiftL = function shiftL(begin, end) {
135
- var i, j;
136
- if (begin < 0) {
137
- return;
138
- }
139
- for (i = begin, j = seekNext(end); i < len.current; i++) {
140
- if (tests.current[i]) {
141
- if (j < len.current && tests.current[i].test(buffer.current[j])) {
142
- buffer.current[i] = buffer.current[j];
143
- buffer.current[j] = getPlaceholder(j);
144
- } else {
145
- break;
146
- }
147
- j = seekNext(j);
148
- }
149
- }
150
- writeBuffer();
151
- caret(Math.max(firstNonMaskPos.current, begin));
152
- };
153
- var shiftR = function shiftR(pos) {
154
- var i, c, j, t;
155
- for (i = pos, c = getPlaceholder(pos); i < len.current; i++) {
156
- if (tests.current[i]) {
157
- j = seekNext(i);
158
- t = buffer.current[i];
159
- buffer.current[i] = c;
160
- if (j < len.current && tests.current[j].test(t)) {
161
- c = t;
162
- } else {
163
- break;
164
- }
165
- }
166
- }
167
- };
168
- var handleAndroidInput = function handleAndroidInput(e) {
169
- var curVal = elementRef.current.value;
170
- var pos = caret();
171
- if (oldVal.current.length && oldVal.current.length > curVal.length) {
172
- // a deletion or backspace happened
173
- checkVal(true);
174
- while (pos.begin > 0 && !tests.current[pos.begin - 1]) pos.begin--;
175
- if (pos.begin === 0) {
176
- while (pos.begin < firstNonMaskPos.current && !tests.current[pos.begin]) pos.begin++;
177
- }
178
- caret(pos.begin, pos.begin);
179
- } else {
180
- checkVal(true);
181
- while (pos.begin < len.current && !tests.current[pos.begin]) pos.begin++;
182
- caret(pos.begin, pos.begin);
183
- }
184
- if (props.onComplete && isCompleted()) {
185
- props.onComplete({
186
- originalEvent: e,
187
- value: getValue()
188
- });
189
- }
190
- updateModel(e);
191
- };
192
- var onBlur = function onBlur(e) {
193
- focus.current = false;
194
- checkVal();
195
- updateModel(e);
196
- updateFilledState();
197
- props.onBlur && props.onBlur(e);
198
- if (elementRef.current.value !== focusText.current) {
199
- var event = document.createEvent('HTMLEvents');
200
- event.initEvent('change', true, false);
201
- elementRef.current.dispatchEvent(event);
202
- }
203
- };
204
- var onKeyDown = function onKeyDown(e) {
205
- if (props.readOnly) {
206
- return;
207
- }
208
- var k = e.which || e.keyCode,
209
- pos,
210
- begin,
211
- end;
212
- oldVal.current = elementRef.current.value;
213
-
214
- //backspace, delete, and escape get special treatment
215
- if (k === 8 || k === 46 || DomHandler.isIOS() && k === 127) {
216
- pos = caret();
217
- begin = pos.begin;
218
- end = pos.end;
219
- if (end - begin === 0) {
220
- begin = k !== 46 ? seekPrev(begin) : end = seekNext(begin - 1);
221
- end = k === 46 ? seekNext(end) : end;
222
- }
223
- clearBuffer(begin, end);
224
- shiftL(begin, end - 1);
225
- updateModel(e);
226
- e.preventDefault();
227
- } else if (k === 13) {
228
- // enter
229
- onBlur(e);
230
- updateModel(e);
231
- } else if (k === 27) {
232
- // escape
233
- elementRef.current.value = focusText.current;
234
- caret(0, checkVal());
235
- updateModel(e);
236
- e.preventDefault();
237
- }
238
- };
239
- var onKeyPress = function onKeyPress(e) {
240
- if (props.readOnly) {
241
- return;
242
- }
243
- var k = e.which || e.keyCode,
244
- pos = caret(),
245
- p,
246
- c,
247
- next,
248
- completed;
249
- if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {
250
- //Ignore
251
- return;
252
- } else if (k && k !== 13) {
253
- if (pos.end - pos.begin !== 0) {
254
- clearBuffer(pos.begin, pos.end);
255
- shiftL(pos.begin, pos.end - 1);
256
- }
257
- p = seekNext(pos.begin - 1);
258
- if (p < len.current) {
259
- c = String.fromCharCode(k);
260
- if (tests.current[p].test(c)) {
261
- shiftR(p);
262
- buffer.current[p] = c;
263
- writeBuffer();
264
- next = seekNext(p);
265
- if (DomHandler.isAndroid()) {
266
- //Path for CSP Violation on FireFox OS 1.1
267
- var proxy = function proxy() {
268
- caret(next);
269
- };
270
- setTimeout(proxy, 0);
271
- } else {
272
- caret(next);
273
- }
274
- if (pos.begin <= lastRequiredNonMaskPos.current) {
275
- completed = isCompleted();
276
- }
277
- }
278
- }
279
- e.preventDefault();
280
- }
281
- updateModel(e);
282
- if (props.onComplete && completed) {
283
- props.onComplete({
284
- originalEvent: e,
285
- value: getValue()
286
- });
287
- }
288
- };
289
- var clearBuffer = function clearBuffer(start, end) {
290
- var i;
291
- for (i = start; i < end && i < len.current; i++) {
292
- if (tests.current[i]) {
293
- buffer.current[i] = getPlaceholder(i);
294
- }
295
- }
296
- };
297
- var writeBuffer = function writeBuffer() {
298
- if (elementRef.current) {
299
- elementRef.current.value = buffer.current.join('');
300
- }
301
- };
302
- var checkVal = function checkVal(allow) {
303
- isValueChecked.current = true;
304
- //try to place characters where they belong
305
- var test = elementRef.current && elementRef.current.value,
306
- lastMatch = -1,
307
- i,
308
- c,
309
- pos;
310
- for (i = 0, pos = 0; i < len.current; i++) {
311
- if (tests.current[i]) {
312
- buffer.current[i] = getPlaceholder(i);
313
- while (pos++ < test.length) {
314
- c = test.charAt(pos - 1);
315
- if (tests.current[i].test(c)) {
316
- buffer.current[i] = c;
317
- lastMatch = i;
318
- break;
319
- }
320
- }
321
- if (pos > test.length) {
322
- clearBuffer(i + 1, len.current);
323
- break;
324
- }
325
- } else {
326
- if (buffer.current[i] === test.charAt(pos)) {
327
- pos++;
328
- }
329
- if (i < partialPosition.current) {
330
- lastMatch = i;
331
- }
332
- }
333
- }
334
- if (allow) {
335
- writeBuffer();
336
- } else if (lastMatch + 1 < partialPosition.current) {
337
- if (props.autoClear || buffer.current.join('') === defaultBuffer.current) {
338
- // Invalid value. Remove it and replace it with the
339
- // mask, which is the default behavior.
340
- if (elementRef.current && elementRef.current.value) elementRef.current.value = '';
341
- clearBuffer(0, len.current);
342
- } else {
343
- // Invalid value, but we opt to show the value to the
344
- // user and allow them to correct their mistake.
345
- writeBuffer();
346
- }
347
- } else {
348
- writeBuffer();
349
- if (elementRef.current) {
350
- elementRef.current.value = elementRef.current.value.substring(0, lastMatch + 1);
351
- }
352
- }
353
- return partialPosition.current ? i : firstNonMaskPos.current;
354
- };
355
- var onFocus = function onFocus(e) {
356
- if (props.readOnly) {
357
- return;
358
- }
359
- focus.current = true;
360
- clearTimeout(caretTimeoutId.current);
361
- var pos;
362
- if (elementRef.current) {
363
- focusText.current = elementRef.current.value;
364
- } else {
365
- focusText.current = '';
366
- }
367
- pos = checkVal() || 0;
368
- caretTimeoutId.current = setTimeout(function () {
369
- if (elementRef.current !== document.activeElement) {
370
- return;
371
- }
372
- writeBuffer();
373
- if (pos === props.mask.replace('?', '').length) {
374
- caret(0, pos);
375
- } else {
376
- caret(pos);
377
- }
378
- updateFilledState();
379
- }, 100);
380
- props.onFocus && props.onFocus(e);
381
- };
382
- var onInput = function onInput(event) {
383
- androidChrome.current ? handleAndroidInput(event) : handleInputChange(event);
384
- };
385
- var handleInputChange = function handleInputChange(e) {
386
- if (props.readOnly) {
387
- return;
388
- }
389
- var pos = checkVal(true);
390
- caret(pos);
391
- updateModel(e);
392
- if (props.onComplete && isCompleted()) {
393
- props.onComplete({
394
- originalEvent: e,
395
- value: getValue()
396
- });
397
- }
398
- };
399
- var getUnmaskedValue = React.useCallback(function () {
400
- var unmaskedBuffer = [];
401
- for (var i = 0; i < buffer.current.length; i++) {
402
- var c = buffer.current[i];
403
- if (tests.current[i] && c !== getPlaceholder(i)) {
404
- unmaskedBuffer.push(c);
405
- }
406
- }
407
- return unmaskedBuffer.join('');
408
- }, [getPlaceholder]);
409
- var updateModel = function updateModel(e) {
410
- if (props.onChange) {
411
- var val = props.unmask ? getUnmaskedValue() : e && e.target.value;
412
- props.onChange({
413
- originalEvent: e,
414
- value: defaultBuffer.current !== val ? val : '',
415
- stopPropagation: function stopPropagation() {
416
- e.stopPropagation();
417
- },
418
- preventDefault: function preventDefault() {
419
- e.preventDefault();
420
- },
421
- target: {
422
- name: props.name,
423
- id: props.id,
424
- value: defaultBuffer.current !== val ? val : ''
425
- }
426
- });
427
- }
428
- };
429
- var updateFilledState = function updateFilledState() {
430
- if (elementRef.current && elementRef.current.value && elementRef.current.value.length > 0) DomHandler.addClass(elementRef.current, 'p-filled');else DomHandler.removeClass(elementRef.current, 'p-filled');
431
- };
432
- var updateValue = function updateValue(allow) {
433
- var pos;
434
- if (elementRef.current) {
435
- if (props.value == null) {
436
- elementRef.current.value = '';
437
- } else {
438
- elementRef.current.value = props.value;
439
- pos = checkVal(allow);
440
- setTimeout(function () {
441
- if (elementRef.current) {
442
- writeBuffer();
443
- return checkVal(allow);
444
- }
445
- }, 10);
446
- }
447
- focusText.current = elementRef.current.value;
448
- }
449
- updateFilledState();
450
- return pos;
451
- };
452
- var isValueUpdated = React.useCallback(function () {
453
- return props.unmask ? props.value !== getUnmaskedValue() : defaultBuffer.current !== elementRef.current.value && elementRef.current.value !== props.value;
454
- }, [props.unmask, props.value, getUnmaskedValue]);
455
- var init = function init() {
456
- if (props.mask) {
457
- tests.current = [];
458
- partialPosition.current = props.mask.length;
459
- len.current = props.mask.length;
460
- firstNonMaskPos.current = null;
461
- var defs = {
462
- 9: '[0-9]',
463
- a: '[A-Za-z]',
464
- '*': '[A-Za-z0-9]'
465
- };
466
- androidChrome.current = DomHandler.isChrome() && DomHandler.isAndroid();
467
- var maskTokens = props.mask.split('');
468
- for (var i = 0; i < maskTokens.length; i++) {
469
- var c = maskTokens[i];
470
- if (c === '?') {
471
- len.current--;
472
- partialPosition.current = i;
473
- } else if (defs[c]) {
474
- tests.current.push(new RegExp(defs[c]));
475
- if (firstNonMaskPos.current === null) {
476
- firstNonMaskPos.current = tests.current.length - 1;
477
- }
478
- if (i < partialPosition.current) {
479
- lastRequiredNonMaskPos.current = tests.current.length - 1;
480
- }
481
- } else {
482
- tests.current.push(null);
483
- }
484
- }
485
- buffer.current = [];
486
- for (var _i = 0; _i < maskTokens.length; _i++) {
487
- var _c = maskTokens[_i];
488
- if (_c !== '?') {
489
- if (defs[_c]) buffer.current.push(getPlaceholder(_i));else buffer.current.push(_c);
490
- }
491
- }
492
- defaultBuffer.current = buffer.current.join('');
493
- }
494
- };
495
- React.useImperativeHandle(ref, function () {
496
- return {
497
- props: props,
498
- focus: function focus() {
499
- return DomHandler.focus(elementRef.current);
500
- },
501
- getElement: function getElement() {
502
- return elementRef.current;
503
- }
504
- };
505
- });
506
- React.useEffect(function () {
507
- ObjectUtils.combinedRefs(elementRef, ref);
508
- }, [elementRef, ref]);
509
- useMountEffect(function () {
510
- init();
511
- updateValue();
512
- });
513
- useUpdateEffect(function () {
514
- init();
515
- caret(updateValue(true));
516
- if (props.unmask) {
517
- updateModel();
518
- }
519
- }, [props.mask]);
520
- useUpdateEffect(function () {
521
- if (isValueUpdated()) {
522
- updateValue();
523
- }
524
- }, [isValueUpdated]);
525
- var otherProps = InputMaskBase.getOtherProps(props);
526
- var className = classNames('p-inputmask', props.className);
527
- return /*#__PURE__*/React.createElement(InputText, _extends({
528
- ref: elementRef,
529
- autoFocus: props.autoFocus,
530
- id: props.id,
531
- type: props.type,
532
- name: props.name,
533
- style: props.style,
534
- className: className
535
- }, otherProps, {
536
- placeholder: props.placeholder,
537
- size: props.size,
538
- maxLength: props.maxLength,
539
- tabIndex: props.tabIndex,
540
- disabled: props.disabled,
541
- readOnly: props.readOnly,
542
- onFocus: onFocus,
543
- onBlur: onBlur,
544
- onKeyDown: onKeyDown,
545
- onKeyPress: onKeyPress,
546
- onInput: onInput,
547
- onPaste: handleInputChange,
548
- required: props.required,
549
- tooltip: props.tooltip,
550
- tooltipOptions: props.tooltipOptions,
551
- pt: props.pt,
552
- unstyled: props.unstyled,
553
- __parentMetadata: {
554
- parent: metaData
555
- }
556
- }));
557
- }));
558
- InputMask.displayName = 'InputMask';
559
-
560
- export { InputMask };
@@ -1 +0,0 @@
1
- import*as e from"react";import{PrimeReactContext as r}from"primereact/api";import{useMountEffect as n,useUpdateEffect as t}from"primereact/hooks";import{InputText as u}from"primereact/inputtext";import{DomHandler as c,ObjectUtils as a,classNames as l}from"primereact/utils";import{ComponentBase as o}from"primereact/componentbase";function i(){return i=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},i.apply(this,arguments)}var s=o.extend({defaultProps:{__TYPE:"InputMask",autoClear:!0,autoFocus:!1,className:null,disabled:!1,id:null,mask:null,maxLength:null,name:null,onBlur:null,onChange:null,onComplete:null,onFocus:null,placeholder:null,readOnly:!1,required:!1,size:null,slotChar:"_",style:null,tabIndex:null,tooltip:null,tooltipOptions:null,type:"text",unmask:!1,value:null,children:void 0}}),f=e.memo(e.forwardRef((function(o,f){var p=e.useContext(r),v=s.getProps(o,p),m=e.useRef(null),g=e.useRef(null),d=e.useRef(0),h=e.useRef([]),b=e.useRef([]),y=e.useRef(0),C=e.useRef(null),k=e.useRef(!1),R=e.useRef(null),E=e.useRef(null),x=e.useRef(null),O=e.useRef(null),P=e.useRef(null),I=e.useRef(!1),S={props:v},T=function(e,r){var n,t,u,c=m.current;if(c&&c.offsetParent&&c===document.activeElement)return"number"!=typeof e?(c.setSelectionRange?(t=c.selectionStart,u=c.selectionEnd):document.selection&&document.selection.createRange&&(u=(t=0-(n=document.selection.createRange()).duplicate().moveStart("character",-1e5))+n.text.length),{begin:t,end:u}):(t=e,u="number"==typeof r?r:t,void(c.setSelectionRange?c.setSelectionRange(t,u):c.createTextRange&&((n=c.createTextRange()).collapse(!0),n.moveEnd("character",u),n.moveStart("character",t),n.select())))},j=function(){for(var e=g.current;e<=d.current;e++)if(h.current[e]&&b.current[e]===A(e))return!1;return!0},A=e.useCallback((function(e){return v.slotChar.charAt(e<v.slotChar.length?e:0)}),[v.slotChar]),F=function(){return v.unmask?H():m.current&&m.current.value},w=function(e){for(;++e<y.current&&!h.current[e];);return e},D=function(e){for(;--e>=0&&!h.current[e];);return e},z=function(e,r){var n,t;if(!(e<0)){for(n=e,t=w(r);n<y.current;n++)if(h.current[n]){if(!(t<y.current&&h.current[n].test(b.current[t])))break;b.current[n]=b.current[t],b.current[t]=A(t),t=w(t)}L(),T(Math.max(g.current,e))}},K=function(e){var r,n,t,u;for(r=e,n=A(e);r<y.current;r++)if(h.current[r]){if(t=w(r),u=b.current[r],b.current[r]=n,!(t<y.current&&h.current[t].test(u)))break;n=u}},M=function(e){var r=m.current.value,n=T();if(C.current.length&&C.current.length>r.length){for(N(!0);n.begin>0&&!h.current[n.begin-1];)n.begin--;if(0===n.begin)for(;n.begin<g.current&&!h.current[n.begin];)n.begin++;T(n.begin,n.begin)}else{for(N(!0);n.begin<y.current&&!h.current[n.begin];)n.begin++;T(n.begin,n.begin)}v.onComplete&&j()&&v.onComplete({originalEvent:e,value:F()}),Z(e)},_=function(e){if(k.current=!1,N(),Z(e),Y(),v.onBlur&&v.onBlur(e),m.current.value!==R.current){var r=document.createEvent("HTMLEvents");r.initEvent("change",!0,!1),m.current.dispatchEvent(r)}},B=function(e,r){var n;for(n=e;n<r&&n<y.current;n++)h.current[n]&&(b.current[n]=A(n))},L=function(){m.current&&(m.current.value=b.current.join(""))},N=function(e){E.current=!0;var r,n,t,u=m.current&&m.current.value,c=-1;for(r=0,t=0;r<y.current;r++)if(h.current[r]){for(b.current[r]=A(r);t++<u.length;)if(n=u.charAt(t-1),h.current[r].test(n)){b.current[r]=n,c=r;break}if(t>u.length){B(r+1,y.current);break}}else b.current[r]===u.charAt(t)&&t++,r<x.current&&(c=r);return e?L():c+1<x.current?v.autoClear||b.current.join("")===O.current?(m.current&&m.current.value&&(m.current.value=""),B(0,y.current)):L():(L(),m.current&&(m.current.value=m.current.value.substring(0,c+1))),x.current?r:g.current},q=function(e){if(!v.readOnly){var r=N(!0);T(r),Z(e),v.onComplete&&j()&&v.onComplete({originalEvent:e,value:F()})}},H=e.useCallback((function(){for(var e=[],r=0;r<b.current.length;r++){var n=b.current[r];h.current[r]&&n!==A(r)&&e.push(n)}return e.join("")}),[A]),Z=function(e){if(v.onChange){var r=v.unmask?H():e&&e.target.value;v.onChange({originalEvent:e,value:O.current!==r?r:"",stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:v.name,id:v.id,value:O.current!==r?r:""}})}},Y=function(){m.current&&m.current.value&&m.current.value.length>0?c.addClass(m.current,"p-filled"):c.removeClass(m.current,"p-filled")},G=function(e){var r;return m.current&&(null==v.value?m.current.value="":(m.current.value=v.value,r=N(e),setTimeout((function(){if(m.current)return L(),N(e)}),10)),R.current=m.current.value),Y(),r},J=e.useCallback((function(){return v.unmask?v.value!==H():O.current!==m.current.value&&m.current.value!==v.value}),[v.unmask,v.value,H]),Q=function(){if(v.mask){h.current=[],x.current=v.mask.length,y.current=v.mask.length,g.current=null;var e={9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"};I.current=c.isChrome()&&c.isAndroid();for(var r=v.mask.split(""),n=0;n<r.length;n++){var t=r[n];"?"===t?(y.current--,x.current=n):e[t]?(h.current.push(new RegExp(e[t])),null===g.current&&(g.current=h.current.length-1),n<x.current&&(d.current=h.current.length-1)):h.current.push(null)}b.current=[];for(var u=0;u<r.length;u++){var a=r[u];"?"!==a&&b.current.push(e[a]?A(u):a)}O.current=b.current.join("")}};e.useImperativeHandle(f,(function(){return{props:v,focus:function(){return c.focus(m.current)},getElement:function(){return m.current}}})),e.useEffect((function(){a.combinedRefs(m,f)}),[m,f]),n((function(){Q(),G()})),t((function(){Q(),T(G(!0)),v.unmask&&Z()}),[v.mask]),t((function(){J()&&G()}),[J]);var U=s.getOtherProps(v),V=l("p-inputmask",v.className);return e.createElement(u,i({ref:m,autoFocus:v.autoFocus,id:v.id,type:v.type,name:v.name,style:v.style,className:V},U,{placeholder:v.placeholder,size:v.size,maxLength:v.maxLength,tabIndex:v.tabIndex,disabled:v.disabled,readOnly:v.readOnly,onFocus:function(e){var r;v.readOnly||(k.current=!0,clearTimeout(P.current),R.current=m.current?m.current.value:"",r=N()||0,P.current=setTimeout((function(){m.current===document.activeElement&&(L(),r===v.mask.replace("?","").length?T(0,r):T(r),Y())}),100),v.onFocus&&v.onFocus(e))},onBlur:_,onKeyDown:function(e){if(!v.readOnly){var r,n,t,u=e.which||e.keyCode;C.current=m.current.value,8===u||46===u||c.isIOS()&&127===u?((t=(r=T()).end)-(n=r.begin)==0&&(n=46!==u?D(n):t=w(n-1),t=46===u?w(t):t),B(n,t),z(n,t-1),Z(e),e.preventDefault()):13===u?(_(e),Z(e)):27===u&&(m.current.value=R.current,T(0,N()),Z(e),e.preventDefault())}},onKeyPress:function(e){if(!v.readOnly){var r,n,t,u,a=e.which||e.keyCode,l=T();if(!(e.ctrlKey||e.altKey||e.metaKey||a<32)){if(a&&13!==a){if(l.end-l.begin!=0&&(B(l.begin,l.end),z(l.begin,l.end-1)),(r=w(l.begin-1))<y.current&&(n=String.fromCharCode(a),h.current[r].test(n))){if(K(r),b.current[r]=n,L(),t=w(r),c.isAndroid()){setTimeout((function(){T(t)}),0)}else T(t);l.begin<=d.current&&(u=j())}e.preventDefault()}Z(e),v.onComplete&&u&&v.onComplete({originalEvent:e,value:F()})}}},onInput:function(e){I.current?M(e):q(e)},onPaste:q,required:v.required,tooltip:v.tooltip,tooltipOptions:v.tooltipOptions,pt:v.pt,unstyled:v.unstyled,__parentMetadata:{parent:S}}))})));f.displayName="InputMask";export{f as InputMask};