primeng 0.0.0-watch

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 (507) hide show
  1. package/LICENSE.md +77 -0
  2. package/README.md +11 -0
  3. package/accordion/index.d.ts +255 -0
  4. package/animateonscroll/index.d.ts +71 -0
  5. package/api/index.d.ts +1820 -0
  6. package/autocomplete/index.d.ts +925 -0
  7. package/autofocus/index.d.ts +31 -0
  8. package/avatar/index.d.ts +115 -0
  9. package/avatargroup/index.d.ts +60 -0
  10. package/badge/index.d.ts +156 -0
  11. package/base/index.d.ts +63 -0
  12. package/basecomponent/index.d.ts +54 -0
  13. package/baseeditableholder/index.d.ts +45 -0
  14. package/baseinput/index.d.ts +73 -0
  15. package/basemodelholder/index.d.ts +12 -0
  16. package/blockui/index.d.ts +114 -0
  17. package/breadcrumb/index.d.ts +179 -0
  18. package/button/index.d.ts +478 -0
  19. package/buttongroup/index.d.ts +43 -0
  20. package/card/index.d.ts +154 -0
  21. package/carousel/index.d.ts +443 -0
  22. package/cascadeselect/index.d.ts +729 -0
  23. package/chart/index.d.ts +128 -0
  24. package/checkbox/index.d.ts +248 -0
  25. package/chip/index.d.ts +165 -0
  26. package/colorpicker/index.d.ts +329 -0
  27. package/config/index.d.ts +89 -0
  28. package/confirmdialog/index.d.ts +358 -0
  29. package/confirmpopup/index.d.ts +218 -0
  30. package/contextmenu/index.d.ts +356 -0
  31. package/dataview/index.d.ts +539 -0
  32. package/datepicker/index.d.ts +1191 -0
  33. package/dialog/index.d.ts +531 -0
  34. package/divider/index.d.ts +114 -0
  35. package/dock/index.d.ts +201 -0
  36. package/dom/index.d.ts +109 -0
  37. package/dragdrop/index.d.ts +121 -0
  38. package/drawer/index.d.ts +309 -0
  39. package/dynamicdialog/index.d.ts +544 -0
  40. package/editor/index.d.ts +306 -0
  41. package/fesm2022/primeng-accordion.mjs +593 -0
  42. package/fesm2022/primeng-accordion.mjs.map +1 -0
  43. package/fesm2022/primeng-animateonscroll.mjs +178 -0
  44. package/fesm2022/primeng-animateonscroll.mjs.map +1 -0
  45. package/fesm2022/primeng-api.mjs +836 -0
  46. package/fesm2022/primeng-api.mjs.map +1 -0
  47. package/fesm2022/primeng-autocomplete.mjs +2073 -0
  48. package/fesm2022/primeng-autocomplete.mjs.map +1 -0
  49. package/fesm2022/primeng-autofocus.mjs +83 -0
  50. package/fesm2022/primeng-autofocus.mjs.map +1 -0
  51. package/fesm2022/primeng-avatar.mjs +181 -0
  52. package/fesm2022/primeng-avatar.mjs.map +1 -0
  53. package/fesm2022/primeng-avatargroup.mjs +103 -0
  54. package/fesm2022/primeng-avatargroup.mjs.map +1 -0
  55. package/fesm2022/primeng-badge.mjs +366 -0
  56. package/fesm2022/primeng-badge.mjs.map +1 -0
  57. package/fesm2022/primeng-base.mjs +127 -0
  58. package/fesm2022/primeng-base.mjs.map +1 -0
  59. package/fesm2022/primeng-basecomponent.mjs +173 -0
  60. package/fesm2022/primeng-basecomponent.mjs.map +1 -0
  61. package/fesm2022/primeng-baseeditableholder.mjs +67 -0
  62. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -0
  63. package/fesm2022/primeng-baseinput.mjs +85 -0
  64. package/fesm2022/primeng-baseinput.mjs.map +1 -0
  65. package/fesm2022/primeng-basemodelholder.mjs +25 -0
  66. package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
  67. package/fesm2022/primeng-blockui.mjs +237 -0
  68. package/fesm2022/primeng-blockui.mjs.map +1 -0
  69. package/fesm2022/primeng-breadcrumb.mjs +457 -0
  70. package/fesm2022/primeng-breadcrumb.mjs.map +1 -0
  71. package/fesm2022/primeng-button.mjs +864 -0
  72. package/fesm2022/primeng-button.mjs.map +1 -0
  73. package/fesm2022/primeng-buttongroup.mjs +109 -0
  74. package/fesm2022/primeng-buttongroup.mjs.map +1 -0
  75. package/fesm2022/primeng-card.mjs +271 -0
  76. package/fesm2022/primeng-card.mjs.map +1 -0
  77. package/fesm2022/primeng-carousel.mjs +1101 -0
  78. package/fesm2022/primeng-carousel.mjs.map +1 -0
  79. package/fesm2022/primeng-cascadeselect.mjs +1778 -0
  80. package/fesm2022/primeng-cascadeselect.mjs.map +1 -0
  81. package/fesm2022/primeng-chart.mjs +246 -0
  82. package/fesm2022/primeng-chart.mjs.map +1 -0
  83. package/fesm2022/primeng-checkbox.mjs +441 -0
  84. package/fesm2022/primeng-checkbox.mjs.map +1 -0
  85. package/fesm2022/primeng-chip.mjs +323 -0
  86. package/fesm2022/primeng-chip.mjs.map +1 -0
  87. package/fesm2022/primeng-colorpicker.mjs +865 -0
  88. package/fesm2022/primeng-colorpicker.mjs.map +1 -0
  89. package/fesm2022/primeng-config.mjs +289 -0
  90. package/fesm2022/primeng-config.mjs.map +1 -0
  91. package/fesm2022/primeng-confirmdialog.mjs +823 -0
  92. package/fesm2022/primeng-confirmdialog.mjs.map +1 -0
  93. package/fesm2022/primeng-confirmpopup.mjs +630 -0
  94. package/fesm2022/primeng-confirmpopup.mjs.map +1 -0
  95. package/fesm2022/primeng-contextmenu.mjs +1410 -0
  96. package/fesm2022/primeng-contextmenu.mjs.map +1 -0
  97. package/fesm2022/primeng-dataview.mjs +812 -0
  98. package/fesm2022/primeng-dataview.mjs.map +1 -0
  99. package/fesm2022/primeng-datepicker.mjs +4373 -0
  100. package/fesm2022/primeng-datepicker.mjs.map +1 -0
  101. package/fesm2022/primeng-dialog.mjs +1278 -0
  102. package/fesm2022/primeng-dialog.mjs.map +1 -0
  103. package/fesm2022/primeng-divider.mjs +145 -0
  104. package/fesm2022/primeng-divider.mjs.map +1 -0
  105. package/fesm2022/primeng-dock.mjs +540 -0
  106. package/fesm2022/primeng-dock.mjs.map +1 -0
  107. package/fesm2022/primeng-dom.mjs +775 -0
  108. package/fesm2022/primeng-dom.mjs.map +1 -0
  109. package/fesm2022/primeng-dragdrop.mjs +336 -0
  110. package/fesm2022/primeng-dragdrop.mjs.map +1 -0
  111. package/fesm2022/primeng-drawer.mjs +738 -0
  112. package/fesm2022/primeng-drawer.mjs.map +1 -0
  113. package/fesm2022/primeng-dynamicdialog.mjs +1242 -0
  114. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -0
  115. package/fesm2022/primeng-editor.mjs +511 -0
  116. package/fesm2022/primeng-editor.mjs.map +1 -0
  117. package/fesm2022/primeng-fieldset.mjs +417 -0
  118. package/fesm2022/primeng-fieldset.mjs.map +1 -0
  119. package/fesm2022/primeng-fileupload.mjs +1561 -0
  120. package/fesm2022/primeng-fileupload.mjs.map +1 -0
  121. package/fesm2022/primeng-floatlabel.mjs +103 -0
  122. package/fesm2022/primeng-floatlabel.mjs.map +1 -0
  123. package/fesm2022/primeng-fluid.mjs +80 -0
  124. package/fesm2022/primeng-fluid.mjs.map +1 -0
  125. package/fesm2022/primeng-focustrap.mjs +110 -0
  126. package/fesm2022/primeng-focustrap.mjs.map +1 -0
  127. package/fesm2022/primeng-galleria.mjs +1874 -0
  128. package/fesm2022/primeng-galleria.mjs.map +1 -0
  129. package/fesm2022/primeng-iconfield.mjs +101 -0
  130. package/fesm2022/primeng-iconfield.mjs.map +1 -0
  131. package/fesm2022/primeng-icons-angledoubledown.mjs +37 -0
  132. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -0
  133. package/fesm2022/primeng-icons-angledoubleleft.mjs +37 -0
  134. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -0
  135. package/fesm2022/primeng-icons-angledoubleright.mjs +37 -0
  136. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -0
  137. package/fesm2022/primeng-icons-angledoubleup.mjs +37 -0
  138. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -0
  139. package/fesm2022/primeng-icons-angledown.mjs +33 -0
  140. package/fesm2022/primeng-icons-angledown.mjs.map +1 -0
  141. package/fesm2022/primeng-icons-angleleft.mjs +33 -0
  142. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -0
  143. package/fesm2022/primeng-icons-angleright.mjs +33 -0
  144. package/fesm2022/primeng-icons-angleright.mjs.map +1 -0
  145. package/fesm2022/primeng-icons-angleup.mjs +33 -0
  146. package/fesm2022/primeng-icons-angleup.mjs.map +1 -0
  147. package/fesm2022/primeng-icons-arrowdown.mjs +57 -0
  148. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -0
  149. package/fesm2022/primeng-icons-arrowdownleft.mjs +33 -0
  150. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -0
  151. package/fesm2022/primeng-icons-arrowdownright.mjs +33 -0
  152. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -0
  153. package/fesm2022/primeng-icons-arrowleft.mjs +57 -0
  154. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -0
  155. package/fesm2022/primeng-icons-arrowright.mjs +37 -0
  156. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -0
  157. package/fesm2022/primeng-icons-arrowup.mjs +57 -0
  158. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -0
  159. package/fesm2022/primeng-icons-ban.mjs +53 -0
  160. package/fesm2022/primeng-icons-ban.mjs.map +1 -0
  161. package/fesm2022/primeng-icons-bars.mjs +37 -0
  162. package/fesm2022/primeng-icons-bars.mjs.map +1 -0
  163. package/fesm2022/primeng-icons-baseicon.mjs +102 -0
  164. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -0
  165. package/fesm2022/primeng-icons-blank.mjs +23 -0
  166. package/fesm2022/primeng-icons-blank.mjs.map +1 -0
  167. package/fesm2022/primeng-icons-calendar.mjs +33 -0
  168. package/fesm2022/primeng-icons-calendar.mjs.map +1 -0
  169. package/fesm2022/primeng-icons-caretleft.mjs +33 -0
  170. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -0
  171. package/fesm2022/primeng-icons-caretright.mjs +33 -0
  172. package/fesm2022/primeng-icons-caretright.mjs.map +1 -0
  173. package/fesm2022/primeng-icons-check.mjs +33 -0
  174. package/fesm2022/primeng-icons-check.mjs.map +1 -0
  175. package/fesm2022/primeng-icons-chevrondown.mjs +33 -0
  176. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -0
  177. package/fesm2022/primeng-icons-chevronleft.mjs +33 -0
  178. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -0
  179. package/fesm2022/primeng-icons-chevronright.mjs +33 -0
  180. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -0
  181. package/fesm2022/primeng-icons-chevronup.mjs +33 -0
  182. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -0
  183. package/fesm2022/primeng-icons-exclamationtriangle.mjs +69 -0
  184. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -0
  185. package/fesm2022/primeng-icons-eye.mjs +37 -0
  186. package/fesm2022/primeng-icons-eye.mjs.map +1 -0
  187. package/fesm2022/primeng-icons-eyeslash.mjs +57 -0
  188. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -0
  189. package/fesm2022/primeng-icons-filter.mjs +53 -0
  190. package/fesm2022/primeng-icons-filter.mjs.map +1 -0
  191. package/fesm2022/primeng-icons-filterfill.mjs +33 -0
  192. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -0
  193. package/fesm2022/primeng-icons-filterslash.mjs +57 -0
  194. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -0
  195. package/fesm2022/primeng-icons-home.mjs +57 -0
  196. package/fesm2022/primeng-icons-home.mjs.map +1 -0
  197. package/fesm2022/primeng-icons-infocircle.mjs +57 -0
  198. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -0
  199. package/fesm2022/primeng-icons-minus.mjs +33 -0
  200. package/fesm2022/primeng-icons-minus.mjs.map +1 -0
  201. package/fesm2022/primeng-icons-pencil.mjs +53 -0
  202. package/fesm2022/primeng-icons-pencil.mjs.map +1 -0
  203. package/fesm2022/primeng-icons-plus.mjs +53 -0
  204. package/fesm2022/primeng-icons-plus.mjs.map +1 -0
  205. package/fesm2022/primeng-icons-refresh.mjs +57 -0
  206. package/fesm2022/primeng-icons-refresh.mjs.map +1 -0
  207. package/fesm2022/primeng-icons-search.mjs +57 -0
  208. package/fesm2022/primeng-icons-search.mjs.map +1 -0
  209. package/fesm2022/primeng-icons-searchminus.mjs +57 -0
  210. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -0
  211. package/fesm2022/primeng-icons-searchplus.mjs +57 -0
  212. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -0
  213. package/fesm2022/primeng-icons-sortalt.mjs +65 -0
  214. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -0
  215. package/fesm2022/primeng-icons-sortamountdown.mjs +53 -0
  216. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -0
  217. package/fesm2022/primeng-icons-sortamountupalt.mjs +53 -0
  218. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -0
  219. package/fesm2022/primeng-icons-spinner.mjs +53 -0
  220. package/fesm2022/primeng-icons-spinner.mjs.map +1 -0
  221. package/fesm2022/primeng-icons-star.mjs +53 -0
  222. package/fesm2022/primeng-icons-star.mjs.map +1 -0
  223. package/fesm2022/primeng-icons-starfill.mjs +53 -0
  224. package/fesm2022/primeng-icons-starfill.mjs.map +1 -0
  225. package/fesm2022/primeng-icons-thlarge.mjs +57 -0
  226. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -0
  227. package/fesm2022/primeng-icons-times.mjs +33 -0
  228. package/fesm2022/primeng-icons-times.mjs.map +1 -0
  229. package/fesm2022/primeng-icons-timescircle.mjs +57 -0
  230. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -0
  231. package/fesm2022/primeng-icons-trash.mjs +57 -0
  232. package/fesm2022/primeng-icons-trash.mjs.map +1 -0
  233. package/fesm2022/primeng-icons-undo.mjs +57 -0
  234. package/fesm2022/primeng-icons-undo.mjs.map +1 -0
  235. package/fesm2022/primeng-icons-upload.mjs +57 -0
  236. package/fesm2022/primeng-icons-upload.mjs.map +1 -0
  237. package/fesm2022/primeng-icons-windowmaximize.mjs +57 -0
  238. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -0
  239. package/fesm2022/primeng-icons-windowminimize.mjs +57 -0
  240. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -0
  241. package/fesm2022/primeng-icons.mjs +63 -0
  242. package/fesm2022/primeng-icons.mjs.map +1 -0
  243. package/fesm2022/primeng-iftalabel.mjs +89 -0
  244. package/fesm2022/primeng-iftalabel.mjs.map +1 -0
  245. package/fesm2022/primeng-image.mjs +705 -0
  246. package/fesm2022/primeng-image.mjs.map +1 -0
  247. package/fesm2022/primeng-imagecompare.mjs +192 -0
  248. package/fesm2022/primeng-imagecompare.mjs.map +1 -0
  249. package/fesm2022/primeng-inplace.mjs +319 -0
  250. package/fesm2022/primeng-inplace.mjs.map +1 -0
  251. package/fesm2022/primeng-inputgroup.mjs +128 -0
  252. package/fesm2022/primeng-inputgroup.mjs.map +1 -0
  253. package/fesm2022/primeng-inputgroupaddon.mjs +83 -0
  254. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -0
  255. package/fesm2022/primeng-inputicon.mjs +71 -0
  256. package/fesm2022/primeng-inputicon.mjs.map +1 -0
  257. package/fesm2022/primeng-inputmask.mjs +926 -0
  258. package/fesm2022/primeng-inputmask.mjs.map +1 -0
  259. package/fesm2022/primeng-inputnumber.mjs +1621 -0
  260. package/fesm2022/primeng-inputnumber.mjs.map +1 -0
  261. package/fesm2022/primeng-inputotp.mjs +443 -0
  262. package/fesm2022/primeng-inputotp.mjs.map +1 -0
  263. package/fesm2022/primeng-inputtext.mjs +145 -0
  264. package/fesm2022/primeng-inputtext.mjs.map +1 -0
  265. package/fesm2022/primeng-keyfilter.mjs +267 -0
  266. package/fesm2022/primeng-keyfilter.mjs.map +1 -0
  267. package/fesm2022/primeng-knob.mjs +491 -0
  268. package/fesm2022/primeng-knob.mjs.map +1 -0
  269. package/fesm2022/primeng-listbox.mjs +1925 -0
  270. package/fesm2022/primeng-listbox.mjs.map +1 -0
  271. package/fesm2022/primeng-megamenu.mjs +1493 -0
  272. package/fesm2022/primeng-megamenu.mjs.map +1 -0
  273. package/fesm2022/primeng-menu.mjs +1069 -0
  274. package/fesm2022/primeng-menu.mjs.map +1 -0
  275. package/fesm2022/primeng-menubar.mjs +1391 -0
  276. package/fesm2022/primeng-menubar.mjs.map +1 -0
  277. package/fesm2022/primeng-message.mjs +420 -0
  278. package/fesm2022/primeng-message.mjs.map +1 -0
  279. package/fesm2022/primeng-metergroup.mjs +393 -0
  280. package/fesm2022/primeng-metergroup.mjs.map +1 -0
  281. package/fesm2022/primeng-multiselect.mjs +2519 -0
  282. package/fesm2022/primeng-multiselect.mjs.map +1 -0
  283. package/fesm2022/primeng-orderlist.mjs +890 -0
  284. package/fesm2022/primeng-orderlist.mjs.map +1 -0
  285. package/fesm2022/primeng-organizationchart.mjs +520 -0
  286. package/fesm2022/primeng-organizationchart.mjs.map +1 -0
  287. package/fesm2022/primeng-overlay.mjs +776 -0
  288. package/fesm2022/primeng-overlay.mjs.map +1 -0
  289. package/fesm2022/primeng-overlaybadge.mjs +151 -0
  290. package/fesm2022/primeng-overlaybadge.mjs.map +1 -0
  291. package/fesm2022/primeng-paginator.mjs +802 -0
  292. package/fesm2022/primeng-paginator.mjs.map +1 -0
  293. package/fesm2022/primeng-panel.mjs +595 -0
  294. package/fesm2022/primeng-panel.mjs.map +1 -0
  295. package/fesm2022/primeng-panelmenu.mjs +1442 -0
  296. package/fesm2022/primeng-panelmenu.mjs.map +1 -0
  297. package/fesm2022/primeng-password.mjs +1156 -0
  298. package/fesm2022/primeng-password.mjs.map +1 -0
  299. package/fesm2022/primeng-picklist.mjs +2057 -0
  300. package/fesm2022/primeng-picklist.mjs.map +1 -0
  301. package/fesm2022/primeng-popover.mjs +611 -0
  302. package/fesm2022/primeng-popover.mjs.map +1 -0
  303. package/fesm2022/primeng-progressbar.mjs +196 -0
  304. package/fesm2022/primeng-progressbar.mjs.map +1 -0
  305. package/fesm2022/primeng-progressspinner.mjs +140 -0
  306. package/fesm2022/primeng-progressspinner.mjs.map +1 -0
  307. package/fesm2022/primeng-radiobutton.mjs +358 -0
  308. package/fesm2022/primeng-radiobutton.mjs.map +1 -0
  309. package/fesm2022/primeng-rating.mjs +388 -0
  310. package/fesm2022/primeng-rating.mjs.map +1 -0
  311. package/fesm2022/primeng-ripple.mjs +190 -0
  312. package/fesm2022/primeng-ripple.mjs.map +1 -0
  313. package/fesm2022/primeng-scroller.mjs +1306 -0
  314. package/fesm2022/primeng-scroller.mjs.map +1 -0
  315. package/fesm2022/primeng-scrollpanel.mjs +560 -0
  316. package/fesm2022/primeng-scrollpanel.mjs.map +1 -0
  317. package/fesm2022/primeng-scrolltop.mjs +339 -0
  318. package/fesm2022/primeng-scrolltop.mjs.map +1 -0
  319. package/fesm2022/primeng-select.mjs +2250 -0
  320. package/fesm2022/primeng-select.mjs.map +1 -0
  321. package/fesm2022/primeng-selectbutton.mjs +413 -0
  322. package/fesm2022/primeng-selectbutton.mjs.map +1 -0
  323. package/fesm2022/primeng-skeleton.mjs +154 -0
  324. package/fesm2022/primeng-skeleton.mjs.map +1 -0
  325. package/fesm2022/primeng-slider.mjs +843 -0
  326. package/fesm2022/primeng-slider.mjs.map +1 -0
  327. package/fesm2022/primeng-speeddial.mjs +901 -0
  328. package/fesm2022/primeng-speeddial.mjs.map +1 -0
  329. package/fesm2022/primeng-splitbutton.mjs +598 -0
  330. package/fesm2022/primeng-splitbutton.mjs.map +1 -0
  331. package/fesm2022/primeng-splitter.mjs +587 -0
  332. package/fesm2022/primeng-splitter.mjs.map +1 -0
  333. package/fesm2022/primeng-stepper.mjs +683 -0
  334. package/fesm2022/primeng-stepper.mjs.map +1 -0
  335. package/fesm2022/primeng-steps.mjs +424 -0
  336. package/fesm2022/primeng-steps.mjs.map +1 -0
  337. package/fesm2022/primeng-styleclass.mjs +354 -0
  338. package/fesm2022/primeng-styleclass.mjs.map +1 -0
  339. package/fesm2022/primeng-table.mjs +7540 -0
  340. package/fesm2022/primeng-table.mjs.map +1 -0
  341. package/fesm2022/primeng-tabs.mjs +794 -0
  342. package/fesm2022/primeng-tabs.mjs.map +1 -0
  343. package/fesm2022/primeng-tag.mjs +176 -0
  344. package/fesm2022/primeng-tag.mjs.map +1 -0
  345. package/fesm2022/primeng-terminal.mjs +254 -0
  346. package/fesm2022/primeng-terminal.mjs.map +1 -0
  347. package/fesm2022/primeng-textarea.mjs +197 -0
  348. package/fesm2022/primeng-textarea.mjs.map +1 -0
  349. package/fesm2022/primeng-tieredmenu.mjs +1457 -0
  350. package/fesm2022/primeng-tieredmenu.mjs.map +1 -0
  351. package/fesm2022/primeng-timeline.mjs +228 -0
  352. package/fesm2022/primeng-timeline.mjs.map +1 -0
  353. package/fesm2022/primeng-toast.mjs +751 -0
  354. package/fesm2022/primeng-toast.mjs.map +1 -0
  355. package/fesm2022/primeng-togglebutton.mjs +361 -0
  356. package/fesm2022/primeng-togglebutton.mjs.map +1 -0
  357. package/fesm2022/primeng-toggleswitch.mjs +330 -0
  358. package/fesm2022/primeng-toggleswitch.mjs.map +1 -0
  359. package/fesm2022/primeng-toolbar.mjs +189 -0
  360. package/fesm2022/primeng-toolbar.mjs.map +1 -0
  361. package/fesm2022/primeng-tooltip.mjs +757 -0
  362. package/fesm2022/primeng-tooltip.mjs.map +1 -0
  363. package/fesm2022/primeng-tree.mjs +2188 -0
  364. package/fesm2022/primeng-tree.mjs.map +1 -0
  365. package/fesm2022/primeng-treeselect.mjs +1328 -0
  366. package/fesm2022/primeng-treeselect.mjs.map +1 -0
  367. package/fesm2022/primeng-treetable.mjs +5080 -0
  368. package/fesm2022/primeng-treetable.mjs.map +1 -0
  369. package/fesm2022/primeng-ts-helpers.mjs +4 -0
  370. package/fesm2022/primeng-ts-helpers.mjs.map +1 -0
  371. package/fesm2022/primeng-usestyle.mjs +52 -0
  372. package/fesm2022/primeng-usestyle.mjs.map +1 -0
  373. package/fesm2022/primeng-utils.mjs +332 -0
  374. package/fesm2022/primeng-utils.mjs.map +1 -0
  375. package/fesm2022/primeng.mjs +6 -0
  376. package/fesm2022/primeng.mjs.map +1 -0
  377. package/fieldset/index.d.ts +217 -0
  378. package/fileupload/index.d.ts +786 -0
  379. package/floatlabel/index.d.ts +59 -0
  380. package/fluid/index.d.ts +48 -0
  381. package/focustrap/index.d.ts +36 -0
  382. package/galleria/index.d.ts +710 -0
  383. package/iconfield/index.d.ts +64 -0
  384. package/icons/angledoubledown/index.d.ts +9 -0
  385. package/icons/angledoubleleft/index.d.ts +9 -0
  386. package/icons/angledoubleright/index.d.ts +9 -0
  387. package/icons/angledoubleup/index.d.ts +9 -0
  388. package/icons/angledown/index.d.ts +9 -0
  389. package/icons/angleleft/index.d.ts +9 -0
  390. package/icons/angleright/index.d.ts +9 -0
  391. package/icons/angleup/index.d.ts +9 -0
  392. package/icons/arrowdown/index.d.ts +12 -0
  393. package/icons/arrowdownleft/index.d.ts +9 -0
  394. package/icons/arrowdownright/index.d.ts +9 -0
  395. package/icons/arrowleft/index.d.ts +11 -0
  396. package/icons/arrowright/index.d.ts +9 -0
  397. package/icons/arrowup/index.d.ts +11 -0
  398. package/icons/ban/index.d.ts +11 -0
  399. package/icons/bars/index.d.ts +9 -0
  400. package/icons/baseicon/index.d.ts +33 -0
  401. package/icons/blank/index.d.ts +9 -0
  402. package/icons/calendar/index.d.ts +9 -0
  403. package/icons/caretleft/index.d.ts +9 -0
  404. package/icons/caretright/index.d.ts +9 -0
  405. package/icons/check/index.d.ts +9 -0
  406. package/icons/chevrondown/index.d.ts +9 -0
  407. package/icons/chevronleft/index.d.ts +9 -0
  408. package/icons/chevronright/index.d.ts +9 -0
  409. package/icons/chevronup/index.d.ts +9 -0
  410. package/icons/exclamationtriangle/index.d.ts +12 -0
  411. package/icons/eye/index.d.ts +9 -0
  412. package/icons/eyeslash/index.d.ts +11 -0
  413. package/icons/filter/index.d.ts +11 -0
  414. package/icons/filterfill/index.d.ts +9 -0
  415. package/icons/filterslash/index.d.ts +11 -0
  416. package/icons/home/index.d.ts +11 -0
  417. package/icons/index.d.ts +53 -0
  418. package/icons/infocircle/index.d.ts +11 -0
  419. package/icons/minus/index.d.ts +9 -0
  420. package/icons/pencil/index.d.ts +11 -0
  421. package/icons/plus/index.d.ts +11 -0
  422. package/icons/refresh/index.d.ts +11 -0
  423. package/icons/search/index.d.ts +11 -0
  424. package/icons/searchminus/index.d.ts +11 -0
  425. package/icons/searchplus/index.d.ts +11 -0
  426. package/icons/sortalt/index.d.ts +11 -0
  427. package/icons/sortamountdown/index.d.ts +11 -0
  428. package/icons/sortamountupalt/index.d.ts +11 -0
  429. package/icons/spinner/index.d.ts +11 -0
  430. package/icons/star/index.d.ts +11 -0
  431. package/icons/starfill/index.d.ts +11 -0
  432. package/icons/thlarge/index.d.ts +11 -0
  433. package/icons/times/index.d.ts +9 -0
  434. package/icons/timescircle/index.d.ts +11 -0
  435. package/icons/trash/index.d.ts +11 -0
  436. package/icons/undo/index.d.ts +11 -0
  437. package/icons/upload/index.d.ts +11 -0
  438. package/icons/windowmaximize/index.d.ts +11 -0
  439. package/icons/windowminimize/index.d.ts +11 -0
  440. package/iftalabel/index.d.ts +50 -0
  441. package/image/index.d.ts +376 -0
  442. package/imagecompare/index.d.ts +93 -0
  443. package/index.d.ts +2 -0
  444. package/inplace/index.d.ts +183 -0
  445. package/inputgroup/index.d.ts +58 -0
  446. package/inputgroupaddon/index.d.ts +45 -0
  447. package/inputicon/index.d.ts +36 -0
  448. package/inputmask/index.d.ts +282 -0
  449. package/inputnumber/index.d.ts +466 -0
  450. package/inputotp/index.d.ts +209 -0
  451. package/inputtext/index.d.ts +89 -0
  452. package/keyfilter/index.d.ts +66 -0
  453. package/knob/index.d.ts +206 -0
  454. package/listbox/index.d.ts +802 -0
  455. package/megamenu/index.d.ts +408 -0
  456. package/menu/index.d.ts +341 -0
  457. package/menubar/index.d.ts +418 -0
  458. package/message/index.d.ts +195 -0
  459. package/metergroup/index.d.ts +291 -0
  460. package/multiselect/index.d.ts +1060 -0
  461. package/orderlist/index.d.ts +464 -0
  462. package/organizationchart/index.d.ts +285 -0
  463. package/overlay/index.d.ts +255 -0
  464. package/overlaybadge/index.d.ts +73 -0
  465. package/package.json +725 -0
  466. package/paginator/index.d.ts +393 -0
  467. package/panel/index.d.ts +266 -0
  468. package/panelmenu/index.d.ts +380 -0
  469. package/password/index.d.ts +436 -0
  470. package/picklist/index.d.ts +906 -0
  471. package/popover/index.d.ts +176 -0
  472. package/progressbar/index.d.ts +112 -0
  473. package/progressspinner/index.d.ts +85 -0
  474. package/radiobutton/index.d.ts +201 -0
  475. package/rating/index.d.ts +218 -0
  476. package/ripple/index.d.ts +62 -0
  477. package/scroller/index.d.ts +614 -0
  478. package/scrollpanel/index.d.ts +161 -0
  479. package/scrolltop/index.d.ts +158 -0
  480. package/select/index.d.ts +923 -0
  481. package/selectbutton/index.d.ts +221 -0
  482. package/skeleton/index.d.ts +96 -0
  483. package/slider/index.d.ts +255 -0
  484. package/speeddial/index.d.ts +454 -0
  485. package/splitbutton/index.d.ts +306 -0
  486. package/splitter/index.d.ts +239 -0
  487. package/stepper/index.d.ts +297 -0
  488. package/steps/index.d.ts +152 -0
  489. package/styleclass/index.d.ts +115 -0
  490. package/table/index.d.ts +2700 -0
  491. package/tabs/index.d.ts +321 -0
  492. package/tag/index.d.ts +114 -0
  493. package/terminal/index.d.ts +134 -0
  494. package/textarea/index.d.ts +108 -0
  495. package/tieredmenu/index.d.ts +430 -0
  496. package/timeline/index.d.ts +170 -0
  497. package/toast/index.d.ts +320 -0
  498. package/togglebutton/index.d.ts +243 -0
  499. package/toggleswitch/index.d.ts +188 -0
  500. package/toolbar/index.d.ts +118 -0
  501. package/tooltip/index.d.ts +247 -0
  502. package/tree/index.d.ts +847 -0
  503. package/treeselect/index.d.ts +655 -0
  504. package/treetable/index.d.ts +1727 -0
  505. package/ts-helpers/index.d.ts +6 -0
  506. package/usestyle/index.d.ts +15 -0
  507. package/utils/index.d.ts +43 -0
@@ -0,0 +1,1778 @@
1
+ import * as i1 from '@angular/common';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, Output, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, input, signal, computed, effect, ContentChildren, HostListener, ContentChild, ViewChild, NgModule } from '@angular/core';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { resolveFieldData, isNotEmpty, equals, getOffset, getViewport, getHiddenElementOuterWidth, getOuterWidth, calculateScrollbarWidth, isPrintableCharacter, isEmpty, findSingle, findLastIndex, focus, uuid } from '@primeuix/utils';
7
+ import * as i2 from 'primeng/api';
8
+ import { TranslationKeys, SharedModule, PrimeTemplate } from 'primeng/api';
9
+ import { AutoFocus } from 'primeng/autofocus';
10
+ import { BaseComponent } from 'primeng/basecomponent';
11
+ import { BaseEditableHolder } from 'primeng/baseeditableholder';
12
+ import { Fluid } from 'primeng/fluid';
13
+ import { AngleRightIcon, ChevronDownIcon, TimesIcon } from 'primeng/icons';
14
+ import { Overlay } from 'primeng/overlay';
15
+ import { Ripple } from 'primeng/ripple';
16
+ import { style } from '@primeuix/styles/cascadeselect';
17
+ import { BaseStyle } from 'primeng/base';
18
+
19
+ const theme = /*css*/ `
20
+ ${style}
21
+
22
+ /* For PrimeNG */
23
+ .p-cascadeselect.ng-invalid.ng-dirty:not(.ng-untouched):not(.ng-pristine) {
24
+ border-color: dt('cascadeselect.invalid.border.color');
25
+ }
26
+
27
+ .p-cascadeselect.ng-invalid.ng-dirty:not(.ng-untouched):not(.ng-pristine) .p-cascadeselect-label.p-placeholder {
28
+ color: dt('cascadeselect.invalid.placeholder.color');
29
+ }
30
+ `;
31
+ const inlineStyles = {
32
+ root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined })
33
+ };
34
+ const classes = {
35
+ root: ({ instance }) => [
36
+ 'p-cascadeselect p-component p-inputwrapper',
37
+ {
38
+ 'p-cascadeselect p-component p-inputwrapper': true,
39
+ 'p-cascadeselect-clearable': instance.showClear && !instance.$disabled(),
40
+ 'p-cascadeselect-mobile': instance.queryMatches(),
41
+ 'p-disabled': instance.$disabled(),
42
+ 'p-invalid': instance.invalid(),
43
+ 'p-focus': instance.focused,
44
+ 'p-inputwrapper-filled': instance.modelValue(),
45
+ 'p-variant-filled': instance.$variant() === 'filled',
46
+ 'p-inputwrapper-focus': instance.focused || instance.overlayVisible,
47
+ 'p-cascadeselect-open': instance.overlayVisible,
48
+ 'p-cascadeselect-fluid': instance.hasFluid,
49
+ 'p-cascadeselect-sm p-inputfield-sm': instance.size() === 'small',
50
+ 'p-cascadeselect-lg p-inputfield-lg': instance.size() === 'large'
51
+ }
52
+ ],
53
+ label: ({ instance }) => [
54
+ 'p-cascadeselect-label',
55
+ {
56
+ 'p-placeholder': instance.label() === instance.placeholder,
57
+ 'p-cascadeselect-label-empty': !instance.value && (instance.label() === 'p-emptylabel' || instance.label().length === 0)
58
+ }
59
+ ],
60
+ clearIcon: 'p-cascadeselect-clear-icon',
61
+ dropdown: 'p-cascadeselect-dropdown',
62
+ loadingIcon: 'p-cascadeselect-loading-icon',
63
+ dropdownIcon: 'p-cascadeselect-dropdown-icon',
64
+ overlay: ({ instance }) => [
65
+ 'p-cascadeselect-overlay p-component-overlay p-component',
66
+ {
67
+ 'p-cascadeselect-mobile-active': instance.queryMatches()
68
+ }
69
+ ],
70
+ listContainer: 'p-cascadeselect-list-container',
71
+ list: 'p-cascadeselect-list',
72
+ option: ({ instance, processedOption }) => [
73
+ 'p-cascadeselect-option',
74
+ {
75
+ 'p-cascadeselect-option-group': instance.isOptionGroup(processedOption),
76
+ 'p-cascadeselect-option-active': instance.isOptionActive(processedOption),
77
+ 'p-cascadeselect-option-selected': instance.isOptionSelected(processedOption),
78
+ 'p-focus': instance.isOptionFocused(processedOption),
79
+ 'p-disabled': instance.isOptionDisabled(processedOption)
80
+ }
81
+ ],
82
+ optionContent: 'p-cascadeselect-option-content',
83
+ optionText: 'p-cascadeselect-option-text',
84
+ groupIcon: 'p-cascadeselect-group-icon',
85
+ optionList: 'p-cascadeselect-list p-cascadeselect-overlay p-cascadeselect-option-list'
86
+ };
87
+ class CascadeSelectStyle extends BaseStyle {
88
+ name = 'cascadeselect';
89
+ theme = theme;
90
+ classes = classes;
91
+ inlineStyles = inlineStyles;
92
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
93
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectStyle });
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectStyle, decorators: [{
96
+ type: Injectable
97
+ }] });
98
+ /**
99
+ *
100
+ * CascadeSelect is a form component to select a value from a nested structure of options.
101
+ *
102
+ * [Live Demo](https://www.primeng.org/cascadeselect/)
103
+ *
104
+ * @module cascadeselectstyle
105
+ *
106
+ */
107
+ var CascadeSelectClasses;
108
+ (function (CascadeSelectClasses) {
109
+ /**
110
+ * Class name of the root element
111
+ */
112
+ CascadeSelectClasses["root"] = "p-cascadeselect";
113
+ /**
114
+ * Class name of the label element
115
+ */
116
+ CascadeSelectClasses["label"] = "p-cascadeselect-label";
117
+ /**
118
+ * Class name of the dropdown element
119
+ */
120
+ CascadeSelectClasses["dropdown"] = "p-cascadeselect-dropdown";
121
+ /**
122
+ * Class name of the loading icon element
123
+ */
124
+ CascadeSelectClasses["loadingIcon"] = "p-cascadeselect-loading-icon";
125
+ /**
126
+ * Class name of the dropdown icon element
127
+ */
128
+ CascadeSelectClasses["clearIcon"] = "p-cascadeselect-clear-icon";
129
+ /**
130
+ * Class name of the dropdown icon element
131
+ */
132
+ CascadeSelectClasses["dropdownIcon"] = "p-cascadeselect-dropdown-icon";
133
+ /**
134
+ * Class name of the overlay element
135
+ */
136
+ CascadeSelectClasses["overlay"] = "p-cascadeselect-overlay";
137
+ /**
138
+ * Class name of the list container element
139
+ */
140
+ CascadeSelectClasses["listContainer"] = "p-cascadeselect-list-container";
141
+ /**
142
+ * Class name of the list element
143
+ */
144
+ CascadeSelectClasses["list"] = "p-cascadeselect-list";
145
+ /**
146
+ * Class name of the item element
147
+ */
148
+ CascadeSelectClasses["item"] = "p-cascadeselect-item";
149
+ /**
150
+ * Class name of the item content element
151
+ */
152
+ CascadeSelectClasses["itemContent"] = "p-cascadeselect-item-content";
153
+ /**
154
+ * Class name of the item text element
155
+ */
156
+ CascadeSelectClasses["itemText"] = "p-cascadeselect-item-text";
157
+ /**
158
+ * Class name of the group icon element
159
+ */
160
+ CascadeSelectClasses["groupIcon"] = "p-cascadeselect-group-icon";
161
+ /**
162
+ * Class name of the item list element
163
+ */
164
+ CascadeSelectClasses["itemList"] = "p-cascadeselect-item-list";
165
+ })(CascadeSelectClasses || (CascadeSelectClasses = {}));
166
+
167
+ const CASCADESELECT_VALUE_ACCESSOR = {
168
+ provide: NG_VALUE_ACCESSOR,
169
+ useExisting: forwardRef(() => CascadeSelect),
170
+ multi: true
171
+ };
172
+ class CascadeSelectSub extends BaseComponent {
173
+ cascadeselect;
174
+ role;
175
+ selectId;
176
+ activeOptionPath;
177
+ optionDisabled;
178
+ focusedOptionId;
179
+ options;
180
+ optionGroupChildren;
181
+ optionTemplate;
182
+ groupicon;
183
+ level = 0;
184
+ optionLabel;
185
+ optionValue;
186
+ optionGroupLabel;
187
+ dirty;
188
+ root;
189
+ onChange = new EventEmitter();
190
+ onFocusChange = new EventEmitter();
191
+ onFocusEnterChange = new EventEmitter();
192
+ _componentStyle = inject(CascadeSelectStyle);
193
+ get listLabel() {
194
+ return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];
195
+ }
196
+ constructor(cascadeselect) {
197
+ super();
198
+ this.cascadeselect = cascadeselect;
199
+ }
200
+ ngOnInit() {
201
+ super.ngOnInit();
202
+ if (!this.root) {
203
+ this.position();
204
+ }
205
+ }
206
+ onOptionClick(event, processedOption) {
207
+ this.onChange.emit({
208
+ originalEvent: event,
209
+ processedOption,
210
+ isFocus: true
211
+ });
212
+ }
213
+ onOptionMouseEnter(event, processedOption) {
214
+ this.onFocusEnterChange.emit({ originalEvent: event, processedOption });
215
+ }
216
+ onOptionMouseMove(event, processedOption) {
217
+ this.onFocusChange.emit({ originalEvent: event, processedOption });
218
+ }
219
+ getOptionId(processedOption) {
220
+ return `${this.selectId}_${processedOption.key}`;
221
+ }
222
+ getOptionLabel(processedOption) {
223
+ return this.optionLabel ? resolveFieldData(processedOption.option, this.optionLabel) : processedOption.option;
224
+ }
225
+ getOptionValue(processedOption) {
226
+ return this.optionValue ? resolveFieldData(processedOption.option, this.optionValue) : processedOption.option;
227
+ }
228
+ getOptionLabelToRender(processedOption) {
229
+ return this.isOptionGroup(processedOption) ? this.getOptionGroupLabel(processedOption) : this.getOptionLabel(processedOption);
230
+ }
231
+ isOptionDisabled(processedOption) {
232
+ return this.optionDisabled ? resolveFieldData(processedOption.option, this.optionDisabled) : false;
233
+ }
234
+ getOptionGroupLabel(processedOption) {
235
+ return this.optionGroupLabel ? resolveFieldData(processedOption.option, this.optionGroupLabel) : null;
236
+ }
237
+ getOptionGroupChildren(processedOption) {
238
+ return processedOption.children;
239
+ }
240
+ isOptionGroup(processedOption) {
241
+ return isNotEmpty(processedOption.children);
242
+ }
243
+ isOptionSelected(processedOption) {
244
+ return equals(this.cascadeselect?.modelValue(), processedOption?.option);
245
+ }
246
+ isOptionActive(processedOption) {
247
+ return this.activeOptionPath.some((path) => path.key === processedOption.key);
248
+ }
249
+ isOptionFocused(processedOption) {
250
+ return this.focusedOptionId === this.getOptionId(processedOption);
251
+ }
252
+ position() {
253
+ const parentItem = this.el.nativeElement.parentElement;
254
+ const containerOffset = getOffset(parentItem);
255
+ const viewport = getViewport();
256
+ const sublistWidth = this.el.nativeElement.children[0].offsetParent ? this.el.nativeElement.children[0].offsetWidth : getHiddenElementOuterWidth(this.el.nativeElement.children[0]);
257
+ const itemOuterWidth = getOuterWidth(parentItem.children[0]);
258
+ if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {
259
+ this.el.nativeElement.children[0].style.left = '-200%';
260
+ }
261
+ }
262
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectSub, deps: [{ token: CascadeSelect }], target: i0.ɵɵFactoryTarget.Component });
263
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2.4", type: CascadeSelectSub, isStandalone: true, selector: "p-cascadeSelectSub, p-cascadeselect-sub", inputs: { role: "role", selectId: "selectId", activeOptionPath: "activeOptionPath", optionDisabled: "optionDisabled", focusedOptionId: "focusedOptionId", options: "options", optionGroupChildren: "optionGroupChildren", optionTemplate: "optionTemplate", groupicon: "groupicon", level: ["level", "level", numberAttribute], optionLabel: "optionLabel", optionValue: "optionValue", optionGroupLabel: "optionGroupLabel", dirty: ["dirty", "dirty", booleanAttribute], root: ["root", "root", booleanAttribute] }, outputs: { onChange: "onChange", onFocusChange: "onFocusChange", onFocusEnterChange: "onFocusEnterChange" }, providers: [CascadeSelectStyle], usesInheritance: true, ngImport: i0, template: `
264
+ <ul [class]="cx('list')" [attr.role]="role" aria-orientation="horizontal" [attr.data-pc-section]="level === 0 ? 'list' : 'sublist'" [attr.aria-label]="listLabel">
265
+ <ng-template ngFor let-processedOption [ngForOf]="options" let-i="index">
266
+ <li
267
+ [class]="cx('option', { processedOption })"
268
+ role="treeitem"
269
+ [attr.aria-level]="level + 1"
270
+ [attr.aria-setsize]="options.length"
271
+ [attr.data-pc-section]="'item'"
272
+ [id]="getOptionId(processedOption)"
273
+ [attr.aria-label]="getOptionLabelToRender(processedOption)"
274
+ [attr.aria-selected]="isOptionGroup(processedOption) ? undefined : isOptionSelected(processedOption)"
275
+ [attr.aria-posinset]="i + 1"
276
+ >
277
+ <div
278
+ [class]="cx('optionContent')"
279
+ (click)="onOptionClick($event, processedOption)"
280
+ (mouseenter)="onOptionMouseEnter($event, processedOption)"
281
+ (mousemove)="onOptionMouseMove($event, processedOption)"
282
+ pRipple
283
+ [attr.data-pc-section]="'content'"
284
+ >
285
+ <ng-container *ngIf="optionTemplate; else defaultOptionTemplate">
286
+ <ng-container *ngTemplateOutlet="optionTemplate; context: { $implicit: processedOption?.option }"></ng-container>
287
+ </ng-container>
288
+ <ng-template #defaultOptionTemplate>
289
+ <span [class]="cx('optionText')" [attr.data-pc-section]="'text'">{{ getOptionLabelToRender(processedOption) }}</span>
290
+ </ng-template>
291
+ <span [class]="cx('groupIcon')" *ngIf="isOptionGroup(processedOption)" [attr.data-pc-section]="'groupIcon'">
292
+ <svg data-p-icon="angle-right" *ngIf="!groupicon" />
293
+ <ng-template *ngTemplateOutlet="groupicon"></ng-template>
294
+ </span>
295
+ </div>
296
+ <p-cascadeselect-sub
297
+ *ngIf="isOptionGroup(processedOption) && isOptionActive(processedOption)"
298
+ [role]="'group'"
299
+ [class]="cx('optionList')"
300
+ [selectId]="selectId"
301
+ [focusedOptionId]="focusedOptionId"
302
+ [activeOptionPath]="activeOptionPath"
303
+ [options]="getOptionGroupChildren(processedOption)"
304
+ [optionLabel]="optionLabel"
305
+ [optionValue]="optionValue"
306
+ [level]="level + 1"
307
+ (onChange)="onChange.emit($event)"
308
+ (onFocusChange)="onFocusChange.emit($event)"
309
+ (onFocusEnterChange)="onFocusEnterChange.emit($event)"
310
+ [optionGroupLabel]="optionGroupLabel"
311
+ [optionGroupChildren]="optionGroupChildren"
312
+ [dirty]="dirty"
313
+ [optionTemplate]="optionTemplate"
314
+ >
315
+ </p-cascadeselect-sub>
316
+ </li>
317
+ </ng-template>
318
+ </ul>
319
+ `, isInline: true, dependencies: [{ kind: "component", type: CascadeSelectSub, selector: "p-cascadeSelectSub, p-cascadeselect-sub", inputs: ["role", "selectId", "activeOptionPath", "optionDisabled", "focusedOptionId", "options", "optionGroupChildren", "optionTemplate", "groupicon", "level", "optionLabel", "optionValue", "optionGroupLabel", "dirty", "root"], outputs: ["onChange", "onFocusChange", "onFocusEnterChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: AngleRightIcon, selector: "[data-p-icon=\"angle-right\"]" }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
320
+ }
321
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectSub, decorators: [{
322
+ type: Component,
323
+ args: [{
324
+ selector: 'p-cascadeSelectSub, p-cascadeselect-sub',
325
+ standalone: true,
326
+ imports: [CommonModule, Ripple, AngleRightIcon, SharedModule],
327
+ template: `
328
+ <ul [class]="cx('list')" [attr.role]="role" aria-orientation="horizontal" [attr.data-pc-section]="level === 0 ? 'list' : 'sublist'" [attr.aria-label]="listLabel">
329
+ <ng-template ngFor let-processedOption [ngForOf]="options" let-i="index">
330
+ <li
331
+ [class]="cx('option', { processedOption })"
332
+ role="treeitem"
333
+ [attr.aria-level]="level + 1"
334
+ [attr.aria-setsize]="options.length"
335
+ [attr.data-pc-section]="'item'"
336
+ [id]="getOptionId(processedOption)"
337
+ [attr.aria-label]="getOptionLabelToRender(processedOption)"
338
+ [attr.aria-selected]="isOptionGroup(processedOption) ? undefined : isOptionSelected(processedOption)"
339
+ [attr.aria-posinset]="i + 1"
340
+ >
341
+ <div
342
+ [class]="cx('optionContent')"
343
+ (click)="onOptionClick($event, processedOption)"
344
+ (mouseenter)="onOptionMouseEnter($event, processedOption)"
345
+ (mousemove)="onOptionMouseMove($event, processedOption)"
346
+ pRipple
347
+ [attr.data-pc-section]="'content'"
348
+ >
349
+ <ng-container *ngIf="optionTemplate; else defaultOptionTemplate">
350
+ <ng-container *ngTemplateOutlet="optionTemplate; context: { $implicit: processedOption?.option }"></ng-container>
351
+ </ng-container>
352
+ <ng-template #defaultOptionTemplate>
353
+ <span [class]="cx('optionText')" [attr.data-pc-section]="'text'">{{ getOptionLabelToRender(processedOption) }}</span>
354
+ </ng-template>
355
+ <span [class]="cx('groupIcon')" *ngIf="isOptionGroup(processedOption)" [attr.data-pc-section]="'groupIcon'">
356
+ <svg data-p-icon="angle-right" *ngIf="!groupicon" />
357
+ <ng-template *ngTemplateOutlet="groupicon"></ng-template>
358
+ </span>
359
+ </div>
360
+ <p-cascadeselect-sub
361
+ *ngIf="isOptionGroup(processedOption) && isOptionActive(processedOption)"
362
+ [role]="'group'"
363
+ [class]="cx('optionList')"
364
+ [selectId]="selectId"
365
+ [focusedOptionId]="focusedOptionId"
366
+ [activeOptionPath]="activeOptionPath"
367
+ [options]="getOptionGroupChildren(processedOption)"
368
+ [optionLabel]="optionLabel"
369
+ [optionValue]="optionValue"
370
+ [level]="level + 1"
371
+ (onChange)="onChange.emit($event)"
372
+ (onFocusChange)="onFocusChange.emit($event)"
373
+ (onFocusEnterChange)="onFocusEnterChange.emit($event)"
374
+ [optionGroupLabel]="optionGroupLabel"
375
+ [optionGroupChildren]="optionGroupChildren"
376
+ [dirty]="dirty"
377
+ [optionTemplate]="optionTemplate"
378
+ >
379
+ </p-cascadeselect-sub>
380
+ </li>
381
+ </ng-template>
382
+ </ul>
383
+ `,
384
+ encapsulation: ViewEncapsulation.None,
385
+ changeDetection: ChangeDetectionStrategy.OnPush,
386
+ providers: [CascadeSelectStyle]
387
+ }]
388
+ }], ctorParameters: () => [{ type: CascadeSelect }], propDecorators: { role: [{
389
+ type: Input
390
+ }], selectId: [{
391
+ type: Input
392
+ }], activeOptionPath: [{
393
+ type: Input
394
+ }], optionDisabled: [{
395
+ type: Input
396
+ }], focusedOptionId: [{
397
+ type: Input
398
+ }], options: [{
399
+ type: Input
400
+ }], optionGroupChildren: [{
401
+ type: Input
402
+ }], optionTemplate: [{
403
+ type: Input
404
+ }], groupicon: [{
405
+ type: Input
406
+ }], level: [{
407
+ type: Input,
408
+ args: [{ transform: numberAttribute }]
409
+ }], optionLabel: [{
410
+ type: Input
411
+ }], optionValue: [{
412
+ type: Input
413
+ }], optionGroupLabel: [{
414
+ type: Input
415
+ }], dirty: [{
416
+ type: Input,
417
+ args: [{ transform: booleanAttribute }]
418
+ }], root: [{
419
+ type: Input,
420
+ args: [{ transform: booleanAttribute }]
421
+ }], onChange: [{
422
+ type: Output
423
+ }], onFocusChange: [{
424
+ type: Output
425
+ }], onFocusEnterChange: [{
426
+ type: Output
427
+ }] } });
428
+ /**
429
+ * CascadeSelect is a form component to select a value from a nested structure of options.
430
+ * @group Components
431
+ */
432
+ class CascadeSelect extends BaseEditableHolder {
433
+ overlayService;
434
+ /**
435
+ * Unique identifier of the component
436
+ * @group Props
437
+ */
438
+ id;
439
+ /**
440
+ * Text to display when the search is active. Defaults to global value in i18n translation configuration.
441
+ * @group Props
442
+ * @defaultValue '{0} results are available'
443
+ */
444
+ searchMessage;
445
+ /**
446
+ * Text to display when there is no data. Defaults to global value in i18n translation configuration.
447
+ * @group Props
448
+ */
449
+ emptyMessage;
450
+ /**
451
+ * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.
452
+ * @group Props
453
+ * @defaultValue '{0} items selected'
454
+ */
455
+ selectionMessage;
456
+ /**
457
+ * Text to display when filtering does not return any results. Defaults to value from PrimeNG locale configuration.
458
+ * @group Props
459
+ * @defaultValue 'No available options'
460
+ */
461
+ emptySearchMessage;
462
+ /**
463
+ * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.
464
+ * @group Props
465
+ * @defaultValue 'No selected item'
466
+ */
467
+ emptySelectionMessage;
468
+ /**
469
+ * Locale to use in searching. The default locale is the host environment's current locale.
470
+ * @group Props
471
+ */
472
+ searchLocale;
473
+ /**
474
+ * Name of the disabled field of an option.
475
+ * @group Props
476
+ */
477
+ optionDisabled;
478
+ /**
479
+ * Fields used when filtering the options, defaults to optionLabel.
480
+ * @group Props
481
+ */
482
+ focusOnHover = true;
483
+ /**
484
+ * Determines if the option will be selected on focus.
485
+ * @group Props
486
+ */
487
+ selectOnFocus = false;
488
+ /**
489
+ * Whether to focus on the first visible or selected element when the overlay panel is shown.
490
+ * @group Props
491
+ */
492
+ autoOptionFocus = false;
493
+ /**
494
+ * Style class of the component.
495
+ * @deprecated since v20.0.0, use `class` instead.
496
+ * @group Props
497
+ */
498
+ styleClass;
499
+ /**
500
+ * An array of selectitems to display as the available options.
501
+ * @group Props
502
+ */
503
+ options;
504
+ /**
505
+ * Property name or getter function to use as the label of an option.
506
+ * @group Props
507
+ */
508
+ optionLabel;
509
+ /**
510
+ * Property name or getter function to use as the value of an option, defaults to the option itself when not defined.
511
+ * @group Props
512
+ */
513
+ optionValue;
514
+ /**
515
+ * Property name or getter function to use as the label of an option group.
516
+ * @group Props
517
+ */
518
+ optionGroupLabel;
519
+ /**
520
+ * Property name or getter function to retrieve the items of a group.
521
+ * @group Props
522
+ */
523
+ optionGroupChildren;
524
+ /**
525
+ * Default text to display when no option is selected.
526
+ * @group Props
527
+ */
528
+ placeholder;
529
+ /**
530
+ * Selected value of the component.
531
+ * @group Props
532
+ */
533
+ value;
534
+ /**
535
+ * A property to uniquely identify an option.
536
+ * @group Props
537
+ */
538
+ dataKey;
539
+ /**
540
+ * Identifier of the underlying input element.
541
+ * @group Props
542
+ */
543
+ inputId;
544
+ /**
545
+ * Index of the element in tabbing order.
546
+ * @group Props
547
+ */
548
+ tabindex = 0;
549
+ /**
550
+ * Establishes relationships between the component and label(s) where its value should be one or more element IDs.
551
+ * @group Props
552
+ */
553
+ ariaLabelledBy;
554
+ /**
555
+ * Label of the input for accessibility.
556
+ * @group Props
557
+ */
558
+ inputLabel;
559
+ /**
560
+ * Defines a string that labels the input for accessibility.
561
+ * @group Props
562
+ */
563
+ ariaLabel;
564
+ /**
565
+ * When enabled, a clear icon is displayed to clear the value.
566
+ * @group Props
567
+ */
568
+ showClear = false;
569
+ /**
570
+ * Style class of the overlay panel.
571
+ * @group Props
572
+ */
573
+ panelStyleClass;
574
+ /**
575
+ * Inline style of the overlay panel.
576
+ * @group Props
577
+ */
578
+ panelStyle;
579
+ /**
580
+ * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.
581
+ * @group Props
582
+ */
583
+ overlayOptions;
584
+ /**
585
+ * When present, it specifies that the component should automatically get focus on load.
586
+ * @group Props
587
+ */
588
+ autofocus;
589
+ /**
590
+ * Whether the dropdown is in loading state.
591
+ * @group Props
592
+ */
593
+ loading = false;
594
+ /**
595
+ * Icon to display in loading state.
596
+ * @group Props
597
+ */
598
+ loadingIcon;
599
+ /**
600
+ * The breakpoint to define the maximum width boundary.
601
+ * @group Props
602
+ */
603
+ breakpoint = '960px';
604
+ /**
605
+ * Specifies the size of the component.
606
+ * @defaultValue undefined
607
+ * @group Props
608
+ */
609
+ size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
610
+ /**
611
+ * Specifies the input variant of the component.
612
+ * @defaultValue undefined
613
+ * @group Props
614
+ */
615
+ variant = input(...(ngDevMode ? [undefined, { debugName: "variant" }] : []));
616
+ /**
617
+ * Spans 100% width of the container when enabled.
618
+ * @defaultValue undefined
619
+ * @group Props
620
+ */
621
+ fluid = input(undefined, ...(ngDevMode ? [{ debugName: "fluid", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
622
+ /**
623
+ * Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name).
624
+ * @defaultValue 'self'
625
+ * @group Props
626
+ */
627
+ appendTo = input(undefined, ...(ngDevMode ? [{ debugName: "appendTo" }] : []));
628
+ /**
629
+ * Callback to invoke on value change.
630
+ * @param {CascadeSelectChangeEvent} event - Custom change event.
631
+ * @group Emits
632
+ */
633
+ onChange = new EventEmitter();
634
+ /**
635
+ * Callback to invoke when a group changes.
636
+ * @param {Event} event - Browser event.
637
+ * @group Emits
638
+ */
639
+ onGroupChange = new EventEmitter();
640
+ /**
641
+ * Callback to invoke when the overlay is shown.
642
+ * @param {CascadeSelectShowEvent} event - Custom overlay show event.
643
+ * @group Emits
644
+ */
645
+ onShow = new EventEmitter();
646
+ /**
647
+ * Callback to invoke when the overlay is hidden.
648
+ * @param {CascadeSelectHideEvent} event - Custom overlay hide event.
649
+ * @group Emits
650
+ */
651
+ onHide = new EventEmitter();
652
+ /**
653
+ * Callback to invoke when the clear token is clicked.
654
+ * @group Emits
655
+ */
656
+ onClear = new EventEmitter();
657
+ /**
658
+ * Callback to invoke before overlay is shown.
659
+ * @param {CascadeSelectBeforeShowEvent} event - Custom overlay show event.
660
+ * @group Emits
661
+ */
662
+ onBeforeShow = new EventEmitter();
663
+ /**
664
+ * Callback to invoke before overlay is hidden.
665
+ * @param {CascadeSelectBeforeHideEvent} event - Custom overlay hide event.
666
+ * @group Emits
667
+ */
668
+ onBeforeHide = new EventEmitter();
669
+ /**
670
+ * Callback to invoke when input receives focus.
671
+ * @param {FocusEvent} event - Focus event.
672
+ * @group Emits
673
+ */
674
+ onFocus = new EventEmitter();
675
+ /**
676
+ * Callback to invoke when input loses focus.
677
+ * @param {FocusEvent} event - Focus event.
678
+ * @group Emits
679
+ */
680
+ onBlur = new EventEmitter();
681
+ focusInputViewChild;
682
+ panelViewChild;
683
+ overlayViewChild;
684
+ /**
685
+ * Content template for displaying the selected value.
686
+ * @group Templates
687
+ */
688
+ valueTemplate;
689
+ /**
690
+ * Content template for customizing the option display.
691
+ * @group Templates
692
+ */
693
+ optionTemplate;
694
+ /**
695
+ * Content template for customizing the header.
696
+ * @group Templates
697
+ */
698
+ headerTemplate;
699
+ /**
700
+ * Content template for customizing the footer.
701
+ * @group Templates
702
+ */
703
+ footerTemplate;
704
+ /**
705
+ * Content template for customizing the trigger icon.
706
+ * @group Templates
707
+ */
708
+ triggerIconTemplate;
709
+ /**
710
+ * Content template for customizing the loading icon.
711
+ * @group Templates
712
+ */
713
+ loadingIconTemplate;
714
+ /**
715
+ * Content template for customizing the group icon.
716
+ * @group Templates
717
+ */
718
+ groupIconTemplate;
719
+ /**
720
+ * Content template for customizing the clear icon.
721
+ * @group Templates
722
+ */
723
+ clearIconTemplate;
724
+ _valueTemplate;
725
+ _optionTemplate;
726
+ _headerTemplate;
727
+ _footerTemplate;
728
+ _triggerIconTemplate;
729
+ _loadingIconTemplate;
730
+ _groupIconTemplate;
731
+ _clearIconTemplate;
732
+ selectionPath = null;
733
+ focused = false;
734
+ overlayVisible = false;
735
+ clicked = false;
736
+ dirty = false;
737
+ searchValue;
738
+ searchTimeout;
739
+ focusedOptionInfo = signal({ index: -1, level: 0, parentKey: '' }, ...(ngDevMode ? [{ debugName: "focusedOptionInfo" }] : []));
740
+ activeOptionPath = signal([], ...(ngDevMode ? [{ debugName: "activeOptionPath" }] : []));
741
+ processedOptions = [];
742
+ _componentStyle = inject(CascadeSelectStyle);
743
+ initialized = false;
744
+ $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant(), ...(ngDevMode ? [{ debugName: "$variant" }] : []));
745
+ $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo(), ...(ngDevMode ? [{ debugName: "$appendTo" }] : []));
746
+ pcFluid = inject(Fluid, { optional: true, host: true, skipSelf: true });
747
+ get hasFluid() {
748
+ return this.fluid() ?? !!this.pcFluid;
749
+ }
750
+ onHostClick(event) {
751
+ this.onContainerClick(event);
752
+ }
753
+ get focusedOptionId() {
754
+ return this.focusedOptionInfo().index !== -1 ? `${this.id}${isNotEmpty(this.focusedOptionInfo().parentKey) ? '_' + this.focusedOptionInfo().parentKey : ''}_${this.focusedOptionInfo().index}` : null;
755
+ }
756
+ get searchResultMessageText() {
757
+ return isNotEmpty(this.visibleOptions()) ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;
758
+ }
759
+ get searchMessageText() {
760
+ return this.searchMessage || this.config.translation.searchMessage || '';
761
+ }
762
+ get emptySearchMessageText() {
763
+ return this.emptySearchMessage || this.config.translation.emptySearchMessage || '';
764
+ }
765
+ get emptyMessageText() {
766
+ return this.emptyMessage || this.config.translation.emptyMessage || '';
767
+ }
768
+ get selectionMessageText() {
769
+ return this.selectionMessage || this.config.translation.selectionMessage || '';
770
+ }
771
+ get emptySelectionMessageText() {
772
+ return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';
773
+ }
774
+ get selectedMessageText() {
775
+ return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;
776
+ }
777
+ visibleOptions = computed(() => {
778
+ const processedOption = this.activeOptionPath().find((p) => p.key === this.focusedOptionInfo().parentKey);
779
+ return processedOption ? processedOption.children : this.processedOptions;
780
+ }, ...(ngDevMode ? [{ debugName: "visibleOptions" }] : []));
781
+ label = computed(() => {
782
+ const label = this.placeholder || 'p-emptylabel';
783
+ if (this.hasSelectedOption()) {
784
+ const activeOptionPath = this.findOptionPathByValue(this.modelValue(), null);
785
+ const processedOption = isNotEmpty(activeOptionPath) ? activeOptionPath[activeOptionPath.length - 1] : null;
786
+ return processedOption ? this.getOptionLabel(processedOption.option) : label;
787
+ }
788
+ return label;
789
+ }, ...(ngDevMode ? [{ debugName: "label" }] : []));
790
+ get _label() {
791
+ const label = this.placeholder || 'p-emptylabel';
792
+ if (this.hasSelectedOption()) {
793
+ const activeOptionPath = this.findOptionPathByValue(this.modelValue(), null);
794
+ const processedOption = isNotEmpty(activeOptionPath) ? activeOptionPath[activeOptionPath.length - 1] : null;
795
+ return processedOption ? this.getOptionLabel(processedOption.option) : label;
796
+ }
797
+ return label;
798
+ }
799
+ templates;
800
+ ngAfterContentInit() {
801
+ this.templates.forEach((item) => {
802
+ switch (item.getType()) {
803
+ case 'value':
804
+ this._valueTemplate = item.template;
805
+ break;
806
+ case 'option':
807
+ this._optionTemplate = item.template;
808
+ break;
809
+ case 'triggericon':
810
+ this._triggerIconTemplate = item.template;
811
+ break;
812
+ case 'loadingicon':
813
+ this._loadingIconTemplate = item.template;
814
+ break;
815
+ case 'clearicon':
816
+ this._clearIconTemplate = item.template;
817
+ break;
818
+ case 'optiongroupicon':
819
+ this._groupIconTemplate = item.template;
820
+ break;
821
+ }
822
+ });
823
+ }
824
+ ngOnChanges(changes) {
825
+ super.ngOnChanges(changes);
826
+ if (changes.options) {
827
+ this.processedOptions = this.createProcessedOptions(changes.options.currentValue || []);
828
+ this.updateModel(null);
829
+ }
830
+ }
831
+ hasSelectedOption() {
832
+ return isNotEmpty(this.modelValue());
833
+ }
834
+ createProcessedOptions(options, level = 0, parent = {}, parentKey = '') {
835
+ const processedOptions = [];
836
+ options &&
837
+ options.forEach((option, index) => {
838
+ const key = (parentKey !== '' ? parentKey + '_' : '') + index;
839
+ const newOption = {
840
+ option,
841
+ index,
842
+ level,
843
+ key,
844
+ parent,
845
+ parentKey
846
+ };
847
+ newOption['children'] = this.createProcessedOptions(this.getOptionGroupChildren(option, level), level + 1, newOption, key);
848
+ processedOptions.push(newOption);
849
+ });
850
+ return processedOptions;
851
+ }
852
+ onInputFocus(event) {
853
+ if (this.$disabled()) {
854
+ // For screenreaders
855
+ return;
856
+ }
857
+ this.focused = true;
858
+ this.onFocus.emit(event);
859
+ }
860
+ onInputBlur(event) {
861
+ this.focused = false;
862
+ this.focusedOptionInfo.set({ indeX: -1, level: 0, parentKey: '' });
863
+ this.searchValue = '';
864
+ this.onModelTouched();
865
+ this.onBlur.emit(event);
866
+ }
867
+ onInputKeyDown(event) {
868
+ if (this.$disabled() || this.loading) {
869
+ event.preventDefault();
870
+ return;
871
+ }
872
+ const metaKey = event.metaKey || event.ctrlKey;
873
+ switch (event.code) {
874
+ case 'ArrowDown':
875
+ this.onArrowDownKey(event);
876
+ break;
877
+ case 'ArrowUp':
878
+ this.onArrowUpKey(event);
879
+ break;
880
+ case 'ArrowLeft':
881
+ this.onArrowLeftKey(event);
882
+ break;
883
+ case 'ArrowRight':
884
+ this.onArrowRightKey(event);
885
+ break;
886
+ case 'Home':
887
+ this.onHomeKey(event);
888
+ break;
889
+ case 'End':
890
+ this.onEndKey(event);
891
+ break;
892
+ case 'Space':
893
+ this.onSpaceKey(event);
894
+ break;
895
+ case 'Enter':
896
+ case 'NumpadEnter':
897
+ this.onEnterKey(event);
898
+ break;
899
+ case 'Escape':
900
+ this.onEscapeKey(event);
901
+ break;
902
+ case 'Tab':
903
+ this.onTabKey(event);
904
+ break;
905
+ case 'Backspace':
906
+ this.onBackspaceKey(event);
907
+ break;
908
+ case 'PageDown':
909
+ case 'PageUp':
910
+ case 'ShiftLeft':
911
+ case 'ShiftRight':
912
+ //NOOP
913
+ break;
914
+ default:
915
+ if (!metaKey && isPrintableCharacter(event.key)) {
916
+ !this.overlayVisible && this.show();
917
+ this.searchOptions(event, event.key);
918
+ }
919
+ break;
920
+ }
921
+ this.clicked = false;
922
+ }
923
+ onArrowDownKey(event) {
924
+ if (!this.overlayVisible) {
925
+ this.show();
926
+ }
927
+ else {
928
+ const optionIndex = this.focusedOptionInfo().index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo().index) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();
929
+ this.changeFocusedOptionIndex(event, optionIndex, true);
930
+ }
931
+ event.preventDefault();
932
+ }
933
+ onArrowUpKey(event) {
934
+ if (event.altKey) {
935
+ if (this.focusedOptionInfo().index !== -1) {
936
+ const processedOption = this.visibleOptions[this.focusedOptionInfo().index];
937
+ const grouped = this.isProccessedOptionGroup(processedOption);
938
+ !grouped && this.onOptionChange({ originalEvent: event, processedOption });
939
+ }
940
+ this.overlayVisible && this.hide();
941
+ event.preventDefault();
942
+ }
943
+ else {
944
+ const optionIndex = this.focusedOptionInfo().index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo().index) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();
945
+ this.changeFocusedOptionIndex(event, optionIndex, true);
946
+ !this.overlayVisible && this.show();
947
+ event.preventDefault();
948
+ }
949
+ }
950
+ onArrowLeftKey(event) {
951
+ if (this.overlayVisible) {
952
+ const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];
953
+ const parentOption = this.activeOptionPath().find((p) => p.key === processedOption.parentKey);
954
+ const matched = this.focusedOptionInfo().parentKey === '' || (parentOption && parentOption.key === this.focusedOptionInfo().parentKey);
955
+ const root = isEmpty(processedOption.parent);
956
+ if (matched) {
957
+ const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== this.focusedOptionInfo().parentKey);
958
+ this.activeOptionPath.set(activeOptionPath);
959
+ }
960
+ if (!root) {
961
+ this.focusedOptionInfo.set({ index: -1, parentKey: parentOption ? parentOption.parentKey : '' });
962
+ this.searchValue = '';
963
+ this.onArrowDownKey(event);
964
+ }
965
+ event.preventDefault();
966
+ }
967
+ }
968
+ onArrowRightKey(event) {
969
+ if (this.overlayVisible) {
970
+ const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];
971
+ const grouped = this.isProccessedOptionGroup(processedOption);
972
+ if (grouped) {
973
+ const matched = this.activeOptionPath().some((p) => processedOption.key === p.key);
974
+ if (matched) {
975
+ this.focusedOptionInfo.set({ index: -1, parentKey: processedOption.key });
976
+ this.searchValue = '';
977
+ this.onArrowDownKey(event);
978
+ }
979
+ else {
980
+ this.onOptionChange({ originalEvent: event, processedOption });
981
+ }
982
+ }
983
+ event.preventDefault();
984
+ }
985
+ }
986
+ onHomeKey(event) {
987
+ this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());
988
+ !this.overlayVisible && this.show();
989
+ event.preventDefault();
990
+ }
991
+ onEndKey(event) {
992
+ this.changeFocusedOptionIndex(event, this.findLastOptionIndex());
993
+ !this.overlayVisible && this.show();
994
+ event.preventDefault();
995
+ }
996
+ onEnterKey(event) {
997
+ if (!this.overlayVisible) {
998
+ this.focusedOptionInfo.set({ ...this.focusedOptionInfo(), index: -1 }); // reset
999
+ this.onArrowDownKey(event);
1000
+ }
1001
+ else {
1002
+ if (this.focusedOptionInfo().index !== -1) {
1003
+ const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];
1004
+ const grouped = this.isProccessedOptionGroup(processedOption);
1005
+ this.onOptionClick({ originalEvent: event, processedOption });
1006
+ !grouped && this.hide();
1007
+ }
1008
+ }
1009
+ event.preventDefault();
1010
+ }
1011
+ onSpaceKey(event) {
1012
+ this.onEnterKey(event);
1013
+ }
1014
+ onEscapeKey(event) {
1015
+ this.overlayVisible && this.hide(event, true);
1016
+ event.preventDefault();
1017
+ }
1018
+ onTabKey(event) {
1019
+ if (this.focusedOptionInfo().index !== -1) {
1020
+ const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];
1021
+ const grouped = this.isProccessedOptionGroup(processedOption);
1022
+ !grouped && this.onOptionChange({ originalEvent: event, processedOption });
1023
+ }
1024
+ this.overlayVisible && this.hide();
1025
+ }
1026
+ onBackspaceKey(event) {
1027
+ if (isNotEmpty(this.modelValue()) && this.showClear) {
1028
+ this.clear();
1029
+ }
1030
+ event.stopPropagation();
1031
+ }
1032
+ equalityKey() {
1033
+ return this.optionValue ? null : this.dataKey;
1034
+ }
1035
+ updateModel(value, event) {
1036
+ this.value = value;
1037
+ this.onModelChange(value);
1038
+ this.writeModelValue(value);
1039
+ if (this.initialized) {
1040
+ this.onChange.emit({
1041
+ originalEvent: event,
1042
+ value: value
1043
+ });
1044
+ }
1045
+ }
1046
+ autoUpdateModel() {
1047
+ if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption()) {
1048
+ this.focusedOptionInfo().index = this.findFirstFocusedOptionIndex();
1049
+ this.onOptionChange({
1050
+ originalEvent: null,
1051
+ processedOption: this.visibleOptions()[this.focusedOptionInfo().index],
1052
+ isHide: false
1053
+ });
1054
+ !this.overlayVisible && this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });
1055
+ }
1056
+ }
1057
+ scrollInView(index = -1) {
1058
+ const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;
1059
+ const element = findSingle(this.panelViewChild?.nativeElement, `li[id="${id}"]`);
1060
+ if (element) {
1061
+ element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });
1062
+ }
1063
+ }
1064
+ changeFocusedOptionIndex(event, index, preventSelection) {
1065
+ const focusedOptionInfo = this.focusedOptionInfo();
1066
+ if (focusedOptionInfo.index !== index) {
1067
+ this.focusedOptionInfo.set({ ...focusedOptionInfo, index });
1068
+ this.scrollInView();
1069
+ if (this.focusOnHover) {
1070
+ this.onOptionClick({ originalEvent: event, processedOption: this.visibleOptions()[index], isHide: false, preventSelection });
1071
+ }
1072
+ if (this.selectOnFocus) {
1073
+ this.onOptionChange({ originalEvent: event, processedOption: this.visibleOptions()[index], isHide: false });
1074
+ }
1075
+ }
1076
+ }
1077
+ matchMediaListener;
1078
+ onOptionSelect(event) {
1079
+ const { originalEvent, value, isHide } = event;
1080
+ const newValue = this.getOptionValue(value);
1081
+ const activeOptionPath = this.activeOptionPath();
1082
+ activeOptionPath.forEach((p) => (p.selected = true));
1083
+ this.activeOptionPath.set(activeOptionPath);
1084
+ this.updateModel(newValue, originalEvent);
1085
+ isHide && this.hide(event, true);
1086
+ }
1087
+ onOptionGroupSelect(event) {
1088
+ this.dirty = true;
1089
+ this.onGroupChange.emit(event);
1090
+ }
1091
+ onContainerClick(event) {
1092
+ if (this.$disabled() || this.loading) {
1093
+ return;
1094
+ }
1095
+ if (!this.overlayViewChild?.el?.nativeElement?.contains(event.target)) {
1096
+ if (this.overlayVisible) {
1097
+ this.hide();
1098
+ }
1099
+ else {
1100
+ this.show();
1101
+ }
1102
+ this.focusInputViewChild?.nativeElement.focus();
1103
+ }
1104
+ this.clicked = true;
1105
+ }
1106
+ isOptionMatched(processedOption) {
1107
+ return this.isValidOption(processedOption) && this.getProccessedOptionLabel(processedOption).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale));
1108
+ }
1109
+ isOptionDisabled(option) {
1110
+ return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;
1111
+ }
1112
+ isValidOption(processedOption) {
1113
+ return !!processedOption && !this.isOptionDisabled(processedOption.option);
1114
+ }
1115
+ isValidSelectedOption(processedOption) {
1116
+ return this.isValidOption(processedOption) && this.isSelected(processedOption);
1117
+ }
1118
+ isSelected(processedOption) {
1119
+ return this.activeOptionPath().some((p) => p.key === processedOption.key);
1120
+ }
1121
+ findOptionPathByValue(value, processedOptions, level = 0) {
1122
+ processedOptions = processedOptions || (level === 0 && this.processedOptions);
1123
+ if (!processedOptions)
1124
+ return null;
1125
+ if (isEmpty(value))
1126
+ return [];
1127
+ for (let i = 0; i < processedOptions.length; i++) {
1128
+ const processedOption = processedOptions[i];
1129
+ if (equals(value, this.getOptionValue(processedOption.option), this.equalityKey())) {
1130
+ return [processedOption];
1131
+ }
1132
+ const matchedOptions = this.findOptionPathByValue(value, processedOption.children, level + 1);
1133
+ if (matchedOptions) {
1134
+ matchedOptions.unshift(processedOption);
1135
+ return matchedOptions;
1136
+ }
1137
+ }
1138
+ }
1139
+ findFirstOptionIndex() {
1140
+ return this.visibleOptions().findIndex((processedOption) => this.isValidOption(processedOption));
1141
+ }
1142
+ findLastOptionIndex() {
1143
+ return findLastIndex(this.visibleOptions(), (processedOption) => this.isValidOption(processedOption));
1144
+ }
1145
+ findNextOptionIndex(index) {
1146
+ const matchedOptionIndex = index < this.visibleOptions().length - 1
1147
+ ? this.visibleOptions()
1148
+ .slice(index + 1)
1149
+ .findIndex((processedOption) => this.isValidOption(processedOption))
1150
+ : -1;
1151
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
1152
+ }
1153
+ findPrevOptionIndex(index) {
1154
+ const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (processedOption) => this.isValidOption(processedOption)) : -1;
1155
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
1156
+ }
1157
+ findSelectedOptionIndex() {
1158
+ return this.visibleOptions().findIndex((processedOption) => this.isValidSelectedOption(processedOption));
1159
+ }
1160
+ findFirstFocusedOptionIndex() {
1161
+ const selectedIndex = this.findSelectedOptionIndex();
1162
+ return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;
1163
+ }
1164
+ findLastFocusedOptionIndex() {
1165
+ const selectedIndex = this.findSelectedOptionIndex();
1166
+ return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;
1167
+ }
1168
+ searchOptions(event, char) {
1169
+ this.searchValue = (this.searchValue || '') + char;
1170
+ let optionIndex = -1;
1171
+ let matched = false;
1172
+ const focusedOptionInfo = this.focusedOptionInfo();
1173
+ if (focusedOptionInfo.index !== -1) {
1174
+ optionIndex = this.visibleOptions()
1175
+ .slice(focusedOptionInfo.index)
1176
+ .findIndex((processedOption) => this.isOptionMatched(processedOption));
1177
+ optionIndex =
1178
+ optionIndex === -1
1179
+ ? this.visibleOptions()
1180
+ .slice(0, focusedOptionInfo.index)
1181
+ .findIndex((processedOption) => this.isOptionMatched(processedOption))
1182
+ : optionIndex + focusedOptionInfo.index;
1183
+ }
1184
+ else {
1185
+ optionIndex = this.visibleOptions().findIndex((processedOption) => this.isOptionMatched(processedOption));
1186
+ }
1187
+ if (optionIndex !== -1) {
1188
+ matched = true;
1189
+ }
1190
+ if (optionIndex === -1 && focusedOptionInfo.index === -1) {
1191
+ optionIndex = this.findFirstFocusedOptionIndex();
1192
+ }
1193
+ if (optionIndex !== -1) {
1194
+ this.changeFocusedOptionIndex(event, optionIndex);
1195
+ }
1196
+ if (this.searchTimeout) {
1197
+ clearTimeout(this.searchTimeout);
1198
+ }
1199
+ this.searchTimeout = setTimeout(() => {
1200
+ this.searchValue = '';
1201
+ this.searchTimeout = null;
1202
+ }, 500);
1203
+ return matched;
1204
+ }
1205
+ hide(event, isFocus = false) {
1206
+ const _hide = () => {
1207
+ this.overlayVisible = false;
1208
+ this.clicked = false;
1209
+ this.activeOptionPath.set([]);
1210
+ this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });
1211
+ isFocus && focus(this.focusInputViewChild.nativeElement);
1212
+ this.onHide.emit(event);
1213
+ this.cd.markForCheck();
1214
+ };
1215
+ setTimeout(() => {
1216
+ _hide();
1217
+ }, 0); // For ScreenReaders
1218
+ }
1219
+ show(event, isFocus = false) {
1220
+ this.onShow.emit(event);
1221
+ this.overlayVisible = true;
1222
+ const activeOptionPath = this.hasSelectedOption() ? this.findOptionPathByValue(this.modelValue()) : this.activeOptionPath();
1223
+ this.activeOptionPath.set(activeOptionPath);
1224
+ let focusedOptionInfo;
1225
+ if (this.hasSelectedOption() && isNotEmpty(this.activeOptionPath())) {
1226
+ const processedOption = this.activeOptionPath()[this.activeOptionPath().length - 1];
1227
+ focusedOptionInfo = {
1228
+ index: processedOption.index,
1229
+ level: processedOption.level,
1230
+ parentKey: processedOption.parentKey
1231
+ };
1232
+ }
1233
+ else {
1234
+ focusedOptionInfo = { index: this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(), level: 0, parentKey: '' };
1235
+ }
1236
+ this.focusedOptionInfo.set(focusedOptionInfo);
1237
+ isFocus && focus(this.focusInputViewChild.nativeElement);
1238
+ }
1239
+ clear(event) {
1240
+ if (isNotEmpty(this.modelValue()) && this.showClear) {
1241
+ this.updateModel(null);
1242
+ this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });
1243
+ this.activeOptionPath.set([]);
1244
+ this.onClear.emit();
1245
+ }
1246
+ event && event.stopPropagation();
1247
+ }
1248
+ getOptionLabel(option) {
1249
+ return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;
1250
+ }
1251
+ getOptionValue(option) {
1252
+ return this.optionValue ? resolveFieldData(option, this.optionValue) : option;
1253
+ }
1254
+ getOptionGroupLabel(optionGroup) {
1255
+ return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : null;
1256
+ }
1257
+ getOptionGroupChildren(optionGroup, level) {
1258
+ return resolveFieldData(optionGroup, this.optionGroupChildren[level]);
1259
+ }
1260
+ isOptionGroup(option, level) {
1261
+ return Object.prototype.hasOwnProperty.call(option, this.optionGroupChildren[level]);
1262
+ }
1263
+ isProccessedOptionGroup(processedOption) {
1264
+ return isNotEmpty(processedOption?.children);
1265
+ }
1266
+ getProccessedOptionLabel(processedOption) {
1267
+ const grouped = this.isProccessedOptionGroup(processedOption);
1268
+ return grouped ? this.getOptionGroupLabel(processedOption.option) : this.getOptionLabel(processedOption.option);
1269
+ }
1270
+ constructor(overlayService) {
1271
+ super();
1272
+ this.overlayService = overlayService;
1273
+ effect(() => {
1274
+ const activeOptionPath = this.activeOptionPath();
1275
+ if (isNotEmpty(activeOptionPath)) {
1276
+ this.overlayViewChild.alignOverlay();
1277
+ }
1278
+ });
1279
+ }
1280
+ query;
1281
+ queryMatches = signal(false, ...(ngDevMode ? [{ debugName: "queryMatches" }] : []));
1282
+ mobileActive = signal(false, ...(ngDevMode ? [{ debugName: "mobileActive" }] : []));
1283
+ onOptionChange(event) {
1284
+ const { processedOption, type } = event;
1285
+ if (isEmpty(processedOption))
1286
+ return;
1287
+ const { index, key, level, parentKey, children } = processedOption;
1288
+ const grouped = isNotEmpty(children);
1289
+ const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== parentKey && p.parentKey !== key);
1290
+ this.focusedOptionInfo.set({ index, level, parentKey });
1291
+ if (type == 'hover' && this.queryMatches()) {
1292
+ return;
1293
+ }
1294
+ if (grouped) {
1295
+ activeOptionPath.push(processedOption);
1296
+ }
1297
+ this.activeOptionPath.set([...activeOptionPath]);
1298
+ }
1299
+ onOptionClick(event) {
1300
+ const { originalEvent, processedOption, isFocus, isHide, preventSelection } = event;
1301
+ const { index, key, level, parentKey } = processedOption;
1302
+ const grouped = this.isProccessedOptionGroup(processedOption);
1303
+ const selected = this.isSelected(processedOption);
1304
+ if (selected) {
1305
+ const activeOptionPath = this.activeOptionPath().filter((p) => key !== p.key && key.startsWith(p.key));
1306
+ this.activeOptionPath.set([...activeOptionPath]);
1307
+ this.focusedOptionInfo.set({ index, level, parentKey });
1308
+ }
1309
+ else {
1310
+ if (grouped) {
1311
+ this.onOptionChange(event);
1312
+ this.onOptionGroupSelect({ originalEvent, value: processedOption.option, isFocus: false });
1313
+ }
1314
+ else {
1315
+ const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== parentKey);
1316
+ activeOptionPath.push(processedOption);
1317
+ this.focusedOptionInfo.set({ index, level, parentKey });
1318
+ if (!preventSelection || processedOption?.children.length !== 0) {
1319
+ this.activeOptionPath.set([...activeOptionPath]);
1320
+ this.onOptionSelect({ originalEvent, value: processedOption.option, isHide: isFocus });
1321
+ }
1322
+ }
1323
+ }
1324
+ isFocus && focus(this.focusInputViewChild.nativeElement);
1325
+ }
1326
+ onOptionMouseEnter(event) {
1327
+ if (this.focusOnHover) {
1328
+ if (this.dirty || (!this.dirty && isNotEmpty(this.modelValue()))) {
1329
+ this.onOptionChange({ ...event, type: 'hover' });
1330
+ }
1331
+ else if (!this.dirty && event.processedOption.level === 0) {
1332
+ this.onOptionClick({ ...event, type: 'hover' });
1333
+ }
1334
+ }
1335
+ }
1336
+ onOptionMouseMove(event) {
1337
+ if (this.focused && this.focusOnHover) {
1338
+ this.changeFocusedOptionIndex(event, event.processedOption.index);
1339
+ }
1340
+ }
1341
+ ngOnInit() {
1342
+ super.ngOnInit();
1343
+ this.id = this.id || uuid('pn_id_');
1344
+ this.autoUpdateModel();
1345
+ this.bindMatchMediaListener();
1346
+ }
1347
+ ngAfterViewInit() {
1348
+ super.ngAfterViewInit();
1349
+ this.initialized = true;
1350
+ }
1351
+ bindMatchMediaListener() {
1352
+ if (!this.matchMediaListener) {
1353
+ const window = this.document.defaultView;
1354
+ if (window && window.matchMedia) {
1355
+ const query = window.matchMedia(`(max-width: ${this.breakpoint})`);
1356
+ this.query = query;
1357
+ this.queryMatches.set(query?.matches);
1358
+ this.matchMediaListener = () => {
1359
+ this.queryMatches.set(query?.matches);
1360
+ this.mobileActive.set(false);
1361
+ };
1362
+ this.query.addEventListener('change', this.matchMediaListener);
1363
+ }
1364
+ }
1365
+ }
1366
+ unbindMatchMediaListener() {
1367
+ if (this.matchMediaListener) {
1368
+ this.query.removeEventListener('change', this.matchMediaListener);
1369
+ this.matchMediaListener = null;
1370
+ }
1371
+ }
1372
+ onOverlayAnimationDone(event) {
1373
+ switch (event.toState) {
1374
+ case 'void':
1375
+ this.dirty = false;
1376
+ break;
1377
+ }
1378
+ }
1379
+ /**
1380
+ * @override
1381
+ *
1382
+ * @see {@link BaseEditableHolder.writeControlValue}
1383
+ * Writes the value to the control.
1384
+ */
1385
+ writeControlValue(value, setModelValue) {
1386
+ this.value = value;
1387
+ setModelValue(value);
1388
+ this.cd.markForCheck();
1389
+ }
1390
+ ngOnDestroy() {
1391
+ if (this.matchMediaListener) {
1392
+ this.unbindMatchMediaListener();
1393
+ }
1394
+ }
1395
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelect, deps: [{ token: i2.OverlayService }], target: i0.ɵɵFactoryTarget.Component });
1396
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: CascadeSelect, isStandalone: true, selector: "p-cascadeSelect, p-cascadeselect, p-cascade-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, searchMessage: { classPropertyName: "searchMessage", publicName: "searchMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, selectionMessage: { classPropertyName: "selectionMessage", publicName: "selectionMessage", isSignal: false, isRequired: false, transformFunction: null }, emptySearchMessage: { classPropertyName: "emptySearchMessage", publicName: "emptySearchMessage", isSignal: false, isRequired: false, transformFunction: null }, emptySelectionMessage: { classPropertyName: "emptySelectionMessage", publicName: "emptySelectionMessage", isSignal: false, isRequired: false, transformFunction: null }, searchLocale: { classPropertyName: "searchLocale", publicName: "searchLocale", isSignal: false, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, inputLabel: { classPropertyName: "inputLabel", publicName: "inputLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onGroupChange: "onGroupChange", onShow: "onShow", onHide: "onHide", onClear: "onClear", onBeforeShow: "onBeforeShow", onBeforeHide: "onBeforeHide", onFocus: "onFocus", onBlur: "onBlur" }, host: { listeners: { "click": "onHostClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "style": "sx('root')", "attr.data-pc-name": "'cascadeselect'", "attr.data-pc-section": "'root'" } }, providers: [CASCADESELECT_VALUE_ACCESSOR, CascadeSelectStyle], queries: [{ propertyName: "valueTemplate", first: true, predicate: ["value"] }, { propertyName: "optionTemplate", first: true, predicate: ["option"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "triggerIconTemplate", first: true, predicate: ["triggericon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "groupIconTemplate", first: true, predicate: ["optiongroupicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "panelViewChild", first: true, predicate: ["panel"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
1397
+ <div class="p-hidden-accessible" [attr.data-pc-section]="'hiddenInputWrapper'">
1398
+ <input
1399
+ #focusInput
1400
+ readonly
1401
+ type="text"
1402
+ role="combobox"
1403
+ [attr.name]="name()"
1404
+ [attr.required]="required() ? '' : undefined"
1405
+ [attr.disabled]="$disabled() ? '' : undefined"
1406
+ [attr.placeholder]="placeholder"
1407
+ [attr.tabindex]="!$disabled() ? tabindex : -1"
1408
+ [attr.id]="inputId"
1409
+ [attr.aria-label]="ariaLabel"
1410
+ [attr.aria-labelledby]="ariaLabelledBy"
1411
+ [attr.aria-haspopup]="'tree'"
1412
+ [attr.aria-expanded]="overlayVisible ?? false"
1413
+ [attr.aria-controls]="overlayVisible ? id + '_tree' : null"
1414
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
1415
+ (focus)="onInputFocus($event)"
1416
+ (blur)="onInputBlur($event)"
1417
+ (keydown)="onInputKeyDown($event)"
1418
+ [pAutoFocus]="autofocus"
1419
+ />
1420
+ </div>
1421
+ <span [class]="cx('label')" [attr.data-pc-section]="'label'">
1422
+ <ng-container *ngIf="valueTemplate || _valueTemplate; else defaultValueTemplate">
1423
+ <ng-container *ngTemplateOutlet="valueTemplate || _valueTemplate; context: { $implicit: value, placeholder: placeholder }"></ng-container>
1424
+ </ng-container>
1425
+ <ng-template #defaultValueTemplate>
1426
+ {{ label() }}
1427
+ </ng-template>
1428
+ </span>
1429
+
1430
+ <ng-container *ngIf="$filled() && !$disabled() && showClear">
1431
+ <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true" />
1432
+ <span *ngIf="clearIconTemplate || _clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
1433
+ <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
1434
+ </span>
1435
+ </ng-container>
1436
+
1437
+ <div [class]="cx('dropdown')" role="button" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'dropdownIcon'" [attr.aria-hidden]="true">
1438
+ <ng-container *ngIf="loading; else elseBlock">
1439
+ <ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
1440
+ <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
1441
+ </ng-container>
1442
+ <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
1443
+ <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), loadingIcon + 'pi-spin')" aria-hidden="true"></span>
1444
+ <span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), loadingIcon + ' pi pi-spinner pi-spin')" aria-hidden="true"></span>
1445
+ </ng-container>
1446
+ </ng-container>
1447
+ <ng-template #elseBlock>
1448
+ <svg data-p-icon="chevron-down" *ngIf="!triggerIconTemplate && !_triggerIconTemplate" [class]="cx('dropdownIcon')" />
1449
+ <span *ngIf="triggerIconTemplate || _triggerIconTemplate" [class]="cx('dropdownIcon')">
1450
+ <ng-template *ngTemplateOutlet="triggerIconTemplate || _triggerIconTemplate"></ng-template>
1451
+ </span>
1452
+ </ng-template>
1453
+ </div>
1454
+ <span role="status" aria-live="polite" class="p-hidden-accessible">
1455
+ {{ searchResultMessageText }}
1456
+ </span>
1457
+ <p-overlay
1458
+ #overlay
1459
+ [hostAttrSelector]="attrSelector"
1460
+ [(visible)]="overlayVisible"
1461
+ [options]="overlayOptions"
1462
+ [target]="'@parent'"
1463
+ [appendTo]="$appendTo()"
1464
+ (onAnimationDone)="onOverlayAnimationDone($event)"
1465
+ (onBeforeShow)="onBeforeShow.emit($event)"
1466
+ (onShow)="show($event)"
1467
+ (onBeforeHide)="onBeforeHide.emit($event)"
1468
+ (onHide)="hide($event)"
1469
+ >
1470
+ <ng-template #content>
1471
+ <div #panel [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle" [attr.data-pc-section]="'panel'">
1472
+ <ng-template *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-template>
1473
+ <div [class]="cx('listContainer')" [attr.data-pc-section]="'wrapper'">
1474
+ <p-cascadeselect-sub
1475
+ [options]="processedOptions"
1476
+ [selectId]="id"
1477
+ [focusedOptionId]="focused ? focusedOptionId : undefined"
1478
+ [activeOptionPath]="activeOptionPath()"
1479
+ [optionLabel]="optionLabel"
1480
+ [optionValue]="optionValue"
1481
+ [level]="0"
1482
+ [optionTemplate]="optionTemplate || _optionTemplate"
1483
+ [groupicon]="groupIconTemplate || groupIconTemplate"
1484
+ [optionGroupLabel]="optionGroupLabel"
1485
+ [optionGroupChildren]="optionGroupChildren"
1486
+ [optionDisabled]="optionDisabled"
1487
+ [root]="true"
1488
+ (onChange)="onOptionClick($event)"
1489
+ (onFocusChange)="onOptionMouseMove($event)"
1490
+ (onFocusEnterChange)="onOptionMouseEnter($event)"
1491
+ [dirty]="dirty"
1492
+ [role]="'tree'"
1493
+ >
1494
+ </p-cascadeselect-sub>
1495
+ </div>
1496
+ <span role="status" aria-live="polite" class="p-hidden-accessible">
1497
+ {{ selectedMessageText }}
1498
+ </span>
1499
+ <ng-template *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-template>
1500
+ </div>
1501
+ </ng-template>
1502
+ </p-overlay>
1503
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: CascadeSelectSub, selector: "p-cascadeSelectSub, p-cascadeselect-sub", inputs: ["role", "selectId", "activeOptionPath", "optionDisabled", "focusedOptionId", "options", "optionGroupChildren", "optionTemplate", "groupicon", "level", "optionLabel", "optionValue", "optionGroupLabel", "dirty", "root"], outputs: ["onChange", "onFocusChange", "onFocusEnterChange"] }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1504
+ }
1505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelect, decorators: [{
1506
+ type: Component,
1507
+ args: [{
1508
+ selector: 'p-cascadeSelect, p-cascadeselect, p-cascade-select',
1509
+ standalone: true,
1510
+ imports: [CommonModule, Overlay, AutoFocus, CascadeSelectSub, ChevronDownIcon, TimesIcon, SharedModule],
1511
+ template: `
1512
+ <div class="p-hidden-accessible" [attr.data-pc-section]="'hiddenInputWrapper'">
1513
+ <input
1514
+ #focusInput
1515
+ readonly
1516
+ type="text"
1517
+ role="combobox"
1518
+ [attr.name]="name()"
1519
+ [attr.required]="required() ? '' : undefined"
1520
+ [attr.disabled]="$disabled() ? '' : undefined"
1521
+ [attr.placeholder]="placeholder"
1522
+ [attr.tabindex]="!$disabled() ? tabindex : -1"
1523
+ [attr.id]="inputId"
1524
+ [attr.aria-label]="ariaLabel"
1525
+ [attr.aria-labelledby]="ariaLabelledBy"
1526
+ [attr.aria-haspopup]="'tree'"
1527
+ [attr.aria-expanded]="overlayVisible ?? false"
1528
+ [attr.aria-controls]="overlayVisible ? id + '_tree' : null"
1529
+ [attr.aria-activedescendant]="focused ? focusedOptionId : undefined"
1530
+ (focus)="onInputFocus($event)"
1531
+ (blur)="onInputBlur($event)"
1532
+ (keydown)="onInputKeyDown($event)"
1533
+ [pAutoFocus]="autofocus"
1534
+ />
1535
+ </div>
1536
+ <span [class]="cx('label')" [attr.data-pc-section]="'label'">
1537
+ <ng-container *ngIf="valueTemplate || _valueTemplate; else defaultValueTemplate">
1538
+ <ng-container *ngTemplateOutlet="valueTemplate || _valueTemplate; context: { $implicit: value, placeholder: placeholder }"></ng-container>
1539
+ </ng-container>
1540
+ <ng-template #defaultValueTemplate>
1541
+ {{ label() }}
1542
+ </ng-template>
1543
+ </span>
1544
+
1545
+ <ng-container *ngIf="$filled() && !$disabled() && showClear">
1546
+ <svg data-p-icon="times" *ngIf="!clearIconTemplate && !_clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true" />
1547
+ <span *ngIf="clearIconTemplate || _clearIconTemplate" [class]="cx('clearIcon')" (click)="clear($event)" [attr.data-pc-section]="'clearicon'" [attr.aria-hidden]="true">
1548
+ <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
1549
+ </span>
1550
+ </ng-container>
1551
+
1552
+ <div [class]="cx('dropdown')" role="button" aria-haspopup="listbox" [attr.aria-expanded]="overlayVisible ?? false" [attr.data-pc-section]="'dropdownIcon'" [attr.aria-hidden]="true">
1553
+ <ng-container *ngIf="loading; else elseBlock">
1554
+ <ng-container *ngIf="loadingIconTemplate || _loadingIconTemplate">
1555
+ <ng-container *ngTemplateOutlet="loadingIconTemplate || _loadingIconTemplate"></ng-container>
1556
+ </ng-container>
1557
+ <ng-container *ngIf="!loadingIconTemplate && !_loadingIconTemplate">
1558
+ <span *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), loadingIcon + 'pi-spin')" aria-hidden="true"></span>
1559
+ <span *ngIf="!loadingIcon" [class]="cn(cx('loadingIcon'), loadingIcon + ' pi pi-spinner pi-spin')" aria-hidden="true"></span>
1560
+ </ng-container>
1561
+ </ng-container>
1562
+ <ng-template #elseBlock>
1563
+ <svg data-p-icon="chevron-down" *ngIf="!triggerIconTemplate && !_triggerIconTemplate" [class]="cx('dropdownIcon')" />
1564
+ <span *ngIf="triggerIconTemplate || _triggerIconTemplate" [class]="cx('dropdownIcon')">
1565
+ <ng-template *ngTemplateOutlet="triggerIconTemplate || _triggerIconTemplate"></ng-template>
1566
+ </span>
1567
+ </ng-template>
1568
+ </div>
1569
+ <span role="status" aria-live="polite" class="p-hidden-accessible">
1570
+ {{ searchResultMessageText }}
1571
+ </span>
1572
+ <p-overlay
1573
+ #overlay
1574
+ [hostAttrSelector]="attrSelector"
1575
+ [(visible)]="overlayVisible"
1576
+ [options]="overlayOptions"
1577
+ [target]="'@parent'"
1578
+ [appendTo]="$appendTo()"
1579
+ (onAnimationDone)="onOverlayAnimationDone($event)"
1580
+ (onBeforeShow)="onBeforeShow.emit($event)"
1581
+ (onShow)="show($event)"
1582
+ (onBeforeHide)="onBeforeHide.emit($event)"
1583
+ (onHide)="hide($event)"
1584
+ >
1585
+ <ng-template #content>
1586
+ <div #panel [class]="cn(cx('overlay'), panelStyleClass)" [ngStyle]="panelStyle" [attr.data-pc-section]="'panel'">
1587
+ <ng-template *ngTemplateOutlet="headerTemplate || _headerTemplate"></ng-template>
1588
+ <div [class]="cx('listContainer')" [attr.data-pc-section]="'wrapper'">
1589
+ <p-cascadeselect-sub
1590
+ [options]="processedOptions"
1591
+ [selectId]="id"
1592
+ [focusedOptionId]="focused ? focusedOptionId : undefined"
1593
+ [activeOptionPath]="activeOptionPath()"
1594
+ [optionLabel]="optionLabel"
1595
+ [optionValue]="optionValue"
1596
+ [level]="0"
1597
+ [optionTemplate]="optionTemplate || _optionTemplate"
1598
+ [groupicon]="groupIconTemplate || groupIconTemplate"
1599
+ [optionGroupLabel]="optionGroupLabel"
1600
+ [optionGroupChildren]="optionGroupChildren"
1601
+ [optionDisabled]="optionDisabled"
1602
+ [root]="true"
1603
+ (onChange)="onOptionClick($event)"
1604
+ (onFocusChange)="onOptionMouseMove($event)"
1605
+ (onFocusEnterChange)="onOptionMouseEnter($event)"
1606
+ [dirty]="dirty"
1607
+ [role]="'tree'"
1608
+ >
1609
+ </p-cascadeselect-sub>
1610
+ </div>
1611
+ <span role="status" aria-live="polite" class="p-hidden-accessible">
1612
+ {{ selectedMessageText }}
1613
+ </span>
1614
+ <ng-template *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-template>
1615
+ </div>
1616
+ </ng-template>
1617
+ </p-overlay>
1618
+ `,
1619
+ providers: [CASCADESELECT_VALUE_ACCESSOR, CascadeSelectStyle],
1620
+ changeDetection: ChangeDetectionStrategy.OnPush,
1621
+ encapsulation: ViewEncapsulation.None,
1622
+ host: {
1623
+ '[class]': "cn(cx('root'), styleClass)",
1624
+ '[style]': "sx('root')",
1625
+ '[attr.data-pc-name]': "'cascadeselect'",
1626
+ '[attr.data-pc-section]': "'root'"
1627
+ }
1628
+ }]
1629
+ }], ctorParameters: () => [{ type: i2.OverlayService }], propDecorators: { id: [{
1630
+ type: Input
1631
+ }], searchMessage: [{
1632
+ type: Input
1633
+ }], emptyMessage: [{
1634
+ type: Input
1635
+ }], selectionMessage: [{
1636
+ type: Input
1637
+ }], emptySearchMessage: [{
1638
+ type: Input
1639
+ }], emptySelectionMessage: [{
1640
+ type: Input
1641
+ }], searchLocale: [{
1642
+ type: Input
1643
+ }], optionDisabled: [{
1644
+ type: Input
1645
+ }], focusOnHover: [{
1646
+ type: Input,
1647
+ args: [{ transform: booleanAttribute }]
1648
+ }], selectOnFocus: [{
1649
+ type: Input,
1650
+ args: [{ transform: booleanAttribute }]
1651
+ }], autoOptionFocus: [{
1652
+ type: Input,
1653
+ args: [{ transform: booleanAttribute }]
1654
+ }], styleClass: [{
1655
+ type: Input
1656
+ }], options: [{
1657
+ type: Input
1658
+ }], optionLabel: [{
1659
+ type: Input
1660
+ }], optionValue: [{
1661
+ type: Input
1662
+ }], optionGroupLabel: [{
1663
+ type: Input
1664
+ }], optionGroupChildren: [{
1665
+ type: Input
1666
+ }], placeholder: [{
1667
+ type: Input
1668
+ }], value: [{
1669
+ type: Input
1670
+ }], dataKey: [{
1671
+ type: Input
1672
+ }], inputId: [{
1673
+ type: Input
1674
+ }], tabindex: [{
1675
+ type: Input,
1676
+ args: [{ transform: numberAttribute }]
1677
+ }], ariaLabelledBy: [{
1678
+ type: Input
1679
+ }], inputLabel: [{
1680
+ type: Input
1681
+ }], ariaLabel: [{
1682
+ type: Input
1683
+ }], showClear: [{
1684
+ type: Input,
1685
+ args: [{ transform: booleanAttribute }]
1686
+ }], panelStyleClass: [{
1687
+ type: Input
1688
+ }], panelStyle: [{
1689
+ type: Input
1690
+ }], overlayOptions: [{
1691
+ type: Input
1692
+ }], autofocus: [{
1693
+ type: Input,
1694
+ args: [{ transform: booleanAttribute }]
1695
+ }], loading: [{
1696
+ type: Input,
1697
+ args: [{ transform: booleanAttribute }]
1698
+ }], loadingIcon: [{
1699
+ type: Input
1700
+ }], breakpoint: [{
1701
+ type: Input
1702
+ }], onChange: [{
1703
+ type: Output
1704
+ }], onGroupChange: [{
1705
+ type: Output
1706
+ }], onShow: [{
1707
+ type: Output
1708
+ }], onHide: [{
1709
+ type: Output
1710
+ }], onClear: [{
1711
+ type: Output
1712
+ }], onBeforeShow: [{
1713
+ type: Output
1714
+ }], onBeforeHide: [{
1715
+ type: Output
1716
+ }], onFocus: [{
1717
+ type: Output
1718
+ }], onBlur: [{
1719
+ type: Output
1720
+ }], focusInputViewChild: [{
1721
+ type: ViewChild,
1722
+ args: ['focusInput']
1723
+ }], panelViewChild: [{
1724
+ type: ViewChild,
1725
+ args: ['panel']
1726
+ }], overlayViewChild: [{
1727
+ type: ViewChild,
1728
+ args: ['overlay']
1729
+ }], valueTemplate: [{
1730
+ type: ContentChild,
1731
+ args: ['value', { descendants: false }]
1732
+ }], optionTemplate: [{
1733
+ type: ContentChild,
1734
+ args: ['option', { descendants: false }]
1735
+ }], headerTemplate: [{
1736
+ type: ContentChild,
1737
+ args: ['header', { descendants: false }]
1738
+ }], footerTemplate: [{
1739
+ type: ContentChild,
1740
+ args: ['footer', { descendants: false }]
1741
+ }], triggerIconTemplate: [{
1742
+ type: ContentChild,
1743
+ args: ['triggericon', { descendants: false }]
1744
+ }], loadingIconTemplate: [{
1745
+ type: ContentChild,
1746
+ args: ['loadingicon', { descendants: false }]
1747
+ }], groupIconTemplate: [{
1748
+ type: ContentChild,
1749
+ args: ['optiongroupicon', { descendants: false }]
1750
+ }], clearIconTemplate: [{
1751
+ type: ContentChild,
1752
+ args: ['clearicon', { descendants: false }]
1753
+ }], onHostClick: [{
1754
+ type: HostListener,
1755
+ args: ['click', ['$event']]
1756
+ }], templates: [{
1757
+ type: ContentChildren,
1758
+ args: [PrimeTemplate]
1759
+ }] } });
1760
+ class CascadeSelectModule {
1761
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1762
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectModule, imports: [CascadeSelect, SharedModule], exports: [CascadeSelect, SharedModule] });
1763
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectModule, imports: [CascadeSelect, SharedModule, SharedModule] });
1764
+ }
1765
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: CascadeSelectModule, decorators: [{
1766
+ type: NgModule,
1767
+ args: [{
1768
+ imports: [CascadeSelect, SharedModule],
1769
+ exports: [CascadeSelect, SharedModule]
1770
+ }]
1771
+ }] });
1772
+
1773
+ /**
1774
+ * Generated bundle index. Do not edit.
1775
+ */
1776
+
1777
+ export { CASCADESELECT_VALUE_ACCESSOR, CascadeSelect, CascadeSelectClasses, CascadeSelectModule, CascadeSelectStyle, CascadeSelectSub };
1778
+ //# sourceMappingURL=primeng-cascadeselect.mjs.map