primeng 22.1.1 → 22.1.2

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 (850) hide show
  1. package/fesm2022/primeng-accordion.mjs +998 -594
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +266 -174
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +888 -848
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +2534 -1631
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +114 -77
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +330 -189
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +178 -95
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +290 -156
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +95 -83
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +528 -478
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +131 -74
  22. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/primeng-baseinput.mjs +214 -99
  24. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  25. package/fesm2022/primeng-basemodelholder.mjs +39 -26
  26. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/primeng-bind.mjs +156 -97
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +360 -225
  30. package/fesm2022/primeng-blockui.mjs.map +1 -1
  31. package/fesm2022/primeng-breadcrumb.mjs +458 -220
  32. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/primeng-button.mjs +1568 -710
  34. package/fesm2022/primeng-button.mjs.map +1 -1
  35. package/fesm2022/primeng-buttongroup.mjs +125 -73
  36. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  37. package/fesm2022/primeng-card.mjs +389 -178
  38. package/fesm2022/primeng-card.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +2393 -1772
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +2373 -1399
  42. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/primeng-chart.mjs +402 -231
  44. package/fesm2022/primeng-chart.mjs.map +1 -1
  45. package/fesm2022/primeng-checkbox.mjs +650 -351
  46. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  47. package/fesm2022/primeng-chip.mjs +411 -224
  48. package/fesm2022/primeng-chip.mjs.map +1 -1
  49. package/fesm2022/primeng-classnames.mjs +95 -48
  50. package/fesm2022/primeng-classnames.mjs.map +1 -1
  51. package/fesm2022/primeng-colorpicker.mjs +890 -635
  52. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  53. package/fesm2022/primeng-commandmenu.mjs +568 -313
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +843 -481
  56. package/fesm2022/primeng-compare.mjs.map +1 -1
  57. package/fesm2022/primeng-config.mjs +415 -321
  58. package/fesm2022/primeng-config.mjs.map +1 -1
  59. package/fesm2022/primeng-confirmdialog.mjs +1188 -536
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +810 -518
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +1862 -1082
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +1130 -550
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +3750 -3356
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +1635 -975
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +272 -146
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +609 -391
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +599 -767
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +323 -312
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +913 -484
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +828 -917
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +547 -391
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +559 -271
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +1836 -1054
  88. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  89. package/fesm2022/primeng-floatlabel.mjs +187 -102
  90. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  91. package/fesm2022/primeng-fluid.mjs +156 -85
  92. package/fesm2022/primeng-fluid.mjs.map +1 -1
  93. package/fesm2022/primeng-focustrap.mjs +150 -112
  94. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  95. package/fesm2022/primeng-galleria.mjs +2589 -1410
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +2768 -1796
  98. package/fesm2022/primeng-gallery.mjs.map +1 -1
  99. package/fesm2022/primeng-iconfield.mjs +192 -93
  100. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledoubledown.mjs +41 -23
  102. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubleleft.mjs +41 -23
  104. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleright.mjs +41 -23
  106. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleup.mjs +41 -23
  108. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledown.mjs +41 -23
  110. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angleleft.mjs +41 -23
  112. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleright.mjs +41 -23
  114. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleup.mjs +41 -23
  116. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowdown.mjs +46 -28
  118. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdownleft.mjs +41 -23
  120. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownright.mjs +41 -23
  122. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowleft.mjs +46 -28
  124. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowright.mjs +41 -23
  126. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowup.mjs +46 -28
  128. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-ban.mjs +46 -28
  130. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-bars.mjs +41 -23
  132. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-baseicon.mjs +111 -67
  134. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-blank.mjs +40 -22
  136. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-calendar.mjs +41 -23
  138. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-caretleft.mjs +41 -23
  140. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretright.mjs +41 -23
  142. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-check.mjs +41 -23
  144. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-chevrondown.mjs +41 -23
  146. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevronleft.mjs +41 -23
  148. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronright.mjs +41 -23
  150. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronup.mjs +41 -23
  152. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-exclamationtriangle.mjs +46 -28
  154. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-eye.mjs +41 -23
  156. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eyeslash.mjs +46 -28
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs +46 -28
  160. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filterfill.mjs +41 -23
  162. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterslash.mjs +46 -28
  164. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-home.mjs +46 -28
  166. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-infocircle.mjs +46 -28
  168. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-minus.mjs +41 -23
  170. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-pencil.mjs +46 -28
  172. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-plus.mjs +46 -28
  174. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-refresh.mjs +46 -28
  176. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-search.mjs +46 -28
  178. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-searchminus.mjs +46 -28
  180. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchplus.mjs +46 -28
  182. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-sortalt.mjs +46 -28
  184. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortamountdown.mjs +46 -28
  186. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountupalt.mjs +46 -28
  188. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-spinner.mjs +46 -28
  190. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-star.mjs +46 -28
  192. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-starfill.mjs +46 -28
  194. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-thlarge.mjs +46 -28
  196. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-times.mjs +41 -23
  198. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-timescircle.mjs +46 -28
  200. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-trash.mjs +46 -28
  202. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-undo.mjs +46 -28
  204. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-upload.mjs +46 -28
  206. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-windowmaximize.mjs +46 -28
  208. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowminimize.mjs +46 -28
  210. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  211. package/fesm2022/primeng-icons.mjs +53 -63
  212. package/fesm2022/primeng-iftalabel.mjs +153 -86
  213. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  214. package/fesm2022/primeng-image.mjs +1006 -532
  215. package/fesm2022/primeng-image.mjs.map +1 -1
  216. package/fesm2022/primeng-imagecompare.mjs +325 -165
  217. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  218. package/fesm2022/primeng-inplace.mjs +401 -199
  219. package/fesm2022/primeng-inplace.mjs.map +1 -1
  220. package/fesm2022/primeng-inputcolor.mjs +2631 -2189
  221. package/fesm2022/primeng-inputcolor.mjs.map +1 -1
  222. package/fesm2022/primeng-inputgroup.mjs +159 -91
  223. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  224. package/fesm2022/primeng-inputgroupaddon.mjs +153 -68
  225. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  226. package/fesm2022/primeng-inputicon.mjs +173 -72
  227. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  228. package/fesm2022/primeng-inputmask.mjs +1607 -1387
  229. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  230. package/fesm2022/primeng-inputnumber.mjs +1646 -1305
  231. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  232. package/fesm2022/primeng-inputotp.mjs +571 -376
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputpassword.mjs +179 -96
  235. package/fesm2022/primeng-inputpassword.mjs.map +1 -1
  236. package/fesm2022/primeng-inputtags.mjs +1212 -588
  237. package/fesm2022/primeng-inputtags.mjs.map +1 -1
  238. package/fesm2022/primeng-inputtext.mjs +325 -175
  239. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  240. package/fesm2022/primeng-keyfilter.mjs +268 -244
  241. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2022/primeng-knob.mjs +627 -405
  243. package/fesm2022/primeng-knob.mjs.map +1 -1
  244. package/fesm2022/primeng-label.mjs +143 -81
  245. package/fesm2022/primeng-label.mjs.map +1 -1
  246. package/fesm2022/primeng-license.mjs +10 -36
  247. package/fesm2022/primeng-license.mjs.map +1 -1
  248. package/fesm2022/primeng-listbox.mjs +2409 -1608
  249. package/fesm2022/primeng-listbox.mjs.map +1 -1
  250. package/fesm2022/primeng-megamenu.mjs +2006 -1137
  251. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  252. package/fesm2022/primeng-menu.mjs +1437 -848
  253. package/fesm2022/primeng-menu.mjs.map +1 -1
  254. package/fesm2022/primeng-menubar.mjs +1832 -994
  255. package/fesm2022/primeng-menubar.mjs.map +1 -1
  256. package/fesm2022/primeng-message.mjs +474 -239
  257. package/fesm2022/primeng-message.mjs.map +1 -1
  258. package/fesm2022/primeng-metergroup.mjs +663 -331
  259. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  260. package/fesm2022/primeng-motion.mjs +1179 -690
  261. package/fesm2022/primeng-motion.mjs.map +1 -1
  262. package/fesm2022/primeng-multiselect.mjs +3406 -1932
  263. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  264. package/fesm2022/primeng-orderlist.mjs +1308 -664
  265. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  266. package/fesm2022/primeng-organizationchart.mjs +912 -595
  267. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  268. package/fesm2022/primeng-overlay.mjs +929 -624
  269. package/fesm2022/primeng-overlay.mjs.map +1 -1
  270. package/fesm2022/primeng-overlaybadge.mjs +291 -107
  271. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  272. package/fesm2022/primeng-paginator.mjs +959 -503
  273. package/fesm2022/primeng-paginator.mjs.map +1 -1
  274. package/fesm2022/primeng-panel.mjs +668 -343
  275. package/fesm2022/primeng-panel.mjs.map +1 -1
  276. package/fesm2022/primeng-panelmenu.mjs +1842 -998
  277. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-passthrough.mjs +8 -16
  279. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  280. package/fesm2022/primeng-password.mjs +1518 -866
  281. package/fesm2022/primeng-password.mjs.map +1 -1
  282. package/fesm2022/primeng-picklist.mjs +2270 -1256
  283. package/fesm2022/primeng-picklist.mjs.map +1 -1
  284. package/fesm2022/primeng-popover.mjs +656 -436
  285. package/fesm2022/primeng-popover.mjs.map +1 -1
  286. package/fesm2022/primeng-progressbar.mjs +346 -168
  287. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  288. package/fesm2022/primeng-progressspinner.mjs +338 -188
  289. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  290. package/fesm2022/primeng-radiobutton.mjs +499 -292
  291. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  292. package/fesm2022/primeng-rating.mjs +583 -352
  293. package/fesm2022/primeng-rating.mjs.map +1 -1
  294. package/fesm2022/primeng-ripple.mjs +194 -184
  295. package/fesm2022/primeng-ripple.mjs.map +1 -1
  296. package/fesm2022/primeng-scrollarea.mjs +1018 -721
  297. package/fesm2022/primeng-scrollarea.mjs.map +1 -1
  298. package/fesm2022/primeng-scroller.mjs +1386 -1083
  299. package/fesm2022/primeng-scroller.mjs.map +1 -1
  300. package/fesm2022/primeng-scrollpanel.mjs +568 -480
  301. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  302. package/fesm2022/primeng-scrolltop.mjs +509 -260
  303. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  304. package/fesm2022/primeng-select.mjs +2948 -1765
  305. package/fesm2022/primeng-select.mjs.map +1 -1
  306. package/fesm2022/primeng-selectbutton.mjs +629 -339
  307. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  308. package/fesm2022/primeng-sidebar.mjs +2561 -1416
  309. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  310. package/fesm2022/primeng-skeleton.mjs +300 -157
  311. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  312. package/fesm2022/primeng-slider.mjs +841 -604
  313. package/fesm2022/primeng-slider.mjs.map +1 -1
  314. package/fesm2022/primeng-speeddial.mjs +1115 -717
  315. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  316. package/fesm2022/primeng-splitbutton.mjs +889 -339
  317. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  318. package/fesm2022/primeng-splitter.mjs +997 -759
  319. package/fesm2022/primeng-splitter.mjs.map +1 -1
  320. package/fesm2022/primeng-stepper.mjs +1355 -641
  321. package/fesm2022/primeng-stepper.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +397 -304
  323. package/fesm2022/primeng-steps.mjs.map +1 -1
  324. package/fesm2022/primeng-styleclass.mjs +446 -334
  325. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  326. package/fesm2022/primeng-table.mjs +9763 -5870
  327. package/fesm2022/primeng-table.mjs.map +1 -1
  328. package/fesm2022/primeng-tabs.mjs +1357 -831
  329. package/fesm2022/primeng-tabs.mjs.map +1 -1
  330. package/fesm2022/primeng-tag.mjs +305 -151
  331. package/fesm2022/primeng-tag.mjs.map +1 -1
  332. package/fesm2022/primeng-terminal.mjs +368 -216
  333. package/fesm2022/primeng-terminal.mjs.map +1 -1
  334. package/fesm2022/primeng-textarea.mjs +345 -208
  335. package/fesm2022/primeng-textarea.mjs.map +1 -1
  336. package/fesm2022/primeng-tieredmenu.mjs +1917 -1125
  337. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  338. package/fesm2022/primeng-timeline.mjs +304 -165
  339. package/fesm2022/primeng-timeline.mjs.map +1 -1
  340. package/fesm2022/primeng-toast.mjs +1369 -922
  341. package/fesm2022/primeng-toast.mjs.map +1 -1
  342. package/fesm2022/primeng-togglebutton.mjs +563 -309
  343. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  344. package/fesm2022/primeng-toggleswitch.mjs +464 -237
  345. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  346. package/fesm2022/primeng-toolbar.mjs +299 -129
  347. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  348. package/fesm2022/primeng-tooltip.mjs +1018 -778
  349. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  350. package/fesm2022/primeng-tree.mjs +2679 -1875
  351. package/fesm2022/primeng-tree.mjs.map +1 -1
  352. package/fesm2022/primeng-treeselect.mjs +1678 -939
  353. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  354. package/fesm2022/primeng-treetable.mjs +5849 -3754
  355. package/fesm2022/primeng-treetable.mjs.map +1 -1
  356. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  357. package/fesm2022/primeng-types-accordion.mjs +0 -4
  358. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  359. package/fesm2022/primeng-types-avatar.mjs +0 -4
  360. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  361. package/fesm2022/primeng-types-badge.mjs +0 -4
  362. package/fesm2022/primeng-types-blockui.mjs +0 -4
  363. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  364. package/fesm2022/primeng-types-button.mjs +0 -4
  365. package/fesm2022/primeng-types-card.mjs +0 -4
  366. package/fesm2022/primeng-types-carousel.mjs +0 -4
  367. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  368. package/fesm2022/primeng-types-chart.mjs +0 -4
  369. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  370. package/fesm2022/primeng-types-chip.mjs +0 -4
  371. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  372. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  373. package/fesm2022/primeng-types-compare.mjs +0 -4
  374. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  375. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  376. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  377. package/fesm2022/primeng-types-dataview.mjs +0 -4
  378. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  379. package/fesm2022/primeng-types-dialog.mjs +0 -4
  380. package/fesm2022/primeng-types-divider.mjs +0 -4
  381. package/fesm2022/primeng-types-dock.mjs +0 -4
  382. package/fesm2022/primeng-types-drawer.mjs +0 -4
  383. package/fesm2022/primeng-types-editor.mjs +0 -4
  384. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  385. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  386. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  387. package/fesm2022/primeng-types-fluid.mjs +0 -4
  388. package/fesm2022/primeng-types-galleria.mjs +0 -4
  389. package/fesm2022/primeng-types-gallery.mjs +0 -4
  390. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  391. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  392. package/fesm2022/primeng-types-image.mjs +0 -4
  393. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  394. package/fesm2022/primeng-types-inplace.mjs +0 -4
  395. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  396. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  397. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  398. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  399. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  400. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  401. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  402. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  403. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  404. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  405. package/fesm2022/primeng-types-knob.mjs +0 -4
  406. package/fesm2022/primeng-types-label.mjs +0 -4
  407. package/fesm2022/primeng-types-listbox.mjs +0 -4
  408. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  409. package/fesm2022/primeng-types-menu.mjs +0 -4
  410. package/fesm2022/primeng-types-menubar.mjs +0 -4
  411. package/fesm2022/primeng-types-message.mjs +0 -4
  412. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  413. package/fesm2022/primeng-types-motion.mjs +0 -4
  414. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  415. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  416. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  417. package/fesm2022/primeng-types-overlay.mjs +0 -4
  418. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  419. package/fesm2022/primeng-types-paginator.mjs +0 -4
  420. package/fesm2022/primeng-types-panel.mjs +0 -4
  421. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  422. package/fesm2022/primeng-types-password.mjs +0 -4
  423. package/fesm2022/primeng-types-picklist.mjs +0 -4
  424. package/fesm2022/primeng-types-popover.mjs +0 -4
  425. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  426. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  427. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  428. package/fesm2022/primeng-types-rating.mjs +0 -4
  429. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  430. package/fesm2022/primeng-types-scroller.mjs +0 -4
  431. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  432. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  433. package/fesm2022/primeng-types-select.mjs +0 -4
  434. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  435. package/fesm2022/primeng-types-shared.mjs +0 -4
  436. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  437. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  438. package/fesm2022/primeng-types-slider.mjs +0 -4
  439. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  440. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  441. package/fesm2022/primeng-types-splitter.mjs +0 -4
  442. package/fesm2022/primeng-types-stepper.mjs +0 -4
  443. package/fesm2022/primeng-types-table.mjs +0 -4
  444. package/fesm2022/primeng-types-tabs.mjs +0 -4
  445. package/fesm2022/primeng-types-tag.mjs +0 -4
  446. package/fesm2022/primeng-types-terminal.mjs +0 -4
  447. package/fesm2022/primeng-types-textarea.mjs +0 -4
  448. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  449. package/fesm2022/primeng-types-timeline.mjs +0 -4
  450. package/fesm2022/primeng-types-toast.mjs +0 -4
  451. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  452. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  453. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  454. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  455. package/fesm2022/primeng-types-tree.mjs +0 -4
  456. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  457. package/fesm2022/primeng-types-treetable.mjs +0 -4
  458. package/fesm2022/primeng-usestyle.mjs +105 -113
  459. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  460. package/fesm2022/primeng-utils.mjs +236 -317
  461. package/fesm2022/primeng-utils.mjs.map +1 -1
  462. package/fesm2022/primeng.mjs +1 -5
  463. package/fesm2022/primeng.mjs.map +1 -1
  464. package/package.json +6 -1
  465. package/types/primeng-accordion.d.ts +289 -219
  466. package/types/primeng-animateonscroll.d.ts +89 -61
  467. package/types/primeng-api.d.ts +1754 -1790
  468. package/types/primeng-autocomplete.d.ts +1053 -754
  469. package/types/primeng-autofocus.d.ts +27 -24
  470. package/types/primeng-avatar.d.ts +152 -114
  471. package/types/primeng-avatargroup.d.ts +45 -40
  472. package/types/primeng-badge.d.ts +104 -78
  473. package/types/primeng-base.d.ts +49 -52
  474. package/types/primeng-basecomponent.d.ts +191 -174
  475. package/types/primeng-baseeditableholder.d.ts +63 -45
  476. package/types/primeng-baseinput.d.ts +122 -74
  477. package/types/primeng-basemodelholder.d.ts +9 -12
  478. package/types/primeng-bind.d.ts +36 -32
  479. package/types/primeng-blockui.d.ts +99 -80
  480. package/types/primeng-breadcrumb.d.ts +159 -133
  481. package/types/primeng-button.d.ts +690 -425
  482. package/types/primeng-buttongroup.d.ts +26 -30
  483. package/types/primeng-card.d.ts +130 -119
  484. package/types/primeng-carousel.d.ts +799 -629
  485. package/types/primeng-cascadeselect.d.ts +753 -562
  486. package/types/primeng-chart.d.ts +158 -112
  487. package/types/primeng-checkbox.d.ts +298 -208
  488. package/types/primeng-chip.d.ts +187 -143
  489. package/types/primeng-classnames.d.ts +23 -21
  490. package/types/primeng-colorpicker.d.ts +324 -269
  491. package/types/primeng-commandmenu.d.ts +213 -165
  492. package/types/primeng-compare.d.ts +267 -189
  493. package/types/primeng-config.d.ts +294 -304
  494. package/types/primeng-confirmdialog.d.ts +504 -325
  495. package/types/primeng-confirmpopup.d.ts +253 -207
  496. package/types/primeng-contextmenu.d.ts +522 -366
  497. package/types/primeng-dataview.d.ts +497 -342
  498. package/types/primeng-datepicker.d.ts +1268 -969
  499. package/types/primeng-dialog.d.ts +667 -462
  500. package/types/primeng-divider.d.ts +112 -96
  501. package/types/primeng-dock.d.ts +206 -172
  502. package/types/primeng-dom.d.ts +97 -100
  503. package/types/primeng-dragdrop.d.ts +142 -107
  504. package/types/primeng-drawer.d.ts +354 -254
  505. package/types/primeng-dynamicdialog.d.ts +527 -535
  506. package/types/primeng-editor.d.ts +210 -162
  507. package/types/primeng-fieldset.d.ts +198 -163
  508. package/types/primeng-fileupload.d.ts +726 -523
  509. package/types/primeng-floatlabel.d.ts +54 -48
  510. package/types/primeng-fluid.d.ts +36 -36
  511. package/types/primeng-focustrap.d.ts +30 -27
  512. package/types/primeng-galleria.d.ts +569 -430
  513. package/types/primeng-gallery.d.ts +754 -552
  514. package/types/primeng-iconfield.d.ts +53 -42
  515. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  516. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  517. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  518. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  519. package/types/primeng-icons-angledown.d.ts +6 -9
  520. package/types/primeng-icons-angleleft.d.ts +6 -9
  521. package/types/primeng-icons-angleright.d.ts +6 -9
  522. package/types/primeng-icons-angleup.d.ts +6 -9
  523. package/types/primeng-icons-arrowdown.d.ts +8 -11
  524. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  525. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  526. package/types/primeng-icons-arrowleft.d.ts +8 -11
  527. package/types/primeng-icons-arrowright.d.ts +6 -9
  528. package/types/primeng-icons-arrowup.d.ts +8 -11
  529. package/types/primeng-icons-ban.d.ts +8 -11
  530. package/types/primeng-icons-bars.d.ts +6 -9
  531. package/types/primeng-icons-baseicon.d.ts +23 -22
  532. package/types/primeng-icons-blank.d.ts +6 -9
  533. package/types/primeng-icons-calendar.d.ts +6 -9
  534. package/types/primeng-icons-caretleft.d.ts +6 -9
  535. package/types/primeng-icons-caretright.d.ts +6 -9
  536. package/types/primeng-icons-check.d.ts +6 -9
  537. package/types/primeng-icons-chevrondown.d.ts +6 -9
  538. package/types/primeng-icons-chevronleft.d.ts +6 -9
  539. package/types/primeng-icons-chevronright.d.ts +6 -9
  540. package/types/primeng-icons-chevronup.d.ts +6 -9
  541. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  542. package/types/primeng-icons-eye.d.ts +6 -9
  543. package/types/primeng-icons-eyeslash.d.ts +8 -11
  544. package/types/primeng-icons-filter.d.ts +8 -11
  545. package/types/primeng-icons-filterfill.d.ts +6 -9
  546. package/types/primeng-icons-filterslash.d.ts +8 -11
  547. package/types/primeng-icons-home.d.ts +8 -11
  548. package/types/primeng-icons-infocircle.d.ts +8 -11
  549. package/types/primeng-icons-minus.d.ts +6 -9
  550. package/types/primeng-icons-pencil.d.ts +8 -11
  551. package/types/primeng-icons-plus.d.ts +8 -11
  552. package/types/primeng-icons-refresh.d.ts +8 -11
  553. package/types/primeng-icons-search.d.ts +8 -11
  554. package/types/primeng-icons-searchminus.d.ts +8 -11
  555. package/types/primeng-icons-searchplus.d.ts +8 -11
  556. package/types/primeng-icons-sortalt.d.ts +8 -11
  557. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  558. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  559. package/types/primeng-icons-spinner.d.ts +8 -11
  560. package/types/primeng-icons-star.d.ts +8 -11
  561. package/types/primeng-icons-starfill.d.ts +8 -11
  562. package/types/primeng-icons-thlarge.d.ts +8 -11
  563. package/types/primeng-icons-times.d.ts +6 -9
  564. package/types/primeng-icons-timescircle.d.ts +8 -11
  565. package/types/primeng-icons-trash.d.ts +8 -11
  566. package/types/primeng-icons-undo.d.ts +8 -11
  567. package/types/primeng-icons-upload.d.ts +8 -11
  568. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  569. package/types/primeng-icons-windowminimize.d.ts +8 -11
  570. package/types/primeng-icons.d.ts +53 -53
  571. package/types/primeng-iftalabel.d.ts +37 -37
  572. package/types/primeng-image.d.ts +403 -308
  573. package/types/primeng-imagecompare.d.ts +93 -77
  574. package/types/primeng-inplace.d.ts +125 -111
  575. package/types/primeng-inputcolor.d.ts +646 -507
  576. package/types/primeng-inputgroup.d.ts +41 -41
  577. package/types/primeng-inputgroupaddon.d.ts +31 -31
  578. package/types/primeng-inputicon.d.ts +38 -32
  579. package/types/primeng-inputmask.d.ts +519 -362
  580. package/types/primeng-inputnumber.d.ts +572 -405
  581. package/types/primeng-inputotp.d.ts +205 -156
  582. package/types/primeng-inputpassword.d.ts +59 -43
  583. package/types/primeng-inputtags.d.ts +451 -297
  584. package/types/primeng-inputtext.d.ts +129 -93
  585. package/types/primeng-keyfilter.d.ts +62 -53
  586. package/types/primeng-knob.d.ts +256 -183
  587. package/types/primeng-label.d.ts +36 -36
  588. package/types/primeng-license.d.ts +1 -3
  589. package/types/primeng-listbox.d.ts +1040 -786
  590. package/types/primeng-megamenu.d.ts +535 -383
  591. package/types/primeng-menu.d.ts +478 -361
  592. package/types/primeng-menubar.d.ts +495 -354
  593. package/types/primeng-message.d.ts +191 -148
  594. package/types/primeng-metergroup.d.ts +249 -187
  595. package/types/primeng-motion.d.ts +602 -384
  596. package/types/primeng-multiselect.d.ts +1192 -858
  597. package/types/primeng-orderlist.d.ts +538 -390
  598. package/types/primeng-organizationchart.d.ts +235 -192
  599. package/types/primeng-overlay.d.ts +394 -294
  600. package/types/primeng-overlaybadge.d.ts +95 -64
  601. package/types/primeng-paginator.d.ts +409 -309
  602. package/types/primeng-panel.d.ts +267 -217
  603. package/types/primeng-panelmenu.d.ts +254 -228
  604. package/types/primeng-passthrough.d.ts +5 -7
  605. package/types/primeng-password.d.ts +605 -430
  606. package/types/primeng-picklist.d.ts +1041 -756
  607. package/types/primeng-popover.d.ts +235 -176
  608. package/types/primeng-progressbar.d.ts +130 -99
  609. package/types/primeng-progressspinner.d.ts +144 -108
  610. package/types/primeng-radiobutton.d.ts +218 -168
  611. package/types/primeng-rating.d.ts +239 -189
  612. package/types/primeng-ripple.d.ts +38 -42
  613. package/types/primeng-scrollarea.d.ts +290 -239
  614. package/types/primeng-scroller.d.ts +522 -387
  615. package/types/primeng-scrollpanel.d.ts +134 -128
  616. package/types/primeng-scrolltop.d.ts +169 -123
  617. package/types/primeng-select.d.ts +1013 -738
  618. package/types/primeng-selectbutton.d.ts +238 -164
  619. package/types/primeng-sidebar.d.ts +794 -561
  620. package/types/primeng-skeleton.d.ts +114 -83
  621. package/types/primeng-slider.d.ts +375 -306
  622. package/types/primeng-speeddial.d.ts +492 -370
  623. package/types/primeng-splitbutton.d.ts +381 -240
  624. package/types/primeng-splitter.d.ts +392 -299
  625. package/types/primeng-stepper.d.ts +422 -250
  626. package/types/primeng-steps.d.ts +157 -134
  627. package/types/primeng-styleclass.d.ts +163 -105
  628. package/types/primeng-table.d.ts +2898 -1911
  629. package/types/primeng-tabs.d.ts +467 -301
  630. package/types/primeng-tag.d.ts +106 -85
  631. package/types/primeng-terminal.d.ts +131 -117
  632. package/types/primeng-textarea.d.ts +145 -107
  633. package/types/primeng-tieredmenu.d.ts +572 -398
  634. package/types/primeng-timeline.d.ts +125 -109
  635. package/types/primeng-toast.d.ts +310 -247
  636. package/types/primeng-togglebutton.d.ts +254 -182
  637. package/types/primeng-toggleswitch.d.ts +188 -140
  638. package/types/primeng-toolbar.d.ts +82 -76
  639. package/types/primeng-tooltip.d.ts +334 -232
  640. package/types/primeng-tree.d.ts +762 -559
  641. package/types/primeng-treeselect.d.ts +749 -547
  642. package/types/primeng-treetable.d.ts +1839 -1313
  643. package/types/primeng-ts-helpers.d.ts +4 -6
  644. package/types/primeng-types-accordion.d.ts +58 -62
  645. package/types/primeng-types-autocomplete.d.ts +230 -233
  646. package/types/primeng-types-avatar.d.ts +25 -28
  647. package/types/primeng-types-avatargroup.d.ts +11 -14
  648. package/types/primeng-types-badge.d.ts +13 -16
  649. package/types/primeng-types-blockui.d.ts +18 -21
  650. package/types/primeng-types-breadcrumb.d.ts +65 -68
  651. package/types/primeng-types-button.d.ts +106 -109
  652. package/types/primeng-types-card.d.ts +54 -57
  653. package/types/primeng-types-carousel.d.ts +143 -146
  654. package/types/primeng-types-cascadeselect.d.ts +186 -192
  655. package/types/primeng-types-chart.d.ts +34 -39
  656. package/types/primeng-types-checkbox.d.ts +52 -55
  657. package/types/primeng-types-chip.d.ts +48 -51
  658. package/types/primeng-types-colorpicker.d.ts +59 -62
  659. package/types/primeng-types-commandmenu.d.ts +98 -101
  660. package/types/primeng-types-compare.d.ts +33 -36
  661. package/types/primeng-types-confirmdialog.d.ts +124 -127
  662. package/types/primeng-types-confirmpopup.d.ts +75 -78
  663. package/types/primeng-types-contextmenu.d.ts +100 -103
  664. package/types/primeng-types-dataview.d.ts +180 -183
  665. package/types/primeng-types-datepicker.d.ts +442 -445
  666. package/types/primeng-types-dialog.d.ts +93 -96
  667. package/types/primeng-types-divider.d.ts +14 -17
  668. package/types/primeng-types-dock.d.ts +45 -48
  669. package/types/primeng-types-drawer.d.ts +62 -65
  670. package/types/primeng-types-editor.d.ts +143 -146
  671. package/types/primeng-types-fieldset.d.ts +83 -87
  672. package/types/primeng-types-fileupload.d.ts +296 -301
  673. package/types/primeng-types-floatlabel.d.ts +12 -15
  674. package/types/primeng-types-fluid.d.ts +11 -14
  675. package/types/primeng-types-galleria.d.ts +209 -212
  676. package/types/primeng-types-gallery.d.ts +195 -198
  677. package/types/primeng-types-iconfield.d.ts +12 -15
  678. package/types/primeng-types-iftalabel.d.ts +11 -14
  679. package/types/primeng-types-image.d.ts +118 -121
  680. package/types/primeng-types-imagecompare.d.ts +22 -25
  681. package/types/primeng-types-inplace.d.ts +46 -49
  682. package/types/primeng-types-inputcolor.d.ts +86 -89
  683. package/types/primeng-types-inputgroup.d.ts +11 -14
  684. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  685. package/types/primeng-types-inputicon.d.ts +11 -14
  686. package/types/primeng-types-inputmask.d.ts +30 -33
  687. package/types/primeng-types-inputnumber.d.ts +72 -75
  688. package/types/primeng-types-inputotp.d.ts +67 -70
  689. package/types/primeng-types-inputpassword.d.ts +7 -10
  690. package/types/primeng-types-inputtags.d.ts +122 -125
  691. package/types/primeng-types-inputtext.d.ts +7 -10
  692. package/types/primeng-types-knob.d.ts +23 -26
  693. package/types/primeng-types-label.d.ts +7 -10
  694. package/types/primeng-types-listbox.d.ts +262 -266
  695. package/types/primeng-types-megamenu.d.ts +135 -138
  696. package/types/primeng-types-menu.d.ts +98 -101
  697. package/types/primeng-types-menubar.d.ts +122 -125
  698. package/types/primeng-types-message.d.ts +69 -72
  699. package/types/primeng-types-metergroup.d.ts +137 -140
  700. package/types/primeng-types-motion.d.ts +11 -14
  701. package/types/primeng-types-multiselect.d.ts +329 -333
  702. package/types/primeng-types-orderlist.d.ts +126 -129
  703. package/types/primeng-types-organizationchart.d.ts +147 -153
  704. package/types/primeng-types-overlay.d.ts +31 -34
  705. package/types/primeng-types-overlaybadge.d.ts +17 -20
  706. package/types/primeng-types-paginator.d.ts +131 -134
  707. package/types/primeng-types-panel.d.ts +91 -95
  708. package/types/primeng-types-panelmenu.d.ts +150 -153
  709. package/types/primeng-types-password.d.ts +94 -97
  710. package/types/primeng-types-picklist.d.ts +250 -260
  711. package/types/primeng-types-popover.d.ts +33 -36
  712. package/types/primeng-types-progressbar.d.ts +33 -36
  713. package/types/primeng-types-progressspinner.d.ts +27 -30
  714. package/types/primeng-types-radiobutton.d.ts +29 -32
  715. package/types/primeng-types-rating.d.ts +62 -65
  716. package/types/primeng-types-scrollarea.d.ts +35 -38
  717. package/types/primeng-types-scroller.d.ts +142 -146
  718. package/types/primeng-types-scrollpanel.d.ts +31 -34
  719. package/types/primeng-types-scrolltop.d.ts +37 -40
  720. package/types/primeng-types-select.d.ts +251 -254
  721. package/types/primeng-types-selectbutton.d.ts +56 -59
  722. package/types/primeng-types-shared.d.ts +6 -9
  723. package/types/primeng-types-sidebar.d.ts +105 -108
  724. package/types/primeng-types-skeleton.d.ts +11 -14
  725. package/types/primeng-types-slider.d.ts +59 -62
  726. package/types/primeng-types-speeddial.d.ts +71 -74
  727. package/types/primeng-types-splitbutton.d.ts +35 -38
  728. package/types/primeng-types-splitter.d.ts +58 -63
  729. package/types/primeng-types-stepper.d.ts +77 -80
  730. package/types/primeng-types-table.d.ts +743 -749
  731. package/types/primeng-types-tabs.d.ts +48 -51
  732. package/types/primeng-types-tag.d.ts +27 -30
  733. package/types/primeng-types-terminal.d.ts +43 -46
  734. package/types/primeng-types-textarea.d.ts +11 -14
  735. package/types/primeng-types-tieredmenu.d.ts +154 -157
  736. package/types/primeng-types-timeline.d.ts +60 -63
  737. package/types/primeng-types-toast.d.ts +92 -95
  738. package/types/primeng-types-togglebutton.d.ts +52 -55
  739. package/types/primeng-types-toggleswitch.d.ts +41 -44
  740. package/types/primeng-types-toolbar.d.ts +34 -37
  741. package/types/primeng-types-tooltip.d.ts +17 -20
  742. package/types/primeng-types-tree.d.ts +237 -246
  743. package/types/primeng-types-treeselect.d.ts +198 -202
  744. package/types/primeng-types-treetable.d.ts +492 -497
  745. package/types/primeng-usestyle.d.ts +28 -31
  746. package/types/primeng-utils.d.ts +37 -40
  747. package/types/primeng.d.ts +2 -2
  748. package/fesm2022/primeng-icons.mjs.map +0 -1
  749. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  750. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  751. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  752. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  754. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  755. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  756. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  757. package/fesm2022/primeng-types-button.mjs.map +0 -1
  758. package/fesm2022/primeng-types-card.mjs.map +0 -1
  759. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  760. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  761. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  762. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  763. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  764. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  765. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  766. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  767. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  769. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  770. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  771. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  772. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  773. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  774. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  775. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  776. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  777. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  779. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  780. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  781. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  782. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  783. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  785. package/fesm2022/primeng-types-image.mjs.map +0 -1
  786. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  787. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  798. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  799. package/fesm2022/primeng-types-label.mjs.map +0 -1
  800. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  801. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  802. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  804. package/fesm2022/primeng-types-message.mjs.map +0 -1
  805. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  806. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  807. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  808. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  809. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  810. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  812. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  813. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  815. package/fesm2022/primeng-types-password.mjs.map +0 -1
  816. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  817. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  818. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  820. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  821. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  822. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  826. package/fesm2022/primeng-types-select.mjs.map +0 -1
  827. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  828. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  829. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  830. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  831. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  832. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  833. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  835. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  836. package/fesm2022/primeng-types-table.mjs.map +0 -1
  837. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  839. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  840. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  841. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  842. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  843. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  844. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  845. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  847. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  849. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
@@ -1,1382 +1,2091 @@
1
- export * from 'primeng/types/gallery';
2
- import { NgTemplateOutlet, isPlatformServer } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, inject, input, numberAttribute, DestroyRef, signal, computed, afterNextRender, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, Directive, viewChild, booleanAttribute, contentChildren, model, output, NgModule } from '@angular/core';
5
- import { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';
6
- import * as i1 from 'primeng/bind';
7
- import { Bind, BindModule } from 'primeng/bind';
8
- import { SharedModule } from 'primeng/api';
9
- import { style } from '@primeuix/styles/gallery';
10
- import { BaseStyle } from 'primeng/base';
11
- import * as i2 from 'primeng/carousel';
12
- import { CarouselModule } from 'primeng/carousel';
13
-
1
+ import { NgTemplateOutlet, isPlatformServer } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, DestroyRef, Directive, Injectable, NgModule, ViewEncapsulation, afterNextRender, booleanAttribute, computed, contentChildren, effect, inject, input, model, numberAttribute, output, signal, viewChild } from "@angular/core";
4
+ import { BaseComponent, PARENT_INSTANCE } from "primeng/basecomponent";
5
+ import * as i1 from "primeng/bind";
6
+ import { Bind, BindModule } from "primeng/bind";
7
+ import { SharedModule } from "primeng/api";
8
+ import { style } from "@primeuix/styles/gallery";
9
+ import { BaseStyle } from "primeng/base";
10
+ import * as i2 from "primeng/carousel";
11
+ import { CarouselModule } from "primeng/carousel";
12
+ export * from "primeng/types/gallery";
14
13
  const classes = {
15
- root: 'p-gallery',
16
- backdrop: 'p-gallery-backdrop',
17
- header: 'p-gallery-header',
18
- footer: 'p-gallery-footer',
19
- content: 'p-gallery-content',
20
- item: 'p-gallery-item',
21
- next: 'p-gallery-next',
22
- prev: 'p-gallery-prev',
23
- toolbar: 'p-gallery-toolbar',
24
- toolbarItem: 'p-gallery-toolbar-item',
25
- zoomIn: 'p-gallery-action',
26
- zoomOut: 'p-gallery-action',
27
- zoomToggle: 'p-gallery-action',
28
- rotateLeft: 'p-gallery-action',
29
- rotateRight: 'p-gallery-action',
30
- flipX: 'p-gallery-action',
31
- flipY: 'p-gallery-action',
32
- download: 'p-gallery-action',
33
- fullScreen: 'p-gallery-action',
34
- thumbnail: 'p-gallery-thumbnail',
35
- thumbnailContent: 'p-gallery-thumbnail-content',
36
- thumbnailItem: 'p-gallery-thumbnail-item'
14
+ root: "p-gallery",
15
+ backdrop: "p-gallery-backdrop",
16
+ header: "p-gallery-header",
17
+ footer: "p-gallery-footer",
18
+ content: "p-gallery-content",
19
+ item: "p-gallery-item",
20
+ next: "p-gallery-next",
21
+ prev: "p-gallery-prev",
22
+ toolbar: "p-gallery-toolbar",
23
+ toolbarItem: "p-gallery-toolbar-item",
24
+ zoomIn: "p-gallery-action",
25
+ zoomOut: "p-gallery-action",
26
+ zoomToggle: "p-gallery-action",
27
+ rotateLeft: "p-gallery-action",
28
+ rotateRight: "p-gallery-action",
29
+ flipX: "p-gallery-action",
30
+ flipY: "p-gallery-action",
31
+ download: "p-gallery-action",
32
+ fullScreen: "p-gallery-action",
33
+ thumbnail: "p-gallery-thumbnail",
34
+ thumbnailContent: "p-gallery-thumbnail-content",
35
+ thumbnailItem: "p-gallery-thumbnail-item"
36
+ };
37
+ var GalleryStyle = class GalleryStyle extends BaseStyle {
38
+ name = "gallery";
39
+ style = style;
40
+ classes = classes;
41
+ static ɵfac = i0.ɵɵngDeclareFactory({
42
+ minVersion: "12.0.0",
43
+ version: "22.2.0",
44
+ ngImport: i0,
45
+ type: GalleryStyle,
46
+ deps: null,
47
+ target: i0.ɵɵFactoryTarget.Injectable
48
+ });
49
+ static ɵprov = i0.ɵɵngDeclareInjectable({
50
+ minVersion: "12.0.0",
51
+ version: "22.2.0",
52
+ ngImport: i0,
53
+ type: GalleryStyle
54
+ });
37
55
  };
38
- class GalleryStyle extends BaseStyle {
39
- name = 'gallery';
40
- style = style;
41
- classes = classes;
42
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
43
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryStyle });
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryStyle, decorators: [{
46
- type: Injectable
47
- }] });
48
- /**
49
- *
50
- * Gallery groups a collection of contents in items.
51
- *
52
- * [Live Demo](https://www.primeng.org/gallery/)
53
- *
54
- * @module gallerystyle
55
- *
56
- */
56
+ i0.ɵɵngDeclareClassMetadata({
57
+ minVersion: "12.0.0",
58
+ version: "22.2.0",
59
+ ngImport: i0,
60
+ type: GalleryStyle,
61
+ decorators: [{ type: Injectable }]
62
+ });
57
63
  var GalleryClasses;
58
- (function (GalleryClasses) {
59
- /**
60
- * Class name of the root element
61
- */
62
- GalleryClasses["root"] = "p-gallery";
63
- /**
64
- * Class name of the backdrop element
65
- */
66
- GalleryClasses["backdrop"] = "p-gallery-backdrop";
67
- /**
68
- * Class name of the header element
69
- */
70
- GalleryClasses["header"] = "p-gallery-header";
71
- /**
72
- * Class name of the footer element
73
- */
74
- GalleryClasses["footer"] = "p-gallery-footer";
75
- /**
76
- * Class name of the content element
77
- */
78
- GalleryClasses["content"] = "p-gallery-content";
79
- /**
80
- * Class name of the item element
81
- */
82
- GalleryClasses["item"] = "p-gallery-item";
83
- /**
84
- * Class name of the next button element
85
- */
86
- GalleryClasses["next"] = "p-gallery-next";
87
- /**
88
- * Class name of the prev button element
89
- */
90
- GalleryClasses["prev"] = "p-gallery-prev";
91
- /**
92
- * Class name of the toolbar element
93
- */
94
- GalleryClasses["toolbar"] = "p-gallery-toolbar";
95
- /**
96
- * Class name of the toolbar item element
97
- */
98
- GalleryClasses["toolbarItem"] = "p-gallery-toolbar-item";
99
- /**
100
- * Class name of the action element
101
- */
102
- GalleryClasses["action"] = "p-gallery-action";
103
- /**
104
- * Class name of the thumbnail element
105
- */
106
- GalleryClasses["thumbnail"] = "p-gallery-thumbnail";
107
- /**
108
- * Class name of the thumbnail content element
109
- */
110
- GalleryClasses["thumbnailContent"] = "p-gallery-thumbnail-content";
111
- /**
112
- * Class name of the thumbnail item element
113
- */
114
- GalleryClasses["thumbnailItem"] = "p-gallery-thumbnail-item";
64
+ (function(GalleryClasses) {
65
+ GalleryClasses["root"] = "p-gallery";
66
+ GalleryClasses["backdrop"] = "p-gallery-backdrop";
67
+ GalleryClasses["header"] = "p-gallery-header";
68
+ GalleryClasses["footer"] = "p-gallery-footer";
69
+ GalleryClasses["content"] = "p-gallery-content";
70
+ GalleryClasses["item"] = "p-gallery-item";
71
+ GalleryClasses["next"] = "p-gallery-next";
72
+ GalleryClasses["prev"] = "p-gallery-prev";
73
+ GalleryClasses["toolbar"] = "p-gallery-toolbar";
74
+ GalleryClasses["toolbarItem"] = "p-gallery-toolbar-item";
75
+ GalleryClasses["action"] = "p-gallery-action";
76
+ GalleryClasses["thumbnail"] = "p-gallery-thumbnail";
77
+ GalleryClasses["thumbnailContent"] = "p-gallery-thumbnail-content";
78
+ GalleryClasses["thumbnailItem"] = "p-gallery-thumbnail-item";
115
79
  })(GalleryClasses || (GalleryClasses = {}));
116
-
117
- /**
118
- * GalleryItem represents an individual item in the gallery.
119
- * @group Components
120
- */
121
- class GalleryItem extends BaseComponent {
122
- componentName = 'GalleryItem';
123
- bindDirectiveInstance = inject(Bind, { self: true });
124
- /**
125
- * The normal scale of the gallery item.
126
- * @group Props
127
- * @defaultValue 1
128
- */
129
- normalScale = input(1, { ...(ngDevMode ? { debugName: "normalScale" } : /* istanbul ignore next */ {}), transform: numberAttribute });
130
- /**
131
- * The zoomed scale of the gallery item.
132
- * @group Props
133
- * @defaultValue 3
134
- */
135
- zoomedScale = input(3, { ...(ngDevMode ? { debugName: "zoomedScale" } : /* istanbul ignore next */ {}), transform: numberAttribute });
136
- gallery = inject(Gallery);
137
- _destroyRef = inject(DestroyRef);
138
- index = signal(-1, /* @ts-ignore */
139
- ...(ngDevMode ? [{ debugName: "index" }] : /* istanbul ignore next */ []));
140
- isActive = computed(() => this.gallery.activeIndex() === this.index(), /* @ts-ignore */
141
- ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
142
- dataActive = computed(() => (this.isActive() ? 'true' : 'false'), /* @ts-ignore */
143
- ...(ngDevMode ? [{ debugName: "dataActive" }] : /* istanbul ignore next */ []));
144
- stylePositionX = computed(() => this.position().x + 'px', /* @ts-ignore */
145
- ...(ngDevMode ? [{ debugName: "stylePositionX" }] : /* istanbul ignore next */ []));
146
- stylePositionY = computed(() => this.position().y + 'px', /* @ts-ignore */
147
- ...(ngDevMode ? [{ debugName: "stylePositionY" }] : /* istanbul ignore next */ []));
148
- styleRotation = computed(() => this.rotation() + 'deg', /* @ts-ignore */
149
- ...(ngDevMode ? [{ debugName: "styleRotation" }] : /* istanbul ignore next */ []));
150
- styleFlipX = computed(() => this.flip().x, /* @ts-ignore */
151
- ...(ngDevMode ? [{ debugName: "styleFlipX" }] : /* istanbul ignore next */ []));
152
- styleFlipY = computed(() => this.flip().y, /* @ts-ignore */
153
- ...(ngDevMode ? [{ debugName: "styleFlipY" }] : /* istanbul ignore next */ []));
154
- position = signal({ x: 0, y: 0 }, /* @ts-ignore */
155
- ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
156
- scale = signal(1, /* @ts-ignore */
157
- ...(ngDevMode ? [{ debugName: "scale" }] : /* istanbul ignore next */ []));
158
- rotation = signal(0, /* @ts-ignore */
159
- ...(ngDevMode ? [{ debugName: "rotation" }] : /* istanbul ignore next */ []));
160
- isRotating = signal(false, /* @ts-ignore */
161
- ...(ngDevMode ? [{ debugName: "isRotating" }] : /* istanbul ignore next */ []));
162
- flip = signal({ x: 1, y: 1 }, /* @ts-ignore */
163
- ...(ngDevMode ? [{ debugName: "flip" }] : /* istanbul ignore next */ []));
164
- registeredIndex = null;
165
- pointerData = new Map();
166
- pointerStart = { x: 0, y: 0 };
167
- initialPinchDistance = 0;
168
- initialPinchScale = 1;
169
- liveScale = 1;
170
- livePosition = { x: 0, y: 0 };
171
- isDragging = false;
172
- dragStart = { x: 0, y: 0 };
173
- hasDragged = false;
174
- wheelSyncTimer = null;
175
- wheelListener = null;
176
- resizeListener = null;
177
- imageLoadListener = null;
178
- constructor() {
179
- super();
180
- afterNextRender(() => {
181
- const newIndex = this.gallery.registerItem(this.registeredIndex);
182
- this.registeredIndex = newIndex;
183
- if (newIndex !== this.index()) {
184
- this.index.set(newIndex);
185
- }
186
- this.setupWheelListener();
187
- this.setupResizeListener();
188
- this.setupImageLoadListener();
189
- });
190
- // Watch activeIndex to recalculate item size
191
- effect(() => {
192
- const activeIndex = this.gallery.activeIndex();
193
- const idx = this.index();
194
- if (activeIndex === idx) {
195
- this.calculateItemSize();
196
- }
197
- });
198
- // Watch rotation changes to recalculate item size
199
- effect(() => {
200
- this.rotation(); // track rotation
201
- const activeIndex = this.gallery.activeIndex();
202
- const idx = this.index();
203
- if (activeIndex === idx) {
204
- this.calculateItemSize();
205
- }
206
- });
207
- // Watch fullscreen changes to recalculate item size
208
- effect(() => {
209
- this.gallery.isFullscreen(); // track fullscreen
210
- const activeIndex = this.gallery.activeIndex();
211
- const idx = this.index();
212
- if (activeIndex === idx) {
213
- this.calculateItemSize();
214
- }
215
- });
216
- // Watch pendingAction and execute on active item
217
- effect(() => {
218
- const action = this.gallery.pendingAction();
219
- if (!action || !this.isActive())
220
- return;
221
- switch (action.type) {
222
- case 'zoom-in':
223
- this.zoomIn();
224
- break;
225
- case 'zoom-out':
226
- this.zoomOut();
227
- break;
228
- case 'rotate-left':
229
- this.rotateLeft();
230
- break;
231
- case 'rotate-right':
232
- this.rotateRight();
233
- break;
234
- case 'flip-x':
235
- this.flipX();
236
- break;
237
- case 'flip-y':
238
- this.flipY();
239
- break;
240
- case 'download':
241
- this.download();
242
- break;
243
- }
244
- this.gallery.clearPendingAction();
245
- });
246
- // Report item state to gallery
247
- effect(() => {
248
- const active = this.isActive();
249
- const s = this.scale();
250
- const r = this.rotation();
251
- const f = this.flip();
252
- const ns = this.normalScale();
253
- if (active) {
254
- this.gallery.reportItemState({
255
- zoomed: s > ns,
256
- rotated: r !== 0,
257
- flipped: f.x === -1 || f.y === -1,
258
- scale: s,
259
- rotation: r,
260
- flip: f
261
- });
262
- }
263
- });
264
- // Sync liveScale/livePosition with signals (for toolbar-triggered changes)
265
- effect(() => {
266
- this.liveScale = this.scale();
267
- });
268
- effect(() => {
269
- const p = this.position();
270
- this.livePosition = { x: p.x, y: p.y };
271
- });
272
- // Reset position when scale <= 1
273
- effect(() => {
274
- if (this.scale() <= 1) {
275
- this.position.set({ x: 0, y: 0 });
276
- }
277
- });
278
- this._destroyRef.onDestroy(() => {
279
- this.wheelListener?.();
280
- this.resizeListener?.();
281
- this.imageLoadListener?.();
282
- if (this.rotateTimer) {
283
- clearTimeout(this.rotateTimer);
284
- }
285
- if (this.wheelSyncTimer) {
286
- clearTimeout(this.wheelSyncTimer);
287
- }
288
- });
289
- }
290
- rotateTimer = null;
291
- markRotating() {
292
- this.isRotating.set(true);
293
- const el = this.$el;
294
- if (el)
295
- el.style.transition = '';
296
- if (this.rotateTimer)
297
- clearTimeout(this.rotateTimer);
298
- this.rotateTimer = setTimeout(() => this.isRotating.set(false), 300);
299
- }
300
- onAfterViewChecked() {
301
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
302
- }
303
- setupImageLoadListener() {
304
- const el = this.$el;
305
- const imageElement = el.querySelector('img');
306
- if (!imageElement)
307
- return;
308
- if (imageElement.complete && imageElement.naturalWidth > 0) {
309
- this.calculateItemSize();
310
- }
311
- const handler = () => {
312
- this.calculateItemSize();
313
- };
314
- imageElement.addEventListener('load', handler);
315
- this.imageLoadListener = () => imageElement.removeEventListener('load', handler);
316
- }
317
- setupWheelListener() {
318
- const el = this.$el;
319
- const handler = (e) => {
320
- if (!e.ctrlKey || !this.isActive())
321
- return;
322
- e.preventDefault();
323
- el.style.transition = 'none';
324
- const delta = -e.deltaY;
325
- const scaleFactor = 1 + delta * 0.01;
326
- const newScale = Math.max(this.normalScale(), Math.min(this.zoomedScale(), this.liveScale * scaleFactor));
327
- const constraints = this.calculateConstraints(newScale);
328
- const constrainedX = Math.max(constraints.minX, Math.min(constraints.maxX, this.livePosition.x));
329
- const constrainedY = Math.max(constraints.minY, Math.min(constraints.maxY, this.livePosition.y));
330
- this.liveScale = newScale;
331
- this.livePosition = { x: constrainedX, y: constrainedY };
332
- el.style.setProperty('--px-scale', `${newScale}`);
333
- el.style.setProperty('--px-position-x', `${constrainedX}px`);
334
- el.style.setProperty('--px-position-y', `${constrainedY}px`);
335
- if (this.wheelSyncTimer) {
336
- clearTimeout(this.wheelSyncTimer);
337
- }
338
- this.wheelSyncTimer = setTimeout(() => {
339
- el.style.transition = '';
340
- el.style.cursor = this.liveScale > this.normalScale() ? 'zoom-out' : 'zoom-in';
341
- this.scale.set(this.liveScale);
342
- this.position.set(this.livePosition);
343
- this.wheelSyncTimer = null;
344
- }, 150);
345
- };
346
- el.addEventListener('wheel', handler, { passive: false });
347
- this.wheelListener = () => el.removeEventListener('wheel', handler);
348
- }
349
- setupResizeListener() {
350
- const handler = () => {
351
- if (this.gallery.activeIndex() === this.index()) {
352
- this.calculateItemSize();
353
- }
354
- };
355
- window.addEventListener('resize', handler);
356
- this.resizeListener = () => window.removeEventListener('resize', handler);
357
- }
358
- calculateItemSize() {
359
- const contentEl = this.gallery.contentEl();
360
- const el = this.$el;
361
- if (!contentEl || !el)
362
- return;
363
- const contentRect = contentEl.getBoundingClientRect();
364
- const imageElement = el.firstElementChild;
365
- if (!imageElement)
366
- return;
367
- let naturalWidth = imageElement.naturalWidth || imageElement.offsetWidth;
368
- let naturalHeight = imageElement.naturalHeight || imageElement.offsetHeight;
369
- if (naturalWidth === 0 || naturalHeight === 0)
370
- return;
371
- const isRotated = Math.abs(this.rotation()) % 180 === 90;
372
- if (isRotated) {
373
- [naturalWidth, naturalHeight] = [naturalHeight, naturalWidth];
374
- }
375
- const naturalAspectRatio = naturalWidth / naturalHeight;
376
- const contentAspectRatio = contentRect.width / contentRect.height;
377
- let targetWidth, targetHeight;
378
- if (naturalAspectRatio > contentAspectRatio) {
379
- targetWidth = Math.min(contentRect.width * 0.99, naturalWidth);
380
- targetHeight = targetWidth / naturalAspectRatio;
381
- }
382
- else {
383
- targetHeight = Math.min(contentRect.height * 0.99, naturalHeight);
384
- targetWidth = targetHeight * naturalAspectRatio;
385
- }
386
- if (isRotated) {
387
- imageElement.style.width = `${targetHeight}px`;
388
- imageElement.style.height = `${targetWidth}px`;
389
- el.style.width = `${targetHeight > 0 ? targetHeight : 'auto'}px`;
390
- el.style.height = `${targetWidth > 0 ? targetWidth : 'auto'}px`;
391
- }
392
- else {
393
- imageElement.style.width = `${targetWidth}px`;
394
- imageElement.style.height = `${targetHeight}px`;
395
- el.style.width = `${targetWidth > 0 ? targetWidth : 'auto'}px`;
396
- el.style.height = `${targetHeight > 0 ? targetHeight : 'auto'}px`;
397
- }
398
- el.style.aspectRatio = `${naturalWidth / naturalHeight}`;
399
- }
400
- calculateConstraints(targetScale) {
401
- const contentEl = this.gallery.contentEl();
402
- const el = this.$el;
403
- if (!contentEl || !el)
404
- return { minX: 0, maxX: 0, minY: 0, maxY: 0 };
405
- const contentRect = contentEl.getBoundingClientRect();
406
- const scaleToUse = targetScale !== undefined ? targetScale : this.liveScale;
407
- const itemElement = el.firstElementChild;
408
- if (!itemElement)
409
- return { minX: 0, maxX: 0, minY: 0, maxY: 0 };
410
- let originalWidth = itemElement.offsetWidth;
411
- let originalHeight = itemElement.offsetHeight;
412
- const isRotated = Math.abs(this.rotation()) % 180 === 90;
413
- if (isRotated) {
414
- [originalWidth, originalHeight] = [originalHeight, originalWidth];
415
- }
416
- const scaledWidth = originalWidth * scaleToUse;
417
- const scaledHeight = originalHeight * scaleToUse;
418
- const contentCenterX = contentRect.width / 2;
419
- const contentCenterY = contentRect.height / 2;
420
- const halfScaledWidth = scaledWidth / 2;
421
- const halfScaledHeight = scaledHeight / 2;
422
- const maxX = halfScaledWidth > contentCenterX ? halfScaledWidth - contentCenterX : 0;
423
- const minX = halfScaledWidth > contentCenterX ? -(halfScaledWidth - contentCenterX) : 0;
424
- const maxY = halfScaledHeight > contentCenterY ? halfScaledHeight - contentCenterY : 0;
425
- const minY = halfScaledHeight > contentCenterY ? -(halfScaledHeight - contentCenterY) : 0;
426
- return { minX, maxX, minY, maxY };
427
- }
428
- zoomIn() {
429
- this.scale.set(this.zoomedScale());
430
- const el = this.$el;
431
- if (el) {
432
- el.style.cursor = 'zoom-out';
433
- }
434
- }
435
- zoomOut() {
436
- this.scale.set(this.normalScale());
437
- this.position.set({ x: 0, y: 0 });
438
- const el = this.$el;
439
- if (el) {
440
- el.style.cursor = 'zoom-in';
441
- }
442
- }
443
- rotateLeft() {
444
- this.markRotating();
445
- this.rotation.update((prev) => prev - 90);
446
- }
447
- rotateRight() {
448
- this.markRotating();
449
- this.rotation.update((prev) => prev + 90);
450
- }
451
- flipX() {
452
- this.flip.update((prev) => ({ ...prev, x: Math.sign(prev.x) * -1 }));
453
- }
454
- flipY() {
455
- this.flip.update((prev) => ({ ...prev, y: Math.sign(prev.y) * -1 }));
456
- }
457
- download() {
458
- const el = this.$el;
459
- if (!el)
460
- return;
461
- const imageElement = el.querySelector('img');
462
- if (!imageElement || !imageElement.src)
463
- return;
464
- const link = document.createElement('a');
465
- link.href = imageElement.src;
466
- const urlParts = imageElement.src.split('/');
467
- const filename = urlParts[urlParts.length - 1] || 'image.jpg';
468
- link.download = filename;
469
- link.target = '_blank';
470
- document.body.appendChild(link);
471
- link.click();
472
- document.body.removeChild(link);
473
- }
474
- handleClick(e) {
475
- if (this.hasDragged) {
476
- this.hasDragged = false;
477
- return;
478
- }
479
- const el = this.$el;
480
- if (this.liveScale === this.normalScale()) {
481
- if (el) {
482
- const itemRect = el.getBoundingClientRect();
483
- const itemCenterX = itemRect.width / 2;
484
- const itemCenterY = itemRect.height / 2;
485
- const clickX = e.clientX - itemRect.left;
486
- const clickY = e.clientY - itemRect.top;
487
- const offsetX = itemCenterX - clickX;
488
- const offsetY = itemCenterY - clickY;
489
- const zoomedScale = this.zoomedScale();
490
- const zoomOffsetX = offsetX * (zoomedScale - 1);
491
- const zoomOffsetY = offsetY * (zoomedScale - 1);
492
- const constraints = this.calculateConstraints(zoomedScale);
493
- const constrainedX = Math.max(constraints.minX, Math.min(constraints.maxX, zoomOffsetX));
494
- const constrainedY = Math.max(constraints.minY, Math.min(constraints.maxY, zoomOffsetY));
495
- this.position.set({ x: constrainedX, y: constrainedY });
496
- }
497
- this.zoomIn();
498
- }
499
- else {
500
- this.zoomOut();
501
- }
502
- }
503
- handleDragStart(e) {
504
- e.preventDefault();
505
- }
506
- handlePointerDown(e) {
507
- e.currentTarget.setPointerCapture(e.pointerId);
508
- this.pointerData.set(e.pointerId, { x: e.clientX, y: e.clientY });
509
- this.pointerStart = { x: e.clientX, y: e.clientY };
510
- if (e.pointerType === 'touch' && this.pointerData.size >= 2) {
511
- this.isDragging = false;
512
- this.initialPinchDistance = 0;
513
- this.initialPinchScale = this.liveScale;
514
- }
515
- else if (this.liveScale > 1) {
516
- if (e.pointerType === 'mouse' || (e.pointerType === 'touch' && this.pointerData.size === 1)) {
517
- this.isDragging = true;
518
- this.dragStart = { x: e.clientX - this.livePosition.x, y: e.clientY - this.livePosition.y };
519
- this.hasDragged = false;
520
- }
521
- }
522
- }
523
- handlePointerMove(e) {
524
- if (!this.pointerData.has(e.pointerId))
525
- return;
526
- const el = this.$el;
527
- if (!el)
528
- return;
529
- el.style.transition = 'none';
530
- if (e.pointerType === 'mouse' && !el.style.cursor) {
531
- el.style.cursor = this.liveScale > this.normalScale() ? 'zoom-out' : 'zoom-in';
532
- }
533
- this.pointerData.set(e.pointerId, { x: e.clientX, y: e.clientY });
534
- const pointers = Array.from(this.pointerData.values());
535
- if (pointers.length === 2) {
536
- const [p1, p2] = pointers;
537
- const distance = Math.hypot(p2.x - p1.x, p2.y - p1.y);
538
- this.hasDragged = true;
539
- if (this.initialPinchDistance === 0) {
540
- this.initialPinchDistance = distance;
541
- this.initialPinchScale = this.liveScale;
542
- }
543
- else {
544
- const ratio = distance / this.initialPinchDistance;
545
- const newScale = Math.max(this.normalScale(), Math.min(this.zoomedScale(), this.initialPinchScale * ratio));
546
- const constraints = this.calculateConstraints(newScale);
547
- const constrainedX = Math.max(constraints.minX, Math.min(constraints.maxX, this.livePosition.x));
548
- const constrainedY = Math.max(constraints.minY, Math.min(constraints.maxY, this.livePosition.y));
549
- this.liveScale = newScale;
550
- this.livePosition = { x: constrainedX, y: constrainedY };
551
- el.style.setProperty('--px-scale', `${newScale}`);
552
- el.style.setProperty('--px-position-x', `${constrainedX}px`);
553
- el.style.setProperty('--px-position-y', `${constrainedY}px`);
554
- }
555
- }
556
- else if (pointers.length === 1 && this.isDragging) {
557
- const pointer = pointers[0];
558
- const newX = pointer.x - this.dragStart.x;
559
- const newY = pointer.y - this.dragStart.y;
560
- const constraints = this.calculateConstraints(this.liveScale);
561
- const computedX = Math.max(constraints.minX, Math.min(constraints.maxX, newX));
562
- const computedY = Math.max(constraints.minY, Math.min(constraints.maxY, newY));
563
- this.livePosition = { x: computedX, y: computedY };
564
- el.style.setProperty('--px-position-x', `${computedX}px`);
565
- el.style.setProperty('--px-position-y', `${computedY}px`);
566
- const distFromStart = Math.hypot(pointer.x - this.pointerStart.x, pointer.y - this.pointerStart.y);
567
- if (distFromStart > 5) {
568
- this.hasDragged = true;
569
- }
570
- }
571
- }
572
- handlePointerUp(e) {
573
- const el = this.$el;
574
- if (!el)
575
- return;
576
- el.style.transition = '';
577
- if (e.pointerType === 'mouse') {
578
- el.style.cursor = this.liveScale > this.normalScale() ? 'zoom-out' : 'zoom-in';
579
- }
580
- e.currentTarget.releasePointerCapture(e.pointerId);
581
- this.pointerData.delete(e.pointerId);
582
- if (this.pointerData.size < 2) {
583
- this.initialPinchDistance = 0;
584
- this.initialPinchScale = 1;
585
- }
586
- if (this.pointerData.size === 0) {
587
- this.isDragging = false;
588
- this.scale.set(this.liveScale);
589
- this.position.set(this.livePosition);
590
- }
591
- }
592
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
593
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.5", type: GalleryItem, isStandalone: true, selector: "p-gallery-item", inputs: { normalScale: { classPropertyName: "normalScale", publicName: "normalScale", isSignal: true, isRequired: false, transformFunction: null }, zoomedScale: { classPropertyName: "zoomedScale", publicName: "zoomedScale", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleClick($event)", "pointerdown": "handlePointerDown($event)", "pointermove": "handlePointerMove($event)", "pointerup": "handlePointerUp($event)", "dragstart": "handleDragStart($event)" }, properties: { "class": "gallery.cx('item')", "attr.data-scope": "'gallery'", "attr.data-part": "'item'", "attr.data-index": "index()", "attr.data-active": "isActive() ? '' : null", "attr.data-rotating": "isRotating() ? '' : null", "style.--px-position-x": "stylePositionX()", "style.--px-position-y": "stylePositionY()", "style.--px-scale": "scale()", "style.--px-rotation": "styleRotation()", "style.--px-flip-x": "styleFlipX()", "style.--px-flip-y": "styleFlipY()" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryItem }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
594
- }
595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryItem, decorators: [{
596
- type: Component,
597
- args: [{
598
- selector: 'p-gallery-item',
599
- standalone: true,
600
- imports: [BindModule],
601
- template: `<ng-content></ng-content>`,
602
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryItem }],
603
- changeDetection: ChangeDetectionStrategy.OnPush,
604
- encapsulation: ViewEncapsulation.None,
605
- host: {
606
- '[class]': "gallery.cx('item')",
607
- '[attr.data-scope]': "'gallery'",
608
- '[attr.data-part]': "'item'",
609
- '[attr.data-index]': 'index()',
610
- '[attr.data-active]': "isActive() ? '' : null",
611
- '[attr.data-rotating]': "isRotating() ? '' : null",
612
- '[style.--px-position-x]': 'stylePositionX()',
613
- '[style.--px-position-y]': 'stylePositionY()',
614
- '[style.--px-scale]': 'scale()',
615
- '[style.--px-rotation]': 'styleRotation()',
616
- '[style.--px-flip-x]': 'styleFlipX()',
617
- '[style.--px-flip-y]': 'styleFlipY()',
618
- '(click)': 'handleClick($event)',
619
- '(pointerdown)': 'handlePointerDown($event)',
620
- '(pointermove)': 'handlePointerMove($event)',
621
- '(pointerup)': 'handlePointerUp($event)',
622
- '(dragstart)': 'handleDragStart($event)'
623
- },
624
- hostDirectives: [Bind]
625
- }]
626
- }], ctorParameters: () => [], propDecorators: { normalScale: [{ type: i0.Input, args: [{ isSignal: true, alias: "normalScale", required: false }] }], zoomedScale: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomedScale", required: false }] }] } });
627
-
628
- /**
629
- * GalleryHeader represents the header section of the gallery.
630
- * @group Components
631
- */
632
- class GalleryHeader extends BaseComponent {
633
- componentName = 'GalleryHeader';
634
- bindDirectiveInstance = inject(Bind, { self: true });
635
- gallery = inject(Gallery);
636
- onAfterViewChecked() {
637
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
638
- }
639
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryHeader, deps: null, target: i0.ɵɵFactoryTarget.Component });
640
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: GalleryHeader, isStandalone: true, selector: "p-gallery-header", host: { properties: { "class": "gallery.cx('header')", "attr.data-scope": "'gallery'", "attr.data-part": "'header'" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryHeader }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
641
- }
642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryHeader, decorators: [{
643
- type: Component,
644
- args: [{
645
- selector: 'p-gallery-header',
646
- standalone: true,
647
- imports: [BindModule],
648
- template: `<ng-content></ng-content>`,
649
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryHeader }],
650
- changeDetection: ChangeDetectionStrategy.OnPush,
651
- encapsulation: ViewEncapsulation.None,
652
- host: {
653
- '[class]': "gallery.cx('header')",
654
- '[attr.data-scope]': "'gallery'",
655
- '[attr.data-part]': "'header'"
656
- },
657
- hostDirectives: [Bind]
658
- }]
659
- }] });
660
-
661
- /**
662
- * GalleryContent represents the main content area of the gallery.
663
- * @group Components
664
- */
665
- class GalleryContent extends BaseComponent {
666
- componentName = 'GalleryContent';
667
- bindDirectiveInstance = inject(Bind, { self: true });
668
- gallery = inject(Gallery);
669
- onAfterViewChecked() {
670
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
671
- }
672
- constructor() {
673
- super();
674
- afterNextRender(() => {
675
- this.gallery.setContentEl(this.$el);
676
- });
677
- }
678
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
679
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: GalleryContent, isStandalone: true, selector: "p-gallery-content", host: { properties: { "class": "gallery.cx('content')", "attr.data-scope": "'gallery'", "attr.data-part": "'content'" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryContent }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
680
- }
681
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryContent, decorators: [{
682
- type: Component,
683
- args: [{
684
- selector: 'p-gallery-content',
685
- standalone: true,
686
- imports: [BindModule],
687
- template: `<ng-content></ng-content>`,
688
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryContent }],
689
- changeDetection: ChangeDetectionStrategy.OnPush,
690
- encapsulation: ViewEncapsulation.None,
691
- host: {
692
- '[class]': "gallery.cx('content')",
693
- '[attr.data-scope]': "'gallery'",
694
- '[attr.data-part]': "'content'"
695
- },
696
- hostDirectives: [Bind]
697
- }]
698
- }], ctorParameters: () => [] });
699
-
700
- /**
701
- * GalleryFooter represents the footer section of the gallery.
702
- * @group Components
703
- */
704
- class GalleryFooter extends BaseComponent {
705
- componentName = 'GalleryFooter';
706
- bindDirectiveInstance = inject(Bind, { self: true });
707
- gallery = inject(Gallery);
708
- onAfterViewChecked() {
709
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
710
- }
711
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryFooter, deps: null, target: i0.ɵɵFactoryTarget.Component });
712
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: GalleryFooter, isStandalone: true, selector: "p-gallery-footer", host: { properties: { "class": "gallery.cx('footer')", "attr.data-scope": "'gallery'", "attr.data-part": "'footer'" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryFooter }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
713
- }
714
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryFooter, decorators: [{
715
- type: Component,
716
- args: [{
717
- selector: 'p-gallery-footer',
718
- standalone: true,
719
- imports: [BindModule],
720
- template: `<ng-content></ng-content>`,
721
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryFooter }],
722
- changeDetection: ChangeDetectionStrategy.OnPush,
723
- encapsulation: ViewEncapsulation.None,
724
- host: {
725
- '[class]': "gallery.cx('footer')",
726
- '[attr.data-scope]': "'gallery'",
727
- '[attr.data-part]': "'footer'"
728
- },
729
- hostDirectives: [Bind]
730
- }]
731
- }] });
732
-
733
- /**
734
- * GalleryBackdrop represents the backdrop element for fullscreen mode.
735
- * @group Components
736
- */
737
- class GalleryBackdrop extends BaseComponent {
738
- componentName = 'GalleryBackdrop';
739
- bindDirectiveInstance = inject(Bind, { self: true });
740
- gallery = inject(Gallery);
741
- onAfterViewChecked() {
742
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
743
- }
744
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryBackdrop, deps: null, target: i0.ɵɵFactoryTarget.Component });
745
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: GalleryBackdrop, isStandalone: true, selector: "p-gallery-backdrop", host: { properties: { "class": "gallery.cx('backdrop')", "attr.data-scope": "'gallery'", "attr.data-part": "'backdrop'" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryBackdrop }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
746
- }
747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryBackdrop, decorators: [{
748
- type: Component,
749
- args: [{
750
- selector: 'p-gallery-backdrop',
751
- standalone: true,
752
- imports: [BindModule],
753
- template: `<ng-content></ng-content>`,
754
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryBackdrop }],
755
- changeDetection: ChangeDetectionStrategy.OnPush,
756
- encapsulation: ViewEncapsulation.None,
757
- host: {
758
- '[class]': "gallery.cx('backdrop')",
759
- '[attr.data-scope]': "'gallery'",
760
- '[attr.data-part]': "'backdrop'"
761
- },
762
- hostDirectives: [Bind]
763
- }]
764
- }] });
765
-
766
- /**
767
- * GalleryToolbar represents the toolbar container.
768
- * @group Components
769
- */
770
- class GalleryToolbar extends BaseComponent {
771
- componentName = 'GalleryToolbar';
772
- bindDirectiveInstance = inject(Bind, { self: true });
773
- gallery = inject(Gallery);
774
- onAfterViewChecked() {
775
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
776
- }
777
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryToolbar, deps: null, target: i0.ɵɵFactoryTarget.Component });
778
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: GalleryToolbar, isStandalone: true, selector: "p-gallery-toolbar", host: { properties: { "class": "gallery.cx('toolbar')", "attr.data-scope": "'gallery'", "attr.data-part": "'toolbar'" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryToolbar }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
779
- }
780
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryToolbar, decorators: [{
781
- type: Component,
782
- args: [{
783
- selector: 'p-gallery-toolbar',
784
- standalone: true,
785
- imports: [BindModule],
786
- template: `<ng-content></ng-content>`,
787
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryToolbar }],
788
- changeDetection: ChangeDetectionStrategy.OnPush,
789
- encapsulation: ViewEncapsulation.None,
790
- host: {
791
- '[class]': "gallery.cx('toolbar')",
792
- '[attr.data-scope]': "'gallery'",
793
- '[attr.data-part]': "'toolbar'"
794
- },
795
- hostDirectives: [Bind]
796
- }]
797
- }] });
798
-
799
- /**
800
- * GalleryToolbarItem represents an individual toolbar item.
801
- * @group Components
802
- */
803
- class GalleryToolbarItem extends BaseComponent {
804
- componentName = 'GalleryToolbarItem';
805
- bindDirectiveInstance = inject(Bind, { self: true });
806
- /**
807
- * The action to dispatch when the toolbar item is clicked.
808
- * @group Props
809
- */
810
- action = input(/* @ts-ignore */
811
- ...(ngDevMode ? [undefined, { debugName: "action" }] : /* istanbul ignore next */ []));
812
- gallery = inject(Gallery);
813
- onAfterViewChecked() {
814
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
815
- }
816
- onClick() {
817
- this.gallery.handleClickAction(this.action());
818
- }
819
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryToolbarItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
820
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.5", type: GalleryToolbarItem, isStandalone: true, selector: "p-gallery-toolbar-item", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('toolbarItem')", "attr.data-scope": "'gallery'", "attr.data-part": "'toolbarItem'" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryToolbarItem }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
821
- }
822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryToolbarItem, decorators: [{
823
- type: Component,
824
- args: [{
825
- selector: 'p-gallery-toolbar-item',
826
- standalone: true,
827
- imports: [BindModule],
828
- template: `<ng-content></ng-content>`,
829
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryToolbarItem }],
830
- changeDetection: ChangeDetectionStrategy.OnPush,
831
- encapsulation: ViewEncapsulation.None,
832
- host: {
833
- '[class]': "gallery.cx('toolbarItem')",
834
- '[attr.data-scope]': "'gallery'",
835
- '[attr.data-part]': "'toolbarItem'",
836
- '(click)': 'onClick()'
837
- },
838
- hostDirectives: [Bind]
839
- }]
840
- }], propDecorators: { action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: false }] }] } });
841
-
842
- /**
843
- * GalleryPrev represents the previous navigation button.
844
- * @group Components
845
- */
846
- class GalleryPrev extends BaseComponent {
847
- componentName = 'GalleryPrev';
848
- gallery = inject(Gallery);
849
- bindDirectiveInstance = inject(Bind, { self: true });
850
- _componentStyle = inject(GalleryStyle);
851
- onClick() {
852
- this.gallery.handlePrev();
853
- }
854
- onAfterViewChecked() {
855
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
856
- }
857
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryPrev, deps: null, target: i0.ɵɵFactoryTarget.Directive });
858
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryPrev, isStandalone: true, selector: "[pGalleryPrev]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('prev')", "attr.data-scope": "'gallery'", "attr.data-part": "'prev'" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryPrev }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
859
- }
860
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryPrev, decorators: [{
861
- type: Directive,
862
- args: [{
863
- selector: '[pGalleryPrev]',
864
- standalone: true,
865
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryPrev }],
866
- host: {
867
- '[class]': "gallery.cx('prev')",
868
- '[attr.data-scope]': "'gallery'",
869
- '[attr.data-part]': "'prev'",
870
- '(click)': 'onClick()'
871
- },
872
- hostDirectives: [Bind]
873
- }]
874
- }] });
875
-
876
- /**
877
- * GalleryNext represents the next navigation button.
878
- * @group Components
879
- */
880
- class GalleryNext extends BaseComponent {
881
- componentName = 'GalleryNext';
882
- gallery = inject(Gallery);
883
- bindDirectiveInstance = inject(Bind, { self: true });
884
- _componentStyle = inject(GalleryStyle);
885
- onClick() {
886
- this.gallery.handleNext();
887
- }
888
- onAfterViewChecked() {
889
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
890
- }
891
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryNext, deps: null, target: i0.ɵɵFactoryTarget.Directive });
892
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryNext, isStandalone: true, selector: "[pGalleryNext]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('next')", "attr.data-scope": "'gallery'", "attr.data-part": "'next'" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryNext }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
893
- }
894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryNext, decorators: [{
895
- type: Directive,
896
- args: [{
897
- selector: '[pGalleryNext]',
898
- standalone: true,
899
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryNext }],
900
- host: {
901
- '[class]': "gallery.cx('next')",
902
- '[attr.data-scope]': "'gallery'",
903
- '[attr.data-part]': "'next'",
904
- '(click)': 'onClick()'
905
- },
906
- hostDirectives: [Bind]
907
- }]
908
- }] });
909
-
910
- /**
911
- * GalleryZoomIn represents the zoom in action button.
912
- * @group Components
913
- */
914
- class GalleryZoomIn extends BaseComponent {
915
- componentName = 'GalleryZoomIn';
916
- gallery = inject(Gallery);
917
- bindDirectiveInstance = inject(Bind, { self: true });
918
- _componentStyle = inject(GalleryStyle);
919
- disabledState = computed(() => (this.gallery.activeItemTransform().zoomed ? true : null), /* @ts-ignore */
920
- ...(ngDevMode ? [{ debugName: "disabledState" }] : /* istanbul ignore next */ []));
921
- onClick() {
922
- this.gallery.handleClickAction('zoomIn');
923
- }
924
- onAfterViewChecked() {
925
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
926
- }
927
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryZoomIn, deps: null, target: i0.ɵɵFactoryTarget.Directive });
928
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryZoomIn, isStandalone: true, selector: "[pGalleryZoomIn]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('zoomIn')", "attr.data-scope": "'gallery'", "attr.data-part": "'zoomIn'", "attr.data-action": "'zoom-in'", "attr.disabled": "disabledState()" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryZoomIn }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
929
- }
930
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryZoomIn, decorators: [{
931
- type: Directive,
932
- args: [{
933
- selector: '[pGalleryZoomIn]',
934
- standalone: true,
935
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryZoomIn }],
936
- host: {
937
- '[class]': "gallery.cx('zoomIn')",
938
- '[attr.data-scope]': "'gallery'",
939
- '[attr.data-part]': "'zoomIn'",
940
- '[attr.data-action]': "'zoom-in'",
941
- '[attr.disabled]': 'disabledState()',
942
- '(click)': 'onClick()'
943
- },
944
- hostDirectives: [Bind]
945
- }]
946
- }] });
947
-
948
- /**
949
- * GalleryZoomOut represents the zoom out action button.
950
- * @group Components
951
- */
952
- class GalleryZoomOut extends BaseComponent {
953
- componentName = 'GalleryZoomOut';
954
- gallery = inject(Gallery);
955
- bindDirectiveInstance = inject(Bind, { self: true });
956
- _componentStyle = inject(GalleryStyle);
957
- disabledState = computed(() => (!this.gallery.activeItemTransform().zoomed ? true : null), /* @ts-ignore */
958
- ...(ngDevMode ? [{ debugName: "disabledState" }] : /* istanbul ignore next */ []));
959
- onClick() {
960
- this.gallery.handleClickAction('zoomOut');
961
- }
962
- onAfterViewChecked() {
963
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
964
- }
965
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryZoomOut, deps: null, target: i0.ɵɵFactoryTarget.Directive });
966
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryZoomOut, isStandalone: true, selector: "[pGalleryZoomOut]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('zoomOut')", "attr.data-scope": "'gallery'", "attr.data-part": "'zoomOut'", "attr.data-action": "'zoom-out'", "attr.disabled": "disabledState()" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryZoomOut }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
967
- }
968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryZoomOut, decorators: [{
969
- type: Directive,
970
- args: [{
971
- selector: '[pGalleryZoomOut]',
972
- standalone: true,
973
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryZoomOut }],
974
- host: {
975
- '[class]': "gallery.cx('zoomOut')",
976
- '[attr.data-scope]': "'gallery'",
977
- '[attr.data-part]': "'zoomOut'",
978
- '[attr.data-action]': "'zoom-out'",
979
- '[attr.disabled]': 'disabledState()',
980
- '(click)': 'onClick()'
981
- },
982
- hostDirectives: [Bind]
983
- }]
984
- }] });
985
-
986
- /**
987
- * GalleryZoomToggle represents the zoom toggle action button.
988
- * @group Components
989
- */
990
- class GalleryZoomToggle extends BaseComponent {
991
- componentName = 'GalleryZoomToggle';
992
- gallery = inject(Gallery);
993
- bindDirectiveInstance = inject(Bind, { self: true });
994
- _componentStyle = inject(GalleryStyle);
995
- onToggle() {
996
- this.gallery.handleClickAction(this.gallery.activeItemTransform().zoomed ? 'zoomOut' : 'zoomIn');
997
- }
998
- onAfterViewChecked() {
999
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1000
- }
1001
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryZoomToggle, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1002
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryZoomToggle, isStandalone: true, selector: "[pGalleryZoomToggle]", host: { listeners: { "click": "onToggle()" }, properties: { "class": "gallery.cx('zoomToggle')", "attr.data-scope": "'gallery'", "attr.data-part": "'zoomToggle'", "attr.data-action": "'zoom-toggle'" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryZoomToggle }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
1003
- }
1004
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryZoomToggle, decorators: [{
1005
- type: Directive,
1006
- args: [{
1007
- selector: '[pGalleryZoomToggle]',
1008
- standalone: true,
1009
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryZoomToggle }],
1010
- host: {
1011
- '[class]': "gallery.cx('zoomToggle')",
1012
- '[attr.data-scope]': "'gallery'",
1013
- '[attr.data-part]': "'zoomToggle'",
1014
- '[attr.data-action]': "'zoom-toggle'",
1015
- '(click)': 'onToggle()'
1016
- },
1017
- hostDirectives: [Bind]
1018
- }]
1019
- }] });
1020
-
1021
- /**
1022
- * GalleryRotateLeft represents the rotate left action button.
1023
- * @group Components
1024
- */
1025
- class GalleryRotateLeft extends BaseComponent {
1026
- componentName = 'GalleryRotateLeft';
1027
- gallery = inject(Gallery);
1028
- bindDirectiveInstance = inject(Bind, { self: true });
1029
- _componentStyle = inject(GalleryStyle);
1030
- onClick() {
1031
- this.gallery.handleClickAction('rotateLeft');
1032
- }
1033
- onAfterViewChecked() {
1034
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1035
- }
1036
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryRotateLeft, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1037
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryRotateLeft, isStandalone: true, selector: "[pGalleryRotateLeft]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('rotateLeft')", "attr.data-scope": "'gallery'", "attr.data-part": "'rotateLeft'", "attr.data-action": "'rotate-left'" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryRotateLeft }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
1038
- }
1039
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryRotateLeft, decorators: [{
1040
- type: Directive,
1041
- args: [{
1042
- selector: '[pGalleryRotateLeft]',
1043
- standalone: true,
1044
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryRotateLeft }],
1045
- host: {
1046
- '[class]': "gallery.cx('rotateLeft')",
1047
- '[attr.data-scope]': "'gallery'",
1048
- '[attr.data-part]': "'rotateLeft'",
1049
- '[attr.data-action]': "'rotate-left'",
1050
- '(click)': 'onClick()'
1051
- },
1052
- hostDirectives: [Bind]
1053
- }]
1054
- }] });
1055
-
1056
- /**
1057
- * GalleryRotateRight represents the rotate right action button.
1058
- * @group Components
1059
- */
1060
- class GalleryRotateRight extends BaseComponent {
1061
- componentName = 'GalleryRotateRight';
1062
- gallery = inject(Gallery);
1063
- bindDirectiveInstance = inject(Bind, { self: true });
1064
- _componentStyle = inject(GalleryStyle);
1065
- onClick() {
1066
- this.gallery.handleClickAction('rotateRight');
1067
- }
1068
- onAfterViewChecked() {
1069
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1070
- }
1071
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryRotateRight, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1072
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryRotateRight, isStandalone: true, selector: "[pGalleryRotateRight]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('rotateRight')", "attr.data-scope": "'gallery'", "attr.data-part": "'rotateRight'", "attr.data-action": "'rotate-right'" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryRotateRight }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
1073
- }
1074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryRotateRight, decorators: [{
1075
- type: Directive,
1076
- args: [{
1077
- selector: '[pGalleryRotateRight]',
1078
- standalone: true,
1079
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryRotateRight }],
1080
- host: {
1081
- '[class]': "gallery.cx('rotateRight')",
1082
- '[attr.data-scope]': "'gallery'",
1083
- '[attr.data-part]': "'rotateRight'",
1084
- '[attr.data-action]': "'rotate-right'",
1085
- '(click)': 'onClick()'
1086
- },
1087
- hostDirectives: [Bind]
1088
- }]
1089
- }] });
1090
-
1091
- /**
1092
- * GalleryFlipX represents the horizontal flip action button.
1093
- * @group Components
1094
- */
1095
- class GalleryFlipX extends BaseComponent {
1096
- componentName = 'GalleryFlipX';
1097
- gallery = inject(Gallery);
1098
- bindDirectiveInstance = inject(Bind, { self: true });
1099
- _componentStyle = inject(GalleryStyle);
1100
- onClick() {
1101
- this.gallery.handleClickAction('flipX');
1102
- }
1103
- onAfterViewChecked() {
1104
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1105
- }
1106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryFlipX, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1107
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryFlipX, isStandalone: true, selector: "[pGalleryFlipX]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('flipX')", "attr.data-scope": "'gallery'", "attr.data-part": "'flipX'", "attr.data-action": "'flip-x'" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryFlipX }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
1108
- }
1109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryFlipX, decorators: [{
1110
- type: Directive,
1111
- args: [{
1112
- selector: '[pGalleryFlipX]',
1113
- standalone: true,
1114
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryFlipX }],
1115
- host: {
1116
- '[class]': "gallery.cx('flipX')",
1117
- '[attr.data-scope]': "'gallery'",
1118
- '[attr.data-part]': "'flipX'",
1119
- '[attr.data-action]': "'flip-x'",
1120
- '(click)': 'onClick()'
1121
- },
1122
- hostDirectives: [Bind]
1123
- }]
1124
- }] });
1125
-
1126
- /**
1127
- * GalleryFlipY represents the vertical flip action button.
1128
- * @group Components
1129
- */
1130
- class GalleryFlipY extends BaseComponent {
1131
- componentName = 'GalleryFlipY';
1132
- gallery = inject(Gallery);
1133
- bindDirectiveInstance = inject(Bind, { self: true });
1134
- _componentStyle = inject(GalleryStyle);
1135
- onClick() {
1136
- this.gallery.handleClickAction('flipY');
1137
- }
1138
- onAfterViewChecked() {
1139
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1140
- }
1141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryFlipY, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1142
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryFlipY, isStandalone: true, selector: "[pGalleryFlipY]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('flipY')", "attr.data-scope": "'gallery'", "attr.data-part": "'flipY'", "attr.data-action": "'flip-y'" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryFlipY }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
1143
- }
1144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryFlipY, decorators: [{
1145
- type: Directive,
1146
- args: [{
1147
- selector: '[pGalleryFlipY]',
1148
- standalone: true,
1149
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryFlipY }],
1150
- host: {
1151
- '[class]': "gallery.cx('flipY')",
1152
- '[attr.data-scope]': "'gallery'",
1153
- '[attr.data-part]': "'flipY'",
1154
- '[attr.data-action]': "'flip-y'",
1155
- '(click)': 'onClick()'
1156
- },
1157
- hostDirectives: [Bind]
1158
- }]
1159
- }] });
1160
-
1161
- /**
1162
- * GalleryFullScreen represents the fullscreen toggle button.
1163
- * @group Components
1164
- */
1165
- class GalleryFullScreen extends BaseComponent {
1166
- componentName = 'GalleryFullScreen';
1167
- gallery = inject(Gallery);
1168
- bindDirectiveInstance = inject(Bind, { self: true });
1169
- _componentStyle = inject(GalleryStyle);
1170
- dataFullscreen = computed(() => (this.gallery.isFullscreen() ? '' : null), /* @ts-ignore */
1171
- ...(ngDevMode ? [{ debugName: "dataFullscreen" }] : /* istanbul ignore next */ []));
1172
- onClick() {
1173
- this.gallery.handleClickAction('toggleFullScreen');
1174
- }
1175
- onAfterViewChecked() {
1176
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1177
- }
1178
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryFullScreen, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1179
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryFullScreen, isStandalone: true, selector: "[pGalleryFullScreen]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('fullScreen')", "attr.data-scope": "'gallery'", "attr.data-part": "'fullScreen'", "attr.data-action": "'fullscreen'", "attr.data-fullscreen": "dataFullscreen()" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryFullScreen }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
1180
- }
1181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryFullScreen, decorators: [{
1182
- type: Directive,
1183
- args: [{
1184
- selector: '[pGalleryFullScreen]',
1185
- standalone: true,
1186
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryFullScreen }],
1187
- host: {
1188
- '[class]': "gallery.cx('fullScreen')",
1189
- '[attr.data-scope]': "'gallery'",
1190
- '[attr.data-part]': "'fullScreen'",
1191
- '[attr.data-action]': "'fullscreen'",
1192
- '[attr.data-fullscreen]': 'dataFullscreen()',
1193
- '(click)': 'onClick()'
1194
- },
1195
- hostDirectives: [Bind]
1196
- }]
1197
- }] });
1198
-
1199
- /**
1200
- * GalleryDownload represents the download action button.
1201
- * @group Components
1202
- */
1203
- class GalleryDownload extends BaseComponent {
1204
- componentName = 'GalleryDownload';
1205
- gallery = inject(Gallery);
1206
- bindDirectiveInstance = inject(Bind, { self: true });
1207
- _componentStyle = inject(GalleryStyle);
1208
- onClick() {
1209
- this.gallery.handleClickAction('download');
1210
- }
1211
- onAfterViewChecked() {
1212
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1213
- }
1214
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryDownload, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1215
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.5", type: GalleryDownload, isStandalone: true, selector: "[pGalleryDownload]", host: { listeners: { "click": "onClick()" }, properties: { "class": "gallery.cx('download')", "attr.data-scope": "'gallery'", "attr.data-part": "'download'", "attr.data-action": "'download'" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryDownload }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0 });
1216
- }
1217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryDownload, decorators: [{
1218
- type: Directive,
1219
- args: [{
1220
- selector: '[pGalleryDownload]',
1221
- standalone: true,
1222
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: GalleryDownload }],
1223
- host: {
1224
- '[class]': "gallery.cx('download')",
1225
- '[attr.data-scope]': "'gallery'",
1226
- '[attr.data-part]': "'download'",
1227
- '[attr.data-action]': "'download'",
1228
- '(click)': 'onClick()'
1229
- },
1230
- hostDirectives: [Bind]
1231
- }]
1232
- }] });
1233
-
1234
- /**
1235
- * GalleryThumbnailItem represents an individual thumbnail item.
1236
- * Exposes its content as a TemplateRef so GalleryThumbnail can render it inside a carousel item.
1237
- * @group Components
1238
- */
1239
- class GalleryThumbnailItem {
1240
- /**
1241
- * The index of the thumbnail item.
1242
- * @group Props
1243
- */
1244
- index = input(/* @ts-ignore */
1245
- ...(ngDevMode ? [undefined, { debugName: "index" }] : /* istanbul ignore next */ []));
1246
- gallery = inject(Gallery);
1247
- templateRef = viewChild('content', /* @ts-ignore */
1248
- ...(ngDevMode ? [{ debugName: "templateRef" }] : /* istanbul ignore next */ []));
1249
- isActive = computed(() => {
1250
- const idx = this.index();
1251
- return idx !== undefined && this.gallery.activeIndex() === idx;
1252
- }, /* @ts-ignore */
1253
- ...(ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []));
1254
- hostClass = computed(() => this.gallery.cx('thumbnailItem'), /* @ts-ignore */
1255
- ...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
1256
- dataActive = computed(() => (this.isActive() ? '' : null), /* @ts-ignore */
1257
- ...(ngDevMode ? [{ debugName: "dataActive" }] : /* istanbul ignore next */ []));
1258
- onClick() {
1259
- const idx = this.index();
1260
- if (idx !== undefined) {
1261
- this.gallery.selectItem(idx);
1262
- }
1263
- }
1264
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryThumbnailItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
1265
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.5", type: GalleryThumbnailItem, isStandalone: true, selector: "p-gallery-thumbnail-item", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: `
80
+ var GalleryItem = class GalleryItem extends BaseComponent {
81
+ componentName = "GalleryItem";
82
+ bindDirectiveInstance = inject(Bind, { self: true });
83
+ normalScale = input(1, {
84
+ ...ngDevMode ? { debugName: "normalScale" } : /* istanbul ignore next */ {},
85
+ transform: numberAttribute
86
+ });
87
+ zoomedScale = input(3, {
88
+ ...ngDevMode ? { debugName: "zoomedScale" } : /* istanbul ignore next */ {},
89
+ transform: numberAttribute
90
+ });
91
+ gallery = inject(Gallery);
92
+ _destroyRef = inject(DestroyRef);
93
+ index = signal(-1, ...ngDevMode ? [{ debugName: "index" }] : /* istanbul ignore next */ []);
94
+ isActive = computed(() => this.gallery.activeIndex() === this.index(), ...ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []);
95
+ dataActive = computed(() => this.isActive() ? "true" : "false", ...ngDevMode ? [{ debugName: "dataActive" }] : /* istanbul ignore next */ []);
96
+ stylePositionX = computed(() => this.position().x + "px", ...ngDevMode ? [{ debugName: "stylePositionX" }] : /* istanbul ignore next */ []);
97
+ stylePositionY = computed(() => this.position().y + "px", ...ngDevMode ? [{ debugName: "stylePositionY" }] : /* istanbul ignore next */ []);
98
+ styleRotation = computed(() => this.rotation() + "deg", ...ngDevMode ? [{ debugName: "styleRotation" }] : /* istanbul ignore next */ []);
99
+ styleFlipX = computed(() => this.flip().x, ...ngDevMode ? [{ debugName: "styleFlipX" }] : /* istanbul ignore next */ []);
100
+ styleFlipY = computed(() => this.flip().y, ...ngDevMode ? [{ debugName: "styleFlipY" }] : /* istanbul ignore next */ []);
101
+ position = signal({
102
+ x: 0,
103
+ y: 0
104
+ }, ...ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []);
105
+ scale = signal(1, ...ngDevMode ? [{ debugName: "scale" }] : /* istanbul ignore next */ []);
106
+ rotation = signal(0, ...ngDevMode ? [{ debugName: "rotation" }] : /* istanbul ignore next */ []);
107
+ isRotating = signal(false, ...ngDevMode ? [{ debugName: "isRotating" }] : /* istanbul ignore next */ []);
108
+ flip = signal({
109
+ x: 1,
110
+ y: 1
111
+ }, ...ngDevMode ? [{ debugName: "flip" }] : /* istanbul ignore next */ []);
112
+ registeredIndex = null;
113
+ pointerData = /* @__PURE__ */ new Map();
114
+ pointerStart = {
115
+ x: 0,
116
+ y: 0
117
+ };
118
+ initialPinchDistance = 0;
119
+ initialPinchScale = 1;
120
+ liveScale = 1;
121
+ livePosition = {
122
+ x: 0,
123
+ y: 0
124
+ };
125
+ isDragging = false;
126
+ dragStart = {
127
+ x: 0,
128
+ y: 0
129
+ };
130
+ hasDragged = false;
131
+ wheelSyncTimer = null;
132
+ wheelListener = null;
133
+ resizeListener = null;
134
+ imageLoadListener = null;
135
+ constructor() {
136
+ super();
137
+ afterNextRender(() => {
138
+ const newIndex = this.gallery.registerItem(this.registeredIndex);
139
+ this.registeredIndex = newIndex;
140
+ if (newIndex !== this.index()) this.index.set(newIndex);
141
+ this.setupWheelListener();
142
+ this.setupResizeListener();
143
+ this.setupImageLoadListener();
144
+ });
145
+ effect(() => {
146
+ if (this.gallery.activeIndex() === this.index()) this.calculateItemSize();
147
+ });
148
+ effect(() => {
149
+ this.rotation();
150
+ if (this.gallery.activeIndex() === this.index()) this.calculateItemSize();
151
+ });
152
+ effect(() => {
153
+ this.gallery.isFullscreen();
154
+ if (this.gallery.activeIndex() === this.index()) this.calculateItemSize();
155
+ });
156
+ effect(() => {
157
+ const action = this.gallery.pendingAction();
158
+ if (!action || !this.isActive()) return;
159
+ switch (action.type) {
160
+ case "zoom-in":
161
+ this.zoomIn();
162
+ break;
163
+ case "zoom-out":
164
+ this.zoomOut();
165
+ break;
166
+ case "rotate-left":
167
+ this.rotateLeft();
168
+ break;
169
+ case "rotate-right":
170
+ this.rotateRight();
171
+ break;
172
+ case "flip-x":
173
+ this.flipX();
174
+ break;
175
+ case "flip-y":
176
+ this.flipY();
177
+ break;
178
+ case "download": this.download();
179
+ }
180
+ this.gallery.clearPendingAction();
181
+ });
182
+ effect(() => {
183
+ const active = this.isActive();
184
+ const s = this.scale();
185
+ const r = this.rotation();
186
+ const f = this.flip();
187
+ const ns = this.normalScale();
188
+ if (active) this.gallery.reportItemState({
189
+ zoomed: s > ns,
190
+ rotated: r !== 0,
191
+ flipped: f.x === -1 || f.y === -1,
192
+ scale: s,
193
+ rotation: r,
194
+ flip: f
195
+ });
196
+ });
197
+ effect(() => {
198
+ this.liveScale = this.scale();
199
+ });
200
+ effect(() => {
201
+ const p = this.position();
202
+ this.livePosition = {
203
+ x: p.x,
204
+ y: p.y
205
+ };
206
+ });
207
+ effect(() => {
208
+ if (this.scale() <= 1) this.position.set({
209
+ x: 0,
210
+ y: 0
211
+ });
212
+ });
213
+ this._destroyRef.onDestroy(() => {
214
+ this.wheelListener?.();
215
+ this.resizeListener?.();
216
+ this.imageLoadListener?.();
217
+ if (this.rotateTimer) clearTimeout(this.rotateTimer);
218
+ if (this.wheelSyncTimer) clearTimeout(this.wheelSyncTimer);
219
+ });
220
+ }
221
+ rotateTimer = null;
222
+ markRotating() {
223
+ this.isRotating.set(true);
224
+ const el = this.$el;
225
+ if (el) el.style.transition = "";
226
+ if (this.rotateTimer) clearTimeout(this.rotateTimer);
227
+ this.rotateTimer = setTimeout(() => this.isRotating.set(false), 300);
228
+ }
229
+ onAfterViewChecked() {
230
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
231
+ }
232
+ setupImageLoadListener() {
233
+ const imageElement = this.$el.querySelector("img");
234
+ if (!imageElement) return;
235
+ if (imageElement.complete && imageElement.naturalWidth > 0) this.calculateItemSize();
236
+ const handler = () => {
237
+ this.calculateItemSize();
238
+ };
239
+ imageElement.addEventListener("load", handler);
240
+ this.imageLoadListener = () => imageElement.removeEventListener("load", handler);
241
+ }
242
+ setupWheelListener() {
243
+ const el = this.$el;
244
+ const handler = (e) => {
245
+ if (!e.ctrlKey || !this.isActive()) return;
246
+ e.preventDefault();
247
+ el.style.transition = "none";
248
+ const scaleFactor = 1 + -e.deltaY * .01;
249
+ const newScale = Math.max(this.normalScale(), Math.min(this.zoomedScale(), this.liveScale * scaleFactor));
250
+ const constraints = this.calculateConstraints(newScale);
251
+ const constrainedX = Math.max(constraints.minX, Math.min(constraints.maxX, this.livePosition.x));
252
+ const constrainedY = Math.max(constraints.minY, Math.min(constraints.maxY, this.livePosition.y));
253
+ this.liveScale = newScale;
254
+ this.livePosition = {
255
+ x: constrainedX,
256
+ y: constrainedY
257
+ };
258
+ el.style.setProperty("--px-scale", `${newScale}`);
259
+ el.style.setProperty("--px-position-x", `${constrainedX}px`);
260
+ el.style.setProperty("--px-position-y", `${constrainedY}px`);
261
+ if (this.wheelSyncTimer) clearTimeout(this.wheelSyncTimer);
262
+ this.wheelSyncTimer = setTimeout(() => {
263
+ el.style.transition = "";
264
+ el.style.cursor = this.liveScale > this.normalScale() ? "zoom-out" : "zoom-in";
265
+ this.scale.set(this.liveScale);
266
+ this.position.set(this.livePosition);
267
+ this.wheelSyncTimer = null;
268
+ }, 150);
269
+ };
270
+ el.addEventListener("wheel", handler, { passive: false });
271
+ this.wheelListener = () => el.removeEventListener("wheel", handler);
272
+ }
273
+ setupResizeListener() {
274
+ const handler = () => {
275
+ if (this.gallery.activeIndex() === this.index()) this.calculateItemSize();
276
+ };
277
+ window.addEventListener("resize", handler);
278
+ this.resizeListener = () => window.removeEventListener("resize", handler);
279
+ }
280
+ calculateItemSize() {
281
+ const contentEl = this.gallery.contentEl();
282
+ const el = this.$el;
283
+ if (!contentEl || !el) return;
284
+ const contentRect = contentEl.getBoundingClientRect();
285
+ const imageElement = el.firstElementChild;
286
+ if (!imageElement) return;
287
+ let naturalWidth = imageElement.naturalWidth || imageElement.offsetWidth;
288
+ let naturalHeight = imageElement.naturalHeight || imageElement.offsetHeight;
289
+ if (naturalWidth === 0 || naturalHeight === 0) return;
290
+ const isRotated = Math.abs(this.rotation()) % 180 === 90;
291
+ if (isRotated) [naturalWidth, naturalHeight] = [naturalHeight, naturalWidth];
292
+ const naturalAspectRatio = naturalWidth / naturalHeight;
293
+ const contentAspectRatio = contentRect.width / contentRect.height;
294
+ let targetWidth, targetHeight;
295
+ if (naturalAspectRatio > contentAspectRatio) {
296
+ targetWidth = Math.min(contentRect.width * .99, naturalWidth);
297
+ targetHeight = targetWidth / naturalAspectRatio;
298
+ } else {
299
+ targetHeight = Math.min(contentRect.height * .99, naturalHeight);
300
+ targetWidth = targetHeight * naturalAspectRatio;
301
+ }
302
+ if (isRotated) {
303
+ imageElement.style.width = `${targetHeight}px`;
304
+ imageElement.style.height = `${targetWidth}px`;
305
+ el.style.width = `${targetHeight > 0 ? targetHeight : "auto"}px`;
306
+ el.style.height = `${targetWidth > 0 ? targetWidth : "auto"}px`;
307
+ } else {
308
+ imageElement.style.width = `${targetWidth}px`;
309
+ imageElement.style.height = `${targetHeight}px`;
310
+ el.style.width = `${targetWidth > 0 ? targetWidth : "auto"}px`;
311
+ el.style.height = `${targetHeight > 0 ? targetHeight : "auto"}px`;
312
+ }
313
+ el.style.aspectRatio = `${naturalWidth / naturalHeight}`;
314
+ }
315
+ calculateConstraints(targetScale) {
316
+ const contentEl = this.gallery.contentEl();
317
+ const el = this.$el;
318
+ if (!contentEl || !el) return {
319
+ minX: 0,
320
+ maxX: 0,
321
+ minY: 0,
322
+ maxY: 0
323
+ };
324
+ const contentRect = contentEl.getBoundingClientRect();
325
+ const scaleToUse = targetScale !== void 0 ? targetScale : this.liveScale;
326
+ const itemElement = el.firstElementChild;
327
+ if (!itemElement) return {
328
+ minX: 0,
329
+ maxX: 0,
330
+ minY: 0,
331
+ maxY: 0
332
+ };
333
+ let originalWidth = itemElement.offsetWidth;
334
+ let originalHeight = itemElement.offsetHeight;
335
+ if (Math.abs(this.rotation()) % 180 === 90) [originalWidth, originalHeight] = [originalHeight, originalWidth];
336
+ const scaledWidth = originalWidth * scaleToUse;
337
+ const scaledHeight = originalHeight * scaleToUse;
338
+ const contentCenterX = contentRect.width / 2;
339
+ const contentCenterY = contentRect.height / 2;
340
+ const halfScaledWidth = scaledWidth / 2;
341
+ const halfScaledHeight = scaledHeight / 2;
342
+ const maxX = halfScaledWidth > contentCenterX ? halfScaledWidth - contentCenterX : 0;
343
+ const minX = halfScaledWidth > contentCenterX ? -(halfScaledWidth - contentCenterX) : 0;
344
+ const maxY = halfScaledHeight > contentCenterY ? halfScaledHeight - contentCenterY : 0;
345
+ return {
346
+ minX,
347
+ maxX,
348
+ minY: halfScaledHeight > contentCenterY ? -(halfScaledHeight - contentCenterY) : 0,
349
+ maxY
350
+ };
351
+ }
352
+ zoomIn() {
353
+ this.scale.set(this.zoomedScale());
354
+ const el = this.$el;
355
+ if (el) el.style.cursor = "zoom-out";
356
+ }
357
+ zoomOut() {
358
+ this.scale.set(this.normalScale());
359
+ this.position.set({
360
+ x: 0,
361
+ y: 0
362
+ });
363
+ const el = this.$el;
364
+ if (el) el.style.cursor = "zoom-in";
365
+ }
366
+ rotateLeft() {
367
+ this.markRotating();
368
+ this.rotation.update((prev) => prev - 90);
369
+ }
370
+ rotateRight() {
371
+ this.markRotating();
372
+ this.rotation.update((prev) => prev + 90);
373
+ }
374
+ flipX() {
375
+ this.flip.update((prev) => ({
376
+ ...prev,
377
+ x: Math.sign(prev.x) * -1
378
+ }));
379
+ }
380
+ flipY() {
381
+ this.flip.update((prev) => ({
382
+ ...prev,
383
+ y: Math.sign(prev.y) * -1
384
+ }));
385
+ }
386
+ download() {
387
+ const el = this.$el;
388
+ if (!el) return;
389
+ const imageElement = el.querySelector("img");
390
+ if (!imageElement || !imageElement.src) return;
391
+ const link = document.createElement("a");
392
+ link.href = imageElement.src;
393
+ const urlParts = imageElement.src.split("/");
394
+ link.download = urlParts[urlParts.length - 1] || "image.jpg";
395
+ link.target = "_blank";
396
+ document.body.appendChild(link);
397
+ link.click();
398
+ document.body.removeChild(link);
399
+ }
400
+ handleClick(e) {
401
+ if (this.hasDragged) {
402
+ this.hasDragged = false;
403
+ return;
404
+ }
405
+ const el = this.$el;
406
+ if (this.liveScale === this.normalScale()) {
407
+ if (el) {
408
+ const itemRect = el.getBoundingClientRect();
409
+ const itemCenterX = itemRect.width / 2;
410
+ const itemCenterY = itemRect.height / 2;
411
+ const clickX = e.clientX - itemRect.left;
412
+ const clickY = e.clientY - itemRect.top;
413
+ const offsetX = itemCenterX - clickX;
414
+ const offsetY = itemCenterY - clickY;
415
+ const zoomedScale = this.zoomedScale();
416
+ const zoomOffsetX = offsetX * (zoomedScale - 1);
417
+ const zoomOffsetY = offsetY * (zoomedScale - 1);
418
+ const constraints = this.calculateConstraints(zoomedScale);
419
+ const constrainedX = Math.max(constraints.minX, Math.min(constraints.maxX, zoomOffsetX));
420
+ const constrainedY = Math.max(constraints.minY, Math.min(constraints.maxY, zoomOffsetY));
421
+ this.position.set({
422
+ x: constrainedX,
423
+ y: constrainedY
424
+ });
425
+ }
426
+ this.zoomIn();
427
+ } else this.zoomOut();
428
+ }
429
+ handleDragStart(e) {
430
+ e.preventDefault();
431
+ }
432
+ handlePointerDown(e) {
433
+ e.currentTarget.setPointerCapture(e.pointerId);
434
+ this.pointerData.set(e.pointerId, {
435
+ x: e.clientX,
436
+ y: e.clientY
437
+ });
438
+ this.pointerStart = {
439
+ x: e.clientX,
440
+ y: e.clientY
441
+ };
442
+ if (e.pointerType === "touch" && this.pointerData.size >= 2) {
443
+ this.isDragging = false;
444
+ this.initialPinchDistance = 0;
445
+ this.initialPinchScale = this.liveScale;
446
+ } else if (this.liveScale > 1) {
447
+ if (e.pointerType === "mouse" || e.pointerType === "touch" && this.pointerData.size === 1) {
448
+ this.isDragging = true;
449
+ this.dragStart = {
450
+ x: e.clientX - this.livePosition.x,
451
+ y: e.clientY - this.livePosition.y
452
+ };
453
+ this.hasDragged = false;
454
+ }
455
+ }
456
+ }
457
+ handlePointerMove(e) {
458
+ if (!this.pointerData.has(e.pointerId)) return;
459
+ const el = this.$el;
460
+ if (!el) return;
461
+ el.style.transition = "none";
462
+ if (e.pointerType === "mouse" && !el.style.cursor) el.style.cursor = this.liveScale > this.normalScale() ? "zoom-out" : "zoom-in";
463
+ this.pointerData.set(e.pointerId, {
464
+ x: e.clientX,
465
+ y: e.clientY
466
+ });
467
+ const pointers = Array.from(this.pointerData.values());
468
+ if (pointers.length === 2) {
469
+ const [p1, p2] = pointers;
470
+ const distance = Math.hypot(p2.x - p1.x, p2.y - p1.y);
471
+ this.hasDragged = true;
472
+ if (this.initialPinchDistance === 0) {
473
+ this.initialPinchDistance = distance;
474
+ this.initialPinchScale = this.liveScale;
475
+ } else {
476
+ const ratio = distance / this.initialPinchDistance;
477
+ const newScale = Math.max(this.normalScale(), Math.min(this.zoomedScale(), this.initialPinchScale * ratio));
478
+ const constraints = this.calculateConstraints(newScale);
479
+ const constrainedX = Math.max(constraints.minX, Math.min(constraints.maxX, this.livePosition.x));
480
+ const constrainedY = Math.max(constraints.minY, Math.min(constraints.maxY, this.livePosition.y));
481
+ this.liveScale = newScale;
482
+ this.livePosition = {
483
+ x: constrainedX,
484
+ y: constrainedY
485
+ };
486
+ el.style.setProperty("--px-scale", `${newScale}`);
487
+ el.style.setProperty("--px-position-x", `${constrainedX}px`);
488
+ el.style.setProperty("--px-position-y", `${constrainedY}px`);
489
+ }
490
+ } else if (pointers.length === 1 && this.isDragging) {
491
+ const pointer = pointers[0];
492
+ const newX = pointer.x - this.dragStart.x;
493
+ const newY = pointer.y - this.dragStart.y;
494
+ const constraints = this.calculateConstraints(this.liveScale);
495
+ const computedX = Math.max(constraints.minX, Math.min(constraints.maxX, newX));
496
+ const computedY = Math.max(constraints.minY, Math.min(constraints.maxY, newY));
497
+ this.livePosition = {
498
+ x: computedX,
499
+ y: computedY
500
+ };
501
+ el.style.setProperty("--px-position-x", `${computedX}px`);
502
+ el.style.setProperty("--px-position-y", `${computedY}px`);
503
+ if (Math.hypot(pointer.x - this.pointerStart.x, pointer.y - this.pointerStart.y) > 5) this.hasDragged = true;
504
+ }
505
+ }
506
+ handlePointerUp(e) {
507
+ const el = this.$el;
508
+ if (!el) return;
509
+ el.style.transition = "";
510
+ if (e.pointerType === "mouse") el.style.cursor = this.liveScale > this.normalScale() ? "zoom-out" : "zoom-in";
511
+ e.currentTarget.releasePointerCapture(e.pointerId);
512
+ this.pointerData.delete(e.pointerId);
513
+ if (this.pointerData.size < 2) {
514
+ this.initialPinchDistance = 0;
515
+ this.initialPinchScale = 1;
516
+ }
517
+ if (this.pointerData.size === 0) {
518
+ this.isDragging = false;
519
+ this.scale.set(this.liveScale);
520
+ this.position.set(this.livePosition);
521
+ }
522
+ }
523
+ static ɵfac = i0.ɵɵngDeclareFactory({
524
+ minVersion: "12.0.0",
525
+ version: "22.2.0",
526
+ ngImport: i0,
527
+ type: GalleryItem,
528
+ deps: [],
529
+ target: i0.ɵɵFactoryTarget.Component
530
+ });
531
+ static ɵcmp = i0.ɵɵngDeclareComponent({
532
+ minVersion: "17.1.0",
533
+ version: "22.2.0",
534
+ type: GalleryItem,
535
+ isStandalone: true,
536
+ selector: "p-gallery-item",
537
+ inputs: {
538
+ normalScale: {
539
+ classPropertyName: "normalScale",
540
+ publicName: "normalScale",
541
+ isSignal: true,
542
+ isRequired: false,
543
+ transformFunction: null
544
+ },
545
+ zoomedScale: {
546
+ classPropertyName: "zoomedScale",
547
+ publicName: "zoomedScale",
548
+ isSignal: true,
549
+ isRequired: false,
550
+ transformFunction: null
551
+ }
552
+ },
553
+ host: {
554
+ listeners: {
555
+ "click": "handleClick($event)",
556
+ "pointerdown": "handlePointerDown($event)",
557
+ "pointermove": "handlePointerMove($event)",
558
+ "pointerup": "handlePointerUp($event)",
559
+ "dragstart": "handleDragStart($event)"
560
+ },
561
+ properties: {
562
+ "class": "gallery.cx('item')",
563
+ "attr.data-scope": "'gallery'",
564
+ "attr.data-part": "'item'",
565
+ "attr.data-index": "index()",
566
+ "attr.data-active": "isActive() ? '' : null",
567
+ "attr.data-rotating": "isRotating() ? '' : null",
568
+ "style.--px-position-x": "stylePositionX()",
569
+ "style.--px-position-y": "stylePositionY()",
570
+ "style.--px-scale": "scale()",
571
+ "style.--px-rotation": "styleRotation()",
572
+ "style.--px-flip-x": "styleFlipX()",
573
+ "style.--px-flip-y": "styleFlipY()"
574
+ }
575
+ },
576
+ providers: [{
577
+ provide: PARENT_INSTANCE,
578
+ useExisting: GalleryItem
579
+ }],
580
+ usesInheritance: true,
581
+ hostDirectives: [{ directive: i1.Bind }],
582
+ ngImport: i0,
583
+ template: `<ng-content></ng-content>`,
584
+ isInline: true,
585
+ dependencies: [{
586
+ kind: "ngmodule",
587
+ type: BindModule
588
+ }],
589
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
590
+ encapsulation: i0.ViewEncapsulation.None
591
+ });
592
+ };
593
+ i0.ɵɵngDeclareClassMetadata({
594
+ minVersion: "12.0.0",
595
+ version: "22.2.0",
596
+ ngImport: i0,
597
+ type: GalleryItem,
598
+ decorators: [{
599
+ type: Component,
600
+ args: [{
601
+ selector: "p-gallery-item",
602
+ standalone: true,
603
+ imports: [BindModule],
604
+ template: `<ng-content></ng-content>`,
605
+ providers: [{
606
+ provide: PARENT_INSTANCE,
607
+ useExisting: GalleryItem
608
+ }],
609
+ changeDetection: ChangeDetectionStrategy.OnPush,
610
+ encapsulation: ViewEncapsulation.None,
611
+ host: {
612
+ "[class]": "gallery.cx('item')",
613
+ "[attr.data-scope]": "'gallery'",
614
+ "[attr.data-part]": "'item'",
615
+ "[attr.data-index]": "index()",
616
+ "[attr.data-active]": "isActive() ? '' : null",
617
+ "[attr.data-rotating]": "isRotating() ? '' : null",
618
+ "[style.--px-position-x]": "stylePositionX()",
619
+ "[style.--px-position-y]": "stylePositionY()",
620
+ "[style.--px-scale]": "scale()",
621
+ "[style.--px-rotation]": "styleRotation()",
622
+ "[style.--px-flip-x]": "styleFlipX()",
623
+ "[style.--px-flip-y]": "styleFlipY()",
624
+ "(click)": "handleClick($event)",
625
+ "(pointerdown)": "handlePointerDown($event)",
626
+ "(pointermove)": "handlePointerMove($event)",
627
+ "(pointerup)": "handlePointerUp($event)",
628
+ "(dragstart)": "handleDragStart($event)"
629
+ },
630
+ hostDirectives: [Bind]
631
+ }]
632
+ }],
633
+ ctorParameters: () => [],
634
+ propDecorators: {
635
+ normalScale: [{
636
+ type: i0.Input,
637
+ args: [{
638
+ isSignal: true,
639
+ alias: "normalScale",
640
+ required: false
641
+ }]
642
+ }],
643
+ zoomedScale: [{
644
+ type: i0.Input,
645
+ args: [{
646
+ isSignal: true,
647
+ alias: "zoomedScale",
648
+ required: false
649
+ }]
650
+ }]
651
+ }
652
+ });
653
+ var GalleryHeader = class GalleryHeader extends BaseComponent {
654
+ componentName = "GalleryHeader";
655
+ bindDirectiveInstance = inject(Bind, { self: true });
656
+ gallery = inject(Gallery);
657
+ onAfterViewChecked() {
658
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
659
+ }
660
+ static ɵfac = i0.ɵɵngDeclareFactory({
661
+ minVersion: "12.0.0",
662
+ version: "22.2.0",
663
+ ngImport: i0,
664
+ type: GalleryHeader,
665
+ deps: null,
666
+ target: i0.ɵɵFactoryTarget.Component
667
+ });
668
+ static ɵcmp = i0.ɵɵngDeclareComponent({
669
+ minVersion: "14.0.0",
670
+ version: "22.2.0",
671
+ type: GalleryHeader,
672
+ isStandalone: true,
673
+ selector: "p-gallery-header",
674
+ host: { properties: {
675
+ "class": "gallery.cx('header')",
676
+ "attr.data-scope": "'gallery'",
677
+ "attr.data-part": "'header'"
678
+ } },
679
+ providers: [{
680
+ provide: PARENT_INSTANCE,
681
+ useExisting: GalleryHeader
682
+ }],
683
+ usesInheritance: true,
684
+ hostDirectives: [{ directive: i1.Bind }],
685
+ ngImport: i0,
686
+ template: `<ng-content></ng-content>`,
687
+ isInline: true,
688
+ dependencies: [{
689
+ kind: "ngmodule",
690
+ type: BindModule
691
+ }],
692
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
693
+ encapsulation: i0.ViewEncapsulation.None
694
+ });
695
+ };
696
+ i0.ɵɵngDeclareClassMetadata({
697
+ minVersion: "12.0.0",
698
+ version: "22.2.0",
699
+ ngImport: i0,
700
+ type: GalleryHeader,
701
+ decorators: [{
702
+ type: Component,
703
+ args: [{
704
+ selector: "p-gallery-header",
705
+ standalone: true,
706
+ imports: [BindModule],
707
+ template: `<ng-content></ng-content>`,
708
+ providers: [{
709
+ provide: PARENT_INSTANCE,
710
+ useExisting: GalleryHeader
711
+ }],
712
+ changeDetection: ChangeDetectionStrategy.OnPush,
713
+ encapsulation: ViewEncapsulation.None,
714
+ host: {
715
+ "[class]": "gallery.cx('header')",
716
+ "[attr.data-scope]": "'gallery'",
717
+ "[attr.data-part]": "'header'"
718
+ },
719
+ hostDirectives: [Bind]
720
+ }]
721
+ }]
722
+ });
723
+ var GalleryContent = class GalleryContent extends BaseComponent {
724
+ componentName = "GalleryContent";
725
+ bindDirectiveInstance = inject(Bind, { self: true });
726
+ gallery = inject(Gallery);
727
+ onAfterViewChecked() {
728
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
729
+ }
730
+ constructor() {
731
+ super();
732
+ afterNextRender(() => {
733
+ this.gallery.setContentEl(this.$el);
734
+ });
735
+ }
736
+ static ɵfac = i0.ɵɵngDeclareFactory({
737
+ minVersion: "12.0.0",
738
+ version: "22.2.0",
739
+ ngImport: i0,
740
+ type: GalleryContent,
741
+ deps: [],
742
+ target: i0.ɵɵFactoryTarget.Component
743
+ });
744
+ static ɵcmp = i0.ɵɵngDeclareComponent({
745
+ minVersion: "14.0.0",
746
+ version: "22.2.0",
747
+ type: GalleryContent,
748
+ isStandalone: true,
749
+ selector: "p-gallery-content",
750
+ host: { properties: {
751
+ "class": "gallery.cx('content')",
752
+ "attr.data-scope": "'gallery'",
753
+ "attr.data-part": "'content'"
754
+ } },
755
+ providers: [{
756
+ provide: PARENT_INSTANCE,
757
+ useExisting: GalleryContent
758
+ }],
759
+ usesInheritance: true,
760
+ hostDirectives: [{ directive: i1.Bind }],
761
+ ngImport: i0,
762
+ template: `<ng-content></ng-content>`,
763
+ isInline: true,
764
+ dependencies: [{
765
+ kind: "ngmodule",
766
+ type: BindModule
767
+ }],
768
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
769
+ encapsulation: i0.ViewEncapsulation.None
770
+ });
771
+ };
772
+ i0.ɵɵngDeclareClassMetadata({
773
+ minVersion: "12.0.0",
774
+ version: "22.2.0",
775
+ ngImport: i0,
776
+ type: GalleryContent,
777
+ decorators: [{
778
+ type: Component,
779
+ args: [{
780
+ selector: "p-gallery-content",
781
+ standalone: true,
782
+ imports: [BindModule],
783
+ template: `<ng-content></ng-content>`,
784
+ providers: [{
785
+ provide: PARENT_INSTANCE,
786
+ useExisting: GalleryContent
787
+ }],
788
+ changeDetection: ChangeDetectionStrategy.OnPush,
789
+ encapsulation: ViewEncapsulation.None,
790
+ host: {
791
+ "[class]": "gallery.cx('content')",
792
+ "[attr.data-scope]": "'gallery'",
793
+ "[attr.data-part]": "'content'"
794
+ },
795
+ hostDirectives: [Bind]
796
+ }]
797
+ }],
798
+ ctorParameters: () => []
799
+ });
800
+ var GalleryFooter = class GalleryFooter extends BaseComponent {
801
+ componentName = "GalleryFooter";
802
+ bindDirectiveInstance = inject(Bind, { self: true });
803
+ gallery = inject(Gallery);
804
+ onAfterViewChecked() {
805
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
806
+ }
807
+ static ɵfac = i0.ɵɵngDeclareFactory({
808
+ minVersion: "12.0.0",
809
+ version: "22.2.0",
810
+ ngImport: i0,
811
+ type: GalleryFooter,
812
+ deps: null,
813
+ target: i0.ɵɵFactoryTarget.Component
814
+ });
815
+ static ɵcmp = i0.ɵɵngDeclareComponent({
816
+ minVersion: "14.0.0",
817
+ version: "22.2.0",
818
+ type: GalleryFooter,
819
+ isStandalone: true,
820
+ selector: "p-gallery-footer",
821
+ host: { properties: {
822
+ "class": "gallery.cx('footer')",
823
+ "attr.data-scope": "'gallery'",
824
+ "attr.data-part": "'footer'"
825
+ } },
826
+ providers: [{
827
+ provide: PARENT_INSTANCE,
828
+ useExisting: GalleryFooter
829
+ }],
830
+ usesInheritance: true,
831
+ hostDirectives: [{ directive: i1.Bind }],
832
+ ngImport: i0,
833
+ template: `<ng-content></ng-content>`,
834
+ isInline: true,
835
+ dependencies: [{
836
+ kind: "ngmodule",
837
+ type: BindModule
838
+ }],
839
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
840
+ encapsulation: i0.ViewEncapsulation.None
841
+ });
842
+ };
843
+ i0.ɵɵngDeclareClassMetadata({
844
+ minVersion: "12.0.0",
845
+ version: "22.2.0",
846
+ ngImport: i0,
847
+ type: GalleryFooter,
848
+ decorators: [{
849
+ type: Component,
850
+ args: [{
851
+ selector: "p-gallery-footer",
852
+ standalone: true,
853
+ imports: [BindModule],
854
+ template: `<ng-content></ng-content>`,
855
+ providers: [{
856
+ provide: PARENT_INSTANCE,
857
+ useExisting: GalleryFooter
858
+ }],
859
+ changeDetection: ChangeDetectionStrategy.OnPush,
860
+ encapsulation: ViewEncapsulation.None,
861
+ host: {
862
+ "[class]": "gallery.cx('footer')",
863
+ "[attr.data-scope]": "'gallery'",
864
+ "[attr.data-part]": "'footer'"
865
+ },
866
+ hostDirectives: [Bind]
867
+ }]
868
+ }]
869
+ });
870
+ var GalleryBackdrop = class GalleryBackdrop extends BaseComponent {
871
+ componentName = "GalleryBackdrop";
872
+ bindDirectiveInstance = inject(Bind, { self: true });
873
+ gallery = inject(Gallery);
874
+ onAfterViewChecked() {
875
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
876
+ }
877
+ static ɵfac = i0.ɵɵngDeclareFactory({
878
+ minVersion: "12.0.0",
879
+ version: "22.2.0",
880
+ ngImport: i0,
881
+ type: GalleryBackdrop,
882
+ deps: null,
883
+ target: i0.ɵɵFactoryTarget.Component
884
+ });
885
+ static ɵcmp = i0.ɵɵngDeclareComponent({
886
+ minVersion: "14.0.0",
887
+ version: "22.2.0",
888
+ type: GalleryBackdrop,
889
+ isStandalone: true,
890
+ selector: "p-gallery-backdrop",
891
+ host: { properties: {
892
+ "class": "gallery.cx('backdrop')",
893
+ "attr.data-scope": "'gallery'",
894
+ "attr.data-part": "'backdrop'"
895
+ } },
896
+ providers: [{
897
+ provide: PARENT_INSTANCE,
898
+ useExisting: GalleryBackdrop
899
+ }],
900
+ usesInheritance: true,
901
+ hostDirectives: [{ directive: i1.Bind }],
902
+ ngImport: i0,
903
+ template: `<ng-content></ng-content>`,
904
+ isInline: true,
905
+ dependencies: [{
906
+ kind: "ngmodule",
907
+ type: BindModule
908
+ }],
909
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
910
+ encapsulation: i0.ViewEncapsulation.None
911
+ });
912
+ };
913
+ i0.ɵɵngDeclareClassMetadata({
914
+ minVersion: "12.0.0",
915
+ version: "22.2.0",
916
+ ngImport: i0,
917
+ type: GalleryBackdrop,
918
+ decorators: [{
919
+ type: Component,
920
+ args: [{
921
+ selector: "p-gallery-backdrop",
922
+ standalone: true,
923
+ imports: [BindModule],
924
+ template: `<ng-content></ng-content>`,
925
+ providers: [{
926
+ provide: PARENT_INSTANCE,
927
+ useExisting: GalleryBackdrop
928
+ }],
929
+ changeDetection: ChangeDetectionStrategy.OnPush,
930
+ encapsulation: ViewEncapsulation.None,
931
+ host: {
932
+ "[class]": "gallery.cx('backdrop')",
933
+ "[attr.data-scope]": "'gallery'",
934
+ "[attr.data-part]": "'backdrop'"
935
+ },
936
+ hostDirectives: [Bind]
937
+ }]
938
+ }]
939
+ });
940
+ var GalleryToolbar = class GalleryToolbar extends BaseComponent {
941
+ componentName = "GalleryToolbar";
942
+ bindDirectiveInstance = inject(Bind, { self: true });
943
+ gallery = inject(Gallery);
944
+ onAfterViewChecked() {
945
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
946
+ }
947
+ static ɵfac = i0.ɵɵngDeclareFactory({
948
+ minVersion: "12.0.0",
949
+ version: "22.2.0",
950
+ ngImport: i0,
951
+ type: GalleryToolbar,
952
+ deps: null,
953
+ target: i0.ɵɵFactoryTarget.Component
954
+ });
955
+ static ɵcmp = i0.ɵɵngDeclareComponent({
956
+ minVersion: "14.0.0",
957
+ version: "22.2.0",
958
+ type: GalleryToolbar,
959
+ isStandalone: true,
960
+ selector: "p-gallery-toolbar",
961
+ host: { properties: {
962
+ "class": "gallery.cx('toolbar')",
963
+ "attr.data-scope": "'gallery'",
964
+ "attr.data-part": "'toolbar'"
965
+ } },
966
+ providers: [{
967
+ provide: PARENT_INSTANCE,
968
+ useExisting: GalleryToolbar
969
+ }],
970
+ usesInheritance: true,
971
+ hostDirectives: [{ directive: i1.Bind }],
972
+ ngImport: i0,
973
+ template: `<ng-content></ng-content>`,
974
+ isInline: true,
975
+ dependencies: [{
976
+ kind: "ngmodule",
977
+ type: BindModule
978
+ }],
979
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
980
+ encapsulation: i0.ViewEncapsulation.None
981
+ });
982
+ };
983
+ i0.ɵɵngDeclareClassMetadata({
984
+ minVersion: "12.0.0",
985
+ version: "22.2.0",
986
+ ngImport: i0,
987
+ type: GalleryToolbar,
988
+ decorators: [{
989
+ type: Component,
990
+ args: [{
991
+ selector: "p-gallery-toolbar",
992
+ standalone: true,
993
+ imports: [BindModule],
994
+ template: `<ng-content></ng-content>`,
995
+ providers: [{
996
+ provide: PARENT_INSTANCE,
997
+ useExisting: GalleryToolbar
998
+ }],
999
+ changeDetection: ChangeDetectionStrategy.OnPush,
1000
+ encapsulation: ViewEncapsulation.None,
1001
+ host: {
1002
+ "[class]": "gallery.cx('toolbar')",
1003
+ "[attr.data-scope]": "'gallery'",
1004
+ "[attr.data-part]": "'toolbar'"
1005
+ },
1006
+ hostDirectives: [Bind]
1007
+ }]
1008
+ }]
1009
+ });
1010
+ var GalleryToolbarItem = class GalleryToolbarItem extends BaseComponent {
1011
+ componentName = "GalleryToolbarItem";
1012
+ bindDirectiveInstance = inject(Bind, { self: true });
1013
+ action = input(...ngDevMode ? [void 0, { debugName: "action" }] : /* istanbul ignore next */ []);
1014
+ gallery = inject(Gallery);
1015
+ onAfterViewChecked() {
1016
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1017
+ }
1018
+ onClick() {
1019
+ this.gallery.handleClickAction(this.action());
1020
+ }
1021
+ static ɵfac = i0.ɵɵngDeclareFactory({
1022
+ minVersion: "12.0.0",
1023
+ version: "22.2.0",
1024
+ ngImport: i0,
1025
+ type: GalleryToolbarItem,
1026
+ deps: null,
1027
+ target: i0.ɵɵFactoryTarget.Component
1028
+ });
1029
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1030
+ minVersion: "17.1.0",
1031
+ version: "22.2.0",
1032
+ type: GalleryToolbarItem,
1033
+ isStandalone: true,
1034
+ selector: "p-gallery-toolbar-item",
1035
+ inputs: { action: {
1036
+ classPropertyName: "action",
1037
+ publicName: "action",
1038
+ isSignal: true,
1039
+ isRequired: false,
1040
+ transformFunction: null
1041
+ } },
1042
+ host: {
1043
+ listeners: { "click": "onClick()" },
1044
+ properties: {
1045
+ "class": "gallery.cx('toolbarItem')",
1046
+ "attr.data-scope": "'gallery'",
1047
+ "attr.data-part": "'toolbarItem'"
1048
+ }
1049
+ },
1050
+ providers: [{
1051
+ provide: PARENT_INSTANCE,
1052
+ useExisting: GalleryToolbarItem
1053
+ }],
1054
+ usesInheritance: true,
1055
+ hostDirectives: [{ directive: i1.Bind }],
1056
+ ngImport: i0,
1057
+ template: `<ng-content></ng-content>`,
1058
+ isInline: true,
1059
+ dependencies: [{
1060
+ kind: "ngmodule",
1061
+ type: BindModule
1062
+ }],
1063
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1064
+ encapsulation: i0.ViewEncapsulation.None
1065
+ });
1066
+ };
1067
+ i0.ɵɵngDeclareClassMetadata({
1068
+ minVersion: "12.0.0",
1069
+ version: "22.2.0",
1070
+ ngImport: i0,
1071
+ type: GalleryToolbarItem,
1072
+ decorators: [{
1073
+ type: Component,
1074
+ args: [{
1075
+ selector: "p-gallery-toolbar-item",
1076
+ standalone: true,
1077
+ imports: [BindModule],
1078
+ template: `<ng-content></ng-content>`,
1079
+ providers: [{
1080
+ provide: PARENT_INSTANCE,
1081
+ useExisting: GalleryToolbarItem
1082
+ }],
1083
+ changeDetection: ChangeDetectionStrategy.OnPush,
1084
+ encapsulation: ViewEncapsulation.None,
1085
+ host: {
1086
+ "[class]": "gallery.cx('toolbarItem')",
1087
+ "[attr.data-scope]": "'gallery'",
1088
+ "[attr.data-part]": "'toolbarItem'",
1089
+ "(click)": "onClick()"
1090
+ },
1091
+ hostDirectives: [Bind]
1092
+ }]
1093
+ }],
1094
+ propDecorators: { action: [{
1095
+ type: i0.Input,
1096
+ args: [{
1097
+ isSignal: true,
1098
+ alias: "action",
1099
+ required: false
1100
+ }]
1101
+ }] }
1102
+ });
1103
+ var GalleryPrev = class GalleryPrev extends BaseComponent {
1104
+ componentName = "GalleryPrev";
1105
+ gallery = inject(Gallery);
1106
+ bindDirectiveInstance = inject(Bind, { self: true });
1107
+ _componentStyle = inject(GalleryStyle);
1108
+ onClick() {
1109
+ this.gallery.handlePrev();
1110
+ }
1111
+ onAfterViewChecked() {
1112
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1113
+ }
1114
+ static ɵfac = i0.ɵɵngDeclareFactory({
1115
+ minVersion: "12.0.0",
1116
+ version: "22.2.0",
1117
+ ngImport: i0,
1118
+ type: GalleryPrev,
1119
+ deps: null,
1120
+ target: i0.ɵɵFactoryTarget.Directive
1121
+ });
1122
+ static ɵdir = i0.ɵɵngDeclareDirective({
1123
+ minVersion: "14.0.0",
1124
+ version: "22.2.0",
1125
+ type: GalleryPrev,
1126
+ isStandalone: true,
1127
+ selector: "[pGalleryPrev]",
1128
+ host: {
1129
+ listeners: { "click": "onClick()" },
1130
+ properties: {
1131
+ "class": "gallery.cx('prev')",
1132
+ "attr.data-scope": "'gallery'",
1133
+ "attr.data-part": "'prev'"
1134
+ }
1135
+ },
1136
+ providers: [GalleryStyle, {
1137
+ provide: PARENT_INSTANCE,
1138
+ useExisting: GalleryPrev
1139
+ }],
1140
+ usesInheritance: true,
1141
+ hostDirectives: [{ directive: i1.Bind }],
1142
+ ngImport: i0
1143
+ });
1144
+ };
1145
+ i0.ɵɵngDeclareClassMetadata({
1146
+ minVersion: "12.0.0",
1147
+ version: "22.2.0",
1148
+ ngImport: i0,
1149
+ type: GalleryPrev,
1150
+ decorators: [{
1151
+ type: Directive,
1152
+ args: [{
1153
+ selector: "[pGalleryPrev]",
1154
+ standalone: true,
1155
+ providers: [GalleryStyle, {
1156
+ provide: PARENT_INSTANCE,
1157
+ useExisting: GalleryPrev
1158
+ }],
1159
+ host: {
1160
+ "[class]": "gallery.cx('prev')",
1161
+ "[attr.data-scope]": "'gallery'",
1162
+ "[attr.data-part]": "'prev'",
1163
+ "(click)": "onClick()"
1164
+ },
1165
+ hostDirectives: [Bind]
1166
+ }]
1167
+ }]
1168
+ });
1169
+ var GalleryNext = class GalleryNext extends BaseComponent {
1170
+ componentName = "GalleryNext";
1171
+ gallery = inject(Gallery);
1172
+ bindDirectiveInstance = inject(Bind, { self: true });
1173
+ _componentStyle = inject(GalleryStyle);
1174
+ onClick() {
1175
+ this.gallery.handleNext();
1176
+ }
1177
+ onAfterViewChecked() {
1178
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1179
+ }
1180
+ static ɵfac = i0.ɵɵngDeclareFactory({
1181
+ minVersion: "12.0.0",
1182
+ version: "22.2.0",
1183
+ ngImport: i0,
1184
+ type: GalleryNext,
1185
+ deps: null,
1186
+ target: i0.ɵɵFactoryTarget.Directive
1187
+ });
1188
+ static ɵdir = i0.ɵɵngDeclareDirective({
1189
+ minVersion: "14.0.0",
1190
+ version: "22.2.0",
1191
+ type: GalleryNext,
1192
+ isStandalone: true,
1193
+ selector: "[pGalleryNext]",
1194
+ host: {
1195
+ listeners: { "click": "onClick()" },
1196
+ properties: {
1197
+ "class": "gallery.cx('next')",
1198
+ "attr.data-scope": "'gallery'",
1199
+ "attr.data-part": "'next'"
1200
+ }
1201
+ },
1202
+ providers: [GalleryStyle, {
1203
+ provide: PARENT_INSTANCE,
1204
+ useExisting: GalleryNext
1205
+ }],
1206
+ usesInheritance: true,
1207
+ hostDirectives: [{ directive: i1.Bind }],
1208
+ ngImport: i0
1209
+ });
1210
+ };
1211
+ i0.ɵɵngDeclareClassMetadata({
1212
+ minVersion: "12.0.0",
1213
+ version: "22.2.0",
1214
+ ngImport: i0,
1215
+ type: GalleryNext,
1216
+ decorators: [{
1217
+ type: Directive,
1218
+ args: [{
1219
+ selector: "[pGalleryNext]",
1220
+ standalone: true,
1221
+ providers: [GalleryStyle, {
1222
+ provide: PARENT_INSTANCE,
1223
+ useExisting: GalleryNext
1224
+ }],
1225
+ host: {
1226
+ "[class]": "gallery.cx('next')",
1227
+ "[attr.data-scope]": "'gallery'",
1228
+ "[attr.data-part]": "'next'",
1229
+ "(click)": "onClick()"
1230
+ },
1231
+ hostDirectives: [Bind]
1232
+ }]
1233
+ }]
1234
+ });
1235
+ var GalleryZoomIn = class GalleryZoomIn extends BaseComponent {
1236
+ componentName = "GalleryZoomIn";
1237
+ gallery = inject(Gallery);
1238
+ bindDirectiveInstance = inject(Bind, { self: true });
1239
+ _componentStyle = inject(GalleryStyle);
1240
+ disabledState = computed(() => this.gallery.activeItemTransform().zoomed ? true : null, ...ngDevMode ? [{ debugName: "disabledState" }] : /* istanbul ignore next */ []);
1241
+ onClick() {
1242
+ this.gallery.handleClickAction("zoomIn");
1243
+ }
1244
+ onAfterViewChecked() {
1245
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1246
+ }
1247
+ static ɵfac = i0.ɵɵngDeclareFactory({
1248
+ minVersion: "12.0.0",
1249
+ version: "22.2.0",
1250
+ ngImport: i0,
1251
+ type: GalleryZoomIn,
1252
+ deps: null,
1253
+ target: i0.ɵɵFactoryTarget.Directive
1254
+ });
1255
+ static ɵdir = i0.ɵɵngDeclareDirective({
1256
+ minVersion: "14.0.0",
1257
+ version: "22.2.0",
1258
+ type: GalleryZoomIn,
1259
+ isStandalone: true,
1260
+ selector: "[pGalleryZoomIn]",
1261
+ host: {
1262
+ listeners: { "click": "onClick()" },
1263
+ properties: {
1264
+ "class": "gallery.cx('zoomIn')",
1265
+ "attr.data-scope": "'gallery'",
1266
+ "attr.data-part": "'zoomIn'",
1267
+ "attr.data-action": "'zoom-in'",
1268
+ "attr.disabled": "disabledState()"
1269
+ }
1270
+ },
1271
+ providers: [GalleryStyle, {
1272
+ provide: PARENT_INSTANCE,
1273
+ useExisting: GalleryZoomIn
1274
+ }],
1275
+ usesInheritance: true,
1276
+ hostDirectives: [{ directive: i1.Bind }],
1277
+ ngImport: i0
1278
+ });
1279
+ };
1280
+ i0.ɵɵngDeclareClassMetadata({
1281
+ minVersion: "12.0.0",
1282
+ version: "22.2.0",
1283
+ ngImport: i0,
1284
+ type: GalleryZoomIn,
1285
+ decorators: [{
1286
+ type: Directive,
1287
+ args: [{
1288
+ selector: "[pGalleryZoomIn]",
1289
+ standalone: true,
1290
+ providers: [GalleryStyle, {
1291
+ provide: PARENT_INSTANCE,
1292
+ useExisting: GalleryZoomIn
1293
+ }],
1294
+ host: {
1295
+ "[class]": "gallery.cx('zoomIn')",
1296
+ "[attr.data-scope]": "'gallery'",
1297
+ "[attr.data-part]": "'zoomIn'",
1298
+ "[attr.data-action]": "'zoom-in'",
1299
+ "[attr.disabled]": "disabledState()",
1300
+ "(click)": "onClick()"
1301
+ },
1302
+ hostDirectives: [Bind]
1303
+ }]
1304
+ }]
1305
+ });
1306
+ var GalleryZoomOut = class GalleryZoomOut extends BaseComponent {
1307
+ componentName = "GalleryZoomOut";
1308
+ gallery = inject(Gallery);
1309
+ bindDirectiveInstance = inject(Bind, { self: true });
1310
+ _componentStyle = inject(GalleryStyle);
1311
+ disabledState = computed(() => !this.gallery.activeItemTransform().zoomed ? true : null, ...ngDevMode ? [{ debugName: "disabledState" }] : /* istanbul ignore next */ []);
1312
+ onClick() {
1313
+ this.gallery.handleClickAction("zoomOut");
1314
+ }
1315
+ onAfterViewChecked() {
1316
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1317
+ }
1318
+ static ɵfac = i0.ɵɵngDeclareFactory({
1319
+ minVersion: "12.0.0",
1320
+ version: "22.2.0",
1321
+ ngImport: i0,
1322
+ type: GalleryZoomOut,
1323
+ deps: null,
1324
+ target: i0.ɵɵFactoryTarget.Directive
1325
+ });
1326
+ static ɵdir = i0.ɵɵngDeclareDirective({
1327
+ minVersion: "14.0.0",
1328
+ version: "22.2.0",
1329
+ type: GalleryZoomOut,
1330
+ isStandalone: true,
1331
+ selector: "[pGalleryZoomOut]",
1332
+ host: {
1333
+ listeners: { "click": "onClick()" },
1334
+ properties: {
1335
+ "class": "gallery.cx('zoomOut')",
1336
+ "attr.data-scope": "'gallery'",
1337
+ "attr.data-part": "'zoomOut'",
1338
+ "attr.data-action": "'zoom-out'",
1339
+ "attr.disabled": "disabledState()"
1340
+ }
1341
+ },
1342
+ providers: [GalleryStyle, {
1343
+ provide: PARENT_INSTANCE,
1344
+ useExisting: GalleryZoomOut
1345
+ }],
1346
+ usesInheritance: true,
1347
+ hostDirectives: [{ directive: i1.Bind }],
1348
+ ngImport: i0
1349
+ });
1350
+ };
1351
+ i0.ɵɵngDeclareClassMetadata({
1352
+ minVersion: "12.0.0",
1353
+ version: "22.2.0",
1354
+ ngImport: i0,
1355
+ type: GalleryZoomOut,
1356
+ decorators: [{
1357
+ type: Directive,
1358
+ args: [{
1359
+ selector: "[pGalleryZoomOut]",
1360
+ standalone: true,
1361
+ providers: [GalleryStyle, {
1362
+ provide: PARENT_INSTANCE,
1363
+ useExisting: GalleryZoomOut
1364
+ }],
1365
+ host: {
1366
+ "[class]": "gallery.cx('zoomOut')",
1367
+ "[attr.data-scope]": "'gallery'",
1368
+ "[attr.data-part]": "'zoomOut'",
1369
+ "[attr.data-action]": "'zoom-out'",
1370
+ "[attr.disabled]": "disabledState()",
1371
+ "(click)": "onClick()"
1372
+ },
1373
+ hostDirectives: [Bind]
1374
+ }]
1375
+ }]
1376
+ });
1377
+ var GalleryZoomToggle = class GalleryZoomToggle extends BaseComponent {
1378
+ componentName = "GalleryZoomToggle";
1379
+ gallery = inject(Gallery);
1380
+ bindDirectiveInstance = inject(Bind, { self: true });
1381
+ _componentStyle = inject(GalleryStyle);
1382
+ onToggle() {
1383
+ this.gallery.handleClickAction(this.gallery.activeItemTransform().zoomed ? "zoomOut" : "zoomIn");
1384
+ }
1385
+ onAfterViewChecked() {
1386
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1387
+ }
1388
+ static ɵfac = i0.ɵɵngDeclareFactory({
1389
+ minVersion: "12.0.0",
1390
+ version: "22.2.0",
1391
+ ngImport: i0,
1392
+ type: GalleryZoomToggle,
1393
+ deps: null,
1394
+ target: i0.ɵɵFactoryTarget.Directive
1395
+ });
1396
+ static ɵdir = i0.ɵɵngDeclareDirective({
1397
+ minVersion: "14.0.0",
1398
+ version: "22.2.0",
1399
+ type: GalleryZoomToggle,
1400
+ isStandalone: true,
1401
+ selector: "[pGalleryZoomToggle]",
1402
+ host: {
1403
+ listeners: { "click": "onToggle()" },
1404
+ properties: {
1405
+ "class": "gallery.cx('zoomToggle')",
1406
+ "attr.data-scope": "'gallery'",
1407
+ "attr.data-part": "'zoomToggle'",
1408
+ "attr.data-action": "'zoom-toggle'"
1409
+ }
1410
+ },
1411
+ providers: [GalleryStyle, {
1412
+ provide: PARENT_INSTANCE,
1413
+ useExisting: GalleryZoomToggle
1414
+ }],
1415
+ usesInheritance: true,
1416
+ hostDirectives: [{ directive: i1.Bind }],
1417
+ ngImport: i0
1418
+ });
1419
+ };
1420
+ i0.ɵɵngDeclareClassMetadata({
1421
+ minVersion: "12.0.0",
1422
+ version: "22.2.0",
1423
+ ngImport: i0,
1424
+ type: GalleryZoomToggle,
1425
+ decorators: [{
1426
+ type: Directive,
1427
+ args: [{
1428
+ selector: "[pGalleryZoomToggle]",
1429
+ standalone: true,
1430
+ providers: [GalleryStyle, {
1431
+ provide: PARENT_INSTANCE,
1432
+ useExisting: GalleryZoomToggle
1433
+ }],
1434
+ host: {
1435
+ "[class]": "gallery.cx('zoomToggle')",
1436
+ "[attr.data-scope]": "'gallery'",
1437
+ "[attr.data-part]": "'zoomToggle'",
1438
+ "[attr.data-action]": "'zoom-toggle'",
1439
+ "(click)": "onToggle()"
1440
+ },
1441
+ hostDirectives: [Bind]
1442
+ }]
1443
+ }]
1444
+ });
1445
+ var GalleryRotateLeft = class GalleryRotateLeft extends BaseComponent {
1446
+ componentName = "GalleryRotateLeft";
1447
+ gallery = inject(Gallery);
1448
+ bindDirectiveInstance = inject(Bind, { self: true });
1449
+ _componentStyle = inject(GalleryStyle);
1450
+ onClick() {
1451
+ this.gallery.handleClickAction("rotateLeft");
1452
+ }
1453
+ onAfterViewChecked() {
1454
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1455
+ }
1456
+ static ɵfac = i0.ɵɵngDeclareFactory({
1457
+ minVersion: "12.0.0",
1458
+ version: "22.2.0",
1459
+ ngImport: i0,
1460
+ type: GalleryRotateLeft,
1461
+ deps: null,
1462
+ target: i0.ɵɵFactoryTarget.Directive
1463
+ });
1464
+ static ɵdir = i0.ɵɵngDeclareDirective({
1465
+ minVersion: "14.0.0",
1466
+ version: "22.2.0",
1467
+ type: GalleryRotateLeft,
1468
+ isStandalone: true,
1469
+ selector: "[pGalleryRotateLeft]",
1470
+ host: {
1471
+ listeners: { "click": "onClick()" },
1472
+ properties: {
1473
+ "class": "gallery.cx('rotateLeft')",
1474
+ "attr.data-scope": "'gallery'",
1475
+ "attr.data-part": "'rotateLeft'",
1476
+ "attr.data-action": "'rotate-left'"
1477
+ }
1478
+ },
1479
+ providers: [GalleryStyle, {
1480
+ provide: PARENT_INSTANCE,
1481
+ useExisting: GalleryRotateLeft
1482
+ }],
1483
+ usesInheritance: true,
1484
+ hostDirectives: [{ directive: i1.Bind }],
1485
+ ngImport: i0
1486
+ });
1487
+ };
1488
+ i0.ɵɵngDeclareClassMetadata({
1489
+ minVersion: "12.0.0",
1490
+ version: "22.2.0",
1491
+ ngImport: i0,
1492
+ type: GalleryRotateLeft,
1493
+ decorators: [{
1494
+ type: Directive,
1495
+ args: [{
1496
+ selector: "[pGalleryRotateLeft]",
1497
+ standalone: true,
1498
+ providers: [GalleryStyle, {
1499
+ provide: PARENT_INSTANCE,
1500
+ useExisting: GalleryRotateLeft
1501
+ }],
1502
+ host: {
1503
+ "[class]": "gallery.cx('rotateLeft')",
1504
+ "[attr.data-scope]": "'gallery'",
1505
+ "[attr.data-part]": "'rotateLeft'",
1506
+ "[attr.data-action]": "'rotate-left'",
1507
+ "(click)": "onClick()"
1508
+ },
1509
+ hostDirectives: [Bind]
1510
+ }]
1511
+ }]
1512
+ });
1513
+ var GalleryRotateRight = class GalleryRotateRight extends BaseComponent {
1514
+ componentName = "GalleryRotateRight";
1515
+ gallery = inject(Gallery);
1516
+ bindDirectiveInstance = inject(Bind, { self: true });
1517
+ _componentStyle = inject(GalleryStyle);
1518
+ onClick() {
1519
+ this.gallery.handleClickAction("rotateRight");
1520
+ }
1521
+ onAfterViewChecked() {
1522
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1523
+ }
1524
+ static ɵfac = i0.ɵɵngDeclareFactory({
1525
+ minVersion: "12.0.0",
1526
+ version: "22.2.0",
1527
+ ngImport: i0,
1528
+ type: GalleryRotateRight,
1529
+ deps: null,
1530
+ target: i0.ɵɵFactoryTarget.Directive
1531
+ });
1532
+ static ɵdir = i0.ɵɵngDeclareDirective({
1533
+ minVersion: "14.0.0",
1534
+ version: "22.2.0",
1535
+ type: GalleryRotateRight,
1536
+ isStandalone: true,
1537
+ selector: "[pGalleryRotateRight]",
1538
+ host: {
1539
+ listeners: { "click": "onClick()" },
1540
+ properties: {
1541
+ "class": "gallery.cx('rotateRight')",
1542
+ "attr.data-scope": "'gallery'",
1543
+ "attr.data-part": "'rotateRight'",
1544
+ "attr.data-action": "'rotate-right'"
1545
+ }
1546
+ },
1547
+ providers: [GalleryStyle, {
1548
+ provide: PARENT_INSTANCE,
1549
+ useExisting: GalleryRotateRight
1550
+ }],
1551
+ usesInheritance: true,
1552
+ hostDirectives: [{ directive: i1.Bind }],
1553
+ ngImport: i0
1554
+ });
1555
+ };
1556
+ i0.ɵɵngDeclareClassMetadata({
1557
+ minVersion: "12.0.0",
1558
+ version: "22.2.0",
1559
+ ngImport: i0,
1560
+ type: GalleryRotateRight,
1561
+ decorators: [{
1562
+ type: Directive,
1563
+ args: [{
1564
+ selector: "[pGalleryRotateRight]",
1565
+ standalone: true,
1566
+ providers: [GalleryStyle, {
1567
+ provide: PARENT_INSTANCE,
1568
+ useExisting: GalleryRotateRight
1569
+ }],
1570
+ host: {
1571
+ "[class]": "gallery.cx('rotateRight')",
1572
+ "[attr.data-scope]": "'gallery'",
1573
+ "[attr.data-part]": "'rotateRight'",
1574
+ "[attr.data-action]": "'rotate-right'",
1575
+ "(click)": "onClick()"
1576
+ },
1577
+ hostDirectives: [Bind]
1578
+ }]
1579
+ }]
1580
+ });
1581
+ var GalleryFlipX = class GalleryFlipX extends BaseComponent {
1582
+ componentName = "GalleryFlipX";
1583
+ gallery = inject(Gallery);
1584
+ bindDirectiveInstance = inject(Bind, { self: true });
1585
+ _componentStyle = inject(GalleryStyle);
1586
+ onClick() {
1587
+ this.gallery.handleClickAction("flipX");
1588
+ }
1589
+ onAfterViewChecked() {
1590
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1591
+ }
1592
+ static ɵfac = i0.ɵɵngDeclareFactory({
1593
+ minVersion: "12.0.0",
1594
+ version: "22.2.0",
1595
+ ngImport: i0,
1596
+ type: GalleryFlipX,
1597
+ deps: null,
1598
+ target: i0.ɵɵFactoryTarget.Directive
1599
+ });
1600
+ static ɵdir = i0.ɵɵngDeclareDirective({
1601
+ minVersion: "14.0.0",
1602
+ version: "22.2.0",
1603
+ type: GalleryFlipX,
1604
+ isStandalone: true,
1605
+ selector: "[pGalleryFlipX]",
1606
+ host: {
1607
+ listeners: { "click": "onClick()" },
1608
+ properties: {
1609
+ "class": "gallery.cx('flipX')",
1610
+ "attr.data-scope": "'gallery'",
1611
+ "attr.data-part": "'flipX'",
1612
+ "attr.data-action": "'flip-x'"
1613
+ }
1614
+ },
1615
+ providers: [GalleryStyle, {
1616
+ provide: PARENT_INSTANCE,
1617
+ useExisting: GalleryFlipX
1618
+ }],
1619
+ usesInheritance: true,
1620
+ hostDirectives: [{ directive: i1.Bind }],
1621
+ ngImport: i0
1622
+ });
1623
+ };
1624
+ i0.ɵɵngDeclareClassMetadata({
1625
+ minVersion: "12.0.0",
1626
+ version: "22.2.0",
1627
+ ngImport: i0,
1628
+ type: GalleryFlipX,
1629
+ decorators: [{
1630
+ type: Directive,
1631
+ args: [{
1632
+ selector: "[pGalleryFlipX]",
1633
+ standalone: true,
1634
+ providers: [GalleryStyle, {
1635
+ provide: PARENT_INSTANCE,
1636
+ useExisting: GalleryFlipX
1637
+ }],
1638
+ host: {
1639
+ "[class]": "gallery.cx('flipX')",
1640
+ "[attr.data-scope]": "'gallery'",
1641
+ "[attr.data-part]": "'flipX'",
1642
+ "[attr.data-action]": "'flip-x'",
1643
+ "(click)": "onClick()"
1644
+ },
1645
+ hostDirectives: [Bind]
1646
+ }]
1647
+ }]
1648
+ });
1649
+ var GalleryFlipY = class GalleryFlipY extends BaseComponent {
1650
+ componentName = "GalleryFlipY";
1651
+ gallery = inject(Gallery);
1652
+ bindDirectiveInstance = inject(Bind, { self: true });
1653
+ _componentStyle = inject(GalleryStyle);
1654
+ onClick() {
1655
+ this.gallery.handleClickAction("flipY");
1656
+ }
1657
+ onAfterViewChecked() {
1658
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1659
+ }
1660
+ static ɵfac = i0.ɵɵngDeclareFactory({
1661
+ minVersion: "12.0.0",
1662
+ version: "22.2.0",
1663
+ ngImport: i0,
1664
+ type: GalleryFlipY,
1665
+ deps: null,
1666
+ target: i0.ɵɵFactoryTarget.Directive
1667
+ });
1668
+ static ɵdir = i0.ɵɵngDeclareDirective({
1669
+ minVersion: "14.0.0",
1670
+ version: "22.2.0",
1671
+ type: GalleryFlipY,
1672
+ isStandalone: true,
1673
+ selector: "[pGalleryFlipY]",
1674
+ host: {
1675
+ listeners: { "click": "onClick()" },
1676
+ properties: {
1677
+ "class": "gallery.cx('flipY')",
1678
+ "attr.data-scope": "'gallery'",
1679
+ "attr.data-part": "'flipY'",
1680
+ "attr.data-action": "'flip-y'"
1681
+ }
1682
+ },
1683
+ providers: [GalleryStyle, {
1684
+ provide: PARENT_INSTANCE,
1685
+ useExisting: GalleryFlipY
1686
+ }],
1687
+ usesInheritance: true,
1688
+ hostDirectives: [{ directive: i1.Bind }],
1689
+ ngImport: i0
1690
+ });
1691
+ };
1692
+ i0.ɵɵngDeclareClassMetadata({
1693
+ minVersion: "12.0.0",
1694
+ version: "22.2.0",
1695
+ ngImport: i0,
1696
+ type: GalleryFlipY,
1697
+ decorators: [{
1698
+ type: Directive,
1699
+ args: [{
1700
+ selector: "[pGalleryFlipY]",
1701
+ standalone: true,
1702
+ providers: [GalleryStyle, {
1703
+ provide: PARENT_INSTANCE,
1704
+ useExisting: GalleryFlipY
1705
+ }],
1706
+ host: {
1707
+ "[class]": "gallery.cx('flipY')",
1708
+ "[attr.data-scope]": "'gallery'",
1709
+ "[attr.data-part]": "'flipY'",
1710
+ "[attr.data-action]": "'flip-y'",
1711
+ "(click)": "onClick()"
1712
+ },
1713
+ hostDirectives: [Bind]
1714
+ }]
1715
+ }]
1716
+ });
1717
+ var GalleryFullScreen = class GalleryFullScreen extends BaseComponent {
1718
+ componentName = "GalleryFullScreen";
1719
+ gallery = inject(Gallery);
1720
+ bindDirectiveInstance = inject(Bind, { self: true });
1721
+ _componentStyle = inject(GalleryStyle);
1722
+ dataFullscreen = computed(() => this.gallery.isFullscreen() ? "" : null, ...ngDevMode ? [{ debugName: "dataFullscreen" }] : /* istanbul ignore next */ []);
1723
+ onClick() {
1724
+ this.gallery.handleClickAction("toggleFullScreen");
1725
+ }
1726
+ onAfterViewChecked() {
1727
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1728
+ }
1729
+ static ɵfac = i0.ɵɵngDeclareFactory({
1730
+ minVersion: "12.0.0",
1731
+ version: "22.2.0",
1732
+ ngImport: i0,
1733
+ type: GalleryFullScreen,
1734
+ deps: null,
1735
+ target: i0.ɵɵFactoryTarget.Directive
1736
+ });
1737
+ static ɵdir = i0.ɵɵngDeclareDirective({
1738
+ minVersion: "14.0.0",
1739
+ version: "22.2.0",
1740
+ type: GalleryFullScreen,
1741
+ isStandalone: true,
1742
+ selector: "[pGalleryFullScreen]",
1743
+ host: {
1744
+ listeners: { "click": "onClick()" },
1745
+ properties: {
1746
+ "class": "gallery.cx('fullScreen')",
1747
+ "attr.data-scope": "'gallery'",
1748
+ "attr.data-part": "'fullScreen'",
1749
+ "attr.data-action": "'fullscreen'",
1750
+ "attr.data-fullscreen": "dataFullscreen()"
1751
+ }
1752
+ },
1753
+ providers: [GalleryStyle, {
1754
+ provide: PARENT_INSTANCE,
1755
+ useExisting: GalleryFullScreen
1756
+ }],
1757
+ usesInheritance: true,
1758
+ hostDirectives: [{ directive: i1.Bind }],
1759
+ ngImport: i0
1760
+ });
1761
+ };
1762
+ i0.ɵɵngDeclareClassMetadata({
1763
+ minVersion: "12.0.0",
1764
+ version: "22.2.0",
1765
+ ngImport: i0,
1766
+ type: GalleryFullScreen,
1767
+ decorators: [{
1768
+ type: Directive,
1769
+ args: [{
1770
+ selector: "[pGalleryFullScreen]",
1771
+ standalone: true,
1772
+ providers: [GalleryStyle, {
1773
+ provide: PARENT_INSTANCE,
1774
+ useExisting: GalleryFullScreen
1775
+ }],
1776
+ host: {
1777
+ "[class]": "gallery.cx('fullScreen')",
1778
+ "[attr.data-scope]": "'gallery'",
1779
+ "[attr.data-part]": "'fullScreen'",
1780
+ "[attr.data-action]": "'fullscreen'",
1781
+ "[attr.data-fullscreen]": "dataFullscreen()",
1782
+ "(click)": "onClick()"
1783
+ },
1784
+ hostDirectives: [Bind]
1785
+ }]
1786
+ }]
1787
+ });
1788
+ var GalleryDownload = class GalleryDownload extends BaseComponent {
1789
+ componentName = "GalleryDownload";
1790
+ gallery = inject(Gallery);
1791
+ bindDirectiveInstance = inject(Bind, { self: true });
1792
+ _componentStyle = inject(GalleryStyle);
1793
+ onClick() {
1794
+ this.gallery.handleClickAction("download");
1795
+ }
1796
+ onAfterViewChecked() {
1797
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1798
+ }
1799
+ static ɵfac = i0.ɵɵngDeclareFactory({
1800
+ minVersion: "12.0.0",
1801
+ version: "22.2.0",
1802
+ ngImport: i0,
1803
+ type: GalleryDownload,
1804
+ deps: null,
1805
+ target: i0.ɵɵFactoryTarget.Directive
1806
+ });
1807
+ static ɵdir = i0.ɵɵngDeclareDirective({
1808
+ minVersion: "14.0.0",
1809
+ version: "22.2.0",
1810
+ type: GalleryDownload,
1811
+ isStandalone: true,
1812
+ selector: "[pGalleryDownload]",
1813
+ host: {
1814
+ listeners: { "click": "onClick()" },
1815
+ properties: {
1816
+ "class": "gallery.cx('download')",
1817
+ "attr.data-scope": "'gallery'",
1818
+ "attr.data-part": "'download'",
1819
+ "attr.data-action": "'download'"
1820
+ }
1821
+ },
1822
+ providers: [GalleryStyle, {
1823
+ provide: PARENT_INSTANCE,
1824
+ useExisting: GalleryDownload
1825
+ }],
1826
+ usesInheritance: true,
1827
+ hostDirectives: [{ directive: i1.Bind }],
1828
+ ngImport: i0
1829
+ });
1830
+ };
1831
+ i0.ɵɵngDeclareClassMetadata({
1832
+ minVersion: "12.0.0",
1833
+ version: "22.2.0",
1834
+ ngImport: i0,
1835
+ type: GalleryDownload,
1836
+ decorators: [{
1837
+ type: Directive,
1838
+ args: [{
1839
+ selector: "[pGalleryDownload]",
1840
+ standalone: true,
1841
+ providers: [GalleryStyle, {
1842
+ provide: PARENT_INSTANCE,
1843
+ useExisting: GalleryDownload
1844
+ }],
1845
+ host: {
1846
+ "[class]": "gallery.cx('download')",
1847
+ "[attr.data-scope]": "'gallery'",
1848
+ "[attr.data-part]": "'download'",
1849
+ "[attr.data-action]": "'download'",
1850
+ "(click)": "onClick()"
1851
+ },
1852
+ hostDirectives: [Bind]
1853
+ }]
1854
+ }]
1855
+ });
1856
+ var GalleryThumbnailItem = class GalleryThumbnailItem {
1857
+ index = input(...ngDevMode ? [void 0, { debugName: "index" }] : /* istanbul ignore next */ []);
1858
+ gallery = inject(Gallery);
1859
+ templateRef = viewChild("content", ...ngDevMode ? [{ debugName: "templateRef" }] : /* istanbul ignore next */ []);
1860
+ isActive = computed(() => {
1861
+ const idx = this.index();
1862
+ return idx !== void 0 && this.gallery.activeIndex() === idx;
1863
+ }, ...ngDevMode ? [{ debugName: "isActive" }] : /* istanbul ignore next */ []);
1864
+ hostClass = computed(() => this.gallery.cx("thumbnailItem"), ...ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []);
1865
+ dataActive = computed(() => this.isActive() ? "" : null, ...ngDevMode ? [{ debugName: "dataActive" }] : /* istanbul ignore next */ []);
1866
+ onClick() {
1867
+ const idx = this.index();
1868
+ if (idx !== void 0) this.gallery.selectItem(idx);
1869
+ }
1870
+ static ɵfac = i0.ɵɵngDeclareFactory({
1871
+ minVersion: "12.0.0",
1872
+ version: "22.2.0",
1873
+ ngImport: i0,
1874
+ type: GalleryThumbnailItem,
1875
+ deps: [],
1876
+ target: i0.ɵɵFactoryTarget.Component
1877
+ });
1878
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1879
+ minVersion: "17.2.0",
1880
+ version: "22.2.0",
1881
+ type: GalleryThumbnailItem,
1882
+ isStandalone: true,
1883
+ selector: "p-gallery-thumbnail-item",
1884
+ inputs: { index: {
1885
+ classPropertyName: "index",
1886
+ publicName: "index",
1887
+ isSignal: true,
1888
+ isRequired: false,
1889
+ transformFunction: null
1890
+ } },
1891
+ viewQueries: [{
1892
+ propertyName: "templateRef",
1893
+ first: true,
1894
+ predicate: ["content"],
1895
+ descendants: true,
1896
+ isSignal: true
1897
+ }],
1898
+ ngImport: i0,
1899
+ template: `
1266
1900
  <ng-template #content>
1267
1901
  <ng-content></ng-content>
1268
1902
  </ng-template>
1269
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1270
- }
1271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryThumbnailItem, decorators: [{
1272
- type: Component,
1273
- args: [{
1274
- selector: 'p-gallery-thumbnail-item',
1275
- standalone: true,
1276
- template: `
1903
+ `,
1904
+ isInline: true,
1905
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1906
+ encapsulation: i0.ViewEncapsulation.None
1907
+ });
1908
+ };
1909
+ i0.ɵɵngDeclareClassMetadata({
1910
+ minVersion: "12.0.0",
1911
+ version: "22.2.0",
1912
+ ngImport: i0,
1913
+ type: GalleryThumbnailItem,
1914
+ decorators: [{
1915
+ type: Component,
1916
+ args: [{
1917
+ selector: "p-gallery-thumbnail-item",
1918
+ standalone: true,
1919
+ template: `
1277
1920
  <ng-template #content>
1278
1921
  <ng-content></ng-content>
1279
1922
  </ng-template>
1280
1923
  `,
1281
- changeDetection: ChangeDetectionStrategy.OnPush,
1282
- encapsulation: ViewEncapsulation.None
1283
- }]
1284
- }], propDecorators: { index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], templateRef: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }] } });
1285
-
1286
- /**
1287
- * GalleryThumbnail represents the thumbnail carousel wrapper.
1288
- * @group Components
1289
- */
1290
- class GalleryThumbnail extends BaseComponent {
1291
- componentName = 'GalleryThumbnail';
1292
- bindDirectiveInstance = inject(Bind, { self: true });
1293
- gallery = inject(Gallery);
1294
- /**
1295
- * Whether the carousel should auto size items.
1296
- * @group Props
1297
- * @defaultValue true
1298
- */
1299
- autoSize = input(true, { ...(ngDevMode ? { debugName: "autoSize" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1300
- /**
1301
- * Whether the carousel should loop.
1302
- * @group Props
1303
- * @defaultValue true
1304
- */
1305
- loop = input(true, { ...(ngDevMode ? { debugName: "loop" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1306
- /**
1307
- * Alignment of the carousel items.
1308
- * @group Props
1309
- * @defaultValue 'center'
1310
- */
1311
- align = input('center', /* @ts-ignore */
1312
- ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
1313
- /**
1314
- * Spacing between carousel items in pixels.
1315
- * @group Props
1316
- * @defaultValue 8
1317
- */
1318
- spacing = input(8, { ...(ngDevMode ? { debugName: "spacing" } : /* istanbul ignore next */ {}), transform: numberAttribute });
1319
- /**
1320
- * Orientation of the carousel.
1321
- * @group Props
1322
- * @defaultValue 'horizontal'
1323
- */
1324
- orientation = input('horizontal', /* @ts-ignore */
1325
- ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
1326
- /**
1327
- * Scroll snap type applied to the track.
1328
- * @group Props
1329
- * @defaultValue 'mandatory'
1330
- */
1331
- snapType = input('mandatory', /* @ts-ignore */
1332
- ...(ngDevMode ? [{ debugName: "snapType" }] : /* istanbul ignore next */ []));
1333
- /**
1334
- * How many slides are visible per page.
1335
- * @group Props
1336
- * @defaultValue 1
1337
- */
1338
- slidesPerPage = input(1, { ...(ngDevMode ? { debugName: "slidesPerPage" } : /* istanbul ignore next */ {}), transform: numberAttribute });
1339
- thumbnailItems = contentChildren(GalleryThumbnailItem, { ...(ngDevMode ? { debugName: "thumbnailItems" } : /* istanbul ignore next */ {}), descendants: true });
1340
- slide = computed(() => this.gallery.activeIndex(), /* @ts-ignore */
1341
- ...(ngDevMode ? [{ debugName: "slide" }] : /* istanbul ignore next */ []));
1342
- onAfterViewChecked() {
1343
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1344
- }
1345
- onItemKeydown(event, index) {
1346
- const items = this.thumbnailItems();
1347
- switch (event.code) {
1348
- case 'Enter':
1349
- case 'Space':
1350
- event.preventDefault();
1351
- items[index]?.onClick();
1352
- break;
1353
- case 'ArrowRight':
1354
- case 'ArrowDown':
1355
- event.preventDefault();
1356
- this.focusItem((index + 1) % items.length);
1357
- break;
1358
- case 'ArrowLeft':
1359
- case 'ArrowUp':
1360
- event.preventDefault();
1361
- this.focusItem((index - 1 + items.length) % items.length);
1362
- break;
1363
- case 'Home':
1364
- event.preventDefault();
1365
- this.focusItem(0);
1366
- break;
1367
- case 'End':
1368
- event.preventDefault();
1369
- this.focusItem(items.length - 1);
1370
- break;
1371
- }
1372
- }
1373
- focusItem(nextIndex) {
1374
- this.gallery.selectItem(nextIndex);
1375
- const carouselItems = this.$el?.querySelectorAll('[data-pc-name="pccarouselitem"][tabindex]');
1376
- carouselItems?.[nextIndex]?.focus();
1377
- }
1378
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryThumbnail, deps: null, target: i0.ɵɵFactoryTarget.Component });
1379
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: GalleryThumbnail, isStandalone: true, selector: "p-gallery-thumbnail", inputs: { autoSize: { classPropertyName: "autoSize", publicName: "autoSize", isSignal: true, isRequired: false, transformFunction: null }, loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, spacing: { classPropertyName: "spacing", publicName: "spacing", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, snapType: { classPropertyName: "snapType", publicName: "snapType", isSignal: true, isRequired: false, transformFunction: null }, slidesPerPage: { classPropertyName: "slidesPerPage", publicName: "slidesPerPage", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "gallery.cx('thumbnail')", "attr.data-scope": "'gallery'", "attr.data-part": "'thumbnail'" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryThumbnail }], queries: [{ propertyName: "thumbnailItems", predicate: GalleryThumbnailItem, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `
1924
+ changeDetection: ChangeDetectionStrategy.OnPush,
1925
+ encapsulation: ViewEncapsulation.None
1926
+ }]
1927
+ }],
1928
+ propDecorators: {
1929
+ index: [{
1930
+ type: i0.Input,
1931
+ args: [{
1932
+ isSignal: true,
1933
+ alias: "index",
1934
+ required: false
1935
+ }]
1936
+ }],
1937
+ templateRef: [{
1938
+ type: i0.ViewChild,
1939
+ args: ["content", { isSignal: true }]
1940
+ }]
1941
+ }
1942
+ });
1943
+ var GalleryThumbnail = class GalleryThumbnail extends BaseComponent {
1944
+ componentName = "GalleryThumbnail";
1945
+ bindDirectiveInstance = inject(Bind, { self: true });
1946
+ gallery = inject(Gallery);
1947
+ autoSize = input(true, {
1948
+ ...ngDevMode ? { debugName: "autoSize" } : /* istanbul ignore next */ {},
1949
+ transform: booleanAttribute
1950
+ });
1951
+ loop = input(true, {
1952
+ ...ngDevMode ? { debugName: "loop" } : /* istanbul ignore next */ {},
1953
+ transform: booleanAttribute
1954
+ });
1955
+ align = input("center", ...ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []);
1956
+ spacing = input(8, {
1957
+ ...ngDevMode ? { debugName: "spacing" } : /* istanbul ignore next */ {},
1958
+ transform: numberAttribute
1959
+ });
1960
+ orientation = input("horizontal", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
1961
+ snapType = input("mandatory", ...ngDevMode ? [{ debugName: "snapType" }] : /* istanbul ignore next */ []);
1962
+ slidesPerPage = input(1, {
1963
+ ...ngDevMode ? { debugName: "slidesPerPage" } : /* istanbul ignore next */ {},
1964
+ transform: numberAttribute
1965
+ });
1966
+ thumbnailItems = contentChildren(GalleryThumbnailItem, {
1967
+ ...ngDevMode ? { debugName: "thumbnailItems" } : /* istanbul ignore next */ {},
1968
+ descendants: true
1969
+ });
1970
+ slide = computed(() => this.gallery.activeIndex(), ...ngDevMode ? [{ debugName: "slide" }] : /* istanbul ignore next */ []);
1971
+ onAfterViewChecked() {
1972
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
1973
+ }
1974
+ onItemKeydown(event, index) {
1975
+ const items = this.thumbnailItems();
1976
+ switch (event.code) {
1977
+ case "Enter":
1978
+ case "Space":
1979
+ event.preventDefault();
1980
+ items[index]?.onClick();
1981
+ break;
1982
+ case "ArrowRight":
1983
+ case "ArrowDown":
1984
+ event.preventDefault();
1985
+ this.focusItem((index + 1) % items.length);
1986
+ break;
1987
+ case "ArrowLeft":
1988
+ case "ArrowUp":
1989
+ event.preventDefault();
1990
+ this.focusItem((index - 1 + items.length) % items.length);
1991
+ break;
1992
+ case "Home":
1993
+ event.preventDefault();
1994
+ this.focusItem(0);
1995
+ break;
1996
+ case "End":
1997
+ event.preventDefault();
1998
+ this.focusItem(items.length - 1);
1999
+ }
2000
+ }
2001
+ focusItem(nextIndex) {
2002
+ this.gallery.selectItem(nextIndex);
2003
+ (this.$el?.querySelectorAll("[data-pc-name=\"pccarouselitem\"][tabindex]"))?.[nextIndex]?.focus();
2004
+ }
2005
+ static ɵfac = i0.ɵɵngDeclareFactory({
2006
+ minVersion: "12.0.0",
2007
+ version: "22.2.0",
2008
+ ngImport: i0,
2009
+ type: GalleryThumbnail,
2010
+ deps: null,
2011
+ target: i0.ɵɵFactoryTarget.Component
2012
+ });
2013
+ static ɵcmp = i0.ɵɵngDeclareComponent({
2014
+ minVersion: "17.0.0",
2015
+ version: "22.2.0",
2016
+ type: GalleryThumbnail,
2017
+ isStandalone: true,
2018
+ selector: "p-gallery-thumbnail",
2019
+ inputs: {
2020
+ autoSize: {
2021
+ classPropertyName: "autoSize",
2022
+ publicName: "autoSize",
2023
+ isSignal: true,
2024
+ isRequired: false,
2025
+ transformFunction: null
2026
+ },
2027
+ loop: {
2028
+ classPropertyName: "loop",
2029
+ publicName: "loop",
2030
+ isSignal: true,
2031
+ isRequired: false,
2032
+ transformFunction: null
2033
+ },
2034
+ align: {
2035
+ classPropertyName: "align",
2036
+ publicName: "align",
2037
+ isSignal: true,
2038
+ isRequired: false,
2039
+ transformFunction: null
2040
+ },
2041
+ spacing: {
2042
+ classPropertyName: "spacing",
2043
+ publicName: "spacing",
2044
+ isSignal: true,
2045
+ isRequired: false,
2046
+ transformFunction: null
2047
+ },
2048
+ orientation: {
2049
+ classPropertyName: "orientation",
2050
+ publicName: "orientation",
2051
+ isSignal: true,
2052
+ isRequired: false,
2053
+ transformFunction: null
2054
+ },
2055
+ snapType: {
2056
+ classPropertyName: "snapType",
2057
+ publicName: "snapType",
2058
+ isSignal: true,
2059
+ isRequired: false,
2060
+ transformFunction: null
2061
+ },
2062
+ slidesPerPage: {
2063
+ classPropertyName: "slidesPerPage",
2064
+ publicName: "slidesPerPage",
2065
+ isSignal: true,
2066
+ isRequired: false,
2067
+ transformFunction: null
2068
+ }
2069
+ },
2070
+ host: { properties: {
2071
+ "class": "gallery.cx('thumbnail')",
2072
+ "attr.data-scope": "'gallery'",
2073
+ "attr.data-part": "'thumbnail'"
2074
+ } },
2075
+ providers: [{
2076
+ provide: PARENT_INSTANCE,
2077
+ useExisting: GalleryThumbnail
2078
+ }],
2079
+ queries: [{
2080
+ propertyName: "thumbnailItems",
2081
+ predicate: GalleryThumbnailItem,
2082
+ descendants: true,
2083
+ isSignal: true
2084
+ }],
2085
+ usesInheritance: true,
2086
+ hostDirectives: [{ directive: i1.Bind }],
2087
+ ngImport: i0,
2088
+ template: `
1380
2089
  <p-carousel
1381
2090
  [autoSize]="autoSize()"
1382
2091
  [loop]="loop()"
@@ -1401,15 +2110,74 @@ class GalleryThumbnail extends BaseComponent {
1401
2110
  }
1402
2111
  </p-carousel-content>
1403
2112
  </p-carousel>
1404
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: CarouselModule }, { kind: "component", type: i2.Carousel, selector: "p-carousel", inputs: ["align", "loop", "snapType", "spacing", "autoSize", "slidesPerPage", "slide"], outputs: ["onPageChange", "onSlideChange"] }, { kind: "component", type: i2.CarouselContent, selector: "p-carousel-content" }, { kind: "component", type: i2.CarouselItem, selector: "p-carousel-item", inputs: ["value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1405
- }
1406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryThumbnail, decorators: [{
1407
- type: Component,
1408
- args: [{
1409
- selector: 'p-gallery-thumbnail',
1410
- standalone: true,
1411
- imports: [BindModule, NgTemplateOutlet, CarouselModule],
1412
- template: `
2113
+ `,
2114
+ isInline: true,
2115
+ dependencies: [
2116
+ {
2117
+ kind: "ngmodule",
2118
+ type: BindModule
2119
+ },
2120
+ {
2121
+ kind: "directive",
2122
+ type: NgTemplateOutlet,
2123
+ selector: "[ngTemplateOutlet]",
2124
+ inputs: [
2125
+ "ngTemplateOutletContext",
2126
+ "ngTemplateOutlet",
2127
+ "ngTemplateOutletInjector"
2128
+ ]
2129
+ },
2130
+ {
2131
+ kind: "ngmodule",
2132
+ type: CarouselModule
2133
+ },
2134
+ {
2135
+ kind: "component",
2136
+ type: i2.Carousel,
2137
+ selector: "p-carousel",
2138
+ inputs: [
2139
+ "align",
2140
+ "loop",
2141
+ "snapType",
2142
+ "spacing",
2143
+ "autoSize",
2144
+ "slidesPerPage",
2145
+ "slide"
2146
+ ],
2147
+ outputs: ["onPageChange", "onSlideChange"]
2148
+ },
2149
+ {
2150
+ kind: "component",
2151
+ type: i2.CarouselContent,
2152
+ selector: "p-carousel-content"
2153
+ },
2154
+ {
2155
+ kind: "component",
2156
+ type: i2.CarouselItem,
2157
+ selector: "p-carousel-item",
2158
+ inputs: ["value"]
2159
+ }
2160
+ ],
2161
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2162
+ encapsulation: i0.ViewEncapsulation.None
2163
+ });
2164
+ };
2165
+ i0.ɵɵngDeclareClassMetadata({
2166
+ minVersion: "12.0.0",
2167
+ version: "22.2.0",
2168
+ ngImport: i0,
2169
+ type: GalleryThumbnail,
2170
+ decorators: [{
2171
+ type: Component,
2172
+ args: [{
2173
+ selector: "p-gallery-thumbnail",
2174
+ standalone: true,
2175
+ imports: [
2176
+ BindModule,
2177
+ NgTemplateOutlet,
2178
+ CarouselModule
2179
+ ],
2180
+ template: `
1413
2181
  <p-carousel
1414
2182
  [autoSize]="autoSize()"
1415
2183
  [loop]="loop()"
@@ -1435,423 +2203,627 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
1435
2203
  </p-carousel-content>
1436
2204
  </p-carousel>
1437
2205
  `,
1438
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryThumbnail }],
1439
- changeDetection: ChangeDetectionStrategy.OnPush,
1440
- encapsulation: ViewEncapsulation.None,
1441
- host: {
1442
- '[class]': "gallery.cx('thumbnail')",
1443
- '[attr.data-scope]': "'gallery'",
1444
- '[attr.data-part]': "'thumbnail'"
1445
- },
1446
- hostDirectives: [Bind]
1447
- }]
1448
- }], propDecorators: { autoSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoSize", required: false }] }], loop: [{ type: i0.Input, args: [{ isSignal: true, alias: "loop", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], spacing: [{ type: i0.Input, args: [{ isSignal: true, alias: "spacing", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], snapType: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapType", required: false }] }], slidesPerPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "slidesPerPage", required: false }] }], thumbnailItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => GalleryThumbnailItem), { ...{ descendants: true }, isSignal: true }] }] } });
1449
-
1450
- /**
1451
- * GalleryThumbnailContent represents the thumbnail carousel content area.
1452
- * @group Components
1453
- */
1454
- class GalleryThumbnailContent extends BaseComponent {
1455
- componentName = 'GalleryThumbnailContent';
1456
- bindDirectiveInstance = inject(Bind, { self: true });
1457
- gallery = inject(Gallery);
1458
- onAfterViewChecked() {
1459
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1460
- }
1461
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryThumbnailContent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1462
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.5", type: GalleryThumbnailContent, isStandalone: true, selector: "p-gallery-thumbnail-content", host: { properties: { "class": "gallery.cx('thumbnailContent')", "attr.data-scope": "'gallery'", "attr.data-part": "'thumbnailContent'" } }, providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryThumbnailContent }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1463
- }
1464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryThumbnailContent, decorators: [{
1465
- type: Component,
1466
- args: [{
1467
- selector: 'p-gallery-thumbnail-content',
1468
- standalone: true,
1469
- imports: [BindModule],
1470
- template: `<ng-content></ng-content>`,
1471
- providers: [{ provide: PARENT_INSTANCE, useExisting: GalleryThumbnailContent }],
1472
- changeDetection: ChangeDetectionStrategy.OnPush,
1473
- encapsulation: ViewEncapsulation.None,
1474
- host: {
1475
- '[class]': "gallery.cx('thumbnailContent')",
1476
- '[attr.data-scope]': "'gallery'",
1477
- '[attr.data-part]': "'thumbnailContent'"
1478
- },
1479
- hostDirectives: [Bind]
1480
- }]
1481
- }] });
1482
-
1483
- /**
1484
- * Gallery is the main container component for the Gallery.
1485
- * @group Components
1486
- */
1487
- class Gallery extends BaseComponent {
1488
- componentName = 'Gallery';
1489
- bindDirectiveInstance = inject(Bind, { self: true });
1490
- /**
1491
- * The index of the active item.
1492
- * @group Props
1493
- * @defaultValue 0
1494
- */
1495
- activeIndex = model(0, /* @ts-ignore */
1496
- ...(ngDevMode ? [{ debugName: "activeIndex" }] : /* istanbul ignore next */ []));
1497
- /**
1498
- * When defined, puts the fullscreen state in controlled mode; the value drives whether the gallery is fullscreen and changes are reported via onFullscreenChange instead of being handled internally.
1499
- * @group Props
1500
- */
1501
- fullscreen = input(undefined, { ...(ngDevMode ? { debugName: "fullscreen" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
1502
- /**
1503
- * Whether pressing the Escape key exits fullscreen mode.
1504
- * @defaultValue true
1505
- * @group Props
1506
- */
1507
- closeOnEscape = input(true, { ...(ngDevMode ? { debugName: "closeOnEscape" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
1508
- /**
1509
- * Callback fired when the gallery's active index changes.
1510
- * @param {GalleryActiveIndexChangeEvent} event - Custom active index change event.
1511
- * @group Emits
1512
- */
1513
- onActiveIndexChange = output();
1514
- /**
1515
- * Callback fired when the fullscreen state should change (controlled mode).
1516
- * @param {boolean} value - The next fullscreen state.
1517
- * @group Emits
1518
- */
1519
- onFullscreenChange = output();
1520
- /**
1521
- * Callback fired when the active item's zoom scale changes.
1522
- * @param {number} scale - The current zoom scale.
1523
- * @group Emits
1524
- */
1525
- onZoomChange = output();
1526
- /**
1527
- * Callback fired when the active item's rotation changes.
1528
- * @param {number} rotation - The current rotation in degrees.
1529
- * @group Emits
1530
- */
1531
- onRotateChange = output();
1532
- /**
1533
- * Callback fired when the active item's flip state changes.
1534
- * @param {{ x: number; y: number }} flip - The current flip state.
1535
- * @group Emits
1536
- */
1537
- onFlipChange = output();
1538
- _componentStyle = inject(GalleryStyle);
1539
- isFullscreenInternal = signal(false, /* @ts-ignore */
1540
- ...(ngDevMode ? [{ debugName: "isFullscreenInternal" }] : /* istanbul ignore next */ []));
1541
- fullscreenResizeTimer = null;
1542
- destroyed = false;
1543
- isFullscreen = computed(() => this.fullscreen() ?? this.isFullscreenInternal(), /* @ts-ignore */
1544
- ...(ngDevMode ? [{ debugName: "isFullscreen" }] : /* istanbul ignore next */ []));
1545
- activeItemTransform = signal({ zoomed: false, rotated: false, flipped: false }, /* @ts-ignore */
1546
- ...(ngDevMode ? [{ debugName: "activeItemTransform" }] : /* istanbul ignore next */ []));
1547
- pendingAction = signal(null, /* @ts-ignore */
1548
- ...(ngDevMode ? [{ debugName: "pendingAction" }] : /* istanbul ignore next */ []));
1549
- itemCounter = 0;
1550
- contentEl = signal(null, /* @ts-ignore */
1551
- ...(ngDevMode ? [{ debugName: "contentEl" }] : /* istanbul ignore next */ []));
1552
- dataFullscreen = computed(() => (this.isFullscreen() ? '' : null), /* @ts-ignore */
1553
- ...(ngDevMode ? [{ debugName: "dataFullscreen" }] : /* istanbul ignore next */ []));
1554
- dataZoomed = computed(() => (this.activeItemTransform().zoomed ? '' : null), /* @ts-ignore */
1555
- ...(ngDevMode ? [{ debugName: "dataZoomed" }] : /* istanbul ignore next */ []));
1556
- dataRotated = computed(() => (this.activeItemTransform().rotated ? '' : null), /* @ts-ignore */
1557
- ...(ngDevMode ? [{ debugName: "dataRotated" }] : /* istanbul ignore next */ []));
1558
- dataFlipped = computed(() => (this.activeItemTransform().flipped ? '' : null), /* @ts-ignore */
1559
- ...(ngDevMode ? [{ debugName: "dataFlipped" }] : /* istanbul ignore next */ []));
1560
- onNativeFullscreenChange = () => {
1561
- const active = this.document?.fullscreenElement === this.$el;
1562
- this.isFullscreenInternal.set(active);
1563
- if (this.fullscreen() !== undefined && this.fullscreen() !== active) {
1564
- this.onFullscreenChange.emit(active);
1565
- }
1566
- if (this.fullscreenResizeTimer)
1567
- clearTimeout(this.fullscreenResizeTimer);
1568
- this.fullscreenResizeTimer = setTimeout(() => {
1569
- this.fullscreenResizeTimer = null;
1570
- window.dispatchEvent(new Event('resize'));
1571
- }, 100);
1572
- };
1573
- prevReported = null;
1574
- onAfterViewChecked() {
1575
- this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));
1576
- }
1577
- registerItem(existingIndex) {
1578
- if (existingIndex !== null) {
1579
- if (existingIndex >= this.itemCounter) {
1580
- this.itemCounter = existingIndex + 1;
1581
- }
1582
- return existingIndex;
1583
- }
1584
- const newIndex = this.itemCounter;
1585
- this.itemCounter += 1;
1586
- return newIndex;
1587
- }
1588
- handleNext() {
1589
- if (this.itemCounter <= 0)
1590
- return;
1591
- const newIndex = (this.activeIndex() + 1) % this.itemCounter;
1592
- this.activeIndex.set(newIndex);
1593
- this.onActiveIndexChange.emit({ value: newIndex });
1594
- }
1595
- handlePrev() {
1596
- if (this.itemCounter <= 0)
1597
- return;
1598
- const newIndex = (this.activeIndex() - 1 + this.itemCounter) % this.itemCounter;
1599
- this.activeIndex.set(newIndex);
1600
- this.onActiveIndexChange.emit({ value: newIndex });
1601
- }
1602
- selectItem(index) {
1603
- if (index < 0 || index >= this.itemCounter)
1604
- return;
1605
- this.activeIndex.set(index);
1606
- this.onActiveIndexChange.emit({ value: index });
1607
- }
1608
- dispatchAction(type) {
1609
- this.pendingAction.set({ type, timestamp: Date.now() });
1610
- }
1611
- clearPendingAction() {
1612
- this.pendingAction.set(null);
1613
- }
1614
- constructor() {
1615
- super();
1616
- effect(() => {
1617
- const fullscreenActive = this.fullscreen();
1618
- if (fullscreenActive === undefined || isPlatformServer(this.platformId))
1619
- return;
1620
- const el = this.$el;
1621
- if (!el || !this.document)
1622
- return;
1623
- const isNativeFullscreen = this.document.fullscreenElement === el;
1624
- if (fullscreenActive && !isNativeFullscreen) {
1625
- el.requestFullscreen?.()?.catch(() => { });
1626
- }
1627
- else if (!fullscreenActive && this.document.fullscreenElement) {
1628
- this.document.exitFullscreen?.()?.catch(() => { });
1629
- }
1630
- });
1631
- }
1632
- onInit() {
1633
- super.onInit();
1634
- if (!isPlatformServer(this.platformId)) {
1635
- this.document?.addEventListener('fullscreenchange', this.onNativeFullscreenChange);
1636
- }
1637
- }
1638
- onDestroy() {
1639
- this.destroyed = true;
1640
- if (this.fullscreenResizeTimer) {
1641
- clearTimeout(this.fullscreenResizeTimer);
1642
- this.fullscreenResizeTimer = null;
1643
- }
1644
- this.document?.removeEventListener('fullscreenchange', this.onNativeFullscreenChange);
1645
- if (this.document?.fullscreenElement === this.$el) {
1646
- this.document.exitFullscreen?.().catch(() => { });
1647
- }
1648
- super.onDestroy();
1649
- }
1650
- handleKeyDown(event) {
1651
- if (event.key === 'ArrowRight') {
1652
- event.preventDefault();
1653
- this.handleNext();
1654
- }
1655
- else if (event.key === 'ArrowLeft') {
1656
- event.preventDefault();
1657
- this.handlePrev();
1658
- }
1659
- else if (event.key === 'Escape' && this.closeOnEscape() && this.isFullscreen()) {
1660
- event.preventDefault();
1661
- this.toggleFullScreen();
1662
- }
1663
- }
1664
- toggleFullScreen() {
1665
- if (this.fullscreen() !== undefined) {
1666
- this.onFullscreenChange.emit(!this.fullscreen());
1667
- return;
1668
- }
1669
- const el = this.$el;
1670
- if (!el || isPlatformServer(this.platformId))
1671
- return;
1672
- if (this.document?.fullscreenElement) {
1673
- this.document.exitFullscreen?.();
1674
- }
1675
- else {
1676
- el.requestFullscreen?.();
1677
- }
1678
- }
1679
- reportItemState(itemState) {
1680
- if (this.destroyed)
1681
- return;
1682
- this.activeItemTransform.set({ zoomed: itemState.zoomed, rotated: itemState.rotated, flipped: itemState.flipped });
1683
- const prev = this.prevReported;
1684
- if (!prev || prev.scale !== itemState.scale)
1685
- this.onZoomChange.emit(itemState.scale);
1686
- if (!prev || prev.rotation !== itemState.rotation)
1687
- this.onRotateChange.emit(itemState.rotation);
1688
- if (!prev || prev.flip.x !== itemState.flip.x || prev.flip.y !== itemState.flip.y)
1689
- this.onFlipChange.emit(itemState.flip);
1690
- this.prevReported = { scale: itemState.scale, rotation: itemState.rotation, flip: itemState.flip };
1691
- }
1692
- handleClickAction(action) {
1693
- if (!action)
1694
- return;
1695
- const actionMap = {
1696
- zoomIn: () => this.dispatchAction('zoom-in'),
1697
- zoomOut: () => this.dispatchAction('zoom-out'),
1698
- rotateLeft: () => this.dispatchAction('rotate-left'),
1699
- rotateRight: () => this.dispatchAction('rotate-right'),
1700
- flipX: () => this.dispatchAction('flip-x'),
1701
- flipY: () => this.dispatchAction('flip-y'),
1702
- download: () => this.dispatchAction('download'),
1703
- next: () => this.handleNext(),
1704
- prev: () => this.handlePrev(),
1705
- toggleFullScreen: () => this.toggleFullScreen()
1706
- };
1707
- actionMap[action]?.();
1708
- }
1709
- setContentEl(el) {
1710
- this.contentEl.set(el);
1711
- }
1712
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Gallery, deps: [], target: i0.ɵɵFactoryTarget.Component });
1713
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.5", type: Gallery, isStandalone: true, selector: "p-gallery", inputs: { activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, fullscreen: { classPropertyName: "fullscreen", publicName: "fullscreen", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeIndex: "activeIndexChange", onActiveIndexChange: "onActiveIndexChange", onFullscreenChange: "onFullscreenChange", onZoomChange: "onZoomChange", onRotateChange: "onRotateChange", onFlipChange: "onFlipChange" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "handleKeyDown($event)" }, properties: { "class": "cx('root')", "attr.data-scope": "'gallery'", "attr.data-part": "'root'", "attr.data-fullscreen": "dataFullscreen()", "attr.data-zoomed": "dataZoomed()", "attr.data-rotated": "dataRotated()", "attr.data-flipped": "dataFlipped()" } }, providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: Gallery }], usesInheritance: true, hostDirectives: [{ directive: i1.Bind }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: BindModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1714
- }
1715
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: Gallery, decorators: [{
1716
- type: Component,
1717
- args: [{
1718
- selector: 'p-gallery',
1719
- standalone: true,
1720
- imports: [BindModule],
1721
- template: `<ng-content></ng-content>`,
1722
- providers: [GalleryStyle, { provide: PARENT_INSTANCE, useExisting: Gallery }],
1723
- changeDetection: ChangeDetectionStrategy.OnPush,
1724
- encapsulation: ViewEncapsulation.None,
1725
- host: {
1726
- '[class]': "cx('root')",
1727
- tabindex: '0',
1728
- '[attr.data-scope]': "'gallery'",
1729
- '[attr.data-part]': "'root'",
1730
- '[attr.data-fullscreen]': 'dataFullscreen()',
1731
- '[attr.data-zoomed]': 'dataZoomed()',
1732
- '[attr.data-rotated]': 'dataRotated()',
1733
- '[attr.data-flipped]': 'dataFlipped()',
1734
- '(keydown)': 'handleKeyDown($event)'
1735
- },
1736
- hostDirectives: [Bind]
1737
- }]
1738
- }], ctorParameters: () => [], propDecorators: { activeIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeIndex", required: false }] }, { type: i0.Output, args: ["activeIndexChange"] }], fullscreen: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullscreen", required: false }] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], onActiveIndexChange: [{ type: i0.Output, args: ["onActiveIndexChange"] }], onFullscreenChange: [{ type: i0.Output, args: ["onFullscreenChange"] }], onZoomChange: [{ type: i0.Output, args: ["onZoomChange"] }], onRotateChange: [{ type: i0.Output, args: ["onRotateChange"] }], onFlipChange: [{ type: i0.Output, args: ["onFlipChange"] }] } });
1739
- class GalleryModule {
1740
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1741
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.5", ngImport: i0, type: GalleryModule, imports: [Gallery, GalleryItem,
1742
- GalleryHeader,
1743
- GalleryContent,
1744
- GalleryFooter,
1745
- GalleryBackdrop,
1746
- GalleryToolbar,
1747
- GalleryToolbarItem,
1748
- GalleryPrev,
1749
- GalleryNext,
1750
- GalleryZoomIn,
1751
- GalleryZoomOut,
1752
- GalleryZoomToggle,
1753
- GalleryRotateLeft,
1754
- GalleryRotateRight,
1755
- GalleryFlipX,
1756
- GalleryFlipY,
1757
- GalleryFullScreen,
1758
- GalleryDownload,
1759
- GalleryThumbnail,
1760
- GalleryThumbnailContent,
1761
- GalleryThumbnailItem,
1762
- SharedModule], exports: [Gallery, GalleryItem,
1763
- GalleryHeader,
1764
- GalleryContent,
1765
- GalleryFooter,
1766
- GalleryBackdrop,
1767
- GalleryToolbar,
1768
- GalleryToolbarItem,
1769
- GalleryPrev,
1770
- GalleryNext,
1771
- GalleryZoomIn,
1772
- GalleryZoomOut,
1773
- GalleryZoomToggle,
1774
- GalleryRotateLeft,
1775
- GalleryRotateRight,
1776
- GalleryFlipX,
1777
- GalleryFlipY,
1778
- GalleryFullScreen,
1779
- GalleryDownload,
1780
- GalleryThumbnail,
1781
- GalleryThumbnailContent,
1782
- GalleryThumbnailItem,
1783
- SharedModule] });
1784
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryModule, imports: [Gallery,
1785
- GalleryItem,
1786
- GalleryHeader,
1787
- GalleryContent,
1788
- GalleryFooter,
1789
- GalleryBackdrop,
1790
- GalleryToolbar,
1791
- GalleryToolbarItem,
1792
- GalleryThumbnail,
1793
- GalleryThumbnailContent,
1794
- SharedModule, SharedModule] });
1795
- }
1796
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImport: i0, type: GalleryModule, decorators: [{
1797
- type: NgModule,
1798
- args: [{
1799
- imports: [
1800
- Gallery,
1801
- GalleryItem,
1802
- GalleryHeader,
1803
- GalleryContent,
1804
- GalleryFooter,
1805
- GalleryBackdrop,
1806
- GalleryToolbar,
1807
- GalleryToolbarItem,
1808
- GalleryPrev,
1809
- GalleryNext,
1810
- GalleryZoomIn,
1811
- GalleryZoomOut,
1812
- GalleryZoomToggle,
1813
- GalleryRotateLeft,
1814
- GalleryRotateRight,
1815
- GalleryFlipX,
1816
- GalleryFlipY,
1817
- GalleryFullScreen,
1818
- GalleryDownload,
1819
- GalleryThumbnail,
1820
- GalleryThumbnailContent,
1821
- GalleryThumbnailItem,
1822
- SharedModule
1823
- ],
1824
- exports: [
1825
- Gallery,
1826
- GalleryItem,
1827
- GalleryHeader,
1828
- GalleryContent,
1829
- GalleryFooter,
1830
- GalleryBackdrop,
1831
- GalleryToolbar,
1832
- GalleryToolbarItem,
1833
- GalleryPrev,
1834
- GalleryNext,
1835
- GalleryZoomIn,
1836
- GalleryZoomOut,
1837
- GalleryZoomToggle,
1838
- GalleryRotateLeft,
1839
- GalleryRotateRight,
1840
- GalleryFlipX,
1841
- GalleryFlipY,
1842
- GalleryFullScreen,
1843
- GalleryDownload,
1844
- GalleryThumbnail,
1845
- GalleryThumbnailContent,
1846
- GalleryThumbnailItem,
1847
- SharedModule
1848
- ]
1849
- }]
1850
- }] });
1851
-
1852
- /**
1853
- * Generated bundle index. Do not edit.
1854
- */
1855
-
2206
+ providers: [{
2207
+ provide: PARENT_INSTANCE,
2208
+ useExisting: GalleryThumbnail
2209
+ }],
2210
+ changeDetection: ChangeDetectionStrategy.OnPush,
2211
+ encapsulation: ViewEncapsulation.None,
2212
+ host: {
2213
+ "[class]": "gallery.cx('thumbnail')",
2214
+ "[attr.data-scope]": "'gallery'",
2215
+ "[attr.data-part]": "'thumbnail'"
2216
+ },
2217
+ hostDirectives: [Bind]
2218
+ }]
2219
+ }],
2220
+ propDecorators: {
2221
+ autoSize: [{
2222
+ type: i0.Input,
2223
+ args: [{
2224
+ isSignal: true,
2225
+ alias: "autoSize",
2226
+ required: false
2227
+ }]
2228
+ }],
2229
+ loop: [{
2230
+ type: i0.Input,
2231
+ args: [{
2232
+ isSignal: true,
2233
+ alias: "loop",
2234
+ required: false
2235
+ }]
2236
+ }],
2237
+ align: [{
2238
+ type: i0.Input,
2239
+ args: [{
2240
+ isSignal: true,
2241
+ alias: "align",
2242
+ required: false
2243
+ }]
2244
+ }],
2245
+ spacing: [{
2246
+ type: i0.Input,
2247
+ args: [{
2248
+ isSignal: true,
2249
+ alias: "spacing",
2250
+ required: false
2251
+ }]
2252
+ }],
2253
+ orientation: [{
2254
+ type: i0.Input,
2255
+ args: [{
2256
+ isSignal: true,
2257
+ alias: "orientation",
2258
+ required: false
2259
+ }]
2260
+ }],
2261
+ snapType: [{
2262
+ type: i0.Input,
2263
+ args: [{
2264
+ isSignal: true,
2265
+ alias: "snapType",
2266
+ required: false
2267
+ }]
2268
+ }],
2269
+ slidesPerPage: [{
2270
+ type: i0.Input,
2271
+ args: [{
2272
+ isSignal: true,
2273
+ alias: "slidesPerPage",
2274
+ required: false
2275
+ }]
2276
+ }],
2277
+ thumbnailItems: [{
2278
+ type: i0.ContentChildren,
2279
+ args: [i0.forwardRef(() => GalleryThumbnailItem), {
2280
+ descendants: true,
2281
+ isSignal: true
2282
+ }]
2283
+ }]
2284
+ }
2285
+ });
2286
+ var GalleryThumbnailContent = class GalleryThumbnailContent extends BaseComponent {
2287
+ componentName = "GalleryThumbnailContent";
2288
+ bindDirectiveInstance = inject(Bind, { self: true });
2289
+ gallery = inject(Gallery);
2290
+ onAfterViewChecked() {
2291
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
2292
+ }
2293
+ static ɵfac = i0.ɵɵngDeclareFactory({
2294
+ minVersion: "12.0.0",
2295
+ version: "22.2.0",
2296
+ ngImport: i0,
2297
+ type: GalleryThumbnailContent,
2298
+ deps: null,
2299
+ target: i0.ɵɵFactoryTarget.Component
2300
+ });
2301
+ static ɵcmp = i0.ɵɵngDeclareComponent({
2302
+ minVersion: "14.0.0",
2303
+ version: "22.2.0",
2304
+ type: GalleryThumbnailContent,
2305
+ isStandalone: true,
2306
+ selector: "p-gallery-thumbnail-content",
2307
+ host: { properties: {
2308
+ "class": "gallery.cx('thumbnailContent')",
2309
+ "attr.data-scope": "'gallery'",
2310
+ "attr.data-part": "'thumbnailContent'"
2311
+ } },
2312
+ providers: [{
2313
+ provide: PARENT_INSTANCE,
2314
+ useExisting: GalleryThumbnailContent
2315
+ }],
2316
+ usesInheritance: true,
2317
+ hostDirectives: [{ directive: i1.Bind }],
2318
+ ngImport: i0,
2319
+ template: `<ng-content></ng-content>`,
2320
+ isInline: true,
2321
+ dependencies: [{
2322
+ kind: "ngmodule",
2323
+ type: BindModule
2324
+ }],
2325
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2326
+ encapsulation: i0.ViewEncapsulation.None
2327
+ });
2328
+ };
2329
+ i0.ɵɵngDeclareClassMetadata({
2330
+ minVersion: "12.0.0",
2331
+ version: "22.2.0",
2332
+ ngImport: i0,
2333
+ type: GalleryThumbnailContent,
2334
+ decorators: [{
2335
+ type: Component,
2336
+ args: [{
2337
+ selector: "p-gallery-thumbnail-content",
2338
+ standalone: true,
2339
+ imports: [BindModule],
2340
+ template: `<ng-content></ng-content>`,
2341
+ providers: [{
2342
+ provide: PARENT_INSTANCE,
2343
+ useExisting: GalleryThumbnailContent
2344
+ }],
2345
+ changeDetection: ChangeDetectionStrategy.OnPush,
2346
+ encapsulation: ViewEncapsulation.None,
2347
+ host: {
2348
+ "[class]": "gallery.cx('thumbnailContent')",
2349
+ "[attr.data-scope]": "'gallery'",
2350
+ "[attr.data-part]": "'thumbnailContent'"
2351
+ },
2352
+ hostDirectives: [Bind]
2353
+ }]
2354
+ }]
2355
+ });
2356
+ var Gallery = class Gallery extends BaseComponent {
2357
+ componentName = "Gallery";
2358
+ bindDirectiveInstance = inject(Bind, { self: true });
2359
+ activeIndex = model(0, ...ngDevMode ? [{ debugName: "activeIndex" }] : /* istanbul ignore next */ []);
2360
+ fullscreen = input(void 0, {
2361
+ ...ngDevMode ? { debugName: "fullscreen" } : /* istanbul ignore next */ {},
2362
+ transform: (value) => value === void 0 ? void 0 : booleanAttribute(value)
2363
+ });
2364
+ closeOnEscape = input(true, {
2365
+ ...ngDevMode ? { debugName: "closeOnEscape" } : /* istanbul ignore next */ {},
2366
+ transform: booleanAttribute
2367
+ });
2368
+ onActiveIndexChange = output();
2369
+ onFullscreenChange = output();
2370
+ onZoomChange = output();
2371
+ onRotateChange = output();
2372
+ onFlipChange = output();
2373
+ _componentStyle = inject(GalleryStyle);
2374
+ isFullscreenInternal = signal(false, ...ngDevMode ? [{ debugName: "isFullscreenInternal" }] : /* istanbul ignore next */ []);
2375
+ fullscreenResizeTimer = null;
2376
+ destroyed = false;
2377
+ isFullscreen = computed(() => this.fullscreen() ?? this.isFullscreenInternal(), ...ngDevMode ? [{ debugName: "isFullscreen" }] : /* istanbul ignore next */ []);
2378
+ activeItemTransform = signal({
2379
+ zoomed: false,
2380
+ rotated: false,
2381
+ flipped: false
2382
+ }, ...ngDevMode ? [{ debugName: "activeItemTransform" }] : /* istanbul ignore next */ []);
2383
+ pendingAction = signal(null, ...ngDevMode ? [{ debugName: "pendingAction" }] : /* istanbul ignore next */ []);
2384
+ itemCounter = 0;
2385
+ contentEl = signal(null, ...ngDevMode ? [{ debugName: "contentEl" }] : /* istanbul ignore next */ []);
2386
+ dataFullscreen = computed(() => this.isFullscreen() ? "" : null, ...ngDevMode ? [{ debugName: "dataFullscreen" }] : /* istanbul ignore next */ []);
2387
+ dataZoomed = computed(() => this.activeItemTransform().zoomed ? "" : null, ...ngDevMode ? [{ debugName: "dataZoomed" }] : /* istanbul ignore next */ []);
2388
+ dataRotated = computed(() => this.activeItemTransform().rotated ? "" : null, ...ngDevMode ? [{ debugName: "dataRotated" }] : /* istanbul ignore next */ []);
2389
+ dataFlipped = computed(() => this.activeItemTransform().flipped ? "" : null, ...ngDevMode ? [{ debugName: "dataFlipped" }] : /* istanbul ignore next */ []);
2390
+ onNativeFullscreenChange = () => {
2391
+ const active = this.document?.fullscreenElement === this.$el;
2392
+ this.isFullscreenInternal.set(active);
2393
+ if (this.fullscreen() !== void 0 && this.fullscreen() !== active) this.onFullscreenChange.emit(active);
2394
+ if (this.fullscreenResizeTimer) clearTimeout(this.fullscreenResizeTimer);
2395
+ this.fullscreenResizeTimer = setTimeout(() => {
2396
+ this.fullscreenResizeTimer = null;
2397
+ window.dispatchEvent(new Event("resize"));
2398
+ }, 100);
2399
+ };
2400
+ prevReported = null;
2401
+ onAfterViewChecked() {
2402
+ this.bindDirectiveInstance.setAttrs(this.ptms(["host", "root"]));
2403
+ }
2404
+ registerItem(existingIndex) {
2405
+ if (existingIndex !== null) {
2406
+ if (existingIndex >= this.itemCounter) this.itemCounter = existingIndex + 1;
2407
+ return existingIndex;
2408
+ }
2409
+ const newIndex = this.itemCounter;
2410
+ this.itemCounter += 1;
2411
+ return newIndex;
2412
+ }
2413
+ handleNext() {
2414
+ if (this.itemCounter <= 0) return;
2415
+ const newIndex = (this.activeIndex() + 1) % this.itemCounter;
2416
+ this.activeIndex.set(newIndex);
2417
+ this.onActiveIndexChange.emit({ value: newIndex });
2418
+ }
2419
+ handlePrev() {
2420
+ if (this.itemCounter <= 0) return;
2421
+ const newIndex = (this.activeIndex() - 1 + this.itemCounter) % this.itemCounter;
2422
+ this.activeIndex.set(newIndex);
2423
+ this.onActiveIndexChange.emit({ value: newIndex });
2424
+ }
2425
+ selectItem(index) {
2426
+ if (index < 0 || index >= this.itemCounter) return;
2427
+ this.activeIndex.set(index);
2428
+ this.onActiveIndexChange.emit({ value: index });
2429
+ }
2430
+ dispatchAction(type) {
2431
+ this.pendingAction.set({
2432
+ type,
2433
+ timestamp: Date.now()
2434
+ });
2435
+ }
2436
+ clearPendingAction() {
2437
+ this.pendingAction.set(null);
2438
+ }
2439
+ constructor() {
2440
+ super();
2441
+ effect(() => {
2442
+ const fullscreenActive = this.fullscreen();
2443
+ if (fullscreenActive === void 0 || isPlatformServer(this.platformId)) return;
2444
+ const el = this.$el;
2445
+ if (!el || !this.document) return;
2446
+ const isNativeFullscreen = this.document.fullscreenElement === el;
2447
+ if (fullscreenActive && !isNativeFullscreen) el.requestFullscreen?.()?.catch(() => {});
2448
+ else if (!fullscreenActive && this.document.fullscreenElement) this.document.exitFullscreen?.()?.catch(() => {});
2449
+ });
2450
+ }
2451
+ onInit() {
2452
+ super.onInit();
2453
+ if (!isPlatformServer(this.platformId)) this.document?.addEventListener("fullscreenchange", this.onNativeFullscreenChange);
2454
+ }
2455
+ onDestroy() {
2456
+ this.destroyed = true;
2457
+ if (this.fullscreenResizeTimer) {
2458
+ clearTimeout(this.fullscreenResizeTimer);
2459
+ this.fullscreenResizeTimer = null;
2460
+ }
2461
+ this.document?.removeEventListener("fullscreenchange", this.onNativeFullscreenChange);
2462
+ if (this.document?.fullscreenElement === this.$el) this.document.exitFullscreen?.().catch(() => {});
2463
+ super.onDestroy();
2464
+ }
2465
+ handleKeyDown(event) {
2466
+ if (event.key === "ArrowRight") {
2467
+ event.preventDefault();
2468
+ this.handleNext();
2469
+ } else if (event.key === "ArrowLeft") {
2470
+ event.preventDefault();
2471
+ this.handlePrev();
2472
+ } else if (event.key === "Escape" && this.closeOnEscape() && this.isFullscreen()) {
2473
+ event.preventDefault();
2474
+ this.toggleFullScreen();
2475
+ }
2476
+ }
2477
+ toggleFullScreen() {
2478
+ if (this.fullscreen() !== void 0) {
2479
+ this.onFullscreenChange.emit(!this.fullscreen());
2480
+ return;
2481
+ }
2482
+ const el = this.$el;
2483
+ if (!el || isPlatformServer(this.platformId)) return;
2484
+ if (this.document?.fullscreenElement) this.document.exitFullscreen?.();
2485
+ else el.requestFullscreen?.();
2486
+ }
2487
+ reportItemState(itemState) {
2488
+ if (this.destroyed) return;
2489
+ this.activeItemTransform.set({
2490
+ zoomed: itemState.zoomed,
2491
+ rotated: itemState.rotated,
2492
+ flipped: itemState.flipped
2493
+ });
2494
+ const prev = this.prevReported;
2495
+ if (!prev || prev.scale !== itemState.scale) this.onZoomChange.emit(itemState.scale);
2496
+ if (!prev || prev.rotation !== itemState.rotation) this.onRotateChange.emit(itemState.rotation);
2497
+ if (!prev || prev.flip.x !== itemState.flip.x || prev.flip.y !== itemState.flip.y) this.onFlipChange.emit(itemState.flip);
2498
+ this.prevReported = {
2499
+ scale: itemState.scale,
2500
+ rotation: itemState.rotation,
2501
+ flip: itemState.flip
2502
+ };
2503
+ }
2504
+ handleClickAction(action) {
2505
+ if (!action) return;
2506
+ ({
2507
+ zoomIn: () => this.dispatchAction("zoom-in"),
2508
+ zoomOut: () => this.dispatchAction("zoom-out"),
2509
+ rotateLeft: () => this.dispatchAction("rotate-left"),
2510
+ rotateRight: () => this.dispatchAction("rotate-right"),
2511
+ flipX: () => this.dispatchAction("flip-x"),
2512
+ flipY: () => this.dispatchAction("flip-y"),
2513
+ download: () => this.dispatchAction("download"),
2514
+ next: () => this.handleNext(),
2515
+ prev: () => this.handlePrev(),
2516
+ toggleFullScreen: () => this.toggleFullScreen()
2517
+ })[action]?.();
2518
+ }
2519
+ setContentEl(el) {
2520
+ this.contentEl.set(el);
2521
+ }
2522
+ static ɵfac = i0.ɵɵngDeclareFactory({
2523
+ minVersion: "12.0.0",
2524
+ version: "22.2.0",
2525
+ ngImport: i0,
2526
+ type: Gallery,
2527
+ deps: [],
2528
+ target: i0.ɵɵFactoryTarget.Component
2529
+ });
2530
+ static ɵcmp = i0.ɵɵngDeclareComponent({
2531
+ minVersion: "17.1.0",
2532
+ version: "22.2.0",
2533
+ type: Gallery,
2534
+ isStandalone: true,
2535
+ selector: "p-gallery",
2536
+ inputs: {
2537
+ activeIndex: {
2538
+ classPropertyName: "activeIndex",
2539
+ publicName: "activeIndex",
2540
+ isSignal: true,
2541
+ isRequired: false,
2542
+ transformFunction: null
2543
+ },
2544
+ fullscreen: {
2545
+ classPropertyName: "fullscreen",
2546
+ publicName: "fullscreen",
2547
+ isSignal: true,
2548
+ isRequired: false,
2549
+ transformFunction: null
2550
+ },
2551
+ closeOnEscape: {
2552
+ classPropertyName: "closeOnEscape",
2553
+ publicName: "closeOnEscape",
2554
+ isSignal: true,
2555
+ isRequired: false,
2556
+ transformFunction: null
2557
+ }
2558
+ },
2559
+ outputs: {
2560
+ activeIndex: "activeIndexChange",
2561
+ onActiveIndexChange: "onActiveIndexChange",
2562
+ onFullscreenChange: "onFullscreenChange",
2563
+ onZoomChange: "onZoomChange",
2564
+ onRotateChange: "onRotateChange",
2565
+ onFlipChange: "onFlipChange"
2566
+ },
2567
+ host: {
2568
+ attributes: { "tabindex": "0" },
2569
+ listeners: { "keydown": "handleKeyDown($event)" },
2570
+ properties: {
2571
+ "class": "cx('root')",
2572
+ "attr.data-scope": "'gallery'",
2573
+ "attr.data-part": "'root'",
2574
+ "attr.data-fullscreen": "dataFullscreen()",
2575
+ "attr.data-zoomed": "dataZoomed()",
2576
+ "attr.data-rotated": "dataRotated()",
2577
+ "attr.data-flipped": "dataFlipped()"
2578
+ }
2579
+ },
2580
+ providers: [GalleryStyle, {
2581
+ provide: PARENT_INSTANCE,
2582
+ useExisting: Gallery
2583
+ }],
2584
+ usesInheritance: true,
2585
+ hostDirectives: [{ directive: i1.Bind }],
2586
+ ngImport: i0,
2587
+ template: `<ng-content></ng-content>`,
2588
+ isInline: true,
2589
+ dependencies: [{
2590
+ kind: "ngmodule",
2591
+ type: BindModule
2592
+ }],
2593
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2594
+ encapsulation: i0.ViewEncapsulation.None
2595
+ });
2596
+ };
2597
+ i0.ɵɵngDeclareClassMetadata({
2598
+ minVersion: "12.0.0",
2599
+ version: "22.2.0",
2600
+ ngImport: i0,
2601
+ type: Gallery,
2602
+ decorators: [{
2603
+ type: Component,
2604
+ args: [{
2605
+ selector: "p-gallery",
2606
+ standalone: true,
2607
+ imports: [BindModule],
2608
+ template: `<ng-content></ng-content>`,
2609
+ providers: [GalleryStyle, {
2610
+ provide: PARENT_INSTANCE,
2611
+ useExisting: Gallery
2612
+ }],
2613
+ changeDetection: ChangeDetectionStrategy.OnPush,
2614
+ encapsulation: ViewEncapsulation.None,
2615
+ host: {
2616
+ "[class]": "cx('root')",
2617
+ tabindex: "0",
2618
+ "[attr.data-scope]": "'gallery'",
2619
+ "[attr.data-part]": "'root'",
2620
+ "[attr.data-fullscreen]": "dataFullscreen()",
2621
+ "[attr.data-zoomed]": "dataZoomed()",
2622
+ "[attr.data-rotated]": "dataRotated()",
2623
+ "[attr.data-flipped]": "dataFlipped()",
2624
+ "(keydown)": "handleKeyDown($event)"
2625
+ },
2626
+ hostDirectives: [Bind]
2627
+ }]
2628
+ }],
2629
+ ctorParameters: () => [],
2630
+ propDecorators: {
2631
+ activeIndex: [{
2632
+ type: i0.Input,
2633
+ args: [{
2634
+ isSignal: true,
2635
+ alias: "activeIndex",
2636
+ required: false
2637
+ }]
2638
+ }, {
2639
+ type: i0.Output,
2640
+ args: ["activeIndexChange"]
2641
+ }],
2642
+ fullscreen: [{
2643
+ type: i0.Input,
2644
+ args: [{
2645
+ isSignal: true,
2646
+ alias: "fullscreen",
2647
+ required: false
2648
+ }]
2649
+ }],
2650
+ closeOnEscape: [{
2651
+ type: i0.Input,
2652
+ args: [{
2653
+ isSignal: true,
2654
+ alias: "closeOnEscape",
2655
+ required: false
2656
+ }]
2657
+ }],
2658
+ onActiveIndexChange: [{
2659
+ type: i0.Output,
2660
+ args: ["onActiveIndexChange"]
2661
+ }],
2662
+ onFullscreenChange: [{
2663
+ type: i0.Output,
2664
+ args: ["onFullscreenChange"]
2665
+ }],
2666
+ onZoomChange: [{
2667
+ type: i0.Output,
2668
+ args: ["onZoomChange"]
2669
+ }],
2670
+ onRotateChange: [{
2671
+ type: i0.Output,
2672
+ args: ["onRotateChange"]
2673
+ }],
2674
+ onFlipChange: [{
2675
+ type: i0.Output,
2676
+ args: ["onFlipChange"]
2677
+ }]
2678
+ }
2679
+ });
2680
+ var GalleryModule = class GalleryModule {
2681
+ static ɵfac = i0.ɵɵngDeclareFactory({
2682
+ minVersion: "12.0.0",
2683
+ version: "22.2.0",
2684
+ ngImport: i0,
2685
+ type: GalleryModule,
2686
+ deps: [],
2687
+ target: i0.ɵɵFactoryTarget.NgModule
2688
+ });
2689
+ static ɵmod = i0.ɵɵngDeclareNgModule({
2690
+ minVersion: "14.0.0",
2691
+ version: "22.2.0",
2692
+ ngImport: i0,
2693
+ type: GalleryModule,
2694
+ imports: [
2695
+ Gallery,
2696
+ GalleryItem,
2697
+ GalleryHeader,
2698
+ GalleryContent,
2699
+ GalleryFooter,
2700
+ GalleryBackdrop,
2701
+ GalleryToolbar,
2702
+ GalleryToolbarItem,
2703
+ GalleryPrev,
2704
+ GalleryNext,
2705
+ GalleryZoomIn,
2706
+ GalleryZoomOut,
2707
+ GalleryZoomToggle,
2708
+ GalleryRotateLeft,
2709
+ GalleryRotateRight,
2710
+ GalleryFlipX,
2711
+ GalleryFlipY,
2712
+ GalleryFullScreen,
2713
+ GalleryDownload,
2714
+ GalleryThumbnail,
2715
+ GalleryThumbnailContent,
2716
+ GalleryThumbnailItem,
2717
+ SharedModule
2718
+ ],
2719
+ exports: [
2720
+ Gallery,
2721
+ GalleryItem,
2722
+ GalleryHeader,
2723
+ GalleryContent,
2724
+ GalleryFooter,
2725
+ GalleryBackdrop,
2726
+ GalleryToolbar,
2727
+ GalleryToolbarItem,
2728
+ GalleryPrev,
2729
+ GalleryNext,
2730
+ GalleryZoomIn,
2731
+ GalleryZoomOut,
2732
+ GalleryZoomToggle,
2733
+ GalleryRotateLeft,
2734
+ GalleryRotateRight,
2735
+ GalleryFlipX,
2736
+ GalleryFlipY,
2737
+ GalleryFullScreen,
2738
+ GalleryDownload,
2739
+ GalleryThumbnail,
2740
+ GalleryThumbnailContent,
2741
+ GalleryThumbnailItem,
2742
+ SharedModule
2743
+ ]
2744
+ });
2745
+ static ɵinj = i0.ɵɵngDeclareInjector({
2746
+ minVersion: "12.0.0",
2747
+ version: "22.2.0",
2748
+ ngImport: i0,
2749
+ type: GalleryModule,
2750
+ imports: [
2751
+ Gallery,
2752
+ GalleryItem,
2753
+ GalleryHeader,
2754
+ GalleryContent,
2755
+ GalleryFooter,
2756
+ GalleryBackdrop,
2757
+ GalleryToolbar,
2758
+ GalleryToolbarItem,
2759
+ GalleryThumbnail,
2760
+ GalleryThumbnailContent,
2761
+ SharedModule,
2762
+ SharedModule
2763
+ ]
2764
+ });
2765
+ };
2766
+ i0.ɵɵngDeclareClassMetadata({
2767
+ minVersion: "12.0.0",
2768
+ version: "22.2.0",
2769
+ ngImport: i0,
2770
+ type: GalleryModule,
2771
+ decorators: [{
2772
+ type: NgModule,
2773
+ args: [{
2774
+ imports: [
2775
+ Gallery,
2776
+ GalleryItem,
2777
+ GalleryHeader,
2778
+ GalleryContent,
2779
+ GalleryFooter,
2780
+ GalleryBackdrop,
2781
+ GalleryToolbar,
2782
+ GalleryToolbarItem,
2783
+ GalleryPrev,
2784
+ GalleryNext,
2785
+ GalleryZoomIn,
2786
+ GalleryZoomOut,
2787
+ GalleryZoomToggle,
2788
+ GalleryRotateLeft,
2789
+ GalleryRotateRight,
2790
+ GalleryFlipX,
2791
+ GalleryFlipY,
2792
+ GalleryFullScreen,
2793
+ GalleryDownload,
2794
+ GalleryThumbnail,
2795
+ GalleryThumbnailContent,
2796
+ GalleryThumbnailItem,
2797
+ SharedModule
2798
+ ],
2799
+ exports: [
2800
+ Gallery,
2801
+ GalleryItem,
2802
+ GalleryHeader,
2803
+ GalleryContent,
2804
+ GalleryFooter,
2805
+ GalleryBackdrop,
2806
+ GalleryToolbar,
2807
+ GalleryToolbarItem,
2808
+ GalleryPrev,
2809
+ GalleryNext,
2810
+ GalleryZoomIn,
2811
+ GalleryZoomOut,
2812
+ GalleryZoomToggle,
2813
+ GalleryRotateLeft,
2814
+ GalleryRotateRight,
2815
+ GalleryFlipX,
2816
+ GalleryFlipY,
2817
+ GalleryFullScreen,
2818
+ GalleryDownload,
2819
+ GalleryThumbnail,
2820
+ GalleryThumbnailContent,
2821
+ GalleryThumbnailItem,
2822
+ SharedModule
2823
+ ]
2824
+ }]
2825
+ }]
2826
+ });
1856
2827
  export { Gallery, GalleryBackdrop, GalleryClasses, GalleryContent, GalleryDownload, GalleryFlipX, GalleryFlipY, GalleryFooter, GalleryFullScreen, GalleryHeader, GalleryItem, GalleryModule, GalleryNext, GalleryPrev, GalleryRotateLeft, GalleryRotateRight, GalleryStyle, GalleryThumbnail, GalleryThumbnailContent, GalleryThumbnailItem, GalleryToolbar, GalleryToolbarItem, GalleryZoomIn, GalleryZoomOut, GalleryZoomToggle };
1857
- //# sourceMappingURL=primeng-gallery.mjs.map
2828
+
2829
+ //# sourceMappingURL=primeng-gallery.mjs.map