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-inputtags.mjs","names":["TimesCircleIcon"],"sources":["../../src/inputtags/style/inputtagsstyle.ts","../../src/inputtags/inputtags.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/inputtags';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }: any) => [\n 'p-inputtags p-component p-inputwrapper',\n {\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused(),\n 'p-inputwrapper-filled': instance.$filled(),\n 'p-inputwrapper-focus': instance.focused() && !instance.$disabled(),\n 'p-inputtags-fluid': instance.hasFluid,\n 'p-disabled': instance.$disabled(),\n 'p-variant-filled': instance.$variant() === 'filled'\n }\n ],\n item: ({ instance, i }: any) => [\n 'p-inputtags-item',\n {\n 'p-focus': instance.focusedItemIndex() === i\n }\n ],\n pcChip: 'p-inputtags-item',\n pcInputText: 'p-inputtags-input'\n};\n\n@Injectable()\nexport class InputTagsStyle extends BaseStyle {\n name = 'inputtags';\n\n style = style;\n\n classes = classes;\n\n override inlineStyles = inlineStyles;\n}\n\n/**\n *\n * InputTags is used to enter multiple tags.\n *\n * [Live Demo](https://www.primeng.org/inputtags)\n *\n * @module inputtagsstyle\n *\n */\nexport enum InputTagsClasses {\n root = 'p-inputtags',\n item = 'p-inputtags-item',\n pcInputText = 'p-inputtags-input'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, forwardRef, inject, InjectionToken, input, NgModule, numberAttribute, output, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MotionOptions } from '@primeuix/motion';\nimport { TimesCircle as TimesCircleIcon } from '@primeicons/angular/times-circle';\nimport { cn, focus, resolveFieldData, uuid } from '@primeuix/utils';\nimport { OverlayOptions, SharedModule } from 'primeng/api';\nimport { AutoComplete } from 'primeng/autocomplete';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseInput } from 'primeng/baseinput';\nimport { Bind } from 'primeng/bind';\nimport { Chip } from 'primeng/chip';\nimport type { AppendTo } from 'primeng/types/shared';\nimport type { InputTagsAddEvent, InputTagsCompleteEvent, InputTagsGroupTemplateContext, InputTagsItemTemplateContext, InputTagsOptionTemplateContext, InputTagsPassThrough, InputTagsRemoveEvent, InputTagsSelectEvent } from 'primeng/types/inputtags';\nimport { InputTagsStyle } from './style/inputtagsstyle';\n\nconst INPUTTAGS_INSTANCE = new InjectionToken<InputTags>('INPUTTAGS_INSTANCE');\n\nexport const INPUTTAGS_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputTags),\n multi: true\n};\n\n/**\n * InputTags is used to enter multiple tags with optional typeahead suggestions.\n * @group Components\n */\n@Component({\n selector: 'p-inputtags, p-input-tags',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, Bind, Chip, TimesCircleIcon, AutoComplete],\n template: `\n @for (item of modelValue(); track i + '_' + item; let i = $index) {\n @if (!itemTemplate()) {\n <p-chip [class]=\"cx('item', { i })\" [pt]=\"ptm('pcChip')\" [label]=\"getItemLabel(item)\" [removable]=\"true\" (onRemove)=\"removeItem($event, i)\" [unstyled]=\"unstyled()\">\n <ng-template #removeicon>\n @if (!removeIconTemplate()) {\n <span [pBind]=\"ptm('chipIcon')\" [class]=\"cx('chipIcon')\">\n <svg data-p-icon=\"times-circle\" [class]=\"cx('chipIcon')\" [attr.aria-hidden]=\"true\" />\n </span>\n } @else {\n <span [pBind]=\"ptm('chipIcon')\" [attr.aria-hidden]=\"true\">\n <ng-container [ngTemplateOutlet]=\"removeIconTemplate()!\" [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"></ng-container>\n </span>\n }\n </ng-template>\n </p-chip>\n } @else {\n <ng-container [ngTemplateOutlet]=\"itemTemplate()!\" [ngTemplateOutletContext]=\"{ $implicit: item, index: i, onRemove: _removeItemBound }\"></ng-container>\n }\n }\n <p-autocomplete\n #ac\n [typeahead]=\"typeahead()\"\n [suggestions]=\"suggestions()\"\n [optionLabel]=\"optionLabel()\"\n [optionValue]=\"optionValue()\"\n [optionDisabled]=\"optionDisabled()\"\n [optionGroupLabel]=\"optionGroupLabel()\"\n [optionGroupChildren]=\"optionGroupChildren()\"\n [group]=\"group()\"\n [delay]=\"delay()\"\n [minQueryLength]=\"minQueryLength()\"\n [completeOnFocus]=\"completeOnFocus()\"\n [scrollHeight]=\"scrollHeight()\"\n [appendTo]=\"$appendTo()\"\n [overlayOptions]=\"overlayOptions()\"\n [motionOptions]=\"motionOptions()\"\n [panelStyle]=\"panelStyle()\"\n [panelStyleClass]=\"panelStyleClass()\"\n [autoOptionFocus]=\"autoOptionFocus()\"\n [focusOnHover]=\"focusOnHover()\"\n [placeholder]=\"_placeholder()\"\n [tabindex]=\"tabindex()\"\n [disabled]=\"$disabled()\"\n [name]=\"name()\"\n [inputStyle]=\"inputStyle()\"\n [inputStyleClass]=\"$inputStyleClass()\"\n [pt]=\"ptm('pcAutoComplete')\"\n (completeMethod)=\"onAcSearch($event)\"\n (onSelect)=\"onAcSelect($event)\"\n (onFocus)=\"onInputFocus($event)\"\n (onBlur)=\"onInputBlur($event)\"\n (onShow)=\"onShow.emit()\"\n (onHide)=\"onHide.emit()\"\n (onInputKeydown)=\"onAcKeyDown($event)\"\n >\n @if (optionTemplate()) {\n <ng-template #item let-item let-index=\"index\">\n <ng-container [ngTemplateOutlet]=\"optionTemplate()!\" [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"></ng-container>\n </ng-template>\n }\n @if (groupTemplate()) {\n <ng-template #group let-group>\n <ng-container [ngTemplateOutlet]=\"groupTemplate()!\" [ngTemplateOutletContext]=\"{ $implicit: group }\"></ng-container>\n </ng-template>\n }\n @if (headerTemplate()) {\n <ng-template #header>\n <ng-container [ngTemplateOutlet]=\"headerTemplate()!\"></ng-container>\n </ng-template>\n }\n @if (footerTemplate()) {\n <ng-template #footer>\n <ng-container [ngTemplateOutlet]=\"footerTemplate()!\"></ng-container>\n </ng-template>\n }\n </p-autocomplete>\n `,\n providers: [INPUTTAGS_VALUE_ACCESSOR, InputTagsStyle, { provide: INPUTTAGS_INSTANCE, useExisting: InputTags }, { provide: PARENT_INSTANCE, useExisting: InputTags }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[style]': \"sx('root')\",\n '[attr.role]': \"'listbox'\",\n '[attr.aria-orientation]': \"'horizontal'\",\n '[attr.aria-activedescendant]': 'focusedItemId()',\n '(click)': 'onContainerClick($event)',\n '(keydown)': 'onContainerKeyDown($event)'\n },\n hostDirectives: [Bind]\n})\nexport class InputTags extends BaseInput<InputTagsPassThrough, any> {\n componentName = 'InputTags';\n\n $pcInputTags: InputTags | undefined = inject(INPUTTAGS_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Advisory information to display on input.\n * @group Props\n */\n placeholder = input<string>();\n\n /**\n * Maximum number of tags allowed.\n * @group Props\n */\n override max = input<any>();\n\n /**\n * Delimiter character or regex to split input into tags.\n * @group Props\n */\n delimiter = input<string | RegExp>();\n\n /**\n * Whether to allow duplicate tags.\n * @defaultValue false\n * @group Props\n */\n allowDuplicate = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to add a tag when the input loses focus.\n * @defaultValue false\n * @group Props\n */\n addOnBlur = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to add a tag on tab key press.\n * @defaultValue false\n * @group Props\n */\n addOnTab = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to add tags on paste event.\n * @defaultValue false\n * @group Props\n */\n addOnPaste = input(false, { transform: booleanAttribute });\n\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input<number>();\n\n /**\n * Whether typeahead mode is active.\n * @defaultValue false\n * @group Props\n */\n typeahead = input(false, { transform: booleanAttribute });\n\n /**\n * An array of suggestions to display in the dropdown.\n * @group Props\n */\n suggestions = input<any[]>([]);\n\n /**\n * Property name or getter function for option label.\n * @group Props\n */\n optionLabel = input<string | ((item: any) => string)>();\n\n /**\n * Property name or getter function for option value.\n * @group Props\n */\n optionValue = input<string | ((item: any) => any)>();\n\n /**\n * Property name or getter function for disabled state.\n * @group Props\n */\n optionDisabled = input<string | ((item: any) => boolean)>();\n\n /**\n * Field name for option group label.\n * @defaultValue 'label'\n * @group Props\n */\n optionGroupLabel = input<string>('label');\n\n /**\n * Field name for option group children.\n * @defaultValue 'items'\n * @group Props\n */\n optionGroupChildren = input<string>('items');\n\n /**\n * Whether to display options as grouped.\n * @defaultValue false\n * @group Props\n */\n group = input(false, { transform: booleanAttribute });\n\n /**\n * Delay in ms between keystrokes before triggering search.\n * @defaultValue 300\n * @group Props\n */\n delay = input(300, { transform: numberAttribute });\n\n /**\n * Minimum number of characters to initiate a search.\n * @defaultValue 1\n * @group Props\n */\n minQueryLength = input(1, { transform: numberAttribute });\n\n /**\n * Whether to trigger search when input receives focus.\n * @defaultValue false\n * @group Props\n */\n completeOnFocus = input(false, { transform: booleanAttribute });\n\n /**\n * Maximum height of the suggestions panel.\n * @defaultValue '200px'\n * @group Props\n */\n scrollHeight = input('200px');\n\n /**\n * Target element to attach the overlay.\n * @defaultValue 'body'\n * @group Props\n */\n appendTo = input<AppendTo>('body');\n\n /**\n * Configuration for the overlay element.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n\n /**\n * Animation options for the overlay.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>();\n\n /**\n * Inline style of the overlay panel.\n * @group Props\n */\n panelStyle = input<{ [klass: string]: any }>();\n\n /**\n * CSS class of the overlay panel.\n * @group Props\n */\n panelStyleClass = input<string>();\n\n /**\n * Inline style of the input field.\n * @group Props\n */\n inputStyle = input<{ [klass: string]: any }>();\n\n /**\n * CSS class of the input field.\n * @group Props\n */\n inputStyleClass = input<string>();\n\n /**\n * Whether to auto-focus first option when overlay shows.\n * @defaultValue false\n * @group Props\n */\n autoOptionFocus = input(false, { transform: booleanAttribute });\n\n /**\n * Whether hover focuses an option.\n * @defaultValue true\n * @group Props\n */\n focusOnHover = input(true, { transform: booleanAttribute });\n\n onAdd = output<InputTagsAddEvent>();\n\n onRemove = output<InputTagsRemoveEvent>();\n\n onFocus = output<FocusEvent>();\n\n onBlur = output<FocusEvent>();\n\n /**\n * Callback to invoke to search for suggestions.\n * @param {InputTagsCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n completeMethod = output<InputTagsCompleteEvent>();\n\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {InputTagsSelectEvent} event - Custom select event.\n * @group Emits\n */\n onSelect = output<InputTagsSelectEvent>();\n\n /**\n * Callback to invoke when the overlay is shown.\n * @group Emits\n */\n onShow = output<void>();\n\n /**\n * Callback to invoke when the overlay is hidden.\n * @group Emits\n */\n onHide = output<void>();\n\n itemTemplate = contentChild<TemplateRef<InputTagsItemTemplateContext>>('item', { descendants: false });\n\n removeIconTemplate = contentChild<TemplateRef<{ $implicit: any; index: number }>>('removeicon', { descendants: false });\n\n optionTemplate = contentChild<TemplateRef<InputTagsOptionTemplateContext>>('option', { descendants: false });\n\n groupTemplate = contentChild<TemplateRef<InputTagsGroupTemplateContext>>('group', { descendants: false });\n\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n autoCompleteRef = viewChild<AutoComplete>('ac');\n\n focused = signal(false);\n\n focusedItemIndex = signal(-1);\n\n _componentStyle = inject(InputTagsStyle);\n\n private _internalId = uuid('pn_id_');\n\n $id = computed(() => this._internalId);\n\n _placeholder = computed(() => this.placeholder());\n\n focusedItemId = computed(() => (this.focusedItemIndex() !== -1 ? `${this.$id()}_item_${this.focusedItemIndex()}` : null));\n\n $appendTo = computed(() => this.appendTo() ?? this.config?.overlayAppendTo());\n\n $inputStyleClass = computed(() => cn(this.cx('pcInputText'), this.inputStyleClass()) as string);\n\n _removeItemBound = this.removeItem.bind(this);\n\n private _pasteListener: ((e: ClipboardEvent) => void) | null = null;\n\n onAfterViewInit() {\n this.bindPasteListener();\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onDestroy() {\n this.unbindPasteListener();\n }\n\n writeControlValue(value: any, setModelValue?: (value: any) => void) {\n setModelValue?.(value || []);\n }\n\n getItemLabel(item: any): string {\n const optLabel = this.optionLabel();\n\n if (optLabel && typeof item === 'object') {\n return typeof optLabel === 'function' ? optLabel(item) : resolveFieldData(item, optLabel);\n }\n\n return typeof item === 'object' ? JSON.stringify(item) : String(item);\n }\n\n addItem(event: Event, value: string) {\n const trimmed = value.trim();\n\n if (!trimmed) return;\n\n if (this.max() != null && (this.modelValue()?.length ?? 0) >= this.max()!) return;\n\n if (!this.allowDuplicate() && this.modelValue()?.includes(trimmed)) return;\n\n const newValue = [...(this.modelValue() || []), trimmed];\n\n this._updateModel(newValue);\n this.onAdd.emit({ originalEvent: event, value: trimmed });\n this.clearAcInput();\n }\n\n removeItem(event: Event, index: number) {\n if (this.$disabled()) return;\n\n const current = this.modelValue() || [];\n const removed = current[index];\n const newValue = current.filter((_: any, i: number) => i !== index);\n\n this._updateModel(newValue);\n this.onRemove.emit({ originalEvent: event, value: removed, index });\n setTimeout(() => this.autoCompleteRef()?.overlayViewChild()?.alignOverlay());\n }\n\n onContainerClick(event: MouseEvent) {\n if (this.$disabled()) return;\n\n const target = event.target as HTMLElement;\n\n if (target.closest?.('[data-p-focused]')) return;\n\n this.focusAcInput();\n }\n\n onContainerKeyDown(event: KeyboardEvent) {\n if (this.$disabled()) return;\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftInContainer(event);\n break;\n case 'ArrowRight':\n this.onArrowRightInContainer(event);\n break;\n case 'Backspace':\n this.onBackspaceInContainer(event);\n break;\n }\n }\n\n onAcSearch(event: any) {\n this.completeMethod.emit({ originalEvent: event.originalEvent, query: event.query });\n }\n\n onAcSelect(event: any) {\n const option = event.value;\n const optValue = this.optionValue();\n const value = optValue ? (typeof optValue === 'function' ? optValue(option) : resolveFieldData(option, optValue)) : option;\n\n if (this.max() != null && (this.modelValue()?.length ?? 0) >= this.max()!) {\n this.clearAcInput();\n\n return;\n }\n\n const newModelValue = [...(this.modelValue() || []), value];\n\n this._updateModel(newModelValue);\n this.onAdd.emit({ originalEvent: event.originalEvent, value });\n this.onSelect.emit({ originalEvent: event.originalEvent, value: option });\n\n // Clear the AC's internal value and input after selection\n setTimeout(() => {\n const ac = this.autoCompleteRef();\n\n if (ac) {\n ac.writeValue(null);\n\n if (ac.inputEL()?.nativeElement) {\n ac.inputEL()!.nativeElement.value = '';\n }\n }\n });\n }\n\n onAcKeyDown(event: KeyboardEvent) {\n const ac = this.autoCompleteRef();\n const inputValue = ac?.inputEL()?.nativeElement?.value || '';\n\n switch (event.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (ac?.overlayVisible() && ac?.focusedOptionIndex() !== -1) {\n return;\n }\n\n // Otherwise add free text tag\n if (inputValue) {\n this.addItem(event, inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n\n break;\n case 'Backspace':\n if (!inputValue && this.modelValue()?.length > 0) {\n this.removeItem(event, this.modelValue().length - 1);\n event.stopPropagation();\n }\n\n break;\n case 'Tab':\n if (this.addOnTab() && inputValue) {\n this.addItem(event, inputValue);\n }\n\n break;\n default:\n this.handleDelimiter(event);\n break;\n }\n }\n\n onInputFocus(event: any) {\n if (this.$disabled()) return;\n\n this.focused.set(true);\n this.focusedItemIndex.set(-1);\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: any) {\n if (this.addOnBlur()) {\n const inputValue = this.autoCompleteRef()?.inputEL()?.nativeElement?.value || '';\n\n if (inputValue) {\n this.addItem(event, inputValue);\n }\n }\n\n this.focused.set(false);\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n private handleDelimiter(event: KeyboardEvent) {\n const delimiter = this.delimiter();\n\n if (!delimiter) return;\n\n const isMatch = typeof delimiter === 'string' ? event.key === delimiter : event.key.match(delimiter);\n\n if (!isMatch) return;\n\n event.preventDefault();\n const inputValue = this.autoCompleteRef()?.inputEL()?.nativeElement?.value || '';\n\n if (inputValue) {\n this.addItem(event, inputValue);\n }\n }\n\n private onArrowLeftInContainer(_event: KeyboardEvent) {\n const current = this.focusedItemIndex();\n const length = this.modelValue()?.length ?? 0;\n\n if (length === 0) return;\n\n if (current <= 0) {\n this.focusedItemIndex.set(length - 1);\n } else {\n this.focusedItemIndex.set(current - 1);\n }\n }\n\n private onArrowRightInContainer(_event: KeyboardEvent) {\n const current = this.focusedItemIndex();\n const length = this.modelValue()?.length ?? 0;\n\n if (length === 0) return;\n\n if (current >= length - 1) {\n this.focusedItemIndex.set(-1);\n this.focusAcInput();\n } else {\n this.focusedItemIndex.set(current + 1);\n }\n }\n\n private onBackspaceInContainer(event: KeyboardEvent) {\n const current = this.focusedItemIndex();\n\n if (current !== -1) {\n this.removeItem(event, current);\n const length = this.modelValue()?.length ?? 0;\n\n if (length === 0) {\n this.focusedItemIndex.set(-1);\n this.focusAcInput();\n } else if (current >= length) {\n this.focusedItemIndex.set(length - 1);\n }\n }\n }\n\n private clearAcInput() {\n const ac = this.autoCompleteRef();\n\n if (ac?.inputEL()?.nativeElement) {\n ac.inputEL()!.nativeElement.value = '';\n }\n }\n\n private focusAcInput() {\n focus(this.autoCompleteRef()?.inputEL()?.nativeElement);\n }\n\n private bindPasteListener() {\n const inputEl = this.autoCompleteRef()?.inputEL()?.nativeElement;\n\n if (inputEl) {\n this._pasteListener = (event: ClipboardEvent) => this.onInputPaste(event);\n inputEl.addEventListener('paste', this._pasteListener);\n }\n }\n\n private unbindPasteListener() {\n const inputEl = this.autoCompleteRef()?.inputEL()?.nativeElement;\n\n if (inputEl && this._pasteListener) {\n inputEl.removeEventListener('paste', this._pasteListener);\n this._pasteListener = null;\n }\n }\n\n private onInputPaste(event: ClipboardEvent) {\n if (!this.addOnPaste()) return;\n\n const pastedData = event.clipboardData?.getData('Text');\n\n if (!pastedData) return;\n\n const delimiter = this.delimiter();\n\n if (delimiter) {\n pastedData.split(delimiter).forEach((v: string) => this.addItem(event, v));\n } else {\n this.addItem(event, pastedData);\n }\n\n this.clearAcInput();\n event.preventDefault();\n }\n\n private _updateModel(value: any[]) {\n this.writeModelValue(value);\n this.onModelChange(value);\n }\n}\n\n@NgModule({\n imports: [InputTags, SharedModule],\n exports: [InputTags, SharedModule]\n})\nexport class InputTagsModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-inputtext.mjs","names":[],"sources":["../../src/inputtext/style/inputtextstyle.ts","../../src/inputtext/inputtext.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/inputtext';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-inputtext p-component',\n {\n 'p-filled': instance.$filled(),\n 'p-inputtext-sm': instance.pSize() === 'small',\n 'p-inputtext-lg': instance.pSize() === 'large',\n 'p-invalid': instance.invalid(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-inputtext-fluid': instance.hasFluid\n }\n ]\n};\n\n@Injectable()\nexport class InputTextStyle extends BaseStyle {\n name = 'inputtext';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * InputText renders a text field to enter data.\n *\n * [Live Demo](https://www.primeng.org/inputtext/)\n *\n * @module inputtextstyle\n *\n */\nexport enum InputTextClasses {\n /**\n * The class of root element\n */\n root = 'p-inputtext'\n}\n","import { booleanAttribute, computed, Directive, effect, inject, InjectionToken, input, NgModule } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseModelHolder } from 'primeng/basemodelholder';\nimport { Bind } from 'primeng/bind';\nimport { Fluid } from 'primeng/fluid';\nimport { InputTextPassThrough } from 'primeng/types/inputtext';\nimport type { InputSize, InputVariant } from 'primeng/types/shared';\nimport { InputTextStyle } from './style/inputtextstyle';\n\nconst INPUTTEXT_INSTANCE = new InjectionToken<InputText>('INPUTTEXT_INSTANCE');\n\n/**\n * InputText directive is an extension to standard input element with theming.\n * @group Components\n */\n@Directive({\n selector: '[pInputText]',\n standalone: true,\n host: {\n '[class]': \"cx('root')\",\n '[attr.data-p]': 'dataP()',\n '(input)': 'onInput()'\n },\n providers: [InputTextStyle, { provide: INPUTTEXT_INSTANCE, useExisting: InputText }, { provide: PARENT_INSTANCE, useExisting: InputText }],\n hostDirectives: [Bind]\n})\nexport class InputText extends BaseModelHolder<InputTextPassThrough> {\n componentName = 'InputText';\n\n hostName = input('');\n\n /**\n * Used to pass attributes to DOM elements inside the InputText component.\n * @defaultValue undefined\n * @group Props\n */\n pInputTextPT = input<InputTextPassThrough>();\n /**\n * Indicates whether the component should be rendered without styles.\n * @defaultValue undefined\n * @group Props\n */\n pInputTextUnstyled = input<boolean>();\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcInputText: InputText | undefined = inject(INPUTTEXT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n ngControl = inject(NgControl, { optional: true, self: true });\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n /**\n * Defines the size of the component.\n * @group Props\n */\n pSize = input<InputSize>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<InputVariant>();\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 * When present, it specifies that the component should have invalid state style.\n * @defaultValue false\n * @group Props\n */\n invalid = input(undefined, { transform: booleanAttribute });\n\n $variant = computed(() => this.variant() || this.config.inputVariant() || undefined);\n\n _componentStyle = inject(InputTextStyle);\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n dataP = computed(() =>\n this.cn({\n invalid: this.invalid(),\n fluid: this.hasFluid,\n filled: this.$variant() === 'filled',\n [this.pSize() as string]: this.pSize()\n })\n );\n\n constructor() {\n super();\n effect(() => {\n const pt = this.pInputTextPT();\n\n if (pt) {\n this.directivePT.set(pt);\n }\n });\n\n effect(() => {\n if (this.pInputTextUnstyled()) {\n this.directiveUnstyled.set(this.pInputTextUnstyled());\n }\n });\n }\n\n onAfterViewInit() {\n this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value);\n this.cd.detectChanges();\n }\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n\n onDoCheck() {\n this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value);\n }\n\n onInput() {\n this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value);\n }\n}\n\n@NgModule({\n imports: [InputText],\n exports: [InputText]\n})\nexport class InputTextModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-keyfilter.mjs","names":[],"sources":["../../src/keyfilter/keyfilter.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, Directive, effect, ElementRef, forwardRef, inject, input, NgModule, output, PLATFORM_ID, Provider } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\nimport { getBrowser, isAndroid } from '@primeuix/utils';\n\nexport type KeyFilterPattern = 'pint' | 'int' | 'pnum' | 'money' | 'num' | 'hex' | 'email' | 'alpha' | 'alphanum';\n\nexport const KEYFILTER_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => KeyFilter),\n multi: true\n};\n\ntype SafariKeys = {\n 63234: number;\n 63235: number;\n 63232: number;\n 63233: number;\n 63276: number;\n 63277: number;\n 63272: number;\n 63273: number;\n 63275: number;\n};\n\ntype Keys = {\n TAB: number;\n RETURN: number;\n ESC: number;\n BACKSPACE: number;\n DELETE: number;\n};\n\nconst DEFAULT_MASKS: Record<KeyFilterPattern, RegExp> = {\n pint: /^[\\d]*$/,\n int: /^[-]?[\\d]*$/,\n pnum: /^[\\d.]*$/,\n money: /^[\\d.\\s,]*$/,\n num: /^[-]?[\\d.]*$/,\n hex: /^[0-9a-f]*$/i,\n email: /^[a-z0-9_.\\-@]*$/i,\n alpha: /^[a-z_]*$/i,\n alphanum: /^[a-z0-9_]*$/i\n};\n\nconst KEYS: Keys = {\n TAB: 9,\n RETURN: 13,\n ESC: 27,\n BACKSPACE: 8,\n DELETE: 46\n};\n\nconst SAFARI_KEYS: SafariKeys = {\n 63234: 37, // left\n 63235: 39, // right\n 63232: 38, // up\n 63233: 40, // down\n 63276: 33, // page up\n 63277: 34, // page down\n 63272: 46, // delete\n 63273: 36, // home\n 63275: 35 // end\n};\n\n/**\n * KeyFilter Directive is a built-in feature of InputText to restrict user input based on a regular expression.\n * @group Components\n */\n@Directive({\n selector: '[pKeyFilter]',\n standalone: true,\n providers: [KEYFILTER_VALIDATOR],\n host: {\n '(input)': 'onInput($event)',\n '(keypress)': 'onKeyPress($event)',\n '(paste)': 'onPaste($event)'\n }\n})\nexport class KeyFilter implements Validator {\n /**\n * When enabled, instead of blocking keys, input is validated internally to test against the regular expression.\n * @group Props\n */\n pValidateOnly = input(false, { transform: booleanAttribute });\n /**\n * Sets the pattern for key filtering.\n * @group Props\n */\n pattern = input<RegExp | KeyFilterPattern | null | undefined>(undefined, { alias: 'pKeyFilter' });\n\n /**\n * Emits a value whenever the ngModel of the component changes.\n * @param {string} modelValue - Custom model change event.\n * @group Emits\n */\n ngModelChange = output<string>();\n\n regex: RegExp = /./;\n\n isAndroid: boolean;\n\n lastValue: any;\n\n private document = inject(DOCUMENT);\n\n private platformId = inject(PLATFORM_ID);\n\n el = inject(ElementRef);\n\n constructor() {\n if (isPlatformBrowser(this.platformId)) {\n this.isAndroid = isAndroid();\n } else {\n this.isAndroid = false;\n }\n\n effect(() => {\n const _pattern = this.pattern();\n\n if (_pattern instanceof RegExp) {\n this.regex = _pattern;\n } else if (_pattern && _pattern in DEFAULT_MASKS) {\n this.regex = DEFAULT_MASKS[_pattern as keyof typeof DEFAULT_MASKS];\n } else {\n this.regex = /./;\n }\n });\n }\n\n isNavKeyPress(e: KeyboardEvent) {\n let k = e.keyCode;\n\n k = getBrowser().safari ? (SAFARI_KEYS as any)[k] || k : k;\n\n return (k >= 33 && k <= 40) || k == KEYS.RETURN || k == KEYS.TAB || k == KEYS.ESC;\n }\n\n isSpecialKey(e: KeyboardEvent) {\n let k = e.keyCode || e.charCode;\n\n return k == 9 || k == 13 || k == 27 || k == 16 || k == 17 || (k >= 18 && k <= 20) || (getBrowser().opera && !e.shiftKey && (k == 8 || (k >= 33 && k <= 35) || (k >= 36 && k <= 39) || (k >= 44 && k <= 45)));\n }\n\n getKey(e: KeyboardEvent) {\n let k = e.keyCode || e.charCode;\n\n return getBrowser().safari ? (SAFARI_KEYS as any)[k] || k : k;\n }\n\n getCharCode(e: KeyboardEvent) {\n return e.charCode || e.keyCode || e.which;\n }\n\n findDelta(value: string, prevValue: string) {\n let delta = '';\n\n for (let i = 0; i < value.length; i++) {\n let str = value.substr(0, i) + value.substr(i + value.length - prevValue.length);\n\n if (str === prevValue) delta = value.substr(i, value.length - prevValue.length);\n }\n\n return delta;\n }\n\n isValidChar(c: string) {\n return (<RegExp>this.regex).test(c);\n }\n\n isValidString(str: string) {\n for (let i = 0; i < str.length; i++) {\n if (!this.isValidChar(str.substr(i, 1))) {\n return false;\n }\n }\n\n return true;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onInput(e: Event) {\n if (this.isAndroid && !this.pValidateOnly()) {\n let val = this.el.nativeElement.value;\n let lastVal = this.lastValue || '';\n\n let inserted = this.findDelta(val, lastVal);\n let removed = this.findDelta(lastVal, val);\n let pasted = inserted.length > 1 || (!inserted && !removed);\n\n if (pasted) {\n if (!this.isValidString(val)) {\n this.el.nativeElement.value = lastVal;\n this.ngModelChange.emit(lastVal);\n }\n } else if (!removed) {\n if (!this.isValidChar(inserted)) {\n this.el.nativeElement.value = lastVal;\n this.ngModelChange.emit(lastVal);\n }\n }\n\n val = this.el.nativeElement.value;\n\n if (this.isValidString(val)) {\n this.lastValue = val;\n }\n }\n }\n\n onKeyPress(e: KeyboardEvent) {\n if (this.isAndroid || this.pValidateOnly()) {\n return;\n }\n\n let browser = getBrowser();\n let k = this.getKey(e);\n\n if (browser.mozilla && (e.ctrlKey || e.altKey)) {\n return;\n } else if (k == 17 || k == 18) {\n return;\n }\n\n // Enter key\n if (k == 13) {\n return;\n }\n\n let c = this.getCharCode(e);\n let cc = String.fromCharCode(c);\n let ok = true;\n\n if (!browser.mozilla && (this.isSpecialKey(e) || !cc)) {\n return;\n }\n\n let existingValue = this.el.nativeElement.value || '';\n let combinedValue = existingValue + cc;\n\n ok = (<RegExp>this.regex).test(combinedValue);\n\n if (!ok) {\n e.preventDefault();\n }\n }\n\n onPaste(e: ClipboardEvent) {\n let clipboardData = e.clipboardData;\n\n // Fallback for older browsers\n if (!clipboardData && this.document.defaultView) {\n const windowClipboard = (<any>this.document.defaultView).clipboardData;\n\n if (windowClipboard) {\n clipboardData = {\n getData: () => windowClipboard.getData('text')\n } as unknown as DataTransfer;\n }\n }\n\n if (clipboardData) {\n let pattern = /\\{[0-9]+\\}/;\n const pastedText = clipboardData.getData('text');\n\n if (pattern.test(this.regex.toString())) {\n if (!this.regex.test(pastedText)) {\n e.preventDefault();\n\n return;\n }\n } else {\n for (let char of pastedText.toString()) {\n if (!this.regex.test(char)) {\n e.preventDefault();\n\n return;\n }\n }\n }\n }\n }\n\n validate(_c: AbstractControl): { [key: string]: any } | any {\n if (this.pValidateOnly()) {\n let value = this.el.nativeElement.value;\n\n if (value && !this.regex.test(value)) {\n return {\n validatePattern: false\n };\n }\n }\n }\n}\n\n@NgModule({\n imports: [KeyFilter],\n exports: [KeyFilter]\n})\nexport class KeyFilterModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-knob.mjs","names":[],"sources":["../../src/knob/style/knobstyle.ts","../../src/knob/knob.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/knob';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance.$disabled() }],\n range: 'p-knob-range',\n value: 'p-knob-value',\n text: 'p-knob-text'\n};\n\n@Injectable()\nexport class KnobStyle extends BaseStyle {\n name = 'knob';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Knob is a form component to define number inputs with a dial.\n *\n * [Live Demo](https://www.primeng.org/knob/)\n *\n * @module knobstyle\n *\n */\nexport enum KnobClasses {\n /**\n * Class name of the root element\n */\n root = 'p-knob',\n /**\n * Class name of the range element\n */\n range = 'p-knob-range',\n /**\n * Class name of the value element\n */\n value = 'p-knob-value',\n /**\n * Class name of the text element\n */\n text = 'p-knob-text'\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, inject, InjectionToken, input, NgModule, numberAttribute, output, Provider, signal, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { $dt } from '@primeuix/styled';\nimport { SharedModule } from 'primeng/api';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { KnobPassThrough } from 'primeng/types/knob';\nimport { KnobStyle } from './style/knobstyle';\n\nconst KNOB_INSTANCE = new InjectionToken<Knob>('KNOB_INSTANCE');\n\nexport const KNOB_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Knob),\n multi: true\n};\n/**\n * Knob is a form component to define number inputs with a dial.\n * @group Components\n */\n@Component({\n selector: 'p-knob',\n standalone: true,\n imports: [SharedModule, BindModule],\n template: `\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n [style.width]=\"svgSize()\"\n [style.height]=\"svgSize()\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchend)=\"onTouchEnd($event)\"\n [attr.aria-valuemin]=\"min()\"\n [attr.aria-valuemax]=\"max()\"\n [attr.required]=\"attrRequired()\"\n [attr.aria-valuenow]=\"_value()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.tabindex]=\"attrTabindex()\"\n [pBind]=\"ptm('svg')\"\n >\n <path [attr.d]=\"rangePath()\" [attr.stroke-width]=\"strokeWidth()\" [attr.stroke]=\"rangeColor()\" [class]=\"cx('range')\" [pBind]=\"ptm('range')\"></path>\n <path [attr.d]=\"valuePath()\" [attr.stroke-width]=\"strokeWidth()\" [attr.stroke]=\"valueColor()\" [class]=\"cx('value')\" [pBind]=\"ptm('value')\"></path>\n @if (showValue()) {\n <text [attr.x]=\"50\" [attr.y]=\"57\" text-anchor=\"middle\" [attr.fill]=\"textColor()\" [class]=\"cx('text')\" [attr.name]=\"name()\" [pBind]=\"ptm('text')\">\n {{ valueToDisplay() }}\n </text>\n }\n </svg>\n `,\n providers: [KNOB_VALUE_ACCESSOR, KnobStyle, { provide: KNOB_INSTANCE, useExisting: Knob }, { provide: PARENT_INSTANCE, useExisting: Knob }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class Knob extends BaseEditableHolder<KnobPassThrough> {\n componentName = 'Knob';\n\n $pcKnob: Knob | undefined = inject(KNOB_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\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 * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n /**\n * Background of the value.\n * @group Props\n */\n valueColor = input($dt('knob.value.background').variable);\n /**\n * Background color of the range.\n * @group Props\n */\n rangeColor = input($dt('knob.range.background').variable);\n /**\n * Color of the value text.\n * @group Props\n */\n textColor = input($dt('knob.text.color').variable);\n /**\n * Template string of the value.\n * @group Props\n */\n valueTemplate = input('{value}');\n /**\n * Size of the component in pixels.\n * @group Props\n */\n size = input(100, { transform: numberAttribute });\n /**\n * Mininum boundary value.\n * @group Props\n */\n min = input(0, { transform: numberAttribute });\n /**\n * Maximum boundary value.\n * @group Props\n */\n max = input(100, { transform: numberAttribute });\n /**\n * Step factor to increment/decrement the value.\n * @group Props\n */\n step = input(1, { transform: numberAttribute });\n /**\n * Width of the knob stroke.\n * @group Props\n */\n strokeWidth = input(14, { transform: numberAttribute });\n /**\n * Whether the show the value inside the knob.\n * @group Props\n */\n showValue = input(true, { transform: booleanAttribute });\n /**\n * When present, it specifies that the component value cannot be edited.\n * @group Props\n */\n readonly = input(false, { transform: booleanAttribute });\n /**\n * Callback to invoke on value change.\n * @param {number} value - New value.\n * @group Emits\n */\n onChange = output<number>();\n\n radius: number = 40;\n\n midX: number = 50;\n\n midY: number = 50;\n\n minRadians: number = (4 * Math.PI) / 3;\n\n maxRadians: number = -Math.PI / 3;\n\n value = signal<number>(0);\n\n windowMouseMoveListener: VoidListener;\n\n windowMouseUpListener: VoidListener;\n\n windowTouchMoveListener: VoidListener;\n\n windowTouchEndListener: VoidListener;\n\n _componentStyle = inject(KnobStyle);\n\n attrTabindex = computed(() => (this.readonly() || this.$disabled() ? -1 : this.tabindex()));\n\n attrRequired = computed(() => (this.required() ? '' : undefined));\n\n svgSize = computed(() => this.size() + 'px');\n\n _value = computed(() => (this.value() != null ? this.value() : this.min()));\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n mapRange(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n }\n\n onClick(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly()) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n }\n\n updateValue(offsetX: number, offsetY: number) {\n let dx = offsetX - this.size() / 2;\n let dy = this.size() / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math.PI / 2 - Math.PI / 6;\n\n this.updateModel(angle, start);\n }\n\n updateModel(angle: number, start: number) {\n let mappedValue;\n\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min(), this.max());\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math.PI, this.minRadians, this.maxRadians, this.min(), this.max());\n else return;\n\n let newValue = Math.round((mappedValue - this.min()) / this.step()) * this.step() + this.min();\n\n this.value.set(newValue);\n this.writeModelValue(this.value());\n this.onModelChange(this.value());\n this.onChange.emit(this.value());\n }\n\n onMouseDown(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly()) {\n const window = this.document.defaultView || 'window';\n\n this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));\n this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));\n event.preventDefault();\n }\n }\n\n onMouseUp(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly()) {\n if (this.windowMouseMoveListener) {\n this.windowMouseMoveListener();\n this.windowMouseUpListener = null;\n }\n\n if (this.windowMouseUpListener) {\n this.windowMouseUpListener();\n this.windowMouseMoveListener = null;\n }\n\n event.preventDefault();\n }\n }\n\n onTouchStart(event: TouchEvent) {\n if (!this.$disabled() && !this.readonly()) {\n const window = this.document.defaultView || 'window';\n\n this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));\n this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));\n event.preventDefault();\n }\n }\n\n onTouchEnd(event: TouchEvent) {\n if (!this.$disabled() && !this.readonly()) {\n if (this.windowTouchMoveListener) {\n this.windowTouchMoveListener();\n }\n\n if (this.windowTouchEndListener) {\n this.windowTouchEndListener();\n }\n\n this.windowTouchMoveListener = null;\n this.windowTouchEndListener = null;\n event.preventDefault();\n }\n }\n\n onMouseMove(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly()) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n }\n\n onTouchMove(event: Event) {\n if (!this.$disabled() && !this.readonly() && event instanceof TouchEvent && event.touches.length === 1) {\n const rect = this.el.nativeElement.children[0].getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n\n if (touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n\n this.updateValue(offsetX, offsetY);\n }\n }\n }\n\n updateModelValue(newValue: number) {\n if (newValue > this.max()) this.value.set(this.max());\n else if (newValue < this.min()) this.value.set(this.min());\n else this.value.set(newValue);\n\n this.writeModelValue(this.value());\n this.onModelChange(this.value());\n this.onChange.emit(this.value());\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (!this.$disabled() && !this.readonly()) {\n switch (event.code) {\n case 'ArrowRight':\n\n // falls through\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this._value() + 1);\n break;\n }\n\n case 'ArrowLeft':\n\n // falls through\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this._value() - 1);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.updateModelValue(this.min());\n\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.updateModelValue(this.max());\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this._value() + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this._value() - 10);\n break;\n }\n }\n }\n }\n\n rangePath() {\n return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;\n }\n\n valuePath() {\n return `M ${this.zeroX()} ${this.zeroY()} A ${this.radius} ${this.radius} 0 ${this.largeArc()} ${this.sweep()} ${this.valueX()} ${this.valueY()}`;\n }\n\n zeroRadians() {\n if (this.min() > 0 && this.max() > 0) return this.mapRange(this.min(), this.min(), this.max(), this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min(), this.max(), this.minRadians, this.maxRadians);\n }\n\n valueRadians() {\n return this.mapRange(this._value(), this.min(), this.max(), this.minRadians, this.maxRadians);\n }\n\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n }\n\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n }\n\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n }\n\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n }\n\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians()) * this.radius;\n }\n\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians()) * this.radius;\n }\n\n valueX() {\n return this.midX + Math.cos(this.valueRadians()) * this.radius;\n }\n\n valueY() {\n return this.midY - Math.sin(this.valueRadians()) * this.radius;\n }\n\n largeArc() {\n return Math.abs(this.zeroRadians() - this.valueRadians()) < Math.PI ? 0 : 1;\n }\n\n sweep() {\n return this.valueRadians() > this.zeroRadians() ? 0 : 1;\n }\n\n valueToDisplay() {\n return this.valueTemplate().replace('{value}', this._value().toString());\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) {\n this.value.set(value);\n setModelValue(this.value());\n }\n}\n\n@NgModule({\n imports: [Knob, SharedModule],\n exports: [Knob, SharedModule]\n})\nexport class KnobModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-label.mjs","names":[],"sources":["../../src/label/style/labelstyle.ts","../../src/label/label.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/label';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-label p-component'\n};\n\n@Injectable()\nexport class LabelStyle extends BaseStyle {\n name = 'label';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Label is used to create labels for form elements.\n *\n * [Live Demo](https://www.primeng.org/label/)\n *\n * @module labelstyle\n *\n */\nexport enum LabelClasses {\n /**\n * Class name of the root element\n */\n root = 'p-label'\n}\n","import { Directive, inject, InjectionToken, NgModule } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { LabelPassThrough } from 'primeng/types/label';\nimport { LabelStyle } from './style/labelstyle';\n\nconst LABEL_INSTANCE = new InjectionToken<Label>('LABEL_INSTANCE');\n\n/**\n * Label directive is an extension to standard label element with theming.\n * @group Components\n */\n@Directive({\n selector: 'label[pLabel]',\n standalone: true,\n host: {\n '[class]': \"cx('root')\"\n },\n providers: [LabelStyle, { provide: LABEL_INSTANCE, useExisting: Label }, { provide: PARENT_INSTANCE, useExisting: Label }],\n hostDirectives: [Bind]\n})\nexport class Label extends BaseComponent<LabelPassThrough> {\n componentName = 'Label';\n\n _componentStyle = inject(LabelStyle);\n\n $pcLabel: Label | undefined = inject(LABEL_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n}\n\n@NgModule({\n imports: [Label],\n exports: [Label]\n})\nexport class LabelModule {}\n"],"mappings":";;;;;;;AAIA,MAAM,UAAU,EACZ,MAAM,sBACT;AAGD,IAAa,aAAb,MAAa,mBAAmB,UAAS;CACrC,OAAO;CAEP,QAAQ;CAER,UAAU;CALD,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAU,MAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAV,OAAA,QAAA,GAAA,sBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;CAAU,CAAA;;AAAV,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAU,YAAA,CAAA,EADtB,MAAA,WAAA,CAAA;;AAkBD,IAAY;CAAZ,SAAY,cAAY;CAIpB,aAAA,UAAA;AACJ,EAAA,CALY,iBAAA,eAAY,CAAA,EAAA;ACpBxB,MAAM,iBAAiB,IAAI,eAAsB,gBAAgB;AAejE,IAAa,QAAb,MAAa,cAAc,cAA+B;CACtD,gBAAgB;CAEhB,kBAAkB,OAAO,UAAU;CAEnC,WAA8B,OAAO,gBAAgB;EAAE,UAAU;EAAM,UAAU;CAAI,CAAE,KAAK;CAE5F,wBAAwB,OAAO,MAAM,EAAE,MAAM,KAAI,CAAE;CAEnD,qBAAkB;EACd,KAAK,sBAAsB,SAAS,KAAK,IAAI,MAAM,CAAC;CACxD;CAXS,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAK,MAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAL,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAK,cAAA;EAAA,UAAA;EAAA,MAAA,EAAA,YAAA,EAAA,SAAA,aAAA,EAAA;EAAA,WAHH;GAAC;GAAY;IAAE,SAAS;IAAgB,aAAa;GAAK;GAAI;IAAE,SAAS;IAAiB,aAAa;GAAK;EAAE;EAAC,iBAAA;EAAA,gBAAA,CAAA,EAAA,WAAA,GAAA,KAAA,CAAA;EAAA,UAAA;CAAA,CAAA;;AAGjH,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAK,YAAA,CAAA;EATjB,MAAA;EAAU,MAAA,CAAA;GACP,UAAU;GACV,YAAY;GACZ,MAAM,EACF,WAAW,aACd;GACD,WAAW;IAAC;IAAY;KAAE,SAAS;KAAgB,aAAW;IAAO;IAAI;KAAE,SAAS;KAAiB,aAAW;IAAO;GAAE;GACzH,gBAAgB,CAAC,IAAI;EACxB,CAAA;;;AAmBD,IAAa,cAAb,MAAa,YAAW;CAAX,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAW,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAX,OAAA,OAAA,GAAA,oBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAW,SAAA,CAlBX,KAAK;EAAA,SAAA,CAAL,KAAK;CAAA,CAAA;CAkBL,OAAA,OAAA,GAAA,oBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;CAAW,CAAA;;AAAX,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAW,YAAA,CAAA;EAJvB,MAAA;EAAS,MAAA,CAAA;GACN,SAAS,CAAC,KAAK;GACf,SAAS,CAAC,KAAK;EAClB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-license.mjs","names":[],"sources":["../../src/license/licensebanner.ts"],"sourcesContent":["/**\n * Inject a fixed-positioned banner into the bottom-right of the page when the\n * PrimeNG license cannot be verified.\n *\n * The banner content is rendered inside a closed-mode shadow root so page-level\n * CSS cannot reach into it. `all:initial` on the host element blocks inherited\n * styles. The host carries no semantically obvious id, slowing down trivial\n * hide-by-selector attempts.\n *\n * Idempotent — guarded by the host id, so multiple call sites (the providePrimeNG\n * initializer resolving, BaseComponent detecting a failed verify) cannot produce\n * more than one banner per page.\n *\n * SSR-safe — short-circuits when `document` is undefined.\n *\n * Note: client-side license enforcement is anti-honest-user signaling, not\n * anti-piracy. The cryptographic signature (Ed25519) is what actually prevents\n * forging valid tokens. This banner just makes the licensing problem visible\n * to a legitimate customer whose key needs attention.\n */\nexport function showInvalidLicenseBanner(): void {\n if (typeof document === 'undefined') return;\n\n if (document.getElementById('p-license-host')) return;\n\n const host = document.createElement('div');\n\n host.id = 'p-license-host';\n host.style.cssText = 'all:initial;position:fixed;bottom:16px;right:16px;z-index:2147483647;pointer-events:none;';\n\n const shadow = host.attachShadow({ mode: 'closed' });\n\n shadow.innerHTML = '<div role=\"alert\" style=\"padding:10px 14px;background:#991b1b;color:#fff;font:600 13px/1.2 system-ui,-apple-system,sans-serif;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.2);\">' + 'Invalid PrimeUI License' + '</div>';\n\n document.body.appendChild(host);\n}\n"],"mappings":"AAoBA,SAAgB,2BAAwB;CACpC,IAAI,OAAO,aAAa,aAAa;CAErC,IAAI,SAAS,eAAe,gBAAgB,GAAG;CAE/C,MAAM,OAAO,SAAS,cAAc,KAAK;CAEzC,KAAK,KAAK;CACV,KAAK,MAAM,UAAU;CAErB,MAAM,SAAS,KAAK,aAAa,EAAE,MAAM,SAAQ,CAAE;CAEnD,OAAO,YAAY;CAEnB,SAAS,KAAK,YAAY,IAAI;AAClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-listbox.mjs","names":["style","listbox_style","SearchIcon","CheckIcon","BlankIcon"],"sources":["../../src/listbox/style/listboxstyle.ts","../../src/listbox/listbox.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as listbox_style } from '@primeuix/styles/listbox';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = /*css*/ `\n ${listbox_style}\n\n /* For PrimeNG */\n .p-listbox.ng-invalid.ng-dirty {\n border-color: dt('listbox.invalid.border.color');\n }\n\n .p-listbox-header {\n display: flex;\n align-items: center;\n }\n\n .p-listbox-header > .p-iconfield {\n flex-grow: 1;\n }\n\n .p-listbox-list-container {\n height: 100%;\n }\n\n .p-listbox-flex-scrollable {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .p-listbox-flex-scrollable .p-listbox-list-container {\n flex: 1;\n }\n\n /* CDK Drag & Drop styles */\n .p-listbox-option.cdk-drag-preview,\n .p-listbox-drag-preview .p-listbox-option {\n background: dt('listbox.background');\n }\n\n .p-listbox.p-listbox-drag-preview {\n max-width: 20rem;\n pointer-events: none;\n background: transparent;\n border: 0 none;\n box-shadow: none;\n }\n\n .p-listbox-drag-preview .p-listbox-list {\n padding: 0;\n }\n\n .p-listbox-drag-preview-more {\n opacity: 0.7;\n }\n\n .p-listbox-dragging .p-listbox-option:not(.cdk-drag-preview) {\n pointer-events: none !important;\n }\n\n .p-listbox-dragging .p-listbox-option:not(.cdk-drag-preview):hover {\n background: inherit !important;\n color: inherit !important;\n }\n\n .cdk-drag-placeholder {\n pointer-events: none;\n }\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-listbox p-component',\n {\n 'p-listbox-striped': instance.striped(),\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-listbox-fluid': instance.fluid(),\n 'p-listbox-dragging': instance.isDragging(),\n 'p-listbox-flex-scrollable': instance.scrollHeight() === 'flex'\n }\n ],\n header: 'p-listbox-header',\n pcFilter: 'p-listbox-filter',\n listContainer: 'p-listbox-list-container',\n list: 'p-listbox-list',\n optionGroup: 'p-listbox-option-group',\n option: ({ instance, option, i, scrollerOptions }) => [\n 'p-listbox-option',\n {\n 'p-listbox-option-selected': instance.isSelected(option) && instance.highlightOnSelect(),\n 'p-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),\n 'p-disabled': instance.isOptionDisabled(option)\n }\n ],\n optionCheckIcon: 'p-listbox-option-check-icon',\n optionBlankIcon: 'p-listbox-option-blank-icon',\n emptyMessage: 'p-listbox-empty-message',\n dragPreview: 'p-listbox p-component p-listbox-drag-preview',\n dragPreviewOption: 'p-listbox-option',\n dragPreviewMore: 'p-listbox-option p-listbox-drag-preview-more'\n};\n\n@Injectable()\nexport class ListBoxStyle extends BaseStyle {\n name = 'listbox';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * ListBox is used to select one or more values from a list of items.\n *\n * [Live Demo](https://www.primeng.org/listbox/)\n *\n * @module listboxstyle\n *\n */\nexport enum ListboxClasses {\n /**\n * Class name of the root element\n */\n root = 'p-listbox',\n /**\n * Class name of the header element\n */\n header = 'p-listbox-header',\n /**\n * Class name of the filter element\n */\n pcFilter = 'p-listbox-filter',\n /**\n * Class name of the list container element\n */\n listContainer = 'p-listbox-list-container',\n /**\n * Class name of the list element\n */\n list = 'p-listbox-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-listbox-option-group',\n /**\n * Class name of the option element\n */\n option = 'p-listbox-option',\n /**\n * Class name of the option check icon element\n */\n optionCheckIcon = 'p-listbox-option-check-icon',\n /**\n * Class name of the option blank icon element\n */\n optionBlankIcon = 'p-listbox-option-blank-icon',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-listbox-empty-message',\n /**\n * Class name of the multi-selection drag preview container\n */\n dragPreview = 'p-listbox-drag-preview',\n /**\n * Class name of the overflow row in the multi-selection drag preview\n */\n dragPreviewMore = 'p-listbox-drag-preview-more'\n}\n\nexport interface ListboxStyle extends BaseStyle {}\n","import { CDK_DRAG_CONFIG, CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n InjectionToken,\n input,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Blank as BlankIcon } from '@primeicons/angular/blank';\nimport { Check as CheckIcon } from '@primeicons/angular/check';\nimport { Search as SearchIcon } from '@primeicons/angular/search';\nimport { equals, findLastIndex, findSingle, focus, getFirstFocusableElement, isEmpty, isFunction, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from '@primeuix/utils';\nimport { FilterMatchModeType, FilterService, Footer, Header, ScrollerOptions, SharedModule } from 'primeng/api';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Checkbox } from 'primeng/checkbox';\nimport { IconField } from 'primeng/iconfield';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputText } from 'primeng/inputtext';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller, ScrollerLazyLoadEvent } from 'primeng/scroller';\nimport type {\n ListboxChangeEvent,\n ListboxCheckIconTemplateContext,\n ListboxCheckmarkTemplateContext,\n ListboxClickEvent,\n ListboxDoubleClickEvent,\n ListboxFilterEvent,\n ListboxFilterOptions,\n ListboxFilterTemplateContext,\n ListboxFooterTemplateContext,\n ListboxGroupTemplateContext,\n ListboxHeaderTemplateContext,\n ListboxItemTemplateContext,\n ListboxLoaderTemplateContext,\n ListBoxPassThrough,\n ListboxSelectAllChangeEvent\n} from 'primeng/types/listbox';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport { ListBoxStyle } from './style/listboxstyle';\n\nconst LISTBOX_INSTANCE = new InjectionToken<Listbox>('LISTBOX_INSTANCE');\n\nexport const LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Listbox),\n multi: true\n};\n/**\n * ListBox is used to select one or more values from a list of items.\n * @group Components\n */\n@Component({\n selector: 'p-listbox, p-list-box',\n standalone: true,\n imports: [NgTemplateOutlet, Ripple, Scroller, InputIcon, SearchIcon, Checkbox, CheckIcon, IconField, InputText, BlankIcon, FormsModule, SharedModule, DragDropModule, BindModule],\n template: `\n <span\n #firstHiddenFocusableElement\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [tabindex]=\"hiddenFocusableTabindex()\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenFirstFocusableElement')\"\n >\n </span>\n @if (hasHeader()) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate(); context: headerTemplateContext()\"></ng-container>\n </div>\n }\n @if (hasCheckboxOrFilter()) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n @if (showCheckboxToggleAll()) {\n <p-checkbox\n #headerchkbox\n (onChange)=\"onToggleAll($event)\"\n [class]=\"cx('optionCheckIcon')\"\n [ngModel]=\"allSelected()\"\n [disabled]=\"$disabled()\"\n [tabindex]=\"-1\"\n [variant]=\"checkboxVariant()\"\n [binary]=\"true\"\n [attr.aria-label]=\"toggleAllAriaLabel()\"\n [pt]=\"ptm('pcCheckbox')\"\n [unstyled]=\"unstyled()\"\n >\n @if (checkIconTemplate()) {\n <ng-template #icon>\n <ng-container *ngTemplateOutlet=\"checkIconTemplate(); context: allSelectedContext()\"></ng-container>\n </ng-template>\n }\n </p-checkbox>\n }\n @if (filterTemplate()) {\n <ng-container *ngTemplateOutlet=\"filterTemplate(); context: getFilterTemplateContext()\"></ng-container>\n } @else {\n @if (filter()) {\n <p-iconfield [pt]=\"ptm('pcFilterContainer')\" hostName=\"listbox\" [unstyled]=\"unstyled()\">\n <input\n #filterInput\n pInputText\n type=\"text\"\n [class]=\"cx('pcFilter')\"\n role=\"searchbox\"\n [value]=\"filterInputValue()\"\n [attr.disabled]=\"disabledAttr()\"\n [attr.aria-owns]=\"listId()\"\n [attr.aria-activedescendant]=\"focusedOptionId()\"\n [attr.placeholder]=\"filterPlaceHolder()\"\n [attr.aria-label]=\"ariaFilterLabel()\"\n [attr.tabindex]=\"filterTabindex()\"\n (input)=\"onFilterChange($event)\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n hostName=\"listbox\"\n />\n <p-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (showDefaultFilterIcon()) {\n <svg data-p-icon=\"search\" [attr.aria-hidden]=\"true\" [pBind]=\"ptm('filterIcon')\" />\n } @else {\n <span [attr.aria-hidden]=\"true\">\n <ng-container *ngTemplateOutlet=\"filterIconTemplate()\"></ng-container>\n </span>\n }\n </p-inputicon>\n </p-iconfield>\n }\n <span role=\"status\" [pBind]=\"ptm('hiddenFilterResult')\" [attr.aria-live]=\"'polite'\" class=\"p-hidden-accessible\" [attr.data-p-hidden-accessible]=\"true\">\n {{ filterResultMessageText() }}\n </span>\n }\n </div>\n }\n <div\n #container\n [class]=\"cn(cx('listContainer'), listStyleClass())\"\n [style]=\"listContainerStyle()\"\n cdkDropList\n [cdkDropListData]=\"cdkDropData()\"\n (cdkDropListDropped)=\"drop($event)\"\n (cdkDropListEntered)=\"onDragEntered()\"\n (cdkDropListExited)=\"onDragExited()\"\n [pBind]=\"ptm('listContainer')\"\n >\n @if (showFilteredEmptyMessage()) {\n <div [class]=\"cx('emptyMessage')\" [pBind]=\"ptm('emptyMessage')\">\n @if (showDefaultFilterEmptyMessage()) {\n {{ emptyFilterMessageText() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyOrFilterTemplate()\"></ng-container>\n }\n </div>\n } @else if (showEmptyMessage()) {\n <div [class]=\"cx('emptyMessage')\" [pBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate()) {\n {{ emptyMessage() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate()\"></ng-container>\n }\n </div>\n } @else {\n @if (virtualScroll()) {\n <p-scroller\n [pt]=\"ptm('virtualScroller')\"\n hostName=\"listbox\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"scrollerStyle()\"\n [itemSize]=\"virtualScrollItemSize()!\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n [options]=\"virtualScrollOptions()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [tabindex]=\"scrollerTabIndex\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: getBuildInItemsContext(items, scrollerOptions)\"></ng-container>\n </ng-template>\n @if (loaderTemplate()) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate(); context: getLoaderTemplateContext(scrollerOptions)\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n } @else {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: buildInItemsContext()\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul\n #list\n [id]=\"listId()\"\n [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\"\n role=\"listbox\"\n [tabindex]=\"-1\"\n [attr.aria-multiselectable]=\"true\"\n [style]=\"scrollerOptions.contentStyle\"\n [attr.aria-activedescendant]=\"ariaActiveDescendant()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-disabled]=\"$disabled()\"\n (focus)=\"onListFocus($event)\"\n (blur)=\"onListBlur($event)\"\n (keydown)=\"onListKeyDown($event)\"\n [pBind]=\"ptm('list')\"\n >\n @for (option of items; track getOptionTrackKey(option, $index); let i = $index) {\n @if (isOptionGroup(option)) {\n <li\n [attr.id]=\"getOptionId(i, scrollerOptions)\"\n [class]=\"cx('optionGroup')\"\n [pBind]=\"getPTOptions(option.optionGroup, scrollerOptions, i, 'optionGroup')\"\n [style.height.px]=\"scrollerOptions.itemSize\"\n role=\"option\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"dragdropDisabled()\"\n (cdkDragStarted)=\"isDragging.set(true)\"\n (cdkDragEnded)=\"isDragging.set(false)\"\n >\n @if (showDefaultGroupLabel()) {\n <span>{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate(); context: getGroupTemplateContext(option.optionGroup)\"></ng-container>\n </li>\n } @else {\n <li\n pRipple\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n role=\"option\"\n [attr.id]=\"getOptionId(i, scrollerOptions)\"\n [style.height.px]=\"scrollerOptions.itemSize\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.aria-setsize]=\"ariaSetSize()\"\n [attr.ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [attr.data-p-selected]=\"isSelected(option)\"\n [attr.data-p-focused]=\"isOptionFocused(i, scrollerOptions)\"\n [attr.data-p-disabled]=\"isOptionDisabled(option)\"\n [pBind]=\"getPTOptions(option, scrollerOptions, i, 'option')\"\n (click)=\"onOptionSelect($event, option, getOptionIndex(i, scrollerOptions))\"\n (dblclick)=\"onOptionDoubleClick($event, option)\"\n (mousedown)=\"onOptionMouseDown($event, getOptionIndex(i, scrollerOptions))\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n (touchend)=\"onOptionTouchEnd()\"\n cdkDrag\n [cdkDragData]=\"option\"\n [cdkDragDisabled]=\"dragdropDisabled()\"\n (cdkDragStarted)=\"isDragging.set(true)\"\n (cdkDragEnded)=\"isDragging.set(false)\"\n >\n @if (showOptionCheckbox()) {\n <p-checkbox\n [class]=\"cx('optionCheckIcon')\"\n [ngModel]=\"isSelected(option)\"\n [readonly]=\"true\"\n [disabled]=\"getOptionCheckboxDisabled(option)\"\n [tabindex]=\"-1\"\n [variant]=\"checkboxVariant()\"\n [binary]=\"true\"\n [pt]=\"ptm('pcCheckbox')\"\n hostName=\"listbox\"\n [unstyled]=\"unstyled()\"\n >\n @if (checkIconTemplate()) {\n <ng-template #icon>\n <ng-container *ngTemplateOutlet=\"checkIconTemplate(); context: getCheckIconContext(option)\"></ng-container>\n </ng-template>\n }\n </p-checkbox>\n }\n @if (checkmark()) {\n @if (showDefaultCheckmark()) {\n @if (!isSelected(option)) {\n <svg data-p-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [pBind]=\"ptm('optionBlankIcon')\" />\n } @else {\n <svg data-p-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [pBind]=\"ptm('optionCheckIcon')\" />\n }\n }\n <ng-container *ngTemplateOutlet=\"checkmarkTemplate(); context: getCheckmarkContext(option)\"></ng-container>\n }\n @if (showDefaultItemLabel()) {\n <span>{{ getOptionLabel(option) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: getItemTemplateContext(option, i, scrollerOptions)\"></ng-container>\n @if (isMultiDrag(option)) {\n <!-- Mirrors the listbox DOM (root > list > option) so the theme's\n scoped option styles apply to the body-appended CDK preview. -->\n <ng-template cdkDragPreview>\n <div [class]=\"cx('dragPreview')\" [pBind]=\"ptm('dragPreview')\">\n <ul [class]=\"cx('list')\">\n @for (dragOption of dragPreviewOptions().slice(0, dragPreviewLimit); track getOptionTrackKey(dragOption, $index)) {\n <li [class]=\"cx('dragPreviewOption')\" [pBind]=\"ptm('dragPreviewOption')\">\n @if (showDefaultItemLabel()) {\n <span>{{ getOptionLabel(dragOption) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: getDragPreviewTemplateContext(dragOption)\"></ng-container>\n </li>\n }\n @if (dragPreviewOptions().length > dragPreviewLimit) {\n <li [class]=\"cx('dragPreviewMore')\" [pBind]=\"ptm('dragPreviewMore')\">+{{ dragPreviewOptions().length - dragPreviewLimit }}</li>\n }\n </ul>\n </div>\n </ng-template>\n }\n </li>\n }\n }\n </ul>\n </ng-template>\n }\n </div>\n @if (hasFooter()) {\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: footerTemplateContext()\"></ng-container>\n }\n @if (isEmpty()) {\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenEmptyMessage')\">\n {{ emptyMessage() }}\n </span>\n }\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenSelectedMessage')\">\n {{ selectedMessageText() }}\n </span>\n <span\n #lastHiddenFocusableElement\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [tabindex]=\"hiddenFocusableTabindex()\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenLastFocusableEl')\"\n >\n </span>\n `,\n providers: [\n LISTBOX_VALUE_ACCESSOR,\n ListBoxStyle,\n {\n provide: CDK_DRAG_CONFIG,\n useValue: {\n zIndex: 1200\n }\n },\n { provide: LISTBOX_INSTANCE, useExisting: Listbox },\n { provide: PARENT_INSTANCE, useExisting: Listbox }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.id]': '$id()',\n '[class]': \"cx('root')\",\n '[attr.data-p]': 'containerDataP'\n },\n hostDirectives: [Bind]\n})\nexport class Listbox extends BaseEditableHolder<ListBoxPassThrough> {\n componentName = 'Listbox';\n\n hostName = input<string>('');\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcListbox: Listbox | undefined = inject(LISTBOX_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n filterService = inject(FilterService);\n\n /**\n * Unique identifier of the component.\n * @group Props\n */\n id = input<string>();\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n searchMessage = input<string>();\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n emptySelectionMessage = input<string>();\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n selectionMessage = input<string>();\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(true, { transform: booleanAttribute });\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n selectOnFocus = input(undefined, { transform: booleanAttribute });\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n searchLocale = input(undefined, { transform: booleanAttribute });\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n focusOnHover = input(true, { transform: booleanAttribute });\n /**\n * Text to display when filtering.\n * @group Props\n */\n filterMessage = input<string>();\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n filterFields = input<any[]>();\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 * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input(undefined, { transform: numberAttribute });\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 * 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>('14rem');\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n /**\n * When specified, allows selecting multiple values.\n * @group Props\n */\n multiple = input(undefined, { transform: booleanAttribute });\n /**\n * Inline style of the list element.\n * @group Props\n */\n listStyle = input<CSSProperties>();\n /**\n * Style class of the list element.\n * @group Props\n */\n listStyleClass = input<string>();\n /**\n * When present, it specifies that the element value cannot be changed.\n * @group Props\n */\n readonly = input(undefined, { transform: booleanAttribute });\n /**\n * When specified, allows selecting items with checkboxes.\n * @group Props\n */\n checkbox = input(false, { transform: booleanAttribute });\n /**\n * When specified, displays a filter input at header.\n * @group Props\n */\n filter = input(false, { 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 * Defines how the items are filtered.\n * @group Props\n */\n filterMatchMode = input<FilterMatchModeType>('contains');\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 * Defines how multiple items can be selected, 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 * A property to uniquely identify a value in options.\n * @group Props\n */\n dataKey = input<string>();\n /**\n * Whether header checkbox is shown in multiple mode.\n * @group Props\n */\n showToggleAll = input(true, { transform: booleanAttribute });\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 options field of an option group.\n * @group Props\n */\n optionGroupChildren = input<string>('items');\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 disabled field of an option or function to determine disabled state.\n * @group Props\n */\n optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n ariaFilterLabel = input<string>();\n /**\n * Defines placeholder of the filter input.\n * @group Props\n */\n filterPlaceHolder = input<string>();\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 * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n group = input(undefined, { transform: booleanAttribute });\n /**\n * An array of selectitems 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>();\n /**\n * Whether all data is selected.\n * @group Props\n */\n selectAll = input<boolean>();\n /**\n * Whether to displays rows with alternating colors.\n * @group Props\n * @defaultValue false\n */\n striped = input(false, { transform: booleanAttribute });\n /**\n * Whether the selected option will be add highlight class.\n * @group Props\n * @defaultValue true\n */\n highlightOnSelect = input(true, { transform: booleanAttribute });\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n * @defaultValue false\n */\n checkmark = input(false, { transform: booleanAttribute });\n /**\n * Whether to enable dragdrop based reordering.\n * @group Props\n */\n dragdrop = input(false, { transform: booleanAttribute });\n /**\n * Array to use for CDK drop list data binding. When not provided, uses options array.\n * @group Props\n */\n dropListData = input<any[]>();\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 * Callback to invoke on value change.\n * @param {ListboxChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = output<ListboxChangeEvent>();\n /**\n * Callback to invoke when option is clicked.\n * @param {ListboxClickEvent} event - Custom click event.\n * @group Emits\n */\n onClick = output<ListboxClickEvent>();\n /**\n * Callback to invoke when option is double clicked.\n * @param {ListboxDoubleClickEvent} event - Custom double click event.\n * @group Emits\n */\n onDblClick = output<ListboxDoubleClickEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {ListboxFilterEvent} event - Custom filter event.\n * @group Emits\n */\n onFilter = output<ListboxFilterEvent>();\n /**\n * Callback to invoke when component receives focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n onFocus = output<FocusEvent>();\n /**\n * Callback to invoke when component loses focus.\n * @param {FocusEvent} event - Blur event.\n * @group Emits\n */\n onBlur = output<FocusEvent>();\n /**\n * Callback to invoke when all data is selected.\n * @param {ListboxSelectAllChangeEvent} event - Custom select event.\n * @group Emits\n */\n onSelectAllChange = output<ListboxSelectAllChangeEvent>();\n /**\n * Emits on lazy load.\n * @param {ScrollerLazyLoadEvent} event - Scroller lazy load event.\n * @group Emits\n */\n onLazyLoad = output<ScrollerLazyLoadEvent>();\n /**\n * Emits on item is dropped.\n * @param {CdkDragDrop<string[]>} event - Scroller lazy load event.\n * @group Emits\n */\n onDrop = output<CdkDragDrop<string[]>>();\n\n headerCheckboxViewChild = viewChild<ElementRef>('headerchkbox');\n\n filterViewChild = viewChild<ElementRef>('filterInput');\n\n lastHiddenFocusableElement = viewChild<ElementRef>('lastHiddenFocusableElement');\n\n firstHiddenFocusableElement = viewChild<ElementRef>('firstHiddenFocusableElement');\n\n scroller = viewChild<Scroller>('scroller');\n\n listViewChild = viewChild<ElementRef>('list');\n\n containerViewChild = viewChild<ElementRef>('container');\n\n headerFacet = contentChild(Header, { descendants: false });\n\n footerFacet = contentChild(Footer, { descendants: false });\n\n /**\n * Custom item template.\n * @param {ListboxItemTemplateContext} context - item context.\n * @see {@link ListboxItemTemplateContext}\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<ListboxItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom group template.\n * @param {ListboxGroupTemplateContext} context - group context.\n * @see {@link ListboxGroupTemplateContext}\n * @group Templates\n */\n groupTemplate = contentChild<TemplateRef<ListboxGroupTemplateContext>>('group', { descendants: false });\n\n /**\n * Custom header template.\n * @param {ListboxHeaderTemplateContext} context - header context.\n * @see {@link ListboxHeaderTemplateContext}\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<ListboxHeaderTemplateContext>>('header', { descendants: false });\n\n /**\n * Custom filter template.\n * @param {ListboxFilterTemplateContext} context - filter context.\n * @see {@link ListboxFilterTemplateContext}\n * @group Templates\n */\n filterTemplate = contentChild<TemplateRef<ListboxFilterTemplateContext>>('filter', { descendants: false });\n\n /**\n * Custom footer template.\n * @param {ListboxFooterTemplateContext} context - footer context.\n * @see {@link ListboxFooterTemplateContext}\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<ListboxFooterTemplateContext>>('footer', { descendants: false });\n\n /**\n * Custom empty filter message template.\n * @group Templates\n */\n emptyFilterTemplate = contentChild<TemplateRef<void>>('emptyfilter', { descendants: false });\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { 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 check icon template.\n * @param {ListboxCheckIconTemplateContext} context - check icon context.\n * @see {@link ListboxCheckIconTemplateContext}\n * @group Templates\n */\n checkIconTemplate = contentChild<TemplateRef<ListboxCheckIconTemplateContext>>('checkicon', { descendants: false });\n\n /**\n * Custom checkmark icon template.\n * @param {ListboxCheckmarkTemplateContext} context - checkmark context.\n * @see {@link ListboxCheckmarkTemplateContext}\n * @group Templates\n */\n checkmarkTemplate = contentChild<TemplateRef<ListboxCheckmarkTemplateContext>>('checkmark', { descendants: false });\n\n /**\n * Custom loader template.\n * @param {ListboxLoaderTemplateContext} context - loader context.\n * @see {@link ListboxLoaderTemplateContext}\n * @group Templates\n */\n loaderTemplate = contentChild<TemplateRef<ListboxLoaderTemplateContext>>('loader', { descendants: false });\n\n public _filterValue = signal<string | null | undefined>(null);\n\n public _filteredOptions: any[] | undefined | null;\n\n filterOptions: ListboxFilterOptions | undefined;\n\n public filtered: boolean | undefined | null;\n\n public value: any | undefined | null;\n\n public optionTouched: boolean | undefined | null;\n\n public focus: boolean | undefined | null;\n\n public headerCheckboxFocus: boolean | undefined | null;\n\n private translation = toSignal(this.config.translationObserver, { initialValue: this.config.translation });\n\n focused: boolean | undefined;\n\n scrollerTabIndex: number = 0;\n\n _componentStyle = inject(ListBoxStyle);\n\n _options = signal<any>(null);\n\n startRangeIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n isDragging = signal<boolean>(false);\n\n searchValue: string | undefined;\n\n searchTimeout: any;\n\n private _internalId = uuid('pn_id_');\n\n $id = computed(() => this.id() || this._internalId);\n\n $tabindex = computed(() => this.tabindex() ?? 0);\n\n /**\n * Computed property for hidden focusable element tabindex\n */\n hiddenFocusableTabindex = computed(() => (!this.$disabled() ? this.$tabindex() : -1));\n\n /**\n * Computed property for header section visibility\n */\n hasHeader = computed(() => !!this.headerFacet() || !!this.headerTemplate());\n\n /**\n * Computed property for footer section visibility\n */\n hasFooter = computed(() => !!this.footerFacet() || !!this.footerTemplate());\n\n /**\n * Computed property for checkbox/filter header visibility\n */\n hasCheckboxOrFilter = computed(() => (this.checkbox() && this.multiple() && this.showToggleAll()) || this.filter());\n\n /**\n * Computed property for showing checkbox toggle all\n */\n showCheckboxToggleAll = computed(() => this.checkbox() && this.multiple() && this.showToggleAll());\n\n /**\n * Computed property for showing option checkbox\n */\n showOptionCheckbox = computed(() => this.checkbox() && this.multiple());\n\n /**\n * Computed property for showing filtered empty message\n */\n showFilteredEmptyMessage = computed(() => this.hasFilter() && this.isEmpty());\n\n /**\n * Computed property for showing empty message\n */\n showEmptyMessage = computed(() => !this.hasFilter() && this.isEmpty());\n\n /**\n * Computed property for aria-activedescendant\n */\n ariaActiveDescendant = computed(() => (this.focused ? this.focusedOptionId() : undefined));\n\n /**\n * Computed property for header template context\n */\n headerTemplateContext = computed(() => ({ $implicit: this.modelValue(), options: this.visibleOptions() }));\n\n /**\n * Computed property for footer template context\n */\n footerTemplateContext = computed(() => ({ $implicit: this.modelValue(), options: this.visibleOptions() }));\n\n /**\n * Computed property for filter input value\n */\n filterInputValue = computed(() => this._filterValue() || '');\n\n /**\n * Computed property for disabled attribute\n */\n disabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n /**\n * Computed property for list id\n */\n listId = computed(() => `${this.$id()}_list`);\n\n /**\n * Computed property for scroller style\n */\n scrollerStyle = computed(() => ({ height: this.scrollHeight() === 'flex' ? '100%' : this.scrollHeight() }));\n\n /**\n * Computed property for showing default filter empty message\n */\n showDefaultFilterEmptyMessage = computed(() => !this.emptyFilterTemplate() && !this.emptyTemplate());\n\n /**\n * Computed property for empty or filter template\n */\n emptyOrFilterTemplate = computed(() => this.emptyFilterTemplate() || this.emptyTemplate());\n\n /**\n * Computed property for build in items context\n */\n buildInItemsContext = computed(() => ({ $implicit: this.visibleOptions(), options: {} }));\n\n /**\n * Computed property for dragdrop disabled\n */\n dragdropDisabled = computed(() => !this.dragdrop());\n\n /**\n * Computed property for check icon context\n */\n allSelectedContext = computed(() => ({ $implicit: this.allSelected() }));\n\n /**\n * Computed property for showing default checkmark\n */\n showDefaultCheckmark = computed(() => !this.checkmarkTemplate());\n\n /**\n * Computed property for showing default item label\n */\n showDefaultItemLabel = computed(() => !this.itemTemplate());\n\n /**\n * Computed property for showing default group label\n */\n showDefaultGroupLabel = computed(() => !this.groupTemplate());\n\n /**\n * Computed property for showing filter icon\n */\n showDefaultFilterIcon = computed(() => !this.filterIconTemplate());\n\n /**\n * Computed property for stable CDK drop list data reference\n */\n cdkDropData = computed(() => this.dropListData() || this._options());\n\n checkboxVariant = computed(() => (this.config.inputVariant() === 'filled' ? 'filled' : 'outlined'));\n\n listContainerStyle = computed(() => {\n const listStyle = this.listStyle();\n const scrollHeight = this.scrollHeight();\n const maxHeight = this.virtualScroll() || scrollHeight === 'flex' ? 'auto' : scrollHeight || 'auto';\n\n return { ...listStyle, 'max-height': maxHeight };\n });\n\n focusedOptionId = computed(() => (this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null));\n\n filterTabindex = computed(() => (!this.$disabled() && !this.focused ? this.$tabindex() : -1));\n\n filterResultMessageText = computed(() => (isNotEmpty(this.visibleOptions()) ? this.filterMessageText().replaceAll('{0}', String(this.visibleOptions().length)) : this.emptyFilterMessageText()));\n\n filterMessageText = computed(() => {\n const t = this.translation();\n\n return this.filterMessage() || t?.searchMessage || '';\n });\n\n searchMessageText = computed(() => {\n const t = this.translation();\n\n return this.searchMessage() || t?.searchMessage || '';\n });\n\n emptyFilterMessageText = computed(() => {\n const t = this.translation();\n\n return this.emptyFilterMessage() || t?.emptySearchMessage || t?.emptyFilterMessage || '';\n });\n\n selectionMessageText = computed(() => {\n const t = this.translation();\n\n return this.selectionMessage() || t?.selectionMessage || '';\n });\n\n emptySelectionMessageText = computed(() => {\n const t = this.translation();\n\n return this.emptySelectionMessage() || t?.emptySelectionMessage || '';\n });\n\n selectedMessageText = computed(() => (this.hasSelectedOption() ? this.selectionMessageText().replaceAll('{0}', this.multiple() ? String(this.modelValue().length) : '1') : this.emptySelectionMessageText()));\n\n ariaSetSize = computed(() => this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length);\n\n virtualScrollerDisabled = computed(() => !this.virtualScroll());\n\n searchFields = computed(() => this.filterBy()?.split(',') || this.filterFields() || [this.optionLabel()]);\n\n toggleAllAriaLabel = computed(() => {\n const t = this.translation();\n\n return t?.aria ? t.aria[this.allSelected() ? 'selectAll' : 'unselectAll'] : undefined;\n });\n\n visibleOptions = computed(() => {\n const options = this.group() ? this.flatOptions(this._options()) : this._options() || [];\n\n return this._filterValue() ? this.filterService.filter(options, this.searchFields(), this._filterValue(), this.filterMatchMode(), this.filterLocale()) : options;\n });\n\n constructor() {\n super();\n\n // Sync options input to internal signal\n effect(() => {\n const opts = this.options();\n\n if (opts !== undefined) {\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\n /** Options shown in the multi-drag preview before collapsing into a \"+N\" row. */\n readonly dragPreviewLimit = 4;\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n @HostListener('focusout', ['$event'])\n onHostFocusOut(event: FocusEvent) {\n this.onFocusout(event);\n }\n\n onInit() {\n this.autoUpdateModel();\n\n if (this.filterBy()) {\n this.filterOptions = {\n filter: (value) => this.onFilterChange(value),\n reset: () => this.resetFilter()\n };\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() && !this.multiple()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n }\n /**\n * Updates the model value.\n * @group Method\n */\n public updateModel(value, event?) {\n this.value = value;\n this.writeModelValue(value);\n this.onModelChange(value);\n\n this.onChange.emit({ originalEvent: event, value: this.value });\n }\n\n removeOption(option) {\n return this.modelValue().filter((val) => !equals(val, this.getOptionValue(option), this.equalityKey() || ''));\n }\n\n onOptionSelect(event, option, index = -1) {\n if (this.$disabled() || this.isOptionDisabled(option) || this.readonly()) {\n return;\n }\n\n if (event) {\n this.onClick.emit({ originalEvent: event, option, value: this.value });\n }\n\n if (this.multiple()) {\n this.onOptionSelectMultiple(event, option);\n } else {\n this.onOptionSelectSingle(event, option);\n }\n\n this.optionTouched = false;\n\n if (index !== -1) {\n this.focusedOptionIndex.set(index);\n }\n }\n\n onOptionSelectMultiple(event, option) {\n let selected = this.isSelected(option);\n let value: any[] = [];\n let metaSelection = this.optionTouched ? false : this.metaKeySelection();\n\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey;\n\n if (selected) {\n value = metaKey ? this.removeOption(option) : [this.getOptionValue(option)];\n } else {\n value = metaKey ? this.modelValue() || [] : [];\n value = [...(value || []), this.getOptionValue(option)];\n }\n } else {\n value = selected ? this.removeOption(option) : [...(this.modelValue() || []), this.getOptionValue(option)];\n }\n\n this.updateModel(value, event);\n }\n\n onOptionSelectSingle(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let value = null;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection();\n\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey;\n\n if (selected) {\n if (metaKey) {\n value = null;\n valueChanged = true;\n }\n } else {\n value = this.getOptionValue(option);\n valueChanged = true;\n }\n } else {\n value = selected ? null : this.getOptionValue(option);\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.updateModel(value, event);\n }\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 onToggleAll(event) {\n if (this.$disabled() || this.readonly()) {\n return;\n }\n\n focus(this.headerCheckboxViewChild()?.nativeElement);\n\n if (this.selectAll() !== null && this.selectAll() !== undefined) {\n this.onSelectAllChange.emit({\n originalEvent: event,\n checked: !this.allSelected()\n });\n } else {\n const value = this.allSelected()\n ? []\n : this.visibleOptions()\n .filter((option) => this.isValidOption(option))\n .map((option) => this.getOptionValue(option));\n\n this.updateModel(value, event);\n }\n }\n\n allSelected() {\n const selectAllValue = this.selectAll();\n\n return selectAllValue !== null && selectAllValue !== undefined\n ? selectAllValue\n : isNotEmpty(this.visibleOptions()) && this.visibleOptions().every((option) => this.isOptionGroup(option) || this.isOptionDisabled(option) || this.isSelected(option));\n }\n\n onOptionTouchEnd() {\n if (this.$disabled()) {\n return;\n }\n\n this.optionTouched = true;\n }\n\n onOptionMouseDown(event: MouseEvent, index: number) {\n this.changeFocusedOptionIndex(event, index);\n }\n\n onOptionMouseEnter(event: MouseEvent, index: number) {\n if (this.focusOnHover() && this.focused) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n onOptionDoubleClick(event: MouseEvent, option: any) {\n if (this.$disabled() || this.isOptionDisabled(option) || this.readonly()) {\n return;\n }\n\n this.onDblClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onFirstHiddenFocus(event: FocusEvent) {\n focus(this.listViewChild()?.nativeElement);\n const firstFocusableEl = getFirstFocusableElement(this.el?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])');\n const lastEl = this.lastHiddenFocusableElement();\n const firstEl = this.firstHiddenFocusableElement();\n\n if (lastEl?.nativeElement) {\n lastEl.nativeElement.tabIndex = isEmpty(firstFocusableEl) ? -1 : undefined;\n }\n\n if (firstEl?.nativeElement) {\n firstEl.nativeElement.tabIndex = -1;\n }\n }\n\n onLastHiddenFocus(event: FocusEvent) {\n const relatedTarget = event.relatedTarget;\n const lastEl = this.lastHiddenFocusableElement();\n const firstEl = this.firstHiddenFocusableElement();\n\n if (relatedTarget === this.listViewChild()?.nativeElement) {\n const firstFocusableEl = <any>getFirstFocusableElement(this.el?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])');\n\n focus(firstFocusableEl);\n\n if (firstEl?.nativeElement) {\n firstEl.nativeElement.tabIndex = undefined;\n }\n } else {\n focus(firstEl?.nativeElement);\n }\n\n if (lastEl?.nativeElement) {\n lastEl.nativeElement.tabIndex = -1;\n }\n }\n\n onFocusout(event: FocusEvent) {\n const lastEl = this.lastHiddenFocusableElement();\n const firstEl = this.firstHiddenFocusableElement();\n\n if (!this.el.nativeElement.contains(event.relatedTarget) && lastEl && firstEl) {\n firstEl.nativeElement.tabIndex = lastEl.nativeElement.tabIndex = undefined;\n this.scrollerTabIndex = 0;\n }\n }\n\n onListFocus(event: FocusEvent) {\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex();\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.scrollInView(focusedOptionIndex);\n this.onFocus.emit(event);\n\n this.scrollerTabIndex = -1;\n }\n\n onListBlur(event: FocusEvent) {\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n this.searchValue = '';\n this.onBlur.emit(event);\n }\n\n onHeaderCheckboxKeyDown(event) {\n if (this.$disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'Space':\n this.onToggleAll(event);\n break;\n case 'Enter':\n this.onToggleAll(event);\n break;\n case 'Tab':\n this.onHeaderCheckboxTabKeyDown(event);\n break;\n default:\n break;\n }\n }\n\n onHeaderCheckboxTabKeyDown(event) {\n focus(this.listViewChild()?.nativeElement);\n event.preventDefault();\n }\n\n onFilterChange(event: Event) {\n let value: string = (event.target as HTMLInputElement).value?.trim();\n\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n\n if (!this.virtualScrollerDisabled()) {\n this.scroller()?.scrollToIndex(0);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onFilterBlur(event: FocusEvent) {\n this.focusedOptionIndex.set(-1);\n this.startRangeIndex.set(-1);\n }\n\n onListKeyDown(event: KeyboardEvent) {\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 case 'NumpadEnter':\n this.onSpaceKey(event);\n break;\n\n case 'Tab':\n //NOOP\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n if (this.multiple() && 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 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);\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 this.onEnterKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n this.onShiftKey();\n break;\n\n default:\n break;\n }\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n if (this.multiple() && event.shiftKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n\n onArrowUpKey(event: KeyboardEvent) {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n if (this.multiple() && event.shiftKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText = false) {\n if (pressedInInputText) {\n this.focusedOptionIndex.set(-1);\n }\n }\n\n onHomeKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n if (event.shiftKey) {\n return;\n }\n\n (event.currentTarget as HTMLInputElement).setSelectionRange(0, 0);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findFirstOptionIndex();\n\n if (this.multiple() && event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, optionIndex, this.startRangeIndex());\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n if (event.shiftKey) {\n return;\n }\n\n const target = event.currentTarget as HTMLInputElement;\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex.set(-1);\n } else {\n let metaKey = event.metaKey || event.ctrlKey;\n let optionIndex = this.findLastOptionIndex();\n\n if (this.multiple() && event.shiftKey && metaKey) {\n this.onOptionSelectRange(event, this.startRangeIndex(), optionIndex);\n }\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n event.preventDefault();\n }\n\n onPageDownKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (this.focusedOptionIndex() !== -1) {\n if (this.multiple() && event.shiftKey) this.onOptionSelectRange(event, this.focusedOptionIndex());\n else this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent) {\n this.onEnterKey(event);\n }\n\n onShiftKey() {\n const focusedOptionIndex = this.focusedOptionIndex();\n\n this.startRangeIndex.set(focusedOptionIndex);\n }\n\n getOptionGroupChildren(optionGroup) {\n return this.optionGroupChildren() ? resolveFieldData(optionGroup, this.optionGroupChildren()) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel() ? resolveFieldData(optionGroup, this.optionGroupLabel()) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionLabel(option) {\n return this.optionLabel() ? resolveFieldData(option, this.optionLabel()) : option.label != undefined ? option.label : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionValue(option: any) {\n return this.optionValue() ? resolveFieldData(option, this.optionValue()) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;\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: number) {\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 getPTOptions(option: any, itemOptions: any, index: number, key: string) {\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 getOptionId(index: number, scrollerOptions: any) {\n return `${this.$id()}_${this.getOptionIndex(index, scrollerOptions)}`;\n }\n\n getOptionCheckboxDisabled(option: any) {\n return this.$disabled() || this.isOptionDisabled(option);\n }\n\n getCheckIconContext(option: any) {\n return { $implicit: this.isSelected(option) };\n }\n\n getCheckmarkContext(option: any) {\n return { implicit: this.isSelected(option) };\n }\n\n getGroupTemplateContext(optionGroup: any) {\n return { $implicit: optionGroup };\n }\n\n getItemTemplateContext(option: any, index: number, scrollerOptions: any) {\n return {\n $implicit: option,\n index: this.getOptionIndex(index, scrollerOptions),\n selected: this.isSelected(option),\n disabled: this.isOptionDisabled(option)\n };\n }\n\n /**\n * The options a multi-drag would carry: this list's selected options, in list order.\n * Drives the drag preview when an option inside a multi-selection is dragged.\n */\n dragPreviewOptions(): any[] {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option) && this.isSelected(option));\n }\n\n /** True when dragging this option effectively drags the whole multi-selection. */\n isMultiDrag(option: any): boolean {\n return this.isSelected(option) && this.dragPreviewOptions().length > 1;\n }\n\n getDragPreviewTemplateContext(option: any) {\n return {\n $implicit: option,\n index: this.visibleOptions().indexOf(option),\n selected: true,\n disabled: this.isOptionDisabled(option)\n };\n }\n\n getFilterTemplateContext() {\n return { options: this.filterOptions };\n }\n\n getBuildInItemsContext(items: any[], scrollerOptions: any) {\n return { $implicit: items, options: scrollerOptions };\n }\n\n getLoaderTemplateContext(scrollerOptions: any) {\n return { options: scrollerOptions };\n }\n\n isOptionFocused(index: number, scrollerOptions: any) {\n return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel() && option.optionGroup && option.group;\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus() && !this.multiple()) {\n this.onOptionSelect(event, this.visibleOptions()[index]);\n }\n }\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 isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId();\n const element = findSingle(this.listViewChild()?.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 if (this.virtualScroll()) {\n this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }\n }\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findFirstSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findLastSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findLastSelectedOptionIndex() {\n return this.hasSelectedOption() ? findLastIndex(this.visibleOptions(), (option) => this.isValidSelectedOption(option)) : -1;\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 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 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 findFirstSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\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 findSelectedOptionIndex() {\n if (this.$filled()) {\n if (this.multiple()) {\n for (let index = this.modelValue().length - 1; index >= 0; index--) {\n const value = this.modelValue()[index];\n const matchedOptionIndex = this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option) && this.isEquals(value, this.getOptionValue(option)));\n\n if (matchedOptionIndex > -1) return matchedOptionIndex;\n }\n } else {\n return this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option));\n }\n }\n\n return -1;\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 equalityKey() {\n return this.optionValue() ? null : this.dataKey();\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isOptionDisabled(option: any) {\n const optionDisabledValue = this.optionDisabled();\n\n if (isFunction(optionDisabledValue)) {\n return optionDisabledValue(option);\n }\n\n return optionDisabledValue ? resolveFieldData(option, optionDisabledValue) : false;\n }\n\n isEquals(value1, value2) {\n return equals(value1, value2, this.equalityKey() || '');\n }\n\n isSelected(option) {\n const optionValue = this.getOptionValue(option);\n\n if (this.multiple()) return (this.modelValue() || []).some((value) => this.isEquals(value, optionValue));\n else return this.isEquals(this.modelValue(), optionValue);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isEmpty() {\n return !this._options()?.length || !this.visibleOptions()?.length;\n }\n\n hasFilter() {\n return this._filterValue() && (this._filterValue()?.trim().length || 0) > 0;\n }\n\n resetFilter() {\n const filterEl = this.filterViewChild();\n\n if (filterEl && filterEl.nativeElement) {\n filterEl.nativeElement.value = '';\n }\n\n this._filterValue.set(null);\n }\n\n onDragEntered() {\n this.isDragging.set(true);\n this.el.nativeElement.setAttribute('p-listbox-dragging', 'true');\n }\n\n onDragExited() {\n this.isDragging.set(false);\n this.el.nativeElement.setAttribute('p-listbox-dragging', 'false');\n }\n\n drop(event: CdkDragDrop<string[]>) {\n this.isDragging.set(false);\n\n if (event) {\n // If dragdrop is enabled and same container (reordering), automatically handle reordering\n if (this.dragdrop() && event.previousContainer === event.container) {\n const currentOptions = [...this._options()];\n\n if (this._filterValue()) {\n const visible = this.visibleOptions();\n const fromItem = visible[event.previousIndex];\n const toItem = visible[event.currentIndex];\n const realFrom = currentOptions.indexOf(fromItem);\n const realTo = currentOptions.indexOf(toItem);\n\n if (realFrom !== -1 && realTo !== -1) {\n moveItemInArray(currentOptions, realFrom, realTo);\n }\n } else {\n moveItemInArray(currentOptions, event.previousIndex, event.currentIndex);\n }\n\n this._options.set(currentOptions);\n this.changeFocusedOptionIndex(event, event.currentIndex);\n\n // Update model value if needed for selection preservation\n if (this.modelValue()) {\n this.writeModelValue(this.modelValue());\n this.onModelChange(this.modelValue());\n }\n }\n\n // Always emit the event for custom handling\n this.onDrop.emit(event);\n }\n }\n\n get containerDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled()\n });\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(this.value);\n }\n}\n\n@NgModule({\n imports: [Listbox, SharedModule],\n exports: [Listbox, SharedModule]\n})\nexport class ListboxModule {}\n"],"mappings":"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"}