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,2383 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
-
5
- function _arrayWithHoles(arr) {
6
- if (Array.isArray(arr)) return arr;
7
- }
8
-
9
- function _iterableToArrayLimit(r, l) {
10
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
11
- if (null != t) {
12
- var e,
13
- n,
14
- i,
15
- u,
16
- a = [],
17
- f = !0,
18
- o = !1;
19
- try {
20
- if (i = (t = t.call(r)).next, 0 === l) {
21
- if (Object(t) !== t) return;
22
- f = !1;
23
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
24
- } catch (r) {
25
- o = !0, n = r;
26
- } finally {
27
- try {
28
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
29
- } finally {
30
- if (o) throw n;
31
- }
32
- }
33
- return a;
34
- }
35
- }
36
-
37
- function _arrayLikeToArray$2(arr, len) {
38
- if (len == null || len > arr.length) len = arr.length;
39
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
40
- return arr2;
41
- }
42
-
43
- function _unsupportedIterableToArray$2(o, minLen) {
44
- if (!o) return;
45
- if (typeof o === "string") return _arrayLikeToArray$2(o, minLen);
46
- var n = Object.prototype.toString.call(o).slice(8, -1);
47
- if (n === "Object" && o.constructor) n = o.constructor.name;
48
- if (n === "Map" || n === "Set") return Array.from(o);
49
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen);
50
- }
51
-
52
- function _nonIterableRest() {
53
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
54
- }
55
-
56
- function _slicedToArray(arr, i) {
57
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$2(arr, i) || _nonIterableRest();
58
- }
59
-
60
- function _typeof(o) {
61
- "@babel/helpers - typeof";
62
-
63
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
64
- return typeof o;
65
- } : function (o) {
66
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
67
- }, _typeof(o);
68
- }
69
-
70
- function classNames() {
71
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
72
- args[_key] = arguments[_key];
73
- }
74
- if (args) {
75
- var classes = [];
76
- for (var i = 0; i < args.length; i++) {
77
- var className = args[i];
78
- if (!className) continue;
79
- var type = _typeof(className);
80
- if (type === 'string' || type === 'number') {
81
- classes.push(className);
82
- } else if (type === 'object') {
83
- var _classes = Array.isArray(className) ? className : Object.entries(className).map(function (_ref) {
84
- var _ref2 = _slicedToArray(_ref, 2),
85
- key = _ref2[0],
86
- value = _ref2[1];
87
- return !!value ? key : null;
88
- });
89
- classes = _classes.length ? classes.concat(_classes.filter(function (c) {
90
- return !!c;
91
- })) : classes;
92
- }
93
- }
94
- return classes.join(' ').trim();
95
- }
96
- return undefined;
97
- }
98
-
99
- function _arrayWithoutHoles(arr) {
100
- if (Array.isArray(arr)) return _arrayLikeToArray$2(arr);
101
- }
102
-
103
- function _iterableToArray(iter) {
104
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
105
- }
106
-
107
- function _nonIterableSpread() {
108
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
109
- }
110
-
111
- function _toConsumableArray(arr) {
112
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$2(arr) || _nonIterableSpread();
113
- }
114
-
115
- function _classCallCheck(instance, Constructor) {
116
- if (!(instance instanceof Constructor)) {
117
- throw new TypeError("Cannot call a class as a function");
118
- }
119
- }
120
-
121
- function _toPrimitive(input, hint) {
122
- if (_typeof(input) !== "object" || input === null) return input;
123
- var prim = input[Symbol.toPrimitive];
124
- if (prim !== undefined) {
125
- var res = prim.call(input, hint || "default");
126
- if (_typeof(res) !== "object") return res;
127
- throw new TypeError("@@toPrimitive must return a primitive value.");
128
- }
129
- return (hint === "string" ? String : Number)(input);
130
- }
131
-
132
- function _toPropertyKey(arg) {
133
- var key = _toPrimitive(arg, "string");
134
- return _typeof(key) === "symbol" ? key : String(key);
135
- }
136
-
137
- function _defineProperties(target, props) {
138
- for (var i = 0; i < props.length; i++) {
139
- var descriptor = props[i];
140
- descriptor.enumerable = descriptor.enumerable || false;
141
- descriptor.configurable = true;
142
- if ("value" in descriptor) descriptor.writable = true;
143
- Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
144
- }
145
- }
146
- function _createClass(Constructor, protoProps, staticProps) {
147
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
148
- if (staticProps) _defineProperties(Constructor, staticProps);
149
- Object.defineProperty(Constructor, "prototype", {
150
- writable: false
151
- });
152
- return Constructor;
153
- }
154
-
155
- function _defineProperty(obj, key, value) {
156
- key = _toPropertyKey(key);
157
- if (key in obj) {
158
- Object.defineProperty(obj, key, {
159
- value: value,
160
- enumerable: true,
161
- configurable: true,
162
- writable: true
163
- });
164
- } else {
165
- obj[key] = value;
166
- }
167
- return obj;
168
- }
169
-
170
- function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
171
- function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
172
- function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
173
- var DomHandler = /*#__PURE__*/function () {
174
- function DomHandler() {
175
- _classCallCheck(this, DomHandler);
176
- }
177
- _createClass(DomHandler, null, [{
178
- key: "innerWidth",
179
- value: function innerWidth(el) {
180
- if (el) {
181
- var width = el.offsetWidth;
182
- var style = getComputedStyle(el);
183
- width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);
184
- return width;
185
- }
186
- return 0;
187
- }
188
- }, {
189
- key: "width",
190
- value: function width(el) {
191
- if (el) {
192
- var width = el.offsetWidth;
193
- var style = getComputedStyle(el);
194
- width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);
195
- return width;
196
- }
197
- return 0;
198
- }
199
- }, {
200
- key: "getBrowserLanguage",
201
- value: function getBrowserLanguage() {
202
- return navigator.userLanguage || navigator.languages && navigator.languages.length && navigator.languages[0] || navigator.language || navigator.browserLanguage || navigator.systemLanguage || 'en';
203
- }
204
- }, {
205
- key: "getWindowScrollTop",
206
- value: function getWindowScrollTop() {
207
- var doc = document.documentElement;
208
- return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);
209
- }
210
- }, {
211
- key: "getWindowScrollLeft",
212
- value: function getWindowScrollLeft() {
213
- var doc = document.documentElement;
214
- return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
215
- }
216
- }, {
217
- key: "getOuterWidth",
218
- value: function getOuterWidth(el, margin) {
219
- if (el) {
220
- var width = el.getBoundingClientRect().width || el.offsetWidth;
221
- if (margin) {
222
- var style = getComputedStyle(el);
223
- width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);
224
- }
225
- return width;
226
- }
227
- return 0;
228
- }
229
- }, {
230
- key: "getOuterHeight",
231
- value: function getOuterHeight(el, margin) {
232
- if (el) {
233
- var height = el.getBoundingClientRect().height || el.offsetHeight;
234
- if (margin) {
235
- var style = getComputedStyle(el);
236
- height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);
237
- }
238
- return height;
239
- }
240
- return 0;
241
- }
242
- }, {
243
- key: "getClientHeight",
244
- value: function getClientHeight(el, margin) {
245
- if (el) {
246
- var height = el.clientHeight;
247
- if (margin) {
248
- var style = getComputedStyle(el);
249
- height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);
250
- }
251
- return height;
252
- }
253
- return 0;
254
- }
255
- }, {
256
- key: "getClientWidth",
257
- value: function getClientWidth(el, margin) {
258
- if (el) {
259
- var width = el.clientWidth;
260
- if (margin) {
261
- var style = getComputedStyle(el);
262
- width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);
263
- }
264
- return width;
265
- }
266
- return 0;
267
- }
268
- }, {
269
- key: "getViewport",
270
- value: function getViewport() {
271
- var win = window,
272
- d = document,
273
- e = d.documentElement,
274
- g = d.getElementsByTagName('body')[0],
275
- w = win.innerWidth || e.clientWidth || g.clientWidth,
276
- h = win.innerHeight || e.clientHeight || g.clientHeight;
277
- return {
278
- width: w,
279
- height: h
280
- };
281
- }
282
- }, {
283
- key: "getOffset",
284
- value: function getOffset(el) {
285
- if (el) {
286
- var rect = el.getBoundingClientRect();
287
- return {
288
- top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),
289
- left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0)
290
- };
291
- }
292
- return {
293
- top: 'auto',
294
- left: 'auto'
295
- };
296
- }
297
- }, {
298
- key: "index",
299
- value: function index(element) {
300
- if (element) {
301
- var children = element.parentNode.childNodes;
302
- var num = 0;
303
- for (var i = 0; i < children.length; i++) {
304
- if (children[i] === element) return num;
305
- if (children[i].nodeType === 1) num++;
306
- }
307
- }
308
- return -1;
309
- }
310
- }, {
311
- key: "addMultipleClasses",
312
- value: function addMultipleClasses(element, className) {
313
- if (element && className) {
314
- if (element.classList) {
315
- var styles = className.split(' ');
316
- for (var i = 0; i < styles.length; i++) {
317
- element.classList.add(styles[i]);
318
- }
319
- } else {
320
- var _styles = className.split(' ');
321
- for (var _i = 0; _i < _styles.length; _i++) {
322
- element.className += ' ' + _styles[_i];
323
- }
324
- }
325
- }
326
- }
327
- }, {
328
- key: "removeMultipleClasses",
329
- value: function removeMultipleClasses(element, className) {
330
- if (element && className) {
331
- if (element.classList) {
332
- var styles = className.split(' ');
333
- for (var i = 0; i < styles.length; i++) {
334
- element.classList.remove(styles[i]);
335
- }
336
- } else {
337
- var _styles2 = className.split(' ');
338
- for (var _i2 = 0; _i2 < _styles2.length; _i2++) {
339
- element.className = element.className.replace(new RegExp('(^|\\b)' + _styles2[_i2].split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
340
- }
341
- }
342
- }
343
- }
344
- }, {
345
- key: "addClass",
346
- value: function addClass(element, className) {
347
- if (element && className) {
348
- if (element.classList) element.classList.add(className);else element.className += ' ' + className;
349
- }
350
- }
351
- }, {
352
- key: "removeClass",
353
- value: function removeClass(element, className) {
354
- if (element && className) {
355
- if (element.classList) element.classList.remove(className);else element.className = element.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' ');
356
- }
357
- }
358
- }, {
359
- key: "hasClass",
360
- value: function hasClass(element, className) {
361
- if (element) {
362
- if (element.classList) return element.classList.contains(className);else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);
363
- }
364
- return false;
365
- }
366
- }, {
367
- key: "addStyles",
368
- value: function addStyles(element) {
369
- var styles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
370
- if (element) {
371
- Object.entries(styles).forEach(function (_ref) {
372
- var _ref2 = _slicedToArray(_ref, 2),
373
- key = _ref2[0],
374
- value = _ref2[1];
375
- return element.style[key] = value;
376
- });
377
- }
378
- }
379
- }, {
380
- key: "find",
381
- value: function find(element, selector) {
382
- return element ? Array.from(element.querySelectorAll(selector)) : [];
383
- }
384
- }, {
385
- key: "findSingle",
386
- value: function findSingle(element, selector) {
387
- if (element) {
388
- return element.querySelector(selector);
389
- }
390
- return null;
391
- }
392
- }, {
393
- key: "setAttributes",
394
- value: function setAttributes(element) {
395
- var _this = this;
396
- var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
397
- if (element) {
398
- var computedStyles = function computedStyles(rule, value) {
399
- var _element$$attrs, _element$$attrs2;
400
- var styles = element !== null && element !== void 0 && (_element$$attrs = element.$attrs) !== null && _element$$attrs !== void 0 && _element$$attrs[rule] ? [element === null || element === void 0 || (_element$$attrs2 = element.$attrs) === null || _element$$attrs2 === void 0 ? void 0 : _element$$attrs2[rule]] : [];
401
- return [value].flat().reduce(function (cv, v) {
402
- if (v !== null && v !== undefined) {
403
- var type = _typeof(v);
404
- if (type === 'string' || type === 'number') {
405
- cv.push(v);
406
- } else if (type === 'object') {
407
- var _cv = Array.isArray(v) ? computedStyles(rule, v) : Object.entries(v).map(function (_ref3) {
408
- var _ref4 = _slicedToArray(_ref3, 2),
409
- _k = _ref4[0],
410
- _v = _ref4[1];
411
- return rule === 'style' && (!!_v || _v === 0) ? "".concat(_k.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(), ":").concat(_v) : !!_v ? _k : undefined;
412
- });
413
- cv = _cv.length ? cv.concat(_cv.filter(function (c) {
414
- return !!c;
415
- })) : cv;
416
- }
417
- }
418
- return cv;
419
- }, styles);
420
- };
421
- Object.entries(attributes).forEach(function (_ref5) {
422
- var _ref6 = _slicedToArray(_ref5, 2),
423
- key = _ref6[0],
424
- value = _ref6[1];
425
- if (value !== undefined && value !== null) {
426
- var matchedEvent = key.match(/^on(.+)/);
427
- if (matchedEvent) {
428
- element.addEventListener(matchedEvent[1].toLowerCase(), value);
429
- } else if (key === 'p-bind') {
430
- _this.setAttributes(element, value);
431
- } else {
432
- value = key === 'class' ? _toConsumableArray(new Set(computedStyles('class', value))).join(' ').trim() : key === 'style' ? computedStyles('style', value).join(';').trim() : value;
433
- (element.$attrs = element.$attrs || {}) && (element.$attrs[key] = value);
434
- element.setAttribute(key, value);
435
- }
436
- }
437
- });
438
- }
439
- }
440
- }, {
441
- key: "getAttribute",
442
- value: function getAttribute(element, name) {
443
- if (element) {
444
- var value = element.getAttribute(name);
445
- if (!isNaN(value)) {
446
- return +value;
447
- }
448
- if (value === 'true' || value === 'false') {
449
- return value === 'true';
450
- }
451
- return value;
452
- }
453
- return undefined;
454
- }
455
- }, {
456
- key: "isAttributeEquals",
457
- value: function isAttributeEquals(element, name, value) {
458
- return element ? this.getAttribute(element, name) === value : false;
459
- }
460
- }, {
461
- key: "isAttributeNotEquals",
462
- value: function isAttributeNotEquals(element, name, value) {
463
- return !this.isAttributeEquals(element, name, value);
464
- }
465
- }, {
466
- key: "getHeight",
467
- value: function getHeight(el) {
468
- if (el) {
469
- var height = el.offsetHeight;
470
- var style = getComputedStyle(el);
471
- height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
472
- return height;
473
- }
474
- return 0;
475
- }
476
- }, {
477
- key: "getWidth",
478
- value: function getWidth(el) {
479
- if (el) {
480
- var width = el.offsetWidth;
481
- var style = getComputedStyle(el);
482
- width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);
483
- return width;
484
- }
485
- return 0;
486
- }
487
- }, {
488
- key: "alignOverlay",
489
- value: function alignOverlay(overlay, target, appendTo) {
490
- var calculateMinWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
491
- if (overlay && target) {
492
- if (appendTo === 'self') {
493
- this.relativePosition(overlay, target);
494
- } else {
495
- calculateMinWidth && (overlay.style.minWidth = DomHandler.getOuterWidth(target) + 'px');
496
- this.absolutePosition(overlay, target);
497
- }
498
- }
499
- }
500
- }, {
501
- key: "absolutePosition",
502
- value: function absolutePosition(element, target) {
503
- var align = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'left';
504
- if (element && target) {
505
- var elementDimensions = element.offsetParent ? {
506
- width: element.offsetWidth,
507
- height: element.offsetHeight
508
- } : this.getHiddenElementDimensions(element);
509
- var elementOuterHeight = elementDimensions.height;
510
- var elementOuterWidth = elementDimensions.width;
511
- var targetOuterHeight = target.offsetHeight;
512
- var targetOuterWidth = target.offsetWidth;
513
- var targetOffset = target.getBoundingClientRect();
514
- var windowScrollTop = this.getWindowScrollTop();
515
- var windowScrollLeft = this.getWindowScrollLeft();
516
- var viewport = this.getViewport();
517
- var top, left;
518
- if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {
519
- top = targetOffset.top + windowScrollTop - elementOuterHeight;
520
- if (top < 0) {
521
- top = windowScrollTop;
522
- }
523
- element.style.transformOrigin = 'bottom';
524
- } else {
525
- top = targetOuterHeight + targetOffset.top + windowScrollTop;
526
- element.style.transformOrigin = 'top';
527
- }
528
- var targetOffsetPx = targetOffset.left;
529
- var alignOffset = align === 'left' ? 0 : elementOuterWidth - targetOuterWidth;
530
- if (targetOffsetPx + targetOuterWidth + elementOuterWidth > viewport.width) left = Math.max(0, targetOffsetPx + windowScrollLeft + targetOuterWidth - elementOuterWidth);else left = targetOffsetPx - alignOffset + windowScrollLeft;
531
- element.style.top = top + 'px';
532
- element.style.left = left + 'px';
533
- }
534
- }
535
- }, {
536
- key: "relativePosition",
537
- value: function relativePosition(element, target) {
538
- if (element && target) {
539
- var elementDimensions = element.offsetParent ? {
540
- width: element.offsetWidth,
541
- height: element.offsetHeight
542
- } : this.getHiddenElementDimensions(element);
543
- var targetHeight = target.offsetHeight;
544
- var targetOffset = target.getBoundingClientRect();
545
- var viewport = this.getViewport();
546
- var top, left;
547
- if (targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {
548
- top = -1 * elementDimensions.height;
549
- if (targetOffset.top + top < 0) {
550
- top = -1 * targetOffset.top;
551
- }
552
- element.style.transformOrigin = 'bottom';
553
- } else {
554
- top = targetHeight;
555
- element.style.transformOrigin = 'top';
556
- }
557
- if (elementDimensions.width > viewport.width) {
558
- // element wider then viewport and cannot fit on screen (align at left side of viewport)
559
- left = targetOffset.left * -1;
560
- } else if (targetOffset.left + elementDimensions.width > viewport.width) {
561
- // element wider then viewport but can be fit on screen (align at right side of viewport)
562
- left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;
563
- } else {
564
- // element fits on screen (align with target)
565
- left = 0;
566
- }
567
- element.style.top = top + 'px';
568
- element.style.left = left + 'px';
569
- }
570
- }
571
- }, {
572
- key: "flipfitCollision",
573
- value: function flipfitCollision(element, target) {
574
- var _this2 = this;
575
- var my = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'left top';
576
- var at = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'left bottom';
577
- var callback = arguments.length > 4 ? arguments[4] : undefined;
578
- if (element && target) {
579
- var targetOffset = target.getBoundingClientRect();
580
- var viewport = this.getViewport();
581
- var myArr = my.split(' ');
582
- var atArr = at.split(' ');
583
- var getPositionValue = function getPositionValue(arr, isOffset) {
584
- return isOffset ? +arr.substring(arr.search(/(\+|-)/g)) || 0 : arr.substring(0, arr.search(/(\+|-)/g)) || arr;
585
- };
586
- var position = {
587
- my: {
588
- x: getPositionValue(myArr[0]),
589
- y: getPositionValue(myArr[1] || myArr[0]),
590
- offsetX: getPositionValue(myArr[0], true),
591
- offsetY: getPositionValue(myArr[1] || myArr[0], true)
592
- },
593
- at: {
594
- x: getPositionValue(atArr[0]),
595
- y: getPositionValue(atArr[1] || atArr[0]),
596
- offsetX: getPositionValue(atArr[0], true),
597
- offsetY: getPositionValue(atArr[1] || atArr[0], true)
598
- }
599
- };
600
- var myOffset = {
601
- left: function left() {
602
- var totalOffset = position.my.offsetX + position.at.offsetX;
603
- return totalOffset + targetOffset.left + (position.my.x === 'left' ? 0 : -1 * (position.my.x === 'center' ? _this2.getOuterWidth(element) / 2 : _this2.getOuterWidth(element)));
604
- },
605
- top: function top() {
606
- var totalOffset = position.my.offsetY + position.at.offsetY;
607
- return totalOffset + targetOffset.top + (position.my.y === 'top' ? 0 : -1 * (position.my.y === 'center' ? _this2.getOuterHeight(element) / 2 : _this2.getOuterHeight(element)));
608
- }
609
- };
610
- var alignWithAt = {
611
- count: {
612
- x: 0,
613
- y: 0
614
- },
615
- left: function left() {
616
- var left = myOffset.left();
617
- var scrollLeft = DomHandler.getWindowScrollLeft();
618
- element.style.left = left + scrollLeft + 'px';
619
- if (this.count.x === 2) {
620
- element.style.left = scrollLeft + 'px';
621
- this.count.x = 0;
622
- } else if (left < 0) {
623
- this.count.x++;
624
- position.my.x = 'left';
625
- position.at.x = 'right';
626
- position.my.offsetX *= -1;
627
- position.at.offsetX *= -1;
628
- this.right();
629
- }
630
- },
631
- right: function right() {
632
- var left = myOffset.left() + DomHandler.getOuterWidth(target);
633
- var scrollLeft = DomHandler.getWindowScrollLeft();
634
- element.style.left = left + scrollLeft + 'px';
635
- if (this.count.x === 2) {
636
- element.style.left = viewport.width - DomHandler.getOuterWidth(element) + scrollLeft + 'px';
637
- this.count.x = 0;
638
- } else if (left + DomHandler.getOuterWidth(element) > viewport.width) {
639
- this.count.x++;
640
- position.my.x = 'right';
641
- position.at.x = 'left';
642
- position.my.offsetX *= -1;
643
- position.at.offsetX *= -1;
644
- this.left();
645
- }
646
- },
647
- top: function top() {
648
- var top = myOffset.top();
649
- var scrollTop = DomHandler.getWindowScrollTop();
650
- element.style.top = top + scrollTop + 'px';
651
- if (this.count.y === 2) {
652
- element.style.left = scrollTop + 'px';
653
- this.count.y = 0;
654
- } else if (top < 0) {
655
- this.count.y++;
656
- position.my.y = 'top';
657
- position.at.y = 'bottom';
658
- position.my.offsetY *= -1;
659
- position.at.offsetY *= -1;
660
- this.bottom();
661
- }
662
- },
663
- bottom: function bottom() {
664
- var top = myOffset.top() + DomHandler.getOuterHeight(target);
665
- var scrollTop = DomHandler.getWindowScrollTop();
666
- element.style.top = top + scrollTop + 'px';
667
- if (this.count.y === 2) {
668
- element.style.left = viewport.height - DomHandler.getOuterHeight(element) + scrollTop + 'px';
669
- this.count.y = 0;
670
- } else if (top + DomHandler.getOuterHeight(target) > viewport.height) {
671
- this.count.y++;
672
- position.my.y = 'bottom';
673
- position.at.y = 'top';
674
- position.my.offsetY *= -1;
675
- position.at.offsetY *= -1;
676
- this.top();
677
- }
678
- },
679
- center: function center(axis) {
680
- if (axis === 'y') {
681
- var top = myOffset.top() + DomHandler.getOuterHeight(target) / 2;
682
- element.style.top = top + DomHandler.getWindowScrollTop() + 'px';
683
- if (top < 0) {
684
- this.bottom();
685
- } else if (top + DomHandler.getOuterHeight(target) > viewport.height) {
686
- this.top();
687
- }
688
- } else {
689
- var left = myOffset.left() + DomHandler.getOuterWidth(target) / 2;
690
- element.style.left = left + DomHandler.getWindowScrollLeft() + 'px';
691
- if (left < 0) {
692
- this.left();
693
- } else if (left + DomHandler.getOuterWidth(element) > viewport.width) {
694
- this.right();
695
- }
696
- }
697
- }
698
- };
699
- alignWithAt[position.at.x]('x');
700
- alignWithAt[position.at.y]('y');
701
- if (this.isFunction(callback)) {
702
- callback(position);
703
- }
704
- }
705
- }
706
- }, {
707
- key: "findCollisionPosition",
708
- value: function findCollisionPosition(position) {
709
- if (position) {
710
- var isAxisY = position === 'top' || position === 'bottom';
711
- var myXPosition = position === 'left' ? 'right' : 'left';
712
- var myYPosition = position === 'top' ? 'bottom' : 'top';
713
- if (isAxisY) {
714
- return {
715
- axis: 'y',
716
- my: "center ".concat(myYPosition),
717
- at: "center ".concat(position)
718
- };
719
- }
720
- return {
721
- axis: 'x',
722
- my: "".concat(myXPosition, " center"),
723
- at: "".concat(position, " center")
724
- };
725
- }
726
- }
727
- }, {
728
- key: "getParents",
729
- value: function getParents(element) {
730
- var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
731
- return element['parentNode'] === null ? parents : this.getParents(element.parentNode, parents.concat([element.parentNode]));
732
- }
733
- }, {
734
- key: "getScrollableParents",
735
- value: function getScrollableParents(element) {
736
- var hideOverlaysOnDocumentScrolling = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
737
- var scrollableParents = [];
738
- if (element) {
739
- var parents = this.getParents(element);
740
- var overflowRegex = /(auto|scroll)/;
741
- var overflowCheck = function overflowCheck(node) {
742
- var styleDeclaration = node ? getComputedStyle(node) : null;
743
- return styleDeclaration && (overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY')));
744
- };
745
- var addScrollableParent = function addScrollableParent(node) {
746
- if (hideOverlaysOnDocumentScrolling) {
747
- // nodeType 9 is for document element
748
- scrollableParents.push(node.nodeName === 'BODY' || node.nodeName === 'HTML' || node.nodeType === 9 ? window : node);
749
- } else {
750
- scrollableParents.push(node);
751
- }
752
- };
753
- var _iterator = _createForOfIteratorHelper$1(parents),
754
- _step;
755
- try {
756
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
757
- var parent = _step.value;
758
- var scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];
759
- if (scrollSelectors) {
760
- var selectors = scrollSelectors.split(',');
761
- var _iterator2 = _createForOfIteratorHelper$1(selectors),
762
- _step2;
763
- try {
764
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
765
- var selector = _step2.value;
766
- var el = this.findSingle(parent, selector);
767
- if (el && overflowCheck(el)) {
768
- addScrollableParent(el);
769
- }
770
- }
771
- } catch (err) {
772
- _iterator2.e(err);
773
- } finally {
774
- _iterator2.f();
775
- }
776
- }
777
-
778
- // BODY
779
- if (parent.nodeType === 1 && overflowCheck(parent)) {
780
- addScrollableParent(parent);
781
- }
782
- }
783
- } catch (err) {
784
- _iterator.e(err);
785
- } finally {
786
- _iterator.f();
787
- }
788
- }
789
-
790
- // we should always at least have the body or window
791
- if (!scrollableParents.some(function (node) {
792
- return node === document.body || node === window;
793
- })) {
794
- scrollableParents.push(window);
795
- }
796
- return scrollableParents;
797
- }
798
- }, {
799
- key: "getHiddenElementOuterHeight",
800
- value: function getHiddenElementOuterHeight(element) {
801
- if (element) {
802
- element.style.visibility = 'hidden';
803
- element.style.display = 'block';
804
- var elementHeight = element.offsetHeight;
805
- element.style.display = 'none';
806
- element.style.visibility = 'visible';
807
- return elementHeight;
808
- }
809
- return 0;
810
- }
811
- }, {
812
- key: "getHiddenElementOuterWidth",
813
- value: function getHiddenElementOuterWidth(element) {
814
- if (element) {
815
- element.style.visibility = 'hidden';
816
- element.style.display = 'block';
817
- var elementWidth = element.offsetWidth;
818
- element.style.display = 'none';
819
- element.style.visibility = 'visible';
820
- return elementWidth;
821
- }
822
- return 0;
823
- }
824
- }, {
825
- key: "getHiddenElementDimensions",
826
- value: function getHiddenElementDimensions(element) {
827
- var dimensions = {};
828
- if (element) {
829
- element.style.visibility = 'hidden';
830
- element.style.display = 'block';
831
- dimensions.width = element.offsetWidth;
832
- dimensions.height = element.offsetHeight;
833
- element.style.display = 'none';
834
- element.style.visibility = 'visible';
835
- }
836
- return dimensions;
837
- }
838
- }, {
839
- key: "fadeIn",
840
- value: function fadeIn(element, duration) {
841
- if (element) {
842
- element.style.opacity = 0;
843
- var last = +new Date();
844
- var opacity = 0;
845
- var tick = function tick() {
846
- opacity = +element.style.opacity + (new Date().getTime() - last) / duration;
847
- element.style.opacity = opacity;
848
- last = +new Date();
849
- if (+opacity < 1) {
850
- window.requestAnimationFrame && requestAnimationFrame(tick) || setTimeout(tick, 16);
851
- }
852
- };
853
- tick();
854
- }
855
- }
856
- }, {
857
- key: "fadeOut",
858
- value: function fadeOut(element, duration) {
859
- if (element) {
860
- var opacity = 1,
861
- interval = 50,
862
- gap = interval / duration;
863
- var fading = setInterval(function () {
864
- opacity -= gap;
865
- if (opacity <= 0) {
866
- opacity = 0;
867
- clearInterval(fading);
868
- }
869
- element.style.opacity = opacity;
870
- }, interval);
871
- }
872
- }
873
- }, {
874
- key: "getUserAgent",
875
- value: function getUserAgent() {
876
- return navigator.userAgent;
877
- }
878
- }, {
879
- key: "isIOS",
880
- value: function isIOS() {
881
- return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window['MSStream'];
882
- }
883
- }, {
884
- key: "isAndroid",
885
- value: function isAndroid() {
886
- return /(android)/i.test(navigator.userAgent);
887
- }
888
- }, {
889
- key: "isChrome",
890
- value: function isChrome() {
891
- return /(chrome)/i.test(navigator.userAgent);
892
- }
893
- }, {
894
- key: "isClient",
895
- value: function isClient() {
896
- return !!(typeof window !== 'undefined' && window.document && window.document.createElement);
897
- }
898
- }, {
899
- key: "isTouchDevice",
900
- value: function isTouchDevice() {
901
- return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
902
- }
903
- }, {
904
- key: "isFunction",
905
- value: function isFunction(obj) {
906
- return !!(obj && obj.constructor && obj.call && obj.apply);
907
- }
908
- }, {
909
- key: "appendChild",
910
- value: function appendChild(element, target) {
911
- if (this.isElement(target)) target.appendChild(element);else if (target.el && target.el.nativeElement) target.el.nativeElement.appendChild(element);else throw new Error('Cannot append ' + target + ' to ' + element);
912
- }
913
- }, {
914
- key: "removeChild",
915
- value: function removeChild(element, target) {
916
- if (this.isElement(target)) target.removeChild(element);else if (target.el && target.el.nativeElement) target.el.nativeElement.removeChild(element);else throw new Error('Cannot remove ' + element + ' from ' + target);
917
- }
918
- }, {
919
- key: "isElement",
920
- value: function isElement(obj) {
921
- return (typeof HTMLElement === "undefined" ? "undefined" : _typeof(HTMLElement)) === 'object' ? obj instanceof HTMLElement : obj && _typeof(obj) === 'object' && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === 'string';
922
- }
923
- }, {
924
- key: "scrollInView",
925
- value: function scrollInView(container, item) {
926
- var borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');
927
- var borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;
928
- var paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');
929
- var paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;
930
- var containerRect = container.getBoundingClientRect();
931
- var itemRect = item.getBoundingClientRect();
932
- var offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;
933
- var scroll = container.scrollTop;
934
- var elementHeight = container.clientHeight;
935
- var itemHeight = this.getOuterHeight(item);
936
- if (offset < 0) {
937
- container.scrollTop = scroll + offset;
938
- } else if (offset + itemHeight > elementHeight) {
939
- container.scrollTop = scroll + offset - elementHeight + itemHeight;
940
- }
941
- }
942
- }, {
943
- key: "clearSelection",
944
- value: function clearSelection() {
945
- if (window.getSelection) {
946
- if (window.getSelection().empty) {
947
- window.getSelection().empty();
948
- } else if (window.getSelection().removeAllRanges && window.getSelection().rangeCount > 0 && window.getSelection().getRangeAt(0).getClientRects().length > 0) {
949
- window.getSelection().removeAllRanges();
950
- }
951
- } else if (document['selection'] && document['selection'].empty) {
952
- try {
953
- document['selection'].empty();
954
- } catch (error) {
955
- //ignore IE bug
956
- }
957
- }
958
- }
959
- }, {
960
- key: "calculateScrollbarWidth",
961
- value: function calculateScrollbarWidth(el) {
962
- if (el) {
963
- var style = getComputedStyle(el);
964
- return el.offsetWidth - el.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);
965
- } else {
966
- if (this.calculatedScrollbarWidth != null) return this.calculatedScrollbarWidth;
967
- var scrollDiv = document.createElement('div');
968
- scrollDiv.className = 'p-scrollbar-measure';
969
- document.body.appendChild(scrollDiv);
970
- var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
971
- document.body.removeChild(scrollDiv);
972
- this.calculatedScrollbarWidth = scrollbarWidth;
973
- return scrollbarWidth;
974
- }
975
- }
976
- }, {
977
- key: "getBrowser",
978
- value: function getBrowser() {
979
- if (!this.browser) {
980
- var matched = this.resolveUserAgent();
981
- this.browser = {};
982
- if (matched.browser) {
983
- this.browser[matched.browser] = true;
984
- this.browser['version'] = matched.version;
985
- }
986
- if (this.browser['chrome']) {
987
- this.browser['webkit'] = true;
988
- } else if (this.browser['webkit']) {
989
- this.browser['safari'] = true;
990
- }
991
- }
992
- return this.browser;
993
- }
994
- }, {
995
- key: "resolveUserAgent",
996
- value: function resolveUserAgent() {
997
- var ua = navigator.userAgent.toLowerCase();
998
- var match = /(chrome)[ ]([\w.]+)/.exec(ua) || /(webkit)[ ]([\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ ]([\w.]+)/.exec(ua) || /(msie) ([\w.]+)/.exec(ua) || ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || [];
999
- return {
1000
- browser: match[1] || '',
1001
- version: match[2] || '0'
1002
- };
1003
- }
1004
- }, {
1005
- key: "isVisible",
1006
- value: function isVisible(element) {
1007
- // https://stackoverflow.com/a/59096915/502366 (in future use IntersectionObserver)
1008
- return element && (element.clientHeight !== 0 || element.getClientRects().length !== 0 || getComputedStyle(element).display !== 'none');
1009
- }
1010
- }, {
1011
- key: "isExist",
1012
- value: function isExist(element) {
1013
- return !!(element !== null && typeof element !== 'undefined' && element.nodeName && element.parentNode);
1014
- }
1015
- }, {
1016
- key: "getFocusableElements",
1017
- value: function getFocusableElements(element) {
1018
- var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
1019
- var focusableElements = DomHandler.find(element, "button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])".concat(selector, ",\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])").concat(selector, ",\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])").concat(selector, ",\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])").concat(selector, ",\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])").concat(selector, ",\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])").concat(selector, ",\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])").concat(selector));
1020
- var visibleFocusableElements = [];
1021
- var _iterator3 = _createForOfIteratorHelper$1(focusableElements),
1022
- _step3;
1023
- try {
1024
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
1025
- var focusableElement = _step3.value;
1026
- if (getComputedStyle(focusableElement).display !== 'none' && getComputedStyle(focusableElement).visibility !== 'hidden') visibleFocusableElements.push(focusableElement);
1027
- }
1028
- } catch (err) {
1029
- _iterator3.e(err);
1030
- } finally {
1031
- _iterator3.f();
1032
- }
1033
- return visibleFocusableElements;
1034
- }
1035
- }, {
1036
- key: "getFirstFocusableElement",
1037
- value: function getFirstFocusableElement(element, selector) {
1038
- var focusableElements = DomHandler.getFocusableElements(element, selector);
1039
- return focusableElements.length > 0 ? focusableElements[0] : null;
1040
- }
1041
- }, {
1042
- key: "getLastFocusableElement",
1043
- value: function getLastFocusableElement(element, selector) {
1044
- var focusableElements = DomHandler.getFocusableElements(element, selector);
1045
- return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;
1046
- }
1047
-
1048
- /**
1049
- * Focus an input element if it does not already have focus.
1050
- *
1051
- * @param {HTMLElement} el a HTML element
1052
- * @param {boolean} scrollTo flag to control whether to scroll to the element, false by default
1053
- */
1054
- }, {
1055
- key: "focus",
1056
- value: function focus(el, scrollTo) {
1057
- var preventScroll = scrollTo === undefined ? true : !scrollTo;
1058
- el && document.activeElement !== el && el.focus({
1059
- preventScroll: preventScroll
1060
- });
1061
- }
1062
-
1063
- /**
1064
- * Focus the first focusable element if it does not already have focus.
1065
- *
1066
- * @param {HTMLElement} el a HTML element
1067
- * @param {boolean} scrollTo flag to control whether to scroll to the element, false by default
1068
- * @return {HTMLElement | undefined} the first focusable HTML element found
1069
- */
1070
- }, {
1071
- key: "focusFirstElement",
1072
- value: function focusFirstElement(el, scrollTo) {
1073
- if (!el) return;
1074
- var firstFocusableElement = DomHandler.getFirstFocusableElement(el);
1075
- firstFocusableElement && DomHandler.focus(firstFocusableElement, scrollTo);
1076
- return firstFocusableElement;
1077
- }
1078
- }, {
1079
- key: "getCursorOffset",
1080
- value: function getCursorOffset(el, prevText, nextText, currentText) {
1081
- if (el) {
1082
- var style = getComputedStyle(el);
1083
- var ghostDiv = document.createElement('div');
1084
- ghostDiv.style.position = 'absolute';
1085
- ghostDiv.style.top = '0px';
1086
- ghostDiv.style.left = '0px';
1087
- ghostDiv.style.visibility = 'hidden';
1088
- ghostDiv.style.pointerEvents = 'none';
1089
- ghostDiv.style.overflow = style.overflow;
1090
- ghostDiv.style.width = style.width;
1091
- ghostDiv.style.height = style.height;
1092
- ghostDiv.style.padding = style.padding;
1093
- ghostDiv.style.border = style.border;
1094
- ghostDiv.style.overflowWrap = style.overflowWrap;
1095
- ghostDiv.style.whiteSpace = style.whiteSpace;
1096
- ghostDiv.style.lineHeight = style.lineHeight;
1097
- ghostDiv.innerHTML = prevText.replace(/\r\n|\r|\n/g, '<br />');
1098
- var ghostSpan = document.createElement('span');
1099
- ghostSpan.textContent = currentText;
1100
- ghostDiv.appendChild(ghostSpan);
1101
- var text = document.createTextNode(nextText);
1102
- ghostDiv.appendChild(text);
1103
- document.body.appendChild(ghostDiv);
1104
- var offsetLeft = ghostSpan.offsetLeft,
1105
- offsetTop = ghostSpan.offsetTop,
1106
- clientHeight = ghostSpan.clientHeight;
1107
- document.body.removeChild(ghostDiv);
1108
- return {
1109
- left: Math.abs(offsetLeft - el.scrollLeft),
1110
- top: Math.abs(offsetTop - el.scrollTop) + clientHeight
1111
- };
1112
- }
1113
- return {
1114
- top: 'auto',
1115
- left: 'auto'
1116
- };
1117
- }
1118
- }, {
1119
- key: "invokeElementMethod",
1120
- value: function invokeElementMethod(element, methodName, args) {
1121
- element[methodName].apply(element, args);
1122
- }
1123
- }, {
1124
- key: "isClickable",
1125
- value: function isClickable(element) {
1126
- var targetNode = element.nodeName;
1127
- var parentNode = element.parentElement && element.parentElement.nodeName;
1128
- return targetNode === 'INPUT' || targetNode === 'TEXTAREA' || targetNode === 'BUTTON' || targetNode === 'A' || parentNode === 'INPUT' || parentNode === 'TEXTAREA' || parentNode === 'BUTTON' || parentNode === 'A' || this.hasClass(element, 'p-button') || this.hasClass(element.parentElement, 'p-button') || this.hasClass(element.parentElement, 'p-checkbox') || this.hasClass(element.parentElement, 'p-radiobutton');
1129
- }
1130
- }, {
1131
- key: "applyStyle",
1132
- value: function applyStyle(element, style) {
1133
- if (typeof style === 'string') {
1134
- element.style.cssText = this.style;
1135
- } else {
1136
- for (var prop in this.style) {
1137
- element.style[prop] = style[prop];
1138
- }
1139
- }
1140
- }
1141
- }, {
1142
- key: "exportCSV",
1143
- value: function exportCSV(csv, filename) {
1144
- var blob = new Blob([csv], {
1145
- type: 'application/csv;charset=utf-8;'
1146
- });
1147
- if (window.navigator.msSaveOrOpenBlob) {
1148
- navigator.msSaveOrOpenBlob(blob, filename + '.csv');
1149
- } else {
1150
- var isDownloaded = DomHandler.saveAs({
1151
- name: filename + '.csv',
1152
- src: URL.createObjectURL(blob)
1153
- });
1154
- if (!isDownloaded) {
1155
- csv = 'data:text/csv;charset=utf-8,' + csv;
1156
- window.open(encodeURI(csv));
1157
- }
1158
- }
1159
- }
1160
- }, {
1161
- key: "saveAs",
1162
- value: function saveAs(file) {
1163
- if (file) {
1164
- var link = document.createElement('a');
1165
- if (link.download !== undefined) {
1166
- var name = file.name,
1167
- src = file.src;
1168
- link.setAttribute('href', src);
1169
- link.setAttribute('download', name);
1170
- link.style.display = 'none';
1171
- document.body.appendChild(link);
1172
- link.click();
1173
- document.body.removeChild(link);
1174
- return true;
1175
- }
1176
- }
1177
- return false;
1178
- }
1179
- }, {
1180
- key: "createInlineStyle",
1181
- value: function createInlineStyle(nonce) {
1182
- var styleElement = document.createElement('style');
1183
- DomHandler.addNonce(styleElement, nonce);
1184
- document.head.appendChild(styleElement);
1185
- return styleElement;
1186
- }
1187
- }, {
1188
- key: "removeInlineStyle",
1189
- value: function removeInlineStyle(styleElement) {
1190
- if (this.isExist(styleElement)) {
1191
- try {
1192
- document.head.removeChild(styleElement);
1193
- } catch (error) {
1194
- // style element may have already been removed in a fast refresh
1195
- }
1196
- styleElement = null;
1197
- }
1198
- return styleElement;
1199
- }
1200
- }, {
1201
- key: "addNonce",
1202
- value: function addNonce(styleElement, nonce) {
1203
- try {
1204
- if (!nonce) {
1205
- nonce = process.env.REACT_APP_CSS_NONCE;
1206
- }
1207
- } catch (error) {
1208
- // NOOP
1209
- }
1210
- nonce && styleElement.setAttribute('nonce', nonce);
1211
- }
1212
- }, {
1213
- key: "getTargetElement",
1214
- value: function getTargetElement(target) {
1215
- if (!target) return null;
1216
- if (target === 'document') {
1217
- return document;
1218
- } else if (target === 'window') {
1219
- return window;
1220
- } else if (_typeof(target) === 'object' && target.hasOwnProperty('current')) {
1221
- return this.isExist(target.current) ? target.current : null;
1222
- } else {
1223
- var isFunction = function isFunction(obj) {
1224
- return !!(obj && obj.constructor && obj.call && obj.apply);
1225
- };
1226
- var element = isFunction(target) ? target() : target;
1227
- return element && element.nodeType === 9 || this.isExist(element) ? element : null;
1228
- }
1229
- }
1230
-
1231
- /**
1232
- * Get the attribute names for an element and sorts them alpha for comparison
1233
- */
1234
- }, {
1235
- key: "getAttributeNames",
1236
- value: function getAttributeNames(node) {
1237
- var index, rv, attrs;
1238
- rv = [];
1239
- attrs = node.attributes;
1240
- for (index = 0; index < attrs.length; ++index) {
1241
- rv.push(attrs[index].nodeName);
1242
- }
1243
- rv.sort();
1244
- return rv;
1245
- }
1246
-
1247
- /**
1248
- * Compare two elements for equality. Even will compare if the style element
1249
- * is out of order for example:
1250
- *
1251
- * elem1 = style="color: red; font-size: 28px"
1252
- * elem2 = style="font-size: 28px; color: red"
1253
- */
1254
- }, {
1255
- key: "isEqualElement",
1256
- value: function isEqualElement(elm1, elm2) {
1257
- var attrs1, attrs2, name, node1, node2;
1258
-
1259
- // Compare attributes without order sensitivity
1260
- attrs1 = DomHandler.getAttributeNames(elm1);
1261
- attrs2 = DomHandler.getAttributeNames(elm2);
1262
- if (attrs1.join(',') !== attrs2.join(',')) {
1263
- // console.log("Found nodes with different sets of attributes; not equiv");
1264
- return false;
1265
- }
1266
-
1267
- // ...and values
1268
- // unless you want to compare DOM0 event handlers
1269
- // (onclick="...")
1270
- for (var index = 0; index < attrs1.length; ++index) {
1271
- name = attrs1[index];
1272
- if (name === 'style') {
1273
- var astyle = elm1.style;
1274
- var bstyle = elm2.style;
1275
- var rexDigitsOnly = /^\d+$/;
1276
- for (var _i3 = 0, _Object$keys = Object.keys(astyle); _i3 < _Object$keys.length; _i3++) {
1277
- var key = _Object$keys[_i3];
1278
- if (!rexDigitsOnly.test(key) && astyle[key] !== bstyle[key]) {
1279
- // Not equivalent, stop
1280
- //console.log("Found nodes with mis-matched values for attribute '" + name + "'; not equiv");
1281
- return false;
1282
- }
1283
- }
1284
- } else {
1285
- if (elm1.getAttribute(name) !== elm2.getAttribute(name)) {
1286
- // console.log("Found nodes with mis-matched values for attribute '" + name + "'; not equiv");
1287
- return false;
1288
- }
1289
- }
1290
- }
1291
-
1292
- // Walk the children
1293
- for (node1 = elm1.firstChild, node2 = elm2.firstChild; node1 && node2; node1 = node1.nextSibling, node2 = node2.nextSibling) {
1294
- if (node1.nodeType !== node2.nodeType) {
1295
- // display("Found nodes of different types; not equiv");
1296
- return false;
1297
- }
1298
- if (node1.nodeType === 1) {
1299
- // Element
1300
- if (!DomHandler.isEqualElement(node1, node2)) {
1301
- return false;
1302
- }
1303
- } else if (node1.nodeValue !== node2.nodeValue) {
1304
- // console.log("Found nodes with mis-matched nodeValues; not equiv");
1305
- return false;
1306
- }
1307
- }
1308
- if (node1 || node2) {
1309
- // One of the elements had more nodes than the other
1310
- // console.log("Found more children of one element than the other; not equivalent");
1311
- return false;
1312
- }
1313
-
1314
- // Seem the same
1315
- return true;
1316
- }
1317
- }]);
1318
- return DomHandler;
1319
- }();
1320
- /**
1321
- * All data- properties like data-test-id
1322
- */
1323
- _defineProperty(DomHandler, "DATA_PROPS", ['data-']);
1324
- /**
1325
- * All ARIA properties like aria-label and focus-target for https://www.npmjs.com/package/@q42/floating-focus-a11y
1326
- */
1327
- _defineProperty(DomHandler, "ARIA_PROPS", ['aria', 'focus-target']);
1328
-
1329
- function EventBus() {
1330
- var allHandlers = new Map();
1331
- return {
1332
- on: function on(type, handler) {
1333
- var handlers = allHandlers.get(type);
1334
- if (!handlers) handlers = [handler];else handlers.push(handler);
1335
- allHandlers.set(type, handlers);
1336
- },
1337
- off: function off(type, handler) {
1338
- var handlers = allHandlers.get(type);
1339
- handlers && handlers.splice(handlers.indexOf(handler) >>> 0, 1);
1340
- },
1341
- emit: function emit(type, evt) {
1342
- var handlers = allHandlers.get(type);
1343
- handlers && handlers.slice().forEach(function (handler) {
1344
- return handler(evt);
1345
- });
1346
- }
1347
- };
1348
- }
1349
-
1350
- function _extends() {
1351
- _extends = Object.assign ? Object.assign.bind() : function (target) {
1352
- for (var i = 1; i < arguments.length; i++) {
1353
- var source = arguments[i];
1354
- for (var key in source) {
1355
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1356
- target[key] = source[key];
1357
- }
1358
- }
1359
- }
1360
- return target;
1361
- };
1362
- return _extends.apply(this, arguments);
1363
- }
1364
-
1365
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, 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 normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
1366
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1367
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
1368
- var ObjectUtils = /*#__PURE__*/function () {
1369
- function ObjectUtils() {
1370
- _classCallCheck(this, ObjectUtils);
1371
- }
1372
- _createClass(ObjectUtils, null, [{
1373
- key: "equals",
1374
- value: function equals(obj1, obj2, field) {
1375
- if (field && obj1 && _typeof(obj1) === 'object' && obj2 && _typeof(obj2) === 'object') return this.resolveFieldData(obj1, field) === this.resolveFieldData(obj2, field);else return this.deepEquals(obj1, obj2);
1376
- }
1377
- }, {
1378
- key: "deepEquals",
1379
- value: function deepEquals(a, b) {
1380
- if (a === b) return true;
1381
- if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {
1382
- var arrA = Array.isArray(a),
1383
- arrB = Array.isArray(b),
1384
- i,
1385
- length,
1386
- key;
1387
- if (arrA && arrB) {
1388
- length = a.length;
1389
- if (length !== b.length) return false;
1390
- for (i = length; i-- !== 0;) if (!this.deepEquals(a[i], b[i])) return false;
1391
- return true;
1392
- }
1393
- if (arrA !== arrB) return false;
1394
- var dateA = a instanceof Date,
1395
- dateB = b instanceof Date;
1396
- if (dateA !== dateB) return false;
1397
- if (dateA && dateB) return a.getTime() === b.getTime();
1398
- var regexpA = a instanceof RegExp,
1399
- regexpB = b instanceof RegExp;
1400
- if (regexpA !== regexpB) return false;
1401
- if (regexpA && regexpB) return a.toString() === b.toString();
1402
- var keys = Object.keys(a);
1403
- length = keys.length;
1404
- if (length !== Object.keys(b).length) return false;
1405
- for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
1406
- for (i = length; i-- !== 0;) {
1407
- key = keys[i];
1408
- if (!this.deepEquals(a[key], b[key])) return false;
1409
- }
1410
- return true;
1411
- }
1412
-
1413
- /*eslint no-self-compare: "off"*/
1414
- return a !== a && b !== b;
1415
- }
1416
- }, {
1417
- key: "resolveFieldData",
1418
- value: function resolveFieldData(data, field) {
1419
- if (!data || !field) {
1420
- // short circuit if there is nothing to resolve
1421
- return null;
1422
- }
1423
- try {
1424
- var value = data[field];
1425
- if (this.isNotEmpty(value)) return value;
1426
- } catch (_unused) {
1427
- // Performance optimization: https://github.com/primefaces/primereact/issues/4797
1428
- // do nothing and continue to other methods to resolve field data
1429
- }
1430
- if (Object.keys(data).length) {
1431
- if (this.isFunction(field)) {
1432
- return field(data);
1433
- } else if (this.isNotEmpty(data[field])) {
1434
- return data[field];
1435
- } else if (field.indexOf('.') === -1) {
1436
- return data[field];
1437
- } else {
1438
- var fields = field.split('.');
1439
- var _value = data;
1440
- for (var i = 0, len = fields.length; i < len; ++i) {
1441
- if (_value == null) {
1442
- return null;
1443
- }
1444
- _value = _value[fields[i]];
1445
- }
1446
- return _value;
1447
- }
1448
- }
1449
- return null;
1450
- }
1451
- }, {
1452
- key: "findDiffKeys",
1453
- value: function findDiffKeys(obj1, obj2) {
1454
- if (!obj1 || !obj2) {
1455
- return {};
1456
- }
1457
- return Object.keys(obj1).filter(function (key) {
1458
- return !obj2.hasOwnProperty(key);
1459
- }).reduce(function (result, current) {
1460
- result[current] = obj1[current];
1461
- return result;
1462
- }, {});
1463
- }
1464
-
1465
- /**
1466
- * Removes keys from a JSON object that start with a string such as "data" to get all "data-id" type properties.
1467
- *
1468
- * @param {any} obj the JSON object to reduce
1469
- * @param {string[]} startsWiths the string(s) to check if the property starts with this key
1470
- * @returns the JSON object containing only the key/values that match the startsWith string
1471
- */
1472
- }, {
1473
- key: "reduceKeys",
1474
- value: function reduceKeys(obj, startsWiths) {
1475
- var result = {};
1476
- if (!obj || !startsWiths || startsWiths.length === 0) {
1477
- return result;
1478
- }
1479
- Object.keys(obj).filter(function (key) {
1480
- return startsWiths.some(function (value) {
1481
- return key.startsWith(value);
1482
- });
1483
- }).forEach(function (key) {
1484
- result[key] = obj[key];
1485
- delete obj[key];
1486
- });
1487
- return result;
1488
- }
1489
- }, {
1490
- key: "reorderArray",
1491
- value: function reorderArray(value, from, to) {
1492
- if (value && from !== to) {
1493
- if (to >= value.length) {
1494
- to %= value.length;
1495
- from %= value.length;
1496
- }
1497
- value.splice(to, 0, value.splice(from, 1)[0]);
1498
- }
1499
- }
1500
- }, {
1501
- key: "findIndexInList",
1502
- value: function findIndexInList(value, list, dataKey) {
1503
- var _this = this;
1504
- if (list) {
1505
- return dataKey ? list.findIndex(function (item) {
1506
- return _this.equals(item, value, dataKey);
1507
- }) : list.findIndex(function (item) {
1508
- return item === value;
1509
- });
1510
- }
1511
- return -1;
1512
- }
1513
- }, {
1514
- key: "getJSXElement",
1515
- value: function getJSXElement(obj) {
1516
- for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1517
- params[_key - 1] = arguments[_key];
1518
- }
1519
- return this.isFunction(obj) ? obj.apply(void 0, params) : obj;
1520
- }
1521
- }, {
1522
- key: "getItemValue",
1523
- value: function getItemValue(obj) {
1524
- for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1525
- params[_key2 - 1] = arguments[_key2];
1526
- }
1527
- return this.isFunction(obj) ? obj.apply(void 0, params) : obj;
1528
- }
1529
- }, {
1530
- key: "getProp",
1531
- value: function getProp(props) {
1532
- var prop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
1533
- var defaultProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1534
- var value = props ? props[prop] : undefined;
1535
- return value === undefined ? defaultProps[prop] : value;
1536
- }
1537
- }, {
1538
- key: "getPropCaseInsensitive",
1539
- value: function getPropCaseInsensitive(props, prop) {
1540
- var defaultProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1541
- var fkey = this.toFlatCase(prop);
1542
- for (var key in props) {
1543
- if (props.hasOwnProperty(key) && this.toFlatCase(key) === fkey) {
1544
- return props[key];
1545
- }
1546
- }
1547
- for (var _key3 in defaultProps) {
1548
- if (defaultProps.hasOwnProperty(_key3) && this.toFlatCase(_key3) === fkey) {
1549
- return defaultProps[_key3];
1550
- }
1551
- }
1552
- return undefined; // Property not found
1553
- }
1554
- }, {
1555
- key: "getMergedProps",
1556
- value: function getMergedProps(props, defaultProps) {
1557
- return Object.assign({}, defaultProps, props);
1558
- }
1559
- }, {
1560
- key: "getDiffProps",
1561
- value: function getDiffProps(props, defaultProps) {
1562
- return this.findDiffKeys(props, defaultProps);
1563
- }
1564
- }, {
1565
- key: "getPropValue",
1566
- value: function getPropValue(obj) {
1567
- for (var _len3 = arguments.length, params = new Array(_len3 > 1 ? _len3 - 1 : 0), _key4 = 1; _key4 < _len3; _key4++) {
1568
- params[_key4 - 1] = arguments[_key4];
1569
- }
1570
- return this.isFunction(obj) ? obj.apply(void 0, params) : obj;
1571
- }
1572
- }, {
1573
- key: "getComponentProp",
1574
- value: function getComponentProp(component) {
1575
- var prop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
1576
- var defaultProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1577
- return this.isNotEmpty(component) ? this.getProp(component.props, prop, defaultProps) : undefined;
1578
- }
1579
- }, {
1580
- key: "getComponentProps",
1581
- value: function getComponentProps(component, defaultProps) {
1582
- return this.isNotEmpty(component) ? this.getMergedProps(component.props, defaultProps) : undefined;
1583
- }
1584
- }, {
1585
- key: "getComponentDiffProps",
1586
- value: function getComponentDiffProps(component, defaultProps) {
1587
- return this.isNotEmpty(component) ? this.getDiffProps(component.props, defaultProps) : undefined;
1588
- }
1589
- }, {
1590
- key: "isValidChild",
1591
- value: function isValidChild(child, type, validTypes) {
1592
- /* eslint-disable */
1593
- if (child) {
1594
- var childType = this.getComponentProp(child, '__TYPE') || (child.type ? child.type.displayName : undefined);
1595
- var isValid = childType === type;
1596
- try {
1597
- var messageTypes; if ("production" !== 'production' && !isValid) ;
1598
- } catch (error) {
1599
- // NOOP
1600
- }
1601
- return isValid;
1602
- }
1603
- return false;
1604
- /* eslint-enable */
1605
- }
1606
- }, {
1607
- key: "getRefElement",
1608
- value: function getRefElement(ref) {
1609
- if (ref) {
1610
- return _typeof(ref) === 'object' && ref.hasOwnProperty('current') ? ref.current : ref;
1611
- }
1612
- return null;
1613
- }
1614
- }, {
1615
- key: "combinedRefs",
1616
- value: function combinedRefs(innerRef, forwardRef) {
1617
- if (innerRef && forwardRef) {
1618
- if (typeof forwardRef === 'function') {
1619
- forwardRef(innerRef.current);
1620
- } else {
1621
- forwardRef.current = innerRef.current;
1622
- }
1623
- }
1624
- }
1625
- }, {
1626
- key: "removeAccents",
1627
- value: function removeAccents(str) {
1628
- if (str && str.search(/[\xC0-\xFF]/g) > -1) {
1629
- str = str.replace(/[\xC0-\xC5]/g, 'A').replace(/[\xC6]/g, 'AE').replace(/[\xC7]/g, 'C').replace(/[\xC8-\xCB]/g, 'E').replace(/[\xCC-\xCF]/g, 'I').replace(/[\xD0]/g, 'D').replace(/[\xD1]/g, 'N').replace(/[\xD2-\xD6\xD8]/g, 'O').replace(/[\xD9-\xDC]/g, 'U').replace(/[\xDD]/g, 'Y').replace(/[\xDE]/g, 'P').replace(/[\xE0-\xE5]/g, 'a').replace(/[\xE6]/g, 'ae').replace(/[\xE7]/g, 'c').replace(/[\xE8-\xEB]/g, 'e').replace(/[\xEC-\xEF]/g, 'i').replace(/[\xF1]/g, 'n').replace(/[\xF2-\xF6\xF8]/g, 'o').replace(/[\xF9-\xFC]/g, 'u').replace(/[\xFE]/g, 'p').replace(/[\xFD\xFF]/g, 'y');
1630
- }
1631
- return str;
1632
- }
1633
- }, {
1634
- key: "toFlatCase",
1635
- value: function toFlatCase(str) {
1636
- // convert snake, kebab, camel and pascal cases to flat case
1637
- return this.isNotEmpty(str) && this.isString(str) ? str.replace(/(-|_)/g, '').toLowerCase() : str;
1638
- }
1639
- }, {
1640
- key: "toCapitalCase",
1641
- value: function toCapitalCase(str) {
1642
- return this.isNotEmpty(str) && this.isString(str) ? str[0].toUpperCase() + str.slice(1) : str;
1643
- }
1644
- }, {
1645
- key: "trim",
1646
- value: function trim(value) {
1647
- // trim only if the value is actually a string
1648
- return this.isNotEmpty(value) && this.isString(value) ? value.trim() : value;
1649
- }
1650
- }, {
1651
- key: "isEmpty",
1652
- value: function isEmpty(value) {
1653
- return value === null || value === undefined || value === '' || Array.isArray(value) && value.length === 0 || !(value instanceof Date) && _typeof(value) === 'object' && Object.keys(value).length === 0;
1654
- }
1655
- }, {
1656
- key: "isNotEmpty",
1657
- value: function isNotEmpty(value) {
1658
- return !this.isEmpty(value);
1659
- }
1660
- }, {
1661
- key: "isFunction",
1662
- value: function isFunction(value) {
1663
- return !!(value && value.constructor && value.call && value.apply);
1664
- }
1665
- }, {
1666
- key: "isObject",
1667
- value: function isObject(value) {
1668
- return value !== null && value instanceof Object && value.constructor === Object;
1669
- }
1670
- }, {
1671
- key: "isDate",
1672
- value: function isDate(value) {
1673
- return value !== null && value instanceof Date && value.constructor === Date;
1674
- }
1675
- }, {
1676
- key: "isArray",
1677
- value: function isArray(value) {
1678
- return value !== null && Array.isArray(value);
1679
- }
1680
- }, {
1681
- key: "isString",
1682
- value: function isString(value) {
1683
- return value !== null && typeof value === 'string';
1684
- }
1685
- }, {
1686
- key: "isPrintableCharacter",
1687
- value: function isPrintableCharacter() {
1688
- var _char = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
1689
- return this.isNotEmpty(_char) && _char.length === 1 && _char.match(/\S| /);
1690
- }
1691
- }, {
1692
- key: "isLetter",
1693
- value: function isLetter(_char2) {
1694
- return _char2 && (_char2.toUpperCase() != _char2.toLowerCase() || _char2.codePointAt(0) > 127);
1695
- }
1696
-
1697
- /**
1698
- * Firefox-v103 does not currently support the "findLast" method. It is stated that this method will be supported with Firefox-v104.
1699
- * https://caniuse.com/mdn-javascript_builtins_array_findlast
1700
- */
1701
- }, {
1702
- key: "findLast",
1703
- value: function findLast(arr, callback) {
1704
- var item;
1705
- if (this.isNotEmpty(arr)) {
1706
- try {
1707
- item = arr.findLast(callback);
1708
- } catch (_unused2) {
1709
- item = _toConsumableArray(arr).reverse().find(callback);
1710
- }
1711
- }
1712
- return item;
1713
- }
1714
-
1715
- /**
1716
- * Firefox-v103 does not currently support the "findLastIndex" method. It is stated that this method will be supported with Firefox-v104.
1717
- * https://caniuse.com/mdn-javascript_builtins_array_findlastindex
1718
- */
1719
- }, {
1720
- key: "findLastIndex",
1721
- value: function findLastIndex(arr, callback) {
1722
- var index = -1;
1723
- if (this.isNotEmpty(arr)) {
1724
- try {
1725
- index = arr.findLastIndex(callback);
1726
- } catch (_unused3) {
1727
- index = arr.lastIndexOf(_toConsumableArray(arr).reverse().find(callback));
1728
- }
1729
- }
1730
- return index;
1731
- }
1732
- }, {
1733
- key: "sort",
1734
- value: function sort(value1, value2) {
1735
- var order = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
1736
- var comparator = arguments.length > 3 ? arguments[3] : undefined;
1737
- var nullSortOrder = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
1738
- var result = this.compare(value1, value2, comparator, order);
1739
- var finalSortOrder = order;
1740
-
1741
- // nullSortOrder == 1 means Excel like sort nulls at bottom
1742
- if (this.isEmpty(value1) || this.isEmpty(value2)) {
1743
- finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder;
1744
- }
1745
- return finalSortOrder * result;
1746
- }
1747
- }, {
1748
- key: "compare",
1749
- value: function compare(value1, value2, comparator) {
1750
- var order = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
1751
- var result = -1;
1752
- var emptyValue1 = this.isEmpty(value1);
1753
- var emptyValue2 = this.isEmpty(value2);
1754
- if (emptyValue1 && emptyValue2) result = 0;else if (emptyValue1) result = order;else if (emptyValue2) result = -order;else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparator(value1, value2);else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
1755
- return result;
1756
- }
1757
- }, {
1758
- key: "localeComparator",
1759
- value: function localeComparator(locale) {
1760
- //performance gain using Int.Collator. It is not recommended to use localeCompare against large arrays.
1761
- return new Intl.Collator(locale, {
1762
- numeric: true
1763
- }).compare;
1764
- }
1765
- }, {
1766
- key: "findChildrenByKey",
1767
- value: function findChildrenByKey(data, key) {
1768
- var _iterator = _createForOfIteratorHelper(data),
1769
- _step;
1770
- try {
1771
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1772
- var item = _step.value;
1773
- if (item.key === key) {
1774
- return item.children || [];
1775
- } else if (item.children) {
1776
- var result = this.findChildrenByKey(item.children, key);
1777
- if (result.length > 0) {
1778
- return result;
1779
- }
1780
- }
1781
- }
1782
- } catch (err) {
1783
- _iterator.e(err);
1784
- } finally {
1785
- _iterator.f();
1786
- }
1787
- return [];
1788
- }
1789
-
1790
- /**
1791
- * This function takes mutates and object with a new value given
1792
- * a specific field. This will handle deeply nested fields that
1793
- * need to be modified or created.
1794
- *
1795
- * e.g:
1796
- * data = {
1797
- * nested: {
1798
- * foo: "bar"
1799
- * }
1800
- * }
1801
- *
1802
- * field = "nested.foo"
1803
- * value = "baz"
1804
- *
1805
- * The function will mutate data to be
1806
- * e.g:
1807
- * data = {
1808
- * nested: {
1809
- * foo: "baz"
1810
- * }
1811
- * }
1812
- *
1813
- * @param {object} data the object to be modified
1814
- * @param {string} field the field in the object to replace
1815
- * @param {any} value the value to have replaced in the field
1816
- */
1817
- }, {
1818
- key: "mutateFieldData",
1819
- value: function mutateFieldData(data, field, value) {
1820
- if (_typeof(data) !== 'object' || typeof field !== 'string') {
1821
- // short circuit if there is nothing to resolve
1822
- return;
1823
- }
1824
- var fields = field.split('.');
1825
- var obj = data;
1826
- for (var i = 0, len = fields.length; i < len; ++i) {
1827
- // Check if we are on the last field
1828
- if (i + 1 - len === 0) {
1829
- obj[fields[i]] = value;
1830
- break;
1831
- }
1832
- if (!obj[fields[i]]) {
1833
- obj[fields[i]] = {};
1834
- }
1835
- obj = obj[fields[i]];
1836
- }
1837
- }
1838
- }]);
1839
- return ObjectUtils;
1840
- }();
1841
-
1842
- function ownKeys$2(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; }
1843
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1844
- var IconUtils = /*#__PURE__*/function () {
1845
- function IconUtils() {
1846
- _classCallCheck(this, IconUtils);
1847
- }
1848
- _createClass(IconUtils, null, [{
1849
- key: "getJSXIcon",
1850
- value: function getJSXIcon(icon) {
1851
- var iconProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1852
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1853
- var content = null;
1854
- if (icon !== null) {
1855
- var iconType = _typeof(icon);
1856
- var className = classNames(iconProps.className, iconType === 'string' && icon);
1857
- content = /*#__PURE__*/React.createElement("span", _extends({}, iconProps, {
1858
- className: className
1859
- }));
1860
- if (iconType !== 'string') {
1861
- var defaultContentOptions = _objectSpread$2({
1862
- iconProps: iconProps,
1863
- element: content
1864
- }, options);
1865
- return ObjectUtils.getJSXElement(icon, defaultContentOptions);
1866
- }
1867
- }
1868
- return content;
1869
- }
1870
- }]);
1871
- return IconUtils;
1872
- }();
1873
-
1874
- function ownKeys$1(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; }
1875
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1876
- function mask(el, options) {
1877
- var defaultOptions = {
1878
- mask: null,
1879
- slotChar: '_',
1880
- autoClear: true,
1881
- unmask: false,
1882
- readOnly: false,
1883
- onComplete: null,
1884
- onChange: null,
1885
- onFocus: null,
1886
- onBlur: null
1887
- };
1888
- options = _objectSpread$1(_objectSpread$1({}, defaultOptions), options);
1889
- var tests, partialPosition, len, firstNonMaskPos, defs, androidChrome, lastRequiredNonMaskPos, oldVal, focusText, caretTimeoutId, buffer, defaultBuffer;
1890
- var caret = function caret(first, last) {
1891
- var range, begin, end;
1892
- if (!el.offsetParent || el !== document.activeElement) {
1893
- return;
1894
- }
1895
- if (typeof first === 'number') {
1896
- begin = first;
1897
- end = typeof last === 'number' ? last : begin;
1898
- if (el.setSelectionRange) {
1899
- el.setSelectionRange(begin, end);
1900
- } else if (el['createTextRange']) {
1901
- range = el['createTextRange']();
1902
- range.collapse(true);
1903
- range.moveEnd('character', end);
1904
- range.moveStart('character', begin);
1905
- range.select();
1906
- }
1907
- } else {
1908
- if (el.setSelectionRange) {
1909
- begin = el.selectionStart;
1910
- end = el.selectionEnd;
1911
- } else if (document['selection'] && document['selection'].createRange) {
1912
- range = document['selection'].createRange();
1913
- begin = 0 - range.duplicate().moveStart('character', -100000);
1914
- end = begin + range.text.length;
1915
- }
1916
- return {
1917
- begin: begin,
1918
- end: end
1919
- };
1920
- }
1921
- };
1922
- var isCompleted = function isCompleted() {
1923
- for (var i = firstNonMaskPos; i <= lastRequiredNonMaskPos; i++) {
1924
- if (tests[i] && buffer[i] === getPlaceholder(i)) {
1925
- return false;
1926
- }
1927
- }
1928
- return true;
1929
- };
1930
- var getPlaceholder = function getPlaceholder(i) {
1931
- if (i < options.slotChar.length) {
1932
- return options.slotChar.charAt(i);
1933
- }
1934
- return options.slotChar.charAt(0);
1935
- };
1936
- var getValue = function getValue() {
1937
- return options.unmask ? getUnmaskedValue() : el && el.value;
1938
- };
1939
- var seekNext = function seekNext(pos) {
1940
- while (++pos < len && !tests[pos]);
1941
- return pos;
1942
- };
1943
- var seekPrev = function seekPrev(pos) {
1944
- while (--pos >= 0 && !tests[pos]);
1945
- return pos;
1946
- };
1947
- var shiftL = function shiftL(begin, end) {
1948
- var i, j;
1949
- if (begin < 0) {
1950
- return;
1951
- }
1952
- for (i = begin, j = seekNext(end); i < len; i++) {
1953
- if (tests[i]) {
1954
- if (j < len && tests[i].test(buffer[j])) {
1955
- buffer[i] = buffer[j];
1956
- buffer[j] = getPlaceholder(j);
1957
- } else {
1958
- break;
1959
- }
1960
- j = seekNext(j);
1961
- }
1962
- }
1963
- writeBuffer();
1964
- caret(Math.max(firstNonMaskPos, begin));
1965
- };
1966
- var shiftR = function shiftR(pos) {
1967
- var i, c, j, t;
1968
- for (i = pos, c = getPlaceholder(pos); i < len; i++) {
1969
- if (tests[i]) {
1970
- j = seekNext(i);
1971
- t = buffer[i];
1972
- buffer[i] = c;
1973
- if (j < len && tests[j].test(t)) {
1974
- c = t;
1975
- } else {
1976
- break;
1977
- }
1978
- }
1979
- }
1980
- };
1981
- var handleAndroidInput = function handleAndroidInput(e) {
1982
- var curVal = el.value;
1983
- var pos = caret();
1984
- if (oldVal && oldVal.length && oldVal.length > curVal.length) {
1985
- // a deletion or backspace happened
1986
- checkVal(true);
1987
- while (pos.begin > 0 && !tests[pos.begin - 1]) pos.begin--;
1988
- if (pos.begin === 0) {
1989
- while (pos.begin < firstNonMaskPos && !tests[pos.begin]) pos.begin++;
1990
- }
1991
- caret(pos.begin, pos.begin);
1992
- } else {
1993
- checkVal(true);
1994
- while (pos.begin < len && !tests[pos.begin]) pos.begin++;
1995
- caret(pos.begin, pos.begin);
1996
- }
1997
- if (options.onComplete && isCompleted()) {
1998
- options.onComplete({
1999
- originalEvent: e,
2000
- value: getValue()
2001
- });
2002
- }
2003
- };
2004
- var onBlur = function onBlur(e) {
2005
- checkVal();
2006
- options.onBlur && options.onBlur(e);
2007
- updateModel(e);
2008
- if (el.value !== focusText) {
2009
- var event = document.createEvent('HTMLEvents');
2010
- event.initEvent('change', true, false);
2011
- el.dispatchEvent(event);
2012
- }
2013
- };
2014
- var onKeyDown = function onKeyDown(e) {
2015
- if (options.readOnly) {
2016
- return;
2017
- }
2018
- var k = e.which || e.keyCode,
2019
- pos,
2020
- begin,
2021
- end;
2022
- oldVal = el.value;
2023
-
2024
- //backspace, delete, and escape get special treatment
2025
- if (k === 8 || k === 46 || DomHandler.isIOS() && k === 127) {
2026
- pos = caret();
2027
- begin = pos.begin;
2028
- end = pos.end;
2029
- if (end - begin === 0) {
2030
- begin = k !== 46 ? seekPrev(begin) : end = seekNext(begin - 1);
2031
- end = k === 46 ? seekNext(end) : end;
2032
- }
2033
- clearBuffer(begin, end);
2034
- shiftL(begin, end - 1);
2035
- updateModel(e);
2036
- e.preventDefault();
2037
- } else if (k === 13) {
2038
- // enter
2039
- onBlur(e);
2040
- updateModel(e);
2041
- } else if (k === 27) {
2042
- // escape
2043
- el.value = focusText;
2044
- caret(0, checkVal());
2045
- updateModel(e);
2046
- e.preventDefault();
2047
- }
2048
- };
2049
- var onKeyPress = function onKeyPress(e) {
2050
- if (options.readOnly) {
2051
- return;
2052
- }
2053
- var k = e.which || e.keyCode,
2054
- pos = caret(),
2055
- p,
2056
- c,
2057
- next,
2058
- completed;
2059
- if (e.ctrlKey || e.altKey || e.metaKey || k < 32) {
2060
- //Ignore
2061
- return;
2062
- } else if (k && k !== 13) {
2063
- if (pos.end - pos.begin !== 0) {
2064
- clearBuffer(pos.begin, pos.end);
2065
- shiftL(pos.begin, pos.end - 1);
2066
- }
2067
- p = seekNext(pos.begin - 1);
2068
- if (p < len) {
2069
- c = String.fromCharCode(k);
2070
- if (tests[p].test(c)) {
2071
- shiftR(p);
2072
- buffer[p] = c;
2073
- writeBuffer();
2074
- next = seekNext(p);
2075
- if (DomHandler.isAndroid()) {
2076
- //Path for CSP Violation on FireFox OS 1.1
2077
- var proxy = function proxy() {
2078
- caret(next);
2079
- };
2080
- setTimeout(proxy, 0);
2081
- } else {
2082
- caret(next);
2083
- }
2084
- if (pos.begin <= lastRequiredNonMaskPos) {
2085
- completed = isCompleted();
2086
- }
2087
- }
2088
- }
2089
- e.preventDefault();
2090
- }
2091
- updateModel(e);
2092
- if (options.onComplete && completed) {
2093
- options.onComplete({
2094
- originalEvent: e,
2095
- value: getValue()
2096
- });
2097
- }
2098
- };
2099
- var clearBuffer = function clearBuffer(start, end) {
2100
- var i;
2101
- for (i = start; i < end && i < len; i++) {
2102
- if (tests[i]) {
2103
- buffer[i] = getPlaceholder(i);
2104
- }
2105
- }
2106
- };
2107
- var writeBuffer = function writeBuffer() {
2108
- el.value = buffer.join('');
2109
- };
2110
- var checkVal = function checkVal(allow) {
2111
- //try to place characters where they belong
2112
- var test = el.value,
2113
- lastMatch = -1,
2114
- i,
2115
- c,
2116
- pos;
2117
- for (i = 0, pos = 0; i < len; i++) {
2118
- if (tests[i]) {
2119
- buffer[i] = getPlaceholder(i);
2120
- while (pos++ < test.length) {
2121
- c = test.charAt(pos - 1);
2122
- if (tests[i].test(c)) {
2123
- buffer[i] = c;
2124
- lastMatch = i;
2125
- break;
2126
- }
2127
- }
2128
- if (pos > test.length) {
2129
- clearBuffer(i + 1, len);
2130
- break;
2131
- }
2132
- } else {
2133
- if (buffer[i] === test.charAt(pos)) {
2134
- pos++;
2135
- }
2136
- if (i < partialPosition) {
2137
- lastMatch = i;
2138
- }
2139
- }
2140
- }
2141
- if (allow) {
2142
- writeBuffer();
2143
- } else if (lastMatch + 1 < partialPosition) {
2144
- if (options.autoClear || buffer.join('') === defaultBuffer) {
2145
- // Invalid value. Remove it and replace it with the
2146
- // mask, which is the default behavior.
2147
- if (el.value) el.value = '';
2148
- clearBuffer(0, len);
2149
- } else {
2150
- // Invalid value, but we opt to show the value to the
2151
- // user and allow them to correct their mistake.
2152
- writeBuffer();
2153
- }
2154
- } else {
2155
- writeBuffer();
2156
- el.value = el.value.substring(0, lastMatch + 1);
2157
- }
2158
- return partialPosition ? i : firstNonMaskPos;
2159
- };
2160
- var onFocus = function onFocus(e) {
2161
- if (options.readOnly) {
2162
- return;
2163
- }
2164
- clearTimeout(caretTimeoutId);
2165
- var pos;
2166
- focusText = el.value;
2167
- pos = checkVal();
2168
- caretTimeoutId = setTimeout(function () {
2169
- if (el !== document.activeElement) {
2170
- return;
2171
- }
2172
- writeBuffer();
2173
- if (pos === options.mask.replace('?', '').length) {
2174
- caret(0, pos);
2175
- } else {
2176
- caret(pos);
2177
- }
2178
- }, 10);
2179
- if (options.onFocus) {
2180
- options.onFocus(e);
2181
- }
2182
- };
2183
- var onInput = function onInput(event) {
2184
- if (androidChrome) handleAndroidInput(event);else handleInputChange(event);
2185
- };
2186
- var handleInputChange = function handleInputChange(e) {
2187
- if (options.readOnly) {
2188
- return;
2189
- }
2190
- var pos = checkVal(true);
2191
- caret(pos);
2192
- updateModel(e);
2193
- if (options.onComplete && isCompleted()) {
2194
- options.onComplete({
2195
- originalEvent: e,
2196
- value: getValue()
2197
- });
2198
- }
2199
- };
2200
- var getUnmaskedValue = function getUnmaskedValue() {
2201
- var unmaskedBuffer = [];
2202
- for (var i = 0; i < buffer.length; i++) {
2203
- var c = buffer[i];
2204
- if (tests[i] && c !== getPlaceholder(i)) {
2205
- unmaskedBuffer.push(c);
2206
- }
2207
- }
2208
- return unmaskedBuffer.join('');
2209
- };
2210
- var updateModel = function updateModel(e) {
2211
- if (options.onChange) {
2212
- var val = getValue().replace(options.slotChar, '');
2213
- options.onChange({
2214
- originalEvent: e,
2215
- value: defaultBuffer !== val ? val : ''
2216
- });
2217
- }
2218
- };
2219
- var bindEvents = function bindEvents() {
2220
- el.addEventListener('focus', onFocus);
2221
- el.addEventListener('blur', onBlur);
2222
- el.addEventListener('keydown', onKeyDown);
2223
- el.addEventListener('keypress', onKeyPress);
2224
- el.addEventListener('input', onInput);
2225
- el.addEventListener('paste', handleInputChange);
2226
- };
2227
- var unbindEvents = function unbindEvents() {
2228
- el.removeEventListener('focus', onFocus);
2229
- el.removeEventListener('blur', onBlur);
2230
- el.removeEventListener('keydown', onKeyDown);
2231
- el.removeEventListener('keypress', onKeyPress);
2232
- el.removeEventListener('input', onInput);
2233
- el.removeEventListener('paste', handleInputChange);
2234
- };
2235
- var init = function init() {
2236
- tests = [];
2237
- partialPosition = options.mask.length;
2238
- len = options.mask.length;
2239
- firstNonMaskPos = null;
2240
- defs = {
2241
- 9: '[0-9]',
2242
- a: '[A-Za-z]',
2243
- '*': '[A-Za-z0-9]'
2244
- };
2245
- androidChrome = DomHandler.isChrome() && DomHandler.isAndroid();
2246
- var maskTokens = options.mask.split('');
2247
- for (var i = 0; i < maskTokens.length; i++) {
2248
- var c = maskTokens[i];
2249
- if (c === '?') {
2250
- len--;
2251
- partialPosition = i;
2252
- } else if (defs[c]) {
2253
- tests.push(new RegExp(defs[c]));
2254
- if (firstNonMaskPos === null) {
2255
- firstNonMaskPos = tests.length - 1;
2256
- }
2257
- if (i < partialPosition) {
2258
- lastRequiredNonMaskPos = tests.length - 1;
2259
- }
2260
- } else {
2261
- tests.push(null);
2262
- }
2263
- }
2264
- buffer = [];
2265
- for (var _i = 0; _i < maskTokens.length; _i++) {
2266
- var _c = maskTokens[_i];
2267
- if (_c !== '?') {
2268
- if (defs[_c]) buffer.push(getPlaceholder(_i));else buffer.push(_c);
2269
- }
2270
- }
2271
- defaultBuffer = buffer.join('');
2272
- };
2273
- if (el && options.mask) {
2274
- init();
2275
- bindEvents();
2276
- }
2277
- return {
2278
- init: init,
2279
- bindEvents: bindEvents,
2280
- unbindEvents: unbindEvents,
2281
- updateModel: updateModel,
2282
- getValue: getValue
2283
- };
2284
- }
2285
-
2286
- 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; }
2287
- 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) { _defineProperty(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; }
2288
- function mergeProps() {
2289
- for (var _len = arguments.length, props = new Array(_len), _key = 0; _key < _len; _key++) {
2290
- props[_key] = arguments[_key];
2291
- }
2292
- if (props) {
2293
- var isFn = function isFn(o) {
2294
- return !!(o && o.constructor && o.call && o.apply);
2295
- };
2296
- return props.reduce(function (merged, ps) {
2297
- var _loop = function _loop() {
2298
- var value = ps[key];
2299
- if (key === 'style') {
2300
- merged['style'] = _objectSpread(_objectSpread({}, merged['style']), ps['style']);
2301
- } else if (key === 'className') {
2302
- var newClassname = [merged['className'], ps['className']].join(' ').trim();
2303
- var isEmpty = newClassname === null || newClassname === undefined || newClassname === '';
2304
- merged['className'] = isEmpty ? undefined : newClassname;
2305
- } else if (isFn(value)) {
2306
- var fn = merged[key];
2307
- merged[key] = fn ? function () {
2308
- fn.apply(void 0, arguments);
2309
- value.apply(void 0, arguments);
2310
- } : value;
2311
- } else {
2312
- merged[key] = value;
2313
- }
2314
- };
2315
- for (var key in ps) {
2316
- _loop();
2317
- }
2318
- return merged;
2319
- }, {});
2320
- }
2321
- return undefined;
2322
- }
2323
-
2324
- var lastId = 0;
2325
- function UniqueComponentId() {
2326
- var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'pr_id_';
2327
- lastId++;
2328
- return "".concat(prefix).concat(lastId);
2329
- }
2330
-
2331
- function handler() {
2332
- var zIndexes = [];
2333
- var generateZIndex = function generateZIndex(key, autoZIndex) {
2334
- var baseZIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 999;
2335
- var lastZIndex = getLastZIndex(key, autoZIndex, baseZIndex);
2336
- var newZIndex = lastZIndex.value + (lastZIndex.key === key ? 0 : baseZIndex) + 1;
2337
- zIndexes.push({
2338
- key: key,
2339
- value: newZIndex
2340
- });
2341
- return newZIndex;
2342
- };
2343
- var revertZIndex = function revertZIndex(zIndex) {
2344
- zIndexes = zIndexes.filter(function (obj) {
2345
- return obj.value !== zIndex;
2346
- });
2347
- };
2348
- var getCurrentZIndex = function getCurrentZIndex(key, autoZIndex) {
2349
- return getLastZIndex(key, autoZIndex).value;
2350
- };
2351
- var getLastZIndex = function getLastZIndex(key, autoZIndex) {
2352
- var baseZIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
2353
- return _toConsumableArray(zIndexes).reverse().find(function (obj) {
2354
- return autoZIndex ? true : obj.key === key;
2355
- }) || {
2356
- key: key,
2357
- value: baseZIndex
2358
- };
2359
- };
2360
- var getZIndex = function getZIndex(el) {
2361
- return el ? parseInt(el.style.zIndex, 10) || 0 : 0;
2362
- };
2363
- return {
2364
- get: getZIndex,
2365
- set: function set(key, el, autoZIndex, baseZIndex) {
2366
- if (el) {
2367
- el.style.zIndex = String(generateZIndex(key, autoZIndex, baseZIndex));
2368
- }
2369
- },
2370
- clear: function clear(el) {
2371
- if (el) {
2372
- revertZIndex(ZIndexUtils.get(el));
2373
- el.style.zIndex = '';
2374
- }
2375
- },
2376
- getCurrent: function getCurrent(key, autoZIndex) {
2377
- return getCurrentZIndex(key, autoZIndex);
2378
- }
2379
- };
2380
- }
2381
- var ZIndexUtils = handler();
2382
-
2383
- export { DomHandler, EventBus, IconUtils, ObjectUtils, UniqueComponentId, ZIndexUtils, classNames, mask, mergeProps };