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,930 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import PrimeReact, { PrimeReactContext, localeOption } from 'primereact/api';
5
- import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
6
- import { useOverlayListener, useMountEffect, useUpdateEffect, useUnmountEffect } from 'primereact/hooks';
7
- import { ChevronDownIcon } from 'primereact/icons/chevrondown';
8
- import { SearchIcon } from 'primereact/icons/search';
9
- import { TimesIcon } from 'primereact/icons/times';
10
- import { OverlayService } from 'primereact/overlayservice';
11
- import { Ripple } from 'primereact/ripple';
12
- import { Tree } from 'primereact/tree';
13
- import { classNames, mergeProps, ObjectUtils, DomHandler, ZIndexUtils, IconUtils } from 'primereact/utils';
14
- import { CSSTransition } from 'primereact/csstransition';
15
- import { Portal } from 'primereact/portal';
16
-
17
- function _extends() {
18
- _extends = Object.assign ? Object.assign.bind() : function (target) {
19
- for (var i = 1; i < arguments.length; i++) {
20
- var source = arguments[i];
21
- for (var key in source) {
22
- if (Object.prototype.hasOwnProperty.call(source, key)) {
23
- target[key] = source[key];
24
- }
25
- }
26
- }
27
- return target;
28
- };
29
- return _extends.apply(this, arguments);
30
- }
31
-
32
- function _typeof(o) {
33
- "@babel/helpers - typeof";
34
-
35
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
36
- return typeof o;
37
- } : function (o) {
38
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
39
- }, _typeof(o);
40
- }
41
-
42
- function _toPrimitive(input, hint) {
43
- if (_typeof(input) !== "object" || input === null) return input;
44
- var prim = input[Symbol.toPrimitive];
45
- if (prim !== undefined) {
46
- var res = prim.call(input, hint || "default");
47
- if (_typeof(res) !== "object") return res;
48
- throw new TypeError("@@toPrimitive must return a primitive value.");
49
- }
50
- return (hint === "string" ? String : Number)(input);
51
- }
52
-
53
- function _toPropertyKey(arg) {
54
- var key = _toPrimitive(arg, "string");
55
- return _typeof(key) === "symbol" ? key : String(key);
56
- }
57
-
58
- function _defineProperty(obj, key, value) {
59
- key = _toPropertyKey(key);
60
- if (key in obj) {
61
- Object.defineProperty(obj, key, {
62
- value: value,
63
- enumerable: true,
64
- configurable: true,
65
- writable: true
66
- });
67
- } else {
68
- obj[key] = value;
69
- }
70
- return obj;
71
- }
72
-
73
- function _arrayWithHoles(arr) {
74
- if (Array.isArray(arr)) return arr;
75
- }
76
-
77
- function _iterableToArrayLimit(r, l) {
78
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
79
- if (null != t) {
80
- var e,
81
- n,
82
- i,
83
- u,
84
- a = [],
85
- f = !0,
86
- o = !1;
87
- try {
88
- if (i = (t = t.call(r)).next, 0 === l) {
89
- if (Object(t) !== t) return;
90
- f = !1;
91
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
92
- } catch (r) {
93
- o = !0, n = r;
94
- } finally {
95
- try {
96
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
97
- } finally {
98
- if (o) throw n;
99
- }
100
- }
101
- return a;
102
- }
103
- }
104
-
105
- function _arrayLikeToArray$1(arr, len) {
106
- if (len == null || len > arr.length) len = arr.length;
107
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
108
- return arr2;
109
- }
110
-
111
- function _unsupportedIterableToArray$1(o, minLen) {
112
- if (!o) return;
113
- if (typeof o === "string") return _arrayLikeToArray$1(o, minLen);
114
- var n = Object.prototype.toString.call(o).slice(8, -1);
115
- if (n === "Object" && o.constructor) n = o.constructor.name;
116
- if (n === "Map" || n === "Set") return Array.from(o);
117
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen);
118
- }
119
-
120
- function _nonIterableRest() {
121
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
122
- }
123
-
124
- function _slicedToArray(arr, i) {
125
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
126
- }
127
-
128
- var classes = {
129
- root: function root(_ref) {
130
- var props = _ref.props,
131
- focusedState = _ref.focusedState,
132
- overlayVisibleState = _ref.overlayVisibleState,
133
- isValueEmpty = _ref.isValueEmpty;
134
- return classNames('p-treeselect p-component p-inputwrapper', {
135
- 'p-treeselect-chip': props.display === 'chip',
136
- 'p-treeselect-clearable': props.showClear && !props.disabled,
137
- 'p-disabled': props.disabled,
138
- 'p-focus': focusedState,
139
- 'p-inputwrapper-filled': !isValueEmpty,
140
- 'p-inputwrapper-focus': focusedState || overlayVisibleState
141
- }, props.className);
142
- },
143
- label: function label(_ref2) {
144
- var props = _ref2.props,
145
- isValueEmpty = _ref2.isValueEmpty,
146
- getLabel = _ref2.getLabel;
147
- return classNames('p-treeselect-label', {
148
- 'p-placeholder': getLabel() === props.placeholder,
149
- 'p-treeselect-label-empty': !props.placeholder && isValueEmpty
150
- });
151
- },
152
- panel: function panel(_ref3) {
153
- var props = _ref3.panelProps,
154
- context = _ref3.context;
155
- return classNames('p-treeselect-panel p-component', props.panelClassName, {
156
- 'p-input-filled': context && context.inputStyle === 'filled' || PrimeReact.inputStyle === 'filled',
157
- 'p-ripple-disabled': context && context.ripple === false || PrimeReact.ripple === false
158
- });
159
- },
160
- labelContainer: 'p-treeselect-label-container',
161
- tokenLabel: 'p-treeselect-token-label',
162
- token: 'p-treeselect-token',
163
- trigger: 'p-treeselect-trigger',
164
- triggerIcon: 'p-treeselect-trigger-icon p-clickable',
165
- emptyMessage: 'p-treeselect-empty-message',
166
- filterContainer: 'p-treeselect-filter-container',
167
- filter: 'p-treeselect-filter p-inputtext p-component',
168
- filterIcon: 'p-treeselect-filter-icon',
169
- closeIcon: 'p-treeselect-close-icon',
170
- clearIcon: 'p-treeselect-clear-icon p-clickable',
171
- closeButton: 'p-treeselect-close p-link',
172
- header: 'p-treeselect-header',
173
- wrapper: 'p-treeselect-items-wrapper',
174
- transition: 'p-connected-overlay'
175
- };
176
- var styles = "\n@layer primereact {\n .p-treeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n }\n \n .p-treeselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n \n .p-treeselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n }\n \n .p-treeselect-label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .p-treeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n }\n \n .p-treeselect-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n }\n \n .p-treeselect .p-treeselect-panel {\n min-width: 100%;\n }\n \n .p-treeselect-items-wrapper {\n overflow: auto;\n }\n \n .p-treeselect-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n \n .p-treeselect-filter-container {\n position: relative;\n flex: 1 1 auto;\n }\n \n .p-treeselect-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-treeselect-filter-container .p-inputtext {\n width: 100%;\n }\n \n .p-treeselect-close {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: hidden;\n position: relative;\n margin-left: auto;\n }\n \n .p-treeselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-fluid .p-treeselect {\n display: flex;\n}\n}\n";
177
- var TreeSelectBase = ComponentBase.extend({
178
- defaultProps: {
179
- __TYPE: 'TreeSelect',
180
- appendTo: null,
181
- ariaLabel: null,
182
- ariaLabelledBy: null,
183
- className: null,
184
- closeIcon: null,
185
- clearIcon: null,
186
- disabled: false,
187
- display: 'comma',
188
- dropdownIcon: null,
189
- emptyMessage: null,
190
- expandedKeys: null,
191
- filter: false,
192
- filterBy: 'label',
193
- filterIcon: null,
194
- filterInputAutoFocus: true,
195
- filterLocale: undefined,
196
- filterMode: 'lenient',
197
- filterPlaceholder: null,
198
- filterTemplate: null,
199
- filterValue: null,
200
- inputId: null,
201
- inputRef: null,
202
- metaKeySelection: true,
203
- name: null,
204
- nodeTemplate: null,
205
- onChange: null,
206
- onFilterValueChange: null,
207
- onHide: null,
208
- onNodeCollapse: null,
209
- onNodeExpand: null,
210
- onNodeSelect: null,
211
- onNodeUnselect: null,
212
- onShow: null,
213
- options: null,
214
- panelClassName: null,
215
- panelFooterTemplate: null,
216
- panelHeaderTemplate: null,
217
- panelStyle: null,
218
- placeholder: null,
219
- resetFilterOnHide: false,
220
- scrollHeight: '400px',
221
- selectionMode: 'single',
222
- showClear: false,
223
- style: null,
224
- tabIndex: null,
225
- togglerTemplate: null,
226
- transitionOptions: null,
227
- value: null,
228
- valueTemplate: null,
229
- children: undefined
230
- },
231
- css: {
232
- classes: classes,
233
- styles: styles
234
- }
235
- });
236
-
237
- 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; }
238
- 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; }
239
- var TreeSelectPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
240
- var context = React.useContext(PrimeReactContext);
241
- var ptm = props.ptm,
242
- cx = props.cx;
243
- var getPTOptions = function getPTOptions(key, options) {
244
- return ptm(key, _objectSpread$1({
245
- hostName: props.hostName
246
- }, options));
247
- };
248
- var createElement = function createElement() {
249
- var wrapperStyle = {
250
- maxHeight: props.scrollHeight || 'auto'
251
- };
252
- var panelProps = mergeProps({
253
- className: cx('panel', {
254
- panelProps: props,
255
- context: context
256
- }),
257
- style: props.panelStyle,
258
- onClick: props.onClick
259
- }, getPTOptions('panel'));
260
- var wrapperProps = mergeProps({
261
- className: cx('wrapper'),
262
- style: wrapperStyle
263
- }, getPTOptions('wrapper'));
264
- var transitionProps = mergeProps({
265
- classNames: cx('transition'),
266
- "in": props["in"],
267
- timeout: {
268
- enter: 120,
269
- exit: 100
270
- },
271
- options: props.transitionOptions,
272
- unmountOnExit: true,
273
- onEnter: props.onEnter,
274
- onEntered: props.onEntered,
275
- onExit: props.onExit,
276
- onExited: props.onExited
277
- }, getPTOptions('transition'));
278
- return /*#__PURE__*/React.createElement(CSSTransition, _extends({
279
- nodeRef: ref
280
- }, transitionProps), /*#__PURE__*/React.createElement("div", _extends({
281
- ref: ref
282
- }, panelProps), props.header, /*#__PURE__*/React.createElement("div", wrapperProps, props.children), props.footer));
283
- };
284
- var element = createElement();
285
- return /*#__PURE__*/React.createElement(Portal, {
286
- element: element,
287
- appendTo: props.appendTo
288
- });
289
- });
290
- TreeSelectPanel.displayName = 'TreeSelectPanel';
291
-
292
- 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; }
293
- 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; }
294
- 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; } } }; }
295
- 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); }
296
- 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; }
297
- var TreeSelect = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
298
- var context = React.useContext(PrimeReactContext);
299
- var props = TreeSelectBase.getProps(inProps, context);
300
- var _React$useState = React.useState(false),
301
- _React$useState2 = _slicedToArray(_React$useState, 2),
302
- focusedState = _React$useState2[0],
303
- setFocusedState = _React$useState2[1];
304
- var _React$useState3 = React.useState(false),
305
- _React$useState4 = _slicedToArray(_React$useState3, 2),
306
- overlayVisibleState = _React$useState4[0],
307
- setOverlayVisibleState = _React$useState4[1];
308
- var _React$useState5 = React.useState(props.expandedKeys),
309
- _React$useState6 = _slicedToArray(_React$useState5, 2),
310
- expandedKeysState = _React$useState6[0],
311
- setExpandedKeysState = _React$useState6[1];
312
- var _React$useState7 = React.useState(''),
313
- _React$useState8 = _slicedToArray(_React$useState7, 2),
314
- filterValueState = _React$useState8[0],
315
- setFilterValueState = _React$useState8[1];
316
- var elementRef = React.useRef(null);
317
- var overlayRef = React.useRef(null);
318
- var filterInputRef = React.useRef(null);
319
- var focusInputRef = React.useRef(props.inputRef);
320
- var triggerRef = React.useRef(null);
321
- var selfChange = React.useRef(null);
322
- var expandedKeys = props.onToggle ? props.expandedKeys : expandedKeysState;
323
- var filteredValue = props.onFilterValueChange ? props.filterValue : filterValueState;
324
- var isValueEmpty = ObjectUtils.isEmpty(props.value);
325
- var hasNoOptions = ObjectUtils.isEmpty(props.options);
326
- var isSingleSelectionMode = props.selectionMode === 'single';
327
- var isCheckboxSelectionMode = props.selectionMode === 'checkbox';
328
- var metaData = {
329
- props: props,
330
- state: {
331
- focused: focusedState,
332
- overlayVisible: overlayVisibleState,
333
- expandedKeys: expandedKeys,
334
- filterValue: filteredValue
335
- }
336
- };
337
- var _TreeSelectBase$setMe = TreeSelectBase.setMetaData(metaData),
338
- ptm = _TreeSelectBase$setMe.ptm,
339
- cx = _TreeSelectBase$setMe.cx,
340
- isUnstyled = _TreeSelectBase$setMe.isUnstyled;
341
- useHandleStyle(TreeSelectBase.css.styles, isUnstyled, {
342
- name: 'treeselect'
343
- });
344
- var filterOptions = {
345
- filter: function filter(e) {
346
- return onFilterInputChange(e);
347
- },
348
- reset: function reset() {
349
- return resetFilter();
350
- }
351
- };
352
- var _useOverlayListener = useOverlayListener({
353
- target: elementRef,
354
- overlay: overlayRef,
355
- listener: function listener(event, _ref) {
356
- var valid = _ref.valid;
357
- valid && hide();
358
- },
359
- when: overlayVisibleState
360
- }),
361
- _useOverlayListener2 = _slicedToArray(_useOverlayListener, 2),
362
- bindOverlayListener = _useOverlayListener2[0],
363
- unbindOverlayListener = _useOverlayListener2[1];
364
- var getLabel = function getLabel() {
365
- return selectedNodes.length ? selectedNodes.map(function (node) {
366
- return node.label;
367
- }).join(', ') : props.placeholder;
368
- };
369
- var show = function show() {
370
- setOverlayVisibleState(true);
371
- };
372
- var hide = function hide() {
373
- setOverlayVisibleState(false);
374
- };
375
- var onInputFocus = function onInputFocus() {
376
- setFocusedState(true);
377
- };
378
- var onInputBlur = function onInputBlur() {
379
- setFocusedState(false);
380
- };
381
- var onClick = function onClick(event) {
382
- if (!props.disabled && (!overlayRef.current || !overlayRef.current.contains(event.target)) && !DomHandler.hasClass(event.target, 'p-treeselect-close')) {
383
- DomHandler.focus(focusInputRef.current);
384
- overlayVisibleState ? hide() : show();
385
- }
386
- };
387
- var onSelectionChange = function onSelectionChange(event) {
388
- if (props.onChange) {
389
- selfChange.current = true;
390
- props.onChange({
391
- originalEvent: event.originalEvent,
392
- value: event.value,
393
- stopPropagation: function stopPropagation() {
394
- event.originalEvent.stopPropagation();
395
- },
396
- preventDefault: function preventDefault() {
397
- event.originalEvent.preventDefault();
398
- },
399
- target: {
400
- name: props.name,
401
- id: props.id,
402
- value: event.value
403
- }
404
- });
405
- }
406
- };
407
- var clear = function clear(event) {
408
- if (props.onChange) {
409
- selfChange.current = true;
410
- props.onChange({
411
- originalEvent: event,
412
- value: undefined,
413
- stopPropagation: function stopPropagation() {
414
- event.stopPropagation();
415
- },
416
- preventDefault: function preventDefault() {
417
- event.preventDefault();
418
- },
419
- target: {
420
- name: props.name,
421
- id: props.id,
422
- value: undefined
423
- }
424
- });
425
- }
426
- };
427
- var onNodeSelect = function onNodeSelect(node) {
428
- props.onNodeSelect && props.onNodeSelect(node);
429
- isSingleSelectionMode && hide();
430
- };
431
- var onNodeUnselect = function onNodeUnselect(node) {
432
- props.onNodeUnselect && props.onNodeUnselect(node);
433
- };
434
- var onNodeToggle = function onNodeToggle(e) {
435
- if (props.onToggle) {
436
- props.onToggle(e);
437
- } else {
438
- setExpandedKeysState(e.value);
439
- }
440
- };
441
- var onFilterValueChange = function onFilterValueChange(e) {
442
- setFilterValueState(e.value);
443
- };
444
- var onOverlayClick = function onOverlayClick(event) {
445
- OverlayService.emit('overlay-click', {
446
- originalEvent: event,
447
- target: elementRef.current
448
- });
449
- };
450
- var onInputKeyDown = function onInputKeyDown(event) {
451
- switch (event.which) {
452
- //down
453
- case 40:
454
- if (!overlayVisibleState && event.altKey) {
455
- show();
456
- }
457
- break;
458
-
459
- //space
460
- case 32:
461
- if (!overlayVisibleState) {
462
- show();
463
- event.preventDefault();
464
- }
465
- break;
466
-
467
- //enter and escape
468
- case 13:
469
- case 27:
470
- if (overlayVisibleState) {
471
- hide();
472
- event.preventDefault();
473
- }
474
- break;
475
-
476
- //tab
477
- case 9:
478
- hide();
479
- break;
480
- }
481
- };
482
- var onFilterInputKeyDown = function onFilterInputKeyDown(event) {
483
- //enter
484
- if (event.which === 13) {
485
- event.preventDefault();
486
- }
487
- };
488
- var onFilterInputChange = function onFilterInputChange(event) {
489
- var value = event.target.value;
490
- if (props.onFilterValueChange) {
491
- props.onFilterValueChange({
492
- originalEvent: event,
493
- value: value
494
- });
495
- } else {
496
- setFilterValueState(value);
497
- }
498
- };
499
- var resetFilter = function resetFilter() {
500
- setFilterValueState('');
501
- };
502
- var onOverlayEnter = function onOverlayEnter() {
503
- ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, context && context.zIndex['overlay'] || PrimeReact.zIndex['overlay']);
504
- DomHandler.addStyles(overlayRef.current, {
505
- position: 'absolute',
506
- top: '0',
507
- left: '0'
508
- });
509
- alignOverlay();
510
- scrollInView();
511
- };
512
- var onOverlayEntered = function onOverlayEntered() {
513
- bindOverlayListener();
514
- if (props.filter && props.filterInputAutoFocus) {
515
- DomHandler.focus(filterInputRef.current, props.filterInputAutoFocus);
516
- }
517
- props.onShow && props.onShow();
518
- };
519
- var onOverlayExit = function onOverlayExit() {
520
- unbindOverlayListener();
521
- };
522
- var onOverlayExited = function onOverlayExited() {
523
- if (props.filter && props.resetFilterOnHide) {
524
- resetFilter();
525
- }
526
- ZIndexUtils.clear(overlayRef.current);
527
- props.onHide && props.onHide();
528
- };
529
- var alignOverlay = function alignOverlay() {
530
- DomHandler.alignOverlay(overlayRef.current, triggerRef.current.parentElement, props.appendTo || context && context.appendTo || PrimeReact.appendTo);
531
- };
532
- var scrollInView = function scrollInView() {
533
- var highlightItem = DomHandler.findSingle(overlayRef.current, '.p-treenode-content.p-highlight');
534
- if (highlightItem && highlightItem.scrollIntoView) {
535
- highlightItem.scrollIntoView({
536
- block: 'nearest',
537
- inline: 'start'
538
- });
539
- }
540
- };
541
- var findSelectedNodes = function findSelectedNodes(node, keys, selectedNodes) {
542
- if (node) {
543
- if (isSelected(node, keys)) {
544
- selectedNodes.push(node);
545
- delete keys[node.key];
546
- }
547
- if (Object.keys(keys).length && node.children) {
548
- var _iterator = _createForOfIteratorHelper(node.children),
549
- _step;
550
- try {
551
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
552
- var childNode = _step.value;
553
- findSelectedNodes(childNode, keys, selectedNodes);
554
- }
555
- } catch (err) {
556
- _iterator.e(err);
557
- } finally {
558
- _iterator.f();
559
- }
560
- }
561
- } else {
562
- var _iterator2 = _createForOfIteratorHelper(props.options),
563
- _step2;
564
- try {
565
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
566
- var _childNode = _step2.value;
567
- findSelectedNodes(_childNode, keys, selectedNodes);
568
- }
569
- } catch (err) {
570
- _iterator2.e(err);
571
- } finally {
572
- _iterator2.f();
573
- }
574
- }
575
- };
576
- var isSelected = function isSelected(node, keys) {
577
- return isCheckboxSelectionMode ? keys[node.key] && keys[node.key].checked : keys[node.key];
578
- };
579
- var updateTreeState = function updateTreeState() {
580
- var keys = isSingleSelectionMode ? _defineProperty({}, "".concat(props.value), true) : _objectSpread({}, props.value);
581
- setExpandedKeysState({});
582
- if (keys && props.options) {
583
- updateTreeBranchState(null, null, keys);
584
- }
585
- };
586
- var updateTreeBranchState = function updateTreeBranchState(node, path, keys) {
587
- if (node) {
588
- if (isSelected(node, keys)) {
589
- expandPath(path);
590
- delete keys[node.key];
591
- }
592
- if (Object.keys(keys).length && node.children) {
593
- var _iterator3 = _createForOfIteratorHelper(node.children),
594
- _step3;
595
- try {
596
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
597
- var childNode = _step3.value;
598
- path.push(node.key);
599
- updateTreeBranchState(childNode, path, keys);
600
- }
601
- } catch (err) {
602
- _iterator3.e(err);
603
- } finally {
604
- _iterator3.f();
605
- }
606
- }
607
- } else {
608
- var _iterator4 = _createForOfIteratorHelper(props.options),
609
- _step4;
610
- try {
611
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
612
- var _childNode2 = _step4.value;
613
- updateTreeBranchState(_childNode2, [], keys);
614
- }
615
- } catch (err) {
616
- _iterator4.e(err);
617
- } finally {
618
- _iterator4.f();
619
- }
620
- }
621
- };
622
- var expandPath = function expandPath(path) {
623
- if (path.length > 0) {
624
- var _expandedKeys = _objectSpread({}, expandedKeysState || {});
625
- var _iterator5 = _createForOfIteratorHelper(path),
626
- _step5;
627
- try {
628
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
629
- var key = _step5.value;
630
- _expandedKeys[key] = true;
631
- }
632
- } catch (err) {
633
- _iterator5.e(err);
634
- } finally {
635
- _iterator5.f();
636
- }
637
- setExpandedKeysState(_expandedKeys);
638
- }
639
- };
640
- var getSelectedNodes = function getSelectedNodes() {
641
- var selectedNodes = [];
642
- if (ObjectUtils.isNotEmpty(props.value) && props.options) {
643
- var keys = isSingleSelectionMode ? _defineProperty({}, "".concat(props.value), true) : _objectSpread({}, props.value);
644
- findSelectedNodes(null, keys, selectedNodes);
645
- }
646
- return selectedNodes;
647
- };
648
- React.useImperativeHandle(ref, function () {
649
- return {
650
- props: props,
651
- clear: clear,
652
- show: show,
653
- hide: hide,
654
- focus: function focus() {
655
- return DomHandler.focus(focusInputRef.current);
656
- },
657
- getElement: function getElement() {
658
- return elementRef.current;
659
- }
660
- };
661
- });
662
- React.useEffect(function () {
663
- ObjectUtils.combinedRefs(focusInputRef, props.inputRef);
664
- }, [focusInputRef, props.inputRef]);
665
- useMountEffect(function () {
666
- updateTreeState();
667
- if (props.autoFocus) {
668
- DomHandler.focus(focusInputRef.current, props.autoFocus);
669
- }
670
- });
671
- useUpdateEffect(function () {
672
- if (overlayVisibleState && props.filter) {
673
- alignOverlay();
674
- }
675
- });
676
- useUpdateEffect(function () {
677
- updateTreeState();
678
- }, [props.options]);
679
- useUpdateEffect(function () {
680
- if (overlayVisibleState && expandedKeysState) {
681
- alignOverlay();
682
- }
683
- }, [expandedKeysState]);
684
- useUpdateEffect(function () {
685
- if (overlayVisibleState) {
686
- if (!selfChange.current) {
687
- updateTreeState();
688
- }
689
- selfChange.current = false;
690
- }
691
- }, [props.value]);
692
- useUnmountEffect(function () {
693
- ZIndexUtils.clear(overlayRef.current);
694
- });
695
- var createKeyboardHelper = function createKeyboardHelper() {
696
- var hiddenInputWrapperProps = mergeProps({
697
- className: 'p-hidden-accessible'
698
- }, ptm('hiddenInputWrapper'));
699
- var hiddenInputProps = mergeProps(_objectSpread({
700
- ref: focusInputRef,
701
- role: 'listbox',
702
- id: props.inputId,
703
- type: 'text',
704
- 'aria-expanded': overlayVisibleState,
705
- onFocus: onInputFocus,
706
- onBlur: onInputBlur,
707
- onKeyDown: onInputKeyDown,
708
- disabled: props.disabled,
709
- tabIndex: props.tabIndex
710
- }, ariaProps), ptm('hiddenInput'));
711
- return /*#__PURE__*/React.createElement("div", hiddenInputWrapperProps, /*#__PURE__*/React.createElement("input", _extends({}, hiddenInputProps, {
712
- readOnly: true
713
- })));
714
- };
715
- var createLabel = function createLabel() {
716
- var tokenProps = mergeProps({
717
- className: cx('token')
718
- }, ptm('token'));
719
- var tokenLabelProps = mergeProps({
720
- className: cx('tokenLabel')
721
- }, ptm('tokenLabel'));
722
- var labelContainerProps = mergeProps({
723
- className: cx('labelContainer')
724
- }, ptm('labelContainer'));
725
- var labelProps = mergeProps({
726
- className: cx('label', {
727
- isValueEmpty: isValueEmpty,
728
- getLabel: getLabel
729
- })
730
- }, ptm('label'));
731
- var content = null;
732
- if (props.valueTemplate) {
733
- content = ObjectUtils.getJSXElement(props.valueTemplate, selectedNodes, props);
734
- } else {
735
- if (props.display === 'comma') {
736
- content = getLabel() || 'empty';
737
- } else if (props.display === 'chip') {
738
- content = /*#__PURE__*/React.createElement(React.Fragment, null, selectedNodes && selectedNodes.map(function (node, index) {
739
- return /*#__PURE__*/React.createElement("div", _extends({}, tokenProps, {
740
- key: "".concat(node.key, "_").concat(index)
741
- }), /*#__PURE__*/React.createElement("span", tokenLabelProps, node.label));
742
- }), isValueEmpty && (props.placeholder || 'empty'));
743
- }
744
- }
745
- return /*#__PURE__*/React.createElement("div", labelContainerProps, /*#__PURE__*/React.createElement("div", labelProps, content));
746
- };
747
- var createDropdownIcon = function createDropdownIcon() {
748
- var triggerProps = mergeProps({
749
- ref: triggerRef,
750
- className: cx('trigger'),
751
- role: 'button',
752
- 'aria-haspopup': 'listbox',
753
- 'aria-expanded': overlayVisibleState
754
- }, ptm('trigger'));
755
- var triggerIconProps = mergeProps({
756
- className: cx('triggerIcon')
757
- }, ptm('triggerIcon'));
758
- var icon = props.dropdownIcon || /*#__PURE__*/React.createElement(ChevronDownIcon, triggerIconProps);
759
- var dropdownIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, triggerIconProps), {
760
- props: props
761
- });
762
- return /*#__PURE__*/React.createElement("div", triggerProps, dropdownIcon);
763
- };
764
- var createClearIcon = function createClearIcon() {
765
- if (props.value != null && props.showClear && !props.disabled) {
766
- var clearIconProps = mergeProps({
767
- className: cx('clearIcon'),
768
- onPointerUp: clear
769
- }, ptm('clearIcon'));
770
- var icon = props.clearIcon || /*#__PURE__*/React.createElement(TimesIcon, clearIconProps);
771
- return IconUtils.getJSXIcon(icon, _objectSpread({}, clearIconProps), {
772
- props: props
773
- });
774
- }
775
- return null;
776
- };
777
- var createContent = function createContent() {
778
- var emptyMessageProps = mergeProps({
779
- className: cx('emptyMessage')
780
- }, ptm('emptyMessage'));
781
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tree, {
782
- expandedKeys: expandedKeys,
783
- filter: props.filter,
784
- filterBy: props.filterBy,
785
- filterLocale: props.filterLocale,
786
- filterMode: props.filterMode,
787
- filterPlaceholder: props.filterPlaceholder,
788
- filterValue: filteredValue,
789
- metaKeySelection: props.metaKeySelection,
790
- nodeTemplate: props.nodeTemplate,
791
- onCollapse: props.onNodeCollapse,
792
- onExpand: props.onNodeExpand,
793
- onFilterValueChange: onFilterValueChange,
794
- onSelect: onNodeSelect,
795
- onSelectionChange: onSelectionChange,
796
- onToggle: onNodeToggle,
797
- onUnselect: onNodeUnselect,
798
- selectionKeys: props.value,
799
- selectionMode: props.selectionMode,
800
- showHeader: false,
801
- togglerTemplate: props.togglerTemplate,
802
- value: props.options,
803
- pt: ptm('tree'),
804
- __parentMetadata: {
805
- parent: metaData
806
- }
807
- }), hasNoOptions && /*#__PURE__*/React.createElement("div", emptyMessageProps, props.emptyMessage || localeOption('emptyMessage')));
808
- };
809
- var createFilterElement = function createFilterElement() {
810
- if (props.filter) {
811
- var filterValue = ObjectUtils.isNotEmpty(filteredValue) ? filteredValue : '';
812
- var filterContainerProps = mergeProps({
813
- className: cx('filterContainer')
814
- }, ptm('filterContainer'));
815
- var filterProps = mergeProps({
816
- ref: filterInputRef,
817
- type: 'text',
818
- value: filterValue,
819
- autoComplete: 'off',
820
- className: cx('filter'),
821
- placeholder: props.filterPlaceholder,
822
- onKeyDown: onFilterInputKeyDown,
823
- onChange: onFilterInputChange,
824
- disabled: props.disabled
825
- }, ptm('filter'));
826
- var filterIconProps = mergeProps({
827
- className: cx('filterIcon')
828
- }, ptm('filterIcon'));
829
- var icon = props.filterIcon || /*#__PURE__*/React.createElement(SearchIcon, filterIconProps);
830
- var filterIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, filterIconProps), {
831
- props: props
832
- });
833
- var filterContent = /*#__PURE__*/React.createElement("div", filterContainerProps, /*#__PURE__*/React.createElement("input", filterProps), filterIcon);
834
- if (props.filterTemplate) {
835
- var defaultContentOptions = {
836
- className: 'p-treeselect-filter-container',
837
- element: filterContent,
838
- filterOptions: filterOptions,
839
- filterInputKeyDown: onFilterInputKeyDown,
840
- filterInputChange: onFilterInputChange,
841
- filterIconClassName: 'p-dropdown-filter-icon',
842
- props: props
843
- };
844
- filterContent = ObjectUtils.getJSXElement(props.filterTemplate, defaultContentOptions);
845
- }
846
- return /*#__PURE__*/React.createElement(React.Fragment, null, filterContent);
847
- }
848
- };
849
- var createHeader = function createHeader() {
850
- var filterElement = createFilterElement();
851
- var closeIconProps = mergeProps({
852
- className: cx('closeIcon'),
853
- 'aria-hidden': true
854
- }, ptm('closeIcon'));
855
- var icon = props.closeIcon || /*#__PURE__*/React.createElement(TimesIcon, closeIconProps);
856
- var closeIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, closeIconProps), {
857
- props: props
858
- });
859
- var closeButtonProps = mergeProps({
860
- type: 'button',
861
- className: cx('closeButton'),
862
- onClick: hide,
863
- 'aria-label': localeOption('close')
864
- }, ptm('closeButton'));
865
- var headerProps = mergeProps({
866
- className: cx('header')
867
- }, ptm('header'));
868
- var closeElement = /*#__PURE__*/React.createElement("button", closeButtonProps, closeIcon, /*#__PURE__*/React.createElement(Ripple, null));
869
- var content = /*#__PURE__*/React.createElement("div", headerProps, filterElement, closeElement);
870
- if (props.panelHeaderTemplate) {
871
- var defaultOptions = {
872
- className: 'p-treeselect-header',
873
- filterElement: filterElement,
874
- closeElement: closeElement,
875
- closeElementClassName: 'p-treeselect-close p-link',
876
- closeIconClassName: 'p-treeselect-close-icon',
877
- onCloseClick: hide,
878
- element: content,
879
- props: props
880
- };
881
- return ObjectUtils.getJSXElement(props.panelHeaderTemplate, defaultOptions);
882
- }
883
- return content;
884
- };
885
- var createFooter = function createFooter() {
886
- return ObjectUtils.getJSXElement(props.panelFooterTemplate, props);
887
- };
888
- var selectedNodes = getSelectedNodes();
889
- var otherProps = TreeSelectBase.getOtherProps(props);
890
- var ariaProps = ObjectUtils.reduceKeys(otherProps, DomHandler.ARIA_PROPS);
891
- var rootProps = mergeProps({
892
- ref: elementRef,
893
- className: cx('root', {
894
- focusedState: focusedState,
895
- overlayVisibleState: overlayVisibleState,
896
- isValueEmpty: isValueEmpty
897
- }),
898
- style: props.style,
899
- onClick: onClick
900
- }, TreeSelectBase.getOtherProps(props), ptm('root'));
901
- var keyboardHelper = createKeyboardHelper();
902
- var labelElement = createLabel();
903
- var dropdownIcon = createDropdownIcon();
904
- var clearIcon = createClearIcon();
905
- var content = createContent();
906
- var header = createHeader();
907
- var footer = createFooter();
908
- return /*#__PURE__*/React.createElement("div", rootProps, keyboardHelper, labelElement, clearIcon, dropdownIcon, /*#__PURE__*/React.createElement(TreeSelectPanel, {
909
- hostName: "TreeSelect",
910
- ref: overlayRef,
911
- appendTo: props.appendTo,
912
- panelStyle: props.panelStyle,
913
- panelClassName: props.panelClassName,
914
- scrollHeight: props.scrollHeight,
915
- onClick: onOverlayClick,
916
- header: header,
917
- footer: footer,
918
- transitionOptions: props.transitionOptions,
919
- "in": overlayVisibleState,
920
- onEnter: onOverlayEnter,
921
- onEntered: onOverlayEntered,
922
- onExit: onOverlayExit,
923
- onExited: onOverlayExited,
924
- ptm: ptm,
925
- cx: cx
926
- }, content));
927
- }));
928
- TreeSelect.displayName = 'TreeSelect';
929
-
930
- export { TreeSelect };