primeng 22.1.2 → 22.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/fesm2022/primeng-accordion.mjs +23 -24
  2. package/fesm2022/primeng-animateonscroll.mjs +9 -10
  3. package/fesm2022/primeng-api.mjs +31 -32
  4. package/fesm2022/primeng-autocomplete.mjs +17 -18
  5. package/fesm2022/primeng-autofocus.mjs +7 -8
  6. package/fesm2022/primeng-avatar.mjs +10 -11
  7. package/fesm2022/primeng-avatargroup.mjs +10 -11
  8. package/fesm2022/primeng-badge.mjs +10 -11
  9. package/fesm2022/primeng-base.mjs +41 -31
  10. package/fesm2022/primeng-basecomponent.mjs +108 -44
  11. package/fesm2022/primeng-baseeditableholder.mjs +3 -4
  12. package/fesm2022/primeng-baseinput.mjs +3 -4
  13. package/fesm2022/primeng-basemodelholder.mjs +3 -4
  14. package/fesm2022/primeng-bind.mjs +10 -9
  15. package/fesm2022/primeng-blockui.mjs +23 -24
  16. package/fesm2022/primeng-breadcrumb.mjs +10 -11
  17. package/fesm2022/primeng-button.mjs +33 -39
  18. package/fesm2022/primeng-buttongroup.mjs +12 -13
  19. package/fesm2022/primeng-card.mjs +10 -11
  20. package/fesm2022/primeng-carousel.mjs +47 -46
  21. package/fesm2022/primeng-cascadeselect.mjs +23 -24
  22. package/fesm2022/primeng-chart.mjs +10 -11
  23. package/fesm2022/primeng-checkbox.mjs +10 -11
  24. package/fesm2022/primeng-chip.mjs +10 -11
  25. package/fesm2022/primeng-classnames.mjs +7 -8
  26. package/fesm2022/primeng-colorpicker.mjs +10 -11
  27. package/fesm2022/primeng-commandmenu.mjs +12 -13
  28. package/fesm2022/primeng-compare.mjs +19 -20
  29. package/fesm2022/primeng-config.mjs +39 -18
  30. package/fesm2022/primeng-confirmdialog.mjs +29 -21
  31. package/fesm2022/primeng-confirmpopup.mjs +22 -21
  32. package/fesm2022/primeng-contextmenu.mjs +29 -28
  33. package/fesm2022/primeng-dataview.mjs +10 -11
  34. package/fesm2022/primeng-datepicker.mjs +110 -87
  35. package/fesm2022/primeng-dialog.mjs +46 -34
  36. package/fesm2022/primeng-divider.mjs +10 -11
  37. package/fesm2022/primeng-dock.mjs +12 -13
  38. package/fesm2022/primeng-dom.mjs +18 -6
  39. package/fesm2022/primeng-dragdrop.mjs +15 -14
  40. package/fesm2022/primeng-drawer.mjs +20 -22
  41. package/fesm2022/primeng-dynamicdialog.mjs +23 -22
  42. package/fesm2022/primeng-editor.mjs +10 -11
  43. package/fesm2022/primeng-fieldset.mjs +13 -15
  44. package/fesm2022/primeng-fileupload.mjs +24 -25
  45. package/fesm2022/primeng-floatlabel.mjs +10 -11
  46. package/fesm2022/primeng-fluid.mjs +10 -11
  47. package/fesm2022/primeng-focustrap.mjs +11 -12
  48. package/fesm2022/primeng-galleria.mjs +40 -37
  49. package/fesm2022/primeng-gallery.mjs +73 -74
  50. package/fesm2022/primeng-iconfield.mjs +10 -11
  51. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -4
  52. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -4
  53. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -4
  54. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -4
  55. package/fesm2022/primeng-icons-angledown.mjs +3 -4
  56. package/fesm2022/primeng-icons-angleleft.mjs +3 -4
  57. package/fesm2022/primeng-icons-angleright.mjs +3 -4
  58. package/fesm2022/primeng-icons-angleup.mjs +3 -4
  59. package/fesm2022/primeng-icons-arrowdown.mjs +4 -6
  60. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -4
  61. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -4
  62. package/fesm2022/primeng-icons-arrowleft.mjs +4 -6
  63. package/fesm2022/primeng-icons-arrowright.mjs +3 -4
  64. package/fesm2022/primeng-icons-arrowup.mjs +4 -6
  65. package/fesm2022/primeng-icons-ban.mjs +4 -6
  66. package/fesm2022/primeng-icons-bars.mjs +3 -4
  67. package/fesm2022/primeng-icons-baseicon.mjs +6 -7
  68. package/fesm2022/primeng-icons-blank.mjs +3 -4
  69. package/fesm2022/primeng-icons-calendar.mjs +3 -4
  70. package/fesm2022/primeng-icons-caretleft.mjs +3 -4
  71. package/fesm2022/primeng-icons-caretright.mjs +3 -4
  72. package/fesm2022/primeng-icons-check.mjs +3 -4
  73. package/fesm2022/primeng-icons-chevrondown.mjs +3 -4
  74. package/fesm2022/primeng-icons-chevronleft.mjs +3 -4
  75. package/fesm2022/primeng-icons-chevronright.mjs +3 -4
  76. package/fesm2022/primeng-icons-chevronup.mjs +3 -4
  77. package/fesm2022/primeng-icons-exclamationtriangle.mjs +4 -6
  78. package/fesm2022/primeng-icons-eye.mjs +3 -4
  79. package/fesm2022/primeng-icons-eyeslash.mjs +4 -6
  80. package/fesm2022/primeng-icons-filter.mjs +4 -6
  81. package/fesm2022/primeng-icons-filterfill.mjs +3 -4
  82. package/fesm2022/primeng-icons-filterslash.mjs +4 -6
  83. package/fesm2022/primeng-icons-home.mjs +4 -6
  84. package/fesm2022/primeng-icons-infocircle.mjs +4 -6
  85. package/fesm2022/primeng-icons-minus.mjs +3 -4
  86. package/fesm2022/primeng-icons-pencil.mjs +4 -6
  87. package/fesm2022/primeng-icons-plus.mjs +4 -6
  88. package/fesm2022/primeng-icons-refresh.mjs +4 -6
  89. package/fesm2022/primeng-icons-search.mjs +4 -6
  90. package/fesm2022/primeng-icons-searchminus.mjs +4 -6
  91. package/fesm2022/primeng-icons-searchplus.mjs +4 -6
  92. package/fesm2022/primeng-icons-sortalt.mjs +4 -6
  93. package/fesm2022/primeng-icons-sortamountdown.mjs +4 -6
  94. package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -6
  95. package/fesm2022/primeng-icons-spinner.mjs +4 -6
  96. package/fesm2022/primeng-icons-star.mjs +4 -6
  97. package/fesm2022/primeng-icons-starfill.mjs +4 -6
  98. package/fesm2022/primeng-icons-thlarge.mjs +4 -6
  99. package/fesm2022/primeng-icons-times.mjs +3 -4
  100. package/fesm2022/primeng-icons-timescircle.mjs +4 -6
  101. package/fesm2022/primeng-icons-trash.mjs +4 -6
  102. package/fesm2022/primeng-icons-undo.mjs +4 -6
  103. package/fesm2022/primeng-icons-upload.mjs +4 -6
  104. package/fesm2022/primeng-icons-windowmaximize.mjs +4 -6
  105. package/fesm2022/primeng-icons-windowminimize.mjs +4 -6
  106. package/fesm2022/primeng-iftalabel.mjs +10 -11
  107. package/fesm2022/primeng-image.mjs +34 -20
  108. package/fesm2022/primeng-imagecompare.mjs +10 -11
  109. package/fesm2022/primeng-inplace.mjs +16 -17
  110. package/fesm2022/primeng-inputcolor.mjs +46 -51
  111. package/fesm2022/primeng-inputgroup.mjs +10 -11
  112. package/fesm2022/primeng-inputgroupaddon.mjs +10 -11
  113. package/fesm2022/primeng-inputicon.mjs +10 -11
  114. package/fesm2022/primeng-inputmask.mjs +15 -16
  115. package/fesm2022/primeng-inputnumber.mjs +10 -11
  116. package/fesm2022/primeng-inputotp.mjs +10 -11
  117. package/fesm2022/primeng-inputpassword.mjs +10 -11
  118. package/fesm2022/primeng-inputtags.mjs +12 -13
  119. package/fesm2022/primeng-inputtext.mjs +10 -11
  120. package/fesm2022/primeng-isolation.mjs +280 -0
  121. package/fesm2022/primeng-keyfilter.mjs +7 -8
  122. package/fesm2022/primeng-knob.mjs +13 -15
  123. package/fesm2022/primeng-label.mjs +10 -11
  124. package/fesm2022/primeng-license.mjs +0 -1
  125. package/fesm2022/primeng-listbox.mjs +32 -29
  126. package/fesm2022/primeng-megamenu.mjs +30 -34
  127. package/fesm2022/primeng-menu.mjs +36 -43
  128. package/fesm2022/primeng-menubar.mjs +26 -24
  129. package/fesm2022/primeng-message.mjs +16 -19
  130. package/fesm2022/primeng-metergroup.mjs +13 -14
  131. package/fesm2022/primeng-motion.mjs +13 -14
  132. package/fesm2022/primeng-multiselect.mjs +34 -27
  133. package/fesm2022/primeng-orderlist.mjs +31 -23
  134. package/fesm2022/primeng-organizationchart.mjs +13 -14
  135. package/fesm2022/primeng-overlay.mjs +24 -22
  136. package/fesm2022/primeng-overlaybadge.mjs +10 -11
  137. package/fesm2022/primeng-paginator.mjs +13 -11
  138. package/fesm2022/primeng-panel.mjs +13 -15
  139. package/fesm2022/primeng-panelmenu.mjs +22 -23
  140. package/fesm2022/primeng-passthrough.mjs +0 -1
  141. package/fesm2022/primeng-password.mjs +29 -30
  142. package/fesm2022/primeng-picklist.mjs +28 -20
  143. package/fesm2022/primeng-popover.mjs +21 -21
  144. package/fesm2022/primeng-progressbar.mjs +10 -11
  145. package/fesm2022/primeng-progressspinner.mjs +10 -11
  146. package/fesm2022/primeng-radiobutton.mjs +13 -14
  147. package/fesm2022/primeng-rating.mjs +14 -16
  148. package/fesm2022/primeng-ripple.mjs +24 -23
  149. package/fesm2022/primeng-scrollarea.mjs +25 -26
  150. package/fesm2022/primeng-scroller.mjs +16 -14
  151. package/fesm2022/primeng-scrollpanel.mjs +23 -24
  152. package/fesm2022/primeng-scrolltop.mjs +12 -13
  153. package/fesm2022/primeng-select.mjs +243 -146
  154. package/fesm2022/primeng-selectbutton.mjs +10 -11
  155. package/fesm2022/primeng-sidebar.mjs +82 -84
  156. package/fesm2022/primeng-skeleton.mjs +10 -11
  157. package/fesm2022/primeng-slider.mjs +10 -11
  158. package/fesm2022/primeng-speeddial.mjs +20 -19
  159. package/fesm2022/primeng-splitbutton.mjs +11 -13
  160. package/fesm2022/primeng-splitter.mjs +13 -14
  161. package/fesm2022/primeng-stepper.mjs +47 -48
  162. package/fesm2022/primeng-steps.mjs +10 -11
  163. package/fesm2022/primeng-styleclass.mjs +10 -9
  164. package/fesm2022/primeng-table.mjs +183 -162
  165. package/fesm2022/primeng-tabs.mjs +36 -37
  166. package/fesm2022/primeng-tag.mjs +10 -11
  167. package/fesm2022/primeng-terminal.mjs +13 -14
  168. package/fesm2022/primeng-textarea.mjs +10 -11
  169. package/fesm2022/primeng-tieredmenu.mjs +26 -26
  170. package/fesm2022/primeng-timeline.mjs +10 -11
  171. package/fesm2022/primeng-toast.mjs +48 -33
  172. package/fesm2022/primeng-togglebutton.mjs +10 -11
  173. package/fesm2022/primeng-toggleswitch.mjs +10 -11
  174. package/fesm2022/primeng-toolbar.mjs +10 -11
  175. package/fesm2022/primeng-tooltip.mjs +24 -25
  176. package/fesm2022/primeng-tree.mjs +19 -20
  177. package/fesm2022/primeng-treeselect.mjs +18 -19
  178. package/fesm2022/primeng-treetable.mjs +93 -88
  179. package/fesm2022/primeng-useid.mjs +38 -0
  180. package/fesm2022/primeng-usestyle.mjs +265 -44
  181. package/fesm2022/primeng-utils.mjs +33 -2
  182. package/fesm2022/primeng.mjs +0 -1
  183. package/package.json +12 -4
  184. package/types/primeng-accordion.d.ts +0 -9
  185. package/types/primeng-animateonscroll.d.ts +2 -1
  186. package/types/primeng-api.d.ts +3 -1
  187. package/types/primeng-autocomplete.d.ts +1 -3
  188. package/types/primeng-base.d.ts +3 -1
  189. package/types/primeng-basecomponent.d.ts +34 -16
  190. package/types/primeng-button.d.ts +9 -12
  191. package/types/primeng-carousel.d.ts +3 -25
  192. package/types/primeng-compare.d.ts +0 -9
  193. package/types/primeng-config.d.ts +27 -2
  194. package/types/primeng-confirmdialog.d.ts +1 -0
  195. package/types/primeng-confirmpopup.d.ts +1 -3
  196. package/types/primeng-datepicker.d.ts +2 -12
  197. package/types/primeng-dialog.d.ts +1 -0
  198. package/types/primeng-dom.d.ts +6 -11
  199. package/types/primeng-dragdrop.d.ts +1 -0
  200. package/types/primeng-dynamicdialog.d.ts +3 -1
  201. package/types/primeng-focustrap.d.ts +1 -1
  202. package/types/primeng-gallery.d.ts +0 -63
  203. package/types/primeng-inputcolor.d.ts +0 -33
  204. package/types/primeng-isolation.d.ts +21 -0
  205. package/types/primeng-listbox.d.ts +1 -0
  206. package/types/primeng-megamenu.d.ts +5 -1
  207. package/types/primeng-menu.d.ts +6 -7
  208. package/types/primeng-motion.d.ts +2 -7
  209. package/types/primeng-multiselect.d.ts +3 -1
  210. package/types/primeng-orderlist.d.ts +1 -0
  211. package/types/primeng-picklist.d.ts +1 -0
  212. package/types/primeng-scrollarea.d.ts +0 -15
  213. package/types/primeng-scroller.d.ts +2 -1
  214. package/types/primeng-select.d.ts +54 -13
  215. package/types/primeng-sidebar.d.ts +0 -69
  216. package/types/primeng-splitter.d.ts +0 -3
  217. package/types/primeng-stepper.d.ts +2 -19
  218. package/types/primeng-table.d.ts +2 -75
  219. package/types/primeng-tabs.d.ts +2 -16
  220. package/types/primeng-toast.d.ts +4 -2
  221. package/types/primeng-treetable.d.ts +4 -92
  222. package/types/primeng-types-listbox.d.ts +1 -1
  223. package/types/primeng-types-select.d.ts +4 -0
  224. package/types/primeng-useid.d.ts +15 -0
  225. package/types/primeng-usestyle.d.ts +87 -7
  226. package/types/primeng-utils.d.ts +42 -0
  227. package/fesm2022/primeng-accordion.mjs.map +0 -1
  228. package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
  229. package/fesm2022/primeng-api.mjs.map +0 -1
  230. package/fesm2022/primeng-autocomplete.mjs.map +0 -1
  231. package/fesm2022/primeng-autofocus.mjs.map +0 -1
  232. package/fesm2022/primeng-avatar.mjs.map +0 -1
  233. package/fesm2022/primeng-avatargroup.mjs.map +0 -1
  234. package/fesm2022/primeng-badge.mjs.map +0 -1
  235. package/fesm2022/primeng-base.mjs.map +0 -1
  236. package/fesm2022/primeng-basecomponent.mjs.map +0 -1
  237. package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
  238. package/fesm2022/primeng-baseinput.mjs.map +0 -1
  239. package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
  240. package/fesm2022/primeng-bind.mjs.map +0 -1
  241. package/fesm2022/primeng-blockui.mjs.map +0 -1
  242. package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
  243. package/fesm2022/primeng-button.mjs.map +0 -1
  244. package/fesm2022/primeng-buttongroup.mjs.map +0 -1
  245. package/fesm2022/primeng-card.mjs.map +0 -1
  246. package/fesm2022/primeng-carousel.mjs.map +0 -1
  247. package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
  248. package/fesm2022/primeng-chart.mjs.map +0 -1
  249. package/fesm2022/primeng-checkbox.mjs.map +0 -1
  250. package/fesm2022/primeng-chip.mjs.map +0 -1
  251. package/fesm2022/primeng-classnames.mjs.map +0 -1
  252. package/fesm2022/primeng-colorpicker.mjs.map +0 -1
  253. package/fesm2022/primeng-commandmenu.mjs.map +0 -1
  254. package/fesm2022/primeng-compare.mjs.map +0 -1
  255. package/fesm2022/primeng-config.mjs.map +0 -1
  256. package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
  257. package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
  258. package/fesm2022/primeng-contextmenu.mjs.map +0 -1
  259. package/fesm2022/primeng-dataview.mjs.map +0 -1
  260. package/fesm2022/primeng-datepicker.mjs.map +0 -1
  261. package/fesm2022/primeng-dialog.mjs.map +0 -1
  262. package/fesm2022/primeng-divider.mjs.map +0 -1
  263. package/fesm2022/primeng-dock.mjs.map +0 -1
  264. package/fesm2022/primeng-dom.mjs.map +0 -1
  265. package/fesm2022/primeng-dragdrop.mjs.map +0 -1
  266. package/fesm2022/primeng-drawer.mjs.map +0 -1
  267. package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
  268. package/fesm2022/primeng-editor.mjs.map +0 -1
  269. package/fesm2022/primeng-fieldset.mjs.map +0 -1
  270. package/fesm2022/primeng-fileupload.mjs.map +0 -1
  271. package/fesm2022/primeng-floatlabel.mjs.map +0 -1
  272. package/fesm2022/primeng-fluid.mjs.map +0 -1
  273. package/fesm2022/primeng-focustrap.mjs.map +0 -1
  274. package/fesm2022/primeng-galleria.mjs.map +0 -1
  275. package/fesm2022/primeng-gallery.mjs.map +0 -1
  276. package/fesm2022/primeng-iconfield.mjs.map +0 -1
  277. package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
  278. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
  279. package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
  280. package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
  281. package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
  282. package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
  283. package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
  284. package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
  285. package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
  286. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
  287. package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
  288. package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
  289. package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
  290. package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
  291. package/fesm2022/primeng-icons-ban.mjs.map +0 -1
  292. package/fesm2022/primeng-icons-bars.mjs.map +0 -1
  293. package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
  294. package/fesm2022/primeng-icons-blank.mjs.map +0 -1
  295. package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
  296. package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
  297. package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
  298. package/fesm2022/primeng-icons-check.mjs.map +0 -1
  299. package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
  300. package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
  301. package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
  302. package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
  303. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
  304. package/fesm2022/primeng-icons-eye.mjs.map +0 -1
  305. package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
  306. package/fesm2022/primeng-icons-filter.mjs.map +0 -1
  307. package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
  308. package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
  309. package/fesm2022/primeng-icons-home.mjs.map +0 -1
  310. package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
  311. package/fesm2022/primeng-icons-minus.mjs.map +0 -1
  312. package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
  313. package/fesm2022/primeng-icons-plus.mjs.map +0 -1
  314. package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
  315. package/fesm2022/primeng-icons-search.mjs.map +0 -1
  316. package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
  317. package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
  318. package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
  319. package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
  320. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
  321. package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
  322. package/fesm2022/primeng-icons-star.mjs.map +0 -1
  323. package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
  324. package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
  325. package/fesm2022/primeng-icons-times.mjs.map +0 -1
  326. package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
  327. package/fesm2022/primeng-icons-trash.mjs.map +0 -1
  328. package/fesm2022/primeng-icons-undo.mjs.map +0 -1
  329. package/fesm2022/primeng-icons-upload.mjs.map +0 -1
  330. package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
  331. package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
  332. package/fesm2022/primeng-iftalabel.mjs.map +0 -1
  333. package/fesm2022/primeng-image.mjs.map +0 -1
  334. package/fesm2022/primeng-imagecompare.mjs.map +0 -1
  335. package/fesm2022/primeng-inplace.mjs.map +0 -1
  336. package/fesm2022/primeng-inputcolor.mjs.map +0 -1
  337. package/fesm2022/primeng-inputgroup.mjs.map +0 -1
  338. package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
  339. package/fesm2022/primeng-inputicon.mjs.map +0 -1
  340. package/fesm2022/primeng-inputmask.mjs.map +0 -1
  341. package/fesm2022/primeng-inputnumber.mjs.map +0 -1
  342. package/fesm2022/primeng-inputotp.mjs.map +0 -1
  343. package/fesm2022/primeng-inputpassword.mjs.map +0 -1
  344. package/fesm2022/primeng-inputtags.mjs.map +0 -1
  345. package/fesm2022/primeng-inputtext.mjs.map +0 -1
  346. package/fesm2022/primeng-keyfilter.mjs.map +0 -1
  347. package/fesm2022/primeng-knob.mjs.map +0 -1
  348. package/fesm2022/primeng-label.mjs.map +0 -1
  349. package/fesm2022/primeng-license.mjs.map +0 -1
  350. package/fesm2022/primeng-listbox.mjs.map +0 -1
  351. package/fesm2022/primeng-megamenu.mjs.map +0 -1
  352. package/fesm2022/primeng-menu.mjs.map +0 -1
  353. package/fesm2022/primeng-menubar.mjs.map +0 -1
  354. package/fesm2022/primeng-message.mjs.map +0 -1
  355. package/fesm2022/primeng-metergroup.mjs.map +0 -1
  356. package/fesm2022/primeng-motion.mjs.map +0 -1
  357. package/fesm2022/primeng-multiselect.mjs.map +0 -1
  358. package/fesm2022/primeng-orderlist.mjs.map +0 -1
  359. package/fesm2022/primeng-organizationchart.mjs.map +0 -1
  360. package/fesm2022/primeng-overlay.mjs.map +0 -1
  361. package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
  362. package/fesm2022/primeng-paginator.mjs.map +0 -1
  363. package/fesm2022/primeng-panel.mjs.map +0 -1
  364. package/fesm2022/primeng-panelmenu.mjs.map +0 -1
  365. package/fesm2022/primeng-passthrough.mjs.map +0 -1
  366. package/fesm2022/primeng-password.mjs.map +0 -1
  367. package/fesm2022/primeng-picklist.mjs.map +0 -1
  368. package/fesm2022/primeng-popover.mjs.map +0 -1
  369. package/fesm2022/primeng-progressbar.mjs.map +0 -1
  370. package/fesm2022/primeng-progressspinner.mjs.map +0 -1
  371. package/fesm2022/primeng-radiobutton.mjs.map +0 -1
  372. package/fesm2022/primeng-rating.mjs.map +0 -1
  373. package/fesm2022/primeng-ripple.mjs.map +0 -1
  374. package/fesm2022/primeng-scrollarea.mjs.map +0 -1
  375. package/fesm2022/primeng-scroller.mjs.map +0 -1
  376. package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
  377. package/fesm2022/primeng-scrolltop.mjs.map +0 -1
  378. package/fesm2022/primeng-select.mjs.map +0 -1
  379. package/fesm2022/primeng-selectbutton.mjs.map +0 -1
  380. package/fesm2022/primeng-sidebar.mjs.map +0 -1
  381. package/fesm2022/primeng-skeleton.mjs.map +0 -1
  382. package/fesm2022/primeng-slider.mjs.map +0 -1
  383. package/fesm2022/primeng-speeddial.mjs.map +0 -1
  384. package/fesm2022/primeng-splitbutton.mjs.map +0 -1
  385. package/fesm2022/primeng-splitter.mjs.map +0 -1
  386. package/fesm2022/primeng-stepper.mjs.map +0 -1
  387. package/fesm2022/primeng-steps.mjs.map +0 -1
  388. package/fesm2022/primeng-styleclass.mjs.map +0 -1
  389. package/fesm2022/primeng-table.mjs.map +0 -1
  390. package/fesm2022/primeng-tabs.mjs.map +0 -1
  391. package/fesm2022/primeng-tag.mjs.map +0 -1
  392. package/fesm2022/primeng-terminal.mjs.map +0 -1
  393. package/fesm2022/primeng-textarea.mjs.map +0 -1
  394. package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
  395. package/fesm2022/primeng-timeline.mjs.map +0 -1
  396. package/fesm2022/primeng-toast.mjs.map +0 -1
  397. package/fesm2022/primeng-togglebutton.mjs.map +0 -1
  398. package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
  399. package/fesm2022/primeng-toolbar.mjs.map +0 -1
  400. package/fesm2022/primeng-tooltip.mjs.map +0 -1
  401. package/fesm2022/primeng-tree.mjs.map +0 -1
  402. package/fesm2022/primeng-treeselect.mjs.map +0 -1
  403. package/fesm2022/primeng-treetable.mjs.map +0 -1
  404. package/fesm2022/primeng-usestyle.mjs.map +0 -1
  405. package/fesm2022/primeng-utils.mjs.map +0 -1
  406. package/fesm2022/primeng.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-carousel.mjs","names":["CarouselContentComp","ChevronRightIcon","ChevronLeftIcon","ChevronDownIcon","ChevronUpIcon"],"sources":["../../src/carousel/style/carouselstyle.ts","../../src/carousel/carousel-token.ts","../../src/carousel/carousel-content.ts","../../src/carousel/carousel-item.ts","../../src/carousel/carousel-next.ts","../../src/carousel/carousel-prev.ts","../../src/carousel/carousel-indicator.ts","../../src/carousel/carousel-indicators.ts","../../src/carousel/carousel-legacy.ts","../../src/carousel/carousel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/carousel';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-carousel p-component',\n {\n 'p-carousel-vertical': instance.isVertical(),\n 'p-carousel-horizontal': !instance.isVertical()\n }\n ],\n header: 'p-carousel-header',\n contentContainer: 'p-carousel-content-container',\n content: 'p-carousel-content',\n pcPrevButton: ({ instance }) => [\n 'p-carousel-prev-button',\n {\n 'p-disabled': instance.isBackwardNavDisabled()\n }\n ],\n viewport: 'p-carousel-viewport',\n itemList: 'p-carousel-item-list',\n itemClone: ({ instance, index }) => [\n 'p-carousel-item p-carousel-item-clone',\n {\n 'p-carousel-item-active': instance.totalShiftedItems() * -1 === instance.value()?.length,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': instance.clonedItemsForStarting().length - 1 === index\n }\n ],\n item: ({ instance, index }) => [\n 'p-carousel-item',\n {\n 'p-carousel-item-active': instance.firstIndex() <= index && instance.lastIndex() >= index,\n 'p-carousel-item-start': instance.firstIndex() === index,\n 'p-carousel-item-end': instance.lastIndex() === index\n }\n ],\n pcNextButton: ({ instance }) => [\n 'p-carousel-next-button',\n {\n 'p-disabled': instance.isForwardNavDisabled()\n }\n ],\n indicatorList: ({ instance }) => ['p-carousel-indicator-list', instance.indicatorsContentClass()],\n indicator: ({ instance, index }) => [\n 'p-carousel-indicator',\n {\n 'p-carousel-indicator-active': instance._page() === index\n }\n ],\n indicatorButton: ({ instance }) => ['p-carousel-indicator-button', instance.indicatorStyleClass()],\n footer: 'p-carousel-footer',\n // Composition mode\n compositionRoot: 'p-carousel p-component',\n compositionIndicator: ({ instance, index }) => ['p-carousel-indicator-button', { 'p-carousel-indicator-active': instance.pageState() === index }],\n compositionContent: ({ instance }) => ['p-carousel-content', instance.orientation() === 'vertical' ? 'p-carousel-content-vertical' : 'p-carousel-content-horizontal'],\n compositionItem: 'p-carousel-item',\n compositionPrev: ({ instance }) => [{ 'p-disabled': instance.isPrevDisabled() }],\n compositionNext: ({ instance }) => [{ 'p-disabled': instance.isNextDisabled() }]\n};\n\n@Injectable()\nexport class CarouselStyle extends BaseStyle {\n name = 'carousel';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Carousel is a content slider featuring various customization options.\n *\n * [Live Demo](https://www.primeng.org/carousel/)\n *\n * @module carouselstyle\n *\n */\nexport enum CarouselClasses {\n /**\n * Class name of the root element\n */\n root = 'p-carousel',\n /**\n * Class name of the header element\n */\n header = 'p-carousel-header',\n /**\n * Class name of the content container element\n */\n contentContainer = 'p-carousel-content-container',\n /**\n * Class name of the content element\n */\n content = 'p-carousel-content',\n /**\n * Class name of the previous button element\n */\n pcPrevButton = 'p-carousel-prev-button',\n /**\n * Class name of the viewport element\n */\n viewport = 'p-carousel-viewport',\n /**\n * Class name of the item list element\n */\n itemList = 'p-carousel-item-list',\n /**\n * Class name of the item clone element\n */\n itemClone = 'p-carousel-item-clone',\n /**\n * Class name of the item element\n */\n item = 'p-carousel-item',\n /**\n * Class name of the next button element\n */\n pcNextButton = 'p-carousel-next-button',\n /**\n * Class name of the indicator list element\n */\n indicatorList = 'p-carousel-indicator-list',\n /**\n * Class name of the indicator element\n */\n indicator = 'p-carousel-indicator',\n /**\n * Class name of the indicator button element\n */\n indicatorButton = 'p-carousel-indicator-button',\n /**\n * Class name of the footer element\n */\n footer = 'p-carousel-footer'\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const CAROUSEL_ROOT = new InjectionToken<any>('CAROUSEL_ROOT');\n","import { afterNextRender, ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselContentPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselContent is the scrollable track element that contains carousel items.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-content',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselContent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"root.cx('compositionContent')\",\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'content'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-autosize]': 'dataAutosize()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[style.display]': \"'flex'\",\n '[style.flex-direction]': 'flexDirection()',\n '[style.overflow-x]': 'overflowX()',\n '[style.overflow-y]': 'overflowY()',\n '[style.overscroll-behavior-x]': 'overscrollX()',\n '[style.overscroll-behavior-y]': 'overscrollY()',\n '[style.gap]': \"'var(--px-spacing-items)'\",\n '[style.scroll-snap-type]': \"'var(--px-scroll-snap-type)'\",\n '[style.scrollbar-width]': \"'none'\",\n '[style.position]': \"'relative'\",\n '[style.--px-slides-per-page]': 'slidesPerPage()',\n '[style.--px-spacing-items]': 'spacingItems()',\n '[style.--px-scroll-snap-type]': 'scrollSnapType()',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(pointerup)': 'onPointerUp($event)',\n '(wheel)': 'onWheel($event)'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselContent extends BaseComponent<CarouselContentPassThrough> {\n componentName = 'CarouselContent';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n root = inject(CAROUSEL_ROOT);\n\n isVertical = computed(() => this.root.orientation() === 'vertical');\n\n flexDirection = computed(() => (this.isVertical() ? 'column' : 'row'));\n\n overflowX = computed(() => (this.isVertical() ? null : 'scroll'));\n\n overflowY = computed(() => (this.isVertical() ? 'scroll' : null));\n\n overscrollX = computed(() => (this.isVertical() ? null : 'contain'));\n\n overscrollY = computed(() => (this.isVertical() ? 'contain' : null));\n\n dataAutosize = computed(() => (this.root.autoSize() ? '' : null));\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n slidesPerPage = computed(() => this.root.slidesPerPage());\n\n spacingItems = computed(() => this.root.spacing() + 'px');\n\n scrollSnapType = computed(() => this.root.resolveSnapType());\n\n onPointerDown(e: PointerEvent) {\n this.root.onContentPointerDown(e);\n }\n\n onPointerMove(e: PointerEvent) {\n this.root.onContentPointerMove(e);\n }\n\n onPointerUp(e: PointerEvent) {\n this.root.onContentPointerUp(e);\n }\n\n onWheel(e: WheelEvent) {\n this.root.onContentWheel(e);\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n constructor() {\n super();\n afterNextRender(() => {\n this.root.setContentEl(this.$el);\n this.root.setupObservers();\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselItemPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselItem represents an individual item in the composition-based carousel.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-item',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselItem }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"root.cx('compositionItem')\",\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'item'\",\n '[attr.data-item]': \"''\",\n '[attr.data-value]': 'value()',\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.data-autosize]': 'dataAutosize()',\n '[style.flex-grow]': '0',\n '[style.flex-shrink]': '0',\n '[style.min-width]': '0',\n '[style.flex-basis]': 'flexBasis()',\n '[style.scroll-snap-align]': 'scrollSnapAlign()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselItem extends BaseComponent<CarouselItemPassThrough> {\n componentName = 'CarouselItem';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * The value/identifier of the carousel item.\n * @group Props\n */\n value = input<unknown>();\n\n root = inject(CAROUSEL_ROOT);\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n dataAutosize = computed(() => (this.root.autoSize() ? '' : null));\n\n flexBasis = computed(() => (this.root.autoSize() ? 'auto' : 'calc(100% / var(--px-slides-per-page) - var(--px-spacing-items) * (var(--px-slides-per-page) - 1) / var(--px-slides-per-page))'));\n\n scrollSnapAlign = computed(() => this.root.align());\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { computed, Directive, inject } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselNextPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselNext is a directive for the next navigation button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselNext]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselNext }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'next'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-disabled]': 'dataDisabled()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.disabled]': 'attrDisabled()',\n '(click)': 'onClick()'\n }\n})\nexport class CarouselNext extends BaseComponent<CarouselNextPassThrough> {\n componentName = 'CarouselNext';\n\n root = inject(CAROUSEL_ROOT);\n\n _componentStyle = inject(CarouselStyle);\n\n hostClass = computed(() => this.root.cx('compositionNext'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataDisabled = computed(() => this.root.isNextDisabled());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n attrDisabled = computed(() => (this.root.isNextDisabled() ? true : null));\n\n onClick() {\n this.root.next();\n }\n}\n","import { computed, Directive, inject } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselPrevPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselPrev is a directive for the previous navigation button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselPrev]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselPrev }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'prev'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-disabled]': 'dataDisabled()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.disabled]': 'attrDisabled()',\n '(click)': 'onClick()'\n }\n})\nexport class CarouselPrev extends BaseComponent<CarouselPrevPassThrough> {\n componentName = 'CarouselPrev';\n\n root = inject(CAROUSEL_ROOT);\n\n _componentStyle = inject(CarouselStyle);\n\n hostClass = computed(() => this.root.cx('compositionPrev'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataDisabled = computed(() => this.root.isPrevDisabled());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n attrDisabled = computed(() => (this.root.isPrevDisabled() ? true : null));\n\n onClick() {\n this.root.prev();\n }\n}\n","import { computed, Directive, inject, input, numberAttribute } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselIndicatorPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselIndicator is a directive for an individual page indicator button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselIndicator]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselIndicator }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'indicator'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-active]': 'dataActive()',\n '[attr.data-swiping]': 'dataSwiping()',\n '(click)': 'onClick()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselIndicator extends BaseComponent<CarouselIndicatorPassThrough> {\n componentName = 'CarouselIndicator';\n\n /**\n * The page index this indicator represents.\n * @group Props\n */\n page = input(0, { transform: numberAttribute });\n\n root = inject(CAROUSEL_ROOT);\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(CarouselStyle);\n\n isActive = computed(() => this.root.pageState() === this.page());\n\n hostClass = computed(() => this.root.cx('compositionIndicator', { index: this.page() }));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataActive = computed(() => (this.isActive() ? '' : null));\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n onClick() {\n this.root.scrollToPage(this.page());\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselIndicator } from './carousel-indicator';\nimport type { CarouselIndicatorsPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselIndicators renders the list of page indicators.\n * Auto-generates button indicators based on snap points.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-indicators',\n standalone: true,\n imports: [BindModule, CarouselIndicator],\n template: `\n @for (page of pages(); track page) {\n <button type=\"button\" pCarouselIndicator [page]=\"page\"></button>\n }\n `,\n providers: [{ provide: PARENT_INSTANCE, useExisting: CarouselIndicators }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'indicators'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselIndicators extends BaseComponent<CarouselIndicatorsPassThrough> {\n componentName = 'CarouselIndicators';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n root = inject(CAROUSEL_ROOT);\n\n hostClass = computed(() => this.root.cx('indicatorList'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n pages = computed(() => {\n const points = this.root.snapPoints();\n\n return Array.from(points).map((_, i) => i);\n });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, booleanAttribute, computed, contentChild, Directive, effect, ElementRef, inject, input, numberAttribute, output, signal, TemplateRef, untracked, viewChild } from '@angular/core';\nimport { addClass, find, findSingle, getAttribute, removeClass, setAttribute, uuid } from '@primeuix/utils';\nimport { Footer, Header } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport type { ButtonDirectiveOptions } from 'primeng/types/button';\nimport type { CarouselItemTemplateContext, CarouselOrientation, CarouselPageEvent, CarouselResponsiveOptions } from 'primeng/types/carousel';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport { CarouselStyle } from './style/carouselstyle';\n\n/**\n * Base class containing all legacy (data-driven) carousel logic.\n * Extended by the Carousel component.\n * @deprecated Use the composition API of Carousel instead (e.g. p-carousel-content, p-carousel-item).\n */\n@Directive()\nexport abstract class CarouselLegacyBase extends BaseComponent {\n /**\n * Index of the first item.\n * @defaultValue 0\n * @group Props\n */\n page = input(0, { transform: numberAttribute });\n\n /**\n * Number of items per page.\n * @defaultValue 1\n * @group Props\n */\n numVisible = input(1, { transform: numberAttribute });\n\n /**\n * Number of items to scroll.\n * @defaultValue 1\n * @group Props\n */\n numScroll = input(1, { transform: numberAttribute });\n\n /**\n * An array of options for responsive design.\n * @see {CarouselResponsiveOptions}\n * @group Props\n */\n responsiveOptions = input<CarouselResponsiveOptions[]>();\n\n /**\n * Specifies the layout of the component.\n * @group Props\n */\n orientation = input<CarouselOrientation>('horizontal');\n\n /**\n * Height of the viewport in vertical layout.\n * @group Props\n */\n verticalViewPortHeight = input('300px');\n\n /**\n * Style class of main content.\n * @group Props\n */\n contentClass = input('');\n\n /**\n * Style class of the indicator items.\n * @group Props\n */\n indicatorsContentClass = input('');\n\n /**\n * Inline style of the indicator items.\n * @group Props\n */\n indicatorsContentStyle = input<CSSProperties>();\n\n /**\n * Style class of the indicators.\n * @group Props\n */\n indicatorStyleClass = input('');\n\n /**\n * Style of the indicators.\n * @group Props\n */\n indicatorStyle = input<CSSProperties>();\n\n /**\n * An array of objects to display.\n * @defaultValue null\n * @group Props\n */\n value = input<any[]>();\n\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n circular = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to display indicator container.\n * @group Props\n */\n showIndicators = input(true, { transform: booleanAttribute });\n\n /**\n * Whether to display navigation buttons in container.\n * @group Props\n */\n showNavigators = input(true, { transform: booleanAttribute });\n\n /**\n * Time in milliseconds to scroll items automatically.\n * @group Props\n */\n autoplayInterval = input(0, { transform: numberAttribute });\n\n /**\n * Configuration object forwarded to the underlying button.\n * @group Props\n */\n prevButtonProps = input<ButtonDirectiveOptions>({\n severity: 'secondary',\n variant: 'text',\n rounded: true\n });\n\n /**\n * Configuration object forwarded to the underlying button.\n * @group Props\n */\n nextButtonProps = input<ButtonDirectiveOptions>({\n severity: 'secondary',\n variant: 'text',\n rounded: true\n });\n\n /**\n * Callback to invoke after scroll.\n * @param {CarouselPageEvent} event - Custom page event.\n * @group Emits\n */\n onPage = output<CarouselPageEvent>();\n\n itemsContainer = viewChild<ElementRef>('itemsContainer');\n\n indicatorContent = viewChild<ElementRef>('indicatorContent');\n\n headerFacet = contentChild(Header, { descendants: false });\n\n footerFacet = contentChild(Footer, { descendants: false });\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<CarouselItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom previous icon template.\n * @group Templates\n */\n previousIconTemplate = contentChild<TemplateRef<void>>('previousicon', { descendants: false });\n\n /**\n * Custom next icon template.\n * @group Templates\n */\n nextIconTemplate = contentChild<TemplateRef<void>>('nexticon', { descendants: false });\n\n _componentStyle = inject(CarouselStyle);\n\n _numVisible = 1;\n\n _numScroll = 1;\n\n _oldNumScroll = 0;\n\n prevState = {\n numScroll: 0,\n numVisible: 0,\n value: [] as unknown[]\n };\n\n defaultNumScroll = 1;\n\n defaultNumVisible = 1;\n\n _page = signal(0);\n\n carouselStyle: HTMLStyleElement | null = null;\n\n id: string | undefined;\n\n totalShiftedItems = signal(0);\n\n isRemainingItemsAdded = false;\n\n animationTimeout: ReturnType<typeof setTimeout> | undefined;\n\n translateTimeout: ReturnType<typeof setTimeout> | undefined;\n\n remainingItems = 0;\n\n startPos: { x: number; y: number } | null = null;\n\n documentResizeListener: VoidFunction | null = null;\n\n clonedItemsForStarting = signal<unknown[]>([]);\n\n clonedItemsForFinishing = signal<unknown[]>([]);\n\n allowAutoplay = signal(false);\n\n interval: ReturnType<typeof setInterval> | undefined;\n\n isCreated = false;\n\n swipeThreshold = 20;\n\n window: Window;\n\n viewportStyle = computed(() => ({ height: this.isVertical() ? this.verticalViewPortHeight() : 'auto' }));\n\n constructor() {\n super();\n this.window = this.document.defaultView as Window;\n this.totalShiftedItems.set(this.page() * this.numScroll() * -1);\n\n // Effect for page changes\n effect(() => {\n const pageVal = this.page();\n\n untracked(() => {\n if (this.isCreated && pageVal !== this._page()) {\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (pageVal > this._page() && pageVal <= this.totalDots() - 1) {\n this.step(-1, pageVal);\n } else if (pageVal < this._page()) {\n this.step(1, pageVal);\n }\n }\n\n this._page.set(pageVal);\n });\n });\n\n // Effect for value changes\n effect(() => {\n const val = this.value();\n\n if (isPlatformBrowser(this.platformId)) {\n if (this.circular() && val) {\n this.setCloneItems();\n }\n }\n });\n\n // Effect for numVisible/numScroll changes\n effect(() => {\n const numVisibleVal = this.numVisible();\n const numScrollVal = this.numScroll();\n const responsiveOpts = this.responsiveOptions();\n\n untracked(() => {\n if (this.isCreated) {\n if (responsiveOpts) {\n this.defaultNumVisible = numVisibleVal;\n this.defaultNumScroll = numScrollVal;\n }\n\n if (this.isCircular()) {\n this.setCloneItems();\n }\n\n this.createStyle();\n this.calculatePosition();\n }\n\n this._numVisible = numVisibleVal;\n this._numScroll = numScrollVal;\n });\n });\n afterNextRender(() => this.legacyOnAfterContentChecked());\n }\n\n legacyOnAfterContentInit() {\n this.id = uuid('pn_id_');\n\n if (isPlatformBrowser(this.platformId)) {\n this.allowAutoplay.set(!!this.autoplayInterval());\n\n if (this.circular()) {\n this.setCloneItems();\n }\n\n if (this.responsiveOptions()) {\n this.defaultNumScroll = this._numScroll;\n this.defaultNumVisible = this._numVisible;\n }\n\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions()) {\n this.bindDocumentListeners();\n }\n }\n }\n\n legacyOnAfterContentChecked() {\n if (isPlatformBrowser(this.platformId)) {\n const isCircular = this.isCircular();\n let totalShiftedItems = this.totalShiftedItems();\n const val = this.value();\n\n if (val && this.itemsContainer() && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== val.length)) {\n if (this.autoplayInterval()) {\n this.stopAutoplay(false);\n }\n\n this.remainingItems = (val.length - this._numVisible) % this._numScroll;\n\n let page = this._page();\n\n if (this.totalDots() !== 0 && page >= this.totalDots()) {\n page = this.totalDots() - 1;\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n totalShiftedItems = page * this._numScroll * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += -1 * this.remainingItems + this._numScroll;\n this.isRemainingItemsAdded = true;\n } else {\n this.isRemainingItemsAdded = false;\n }\n\n if (totalShiftedItems !== this.totalShiftedItems()) {\n this.totalShiftedItems.set(totalShiftedItems);\n }\n\n this._oldNumScroll = this._numScroll;\n this.prevState.numScroll = this._numScroll;\n this.prevState.numVisible = this._numVisible;\n this.prevState.value = [...val];\n\n const itemsContainerEl = this.itemsContainer();\n\n if (this.totalDots() > 0 && itemsContainerEl?.nativeElement) {\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n\n this.isCreated = true;\n\n if (this.autoplayInterval() && this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n if (isCircular && val) {\n if (this._page() === 0) {\n totalShiftedItems = -1 * this._numVisible;\n } else if (totalShiftedItems === 0) {\n totalShiftedItems = -1 * val.length;\n\n if (this.remainingItems > 0) {\n this.isRemainingItemsAdded = true;\n }\n }\n\n if (totalShiftedItems !== this.totalShiftedItems()) {\n this.totalShiftedItems.set(totalShiftedItems);\n }\n }\n }\n }\n\n createStyle() {\n if (!this.carouselStyle) {\n const styleEl = this.renderer.createElement('style') as HTMLStyleElement;\n\n setAttribute(styleEl, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, styleEl);\n this.carouselStyle = styleEl;\n }\n\n let innerHTML = `\n #${this.id} .p-carousel-item {\n\t\t\t\tflex: 1 0 ${100 / this._numVisible}%\n\t\t\t}\n `;\n\n const responsiveOpts = this.responsiveOptions();\n\n if (responsiveOpts && !this.$unstyled()) {\n responsiveOpts.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n let result: number | null = null;\n\n if (value1 == null && value2 != null) result = -1;\n else if (value1 != null && value2 == null) result = 1;\n else if (value1 == null && value2 == null) result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, { numeric: true });\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return -1 * result;\n });\n\n for (let i = 0; i < responsiveOpts.length; i++) {\n let res = responsiveOpts[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.carouselStyle!.innerHTML = innerHTML;\n }\n\n calculatePosition() {\n const responsiveOpts = this.responsiveOptions();\n\n if (responsiveOpts) {\n let matchedResponsiveData = {\n numVisible: this.defaultNumVisible,\n numScroll: this.defaultNumScroll\n };\n\n if (typeof window !== 'undefined') {\n let windowWidth = window.innerWidth;\n\n for (let i = 0; i < responsiveOpts.length; i++) {\n let res = responsiveOpts[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n }\n\n if (this._numScroll !== matchedResponsiveData.numScroll) {\n let page = this._page();\n\n page = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);\n\n let totalShiftedItems = matchedResponsiveData.numScroll * this._page() * -1;\n\n if (this.isCircular()) {\n totalShiftedItems -= matchedResponsiveData.numVisible;\n }\n\n this.totalShiftedItems.set(totalShiftedItems);\n this._numScroll = matchedResponsiveData.numScroll;\n\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n if (this._numVisible !== matchedResponsiveData.numVisible) {\n this._numVisible = matchedResponsiveData.numVisible;\n this.setCloneItems();\n }\n }\n }\n\n setCloneItems() {\n const val = this.value();\n\n if (this.isCircular() && val) {\n this.clonedItemsForStarting.set([...val.slice(-1 * this._numVisible)]);\n this.clonedItemsForFinishing.set([...val.slice(0, this._numVisible)]);\n } else {\n this.clonedItemsForStarting.set([]);\n this.clonedItemsForFinishing.set([]);\n }\n }\n\n firstIndex() {\n return this.isCircular() ? -1 * (this.totalShiftedItems() + this._numVisible) : this.totalShiftedItems() * -1;\n }\n\n lastIndex() {\n return this.firstIndex() + this._numVisible - 1;\n }\n\n totalDots() {\n const val = this.value();\n\n return val?.length ? Math.ceil((val.length - this._numVisible) / this._numScroll) + 1 : 0;\n }\n\n totalDotsArray() {\n const totalDots = this.totalDots();\n\n return totalDots <= 0 ? [] : Array.from({ length: totalDots }, (_, i) => i);\n }\n\n isVertical() {\n return this.orientation() === 'vertical';\n }\n\n isCircular() {\n const val = this.value();\n\n return this.circular() && val && val.length >= this._numVisible;\n }\n\n isAutoplay() {\n return this.autoplayInterval() && this.allowAutoplay();\n }\n\n isForwardNavDisabled() {\n return this.isEmpty() || (this._page() >= this.totalDots() - 1 && !this.isCircular());\n }\n\n isBackwardNavDisabled() {\n return this.isEmpty() || (this._page() <= 0 && !this.isCircular());\n }\n\n isEmpty() {\n const val = this.value();\n\n return !val || val.length === 0;\n }\n\n // Template helper methods\n hasHeader() {\n return !!(this.headerFacet() || this.headerTemplate());\n }\n\n hasFooter() {\n return !!(this.footerFacet() || this.footerTemplate());\n }\n\n ariaLive() {\n return this.allowAutoplay() ? 'polite' : 'off';\n }\n\n showDefaultPrevIcon() {\n return !this.previousIconTemplate();\n }\n\n showPrevIconTemplate() {\n return !!this.previousIconTemplate();\n }\n\n showDefaultNextIcon() {\n return !this.nextIconTemplate();\n }\n\n showNextIconTemplate() {\n return !!this.nextIconTemplate();\n }\n\n // Clone items (starting) helpers\n isCloneStartAriaHidden() {\n return !(this.totalShiftedItems() * -1 === this.value()?.length);\n }\n\n isCloneStartActive() {\n return this.totalShiftedItems() * -1 === (this.value()?.length ?? 0) + this.numVisible();\n }\n\n isCloneStartEnd(index: number) {\n const cloned = this.clonedItemsForStarting();\n\n return cloned.length > 0 && cloned.length - 1 === index;\n }\n\n // Main items helpers\n isItemActive(index: number) {\n return this.firstIndex() <= index && this.lastIndex() >= index;\n }\n\n isItemAriaHidden(index: number) {\n return !this.isItemActive(index);\n }\n\n isItemStart(index: number) {\n return this.firstIndex() === index;\n }\n\n isItemEnd(index: number) {\n return this.lastIndex() === index;\n }\n\n // Indicator helpers\n isIndicatorActive(index: number) {\n return this._page() === index;\n }\n\n getIndicatorAriaCurrent(index: number) {\n return this._page() === index ? 'page' : undefined;\n }\n\n getIndicatorTabindex(index: number) {\n return this._page() === index ? 0 : -1;\n }\n\n navForward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page() < this.totalDots() - 1) {\n this.step(-1, index);\n }\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page() !== 0) {\n this.step(1, index);\n }\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onDotClick(e: MouseEvent, index: number) {\n let page = this._page();\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (index > page) {\n this.navForward(e, index);\n } else if (index < page) {\n this.navBackward(e, index);\n }\n }\n\n onIndicatorKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n }\n }\n\n onRightKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n }\n\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n }\n\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n }\n\n onEndKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')] as HTMLElement[];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-highlight') === true);\n\n const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]') as HTMLElement | null;\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator?.parentElement);\n\n if (activeIndex >= 0 && highlightedIndex >= 0) {\n (indicators[activeIndex].children[0] as HTMLElement).tabIndex = -1;\n (indicators[highlightedIndex].children[0] as HTMLElement).tabIndex = 0;\n }\n }\n\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator?.parentElement);\n }\n\n changedFocusedIndicator(prevInd: number, nextInd: number) {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')] as HTMLElement[];\n\n if (indicators[prevInd] && indicators[nextInd]) {\n (indicators[prevInd].children[0] as HTMLElement).tabIndex = -1;\n (indicators[nextInd].children[0] as HTMLElement).tabIndex = 0;\n (indicators[nextInd].children[0] as HTMLElement).focus();\n }\n }\n\n step(dir: number, page?: number) {\n let totalShiftedItems = this.totalShiftedItems();\n const isCircular = this.isCircular();\n const val = this.value();\n\n if (page != null) {\n totalShiftedItems = this._numScroll * page * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n this.isRemainingItemsAdded = false;\n } else {\n totalShiftedItems += this._numScroll * dir;\n\n if (this.isRemainingItemsAdded) {\n totalShiftedItems += this.remainingItems - this._numScroll * dir;\n this.isRemainingItemsAdded = false;\n }\n\n let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;\n\n page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));\n }\n\n if (isCircular && this._page() === this.totalDots() - 1 && dir === -1 && val) {\n totalShiftedItems = -1 * (val.length + this._numVisible);\n page = 0;\n } else if (isCircular && this._page() === 0 && dir === 1) {\n totalShiftedItems = 0;\n page = this.totalDots() - 1;\n } else if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;\n this.isRemainingItemsAdded = true;\n }\n\n const itemsContainerEl = this.itemsContainer();\n\n if (itemsContainerEl) {\n if (!this.$unstyled()) {\n removeClass(itemsContainerEl.nativeElement, 'p-items-hidden');\n }\n\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n itemsContainerEl.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems.set(totalShiftedItems);\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n startAutoplay() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.interval = setInterval(() => {\n if (this.totalDots() > 0) {\n if (this._page() === this.totalDots() - 1) {\n this.step(-1, 0);\n } else {\n this.step(-1, this._page() + 1);\n }\n }\n }, this.autoplayInterval());\n this.allowAutoplay.set(true);\n }\n\n stopAutoplay(changeAllow: boolean = true) {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n\n if (changeAllow) {\n this.allowAutoplay.set(false);\n }\n }\n }\n\n isPlaying(): boolean {\n return !!this.interval;\n }\n\n onTransitionEnd() {\n const itemsContainerEl = this.itemsContainer();\n\n if (itemsContainerEl) {\n if (!this.$unstyled()) {\n addClass(itemsContainerEl.nativeElement, 'p-items-hidden');\n }\n\n itemsContainerEl.nativeElement.style.transition = '';\n\n if ((this._page() === 0 || this._page() === this.totalDots() - 1) && this.isCircular()) {\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems() * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems() * (100 / this._numVisible)}%, 0, 0)`;\n }\n }\n }\n\n onTouchStart(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n }\n\n onTouchMove(e: TouchEvent | MouseEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onTouchEnd(e: TouchEvent) {\n if (!this.startPos) return;\n\n const touchobj = e.changedTouches[0];\n\n if (this.isVertical()) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n }\n\n changePageOnTouch(e: TouchEvent | MouseEvent, diff: number) {\n if (Math.abs(diff) > this.swipeThreshold) {\n if (diff < 0) {\n this.navForward(e);\n } else {\n this.navBackward(e);\n }\n }\n }\n\n ariaPrevButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.prevPageLabel : undefined;\n }\n\n ariaSlideLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.slide : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.nextPageLabel : undefined;\n }\n\n ariaSlideNumber(value: number) {\n return this.config.translation.aria ? this.config.translation.aria?.slideNumber?.replace(/{slideNumber}/g, String(value)) : undefined;\n }\n\n ariaPageLabel(value: number) {\n return this.config.translation.aria ? this.config.translation.aria?.pageLabel?.replace(/{page}/g, String(value)) : undefined;\n }\n\n getIndicatorPTOptions(key: string, index: number) {\n return this.ptm(key, {\n context: {\n highlighted: index === this._page()\n }\n });\n }\n\n getItemPTOptions(key: string, index: number) {\n return this.ptm(key, {\n context: {\n index,\n active: this.firstIndex() <= index && this.lastIndex() >= index,\n start: this.firstIndex() === index,\n end: this.lastIndex() === index\n }\n });\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', () => {\n this.calculatePosition();\n });\n }\n }\n }\n\n unbindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n }\n\n legacyOnDestroy() {\n this.unbindDocumentListeners();\n this.stopAutoplay();\n\n if (this.carouselStyle) {\n this.carouselStyle.remove();\n this.carouselStyle = null;\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, effect, inject, input, NgModule, numberAttribute, output, signal, untracked, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { ChevronLeft as ChevronLeftIcon } from '@primeicons/angular/chevron-left';\nimport { ChevronRight as ChevronRightIcon } from '@primeicons/angular/chevron-right';\nimport { ChevronUp as ChevronUpIcon } from '@primeicons/angular/chevron-up';\nimport { CarouselStyle } from './style/carouselstyle';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselContent as CarouselContentComp } from './carousel-content';\nimport { CarouselItem } from './carousel-item';\nimport { CarouselNext } from './carousel-next';\nimport { CarouselPrev } from './carousel-prev';\nimport { CarouselIndicators } from './carousel-indicators';\nimport { CarouselIndicator } from './carousel-indicator';\nimport { CarouselLegacyBase } from './carousel-legacy';\n\n/**\n * Carousel is a content slider featuring various customization options.\n * @group Components\n */\n@Component({\n selector: 'p-carousel',\n standalone: true,\n imports: [NgTemplateOutlet, ChevronRightIcon, ButtonDirective, ChevronLeftIcon, ChevronDownIcon, ChevronUpIcon, SharedModule, BindModule],\n template: `\n @if (isCompositionMode()) {\n <ng-content></ng-content>\n } @else {\n @if (hasHeader()) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n </div>\n }\n <div [class]=\"cn(cx('contentContainer'), contentClass())\" [pBind]=\"ptm('contentContainer')\">\n <div [class]=\"cx('content')\" [attr.aria-live]=\"ariaLive()\" [pBind]=\"ptm('content')\">\n @if (showNavigators()) {\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"prevButtonProps()\"\n [text]=\"true\"\n [class]=\"cx('pcPrevButton')\"\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n data-pc-group-section=\"navigator\"\n [pButtonPT]=\"ptm('pcPrevButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n (click)=\"navBackward($event)\"\n >\n @if (showDefaultPrevIcon()) {\n @if (!isVertical()) {\n <svg data-p-icon=\"chevron-left\" />\n }\n @if (isVertical()) {\n <svg data-p-icon=\"chevron-up\" />\n }\n }\n @if (showPrevIconTemplate()) {\n <ng-template *ngTemplateOutlet=\"previousIconTemplate()\"></ng-template>\n }\n </button>\n }\n <div [class]=\"cx('viewport')\" [style]=\"viewportStyle()\" (touchend)=\"onTouchEnd($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" [pBind]=\"ptm('viewport')\">\n <div #itemsContainer [class]=\"cx('itemList')\" (transitionend)=\"onTransitionEnd()\" [pBind]=\"ptm('itemList')\">\n @for (item of clonedItemsForStarting(); track $index; let i = $index) {\n <div\n [class]=\"cx('itemClone', { index: i })\"\n [attr.aria-hidden]=\"isCloneStartAriaHidden()\"\n [attr.aria-label]=\"ariaSlideNumber(i)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n [attr.data-p-carousel-item-active]=\"isCloneStartActive()\"\n [attr.data-p-carousel-item-start]=\"i === 0\"\n [attr.data-p-carousel-item-end]=\"isCloneStartEnd(i)\"\n [pBind]=\"ptm('itemClone')\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n @for (item of value(); track $index; let i = $index) {\n <div\n [class]=\"cx('item', { index: i })\"\n role=\"group\"\n [attr.aria-hidden]=\"isItemAriaHidden(i)\"\n [attr.aria-label]=\"ariaSlideNumber(i)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n [attr.data-p-carousel-item-active]=\"isItemActive(i)\"\n [attr.data-p-carousel-item-start]=\"isItemStart(i)\"\n [attr.data-p-carousel-item-end]=\"isItemEnd(i)\"\n [pBind]=\"getItemPTOptions('item', i)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n @for (item of clonedItemsForFinishing(); track $index) {\n <div [class]=\"cx('itemClone', { index: 0 })\" [attr.data-p-carousel-item-active]=\"false\" [attr.data-p-carousel-item-start]=\"false\" [attr.data-p-carousel-item-end]=\"false\" [pBind]=\"ptm('itemClone')\">\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n </div>\n </div>\n @if (showNavigators()) {\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"nextButtonProps()\"\n [text]=\"true\"\n [class]=\"cx('pcNextButton')\"\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n data-pc-group-section=\"navigator\"\n [pButtonPT]=\"ptm('pcNextButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n (click)=\"navForward($event)\"\n >\n @if (showDefaultNextIcon()) {\n @if (!isVertical()) {\n <svg data-p-icon=\"chevron-right\" />\n }\n @if (isVertical()) {\n <svg data-p-icon=\"chevron-down\" />\n }\n }\n @if (showNextIconTemplate()) {\n <ng-template *ngTemplateOutlet=\"nextIconTemplate()\"></ng-template>\n }\n </button>\n }\n </div>\n @if (showIndicators()) {\n <ul #indicatorContent [class]=\"cx('indicatorList')\" [style]=\"indicatorsContentStyle()\" (keydown)=\"onIndicatorKeydown($event)\" [pBind]=\"ptm('indicatorList')\">\n @for (dot of totalDotsArray(); track dot) {\n <li [class]=\"cx('indicator', { index: dot })\" [attr.data-p-active]=\"isIndicatorActive(dot)\" [pBind]=\"getIndicatorPTOptions('indicator', dot)\">\n <button\n type=\"button\"\n [class]=\"cx('indicatorButton')\"\n (click)=\"onDotClick($event, dot)\"\n [style]=\"indicatorStyle()\"\n [attr.aria-label]=\"ariaPageLabel(dot + 1)\"\n [attr.aria-current]=\"getIndicatorAriaCurrent(dot)\"\n [tabindex]=\"getIndicatorTabindex(dot)\"\n [pBind]=\"getIndicatorPTOptions('indicatorButton', dot)\"\n ></button>\n </li>\n }\n </ul>\n }\n </div>\n @if (hasFooter()) {\n <div [class]=\"cx('footer')\" [pBind]=\"ptm('footer')\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: Carousel }, { provide: CAROUSEL_ROOT, useExisting: Carousel }],\n hostDirectives: [Bind],\n host: {\n '[attr.id]': 'id',\n '[attr.role]': \"'region'\",\n '[class]': 'hostClass()',\n '[attr.data-scope]': 'dataScope()',\n '[attr.data-part]': 'dataPart()',\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.data-autosize]': 'dataAutosize()'\n }\n})\nexport class Carousel extends CarouselLegacyBase {\n componentName = 'Carousel';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _compositionContent = contentChildren(CarouselContentComp, { descendants: true });\n\n isCompositionMode = computed(() => this._compositionContent().length > 0);\n\n hostClass = computed(() => (this.isCompositionMode() ? this.cx('compositionRoot') : this.cx('root')));\n\n /**\n * Alignment of the carousel items (composition mode).\n * @group Props\n * @defaultValue 'start'\n */\n align = input<'start' | 'center' | 'end'>('start');\n\n /**\n * Alias for orientation used by composition mode host bindings.\n * Delegates to the existing `orientation` input.\n */\n compositionOrientation = computed(() => this.orientation());\n\n /**\n * Alias for align used by composition mode host bindings.\n * Delegates to the `align` input.\n */\n compositionAlign = computed(() => this.align());\n\n /**\n * Whether the carousel should loop (composition mode).\n * @group Props\n * @defaultValue false\n */\n loop = input(false, { transform: booleanAttribute });\n\n /**\n * Scroll snap type applied to the track (composition mode).\n * @group Props\n * @defaultValue 'mandatory'\n */\n snapType = input<'mandatory' | 'proximity'>('mandatory');\n\n /**\n * Spacing between carousel items in pixels (composition mode).\n * @group Props\n * @defaultValue 16\n */\n spacing = input(16, { transform: numberAttribute });\n\n /**\n * Whether the carousel should auto size items (composition mode).\n * @group Props\n * @defaultValue false\n */\n autoSize = input(false, { transform: booleanAttribute });\n\n /**\n * Alias for autoSize used by composition mode host bindings.\n */\n compositionAutoSize = computed(() => this.autoSize());\n\n // Host data attributes (composition mode only)\n dataScope = computed(() => (this.isCompositionMode() ? 'carousel' : null));\n dataPart = computed(() => (this.isCompositionMode() ? 'root' : null));\n dataOrientation = computed(() => (this.isCompositionMode() ? this.compositionOrientation() : null));\n dataAlign = computed(() => (this.isCompositionMode() ? this.compositionAlign() : null));\n dataPage = computed(() => (this.isCompositionMode() ? this.pageState() : null));\n dataSwiping = computed(() => (this.isCompositionMode() && this.swiping() ? '' : null));\n dataAutosize = computed(() => (this.isCompositionMode() && this.compositionAutoSize() ? '' : null));\n\n /**\n * How many slides are visible per page (composition mode). Supports fractions (e.g. 1.5).\n * @group Props\n * @defaultValue 1\n */\n slidesPerPage = input(1, { transform: numberAttribute });\n\n /**\n * Index of the active slide (composition mode).\n * @group Props\n */\n slide = input<number | undefined>(undefined);\n\n /**\n * Callback fired when the carousel's page changes (composition mode).\n * @group Emits\n */\n onPageChange = output<{ value: number }>();\n\n /**\n * Callback fired when the active slide changes (composition mode).\n * @group Emits\n */\n onSlideChange = output<{ value: number }>();\n\n swiping = signal(false);\n isNextDisabled = signal(false);\n isPrevDisabled = signal(false);\n snapPoints = signal<Set<number>>(new Set());\n pageState = signal(0);\n contentEl = signal<HTMLElement | null>(null);\n\n private _snapPointsRef = new Set<number>();\n private _scrollSnapsRef: number[] = [];\n private _initialPageApplied = false;\n private _initialControlledScroll = false;\n\n private _resizeObserver: ResizeObserver | null = null;\n private _mutationObserver: MutationObserver | null = null;\n private _intersectionObserver: IntersectionObserver | null = null;\n private _scrollTimeout: ReturnType<typeof setTimeout> | null = null;\n private _wheelTimeout: ReturnType<typeof setTimeout> | null = null;\n private _scrollListener: (() => void) | null = null;\n private _destroyed = false;\n\n private _swipeStartPoint = { x: 0, y: 0 };\n private _isRealSwipe = false;\n private _itemSelector = '[data-item]';\n\n private _areSetsEqual<T>(a: Set<T>, b: Set<T>): boolean {\n if (a.size !== b.size) return false;\n\n for (const value of a) {\n if (!b.has(value)) return false;\n }\n\n return true;\n }\n\n constructor() {\n super();\n\n // Composition mode: watch slide input changes\n effect(() => {\n const slideVal = this.slide();\n\n if (slideVal === undefined || slideVal === null) return;\n\n if (!this.isCompositionMode()) return;\n\n untracked(() => {\n if (this._snapPointsRef.size > 0) {\n this.scrollToSlide(slideVal);\n }\n });\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n\n onAfterContentInit() {\n this.legacyOnAfterContentInit();\n }\n\n onAfterContentChecked() {\n this.legacyOnAfterContentChecked();\n }\n\n onDestroy() {\n this._destroyed = true;\n this.legacyOnDestroy();\n\n // Composition mode cleanup\n this._resizeObserver?.disconnect();\n this._mutationObserver?.disconnect();\n this._intersectionObserver?.disconnect();\n this._scrollListener?.();\n if (this._scrollTimeout) clearTimeout(this._scrollTimeout);\n\n if (this._wheelTimeout) clearTimeout(this._wheelTimeout);\n }\n\n resolveSnapType(): string {\n const axis = this.orientation() === 'vertical' ? 'y' : 'x';\n\n return `${axis} ${this.snapType()}`;\n }\n\n setupObservers() {\n const content = this.contentEl();\n\n if (!content) return;\n\n // ResizeObserver\n this._resizeObserver = new ResizeObserver(() => {\n this.computeSnapPoints();\n const closest = this.setToClosest();\n\n this.scrollToPage(closest ?? this.pageState(), true);\n });\n this._resizeObserver.observe(content);\n this._observeResizeItems(content);\n\n // Delay initial computation to ensure items have their data-item attributes\n requestAnimationFrame(() => {\n this.computeSnapPoints();\n this._observeResizeItems(content);\n this._observeIntersectionItems(content);\n this._applyInitialPage();\n this._applyControlledPage();\n this._applyControlledSlide();\n });\n\n // MutationObserver\n this._mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach(() => {\n this.computeSnapPoints();\n this._observeResizeItems(content);\n this._observeIntersectionItems(content);\n requestAnimationFrame(() => {\n const closest = this.setToClosest();\n\n this.scrollToPage(closest ?? this.pageState(), true);\n });\n });\n });\n this._mutationObserver.observe(content, { childList: true, subtree: true });\n\n // IntersectionObserver\n this._intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) entry.target.setAttribute('data-inview', '');\n else entry.target.removeAttribute('data-inview');\n });\n },\n { root: content, threshold: 0.6 }\n );\n this._observeIntersectionItems(content);\n\n // Scroll listener\n const onScroll = () => {\n if (this._scrollTimeout) clearTimeout(this._scrollTimeout);\n\n this._scrollTimeout = setTimeout(() => {\n this.setToClosest();\n }, 80);\n };\n\n onScroll();\n content.addEventListener('scroll', onScroll, { passive: true });\n this._scrollListener = () => content.removeEventListener('scroll', onScroll);\n }\n\n private _applyInitialPage() {\n if (this._initialPageApplied) return;\n\n const slideInput = this.slide();\n\n if (slideInput !== undefined && slideInput !== null) return;\n\n const size = this._snapPointsRef.size || this.snapPoints().size;\n\n if (size === 0) return;\n\n this._initialPageApplied = true;\n this.scrollToPage(0, true);\n }\n\n private _applyControlledPage() {\n const pageInput = this.page();\n const slideInput = this.slide();\n\n if (pageInput === undefined || pageInput === null) return;\n\n if (slideInput !== undefined && slideInput !== null) return;\n\n if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0) return;\n\n const instant = !this._initialControlledScroll;\n\n this._initialControlledScroll = true;\n this.scrollToPage(pageInput, instant);\n }\n\n private _applyControlledSlide() {\n const slideInput = this.slide();\n\n if (slideInput === undefined || slideInput === null) return;\n\n if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0) return;\n\n const instant = !this._initialControlledScroll;\n\n this._initialControlledScroll = true;\n this.scrollToSlide(slideInput, instant);\n }\n\n private _observeResizeItems(content: HTMLElement) {\n if (!this._resizeObserver) return;\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => this._resizeObserver!.observe(item));\n }\n\n private _observeIntersectionItems(content: HTMLElement) {\n if (!this._intersectionObserver) return;\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => this._intersectionObserver!.observe(item));\n }\n\n computeSnapPoints() {\n const content = this.contentEl();\n\n if (!content) return;\n\n const isHorizontal = this.orientation() !== 'vertical';\n const trackSize = isHorizontal ? content.clientWidth : content.clientHeight;\n const maxOffset = Math.max(0, isHorizontal ? content.scrollWidth - trackSize : content.scrollHeight - trackSize);\n const snaps: number[] = [];\n const alignValue = this.align();\n\n this._scrollSnapsRef = [];\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => {\n const offset = isHorizontal ? item.offsetLeft : item.offsetTop;\n const size = isHorizontal ? item.clientWidth : item.clientHeight;\n\n let snapPoint = offset;\n\n if (alignValue === 'center') {\n snapPoint = offset - (trackSize - size) / 2;\n } else if (alignValue === 'end') {\n snapPoint = offset - (trackSize - size);\n }\n\n const clamped = Math.max(0, Math.min(snapPoint, maxOffset));\n\n this._scrollSnapsRef.push(clamped);\n snaps.push(clamped);\n });\n\n const newSnapPoints = new Set(snaps.map(Number));\n\n if (this._areSetsEqual(this._snapPointsRef, newSnapPoints)) return;\n\n this._snapPointsRef = newSnapPoints;\n this.snapPoints.set(newSnapPoints);\n }\n\n setPage(page: number) {\n if (this._destroyed) return;\n\n if (!this.loop()) {\n const size = this._snapPointsRef.size || this.snapPoints().size;\n\n this.isPrevDisabled.set(page === 0);\n this.isNextDisabled.set(page === size - 1);\n }\n\n this.pageState.set(page);\n this.onPageChange.emit({ value: page });\n this.onSlideChange.emit({ value: page });\n }\n\n setToClosest(): number | undefined {\n const content = this.contentEl();\n const points = this._snapPointsRef;\n\n if (!content || points.size === 0) return undefined;\n\n const scrollPos = this.orientation() === 'horizontal' ? content.scrollLeft : content.scrollTop;\n const closestSnapPoint = Array.from(points).reduce((closest, point) => (Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest), Infinity);\n\n const index = Array.from(points).indexOf(closestSnapPoint);\n\n this.setPage(index);\n\n return index;\n }\n\n scrollToPage(pageNum?: number, instant = false) {\n const points = this._snapPointsRef;\n\n if (points.size === 0) return;\n\n const target = pageNum ?? this.pageState();\n const clampedPage = this.loop() ? (target + points.size) % points.size : Math.max(0, Math.min(target, points.size - 1));\n\n this.setPage(clampedPage);\n this.scrollTo(Array.from(points)[clampedPage], instant);\n }\n\n next() {\n this.scrollToPage(this.pageState() + 1);\n }\n\n prev() {\n this.scrollToPage(this.pageState() - 1);\n }\n\n scrollTo(snapPoint: number, instant = false) {\n const content = this.contentEl();\n\n if (!content) return;\n\n content.scrollTo({\n [this.orientation() === 'horizontal' ? 'left' : 'top']: snapPoint,\n behavior: instant ? 'instant' : 'smooth'\n });\n }\n\n scrollToSlide(slideNum: number, instant = false) {\n const points = this._snapPointsRef;\n const snaps = this._scrollSnapsRef;\n\n if (points.size === 0 || snaps.length === 0) return;\n\n const clampedSlide = Math.max(0, Math.min(slideNum, snaps.length - 1));\n const snap = snaps[clampedSlide];\n\n this.scrollTo(snap, instant);\n const pageIdx = Array.from(points).indexOf(snap);\n\n this.setPage(pageIdx);\n }\n\n setContentEl(el: HTMLElement) {\n this.contentEl.set(el);\n }\n\n // Pointer event handlers (called by CarouselContent)\n onContentPointerDown(e: PointerEvent) {\n if (e.button !== 0) return;\n\n if (e.pointerType === 'touch') return;\n\n this.swiping.set(true);\n this._swipeStartPoint = { x: e.clientX, y: e.clientY };\n this._isRealSwipe = false;\n }\n\n onContentPointerMove(e: PointerEvent) {\n const content = this.contentEl();\n\n if (!this.swiping() || !content || e.pointerType === 'touch') return;\n\n const deltaX = e.clientX - this._swipeStartPoint.x;\n const deltaY = e.clientY - this._swipeStartPoint.y;\n const distance = Math.abs(deltaX) + Math.abs(deltaY);\n\n if (distance < 6) return;\n\n if ((window.getSelection()?.toString().length ?? 0) > 0) return;\n\n (e.currentTarget as HTMLElement).setPointerCapture(e.pointerId);\n content.style.userSelect = 'none';\n this._isRealSwipe = true;\n content.style.scrollSnapType = 'none';\n content.scrollBy({ left: -e.movementX, top: -e.movementY, behavior: 'instant' });\n e.preventDefault();\n }\n\n onContentPointerUp(e: PointerEvent) {\n this.swiping.set(false);\n (e.currentTarget as HTMLElement).releasePointerCapture(e.pointerId);\n if (!this._isRealSwipe) return;\n\n const content = this.contentEl();\n\n if (!content) return;\n\n content.style.userSelect = '';\n const scrollPos = this.orientation() === 'horizontal' ? content.scrollLeft : content.scrollTop;\n const snapPointsSet = this._snapPointsRef;\n const closestSnapPoint = Array.from(snapPointsSet).reduce((closest, point) => (Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest), Infinity);\n const index = Array.from(snapPointsSet).indexOf(closestSnapPoint);\n\n requestAnimationFrame(() => {\n if (closestSnapPoint !== undefined) this.scrollToPage(index);\n\n requestAnimationFrame(() => {\n content.style.scrollSnapType = this.resolveSnapType();\n });\n });\n }\n\n onContentWheel(e: WheelEvent) {\n if (this._wheelTimeout) clearTimeout(this._wheelTimeout);\n\n this._wheelTimeout = setTimeout(() => {\n const primaryDelta = this.orientation() === 'horizontal' ? e.deltaX || e.deltaY : e.deltaY || e.deltaX;\n\n if (primaryDelta > 0 && this.isNextDisabled()) return;\n\n if (primaryDelta < 0 && this.isPrevDisabled()) return;\n\n this.setToClosest();\n }, 80);\n }\n}\n\n@NgModule({\n imports: [Carousel, CarouselContentComp, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule],\n exports: [Carousel, CarouselContentComp, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule]\n})\nexport class CarouselModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-cascadeselect.mjs","names":["AngleRightIcon","i1","ChevronDownIcon","TimesIcon"],"sources":["../../src/cascadeselect/cascadeselect-token.ts","../../src/cascadeselect/style/cascadeselectstyle.ts","../../src/cascadeselect/cascadeselect-sub.ts","../../src/cascadeselect/cascadeselect.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const CASCADESELECT_INSTANCE = new InjectionToken<any>('CASCADESELECT_INSTANCE');\n","import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/cascadeselect';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-cascadeselect p-component p-inputwrapper',\n {\n 'p-cascadeselect-mobile': instance.queryMatches(),\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-focus': instance.focused(),\n 'p-inputwrapper-filled': instance.modelValue(),\n 'p-inputwrapper-focus': instance.focused() || instance.overlayVisible(),\n 'p-cascadeselect-open': instance.overlayVisible(),\n 'p-cascadeselect-fluid': instance.hasFluid,\n 'p-cascadeselect-sm p-inputfield-sm': instance.size() === 'small',\n 'p-cascadeselect-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n label: ({ instance }) => [\n 'p-cascadeselect-label',\n {\n 'p-placeholder': instance.label() === instance.placeholder(),\n 'p-cascadeselect-label-empty': !instance.value() && (instance.label() === 'p-emptylabel' || instance.label().length === 0)\n }\n ],\n clearIcon: 'p-cascadeselect-clear-icon',\n dropdown: 'p-cascadeselect-dropdown',\n loadingIcon: 'p-cascadeselect-loading-icon',\n dropdownIcon: 'p-cascadeselect-dropdown-icon',\n overlay: ({ instance }) => [\n 'p-cascadeselect-overlay p-component-overlay p-component',\n {\n 'p-cascadeselect-mobile-active': instance.queryMatches()\n }\n ],\n listContainer: 'p-cascadeselect-list-container',\n list: 'p-cascadeselect-list',\n option: ({ instance, processedOption }) => [\n 'p-cascadeselect-option',\n {\n 'p-cascadeselect-option-active': instance.isOptionActive(processedOption),\n 'p-cascadeselect-option-selected': instance.isOptionSelected(processedOption),\n 'p-focus': instance.isOptionFocused(processedOption),\n 'p-disabled': instance.isOptionDisabled(processedOption)\n }\n ],\n optionContent: 'p-cascadeselect-option-content',\n optionText: 'p-cascadeselect-option-text',\n groupIcon: 'p-cascadeselect-group-icon',\n optionList: 'p-cascadeselect-list p-cascadeselect-overlay p-cascadeselect-option-list'\n};\n\n@Injectable()\nexport class CascadeSelectStyle extends BaseStyle {\n name = 'cascadeselect';\n\n style = style;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * CascadeSelect is a form component to select a value from a nested structure of options.\n *\n * [Live Demo](https://www.primeng.org/cascadeselect/)\n *\n * @module cascadeselectstyle\n *\n */\nexport enum CascadeSelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-cascadeselect',\n /**\n * Class name of the label element\n */\n label = 'p-cascadeselect-label',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-cascadeselect-dropdown',\n /**\n * Class name of the loading icon element\n */\n loadingIcon = 'p-cascadeselect-loading-icon',\n /**\n * Class name of the dropdown icon element\n */\n clearIcon = 'p-cascadeselect-clear-icon',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-cascadeselect-dropdown-icon',\n /**\n * Class name of the overlay element\n */\n overlay = 'p-cascadeselect-overlay',\n /**\n * Class name of the list container element\n */\n listContainer = 'p-cascadeselect-list-container',\n /**\n * Class name of the list element\n */\n list = 'p-cascadeselect-list',\n /**\n * Class name of the item element\n */\n item = 'p-cascadeselect-item',\n /**\n * Class name of the item content element\n */\n itemContent = 'p-cascadeselect-item-content',\n /**\n * Class name of the item text element\n */\n itemText = 'p-cascadeselect-item-text',\n /**\n * Class name of the group icon element\n */\n groupIcon = 'p-cascadeselect-group-icon',\n /**\n * Class name of the item list element\n */\n itemList = 'p-cascadeselect-item-list'\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, effect, inject, input, numberAttribute, output, signal, TemplateRef, untracked, ViewEncapsulation } from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { equals, isNotEmpty, nestedPosition, resolveFieldData } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { AngleRight as AngleRightIcon } from '@primeicons/angular/angle-right';\nimport { MotionModule } from 'primeng/motion';\nimport { Ripple } from 'primeng/ripple';\nimport type { CascadeSelectOptionTemplateContext, CascadeSelectProcessedOption, CascadeSelectSubChangeEvent, CascadeSelectSubFocusChangeEvent } from 'primeng/types/cascadeselect';\nimport type { CascadeSelect } from './cascadeselect';\nimport { CASCADESELECT_INSTANCE } from './cascadeselect-token';\nimport { CascadeSelectStyle } from './style/cascadeselectstyle';\n\n@Component({\n selector: 'ul[pCascadeSelectSub]',\n standalone: true,\n imports: [NgTemplateOutlet, Ripple, AngleRightIcon, SharedModule, Bind, MotionModule],\n template: `\n @for (processedOption of options(); track processedOption.key; let i = $index) {\n <li\n [class]=\"cx('option', { processedOption })\"\n role=\"treeitem\"\n [attr.aria-level]=\"level() + 1\"\n [attr.aria-setsize]=\"options()?.length\"\n [pBind]=\"getPTOptions(processedOption, i, 'option')\"\n [id]=\"getOptionId(processedOption)\"\n [attr.aria-label]=\"getOptionLabelToRender(processedOption)\"\n [attr.aria-selected]=\"getAriaSelected(processedOption)\"\n [attr.aria-posinset]=\"i + 1\"\n >\n <div\n [class]=\"cx('optionContent')\"\n (click)=\"onOptionClick($event, processedOption)\"\n (mouseenter)=\"onOptionMouseEnter($event, processedOption)\"\n (mousemove)=\"onOptionMouseMove($event, processedOption)\"\n pRipple\n [pBind]=\"getPTOptions(processedOption, i, 'optionContent')\"\n >\n @if (optionTemplate()) {\n <ng-container *ngTemplateOutlet=\"optionTemplate(); context: getOptionTemplateContext(processedOption)\"></ng-container>\n } @else {\n <span [class]=\"cx('optionText')\" [pBind]=\"getPTOptions(processedOption, i, 'optionText')\">{{ getOptionLabelToRender(processedOption) }}</span>\n }\n @if (isOptionGroup(processedOption)) {\n <span [class]=\"cx('groupIcon')\" [pBind]=\"getPTOptions(processedOption, i, 'groupIcon')\">\n @if (!groupicon()) {\n <svg data-p-icon=\"angle-right\" [pBind]=\"getPTOptions(processedOption, i, 'groupIcon')\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"groupicon()\"></ng-container>\n }\n </span>\n }\n </div>\n @if (shouldRenderSubList(processedOption)) {\n <ul\n pCascadeSelectSub\n [attr.role]=\"'group'\"\n [class]=\"cx('optionList')\"\n [selectId]=\"selectId()\"\n [focusedOptionId]=\"focusedOptionId()\"\n [activeOptionPath]=\"activeOptionPath()\"\n [options]=\"getOptionGroupChildren(processedOption)\"\n [optionLabel]=\"optionLabel()\"\n [optionValue]=\"optionValue()\"\n [level]=\"level() + 1\"\n [pMotion]=\"isOptionActive(processedOption)\"\n [pMotionDisabled]=\"cascadeselect.queryMatches()\"\n [pMotionName]=\"'p-anchored-overlay'\"\n [pMotionAppear]=\"true\"\n [pMotionOptions]=\"motionOptions()\"\n (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n (pMotionOnAfterLeave)=\"onNestedAfterLeave(processedOption)\"\n (onChange)=\"onChange.emit($event)\"\n (onFocusChange)=\"onFocusChange.emit($event)\"\n (onFocusEnterChange)=\"onFocusEnterChange.emit($event)\"\n [optionGroupLabel]=\"optionGroupLabel()\"\n [optionGroupChildren]=\"optionGroupChildren()\"\n [dirty]=\"dirty()\"\n [optionTemplate]=\"optionTemplate()\"\n [motionOptions]=\"motionOptions()\"\n [pBind]=\"ptm('optionList')\"\n [pt]=\"pt\"\n [unstyled]=\"unstyled()\"\n ></ul>\n }\n </li>\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CascadeSelectStyle, { provide: PARENT_INSTANCE, useExisting: CascadeSelectSub }]\n})\nexport class CascadeSelectSub extends BaseComponent {\n selectId = input<string>();\n\n activeOptionPath = input<CascadeSelectProcessedOption[]>();\n\n optionDisabled = input<string | ((item: any) => boolean)>();\n\n focusedOptionId = input<string>();\n\n options = input<CascadeSelectProcessedOption[]>();\n\n optionGroupChildren = input<string[] | string | null>();\n\n optionTemplate = input<TemplateRef<CascadeSelectOptionTemplateContext>>();\n\n groupicon = input<TemplateRef<void>>();\n\n level = input(0, { transform: numberAttribute });\n\n optionLabel = input<string>();\n\n optionValue = input<string>();\n\n optionGroupLabel = input<string>();\n\n dirty = input(false, { transform: booleanAttribute });\n\n root = input(false, { transform: booleanAttribute });\n\n motionOptions = input<MotionOptions>();\n\n renderedKeys = signal<Set<string>>(new Set());\n\n onChange = output<CascadeSelectSubChangeEvent>();\n\n onFocusChange = output<CascadeSelectSubFocusChangeEvent>();\n\n onFocusEnterChange = output<CascadeSelectSubFocusChangeEvent>();\n\n _componentStyle = inject(CascadeSelectStyle);\n\n cascadeselect = inject<CascadeSelect>(CASCADESELECT_INSTANCE);\n\n constructor() {\n super();\n effect(() => {\n const activeKeys = (this.options() ?? []).filter((option) => this.isOptionGroup(option) && this.isOptionActive(option)).map((option) => option.key);\n\n if (!activeKeys.length) {\n return;\n }\n\n const current = untracked(this.renderedKeys);\n const added = activeKeys.filter((key) => !current.has(key));\n\n if (added.length) {\n this.renderedKeys.set(new Set([...current, ...added]));\n }\n });\n }\n\n getPTOptions(processedOption: CascadeSelectProcessedOption, index: number, key: string) {\n return this.ptm(key, {\n context: {\n option: processedOption,\n index,\n level: this.level(),\n optionGroup: this.isOptionGroup(processedOption),\n active: this.isOptionActive(processedOption),\n focused: this.isOptionFocused(processedOption),\n disabled: this.isOptionDisabled(processedOption)\n }\n });\n }\n\n onBeforeEnter(event: MotionEvent) {\n this.positionSubList(event.element as HTMLElement);\n }\n\n onNestedAfterLeave(processedOption: CascadeSelectProcessedOption) {\n if (!this.isOptionActive(processedOption)) {\n const next = new Set(this.renderedKeys());\n\n next.delete(processedOption.key);\n this.renderedKeys.set(next);\n }\n }\n\n onOptionClick(event: Event, processedOption: CascadeSelectProcessedOption) {\n this.onChange.emit({\n originalEvent: event,\n processedOption,\n isFocus: true\n });\n }\n\n onOptionMouseEnter(event: MouseEvent, processedOption: CascadeSelectProcessedOption) {\n this.onFocusEnterChange.emit({ originalEvent: event, processedOption });\n }\n\n onOptionMouseMove(event: MouseEvent, processedOption: CascadeSelectProcessedOption) {\n this.onFocusChange.emit({ originalEvent: event, processedOption });\n }\n\n getOptionId(processedOption: CascadeSelectProcessedOption) {\n return `${this.selectId()}_${processedOption.key}`;\n }\n\n getOptionLabel(processedOption: CascadeSelectProcessedOption) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(processedOption.option, optionLabel) : processedOption.option;\n }\n\n getOptionValue(processedOption: CascadeSelectProcessedOption) {\n const optionValue = this.optionValue();\n\n return optionValue ? resolveFieldData(processedOption.option, optionValue) : processedOption.option;\n }\n\n getOptionLabelToRender(processedOption: CascadeSelectProcessedOption) {\n return this.isOptionGroup(processedOption) ? this.getOptionGroupLabel(processedOption) : this.getOptionLabel(processedOption);\n }\n\n isOptionDisabled(processedOption: CascadeSelectProcessedOption) {\n const optionDisabled = this.optionDisabled();\n\n return optionDisabled ? resolveFieldData(processedOption.option, optionDisabled) : false;\n }\n\n getOptionGroupLabel(processedOption: CascadeSelectProcessedOption) {\n const optionGroupLabel = this.optionGroupLabel();\n\n return optionGroupLabel ? resolveFieldData(processedOption.option, optionGroupLabel) : null;\n }\n\n getOptionGroupChildren(processedOption: CascadeSelectProcessedOption) {\n return processedOption.children;\n }\n\n isOptionGroup(processedOption: CascadeSelectProcessedOption) {\n return isNotEmpty(processedOption.children);\n }\n\n isOptionSelected(processedOption: CascadeSelectProcessedOption) {\n return equals(this.cascadeselect?.modelValue(), processedOption?.option);\n }\n\n isOptionActive(processedOption: CascadeSelectProcessedOption) {\n return this.activeOptionPath()?.some((path) => path.key === processedOption.key);\n }\n\n isOptionFocused(processedOption: CascadeSelectProcessedOption) {\n return this.focusedOptionId() === this.getOptionId(processedOption);\n }\n\n shouldRenderSubList(processedOption: CascadeSelectProcessedOption) {\n return this.isOptionGroup(processedOption) && (this.isOptionActive(processedOption) || this.renderedKeys().has(processedOption.key));\n }\n\n getAriaSelected(processedOption: CascadeSelectProcessedOption) {\n return this.isOptionGroup(processedOption) ? undefined : this.isOptionSelected(processedOption);\n }\n\n getOptionTemplateContext(processedOption: CascadeSelectProcessedOption) {\n return { $implicit: processedOption?.option, level: this.level() };\n }\n\n positionSubList(sublist: HTMLElement) {\n if (isPlatformBrowser(this.platformId) && sublist) {\n nestedPosition(sublist, this.level() + 1);\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n NgModule,\n numberAttribute,\n output,\n Provider,\n signal,\n TemplateRef,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MotionOptions } from '@primeuix/motion';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from '@primeuix/utils';\nimport { OverlayOptions, OverlayService, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind } from 'primeng/bind';\nimport { Fluid } from 'primeng/fluid';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { Overlay } from 'primeng/overlay';\nimport type { AppendTo, CSSProperties, InputSize, InputVariant } from 'primeng/types/shared';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport type {\n CascadeSelectBeforeHideEvent,\n CascadeSelectBeforeShowEvent,\n CascadeSelectChangeEvent,\n CascadeSelectFocusedOptionInfo,\n CascadeSelectOptionChangeEvent,\n CascadeSelectOptionClickEvent,\n CascadeSelectOptionMouseEvent,\n CascadeSelectOptionTemplateContext,\n CascadeSelectPassThrough,\n CascadeSelectProcessedOption,\n CascadeSelectShowEvent,\n CascadeSelectValueTemplateContext\n} from 'primeng/types/cascadeselect';\nimport { CascadeSelectSub } from './cascadeselect-sub';\nimport { CASCADESELECT_INSTANCE } from './cascadeselect-token';\nimport { CascadeSelectStyle } from './style/cascadeselectstyle';\n\nexport const CASCADESELECT_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CascadeSelect),\n multi: true\n};\n\n/**\n * CascadeSelect is a form component to select a value from a nested structure of options.\n * @group Components\n */\n@Component({\n selector: 'p-cascadeselect, p-cascade-select',\n standalone: true,\n imports: [NgTemplateOutlet, Overlay, AutoFocus, CascadeSelectSub, ChevronDownIcon, TimesIcon, SharedModule, Bind],\n template: `\n <div class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenInputWrapper')\">\n <input\n #focusInput\n readonly\n type=\"text\"\n role=\"combobox\"\n [attr.name]=\"name()\"\n [attr.required]=\"requiredAttr()\"\n [attr.disabled]=\"disabledAttr()\"\n [attr.placeholder]=\"placeholder()\"\n [attr.tabindex]=\"$tabindex()\"\n [attr.id]=\"inputId()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-haspopup]=\"'tree'\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.aria-activedescendant]=\"ariaActiveDescendant()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n [pAutoFocus]=\"autofocus()\"\n [pBind]=\"ptm('hiddenInput')\"\n />\n </div>\n <span [class]=\"cx('label')\" [pBind]=\"ptm('label')\">\n @if (valueTemplate()) {\n <ng-container *ngTemplateOutlet=\"valueTemplate(); context: valueTemplateContext()\"></ng-container>\n } @else {\n {{ label() }}\n }\n </span>\n\n @if (showClearIcon()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [pBind]=\"ptm('clearIcon')\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\" />\n } @else {\n <span [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [pBind]=\"ptm('clearIcon')\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\">\n <ng-container *ngTemplateOutlet=\"clearIconTemplate()\"></ng-container>\n </span>\n }\n }\n\n <div [class]=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"ariaExpanded()\" [pBind]=\"ptm('dropdown')\" [attr.aria-hidden]=\"true\">\n @if (loading()) {\n @if (loadingIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate()\"></ng-container>\n } @else {\n <span [class]=\"loadingIconClass()\" aria-hidden=\"true\" [pBind]=\"ptm('loadingIcon')\"></span>\n }\n } @else {\n @if (!triggerIconTemplate()) {\n <svg data-p-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\" />\n } @else {\n <span [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\">\n <ng-container *ngTemplateOutlet=\"triggerIconTemplate()\"></ng-container>\n </span>\n }\n }\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" [pBind]=\"ptm('hiddenSearchResult')\">\n {{ searchResultMessageText }}\n </span>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onAfterLeave)=\"onOverlayAfterLeave()\"\n (onBeforeShow)=\"onBeforeShow.emit($event)\"\n (onShow)=\"show($event)\"\n (onBeforeHide)=\"onBeforeHide.emit($event)\"\n (onHide)=\"hide($event)\"\n >\n <ng-template #content>\n <div #panel [class]=\"cn(cx('overlay'), panelStyleClass())\" [style]=\"panelStyle()\" [pBind]=\"ptm('overlay')\">\n @if (headerTemplate()) {\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n }\n <div [class]=\"cx('listContainer')\" [pBind]=\"ptm('listContainer')\">\n <ul\n pCascadeSelectSub\n [class]=\"cx('list')\"\n [options]=\"processedOptions\"\n [selectId]=\"$id()\"\n [focusedOptionId]=\"focusedOptionIdValue()\"\n [activeOptionPath]=\"activeOptionPath()\"\n [optionLabel]=\"optionLabel()\"\n [optionValue]=\"optionValue()\"\n [level]=\"0\"\n [optionTemplate]=\"optionTemplate()\"\n [groupicon]=\"groupIconTemplate()\"\n [optionGroupLabel]=\"optionGroupLabel()\"\n [optionGroupChildren]=\"optionGroupChildren()\"\n [optionDisabled]=\"optionDisabled()\"\n [root]=\"true\"\n [motionOptions]=\"motionOptions()\"\n (onChange)=\"onOptionClick($event)\"\n (onFocusChange)=\"onOptionMouseMove($event)\"\n (onFocusEnterChange)=\"onOptionMouseEnter($event)\"\n [dirty]=\"dirty()\"\n [attr.role]=\"'tree'\"\n [attr.aria-orientation]=\"'horizontal'\"\n [pBind]=\"ptm('list')\"\n [attr.aria-label]=\"listLabel\"\n [pt]=\"pt\"\n [unstyled]=\"unstyled()\"\n ></ul>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" [pBind]=\"ptm('selectedMessageText')\">\n {{ selectedMessageText }}\n </span>\n @if (footerTemplate()) {\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n }\n </div>\n </ng-template>\n </p-overlay>\n `,\n providers: [CASCADESELECT_VALUE_ACCESSOR, CascadeSelectStyle, { provide: PARENT_INSTANCE, useExisting: CascadeSelect }, { provide: CASCADESELECT_INSTANCE, useExisting: CascadeSelect }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[style]': \"sx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class CascadeSelect extends BaseEditableHolder<CascadeSelectPassThrough> {\n componentName = 'CascadeSelect';\n\n $pcCascadeSelect: CascadeSelect | undefined = inject(CASCADESELECT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n private _internalId = uuid('pn_id_');\n\n /**\n * Unique identifier of the component\n * @group Props\n */\n id = input<string>();\n\n $id = computed(() => this.id() || this._internalId);\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n searchMessage = input<string>();\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n emptyMessage = input<string>();\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n selectionMessage = input<string>();\n /**\n * Text to display when filtering does not return any results. Defaults to value from PrimeNG locale configuration.\n * @group Props\n * @defaultValue 'No available options'\n */\n emptySearchMessage = input<string>();\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n emptySelectionMessage = input<string>();\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n searchLocale = input<string>();\n /**\n * Name of the disabled field of an option or function to determine disabled state.\n * @group Props\n */\n optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n focusOnHover = input(true, { transform: booleanAttribute });\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n selectOnFocus = input(false, { transform: booleanAttribute });\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n autoOptionFocus = input(false, { transform: booleanAttribute });\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n options = input<any[]>();\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n optionLabel = input<string>();\n /**\n * Property name or getter function to use as the value of an option, defaults to the option itself when not defined.\n * @group Props\n */\n optionValue = input<string>();\n /**\n * Property name or getter function to use as the label of an option group.\n * @group Props\n */\n optionGroupLabel = input<string>();\n /**\n * Property name or getter function to retrieve the items of a group.\n * @group Props\n */\n optionGroupChildren = input<string[] | string | null>();\n /**\n * Default text to display when no option is selected.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * Selected value of the component.\n * @group Props\n */\n value = signal<unknown>(undefined);\n /**\n * A property to uniquely identify an option.\n * @group Props\n */\n dataKey = input<string>();\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n inputId = input<string>();\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Label of the input for accessibility.\n * @group Props\n */\n inputLabel = input<string>();\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(false, { transform: booleanAttribute });\n /**\n * Style class of the overlay panel.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * Inline style of the overlay panel.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(false, { transform: booleanAttribute });\n /**\n * Whether the dropdown is in loading state.\n * @group Props\n */\n loading = input(false, { transform: booleanAttribute });\n /**\n * Icon to display in loading state.\n * @group Props\n */\n loadingIcon = input<string>();\n /**\n * The breakpoint to define the maximum width boundary.\n * @group Props\n */\n breakpoint = input('960px');\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<InputSize>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<InputVariant>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n /**\n * Callback to invoke on value change.\n * @param {CascadeSelectChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = output<CascadeSelectChangeEvent>();\n /**\n * Callback to invoke when a group changes.\n * @group Emits\n */\n onGroupChange = output<{ originalEvent: Event; value?: unknown; isFocus?: boolean }>();\n /**\n * Callback to invoke when the overlay is shown.\n * @param {CascadeSelectShowEvent} event - Custom overlay show event.\n * @group Emits\n */\n onShow = output<CascadeSelectShowEvent | undefined>();\n /**\n * Callback to invoke when the overlay is hidden.\n * @group Emits\n */\n onHide = output<any>();\n /**\n * Callback to invoke when the clear token is clicked.\n * @group Emits\n */\n onClear = output<MouseEvent | undefined>();\n /**\n * Callback to invoke before overlay is shown.\n * @param {CascadeSelectBeforeShowEvent} event - Custom overlay show event.\n * @group Emits\n */\n onBeforeShow = output<CascadeSelectBeforeShowEvent>();\n /**\n * Callback to invoke before overlay is hidden.\n * @param {CascadeSelectBeforeHideEvent} event - Custom overlay hide event.\n * @group Emits\n */\n onBeforeHide = output<CascadeSelectBeforeHideEvent>();\n /**\n * Callback to invoke when input receives focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n onFocus = output<FocusEvent>();\n /**\n * Callback to invoke when input loses focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n onBlur = output<FocusEvent>();\n\n focusInputViewChild = viewChild<ElementRef>('focusInput');\n\n panelViewChild = viewChild<ElementRef>('panel');\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n /**\n * Custom value template.\n * @group Templates\n */\n valueTemplate = contentChild<TemplateRef<CascadeSelectValueTemplateContext>>('value', { descendants: false });\n\n /**\n * Custom option template.\n * @group Templates\n */\n optionTemplate = contentChild<TemplateRef<CascadeSelectOptionTemplateContext>>('option', { descendants: false });\n\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom trigger icon template.\n * @group Templates\n */\n triggerIconTemplate = contentChild<TemplateRef<void>>('triggericon', { descendants: false });\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon', { descendants: false });\n\n /**\n * Custom option group icon template.\n * @group Templates\n */\n groupIconTemplate = contentChild<TemplateRef<void>>('optiongroupicon', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<void>>('clearicon', { descendants: false });\n\n selectionPath: CascadeSelectProcessedOption[] | null = null;\n\n focused = signal(false);\n\n overlayVisible = signal(false);\n\n clicked = signal(false);\n\n dirty = signal(false);\n\n searchValue: string | undefined;\n\n searchTimeout: ReturnType<typeof setTimeout> | undefined;\n\n hideTimeout: ReturnType<typeof setTimeout> | undefined;\n\n focusedOptionInfo = signal<CascadeSelectFocusedOptionInfo>({ index: -1, level: 0, parentKey: '' });\n\n activeOptionPath = signal<CascadeSelectProcessedOption[]>([]);\n\n processedOptions: CascadeSelectProcessedOption[] = [];\n\n _componentStyle = inject(CascadeSelectStyle);\n\n initialized = signal(false);\n\n $variant = computed(() => this.variant() || this.config.inputVariant() || undefined);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n valueTemplateContext = computed(() => ({ $implicit: this.value(), placeholder: this.placeholder() }));\n\n $tabindex = computed(() => (!this.$disabled() ? this.tabindex() : -1));\n\n requiredAttr = computed(() => (this.required() ? '' : undefined));\n\n disabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n ariaExpanded = computed(() => this.overlayVisible() ?? false);\n\n ariaControls = computed(() => (this.overlayVisible() ? this.$id() + '_tree' : null));\n\n ariaActiveDescendant = computed(() => (this.focused() ? this.focusedOptionId : undefined));\n\n showClearIcon = computed(() => this.$filled() && !this.$disabled() && this.showClear());\n\n focusedOptionIdValue = computed(() => (this.focused() ? (this.focusedOptionId ?? undefined) : undefined));\n\n loadingIconClass = computed(() => {\n const icon = this.loadingIcon();\n\n if (icon) {\n return this.cn(this.cx('loadingIcon'), icon + 'pi-spin');\n }\n\n return this.cn(this.cx('loadingIcon'), icon + ' pi pi-spinner pi-spin');\n });\n\n pcFluid: Fluid | null = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n visibleOptions = computed(() => {\n const processedOption = this.activeOptionPath().find((p) => p.key === this.focusedOptionInfo().parentKey);\n\n return processedOption ? (processedOption.children ?? []) : this.processedOptions;\n });\n\n label = computed(() => {\n const label = this.placeholder() || 'p-emptylabel';\n\n if (this.hasSelectedOption()) {\n const activeOptionPath = this.findOptionPathByValue(this.modelValue(), null);\n const processedOption = isNotEmpty(activeOptionPath) ? activeOptionPath[activeOptionPath.length - 1] : null;\n\n return processedOption ? this.getOptionLabel(processedOption.option) : label;\n }\n\n return label;\n });\n matchMediaListener: VoidListener;\n\n overlayService = inject(OverlayService);\n\n constructor() {\n super();\n effect(() => {\n const activeOptionPath = this.activeOptionPath();\n\n if (isNotEmpty(activeOptionPath)) {\n this.overlayViewChild()?.alignOverlay();\n }\n });\n\n effect(() => {\n const options = this.options();\n const optionsArray = Array.isArray(options) ? options : [];\n\n this.processedOptions = this.createProcessedOptions(optionsArray);\n\n if (!isEmpty(untracked(() => this.modelValue()))) {\n this.updateModel(null);\n }\n });\n }\n query: MediaQueryList | undefined;\n queryMatches = signal<boolean>(false);\n mobileActive = signal<boolean>(false);\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n @HostListener('mousedown', ['$event'])\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n get listLabel(): string {\n return this.translate(TranslationKeys.ARIA, 'listLabel');\n }\n\n get focusedOptionId() {\n return this.focusedOptionInfo().index !== -1 ? `${this.$id()}${isNotEmpty(this.focusedOptionInfo().parentKey) ? '_' + this.focusedOptionInfo().parentKey : ''}_${this.focusedOptionInfo().index}` : null;\n }\n\n get searchResultMessageText() {\n return isNotEmpty(this.visibleOptions()) ? this.searchMessageText.replaceAll('{0}', String(this.visibleOptions().length)) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage() || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptySearchMessage() || this.config.translation.emptySearchMessage || '';\n }\n\n get emptyMessageText() {\n return this.emptyMessage() || this.config.translation.emptyMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage() || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage() || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n createProcessedOptions(options: unknown[] | undefined, level = 0, parent: CascadeSelectProcessedOption | Record<string, unknown> = {}, parentKey = ''): CascadeSelectProcessedOption[] {\n const processedOptions: CascadeSelectProcessedOption[] = [];\n\n if (options) {\n options.forEach((option, index) => {\n const key = (parentKey !== '' ? parentKey + '_' : '') + index;\n const newOption: CascadeSelectProcessedOption = {\n option,\n index,\n level,\n key,\n parent,\n parentKey\n };\n\n newOption.children = this.createProcessedOptions(this.getOptionGroupChildren(option, level), level + 1, newOption, key);\n processedOptions.push(newOption);\n });\n }\n\n return processedOptions;\n }\n\n onInputFocus(event: FocusEvent) {\n if (this.$disabled()) {\n // For screenreaders\n return;\n }\n\n this.focused.set(true);\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: FocusEvent) {\n this.focused.set(false);\n this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });\n this.searchValue = '';\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputKeyDown(event: KeyboardEvent) {\n if (this.$disabled() || this.loading()) {\n event.preventDefault();\n\n return;\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'PageDown':\n case 'PageUp':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n if (!this.overlayVisible()) {\n this.show();\n }\n\n this.searchOptions(event, event.key);\n }\n\n break;\n }\n\n this.clicked.set(false);\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n if (!this.overlayVisible()) {\n this.show();\n } else {\n const optionIndex = this.focusedOptionInfo().index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo().index) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex, true);\n }\n\n event.preventDefault();\n }\n\n onArrowUpKey(event: KeyboardEvent) {\n if (event.altKey) {\n if (this.focusedOptionInfo().index !== -1) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n if (!grouped) {\n this.onOptionChange({ originalEvent: event, processedOption });\n }\n }\n\n if (this.overlayVisible()) {\n this.hide();\n }\n\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionInfo().index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo().index) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex, true);\n\n if (!this.overlayVisible()) {\n this.show();\n }\n\n event.preventDefault();\n }\n }\n\n onArrowLeftKey(event: KeyboardEvent) {\n if (this.overlayVisible()) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const parentOption = this.activeOptionPath().find((p) => p.key === processedOption.parentKey);\n const matched = this.focusedOptionInfo().parentKey === '' || (parentOption && parentOption.key === this.focusedOptionInfo().parentKey);\n const root = isEmpty(processedOption.parent);\n\n if (matched) {\n const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== this.focusedOptionInfo().parentKey);\n\n this.activeOptionPath.set(activeOptionPath);\n }\n\n if (!root) {\n this.focusedOptionInfo.set({ index: -1, parentKey: parentOption ? parentOption.parentKey : '' });\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n }\n }\n\n onArrowRightKey(event: KeyboardEvent) {\n if (this.overlayVisible()) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n if (grouped) {\n const matched = this.activeOptionPath().some((p) => processedOption.key === p.key);\n\n if (matched) {\n this.focusedOptionInfo.set({ index: -1, parentKey: processedOption.key });\n this.searchValue = '';\n this.onArrowDownKey(event);\n } else {\n this.onOptionChange({ originalEvent: event, processedOption });\n }\n }\n\n event.preventDefault();\n }\n }\n\n onHomeKey(event: KeyboardEvent) {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n if (!this.overlayVisible()) {\n this.show();\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: KeyboardEvent) {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n if (!this.overlayVisible()) {\n this.show();\n }\n\n event.preventDefault();\n }\n\n onEnterKey(event: KeyboardEvent) {\n if (!this.overlayVisible()) {\n this.focusedOptionInfo.set({ ...this.focusedOptionInfo(), index: -1 }); // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionInfo().index !== -1) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n this.onOptionClick({ originalEvent: event, processedOption });\n\n if (!grouped) {\n this.hide();\n }\n }\n }\n\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent) {\n this.onEnterKey(event);\n }\n\n onEscapeKey(event: KeyboardEvent) {\n if (this.overlayVisible()) {\n this.hide(event, true);\n }\n\n event.preventDefault();\n }\n\n onTabKey(event: KeyboardEvent) {\n if (this.focusedOptionInfo().index !== -1) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n if (!grouped) {\n this.onOptionChange({ originalEvent: event, processedOption });\n }\n }\n\n if (this.overlayVisible()) {\n this.hide();\n }\n }\n\n onBackspaceKey(event: KeyboardEvent) {\n if (isNotEmpty(this.modelValue()) && this.showClear()) {\n this.clear();\n }\n\n event.stopPropagation();\n }\n\n equalityKey() {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n updateModel(value: unknown, event?: Event) {\n this.value.set(value);\n this.onModelChange(value);\n this.writeModelValue(value);\n\n if (this.initialized()) {\n this.onChange.emit({\n originalEvent: event,\n value: value\n });\n }\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {\n this.focusedOptionInfo().index = this.findFirstFocusedOptionIndex();\n this.onOptionChange({\n originalEvent: null,\n processedOption: this.visibleOptions()[this.focusedOptionInfo().index],\n isHide: false\n });\n\n if (!this.overlayVisible()) {\n this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });\n }\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId;\n const element = findSingle(this.panelViewChild()?.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n if (element.scrollIntoView) {\n element.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n }\n\n changeFocusedOptionIndex(event: Event, index: number, preventSelection?: boolean) {\n const focusedOptionInfo = this.focusedOptionInfo();\n\n if (focusedOptionInfo.index !== index) {\n this.focusedOptionInfo.set({ ...focusedOptionInfo, index });\n this.scrollInView();\n\n if (this.focusOnHover()) {\n this.onOptionClick({ originalEvent: event, processedOption: this.visibleOptions()[index], isHide: false, preventSelection });\n }\n\n if (this.selectOnFocus()) {\n this.onOptionChange({ originalEvent: event, processedOption: this.visibleOptions()[index], isHide: false });\n }\n }\n }\n\n onOptionSelect(event: { originalEvent: Event; value?: unknown; isHide?: boolean }) {\n const { originalEvent, value, isHide } = event;\n const newValue = this.getOptionValue(value);\n\n const activeOptionPath = this.activeOptionPath();\n\n activeOptionPath.forEach((p) => (p.selected = true));\n\n this.activeOptionPath.set(activeOptionPath);\n this.updateModel(newValue, originalEvent);\n\n if (isHide) {\n this.hide(event, true);\n }\n }\n\n onOptionGroupSelect(event: { originalEvent: Event; value?: unknown; isFocus?: boolean }) {\n this.dirty.set(true);\n this.onGroupChange.emit(event);\n }\n\n onContainerClick(event: MouseEvent) {\n if (this.$disabled() || this.loading()) {\n return;\n }\n\n const target = event.target as HTMLElement;\n\n if (target?.getAttribute('data-pc-section') === 'clearicon' || target?.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n }\n\n if (!this.overlayViewChild()?.el?.nativeElement?.contains(event.target)) {\n if (this.overlayVisible()) {\n this.hide();\n } else {\n this.show();\n }\n\n event.preventDefault();\n this.focusInputViewChild()?.nativeElement.focus();\n }\n\n this.clicked.set(true);\n }\n\n isOptionMatched(processedOption: CascadeSelectProcessedOption) {\n return this.isValidOption(processedOption) && this.getProccessedOptionLabel(processedOption).toLocaleLowerCase(this.searchLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.searchLocale()));\n }\n\n isOptionDisabled(option: unknown) {\n const optionDisabled = this.optionDisabled();\n\n return optionDisabled ? resolveFieldData(option, optionDisabled) : false;\n }\n\n isValidOption(processedOption: CascadeSelectProcessedOption) {\n return !!processedOption && !this.isOptionDisabled(processedOption.option);\n }\n\n isValidSelectedOption(processedOption: CascadeSelectProcessedOption) {\n return this.isValidOption(processedOption) && this.isSelected(processedOption);\n }\n\n isSelected(processedOption: CascadeSelectProcessedOption) {\n return this.activeOptionPath().some((p) => p.key === processedOption.key);\n }\n\n findOptionPathByValue(value: unknown, processedOptions?: CascadeSelectProcessedOption[] | null, level = 0) {\n processedOptions = processedOptions || (level === 0 ? this.processedOptions : null);\n\n if (!processedOptions) return null;\n\n if (isEmpty(value)) return [];\n\n for (let i = 0; i < processedOptions.length; i++) {\n const processedOption = processedOptions[i];\n\n if (equals(value, this.getOptionValue(processedOption.option), this.equalityKey())) {\n return [processedOption];\n }\n\n const matchedOptions = this.findOptionPathByValue(value, processedOption.children, level + 1);\n\n if (matchedOptions) {\n matchedOptions.unshift(processedOption);\n\n return matchedOptions;\n }\n }\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((processedOption) => this.isValidOption(processedOption));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (processedOption) => this.isValidOption(processedOption));\n }\n\n findNextOptionIndex(index: number) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((processedOption) => this.isValidOption(processedOption))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index: number) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (processedOption) => this.isValidOption(processedOption)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findSelectedOptionIndex() {\n return this.visibleOptions().findIndex((processedOption) => this.isValidSelectedOption(processedOption));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n searchOptions(event: KeyboardEvent, char: string) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n const focusedOptionInfo = this.focusedOptionInfo();\n\n if (focusedOptionInfo.index !== -1) {\n optionIndex = this.visibleOptions()\n .slice(focusedOptionInfo.index)\n .findIndex((processedOption) => this.isOptionMatched(processedOption));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, focusedOptionInfo.index)\n .findIndex((processedOption) => this.isOptionMatched(processedOption))\n : optionIndex + focusedOptionInfo.index;\n } else {\n optionIndex = this.visibleOptions().findIndex((processedOption) => this.isOptionMatched(processedOption));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && focusedOptionInfo.index === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = undefined;\n }, 500);\n\n return matched;\n }\n\n hide(event?, isFocus = false) {\n this.hideTimeout = setTimeout(() => {\n this.overlayVisible.set(false);\n this.clicked.set(false);\n\n if (isFocus) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n\n this.onHide.emit(event);\n }, 0); // For ScreenReaders\n }\n\n show(event?: CascadeSelectShowEvent, isFocus = false) {\n this.onShow.emit(event);\n this.overlayVisible.set(true);\n const activeOptionPath = this.hasSelectedOption() ? this.findOptionPathByValue(this.modelValue()) : [];\n\n this.activeOptionPath.set(activeOptionPath);\n let focusedOptionInfo: CascadeSelectFocusedOptionInfo;\n\n if (this.hasSelectedOption() && isNotEmpty(this.activeOptionPath())) {\n const processedOption = this.activeOptionPath()[this.activeOptionPath().length - 1];\n\n focusedOptionInfo = {\n index: processedOption.index,\n level: processedOption.level,\n parentKey: processedOption.parentKey\n };\n } else {\n focusedOptionInfo = { index: this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(), level: 0, parentKey: '' };\n }\n\n this.focusedOptionInfo.set(focusedOptionInfo);\n\n if (isFocus) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n }\n\n clear(event?: MouseEvent) {\n if (isNotEmpty(this.modelValue()) && this.showClear()) {\n this.updateModel(null);\n this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });\n this.activeOptionPath.set([]);\n this.onClear.emit(event);\n }\n\n if (event) {\n event.stopPropagation();\n }\n }\n\n getOptionLabel(option: unknown) {\n const optionLabel = this.optionLabel();\n\n return optionLabel ? resolveFieldData(option, optionLabel) : option;\n }\n\n getOptionValue(option: unknown) {\n const optionValue = this.optionValue();\n\n return optionValue ? resolveFieldData(option, optionValue) : option;\n }\n\n getOptionGroupLabel(optionGroup: unknown) {\n const optionGroupLabel = this.optionGroupLabel();\n\n return optionGroupLabel ? resolveFieldData(optionGroup, optionGroupLabel) : null;\n }\n\n getOptionGroupChildren(optionGroup: unknown, level: number) {\n const optionGroupChildren = this.optionGroupChildren();\n\n return resolveFieldData(optionGroup, optionGroupChildren?.[level]);\n }\n\n isOptionGroup(option: unknown, level: number) {\n const optionGroupChildren = this.optionGroupChildren();\n\n return Object.prototype.hasOwnProperty.call(option, optionGroupChildren?.[level]);\n }\n\n isProccessedOptionGroup(processedOption: CascadeSelectProcessedOption) {\n return isNotEmpty(processedOption?.children);\n }\n\n getProccessedOptionLabel(processedOption: CascadeSelectProcessedOption) {\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n return grouped ? this.getOptionGroupLabel(processedOption.option) : this.getOptionLabel(processedOption.option);\n }\n\n onOptionChange(event: CascadeSelectOptionChangeEvent) {\n const { processedOption, type } = event;\n\n if (isEmpty(processedOption)) return;\n\n const { index, key, level, parentKey, children } = processedOption;\n const grouped = isNotEmpty(children);\n const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== parentKey && p.parentKey !== key);\n\n this.focusedOptionInfo.set({ index, level, parentKey });\n\n if (type == 'hover' && this.queryMatches()) {\n return;\n }\n\n if (grouped) {\n activeOptionPath.push(processedOption);\n }\n\n this.activeOptionPath.set([...activeOptionPath]);\n }\n\n onOptionClick(event: CascadeSelectOptionClickEvent) {\n const { originalEvent, processedOption, isFocus, preventSelection } = event;\n const { index, key, level, parentKey } = processedOption;\n const grouped = this.isProccessedOptionGroup(processedOption);\n const selected = this.isSelected(processedOption);\n\n if (selected) {\n const activeOptionPath = this.activeOptionPath().filter((p) => key !== p.key && key.startsWith(p.key));\n\n this.activeOptionPath.set([...activeOptionPath]);\n this.focusedOptionInfo.set({ index, level, parentKey });\n } else {\n if (grouped) {\n this.onOptionChange({ processedOption, type: event.type });\n this.onOptionGroupSelect({ originalEvent, value: processedOption.option, isFocus: false });\n } else {\n const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== parentKey);\n\n activeOptionPath.push(processedOption);\n\n this.focusedOptionInfo.set({ index, level, parentKey });\n\n if (!preventSelection || processedOption?.children?.length !== 0) {\n this.activeOptionPath.set([...activeOptionPath]);\n this.onOptionSelect({ originalEvent, value: processedOption.option, isHide: isFocus });\n }\n }\n }\n\n if (isFocus) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n }\n\n onOptionMouseEnter(event: CascadeSelectOptionMouseEvent) {\n if (this.focusOnHover()) {\n if (this.dirty() || (!this.dirty() && isNotEmpty(this.modelValue()))) {\n this.onOptionChange({ ...event, type: 'hover' });\n } else if (!this.dirty() && event.processedOption.level === 0) {\n this.onOptionClick({ ...event, type: 'hover' });\n }\n }\n }\n\n onOptionMouseMove(event: CascadeSelectOptionMouseEvent) {\n if (this.focused() && this.focusOnHover()) {\n this.changeFocusedOptionIndex(event.originalEvent, event.processedOption.index);\n }\n }\n\n onInit() {\n this.autoUpdateModel();\n this.bindMatchMediaListener();\n }\n\n onAfterViewInit() {\n this.initialized.set(true);\n }\n\n bindMatchMediaListener() {\n if (!this.matchMediaListener) {\n const window: Window | null = this.document.defaultView;\n\n if (window && window.matchMedia) {\n const query = window.matchMedia(`(max-width: ${this.breakpoint()})`);\n\n this.query = query;\n this.queryMatches.set(query?.matches);\n\n this.matchMediaListener = () => {\n this.queryMatches.set(query?.matches);\n this.mobileActive.set(false);\n };\n\n this.query.addEventListener('change', this.matchMediaListener);\n }\n }\n }\n\n unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query?.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n }\n\n onOverlayAfterLeave() {\n this.activeOptionPath.set([]);\n this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });\n this.dirty.set(false);\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n this.value.set(value);\n setModelValue(value);\n }\n\n onDestroy() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n if (this.matchMediaListener) {\n this.unbindMatchMediaListener();\n }\n }\n}\n\n@NgModule({\n imports: [CascadeSelect, SharedModule],\n exports: [CascadeSelect, SharedModule]\n})\nexport class CascadeSelectModule {}\n"],"mappings":"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"}