primeng 22.1.2 → 22.1.3

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 (406) hide show
  1. package/fesm2022/primeng-accordion.mjs +23 -24
  2. package/fesm2022/primeng-animateonscroll.mjs +9 -10
  3. package/fesm2022/primeng-api.mjs +31 -32
  4. package/fesm2022/primeng-autocomplete.mjs +17 -18
  5. package/fesm2022/primeng-autofocus.mjs +7 -8
  6. package/fesm2022/primeng-avatar.mjs +10 -11
  7. package/fesm2022/primeng-avatargroup.mjs +10 -11
  8. package/fesm2022/primeng-badge.mjs +10 -11
  9. package/fesm2022/primeng-base.mjs +41 -31
  10. package/fesm2022/primeng-basecomponent.mjs +108 -44
  11. package/fesm2022/primeng-baseeditableholder.mjs +3 -4
  12. package/fesm2022/primeng-baseinput.mjs +3 -4
  13. package/fesm2022/primeng-basemodelholder.mjs +3 -4
  14. package/fesm2022/primeng-bind.mjs +10 -9
  15. package/fesm2022/primeng-blockui.mjs +23 -24
  16. package/fesm2022/primeng-breadcrumb.mjs +10 -11
  17. package/fesm2022/primeng-button.mjs +33 -39
  18. package/fesm2022/primeng-buttongroup.mjs +12 -13
  19. package/fesm2022/primeng-card.mjs +10 -11
  20. package/fesm2022/primeng-carousel.mjs +47 -46
  21. package/fesm2022/primeng-cascadeselect.mjs +23 -24
  22. package/fesm2022/primeng-chart.mjs +10 -11
  23. package/fesm2022/primeng-checkbox.mjs +10 -11
  24. package/fesm2022/primeng-chip.mjs +10 -11
  25. package/fesm2022/primeng-classnames.mjs +7 -8
  26. package/fesm2022/primeng-colorpicker.mjs +10 -11
  27. package/fesm2022/primeng-commandmenu.mjs +12 -13
  28. package/fesm2022/primeng-compare.mjs +19 -20
  29. package/fesm2022/primeng-config.mjs +39 -18
  30. package/fesm2022/primeng-confirmdialog.mjs +29 -21
  31. package/fesm2022/primeng-confirmpopup.mjs +22 -21
  32. package/fesm2022/primeng-contextmenu.mjs +29 -28
  33. package/fesm2022/primeng-dataview.mjs +10 -11
  34. package/fesm2022/primeng-datepicker.mjs +110 -87
  35. package/fesm2022/primeng-dialog.mjs +46 -34
  36. package/fesm2022/primeng-divider.mjs +10 -11
  37. package/fesm2022/primeng-dock.mjs +12 -13
  38. package/fesm2022/primeng-dom.mjs +18 -6
  39. package/fesm2022/primeng-dragdrop.mjs +15 -14
  40. package/fesm2022/primeng-drawer.mjs +20 -22
  41. package/fesm2022/primeng-dynamicdialog.mjs +23 -22
  42. package/fesm2022/primeng-editor.mjs +10 -11
  43. package/fesm2022/primeng-fieldset.mjs +13 -15
  44. package/fesm2022/primeng-fileupload.mjs +24 -25
  45. package/fesm2022/primeng-floatlabel.mjs +10 -11
  46. package/fesm2022/primeng-fluid.mjs +10 -11
  47. package/fesm2022/primeng-focustrap.mjs +11 -12
  48. package/fesm2022/primeng-galleria.mjs +40 -37
  49. package/fesm2022/primeng-gallery.mjs +73 -74
  50. package/fesm2022/primeng-iconfield.mjs +10 -11
  51. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -4
  52. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -4
  53. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -4
  54. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -4
  55. package/fesm2022/primeng-icons-angledown.mjs +3 -4
  56. package/fesm2022/primeng-icons-angleleft.mjs +3 -4
  57. package/fesm2022/primeng-icons-angleright.mjs +3 -4
  58. package/fesm2022/primeng-icons-angleup.mjs +3 -4
  59. package/fesm2022/primeng-icons-arrowdown.mjs +4 -6
  60. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -4
  61. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -4
  62. package/fesm2022/primeng-icons-arrowleft.mjs +4 -6
  63. package/fesm2022/primeng-icons-arrowright.mjs +3 -4
  64. package/fesm2022/primeng-icons-arrowup.mjs +4 -6
  65. package/fesm2022/primeng-icons-ban.mjs +4 -6
  66. package/fesm2022/primeng-icons-bars.mjs +3 -4
  67. package/fesm2022/primeng-icons-baseicon.mjs +6 -7
  68. package/fesm2022/primeng-icons-blank.mjs +3 -4
  69. package/fesm2022/primeng-icons-calendar.mjs +3 -4
  70. package/fesm2022/primeng-icons-caretleft.mjs +3 -4
  71. package/fesm2022/primeng-icons-caretright.mjs +3 -4
  72. package/fesm2022/primeng-icons-check.mjs +3 -4
  73. package/fesm2022/primeng-icons-chevrondown.mjs +3 -4
  74. package/fesm2022/primeng-icons-chevronleft.mjs +3 -4
  75. package/fesm2022/primeng-icons-chevronright.mjs +3 -4
  76. package/fesm2022/primeng-icons-chevronup.mjs +3 -4
  77. package/fesm2022/primeng-icons-exclamationtriangle.mjs +4 -6
  78. package/fesm2022/primeng-icons-eye.mjs +3 -4
  79. package/fesm2022/primeng-icons-eyeslash.mjs +4 -6
  80. package/fesm2022/primeng-icons-filter.mjs +4 -6
  81. package/fesm2022/primeng-icons-filterfill.mjs +3 -4
  82. package/fesm2022/primeng-icons-filterslash.mjs +4 -6
  83. package/fesm2022/primeng-icons-home.mjs +4 -6
  84. package/fesm2022/primeng-icons-infocircle.mjs +4 -6
  85. package/fesm2022/primeng-icons-minus.mjs +3 -4
  86. package/fesm2022/primeng-icons-pencil.mjs +4 -6
  87. package/fesm2022/primeng-icons-plus.mjs +4 -6
  88. package/fesm2022/primeng-icons-refresh.mjs +4 -6
  89. package/fesm2022/primeng-icons-search.mjs +4 -6
  90. package/fesm2022/primeng-icons-searchminus.mjs +4 -6
  91. package/fesm2022/primeng-icons-searchplus.mjs +4 -6
  92. package/fesm2022/primeng-icons-sortalt.mjs +4 -6
  93. package/fesm2022/primeng-icons-sortamountdown.mjs +4 -6
  94. package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -6
  95. package/fesm2022/primeng-icons-spinner.mjs +4 -6
  96. package/fesm2022/primeng-icons-star.mjs +4 -6
  97. package/fesm2022/primeng-icons-starfill.mjs +4 -6
  98. package/fesm2022/primeng-icons-thlarge.mjs +4 -6
  99. package/fesm2022/primeng-icons-times.mjs +3 -4
  100. package/fesm2022/primeng-icons-timescircle.mjs +4 -6
  101. package/fesm2022/primeng-icons-trash.mjs +4 -6
  102. package/fesm2022/primeng-icons-undo.mjs +4 -6
  103. package/fesm2022/primeng-icons-upload.mjs +4 -6
  104. package/fesm2022/primeng-icons-windowmaximize.mjs +4 -6
  105. package/fesm2022/primeng-icons-windowminimize.mjs +4 -6
  106. package/fesm2022/primeng-iftalabel.mjs +10 -11
  107. package/fesm2022/primeng-image.mjs +34 -20
  108. package/fesm2022/primeng-imagecompare.mjs +10 -11
  109. package/fesm2022/primeng-inplace.mjs +16 -17
  110. package/fesm2022/primeng-inputcolor.mjs +46 -51
  111. package/fesm2022/primeng-inputgroup.mjs +10 -11
  112. package/fesm2022/primeng-inputgroupaddon.mjs +10 -11
  113. package/fesm2022/primeng-inputicon.mjs +10 -11
  114. package/fesm2022/primeng-inputmask.mjs +15 -16
  115. package/fesm2022/primeng-inputnumber.mjs +10 -11
  116. package/fesm2022/primeng-inputotp.mjs +10 -11
  117. package/fesm2022/primeng-inputpassword.mjs +10 -11
  118. package/fesm2022/primeng-inputtags.mjs +12 -13
  119. package/fesm2022/primeng-inputtext.mjs +10 -11
  120. package/fesm2022/primeng-isolation.mjs +280 -0
  121. package/fesm2022/primeng-keyfilter.mjs +7 -8
  122. package/fesm2022/primeng-knob.mjs +13 -15
  123. package/fesm2022/primeng-label.mjs +10 -11
  124. package/fesm2022/primeng-license.mjs +0 -1
  125. package/fesm2022/primeng-listbox.mjs +32 -29
  126. package/fesm2022/primeng-megamenu.mjs +30 -34
  127. package/fesm2022/primeng-menu.mjs +36 -43
  128. package/fesm2022/primeng-menubar.mjs +26 -24
  129. package/fesm2022/primeng-message.mjs +16 -19
  130. package/fesm2022/primeng-metergroup.mjs +13 -14
  131. package/fesm2022/primeng-motion.mjs +13 -14
  132. package/fesm2022/primeng-multiselect.mjs +34 -27
  133. package/fesm2022/primeng-orderlist.mjs +31 -23
  134. package/fesm2022/primeng-organizationchart.mjs +13 -14
  135. package/fesm2022/primeng-overlay.mjs +24 -22
  136. package/fesm2022/primeng-overlaybadge.mjs +10 -11
  137. package/fesm2022/primeng-paginator.mjs +13 -11
  138. package/fesm2022/primeng-panel.mjs +13 -15
  139. package/fesm2022/primeng-panelmenu.mjs +22 -23
  140. package/fesm2022/primeng-passthrough.mjs +0 -1
  141. package/fesm2022/primeng-password.mjs +29 -30
  142. package/fesm2022/primeng-picklist.mjs +28 -20
  143. package/fesm2022/primeng-popover.mjs +21 -21
  144. package/fesm2022/primeng-progressbar.mjs +10 -11
  145. package/fesm2022/primeng-progressspinner.mjs +10 -11
  146. package/fesm2022/primeng-radiobutton.mjs +13 -14
  147. package/fesm2022/primeng-rating.mjs +14 -16
  148. package/fesm2022/primeng-ripple.mjs +24 -23
  149. package/fesm2022/primeng-scrollarea.mjs +25 -26
  150. package/fesm2022/primeng-scroller.mjs +16 -14
  151. package/fesm2022/primeng-scrollpanel.mjs +23 -24
  152. package/fesm2022/primeng-scrolltop.mjs +12 -13
  153. package/fesm2022/primeng-select.mjs +243 -146
  154. package/fesm2022/primeng-selectbutton.mjs +10 -11
  155. package/fesm2022/primeng-sidebar.mjs +82 -84
  156. package/fesm2022/primeng-skeleton.mjs +10 -11
  157. package/fesm2022/primeng-slider.mjs +10 -11
  158. package/fesm2022/primeng-speeddial.mjs +20 -19
  159. package/fesm2022/primeng-splitbutton.mjs +11 -13
  160. package/fesm2022/primeng-splitter.mjs +13 -14
  161. package/fesm2022/primeng-stepper.mjs +47 -48
  162. package/fesm2022/primeng-steps.mjs +10 -11
  163. package/fesm2022/primeng-styleclass.mjs +10 -9
  164. package/fesm2022/primeng-table.mjs +183 -162
  165. package/fesm2022/primeng-tabs.mjs +36 -37
  166. package/fesm2022/primeng-tag.mjs +10 -11
  167. package/fesm2022/primeng-terminal.mjs +13 -14
  168. package/fesm2022/primeng-textarea.mjs +10 -11
  169. package/fesm2022/primeng-tieredmenu.mjs +26 -26
  170. package/fesm2022/primeng-timeline.mjs +10 -11
  171. package/fesm2022/primeng-toast.mjs +48 -33
  172. package/fesm2022/primeng-togglebutton.mjs +10 -11
  173. package/fesm2022/primeng-toggleswitch.mjs +10 -11
  174. package/fesm2022/primeng-toolbar.mjs +10 -11
  175. package/fesm2022/primeng-tooltip.mjs +24 -25
  176. package/fesm2022/primeng-tree.mjs +19 -20
  177. package/fesm2022/primeng-treeselect.mjs +18 -19
  178. package/fesm2022/primeng-treetable.mjs +93 -88
  179. package/fesm2022/primeng-useid.mjs +38 -0
  180. package/fesm2022/primeng-usestyle.mjs +265 -44
  181. package/fesm2022/primeng-utils.mjs +33 -2
  182. package/fesm2022/primeng.mjs +0 -1
  183. package/package.json +12 -4
  184. package/types/primeng-accordion.d.ts +0 -9
  185. package/types/primeng-animateonscroll.d.ts +2 -1
  186. package/types/primeng-api.d.ts +3 -1
  187. package/types/primeng-autocomplete.d.ts +1 -3
  188. package/types/primeng-base.d.ts +3 -1
  189. package/types/primeng-basecomponent.d.ts +34 -16
  190. package/types/primeng-button.d.ts +9 -12
  191. package/types/primeng-carousel.d.ts +3 -25
  192. package/types/primeng-compare.d.ts +0 -9
  193. package/types/primeng-config.d.ts +27 -2
  194. package/types/primeng-confirmdialog.d.ts +1 -0
  195. package/types/primeng-confirmpopup.d.ts +1 -3
  196. package/types/primeng-datepicker.d.ts +2 -12
  197. package/types/primeng-dialog.d.ts +1 -0
  198. package/types/primeng-dom.d.ts +6 -11
  199. package/types/primeng-dragdrop.d.ts +1 -0
  200. package/types/primeng-dynamicdialog.d.ts +3 -1
  201. package/types/primeng-focustrap.d.ts +1 -1
  202. package/types/primeng-gallery.d.ts +0 -63
  203. package/types/primeng-inputcolor.d.ts +0 -33
  204. package/types/primeng-isolation.d.ts +21 -0
  205. package/types/primeng-listbox.d.ts +1 -0
  206. package/types/primeng-megamenu.d.ts +5 -1
  207. package/types/primeng-menu.d.ts +6 -7
  208. package/types/primeng-motion.d.ts +2 -7
  209. package/types/primeng-multiselect.d.ts +3 -1
  210. package/types/primeng-orderlist.d.ts +1 -0
  211. package/types/primeng-picklist.d.ts +1 -0
  212. package/types/primeng-scrollarea.d.ts +0 -15
  213. package/types/primeng-scroller.d.ts +2 -1
  214. package/types/primeng-select.d.ts +54 -13
  215. package/types/primeng-sidebar.d.ts +0 -69
  216. package/types/primeng-splitter.d.ts +0 -3
  217. package/types/primeng-stepper.d.ts +2 -19
  218. package/types/primeng-table.d.ts +2 -75
  219. package/types/primeng-tabs.d.ts +2 -16
  220. package/types/primeng-toast.d.ts +4 -2
  221. package/types/primeng-treetable.d.ts +4 -92
  222. package/types/primeng-types-listbox.d.ts +1 -1
  223. package/types/primeng-types-select.d.ts +4 -0
  224. package/types/primeng-useid.d.ts +15 -0
  225. package/types/primeng-usestyle.d.ts +87 -7
  226. package/types/primeng-utils.d.ts +42 -0
  227. package/fesm2022/primeng-accordion.mjs.map +0 -1
  228. package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
  229. package/fesm2022/primeng-api.mjs.map +0 -1
  230. package/fesm2022/primeng-autocomplete.mjs.map +0 -1
  231. package/fesm2022/primeng-autofocus.mjs.map +0 -1
  232. package/fesm2022/primeng-avatar.mjs.map +0 -1
  233. package/fesm2022/primeng-avatargroup.mjs.map +0 -1
  234. package/fesm2022/primeng-badge.mjs.map +0 -1
  235. package/fesm2022/primeng-base.mjs.map +0 -1
  236. package/fesm2022/primeng-basecomponent.mjs.map +0 -1
  237. package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
  238. package/fesm2022/primeng-baseinput.mjs.map +0 -1
  239. package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
  240. package/fesm2022/primeng-bind.mjs.map +0 -1
  241. package/fesm2022/primeng-blockui.mjs.map +0 -1
  242. package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
  243. package/fesm2022/primeng-button.mjs.map +0 -1
  244. package/fesm2022/primeng-buttongroup.mjs.map +0 -1
  245. package/fesm2022/primeng-card.mjs.map +0 -1
  246. package/fesm2022/primeng-carousel.mjs.map +0 -1
  247. package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
  248. package/fesm2022/primeng-chart.mjs.map +0 -1
  249. package/fesm2022/primeng-checkbox.mjs.map +0 -1
  250. package/fesm2022/primeng-chip.mjs.map +0 -1
  251. package/fesm2022/primeng-classnames.mjs.map +0 -1
  252. package/fesm2022/primeng-colorpicker.mjs.map +0 -1
  253. package/fesm2022/primeng-commandmenu.mjs.map +0 -1
  254. package/fesm2022/primeng-compare.mjs.map +0 -1
  255. package/fesm2022/primeng-config.mjs.map +0 -1
  256. package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
  257. package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
  258. package/fesm2022/primeng-contextmenu.mjs.map +0 -1
  259. package/fesm2022/primeng-dataview.mjs.map +0 -1
  260. package/fesm2022/primeng-datepicker.mjs.map +0 -1
  261. package/fesm2022/primeng-dialog.mjs.map +0 -1
  262. package/fesm2022/primeng-divider.mjs.map +0 -1
  263. package/fesm2022/primeng-dock.mjs.map +0 -1
  264. package/fesm2022/primeng-dom.mjs.map +0 -1
  265. package/fesm2022/primeng-dragdrop.mjs.map +0 -1
  266. package/fesm2022/primeng-drawer.mjs.map +0 -1
  267. package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
  268. package/fesm2022/primeng-editor.mjs.map +0 -1
  269. package/fesm2022/primeng-fieldset.mjs.map +0 -1
  270. package/fesm2022/primeng-fileupload.mjs.map +0 -1
  271. package/fesm2022/primeng-floatlabel.mjs.map +0 -1
  272. package/fesm2022/primeng-fluid.mjs.map +0 -1
  273. package/fesm2022/primeng-focustrap.mjs.map +0 -1
  274. package/fesm2022/primeng-galleria.mjs.map +0 -1
  275. package/fesm2022/primeng-gallery.mjs.map +0 -1
  276. package/fesm2022/primeng-iconfield.mjs.map +0 -1
  277. package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
  278. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
  279. package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
  280. package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
  281. package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
  282. package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
  283. package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
  284. package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
  285. package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
  286. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
  287. package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
  288. package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
  289. package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
  290. package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
  291. package/fesm2022/primeng-icons-ban.mjs.map +0 -1
  292. package/fesm2022/primeng-icons-bars.mjs.map +0 -1
  293. package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
  294. package/fesm2022/primeng-icons-blank.mjs.map +0 -1
  295. package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
  296. package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
  297. package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
  298. package/fesm2022/primeng-icons-check.mjs.map +0 -1
  299. package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
  300. package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
  301. package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
  302. package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
  303. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
  304. package/fesm2022/primeng-icons-eye.mjs.map +0 -1
  305. package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
  306. package/fesm2022/primeng-icons-filter.mjs.map +0 -1
  307. package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
  308. package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
  309. package/fesm2022/primeng-icons-home.mjs.map +0 -1
  310. package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
  311. package/fesm2022/primeng-icons-minus.mjs.map +0 -1
  312. package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
  313. package/fesm2022/primeng-icons-plus.mjs.map +0 -1
  314. package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
  315. package/fesm2022/primeng-icons-search.mjs.map +0 -1
  316. package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
  317. package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
  318. package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
  319. package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
  320. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
  321. package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
  322. package/fesm2022/primeng-icons-star.mjs.map +0 -1
  323. package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
  324. package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
  325. package/fesm2022/primeng-icons-times.mjs.map +0 -1
  326. package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
  327. package/fesm2022/primeng-icons-trash.mjs.map +0 -1
  328. package/fesm2022/primeng-icons-undo.mjs.map +0 -1
  329. package/fesm2022/primeng-icons-upload.mjs.map +0 -1
  330. package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
  331. package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
  332. package/fesm2022/primeng-iftalabel.mjs.map +0 -1
  333. package/fesm2022/primeng-image.mjs.map +0 -1
  334. package/fesm2022/primeng-imagecompare.mjs.map +0 -1
  335. package/fesm2022/primeng-inplace.mjs.map +0 -1
  336. package/fesm2022/primeng-inputcolor.mjs.map +0 -1
  337. package/fesm2022/primeng-inputgroup.mjs.map +0 -1
  338. package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
  339. package/fesm2022/primeng-inputicon.mjs.map +0 -1
  340. package/fesm2022/primeng-inputmask.mjs.map +0 -1
  341. package/fesm2022/primeng-inputnumber.mjs.map +0 -1
  342. package/fesm2022/primeng-inputotp.mjs.map +0 -1
  343. package/fesm2022/primeng-inputpassword.mjs.map +0 -1
  344. package/fesm2022/primeng-inputtags.mjs.map +0 -1
  345. package/fesm2022/primeng-inputtext.mjs.map +0 -1
  346. package/fesm2022/primeng-keyfilter.mjs.map +0 -1
  347. package/fesm2022/primeng-knob.mjs.map +0 -1
  348. package/fesm2022/primeng-label.mjs.map +0 -1
  349. package/fesm2022/primeng-license.mjs.map +0 -1
  350. package/fesm2022/primeng-listbox.mjs.map +0 -1
  351. package/fesm2022/primeng-megamenu.mjs.map +0 -1
  352. package/fesm2022/primeng-menu.mjs.map +0 -1
  353. package/fesm2022/primeng-menubar.mjs.map +0 -1
  354. package/fesm2022/primeng-message.mjs.map +0 -1
  355. package/fesm2022/primeng-metergroup.mjs.map +0 -1
  356. package/fesm2022/primeng-motion.mjs.map +0 -1
  357. package/fesm2022/primeng-multiselect.mjs.map +0 -1
  358. package/fesm2022/primeng-orderlist.mjs.map +0 -1
  359. package/fesm2022/primeng-organizationchart.mjs.map +0 -1
  360. package/fesm2022/primeng-overlay.mjs.map +0 -1
  361. package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
  362. package/fesm2022/primeng-paginator.mjs.map +0 -1
  363. package/fesm2022/primeng-panel.mjs.map +0 -1
  364. package/fesm2022/primeng-panelmenu.mjs.map +0 -1
  365. package/fesm2022/primeng-passthrough.mjs.map +0 -1
  366. package/fesm2022/primeng-password.mjs.map +0 -1
  367. package/fesm2022/primeng-picklist.mjs.map +0 -1
  368. package/fesm2022/primeng-popover.mjs.map +0 -1
  369. package/fesm2022/primeng-progressbar.mjs.map +0 -1
  370. package/fesm2022/primeng-progressspinner.mjs.map +0 -1
  371. package/fesm2022/primeng-radiobutton.mjs.map +0 -1
  372. package/fesm2022/primeng-rating.mjs.map +0 -1
  373. package/fesm2022/primeng-ripple.mjs.map +0 -1
  374. package/fesm2022/primeng-scrollarea.mjs.map +0 -1
  375. package/fesm2022/primeng-scroller.mjs.map +0 -1
  376. package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
  377. package/fesm2022/primeng-scrolltop.mjs.map +0 -1
  378. package/fesm2022/primeng-select.mjs.map +0 -1
  379. package/fesm2022/primeng-selectbutton.mjs.map +0 -1
  380. package/fesm2022/primeng-sidebar.mjs.map +0 -1
  381. package/fesm2022/primeng-skeleton.mjs.map +0 -1
  382. package/fesm2022/primeng-slider.mjs.map +0 -1
  383. package/fesm2022/primeng-speeddial.mjs.map +0 -1
  384. package/fesm2022/primeng-splitbutton.mjs.map +0 -1
  385. package/fesm2022/primeng-splitter.mjs.map +0 -1
  386. package/fesm2022/primeng-stepper.mjs.map +0 -1
  387. package/fesm2022/primeng-steps.mjs.map +0 -1
  388. package/fesm2022/primeng-styleclass.mjs.map +0 -1
  389. package/fesm2022/primeng-table.mjs.map +0 -1
  390. package/fesm2022/primeng-tabs.mjs.map +0 -1
  391. package/fesm2022/primeng-tag.mjs.map +0 -1
  392. package/fesm2022/primeng-terminal.mjs.map +0 -1
  393. package/fesm2022/primeng-textarea.mjs.map +0 -1
  394. package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
  395. package/fesm2022/primeng-timeline.mjs.map +0 -1
  396. package/fesm2022/primeng-toast.mjs.map +0 -1
  397. package/fesm2022/primeng-togglebutton.mjs.map +0 -1
  398. package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
  399. package/fesm2022/primeng-toolbar.mjs.map +0 -1
  400. package/fesm2022/primeng-tooltip.mjs.map +0 -1
  401. package/fesm2022/primeng-tree.mjs.map +0 -1
  402. package/fesm2022/primeng-treeselect.mjs.map +0 -1
  403. package/fesm2022/primeng-treetable.mjs.map +0 -1
  404. package/fesm2022/primeng-usestyle.mjs.map +0 -1
  405. package/fesm2022/primeng-utils.mjs.map +0 -1
  406. package/fesm2022/primeng.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-multiselect.mjs","names":["i1","CheckIcon","SearchIcon","TimesIcon","ChevronDownIcon","i2"],"sources":["../../src/multiselect/multiselect-token.ts","../../src/multiselect/style/multiselectstyle.ts","../../src/multiselect/multiselect-item.ts","../../src/multiselect/multiselect.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const MULTISELECT_INSTANCE = new InjectionToken<any>('MULTISELECT_INSTANCE');\nexport const MULTISELECT_ITEM_INSTANCE = new InjectionToken<any>('MULTISELECT_ITEM_INSTANCE');\n","import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/multiselect';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-multiselect p-component p-inputwrapper',\n {\n 'p-multiselect-display-chip': instance.display() === 'chip',\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': instance.$filled(),\n 'p-inputwrapper-focus': instance.focused || instance.overlayVisible(),\n 'p-multiselect-open': instance.overlayVisible(),\n 'p-multiselect-fluid': instance.hasFluid,\n 'p-multiselect-sm p-inputfield-sm': instance.size() === 'small',\n 'p-multiselect-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n labelContainer: 'p-multiselect-label-container',\n label: ({ instance }) => ({\n 'p-multiselect-label': true,\n 'p-placeholder': instance.label() === instance.placeholder(),\n 'p-multiselect-label-empty': !instance.placeholder() && (!instance.modelValue() || instance.modelValue().length === 0)\n }),\n clearIcon: 'p-multiselect-clear-icon',\n chipItem: 'p-multiselect-chip-item',\n pcChip: 'p-multiselect-chip',\n chipIcon: 'p-multiselect-chip-icon',\n dropdown: 'p-multiselect-dropdown',\n loadingIcon: 'p-multiselect-loading-icon',\n dropdownIcon: 'p-multiselect-dropdown-icon',\n overlay: 'p-multiselect-overlay p-component-overlay p-component',\n header: 'p-multiselect-header',\n pcFilterContainer: 'p-multiselect-filter-container',\n pcFilter: 'p-multiselect-filter',\n listContainer: 'p-multiselect-list-container',\n list: 'p-multiselect-list',\n optionGroup: 'p-multiselect-option-group',\n option: ({ instance }) => ({\n 'p-multiselect-option': true,\n 'p-multiselect-option-selected': instance.selected() && instance.highlightOnSelect(),\n 'p-disabled': instance.disabled(),\n 'p-focus': instance.focused()\n }),\n emptyMessage: 'p-multiselect-empty-message'\n};\n\n@Injectable()\nexport class MultiSelectStyle extends BaseStyle {\n name = 'multiselect';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * MultiSelect is used to select multiple items from a collection.\n *\n * [Live Demo](https://www.primeng.org/multiselect/)\n *\n * @module multiselectstyle\n *\n */\nexport enum MultiSelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-multiselect',\n /**\n * Class name of the label container element\n */\n labelContainer = 'p-multiselect-label-container',\n /**\n * Class name of the label element\n */\n label = 'p-multiselect-label',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-multiselect-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-multiselect-chip',\n /**\n * Class name of the chip icon element\n */\n chipIcon = 'p-multiselect-chip-icon',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-multiselect-dropdown',\n /**\n * Class name of the loading icon element\n */\n loadingIcon = 'p-multiselect-loading-icon',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-multiselect-dropdown-icon',\n /**\n * Class name of the overlay element\n */\n overlay = 'p-multiselect-overlay',\n /**\n * Class name of the header element\n */\n header = 'p-multiselect-header',\n /**\n * Class name of the filter container element\n */\n pcFilterContainer = 'p-multiselect-filter-container',\n /**\n * Class name of the filter element\n */\n pcFilter = 'p-multiselect-filter',\n /**\n * Class name of the list container element\n */\n listContainer = 'p-multiselect-list-container',\n /**\n * Class name of the list element\n */\n list = 'p-multiselect-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-multiselect-option-group',\n /**\n * Class name of the option element\n */\n option = 'p-multiselect-option',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-multiselect-empty-message',\n /**\n * Class name of the clear icon\n */\n clearIcon = 'p-autocomplete-clear-icon'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, computed, inject, input, numberAttribute, output, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Checkbox } from 'primeng/checkbox';\nimport type { MultiSelectItemCheckboxIconTemplateContext, MultiSelectItemClickEvent, MultiSelectItemMouseEnterEvent, MultiSelectItemTemplateContext } from 'primeng/types/multiselect';\nimport type { InputVariant } from 'primeng/types/shared';\nimport { MULTISELECT_ITEM_INSTANCE } from './multiselect-token';\nimport { MultiSelectStyle } from './style/multiselectstyle';\n\n@Component({\n selector: 'li[pMultiSelectItem]',\n standalone: true,\n imports: [NgTemplateOutlet, Checkbox, FormsModule, SharedModule],\n template: `\n <p-checkbox [disabled]=\"disabled() ?? false\" [ngModel]=\"selected()\" [binary]=\"true\" [tabindex]=\"-1\" [variant]=\"variant()\" [ariaLabel]=\"label()\" [pt]=\"getPTOptions('pcOptionCheckbox')\" [unstyled]=\"unstyled()\">\n @if (itemCheckboxIconTemplate()) {\n <ng-template #icon let-klass=\"class\">\n <ng-container *ngTemplateOutlet=\"itemCheckboxIconTemplate(); context: getCheckboxIconContext(klass)\"></ng-container>\n </ng-template>\n }\n </p-checkbox>\n @if (!template()) {\n <span>{{ label() ?? 'empty' }}</span>\n }\n <ng-container *ngTemplateOutlet=\"template(); context: templateContext()\"></ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [MultiSelectStyle],\n host: {\n '[style.height.px]': 'itemSize()',\n '[attr.aria-label]': 'label()',\n role: 'option',\n '[attr.aria-setsize]': 'ariaSetSize()',\n '[attr.aria-posinset]': 'ariaPosInset()',\n '[attr.aria-selected]': 'selected()',\n '[attr.data-p-selected]': 'selected()',\n '[attr.data-p-focused]': 'focused()',\n '[attr.data-p-highlight]': 'selected()',\n '[attr.data-p-disabled]': 'disabled()',\n '[attr.aria-checked]': 'selected()',\n '(click)': 'onOptionClick($event)',\n '(mouseenter)': 'onOptionMouseEnter($event)',\n '[class]': \"cx('option')\"\n }\n})\nexport class MultiSelectItem extends BaseComponent {\n $pcMultiSelectItem: MultiSelectItem | undefined = inject(MULTISELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n hostName = 'MultiSelect';\n\n option = input<any>();\n\n selected = input(undefined, { transform: booleanAttribute });\n\n label = input<string>();\n\n disabled = input(undefined, { transform: booleanAttribute });\n\n itemSize = input(undefined, { transform: numberAttribute });\n\n focused = input(undefined, { transform: booleanAttribute });\n\n ariaPosInset = input<string>();\n\n ariaSetSize = input<string>();\n\n variant = input<InputVariant>();\n\n template = input<TemplateRef<MultiSelectItemTemplateContext>>();\n\n checkIconTemplate = input<TemplateRef<MultiSelectItemCheckboxIconTemplateContext>>();\n\n itemCheckboxIconTemplate = input<TemplateRef<MultiSelectItemCheckboxIconTemplateContext>>();\n\n highlightOnSelect = input(undefined, { transform: booleanAttribute });\n\n onClick = output<MultiSelectItemClickEvent>();\n\n onMouseEnter = output<MultiSelectItemMouseEnterEvent>();\n\n _componentStyle = inject(MultiSelectStyle);\n\n templateContext = computed(() => ({ $implicit: this.option() }));\n\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n selected: this.selected(),\n focused: this.focused(),\n disabled: this.disabled()\n }\n });\n }\n\n getCheckboxIconContext(klass: string) {\n return { checked: this.selected(), class: klass };\n }\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option(),\n selected: this.selected() ?? false\n });\n event.stopPropagation();\n event.preventDefault();\n }\n\n onOptionMouseEnter(event: Event) {\n this.onMouseEnter.emit({\n originalEvent: event,\n option: this.option(),\n selected: this.selected() ?? false\n });\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n model,\n NgModule,\n numberAttribute,\n output,\n Provider,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Check as CheckIcon } from '@primeicons/angular/check';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Search as SearchIcon } from '@primeicons/angular/search';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { deepEquals, equals, findLastIndex, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, isArray, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from '@primeuix/utils';\nimport { FilterMatchModeType, FilterService, Footer, Header, OverlayOnHideEvent, OverlayOptions, OverlayService, ScrollerOptions, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Checkbox } from 'primeng/checkbox';\nimport { Chip } from 'primeng/chip';\nimport { DomHandler, unblockBodyScroll } from 'primeng/dom';\nimport { Fluid } from 'primeng/fluid';\nimport { IconField } from 'primeng/iconfield';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputText } from 'primeng/inputtext';\nimport { Overlay } from 'primeng/overlay';\nimport { Scroller } from 'primeng/scroller';\nimport { Tooltip } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport {\n MultiSelectBlurEvent,\n MultiSelectChangeEvent,\n MultiSelectChipIconTemplateContext,\n MultiSelectDisplay,\n MultiSelectDropdownIconTemplateContext,\n MultiSelectFilterEvent,\n MultiSelectFilterOptions,\n MultiSelectFilterTemplateContext,\n MultiSelectFocusEvent,\n MultiSelectGroupTemplateContext,\n MultiSelectHeaderCheckboxIconTemplateContext,\n MultiSelectItemCheckboxIconTemplateContext,\n MultiSelectItemTemplateContext,\n MultiSelectLazyLoadEvent,\n MultiSelectLoaderTemplateContext,\n MultiSelectPassThrough,\n MultiSelectRemoveEvent,\n MultiSelectSelectAllChangeEvent,\n MultiSelectSelectedItemsTemplateContext\n} from 'primeng/types/multiselect';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport type { TooltipPosition } from 'primeng/types/tooltip';\nimport { ObjectUtils } from 'primeng/utils';\nimport { MultiSelectItem } from './multiselect-item';\nimport { MULTISELECT_INSTANCE } from './multiselect-token';\nimport { MultiSelectStyle } from './style/multiselectstyle';\n\nexport const MULTISELECT_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelect),\n multi: true\n};\n\n/**\n * MultiSelect is used to select multiple items from a collection.\n * @group Components\n * @deprecated Use Select component with `multiple` property instead.\n */\n@Component({\n selector: 'p-multiselect, p-multi-select',\n standalone: true,\n imports: [NgTemplateOutlet, MultiSelectItem, Overlay, SharedModule, Tooltip, Scroller, AutoFocus, CheckIcon, SearchIcon, TimesIcon, ChevronDownIcon, IconField, InputIcon, InputText, Chip, Checkbox, FormsModule, BindModule],\n hostDirectives: [Bind],\n template: `\n <div class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\" [pBind]=\"ptm('hiddenInputContainer')\">\n <input\n #focusInput\n [pTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [positionStyle]=\"tooltipPositionStyle()\"\n [tooltipStyleClass]=\"tooltipStyleClass()\"\n [attr.aria-disabled]=\"$disabled()\"\n [attr.id]=\"inputId()\"\n role=\"combobox\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.tabindex]=\"inputTabindex()\"\n [attr.aria-activedescendant]=\"ariaActivedescendant\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"autofocus()\"\n [attr.value]=\"modelValue()\"\n [attr.name]=\"name()\"\n [attr.required]=\"requiredAttr()\"\n [attr.disabled]=\"disabledAttr()\"\n [pBind]=\"ptm('hiddenInput')\"\n />\n </div>\n <div\n [pBind]=\"ptm('labelContainer')\"\n [class]=\"cx('labelContainer')\"\n [pTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n (mouseleave)=\"labelContainerMouseLeave()\"\n [tooltipDisabled]=\"_disableTooltip\"\n [tooltipPosition]=\"tooltipPosition()\"\n [positionStyle]=\"tooltipPositionStyle()\"\n [tooltipStyleClass]=\"tooltipStyleClass()\"\n >\n <div [pBind]=\"ptm('label')\" [class]=\"cx('label')\" [attr.data-p]=\"labelDataP()\">\n @if (!selectedItemsTemplate()) {\n @if (isCommaDisplay()) {\n {{ labelDisplay() }}\n }\n @if (isChipDisplay()) {\n @if (showSelectedItemsLabel()) {\n {{ getSelectedItemsLabel() }}\n } @else {\n @for (item of chipSelectedItems(); track $index) {\n <div #token [pBind]=\"ptm('chipItem')\" [class]=\"cx('chipItem')\">\n <p-chip [pt]=\"ptm('pcChip')\" [unstyled]=\"unstyled()\" [class]=\"cx('pcChip')\" [label]=\"getLabelByValue(item)\" [removable]=\"isEditable()\" (onRemove)=\"removeOption(item, $event)\" [removeIcon]=\"chipIcon()\">\n @if (hasChipRemoveIconTemplate()) {\n <ng-template #removeicon>\n @if (isEditable()) {\n <span [class]=\"cx('chipIcon')\" (click)=\"removeOption(item, $event)\" [attr.aria-hidden]=\"true\" [pBind]=\"ptm('chipIcon')\">\n <ng-container *ngTemplateOutlet=\"chipIconTemplate() || removeTokenIconTemplate(); context: chipIconContext\"></ng-container>\n </span>\n }\n </ng-template>\n }\n </p-chip>\n </div>\n }\n }\n @if (isModelEmpty()) {\n {{ placeholderLabel() }}\n }\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"selectedItemsTemplate(); context: selectedItemsContext()\"></ng-container>\n @if (isModelEmpty()) {\n {{ placeholderLabel() }}\n }\n }\n </div>\n </div>\n @if (isVisibleClearIcon()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [attr.aria-hidden]=\"true\" />\n } @else {\n <span [pBind]=\"ptm('clearIcon')\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate()\"></ng-template>\n </span>\n }\n }\n <div [pBind]=\"ptm('dropdown')\" [class]=\"cx('dropdown')\">\n @if (loading()) {\n @if (loadingIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate()\"></ng-container>\n } @else {\n @if (loadingIcon()) {\n <span [pBind]=\"ptm('loadingIcon')\" [class]=\"cn(cx('loadingIcon'), 'pi-spin ' + loadingIcon())\" [attr.aria-hidden]=\"true\"></span>\n } @else {\n <span [pBind]=\"ptm('loadingIcon')\" [class]=\"cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')\" [attr.aria-hidden]=\"true\"></span>\n }\n }\n } @else {\n @if (!dropdownIconTemplate()) {\n @if (dropdownIcon()) {\n <span [pBind]=\"ptm('dropdownIcon')\" [class]=\"cn(cx('dropdownIcon'), dropdownIcon())\" [attr.aria-hidden]=\"true\" [attr.data-p]=\"dropdownIconDataP()\"></span>\n } @else {\n <svg data-p-icon=\"chevron-down\" [pBind]=\"ptm('dropdownIcon')\" [class]=\"cx('dropdownIcon')\" [attr.aria-hidden]=\"true\" [attr.data-p]=\"dropdownIconDataP()\" />\n }\n } @else {\n <span [pBind]=\"ptm('dropdownIcon')\" [class]=\"cx('dropdownIcon')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate(); context: dropdownIconContext()\"></ng-template>\n </span>\n }\n }\n </div>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [visible]=\"overlayVisible()\"\n (visibleChange)=\"overlayVisible.set($event)\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter($event)\"\n (onAfterLeave)=\"onOverlayAfterLeave($event)\"\n (onHide)=\"onOverlayHide($event)\"\n >\n <ng-template #content>\n <div [pBind]=\"ptm('overlay')\" [attr.data-p]=\"overlayDataP()\" [attr.id]=\"listId()\" [class]=\"cn(cx('overlay'), panelStyleClass())\" [style]=\"panelStyle()\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('firstHiddenFocusableEl')\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n @if (showHeader()) {\n <div [pBind]=\"ptm('header')\" [class]=\"cx('header')\">\n <ng-content select=\"p-header\"></ng-content>\n @if (filterTemplate()) {\n <ng-container *ngTemplateOutlet=\"filterTemplate(); context: filterContext()\"></ng-container>\n } @else {\n @if (showToggleAllCheckbox()) {\n <p-checkbox\n [pt]=\"getHeaderCheckboxPTOptions('pcHeaderCheckbox')\"\n [ngModel]=\"allSelected()\"\n [ariaLabel]=\"toggleAllAriaLabel()\"\n [binary]=\"true\"\n (onChange)=\"onToggleAll($event)\"\n [variant]=\"$variant()\"\n [disabled]=\"$disabled()\"\n [unstyled]=\"unstyled()\"\n #headerCheckbox\n >\n <ng-template #icon let-klass=\"class\">\n @if (showDefaultHeaderCheckIcon()) {\n <svg data-p-icon=\"check\" [class]=\"klass\" [pBind]=\"getHeaderCheckboxPTOptions('pcHeaderCheckbox.icon')\" />\n }\n <ng-template *ngTemplateOutlet=\"headerCheckboxIconTemplate(); context: getHeaderCheckboxIconContext(klass)\"></ng-template>\n </ng-template>\n </p-checkbox>\n }\n\n @if (filter()) {\n <p-iconfield [pt]=\"ptm('pcFilterContainer')\" [class]=\"cx('pcFilterContainer')\" [unstyled]=\"unstyled()\">\n <input\n #filterInput\n pInputText\n [pt]=\"ptm('pcFilter')\"\n [variant]=\"$variant()\"\n type=\"text\"\n [attr.autocomplete]=\"autocomplete()\"\n role=\"searchbox\"\n [attr.aria-owns]=\"listId()\"\n [attr.aria-activedescendant]=\"$focusedOptionId()\"\n [value]=\"filterInputValue()\"\n (input)=\"onFilterInputChange($event)\"\n (keydown)=\"onFilterKeyDown($event)\"\n (click)=\"onInputClick($event)\"\n (blur)=\"onFilterBlur($event)\"\n [class]=\"cx('pcFilter')\"\n [attr.disabled]=\"disabledAttr()\"\n [attr.placeholder]=\"filterPlaceHolder()\"\n [attr.aria-label]=\"ariaFilterLabel()\"\n [unstyled]=\"unstyled()\"\n />\n <p-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate()) {\n <svg data-p-icon=\"search\" [pBind]=\"ptm('filterIcon')\" />\n } @else {\n <span [pBind]=\"ptm('filterIcon')\" class=\"p-multiselect-filter-icon\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate()\"></ng-template>\n </span>\n }\n </p-inputicon>\n </p-iconfield>\n }\n }\n </div>\n }\n <div [pBind]=\"ptm('listContainer')\" [class]=\"cx('listContainer')\" [style.max-height]=\"listContainerMaxHeight()\">\n @if (virtualScroll()) {\n <p-scroller\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()!\"\n [autoSize]=\"true\"\n [tabindex]=\"-1\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: getScrollerItemsContext(items, scrollerOptions)\"></ng-container>\n </ng-template>\n @if (loaderTemplate()) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate(); context: getLoaderContext(scrollerOptions)\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n } @else {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: defaultItemsContext()\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [pBind]=\"ptm('list')\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" aria-multiselectable=\"true\" [attr.aria-label]=\"listLabel()\">\n @for (option of items; track getOptionTrackKey(option, $index); let i = $index) {\n @if (isOptionGroup(option)) {\n <li [pBind]=\"ptm('optionGroup')\" [attr.id]=\"$id() + '_' + getOptionIndex(i, scrollerOptions)\" [class]=\"cx('optionGroup')\" [style.height.px]=\"scrollerOptions.itemSize\" role=\"option\">\n @if (!groupTemplate() && option.optionGroup) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n @if (option.optionGroup && groupTemplate()) {\n <ng-container [ngTemplateOutlet]=\"groupTemplate()\" [ngTemplateOutletContext]=\"getGroupContext(option)\"></ng-container>\n }\n </li>\n } @else {\n <li\n pMultiSelectItem\n pRipple\n [pBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n [id]=\"$id() + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate()\"\n [itemCheckboxIconTemplate]=\"itemCheckboxIconTemplate()\"\n [itemSize]=\"scrollerOptions.itemSize\"\n [focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"$ariaSetSize()\"\n [variant]=\"$variant()\"\n [highlightOnSelect]=\"highlightOnSelect()\"\n (onClick)=\"onOptionSelect($event, false, getOptionIndex(i, scrollerOptions))\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n [pt]=\"pt\"\n [unstyled]=\"unstyled()\"\n ></li>\n }\n }\n\n @if (showEmptyFilterMessage()) {\n <li [pBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\" [style.height.px]=\"scrollerOptions.itemSize\" role=\"option\">\n @if (!emptyFilterTemplate() && !emptyTemplate()) {\n {{ emptyFilterMessageLabel() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyFilterTemplate() || emptyTemplate()\"></ng-container>\n }\n </li>\n }\n @if (showEmptyMessage()) {\n <li [pBind]=\"ptm('emptyMessage')\" [class]=\"cx('emptyMessage')\" [style.height.px]=\"scrollerOptions.itemSize\" role=\"option\">\n @if (!emptyTemplate()) {\n {{ emptyMessageLabel() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate()\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n </div>\n @if (hasFooterContent()) {\n <div>\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n }\n\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('lastHiddenFocusableEl')\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n providers: [MULTISELECT_VALUE_ACCESSOR, MultiSelectStyle, { provide: MULTISELECT_INSTANCE, useExisting: MultiSelect }, { provide: PARENT_INSTANCE, useExisting: MultiSelect }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': '$id()',\n '[attr.data-p]': 'containerDataP',\n '(click)': 'onContainerClick($event)',\n '[class]': \"cx('root')\",\n '[style]': \"sx('root')\"\n }\n})\nexport class MultiSelect extends BaseEditableHolder<MultiSelectPassThrough> {\n componentName = 'MultiSelect';\n\n /**\n * Unique identifier of the component\n * @group Props\n */\n id = input<string>();\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Inline style of the overlay panel.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n inputId = input<string>();\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n readonly = input(undefined, { transform: booleanAttribute });\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n group = input(undefined, { transform: booleanAttribute });\n /**\n * When specified, displays an input field to filter the items on keyup.\n * @group Props\n */\n filter = input(true, { transform: booleanAttribute });\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n filterPlaceHolder = input<string>();\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string>();\n /**\n * Specifies the visibility of the options panel.\n * @group Props\n */\n overlayVisible = model<boolean>(false);\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n dataKey = input<string>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Whether to show labels of selected item labels or use default label.\n * @group Props\n * @defaultValue true\n */\n displaySelectedLabel = input(true, { transform: booleanAttribute });\n /**\n * Decides how many selected item labels to show at most.\n * @group Props\n * @defaultValue 3\n */\n maxSelectedLabels = input<number | null>(3);\n /**\n * Maximum number of selectable items.\n * @group Props\n */\n selectionLimit = input(undefined, { transform: numberAttribute });\n /**\n * Label to display after exceeding max selected labels e.g. ({0} items selected), defaults \"ellipsis\" keyword to indicate a text-overflow.\n * @group Props\n */\n selectedItemsLabel = input<string>();\n /**\n * Whether to show the checkbox at header to toggle all items at once.\n * @group Props\n */\n showToggleAll = input(true, { transform: booleanAttribute });\n /**\n * Text to display when filtering does not return any results.\n * @group Props\n */\n emptyFilterMessage = input<string>('');\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n emptyMessage = input<string>('');\n /**\n * Clears the filter value when hiding the dropdown.\n * @group Props\n */\n resetFilterOnHide = input(false, { transform: booleanAttribute });\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n dropdownIcon = input<string>();\n /**\n * Icon class of the chip icon.\n * @group Props\n */\n chipIcon = input<string>();\n /**\n * Name of the label field of an option.\n * @group Props\n */\n optionLabel = input<string>();\n /**\n * Name of the value field of an option.\n * @group Props\n */\n optionValue = input<string>();\n /**\n * Name of the disabled field of an option or function to determine disabled state.\n * @group Props\n */\n optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n optionGroupLabel = input<string>('label');\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n optionGroupChildren = input<string>('items');\n /**\n * Whether to show the header.\n * @group Props\n */\n showHeader = input(true, { transform: booleanAttribute });\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n filterBy = input<string>();\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = input<string>('200px');\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(undefined, { transform: booleanAttribute });\n /**\n * Whether the multiselect is in loading state.\n * @group Props\n */\n loading = input(false, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input(undefined, { transform: numberAttribute });\n /**\n * Icon to display in loading state.\n * @group Props\n */\n loadingIcon = input<string>();\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions>();\n /**\n * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n ariaFilterLabel = input<string>();\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n filterMatchMode = input<FilterMatchModeType>('contains');\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n tooltip = input<string>('');\n /**\n * Position of the tooltip.\n * @group Props\n */\n tooltipPosition = input<TooltipPosition>('right');\n /**\n * Type of CSS position.\n * @group Props\n */\n tooltipPositionStyle = input<string>('absolute');\n /**\n * Style class of the tooltip.\n * @group Props\n */\n tooltipStyleClass = input<string>();\n /**\n * Applies focus to the filter element when the overlay is shown.\n * @group Props\n */\n autofocusFilter = input(false, { transform: booleanAttribute });\n /**\n * Defines how the selected items are displayed.\n * @group Props\n */\n display = input<MultiSelectDisplay>('comma');\n /**\n * Defines the autocomplete is active.\n * @group Props\n */\n autocomplete = input<string>('off');\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(false, { transform: booleanAttribute });\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(undefined, { transform: booleanAttribute });\n /**\n * Label to display when there are no selections.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * An array of objects to display as the available options.\n * @group Props\n */\n options = input<any[]>();\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n filterValue = input<string | null>();\n /**\n * Whether all data is selected.\n * @group Props\n */\n selectAll = input<boolean | null>();\n /**\n * Indicates whether to focus on options when hovering over them, defaults to optionLabel.\n * @group Props\n */\n focusOnHover = input(true, { transform: booleanAttribute });\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n filterFields = input<string[]>();\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n selectOnFocus = input(false, { transform: booleanAttribute });\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n autoOptionFocus = input(false, { transform: booleanAttribute });\n /**\n * Whether the selected option will be add highlight class.\n * @group Props\n */\n highlightOnSelect = input(true, { transform: booleanAttribute });\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<'filled' | 'outlined' | undefined>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n /**\n * Callback to invoke when value changes.\n * @param {MultiSelectChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = output<MultiSelectChangeEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {MultiSelectFilterEvent} event - Custom filter event.\n * @group Emits\n */\n onFilter = output<MultiSelectFilterEvent>();\n /**\n * Callback to invoke when multiselect receives focus.\n * @param {MultiSelectFocusEvent} event - Custom focus event.\n * @group Emits\n */\n onFocus = output<MultiSelectFocusEvent>();\n /**\n * Callback to invoke when multiselect loses focus.\n * @param {MultiSelectBlurEvent} event - Custom blur event.\n * @group Emits\n */\n onBlur = output<MultiSelectBlurEvent>();\n /**\n * Callback to invoke when component is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onClick = output<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n onClear = output<void>();\n /**\n * Callback to invoke when overlay panel becomes visible.\n * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime.\n * @group Emits\n */\n onPanelShow = output<MotionEvent & AnimationEvent>();\n /**\n * Callback to invoke when overlay panel becomes hidden.\n * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime.\n * @group Emits\n */\n onPanelHide = output<MotionEvent & AnimationEvent>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {MultiSelectLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n onLazyLoad = output<MultiSelectLazyLoadEvent>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {MultiSelectRemoveEvent} event - Remove event.\n * @group Emits\n */\n onRemove = output<MultiSelectRemoveEvent>();\n /**\n * Callback to invoke when all data is selected.\n * @param {MultiSelectSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n onSelectAllChange = output<MultiSelectSelectAllChangeEvent>();\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n filterInputChild = viewChild<ElementRef>('filterInput');\n\n focusInputViewChild = viewChild<ElementRef>('focusInput');\n\n itemsViewChild = viewChild<ElementRef>('items');\n\n scroller = viewChild<Scroller>('scroller');\n\n lastHiddenFocusableElementOnOverlay = viewChild<ElementRef>('lastHiddenFocusableEl');\n\n firstHiddenFocusableElementOnOverlay = viewChild<ElementRef>('firstHiddenFocusableEl');\n\n headerCheckboxViewChild = viewChild<Checkbox>('headerCheckbox');\n\n footerFacet = contentChild(Footer, { descendants: false });\n\n headerFacet = contentChild(Header, { descendants: false });\n\n _componentStyle = inject(MultiSelectStyle);\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n searchValue: Nullable<string>;\n\n searchTimeout: ReturnType<typeof setTimeout> | null = null;\n\n _disableTooltip = false;\n\n value: any[];\n\n public _filteredOptions: any[] | undefined | null;\n\n public focus: boolean | undefined;\n\n public filtered: boolean | undefined;\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<MultiSelectItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom group template.\n * @group Templates\n */\n groupTemplate = contentChild<TemplateRef<MultiSelectGroupTemplateContext>>('group', { descendants: false });\n\n /**\n * Custom loader template.\n * @group Templates\n */\n loaderTemplate = contentChild<TemplateRef<MultiSelectLoaderTemplateContext>>('loader', { descendants: false });\n\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n /**\n * Custom filter template.\n * @group Templates\n */\n filterTemplate = contentChild<TemplateRef<MultiSelectFilterTemplateContext>>('filter', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom empty filter template.\n * @group Templates\n */\n emptyFilterTemplate = contentChild<TemplateRef<void>>('emptyfilter', { descendants: false });\n\n /**\n * Custom empty template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom selected items template.\n * @group Templates\n */\n selectedItemsTemplate = contentChild<TemplateRef<MultiSelectSelectedItemsTemplateContext>>('selecteditems', { descendants: false });\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n filterIconTemplate = contentChild<TemplateRef<void>>('filtericon', { descendants: false });\n\n /**\n * Custom remove token icon template.\n * @group Templates\n */\n removeTokenIconTemplate = contentChild<TemplateRef<MultiSelectChipIconTemplateContext>>('removetokenicon', { descendants: false });\n\n /**\n * Custom chip icon template.\n * @group Templates\n */\n chipIconTemplate = contentChild<TemplateRef<MultiSelectChipIconTemplateContext>>('chipicon', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<void>>('clearicon', { descendants: false });\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n dropdownIconTemplate = contentChild<TemplateRef<MultiSelectDropdownIconTemplateContext>>('dropdownicon', { descendants: false });\n\n /**\n * Custom item checkbox icon template.\n * @group Templates\n */\n itemCheckboxIconTemplate = contentChild<TemplateRef<MultiSelectItemCheckboxIconTemplateContext>>('itemcheckboxicon', { descendants: false });\n\n /**\n * Custom header checkbox icon template.\n * @group Templates\n */\n headerCheckboxIconTemplate = contentChild<TemplateRef<MultiSelectHeaderCheckboxIconTemplateContext>>('headercheckboxicon', { descendants: false });\n\n $variant = computed(() => this.variant() || this.config.inputVariant() || undefined);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n internalId = uuid('pn_id_');\n\n $id = computed(() => this.id() || this.internalId);\n\n $pcMultiSelect: MultiSelect | undefined = inject(MULTISELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n private translation = toSignal(this.config.translationObserver, { initialValue: this.config.translation });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n public headerCheckboxFocus: boolean | undefined;\n\n filterOptions: MultiSelectFilterOptions | undefined;\n\n preventModelTouched: boolean | undefined;\n\n focused: boolean = false;\n\n itemsWrapper: HTMLElement | null = null;\n\n modelValue = signal<any>(null);\n\n _filterValue = signal<string | null>(null);\n\n _options = signal<any[]>([]);\n\n startRangeIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n selectedOptions = signal<any>(null);\n\n clickInProgress: boolean = false;\n\n emptyMessageLabel = computed(() => {\n const t = this.translation();\n\n return this.emptyMessage() || t?.emptyMessage || '';\n });\n\n emptyFilterMessageLabel = computed(() => {\n const t = this.translation();\n\n return this.emptyFilterMessage() || t?.emptyFilterMessage || '';\n });\n\n isVisibleClearIcon = computed(() => this.modelValue() != null && this.modelValue() !== '' && isNotEmpty(this.modelValue()) && this.showClear() && !this.$disabled() && !this.readonly() && this.$filled());\n\n toggleAllAriaLabel = computed(() => {\n const t = this.translation();\n\n return t?.aria ? t.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;\n });\n\n listLabel = computed(() => {\n const t = this.translation();\n\n return t?.aria?.listLabel || '';\n });\n\n placeholderLabel = computed(() => this.placeholder() || 'empty');\n\n labelDisplay = computed(() => this.label() || 'empty');\n\n listId = computed(() => this.$id() + '_list');\n\n private getAllVisibleAndNonVisibleOptions() {\n const group = this.group();\n const options = this.options();\n\n return group ? this.flatOptions(options) : options || [];\n }\n\n visibleOptions = computed(() => {\n const options = this.getAllVisibleAndNonVisibleOptions();\n const isArrayOfObjects = isArray(options) && ObjectUtils.isObject(options[0]);\n const filterVal = this.filterValue() ?? this._filterValue();\n const group = this.group();\n const filterMatchMode = this.filterMatchMode();\n const filterLocale = this.filterLocale();\n const optionGroupChildren = this.optionGroupChildren();\n\n if (filterVal) {\n let filteredOptions;\n\n if (isArrayOfObjects) {\n filteredOptions = this.filterService.filter(options, this.searchFields(), filterVal, filterMatchMode, filterLocale);\n } else {\n filteredOptions = options.filter((option) => option.toString().toLocaleLowerCase().includes(filterVal.toLocaleLowerCase()));\n }\n\n if (group) {\n const optionGroups = this.options() || [];\n const filtered: any[] = [];\n\n optionGroups.forEach((grp) => {\n const groupChildren = this.getOptionGroupChildren(grp);\n const filteredItems = groupChildren.filter((item: any) => filteredOptions.includes(item));\n\n if (filteredItems.length > 0)\n filtered.push({\n ...grp,\n [typeof optionGroupChildren === 'string' ? optionGroupChildren : 'items']: [...filteredItems]\n });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n\n return options;\n });\n\n label = computed(() => {\n let label;\n const modelValue = this.modelValue();\n const displaySelectedLabel = this.displaySelectedLabel();\n const maxSelectedLabels = this.maxSelectedLabels();\n\n if (modelValue && modelValue?.length && displaySelectedLabel) {\n if (isNotEmpty(maxSelectedLabels) && modelValue?.length > (maxSelectedLabels || 0)) {\n return this.getSelectedItemsLabel();\n } else {\n label = '';\n\n for (let i = 0; i < modelValue.length; i++) {\n if (i !== 0) {\n label += ', ';\n }\n\n label += this.getLabelByValue(modelValue[i]);\n }\n }\n } else {\n label = this.placeholder() || '';\n }\n\n return label;\n });\n\n chipSelectedItems = computed(() => {\n const maxSelectedLabels = this.maxSelectedLabels();\n\n return isNotEmpty(maxSelectedLabels) && this.modelValue() && this.modelValue()?.length > (maxSelectedLabels || 0) ? this.modelValue()?.slice(0, maxSelectedLabels) : this.modelValue();\n });\n\n filterService = inject(FilterService);\n\n overlayService = inject(OverlayService);\n\n constructor() {\n super();\n\n // Sync options input to internal signal\n effect(() => {\n const opts = this.options();\n\n if (\n opts !== undefined &&\n !deepEquals(\n untracked(() => this._options()),\n opts\n )\n ) {\n this._options.set(opts || []);\n }\n });\n\n // Sync filterValue input to internal signal\n effect(() => {\n const fv = this.filterValue();\n\n if (fv !== undefined) {\n this._filterValue.set(fv);\n }\n });\n\n effect(() => {\n const modelValue = this.modelValue();\n const optionValue = this.optionValue();\n const optionLabel = this.optionLabel();\n\n const allVisibleAndNonVisibleOptions = this.getAllVisibleAndNonVisibleOptions();\n\n if (allVisibleAndNonVisibleOptions && isNotEmpty(allVisibleAndNonVisibleOptions)) {\n if (optionValue && optionLabel && modelValue) {\n this.selectedOptions.set(allVisibleAndNonVisibleOptions.filter((option) => modelValue.includes(option[optionLabel]) || modelValue.includes(option[optionValue])));\n } else {\n this.selectedOptions.set(modelValue);\n }\n }\n });\n }\n\n $ariaSetSize = computed(() => this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length);\n\n $virtualScrollerDisabled = computed(() => !this.virtualScroll());\n\n $focusedOptionId = computed(() => (this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null));\n\n labelDataP = computed(() => {\n const maxSelectedLabels = this.maxSelectedLabels();\n const modelValue = this.modelValue();\n\n return this.cn({\n placeholder: this.label() === this.placeholder(),\n clearable: this.showClear(),\n disabled: this.$disabled(),\n [this.size() as string]: this.size(),\n 'has-chip': this.display() === 'chip' && modelValue && modelValue.length && (maxSelectedLabels ? modelValue.length <= maxSelectedLabels : true),\n empty: !this.placeholder() && !this.$filled()\n });\n });\n\n dropdownIconDataP = computed(() =>\n this.cn({\n [this.size() as string]: this.size()\n })\n );\n\n overlayDataP = computed(() =>\n this.cn({\n ['overlay-' + this.appendTo()]: 'overlay-' + this.appendTo()\n })\n );\n\n ariaExpanded = computed(() => this.overlayVisible() ?? false);\n\n ariaControls = computed(() => (this.overlayVisible() ? this.listId() : null));\n\n inputTabindex = computed(() => (!this.$disabled() ? this.tabindex() : -1));\n\n requiredAttr = computed(() => (this.required() ? '' : undefined));\n\n disabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n get ariaActivedescendant() {\n return this.focused ? this.$focusedOptionId() : undefined;\n }\n\n isCommaDisplay = computed(() => this.display() === 'comma');\n\n isChipDisplay = computed(() => this.display() === 'chip');\n\n showSelectedItemsLabel = computed(() => {\n const items = this.chipSelectedItems();\n\n return items && items.length === this.maxSelectedLabels();\n });\n\n hasChipRemoveIconTemplate = computed(() => !!(this.chipIconTemplate() || this.removeTokenIconTemplate()));\n\n isEditable = computed(() => !this.$disabled() && !this.readonly());\n\n isModelEmpty = computed(() => {\n const value = this.modelValue();\n\n return !value || value.length === 0;\n });\n\n showToggleAllCheckbox = computed(() => this.showToggleAll() && !this.selectionLimit());\n\n showDefaultHeaderCheckIcon = computed(() => !this.headerCheckboxIconTemplate() && this.allSelected());\n\n showEmptyFilterMessage = computed(() => this.hasFilter() && this.isEmpty());\n\n showEmptyMessage = computed(() => !this.hasFilter() && this.isEmpty());\n\n hasFooterContent = computed(() => !!(this.footerFacet() || this.footerTemplate()));\n\n readonly chipIconContext = { class: 'p-multiselect-chip-icon' };\n\n selectedItemsContext = computed(() => ({\n $implicit: this.selectedOptions(),\n removeChip: this.removeOption.bind(this)\n }));\n\n dropdownIconContext = computed(() => ({ dataP: this.dropdownIconDataP() }));\n\n filterContext = computed(() => ({ options: this.filterOptions }));\n\n defaultItemsContext = computed(() => ({ $implicit: this.visibleOptions(), options: {} }));\n\n filterInputValue = computed(() => this._filterValue() || '');\n\n listContainerMaxHeight = computed(() => (this.virtualScroll() ? 'auto' : this.scrollHeight() || 'auto'));\n\n onInit() {\n this.autoUpdateModel();\n\n if (this.filterBy()) {\n this.filterOptions = {\n filter: (value) => this.onFilterInputChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n\n maxSelectionLimitReached() {\n const selectionLimit = this.selectionLimit();\n\n return selectionLimit && this.modelValue() && this.modelValue().length === selectionLimit;\n }\n\n onAfterViewInit() {\n if (this.overlayVisible()) {\n this.show();\n }\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n\n if (this.filtered) {\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n }, 1);\n this.filtered = false;\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n if (optionGroupChildren) {\n optionGroupChildren.forEach((o) => result.push(o));\n }\n\n return result;\n }, []);\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {\n this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());\n const value = this.getOptionValue(this.visibleOptions()[this.focusedOptionIndex()]);\n\n this.onOptionSelect({ originalEvent: null, option: [value] });\n }\n }\n\n /**\n * Updates the model value.\n * @group Method\n */\n public updateModel(value, _event?) {\n this.value = value;\n this.onModelChange(value);\n this.writeValue(value);\n }\n\n onInputClick(event) {\n event.stopPropagation();\n event.preventDefault();\n this.focusedOptionIndex.set(-1);\n }\n\n onOptionSelect(event, isFocus = false, index = -1) {\n const { originalEvent, option } = event;\n\n if (this.$disabled() || this.isOptionDisabled(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n let value: any[] = [];\n\n if (selected) {\n value = this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey() || ''));\n } else {\n value = [...(this.modelValue() || []), this.getOptionValue(option)];\n }\n\n this.updateModel(value, originalEvent);\n\n if (index !== -1) {\n this.focusedOptionIndex.set(index);\n }\n\n if (isFocus) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n\n this.onChange.emit({\n originalEvent: event,\n value: value,\n itemValue: option\n });\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n onOptionSelectRange(event, start = -1, end = -1) {\n if (start === -1) {\n start = this.findNearestSelectedOptionIndex(end, true);\n }\n\n if (end === -1) {\n end = this.findNearestSelectedOptionIndex(start);\n }\n\n if (start !== -1 && end !== -1) {\n const rangeStart = Math.min(start, end);\n const rangeEnd = Math.max(start, end);\n const value = this.visibleOptions()\n .slice(rangeStart, rangeEnd + 1)\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n }\n }\n\n searchFields() {\n return (this.filterBy() || this.optionLabel() || 'label').split(',');\n }\n\n findNearestSelectedOptionIndex(index, firstCheckUp = false) {\n let matchedOptionIndex = -1;\n\n if (this.hasSelectedOption()) {\n if (firstCheckUp) {\n matchedOptionIndex = this.findPrevSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findNextSelectedOptionIndex(index) : matchedOptionIndex;\n } else {\n matchedOptionIndex = this.findNextSelectedOptionIndex(index);\n matchedOptionIndex = matchedOptionIndex === -1 ? this.findPrevSelectedOptionIndex(index) : matchedOptionIndex;\n }\n }\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findPrevSelectedOptionIndex(index) {\n const matchedOptionIndex = this.hasSelectedOption() && index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidSelectedOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : -1;\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findFirstSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findFirstSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextSelectedOptionIndex(index) {\n const matchedOptionIndex =\n this.hasSelectedOption() && index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidSelectedOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;\n }\n\n equalityKey() {\n return this.optionValue() ? null : this.dataKey();\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isOptionGroup(option) {\n return option && (this.group() || this.optionGroupLabel()) && option.optionGroup && option.group;\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option: any) {\n if (this.maxSelectionLimitReached() && !this.isSelected(option)) {\n return true;\n }\n\n const optionDisabled = this.optionDisabled();\n\n return optionDisabled ? resolveFieldData(option, optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;\n }\n\n isSelected(option) {\n const optionValue = this.getOptionValue(option);\n\n return (this.modelValue() || []).some((value) => equals(value, optionValue, this.equalityKey() || ''));\n }\n\n isOptionMatched(option) {\n const filterLocale = this.filterLocale();\n\n return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(filterLocale).startsWith(this.searchValue?.toLocaleLowerCase(filterLocale));\n }\n\n isEmpty() {\n return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.$virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionTrackKey(option: any, index: number): string {\n const key = this.isOptionGroup(option) ? this.getOptionGroupLabel(option.optionGroup) : this.getOptionValue(option);\n\n return `${key ?? ''}_${index}`;\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel()\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n getLabelByValue(value) {\n const group = this.group();\n const opts = this.options();\n const options = group ? this.flatOptions(opts) : opts || [];\n const matchedOption = options.find((option) => !this.isOptionGroup(option) && equals(this.getOptionValue(option), value, this.equalityKey() || ''));\n\n return matchedOption ? this.getOptionLabel(matchedOption) : null;\n }\n\n getSelectedItemsLabel() {\n let pattern = /{(.*?)}/;\n const selectedItemsLabel = this.selectedItemsLabel();\n let message = selectedItemsLabel ? selectedItemsLabel : this.translate(TranslationKeys.SELECTION_MESSAGE);\n\n if (pattern.test(message)) {\n return message.replace(message.match(pattern)[0], this.modelValue().length + '');\n }\n\n return message;\n }\n\n getOptionLabel(option: any) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(option, optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n const optionValue = this.optionValue();\n const optionLabel = this.optionLabel();\n\n return optionValue ? resolveFieldData(option, optionValue) : !optionLabel && option && option.value !== undefined ? option.value : option;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n const optionGroupLabel = this.optionGroupLabel();\n\n return optionGroupLabel ? resolveFieldData(optionGroup, optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n const optionGroupChildren = this.optionGroupChildren();\n\n return optionGroup ? (optionGroupChildren ? resolveFieldData(optionGroup, optionGroupChildren) : optionGroup.items) : [];\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n if (event.code === 'KeyA' && metaKey) {\n const value = this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n\n event.preventDefault();\n break;\n }\n\n if (!metaKey && isPrintableCharacter(event.key)) {\n if (!this.overlayVisible()) {\n this.show();\n }\n\n this.searchOptions(event, event.key);\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onFilterKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event, true);\n break;\n\n default:\n break;\n }\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n this.focusedOptionIndex.set(-1);\n }\n }\n\n onArrowDownKey(event) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n if (event.shiftKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n if (!this.overlayVisible()) {\n this.show();\n }\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event, pressedInInputText = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n if (this.overlayVisible()) {\n this.hide();\n }\n\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n if (event.shiftKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n if (!this.overlayVisible()) {\n this.show();\n }\n\n event.preventDefault();\n }\n\n event.stopPropagation();\n }\n\n onHomeKey(event, pressedInInputText = false) {\n const { currentTarget } = event;\n\n if (pressedInInputText) {\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findFirstOptionIndex();\n\n if (event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n\n event.preventDefault();\n }\n\n onEndKey(event, pressedInInputText = false) {\n const { currentTarget } = event;\n\n if (pressedInInputText) {\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findLastFocusedOptionIndex();\n\n if (event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.overlayVisible()) {\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n if (event.shiftKey) {\n this.onOptionSelectRange(event, this.focusedOptionIndex());\n } else {\n this.onOptionSelect({ originalEvent: event, option: this.visibleOptions()[this.focusedOptionIndex()] });\n }\n }\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event: KeyboardEvent) {\n if (this.overlayVisible()) {\n this.hide(true);\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible() && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);\n\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n\n if (!this.isSelected(option)) {\n this.onOptionSelect({ originalEvent: event, option });\n }\n }\n\n if (this.overlayVisible()) {\n this.hide(this.filter());\n }\n }\n }\n }\n\n onShiftKey() {\n this.startRangeIndex.set(this.focusedOptionIndex());\n }\n\n onContainerClick(event: MouseEvent) {\n if (this.$disabled() || this.loading() || this.readonly() || (event.target as Node | null)?.isSameNode?.(this.focusInputViewChild()?.nativeElement)) {\n return;\n }\n\n const overlayViewChild = this.overlayViewChild();\n\n if (!overlayViewChild || !overlayViewChild.el.nativeElement.contains(event.target)) {\n if (this.clickInProgress) {\n return;\n }\n\n this.clickInProgress = true;\n\n setTimeout(() => {\n this.clickInProgress = false;\n }, 150);\n\n if (this.overlayVisible()) {\n this.hide(true);\n } else {\n this.show(true);\n }\n }\n\n this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });\n this.onClick.emit(event);\n this.cd.detectChanges();\n }\n\n onFirstHiddenFocus(event) {\n const focusInputViewChild = this.focusInputViewChild();\n const overlayViewChild = this.overlayViewChild();\n const focusableEl = event.relatedTarget === focusInputViewChild?.nativeElement ? getFirstFocusableElement(overlayViewChild?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : focusInputViewChild?.nativeElement;\n\n focus(focusableEl);\n }\n\n onInputFocus(event: Event) {\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (this.overlayVisible()) {\n this.scrollInView(this.focusedOptionIndex());\n }\n\n this.onFocus.emit({ originalEvent: event });\n }\n\n onInputBlur(event: Event) {\n this.focused = false;\n this.onBlur.emit({ originalEvent: event });\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n\n this.preventModelTouched = false;\n }\n\n onFilterInputChange(event: Event) {\n let value: string = (event.target as HTMLInputElement).value;\n\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n\n if (!this.$virtualScrollerDisabled()) {\n this.scroller()?.scrollToIndex(0);\n }\n\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n onLastHiddenFocus(event) {\n const focusInputViewChild = this.focusInputViewChild();\n const overlayViewChild = this.overlayViewChild();\n const focusableEl = event.relatedTarget === focusInputViewChild?.nativeElement ? getLastFocusableElement(overlayViewChild?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : focusInputViewChild?.nativeElement;\n\n focus(focusableEl);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onFilterBlur(event) {\n this.focusedOptionIndex.set(-1);\n }\n\n onToggleAll(event) {\n if (this.$disabled() || this.readonly()) {\n return;\n }\n\n const selectAll = this.selectAll();\n\n if (selectAll != null) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !this.allSelected()\n });\n } else {\n // pre-selected disabled options should always be selected.\n const optionDisabled = this.optionDisabled();\n const selectedDisabledOptions = this.getAllVisibleAndNonVisibleOptions().filter(\n (option) => this.isSelected(option) && (optionDisabled ? resolveFieldData(option, optionDisabled) : option && option.disabled !== undefined ? option.disabled : false)\n );\n\n const visibleOptions = this.allSelected()\n ? this.visibleOptions().filter((option) => !this.isValidOption(option) && this.isSelected(option))\n : this.visibleOptions().filter((option) => this.isSelected(option) || this.isValidOption(option));\n\n const selectedOptionsBeforeSearch = this.filter() && !this.allSelected() ? this.getAllVisibleAndNonVisibleOptions().filter((option) => this.isSelected(option) && this.isValidOption(option)) : [];\n\n const optionValues = [...selectedOptionsBeforeSearch, ...selectedDisabledOptions, ...visibleOptions].map((option) => this.getOptionValue(option));\n const value = [...new Set(optionValues)];\n\n this.updateModel(value, event);\n\n // because onToggleAll could have been called during filtering, this additional test needs to be performed before calling onSelectAllChange.emit\n if (!value.length || value.length === this.getAllVisibleAndNonVisibleOptions().length) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !!value.length\n });\n }\n }\n\n if (this.partialSelected()) {\n this.selectedOptions.set([]);\n }\n\n this.onChange.emit({ originalEvent: event, value: this.value });\n DomHandler.focus(this.headerCheckboxViewChild()?.inputViewChild()?.nativeElement);\n this.headerCheckboxFocus = true;\n\n event.originalEvent.preventDefault();\n event.originalEvent.stopPropagation();\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.$id()}_${index}` : this.$focusedOptionId();\n const itemsViewChild = this.itemsViewChild();\n\n if (itemsViewChild && itemsViewChild.nativeElement) {\n const element = findSingle(itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n if (element.scrollIntoView) {\n element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n } else if (!this.$virtualScrollerDisabled()) {\n setTimeout(() => {\n if (this.virtualScroll()) {\n this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }\n }, 0);\n }\n }\n }\n\n allSelected() {\n const selectAll = this.selectAll();\n\n return selectAll !== null ? selectAll : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));\n }\n\n partialSelected() {\n const opts = this.options();\n const selected = this.selectedOptions();\n\n return selected && selected.length > 0 && selected.length < (opts?.length || 0);\n }\n\n /**\n * Displays the panel.\n * @group Method\n */\n public show(isFocus?) {\n this.overlayVisible.set(true);\n\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex();\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (isFocus) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n }\n\n /**\n * Hides the panel.\n * @group Method\n */\n public hide(isFocus?) {\n this.overlayVisible.set(false);\n this.focusedOptionIndex.set(-1);\n\n if (this.filter() && this.resetFilterOnHide()) {\n this.resetFilter();\n }\n\n if (this.overlayOptions()?.mode === 'modal') {\n unblockBodyScroll();\n }\n\n if (isFocus) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n }\n\n onOverlayBeforeEnter(event: MotionEvent) {\n const overlayViewChild = this.overlayViewChild();\n const scroller = this.scroller();\n const itemsViewChild = this.itemsViewChild();\n const virtualScroll = this.virtualScroll();\n const opts = this.options();\n\n this.itemsWrapper = findSingle(overlayViewChild?.overlayViewChild()?.nativeElement, virtualScroll ? '[data-pc-name=\"virtualscroller\"]' : '[data-pc-section=\"listcontainer\"]') as HTMLElement | null;\n\n if (virtualScroll) {\n scroller?.setContentEl(itemsViewChild?.nativeElement);\n }\n\n if (opts && opts.length) {\n if (virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n scroller?.scrollToIndex(selectedIndex);\n }\n } else if (this.itemsWrapper) {\n let selectedListItem = findSingle(this.itemsWrapper, '[data-pc-section=\"option\"][data-p-selected=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n\n const filterInputChild = this.filterInputChild();\n\n if (filterInputChild && filterInputChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter()) {\n filterInputChild.nativeElement.focus();\n }\n }\n\n this.onPanelShow.emit(event as MotionEvent & AnimationEvent);\n }\n\n onOverlayAfterLeave(event: MotionEvent) {\n this.itemsWrapper = null;\n this.onModelTouched();\n this.onPanelHide.emit(event as MotionEvent & AnimationEvent);\n }\n\n resetFilter() {\n const filterInputChild = this.filterInputChild();\n\n if (filterInputChild && filterInputChild.nativeElement) {\n filterInputChild.nativeElement.value = '';\n }\n\n this._filterValue.set(null);\n this._filteredOptions = null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onOverlayHide(event: OverlayOnHideEvent) {\n this.hide();\n }\n\n close(event: Event) {\n this.hide();\n event.preventDefault();\n event.stopPropagation();\n }\n\n clear(event: Event) {\n this.value = [];\n this.updateModel(null, event);\n this.selectedOptions.set([]);\n this.onClear.emit();\n this._disableTooltip = true;\n\n event.stopPropagation();\n }\n\n labelContainerMouseLeave() {\n if (this._disableTooltip) this._disableTooltip = false;\n }\n\n removeOption(optionValue, event) {\n let value = this.modelValue().filter((val) => !equals(val, optionValue, this.equalityKey() || ''));\n\n this.updateModel(value, event);\n this.onChange.emit({\n originalEvent: event,\n value: value,\n itemValue: optionValue\n });\n this.onRemove.emit({\n newValue: value,\n removed: optionValue\n });\n\n if (event) {\n event.stopPropagation();\n }\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findLastSelectedOptionIndex() {\n return this.hasSelectedOption() ? findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findLastSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (this.focusedOptionIndex() !== -1) {\n optionIndex = this.visibleOptions()\n .slice(this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, this.focusedOptionIndex())\n .findIndex((option) => this.isOptionMatched(option))\n : optionIndex + this.focusedOptionIndex();\n } else {\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n hasFilter() {\n const filterVal = this._filterValue();\n\n return filterVal && filterVal.trim().length > 0;\n }\n\n get containerDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled(),\n focus: this.focused,\n fluid: this.hasFluid,\n filled: this.$variant() === 'filled',\n [this.size() as string]: this.size()\n });\n }\n\n getHeaderCheckboxIconContext(klass: string) {\n return { checked: this.allSelected(), partialSelected: this.partialSelected(), class: klass };\n }\n\n getScrollerItemsContext(items: any[], scrollerOptions: any) {\n return { $implicit: items, options: scrollerOptions };\n }\n\n getLoaderContext(scrollerOptions: any) {\n return { options: scrollerOptions };\n }\n\n getGroupContext(option: any) {\n return { $implicit: option.optionGroup };\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n this.value = value;\n setModelValue(value);\n }\n\n getHeaderCheckboxPTOptions(key: string) {\n return this.ptm(key, {\n context: {\n selected: this.allSelected()\n }\n });\n }\n\n getPTOptions(option, itemOptions, index, key) {\n return this.ptm(key, {\n context: {\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n }\n}\n\n@NgModule({\n imports: [MultiSelect, SharedModule],\n exports: [MultiSelect, SharedModule]\n})\nexport class MultiSelectModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-orderlist.mjs","names":["AngleDoubleDownIcon","AngleDoubleUpIcon","AngleUpIcon","AngleDownIcon"],"sources":["../../src/orderlist/style/orderliststyle.ts","../../src/orderlist/orderlist.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/orderlist';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${style}\n\n /* For PrimeNG */\n .p-orderlist-controls-right .p-orderlist-controls {\n order: 2;\n }\n`;\n\nconst classes = {\n root: ({ instance }) => ['p-orderlist p-component', { 'p-orderlist-controls-left': instance.controlsPosition() === 'left', 'p-orderlist-controls-right': instance.controlsPosition() === 'right' }],\n controls: 'p-orderlist-controls'\n};\n\n@Injectable()\nexport class OrderListStyle extends BaseStyle {\n name = 'orderlist';\n\n style = theme;\n\n classes = classes;\n}\n\n/**\n *\n * OrderList is used to maneged the order of a collection.\n *\n * [Live Demo](https://primeng.dev/orderlist)\n *\n * @module orderliststyle\n *\n */\n\nexport enum OrderListClasses {\n /**\n * Class name of the root element\n */\n root = 'p-orderlist',\n /**\n * Class name of the controls element\n */\n controls = 'p-orderlist-controls'\n}\n","import { CdkDragDrop, DragDropModule } from '@angular/cdk/drag-drop';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n inject,\n InjectionToken,\n input,\n model,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { findIndexInList, setAttribute, uuid } from '@primeuix/utils';\nimport { FilterMatchModeType, FilterService } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport type { ButtonDirectiveOptions } from 'primeng/types/button';\nimport { AngleDoubleDown as AngleDoubleDownIcon } from '@primeicons/angular/angle-double-down';\nimport { AngleDoubleUp as AngleDoubleUpIcon } from '@primeicons/angular/angle-double-up';\nimport { AngleDown as AngleDownIcon } from '@primeicons/angular/angle-down';\nimport { AngleUp as AngleUpIcon } from '@primeicons/angular/angle-up';\nimport { Listbox, ListboxChangeEvent } from 'primeng/listbox';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport type { OrderListControlsPosition } from 'primeng/types/orderlist';\nimport { OrderListFilterEvent, OrderListFilterOptions, OrderListFilterTemplateContext, OrderListItemTemplateContext, OrderListPassThrough, OrderListSelectionChangeEvent } from 'primeng/types/orderlist';\nimport { OrderListStyle } from './style/orderliststyle';\n\nconst ORDERLIST_INSTANCE = new InjectionToken<OrderList>('ORDERLIST_INSTANCE');\n\n/**\n * OrderList is used to manage the order of a collection.\n * @group Components\n */\n@Component({\n selector: 'p-orderlist, p-order-list',\n standalone: true,\n imports: [NgTemplateOutlet, ButtonDirective, DragDropModule, AngleDoubleDownIcon, AngleDoubleUpIcon, AngleUpIcon, AngleDownIcon, Listbox, FormsModule, Bind],\n template: `\n <div [pBind]=\"ptm('controls')\" [class]=\"cx('controls')\">\n <button [pButton]=\"upButtonProps()\" [disabled]=\"$moveDisabled()\" [attr.aria-label]=\"moveUpAriaLabel()\" (click)=\"moveUp()\" [pButtonPT]=\"ptm('pcMoveUpButton')\" [pButtonUnstyled]=\"unstyled()\" hostName=\"orderlist\">\n @if (!moveUpIconTemplate()) {\n <svg data-p-icon=\"angle-up\" [pBind]=\"ptm('pcMoveUpButton')['icon']\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"moveUpIconTemplate()\" />\n }\n </button>\n <button [pButton]=\"topButtonProps()\" [disabled]=\"$moveDisabled()\" [attr.aria-label]=\"moveTopAriaLabel()\" (click)=\"moveTop()\" [pButtonPT]=\"ptm('pcMoveTopButton')\" [pButtonUnstyled]=\"unstyled()\" hostName=\"orderlist\">\n @if (!moveTopIconTemplate()) {\n <svg data-p-icon=\"angle-double-up\" [pBind]=\"ptm('pcMoveTopButton')['icon']\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"moveTopIconTemplate()\" />\n }\n </button>\n <button [pButton]=\"downButtonProps()\" [disabled]=\"$moveDisabled()\" [attr.aria-label]=\"moveDownAriaLabel()\" (click)=\"moveDown()\" [pButtonPT]=\"ptm('pcMoveDownButton')\" [pButtonUnstyled]=\"unstyled()\" hostName=\"orderlist\">\n @if (!moveDownIconTemplate()) {\n <svg data-p-icon=\"angle-down\" [pBind]=\"ptm('pcMoveDownButton')['icon']\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"moveDownIconTemplate()\" />\n }\n </button>\n <button [pButton]=\"bottomButtonProps()\" [disabled]=\"$moveDisabled()\" [attr.aria-label]=\"moveBottomAriaLabel()\" (click)=\"moveBottom()\" [pButtonPT]=\"ptm('pcMoveBottomButton')\" [pButtonUnstyled]=\"unstyled()\" hostName=\"orderlist\">\n @if (!moveBottomIconTemplate()) {\n <svg data-p-icon=\"angle-double-down\" [pBind]=\"ptm('pcMoveBottomButton')['icon']\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"moveBottomIconTemplate()\" />\n }\n </button>\n </div>\n <p-listbox\n [pt]=\"ptm('pcListbox')\"\n #listelement\n [multiple]=\"true\"\n [options]=\"value()\"\n [(ngModel)]=\"d_selection\"\n [optionLabel]=\"$optionLabel()\"\n [id]=\"id + '_list'\"\n [listStyle]=\"listStyle()\"\n [striped]=\"stripedRows()\"\n [tabindex]=\"tabindex()\"\n (onFocus)=\"onListFocus($event)\"\n (onBlur)=\"onListBlur($event)\"\n (onChange)=\"onChangeSelection($event)\"\n [ariaLabel]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n [metaKeySelection]=\"metaKeySelection()\"\n [scrollHeight]=\"scrollHeight()\"\n [autoOptionFocus]=\"autoOptionFocus()\"\n [filter]=\"filterBy()\"\n [filterBy]=\"filterBy()\"\n [filterLocale]=\"filterLocale()\"\n [filterPlaceHolder]=\"filterPlaceholder()\"\n [dragdrop]=\"dragdrop()\"\n (onDrop)=\"onDrop($event)\"\n hostName=\"orderlist\"\n [unstyled]=\"unstyled()\"\n >\n @if (headerTemplate() || _headerText()) {\n <ng-template #header>\n @if (headerTemplate()) {\n <ng-template *ngTemplateOutlet=\"headerTemplate()\" />\n } @else {\n <span>{{ _headerText() }}</span>\n }\n </ng-template>\n }\n @if (itemTemplate()) {\n <ng-template #item let-option let-selected=\"selected\" let-index=\"index\">\n <ng-template *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: option, selected: selected, index: index }\" />\n </ng-template>\n }\n @if (emptyMessageTemplate()) {\n <ng-template #empty>\n <ng-template *ngTemplateOutlet=\"emptyMessageTemplate()\" />\n </ng-template>\n }\n @if (emptyFilterMessageTemplate()) {\n <ng-template #emptyfilter>\n <ng-template *ngTemplateOutlet=\"emptyFilterMessageTemplate()\" />\n </ng-template>\n }\n @if (filterIconTemplate()) {\n <ng-template #filtericon>\n <ng-template *ngTemplateOutlet=\"filterIconTemplate()\" />\n </ng-template>\n }\n @if (filterTemplate()) {\n <ng-template #filter let-options=\"options\">\n <ng-template *ngTemplateOutlet=\"filterTemplate(); context: { options: options }\" />\n </ng-template>\n }\n </p-listbox>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [OrderListStyle, { provide: ORDERLIST_INSTANCE, useExisting: OrderList }, { provide: PARENT_INSTANCE, useExisting: OrderList }],\n host: {\n '[class]': \"cx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class OrderList extends BaseComponent<OrderListPassThrough> {\n componentName = 'OrderList';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcOrderList: OrderList | undefined = inject(ORDERLIST_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n /**\n * Text for the caption.\n * @group Props\n */\n header = input<string>();\n\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(undefined, { transform: numberAttribute });\n\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n\n /**\n * Inline style of the list element.\n * @group Props\n */\n listStyle = input<CSSProperties>();\n\n /**\n * A boolean value that indicates whether the component should be responsive.\n * @group Props\n */\n responsive = input(false, { transform: booleanAttribute });\n\n /**\n * When specified displays an input field to filter the items on keyup and decides which fields to search against.\n * @group Props\n */\n filterBy = input<string>();\n\n /**\n * Placeholder of the filter input.\n * @group Props\n */\n filterPlaceholder = input<string>();\n\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string>();\n\n /**\n * When true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n metaKeySelection = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to enable dragdrop based reordering.\n * @group Props\n */\n dragdrop = input(false, { transform: booleanAttribute });\n\n /**\n * Defines the location of the buttons with respect to the list.\n * @group Props\n */\n controlsPosition = input<OrderListControlsPosition>('left');\n\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n ariaFilterLabel = input<string>();\n\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n filterMatchMode = input<FilterMatchModeType>('contains');\n\n /**\n * Indicates the width of the screen at which the component should change its behavior.\n * @group Props\n */\n breakpoint = input('960px');\n\n /**\n * Whether to displays rows with alternating colors.\n * @group Props\n */\n stripedRows = input(false, { transform: booleanAttribute });\n\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy, default algorithm checks for object identity.\n * @group Props\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n trackBy = input<Function>((index: number, item: any) => item);\n\n /**\n * Height of the viewport, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = input('14rem');\n\n /**\n * Whether to focus on the first visible or selected element.\n * @group Props\n */\n autoOptionFocus = input(true, { transform: booleanAttribute });\n\n /**\n * Name of the field that uniquely identifies the record in the data.\n * @group Props\n */\n dataKey = input<string>();\n\n /**\n * A list of values that are currently selected.\n * @group Props\n */\n selection = model<any[]>([]);\n\n /**\n * Array of values to be displayed in the component.\n * It represents the data source for the list of items.\n * @group Props\n */\n value = model<any[] | undefined>();\n\n /**\n * Configuration object forwarded to the Button component.\n * @group Props\n */\n buttonProps = input<ButtonDirectiveOptions>({ severity: 'secondary' });\n\n /**\n * Configuration object forwarded to the move up button inside the component.\n * @group Props\n */\n moveUpButtonProps = input<ButtonDirectiveOptions>();\n\n /**\n * Configuration object forwarded to the move top button inside the component.\n * @group Props\n */\n moveTopButtonProps = input<ButtonDirectiveOptions>();\n\n /**\n * Configuration object forwarded to the move down button inside the component.\n * @group Props\n */\n moveDownButtonProps = input<ButtonDirectiveOptions>();\n\n /**\n * Configuration object forwarded to the move bottom button inside the component.\n * @group Props\n */\n moveBottomButtonProps = input<ButtonDirectiveOptions>();\n\n /**\n * Callback to invoke when list is reordered.\n * @param {*} any - list instance.\n * @group Emits\n */\n onReorder = output<any>();\n\n /**\n * Callback to invoke when selection changes.\n * @param {OrderListSelectionChangeEvent} event - Custom change event.\n * @group Emits\n */\n onSelectionChange = output<OrderListSelectionChangeEvent>();\n\n /**\n * Callback to invoke when filtering occurs.\n * @param {OrderListFilterEvent} event - Custom filter event.\n * @group Emits\n */\n onFilterEvent = output<OrderListFilterEvent>();\n\n /**\n * Callback to invoke when the list is focused\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = output<Event>();\n\n /**\n * Callback to invoke when the list is blurred\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = output<Event>();\n\n listViewChild = viewChild.required<Listbox>('listelement');\n\n filterViewChild = viewChild<ElementRef>('filter');\n\n /**\n * Custom item template.\n * @param {OrderListItemTemplateContext} context - item context.\n * @see {@link OrderListItemTemplateContext}\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<OrderListItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom empty template.\n * @group Templates\n */\n emptyMessageTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom empty filter template.\n * @group Templates\n */\n emptyFilterMessageTemplate = contentChild<TemplateRef<void>>('emptyfilter', { descendants: false });\n\n /**\n * Custom filter template.\n * @param {OrderListFilterTemplateContext} context - filter context.\n * @see {@link OrderListFilterTemplateContext}\n * @group Templates\n */\n filterTemplate = contentChild<TemplateRef<OrderListFilterTemplateContext>>('filter', { descendants: false });\n\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n /**\n * Custom move up icon template.\n * @group Templates\n */\n moveUpIconTemplate = contentChild<TemplateRef<void>>('moveupicon', { descendants: false });\n\n /**\n * Custom move top icon template.\n * @group Templates\n */\n moveTopIconTemplate = contentChild<TemplateRef<void>>('movetopicon', { descendants: false });\n\n /**\n * Custom move down icon template.\n * @group Templates\n */\n moveDownIconTemplate = contentChild<TemplateRef<void>>('movedownicon', { descendants: false });\n\n /**\n * Custom move bottom icon template.\n * @group Templates\n */\n moveBottomIconTemplate = contentChild<TemplateRef<void>>('movebottomicon', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n filterIconTemplate = contentChild<TemplateRef<void>>('filtericon', { descendants: false });\n\n private translation = toSignal(this.config.translationObserver, { initialValue: this.config.translation });\n\n moveUpAriaLabel = computed(() => this.translation()?.aria?.moveUp);\n\n moveTopAriaLabel = computed(() => this.translation()?.aria?.moveTop);\n\n moveDownAriaLabel = computed(() => this.translation()?.aria?.moveDown);\n\n moveBottomAriaLabel = computed(() => this.translation()?.aria?.moveBottom);\n\n upButtonProps = computed(() => ({ ...this.buttonProps(), ...this.moveUpButtonProps() }));\n\n topButtonProps = computed(() => ({ ...this.buttonProps(), ...this.moveTopButtonProps() }));\n\n downButtonProps = computed(() => ({ ...this.buttonProps(), ...this.moveDownButtonProps() }));\n\n bottomButtonProps = computed(() => ({ ...this.buttonProps(), ...this.moveBottomButtonProps() }));\n\n _headerText = computed(() => this.header());\n\n $optionLabel = computed(() => this.dataKey() ?? 'name');\n\n $moveDisabled = computed(() => this.disabled() || !this.selection()?.length);\n\n _componentStyle = inject(OrderListStyle);\n\n filterOptions: OrderListFilterOptions | undefined;\n\n d_selection: any[] = [];\n\n movedUp: boolean | undefined;\n\n movedDown: boolean | undefined;\n\n itemTouched: boolean | undefined;\n\n styleElement: any;\n\n id: string = uuid('pn_id_');\n\n filterValue = signal<string | null>(null);\n\n visibleOptions = signal<any[] | null>(null);\n\n filterService = inject(FilterService);\n\n constructor() {\n super();\n\n effect(() => {\n this.d_selection = this.selection();\n });\n\n effect(() => {\n const val = this.value();\n\n untracked(() => {\n if (this.filterValue()) {\n this.filter();\n } else if (this.dragdrop()) {\n this.visibleOptions.set([...(val || [])]);\n }\n });\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n if (this.responsive()) {\n this.createStyle();\n }\n\n if (this.filterBy()) {\n this.filterOptions = {\n filter: (value) => this.onFilterKeyup(value),\n reset: () => this.resetFilter()\n };\n }\n\n // Initialize visibleOptions for drag&drop if enabled and value exists\n if (this.dragdrop() && this.value() && !this.visibleOptions()) {\n this.visibleOptions.set([...this.value()!]);\n }\n }\n\n onChangeSelection(e: ListboxChangeEvent) {\n this.d_selection = e.value;\n this.selection.set(e.value);\n this.onSelectionChange.emit({ originalEvent: e.originalEvent, value: e.value });\n }\n\n onFilterKeyup(event: KeyboardEvent) {\n this.filterValue.set(((<HTMLInputElement>event.target).value.trim() as any).toLocaleLowerCase(this.filterLocale()));\n this.filter();\n\n this.onFilterEvent.emit({\n originalEvent: event,\n value: this.visibleOptions() as any[]\n });\n }\n\n filter() {\n let searchFields: string[] = (this.filterBy() as string).split(',');\n\n this.visibleOptions.set(this.filterService.filter(this.value() as any[], searchFields, this.filterValue(), this.filterMatchMode(), this.filterLocale()));\n }\n\n /**\n * Callback to invoke on filter reset.\n * @group Method\n */\n public resetFilter() {\n this.filterValue.set('');\n const filterEl = this.filterViewChild();\n\n if (filterEl) {\n (<HTMLInputElement>filterEl.nativeElement).value = '';\n }\n }\n\n isItemVisible(item: any): boolean | undefined {\n if (this.filterValue() && this.filterValue()!.trim().length) {\n for (let i = 0; i < (this.visibleOptions() as any[]).length; i++) {\n if (item == (this.visibleOptions() as any[])[i]) {\n return true;\n }\n }\n } else {\n return true;\n }\n }\n\n isSelected(item: any) {\n return findIndexInList(item, this.d_selection) !== -1;\n }\n\n isEmpty() {\n return this.filterValue() ? !this.visibleOptions() || this.visibleOptions()!.length === 0 : !this.value() || this.value()!.length === 0;\n }\n\n moveUp() {\n const sel = this.selection();\n const val = this.value();\n\n if (sel && val instanceof Array) {\n const sortedSelection = this.sortByIndexInList(sel, val);\n\n for (let selectedItem of sortedSelection) {\n let selectedItemIndex: number = findIndexInList(selectedItem, val);\n\n if (selectedItemIndex > 0 && !this.isSelected(val[selectedItemIndex - 1])) {\n let movedItem = val[selectedItemIndex];\n let temp = val[selectedItemIndex - 1];\n\n val[selectedItemIndex - 1] = movedItem;\n val[selectedItemIndex] = temp;\n }\n }\n\n this.value.set([...val]);\n this.movedUp = true;\n this.onReorder.emit(sel);\n this.scrollInViewSelection('up');\n }\n }\n\n moveTop() {\n const sel = this.selection();\n const val = this.value();\n\n if (sel && val instanceof Array) {\n const sortedSelection = this.sortByIndexInList(sel, val);\n\n for (let i = sortedSelection.length - 1; i >= 0; i--) {\n let selectedItemIndex: number = findIndexInList(sortedSelection[i], val);\n\n if (selectedItemIndex > 0) {\n let movedItem = val.splice(selectedItemIndex, 1)[0];\n\n val.unshift(movedItem);\n }\n }\n\n this.value.set([...val]);\n this.onReorder.emit(sel);\n setTimeout(() => {\n this.listViewChild().scrollInView(0);\n });\n }\n }\n\n moveDown() {\n const sel = this.selection();\n const val = this.value();\n\n if (sel && val instanceof Array) {\n const sortedSelection = this.sortByIndexInList(sel, val).reverse();\n\n for (let selectedItem of sortedSelection) {\n let selectedItemIndex: number = findIndexInList(selectedItem, val);\n\n if (selectedItemIndex < val.length - 1 && !this.isSelected(val[selectedItemIndex + 1])) {\n let movedItem = val[selectedItemIndex];\n let temp = val[selectedItemIndex + 1];\n\n val[selectedItemIndex + 1] = movedItem;\n val[selectedItemIndex] = temp;\n }\n }\n\n this.value.set([...val]);\n this.movedDown = true;\n this.onReorder.emit(sel);\n this.scrollInViewSelection('down');\n }\n }\n\n moveBottom() {\n const sel = this.selection();\n const val = this.value();\n\n if (sel && val instanceof Array) {\n const sortedSelection = this.sortByIndexInList(sel, val);\n\n for (let i = 0; i < sortedSelection.length; i++) {\n let selectedItemIndex: number = findIndexInList(sortedSelection[i], val);\n\n if (selectedItemIndex !== val.length - 1) {\n let movedItem = val.splice(selectedItemIndex, 1)[0];\n\n val.push(movedItem);\n }\n }\n\n this.value.set([...val]);\n this.onReorder.emit(sel);\n const bottomIndex = val.length ? val.length - 1 : 0;\n\n setTimeout(() => {\n this.listViewChild()?.scrollInView(bottomIndex);\n });\n }\n }\n\n onDrop(event: CdkDragDrop<string[]>) {\n if (event.previousIndex === event.currentIndex) {\n return;\n }\n\n const val = this.value();\n const sel = this.selection();\n const originalValue = [...(val || [])];\n const isMultiSelection = sel && sel.length > 1 && findIndexInList(event.item.data, sel) !== -1;\n\n if (!isMultiSelection) {\n const reordered = this.listViewChild()._options();\n\n this.value.set([...reordered]);\n this.onReorder.emit([event.item.data]);\n\n return;\n }\n\n // Multi-selection: undo Listbox's single-item move and reorder all selected items\n if (val) {\n val.length = 0;\n val.push(...originalValue);\n }\n\n // Map CDK drop index to real index when filtering\n let currentIndex = event.currentIndex;\n const listboxFilterValue = this.listViewChild()._filterValue?.();\n\n if (listboxFilterValue && this.filterBy()) {\n const filterFields = (this.filterBy() as string).split(',');\n const filtered = this.filterService.filter(originalValue, filterFields, listboxFilterValue, this.filterMatchMode(), this.filterLocale());\n\n currentIndex = findIndexInList(filtered[event.currentIndex], originalValue);\n }\n\n let itemsToMove = this.sortByIndexInList([...sel], val || []);\n\n const draggedIndex = findIndexInList(event.item.data, val || []);\n const insertionPoint = draggedIndex < currentIndex ? currentIndex + 1 : currentIndex;\n\n let itemsBefore = 0;\n\n for (const item of itemsToMove) {\n const itemIndex = findIndexInList(item, val || []);\n\n if (itemIndex !== -1 && itemIndex < insertionPoint) {\n itemsBefore++;\n }\n }\n\n for (let i = itemsToMove.length - 1; i >= 0; i--) {\n const itemIndex = findIndexInList(itemsToMove[i], val || []);\n\n if (itemIndex !== -1) {\n val?.splice(itemIndex, 1);\n }\n }\n\n const targetIndex = Math.max(0, insertionPoint - itemsBefore);\n\n for (let i = 0; i < itemsToMove.length; i++) {\n val?.splice(targetIndex + i, 0, itemsToMove[i]);\n }\n\n this.value.set([...(val || [])]);\n this.onReorder.emit(itemsToMove);\n }\n\n /**\n * Scrolls the list so the moved selection stays visible. For an upward move the topmost\n * selected item is revealed, for a downward move the bottommost one, mirroring the behavior\n * of moveTop/moveBottom.\n */\n private scrollInViewSelection(direction: 'up' | 'down') {\n const val = this.value();\n const sel = this.selection();\n\n if (!val?.length || !sel?.length) {\n return;\n }\n\n const indexes = sel.map((item) => findIndexInList(item, val)).filter((index) => index !== -1);\n\n if (!indexes.length) {\n return;\n }\n\n const targetIndex = direction === 'up' ? Math.min(...indexes) : Math.max(...indexes);\n\n setTimeout(() => {\n this.listViewChild()?.scrollInView(targetIndex);\n });\n }\n\n private sortByIndexInList(items: any[], list: any[]): any[] {\n return [...items].sort((a, b) => {\n const indexA = findIndexInList(a, list);\n const indexB = findIndexInList(b, list);\n\n return indexA - indexB;\n });\n }\n\n onListFocus(event: any) {\n this.onFocus.emit(event);\n }\n\n onListBlur(event: any) {\n this.onBlur.emit(event);\n }\n\n getVisibleOptions() {\n const vo = this.visibleOptions();\n const val = this.value();\n\n return vo && vo.length > 0 ? vo : val && val.length > 0 ? val : null;\n }\n\n createStyle() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.styleElement) {\n this.renderer.setAttribute(this.el.nativeElement.children[0], this.id, '');\n this.styleElement = this.renderer.createElement('style');\n this.renderer.setAttribute(this.styleElement, 'type', 'text/css');\n setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, this.styleElement);\n\n let innerHTML = `\n @media screen and (max-width: ${this.breakpoint()}) {\n .p-orderlist[${this.$attrSelector}] {\n flex-direction: column;\n }\n\n .p-orderlist[${this.$attrSelector}] .p-orderlist-controls {\n padding: var(--px-content-padding);\n flex-direction: row;\n }\n\n .p-orderlist[${this.$attrSelector}] .p-orderlist-controls .p-button {\n margin-right: var(--px-inline-spacing);\n margin-bottom: 0;\n }\n\n .p-orderlist[${this.$attrSelector}] .p-orderlist-controls .p-button:last-child {\n margin-right: 0;\n }\n }\n `;\n\n this.renderer.setProperty(this.styleElement, 'innerHTML', innerHTML);\n setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);\n }\n }\n }\n\n destroyStyle() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.styleElement) {\n this.renderer.removeChild(this.document, this.styleElement);\n this.styleElement = null;\n }\n }\n }\n\n onDestroy() {\n this.destroyStyle();\n }\n}\n\n@NgModule({\n imports: [OrderList],\n exports: [OrderList]\n})\nexport class OrderListModule {}\n"],"mappings":"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"}