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.
- package/fesm2022/primeng-accordion.mjs +998 -594
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +266 -174
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +888 -848
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +2534 -1631
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +114 -77
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +330 -189
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +178 -95
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +290 -156
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +95 -83
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +528 -478
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +131 -74
- package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
- package/fesm2022/primeng-baseinput.mjs +214 -99
- package/fesm2022/primeng-baseinput.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +39 -26
- package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
- package/fesm2022/primeng-bind.mjs +156 -97
- package/fesm2022/primeng-bind.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs +360 -225
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +458 -220
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +1568 -710
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +125 -73
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +389 -178
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +2393 -1772
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +2373 -1399
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +402 -231
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +650 -351
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +411 -224
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +95 -48
- package/fesm2022/primeng-classnames.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +890 -635
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-commandmenu.mjs +568 -313
- package/fesm2022/primeng-commandmenu.mjs.map +1 -1
- package/fesm2022/primeng-compare.mjs +843 -481
- package/fesm2022/primeng-compare.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +415 -321
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +1188 -536
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +810 -518
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +1862 -1082
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +1130 -550
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +3750 -3356
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +1635 -975
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +272 -146
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +609 -391
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +599 -767
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +323 -312
- package/fesm2022/primeng-dragdrop.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +913 -484
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +828 -917
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +547 -391
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +559 -271
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +1836 -1054
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +187 -102
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs +156 -85
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +150 -112
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +2589 -1410
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-gallery.mjs +2768 -1796
- package/fesm2022/primeng-gallery.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +192 -93
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +41 -23
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs +41 -23
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs +41 -23
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs +41 -23
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs +41 -23
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs +41 -23
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs +41 -23
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs +41 -23
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs +46 -28
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +41 -23
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs +41 -23
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs +46 -28
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +41 -23
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs +46 -28
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +46 -28
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +41 -23
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +111 -67
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +40 -22
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs +41 -23
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs +41 -23
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs +41 -23
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs +41 -23
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs +41 -23
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs +41 -23
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs +41 -23
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs +41 -23
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +46 -28
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +41 -23
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs +46 -28
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +46 -28
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterfill.mjs +41 -23
- package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterslash.mjs +46 -28
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +46 -28
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +46 -28
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +41 -23
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs +46 -28
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +46 -28
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +46 -28
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +46 -28
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +46 -28
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +46 -28
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +46 -28
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +46 -28
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +46 -28
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +46 -28
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +46 -28
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +46 -28
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +46 -28
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +41 -23
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs +46 -28
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +46 -28
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +46 -28
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +46 -28
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +46 -28
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +46 -28
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-icons.mjs +53 -63
- package/fesm2022/primeng-iftalabel.mjs +153 -86
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +1006 -532
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +325 -165
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +401 -199
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputcolor.mjs +2631 -2189
- package/fesm2022/primeng-inputcolor.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +159 -91
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +153 -68
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs +173 -72
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +1607 -1387
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +1646 -1305
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +571 -376
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputpassword.mjs +179 -96
- package/fesm2022/primeng-inputpassword.mjs.map +1 -1
- package/fesm2022/primeng-inputtags.mjs +1212 -588
- package/fesm2022/primeng-inputtags.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +325 -175
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +268 -244
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +627 -405
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-label.mjs +143 -81
- package/fesm2022/primeng-label.mjs.map +1 -1
- package/fesm2022/primeng-license.mjs +10 -36
- package/fesm2022/primeng-license.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +2409 -1608
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +2006 -1137
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +1437 -848
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +1832 -994
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +474 -239
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +663 -331
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-motion.mjs +1179 -690
- package/fesm2022/primeng-motion.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +3406 -1932
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +1308 -664
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +912 -595
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +929 -624
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +291 -107
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +959 -503
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +668 -343
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +1842 -998
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-passthrough.mjs +8 -16
- package/fesm2022/primeng-passthrough.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +1518 -866
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +2270 -1256
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +656 -436
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +346 -168
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +338 -188
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +499 -292
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +583 -352
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +194 -184
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scrollarea.mjs +1018 -721
- package/fesm2022/primeng-scrollarea.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +1386 -1083
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +568 -480
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +509 -260
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +2948 -1765
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +629 -339
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +2561 -1416
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +300 -157
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +841 -604
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +1115 -717
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +889 -339
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +997 -759
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +1355 -641
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +397 -304
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +446 -334
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +9763 -5870
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +1357 -831
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +305 -151
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +368 -216
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +345 -208
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +1917 -1125
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +304 -165
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +1369 -922
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +563 -309
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +464 -237
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +299 -129
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +1018 -778
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +2679 -1875
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +1678 -939
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +5849 -3754
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-ts-helpers.mjs +0 -4
- package/fesm2022/primeng-types-accordion.mjs +0 -4
- package/fesm2022/primeng-types-autocomplete.mjs +0 -4
- package/fesm2022/primeng-types-avatar.mjs +0 -4
- package/fesm2022/primeng-types-avatargroup.mjs +0 -4
- package/fesm2022/primeng-types-badge.mjs +0 -4
- package/fesm2022/primeng-types-blockui.mjs +0 -4
- package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
- package/fesm2022/primeng-types-button.mjs +0 -4
- package/fesm2022/primeng-types-card.mjs +0 -4
- package/fesm2022/primeng-types-carousel.mjs +0 -4
- package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
- package/fesm2022/primeng-types-chart.mjs +0 -4
- package/fesm2022/primeng-types-checkbox.mjs +0 -4
- package/fesm2022/primeng-types-chip.mjs +0 -4
- package/fesm2022/primeng-types-colorpicker.mjs +0 -4
- package/fesm2022/primeng-types-commandmenu.mjs +0 -4
- package/fesm2022/primeng-types-compare.mjs +0 -4
- package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
- package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
- package/fesm2022/primeng-types-contextmenu.mjs +0 -4
- package/fesm2022/primeng-types-dataview.mjs +0 -4
- package/fesm2022/primeng-types-datepicker.mjs +0 -4
- package/fesm2022/primeng-types-dialog.mjs +0 -4
- package/fesm2022/primeng-types-divider.mjs +0 -4
- package/fesm2022/primeng-types-dock.mjs +0 -4
- package/fesm2022/primeng-types-drawer.mjs +0 -4
- package/fesm2022/primeng-types-editor.mjs +0 -4
- package/fesm2022/primeng-types-fieldset.mjs +0 -4
- package/fesm2022/primeng-types-fileupload.mjs +0 -4
- package/fesm2022/primeng-types-floatlabel.mjs +0 -4
- package/fesm2022/primeng-types-fluid.mjs +0 -4
- package/fesm2022/primeng-types-galleria.mjs +0 -4
- package/fesm2022/primeng-types-gallery.mjs +0 -4
- package/fesm2022/primeng-types-iconfield.mjs +0 -4
- package/fesm2022/primeng-types-iftalabel.mjs +0 -4
- package/fesm2022/primeng-types-image.mjs +0 -4
- package/fesm2022/primeng-types-imagecompare.mjs +0 -4
- package/fesm2022/primeng-types-inplace.mjs +0 -4
- package/fesm2022/primeng-types-inputcolor.mjs +0 -4
- package/fesm2022/primeng-types-inputgroup.mjs +0 -4
- package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
- package/fesm2022/primeng-types-inputicon.mjs +0 -4
- package/fesm2022/primeng-types-inputmask.mjs +0 -4
- package/fesm2022/primeng-types-inputnumber.mjs +0 -4
- package/fesm2022/primeng-types-inputotp.mjs +0 -4
- package/fesm2022/primeng-types-inputpassword.mjs +0 -4
- package/fesm2022/primeng-types-inputtags.mjs +0 -4
- package/fesm2022/primeng-types-inputtext.mjs +0 -4
- package/fesm2022/primeng-types-knob.mjs +0 -4
- package/fesm2022/primeng-types-label.mjs +0 -4
- package/fesm2022/primeng-types-listbox.mjs +0 -4
- package/fesm2022/primeng-types-megamenu.mjs +0 -4
- package/fesm2022/primeng-types-menu.mjs +0 -4
- package/fesm2022/primeng-types-menubar.mjs +0 -4
- package/fesm2022/primeng-types-message.mjs +0 -4
- package/fesm2022/primeng-types-metergroup.mjs +0 -4
- package/fesm2022/primeng-types-motion.mjs +0 -4
- package/fesm2022/primeng-types-multiselect.mjs +0 -4
- package/fesm2022/primeng-types-orderlist.mjs +0 -4
- package/fesm2022/primeng-types-organizationchart.mjs +0 -4
- package/fesm2022/primeng-types-overlay.mjs +0 -4
- package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
- package/fesm2022/primeng-types-paginator.mjs +0 -4
- package/fesm2022/primeng-types-panel.mjs +0 -4
- package/fesm2022/primeng-types-panelmenu.mjs +0 -4
- package/fesm2022/primeng-types-password.mjs +0 -4
- package/fesm2022/primeng-types-picklist.mjs +0 -4
- package/fesm2022/primeng-types-popover.mjs +0 -4
- package/fesm2022/primeng-types-progressbar.mjs +0 -4
- package/fesm2022/primeng-types-progressspinner.mjs +0 -4
- package/fesm2022/primeng-types-radiobutton.mjs +0 -4
- package/fesm2022/primeng-types-rating.mjs +0 -4
- package/fesm2022/primeng-types-scrollarea.mjs +0 -4
- package/fesm2022/primeng-types-scroller.mjs +0 -4
- package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
- package/fesm2022/primeng-types-scrolltop.mjs +0 -4
- package/fesm2022/primeng-types-select.mjs +0 -4
- package/fesm2022/primeng-types-selectbutton.mjs +0 -4
- package/fesm2022/primeng-types-shared.mjs +0 -4
- package/fesm2022/primeng-types-sidebar.mjs +0 -4
- package/fesm2022/primeng-types-skeleton.mjs +0 -4
- package/fesm2022/primeng-types-slider.mjs +0 -4
- package/fesm2022/primeng-types-speeddial.mjs +0 -4
- package/fesm2022/primeng-types-splitbutton.mjs +0 -4
- package/fesm2022/primeng-types-splitter.mjs +0 -4
- package/fesm2022/primeng-types-stepper.mjs +0 -4
- package/fesm2022/primeng-types-table.mjs +0 -4
- package/fesm2022/primeng-types-tabs.mjs +0 -4
- package/fesm2022/primeng-types-tag.mjs +0 -4
- package/fesm2022/primeng-types-terminal.mjs +0 -4
- package/fesm2022/primeng-types-textarea.mjs +0 -4
- package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
- package/fesm2022/primeng-types-timeline.mjs +0 -4
- package/fesm2022/primeng-types-toast.mjs +0 -4
- package/fesm2022/primeng-types-togglebutton.mjs +0 -4
- package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
- package/fesm2022/primeng-types-toolbar.mjs +0 -4
- package/fesm2022/primeng-types-tooltip.mjs +0 -4
- package/fesm2022/primeng-types-tree.mjs +0 -4
- package/fesm2022/primeng-types-treeselect.mjs +0 -4
- package/fesm2022/primeng-types-treetable.mjs +0 -4
- package/fesm2022/primeng-usestyle.mjs +105 -113
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs +236 -317
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fesm2022/primeng.mjs +1 -5
- package/fesm2022/primeng.mjs.map +1 -1
- package/package.json +6 -1
- package/types/primeng-accordion.d.ts +289 -219
- package/types/primeng-animateonscroll.d.ts +89 -61
- package/types/primeng-api.d.ts +1754 -1790
- package/types/primeng-autocomplete.d.ts +1053 -754
- package/types/primeng-autofocus.d.ts +27 -24
- package/types/primeng-avatar.d.ts +152 -114
- package/types/primeng-avatargroup.d.ts +45 -40
- package/types/primeng-badge.d.ts +104 -78
- package/types/primeng-base.d.ts +49 -52
- package/types/primeng-basecomponent.d.ts +191 -174
- package/types/primeng-baseeditableholder.d.ts +63 -45
- package/types/primeng-baseinput.d.ts +122 -74
- package/types/primeng-basemodelholder.d.ts +9 -12
- package/types/primeng-bind.d.ts +36 -32
- package/types/primeng-blockui.d.ts +99 -80
- package/types/primeng-breadcrumb.d.ts +159 -133
- package/types/primeng-button.d.ts +690 -425
- package/types/primeng-buttongroup.d.ts +26 -30
- package/types/primeng-card.d.ts +130 -119
- package/types/primeng-carousel.d.ts +799 -629
- package/types/primeng-cascadeselect.d.ts +753 -562
- package/types/primeng-chart.d.ts +158 -112
- package/types/primeng-checkbox.d.ts +298 -208
- package/types/primeng-chip.d.ts +187 -143
- package/types/primeng-classnames.d.ts +23 -21
- package/types/primeng-colorpicker.d.ts +324 -269
- package/types/primeng-commandmenu.d.ts +213 -165
- package/types/primeng-compare.d.ts +267 -189
- package/types/primeng-config.d.ts +294 -304
- package/types/primeng-confirmdialog.d.ts +504 -325
- package/types/primeng-confirmpopup.d.ts +253 -207
- package/types/primeng-contextmenu.d.ts +522 -366
- package/types/primeng-dataview.d.ts +497 -342
- package/types/primeng-datepicker.d.ts +1268 -969
- package/types/primeng-dialog.d.ts +667 -462
- package/types/primeng-divider.d.ts +112 -96
- package/types/primeng-dock.d.ts +206 -172
- package/types/primeng-dom.d.ts +97 -100
- package/types/primeng-dragdrop.d.ts +142 -107
- package/types/primeng-drawer.d.ts +354 -254
- package/types/primeng-dynamicdialog.d.ts +527 -535
- package/types/primeng-editor.d.ts +210 -162
- package/types/primeng-fieldset.d.ts +198 -163
- package/types/primeng-fileupload.d.ts +726 -523
- package/types/primeng-floatlabel.d.ts +54 -48
- package/types/primeng-fluid.d.ts +36 -36
- package/types/primeng-focustrap.d.ts +30 -27
- package/types/primeng-galleria.d.ts +569 -430
- package/types/primeng-gallery.d.ts +754 -552
- package/types/primeng-iconfield.d.ts +53 -42
- package/types/primeng-icons-angledoubledown.d.ts +6 -9
- package/types/primeng-icons-angledoubleleft.d.ts +6 -9
- package/types/primeng-icons-angledoubleright.d.ts +6 -9
- package/types/primeng-icons-angledoubleup.d.ts +6 -9
- package/types/primeng-icons-angledown.d.ts +6 -9
- package/types/primeng-icons-angleleft.d.ts +6 -9
- package/types/primeng-icons-angleright.d.ts +6 -9
- package/types/primeng-icons-angleup.d.ts +6 -9
- package/types/primeng-icons-arrowdown.d.ts +8 -11
- package/types/primeng-icons-arrowdownleft.d.ts +6 -9
- package/types/primeng-icons-arrowdownright.d.ts +6 -9
- package/types/primeng-icons-arrowleft.d.ts +8 -11
- package/types/primeng-icons-arrowright.d.ts +6 -9
- package/types/primeng-icons-arrowup.d.ts +8 -11
- package/types/primeng-icons-ban.d.ts +8 -11
- package/types/primeng-icons-bars.d.ts +6 -9
- package/types/primeng-icons-baseicon.d.ts +23 -22
- package/types/primeng-icons-blank.d.ts +6 -9
- package/types/primeng-icons-calendar.d.ts +6 -9
- package/types/primeng-icons-caretleft.d.ts +6 -9
- package/types/primeng-icons-caretright.d.ts +6 -9
- package/types/primeng-icons-check.d.ts +6 -9
- package/types/primeng-icons-chevrondown.d.ts +6 -9
- package/types/primeng-icons-chevronleft.d.ts +6 -9
- package/types/primeng-icons-chevronright.d.ts +6 -9
- package/types/primeng-icons-chevronup.d.ts +6 -9
- package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
- package/types/primeng-icons-eye.d.ts +6 -9
- package/types/primeng-icons-eyeslash.d.ts +8 -11
- package/types/primeng-icons-filter.d.ts +8 -11
- package/types/primeng-icons-filterfill.d.ts +6 -9
- package/types/primeng-icons-filterslash.d.ts +8 -11
- package/types/primeng-icons-home.d.ts +8 -11
- package/types/primeng-icons-infocircle.d.ts +8 -11
- package/types/primeng-icons-minus.d.ts +6 -9
- package/types/primeng-icons-pencil.d.ts +8 -11
- package/types/primeng-icons-plus.d.ts +8 -11
- package/types/primeng-icons-refresh.d.ts +8 -11
- package/types/primeng-icons-search.d.ts +8 -11
- package/types/primeng-icons-searchminus.d.ts +8 -11
- package/types/primeng-icons-searchplus.d.ts +8 -11
- package/types/primeng-icons-sortalt.d.ts +8 -11
- package/types/primeng-icons-sortamountdown.d.ts +8 -11
- package/types/primeng-icons-sortamountupalt.d.ts +8 -11
- package/types/primeng-icons-spinner.d.ts +8 -11
- package/types/primeng-icons-star.d.ts +8 -11
- package/types/primeng-icons-starfill.d.ts +8 -11
- package/types/primeng-icons-thlarge.d.ts +8 -11
- package/types/primeng-icons-times.d.ts +6 -9
- package/types/primeng-icons-timescircle.d.ts +8 -11
- package/types/primeng-icons-trash.d.ts +8 -11
- package/types/primeng-icons-undo.d.ts +8 -11
- package/types/primeng-icons-upload.d.ts +8 -11
- package/types/primeng-icons-windowmaximize.d.ts +8 -11
- package/types/primeng-icons-windowminimize.d.ts +8 -11
- package/types/primeng-icons.d.ts +53 -53
- package/types/primeng-iftalabel.d.ts +37 -37
- package/types/primeng-image.d.ts +403 -308
- package/types/primeng-imagecompare.d.ts +93 -77
- package/types/primeng-inplace.d.ts +125 -111
- package/types/primeng-inputcolor.d.ts +646 -507
- package/types/primeng-inputgroup.d.ts +41 -41
- package/types/primeng-inputgroupaddon.d.ts +31 -31
- package/types/primeng-inputicon.d.ts +38 -32
- package/types/primeng-inputmask.d.ts +519 -362
- package/types/primeng-inputnumber.d.ts +572 -405
- package/types/primeng-inputotp.d.ts +205 -156
- package/types/primeng-inputpassword.d.ts +59 -43
- package/types/primeng-inputtags.d.ts +451 -297
- package/types/primeng-inputtext.d.ts +129 -93
- package/types/primeng-keyfilter.d.ts +62 -53
- package/types/primeng-knob.d.ts +256 -183
- package/types/primeng-label.d.ts +36 -36
- package/types/primeng-license.d.ts +1 -3
- package/types/primeng-listbox.d.ts +1040 -786
- package/types/primeng-megamenu.d.ts +535 -383
- package/types/primeng-menu.d.ts +478 -361
- package/types/primeng-menubar.d.ts +495 -354
- package/types/primeng-message.d.ts +191 -148
- package/types/primeng-metergroup.d.ts +249 -187
- package/types/primeng-motion.d.ts +602 -384
- package/types/primeng-multiselect.d.ts +1192 -858
- package/types/primeng-orderlist.d.ts +538 -390
- package/types/primeng-organizationchart.d.ts +235 -192
- package/types/primeng-overlay.d.ts +394 -294
- package/types/primeng-overlaybadge.d.ts +95 -64
- package/types/primeng-paginator.d.ts +409 -309
- package/types/primeng-panel.d.ts +267 -217
- package/types/primeng-panelmenu.d.ts +254 -228
- package/types/primeng-passthrough.d.ts +5 -7
- package/types/primeng-password.d.ts +605 -430
- package/types/primeng-picklist.d.ts +1041 -756
- package/types/primeng-popover.d.ts +235 -176
- package/types/primeng-progressbar.d.ts +130 -99
- package/types/primeng-progressspinner.d.ts +144 -108
- package/types/primeng-radiobutton.d.ts +218 -168
- package/types/primeng-rating.d.ts +239 -189
- package/types/primeng-ripple.d.ts +38 -42
- package/types/primeng-scrollarea.d.ts +290 -239
- package/types/primeng-scroller.d.ts +522 -387
- package/types/primeng-scrollpanel.d.ts +134 -128
- package/types/primeng-scrolltop.d.ts +169 -123
- package/types/primeng-select.d.ts +1013 -738
- package/types/primeng-selectbutton.d.ts +238 -164
- package/types/primeng-sidebar.d.ts +794 -561
- package/types/primeng-skeleton.d.ts +114 -83
- package/types/primeng-slider.d.ts +375 -306
- package/types/primeng-speeddial.d.ts +492 -370
- package/types/primeng-splitbutton.d.ts +381 -240
- package/types/primeng-splitter.d.ts +392 -299
- package/types/primeng-stepper.d.ts +422 -250
- package/types/primeng-steps.d.ts +157 -134
- package/types/primeng-styleclass.d.ts +163 -105
- package/types/primeng-table.d.ts +2898 -1911
- package/types/primeng-tabs.d.ts +467 -301
- package/types/primeng-tag.d.ts +106 -85
- package/types/primeng-terminal.d.ts +131 -117
- package/types/primeng-textarea.d.ts +145 -107
- package/types/primeng-tieredmenu.d.ts +572 -398
- package/types/primeng-timeline.d.ts +125 -109
- package/types/primeng-toast.d.ts +310 -247
- package/types/primeng-togglebutton.d.ts +254 -182
- package/types/primeng-toggleswitch.d.ts +188 -140
- package/types/primeng-toolbar.d.ts +82 -76
- package/types/primeng-tooltip.d.ts +334 -232
- package/types/primeng-tree.d.ts +762 -559
- package/types/primeng-treeselect.d.ts +749 -547
- package/types/primeng-treetable.d.ts +1839 -1313
- package/types/primeng-ts-helpers.d.ts +4 -6
- package/types/primeng-types-accordion.d.ts +58 -62
- package/types/primeng-types-autocomplete.d.ts +230 -233
- package/types/primeng-types-avatar.d.ts +25 -28
- package/types/primeng-types-avatargroup.d.ts +11 -14
- package/types/primeng-types-badge.d.ts +13 -16
- package/types/primeng-types-blockui.d.ts +18 -21
- package/types/primeng-types-breadcrumb.d.ts +65 -68
- package/types/primeng-types-button.d.ts +106 -109
- package/types/primeng-types-card.d.ts +54 -57
- package/types/primeng-types-carousel.d.ts +143 -146
- package/types/primeng-types-cascadeselect.d.ts +186 -192
- package/types/primeng-types-chart.d.ts +34 -39
- package/types/primeng-types-checkbox.d.ts +52 -55
- package/types/primeng-types-chip.d.ts +48 -51
- package/types/primeng-types-colorpicker.d.ts +59 -62
- package/types/primeng-types-commandmenu.d.ts +98 -101
- package/types/primeng-types-compare.d.ts +33 -36
- package/types/primeng-types-confirmdialog.d.ts +124 -127
- package/types/primeng-types-confirmpopup.d.ts +75 -78
- package/types/primeng-types-contextmenu.d.ts +100 -103
- package/types/primeng-types-dataview.d.ts +180 -183
- package/types/primeng-types-datepicker.d.ts +442 -445
- package/types/primeng-types-dialog.d.ts +93 -96
- package/types/primeng-types-divider.d.ts +14 -17
- package/types/primeng-types-dock.d.ts +45 -48
- package/types/primeng-types-drawer.d.ts +62 -65
- package/types/primeng-types-editor.d.ts +143 -146
- package/types/primeng-types-fieldset.d.ts +83 -87
- package/types/primeng-types-fileupload.d.ts +296 -301
- package/types/primeng-types-floatlabel.d.ts +12 -15
- package/types/primeng-types-fluid.d.ts +11 -14
- package/types/primeng-types-galleria.d.ts +209 -212
- package/types/primeng-types-gallery.d.ts +195 -198
- package/types/primeng-types-iconfield.d.ts +12 -15
- package/types/primeng-types-iftalabel.d.ts +11 -14
- package/types/primeng-types-image.d.ts +118 -121
- package/types/primeng-types-imagecompare.d.ts +22 -25
- package/types/primeng-types-inplace.d.ts +46 -49
- package/types/primeng-types-inputcolor.d.ts +86 -89
- package/types/primeng-types-inputgroup.d.ts +11 -14
- package/types/primeng-types-inputgroupaddon.d.ts +11 -14
- package/types/primeng-types-inputicon.d.ts +11 -14
- package/types/primeng-types-inputmask.d.ts +30 -33
- package/types/primeng-types-inputnumber.d.ts +72 -75
- package/types/primeng-types-inputotp.d.ts +67 -70
- package/types/primeng-types-inputpassword.d.ts +7 -10
- package/types/primeng-types-inputtags.d.ts +122 -125
- package/types/primeng-types-inputtext.d.ts +7 -10
- package/types/primeng-types-knob.d.ts +23 -26
- package/types/primeng-types-label.d.ts +7 -10
- package/types/primeng-types-listbox.d.ts +262 -266
- package/types/primeng-types-megamenu.d.ts +135 -138
- package/types/primeng-types-menu.d.ts +98 -101
- package/types/primeng-types-menubar.d.ts +122 -125
- package/types/primeng-types-message.d.ts +69 -72
- package/types/primeng-types-metergroup.d.ts +137 -140
- package/types/primeng-types-motion.d.ts +11 -14
- package/types/primeng-types-multiselect.d.ts +329 -333
- package/types/primeng-types-orderlist.d.ts +126 -129
- package/types/primeng-types-organizationchart.d.ts +147 -153
- package/types/primeng-types-overlay.d.ts +31 -34
- package/types/primeng-types-overlaybadge.d.ts +17 -20
- package/types/primeng-types-paginator.d.ts +131 -134
- package/types/primeng-types-panel.d.ts +91 -95
- package/types/primeng-types-panelmenu.d.ts +150 -153
- package/types/primeng-types-password.d.ts +94 -97
- package/types/primeng-types-picklist.d.ts +250 -260
- package/types/primeng-types-popover.d.ts +33 -36
- package/types/primeng-types-progressbar.d.ts +33 -36
- package/types/primeng-types-progressspinner.d.ts +27 -30
- package/types/primeng-types-radiobutton.d.ts +29 -32
- package/types/primeng-types-rating.d.ts +62 -65
- package/types/primeng-types-scrollarea.d.ts +35 -38
- package/types/primeng-types-scroller.d.ts +142 -146
- package/types/primeng-types-scrollpanel.d.ts +31 -34
- package/types/primeng-types-scrolltop.d.ts +37 -40
- package/types/primeng-types-select.d.ts +251 -254
- package/types/primeng-types-selectbutton.d.ts +56 -59
- package/types/primeng-types-shared.d.ts +6 -9
- package/types/primeng-types-sidebar.d.ts +105 -108
- package/types/primeng-types-skeleton.d.ts +11 -14
- package/types/primeng-types-slider.d.ts +59 -62
- package/types/primeng-types-speeddial.d.ts +71 -74
- package/types/primeng-types-splitbutton.d.ts +35 -38
- package/types/primeng-types-splitter.d.ts +58 -63
- package/types/primeng-types-stepper.d.ts +77 -80
- package/types/primeng-types-table.d.ts +743 -749
- package/types/primeng-types-tabs.d.ts +48 -51
- package/types/primeng-types-tag.d.ts +27 -30
- package/types/primeng-types-terminal.d.ts +43 -46
- package/types/primeng-types-textarea.d.ts +11 -14
- package/types/primeng-types-tieredmenu.d.ts +154 -157
- package/types/primeng-types-timeline.d.ts +60 -63
- package/types/primeng-types-toast.d.ts +92 -95
- package/types/primeng-types-togglebutton.d.ts +52 -55
- package/types/primeng-types-toggleswitch.d.ts +41 -44
- package/types/primeng-types-toolbar.d.ts +34 -37
- package/types/primeng-types-tooltip.d.ts +17 -20
- package/types/primeng-types-tree.d.ts +237 -246
- package/types/primeng-types-treeselect.d.ts +198 -202
- package/types/primeng-types-treetable.d.ts +492 -497
- package/types/primeng-usestyle.d.ts +28 -31
- package/types/primeng-utils.d.ts +37 -40
- package/types/primeng.d.ts +2 -2
- package/fesm2022/primeng-icons.mjs.map +0 -1
- package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
- package/fesm2022/primeng-types-accordion.mjs.map +0 -1
- package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
- package/fesm2022/primeng-types-avatar.mjs.map +0 -1
- package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
- package/fesm2022/primeng-types-badge.mjs.map +0 -1
- package/fesm2022/primeng-types-blockui.mjs.map +0 -1
- package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
- package/fesm2022/primeng-types-button.mjs.map +0 -1
- package/fesm2022/primeng-types-card.mjs.map +0 -1
- package/fesm2022/primeng-types-carousel.mjs.map +0 -1
- package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
- package/fesm2022/primeng-types-chart.mjs.map +0 -1
- package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
- package/fesm2022/primeng-types-chip.mjs.map +0 -1
- package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
- package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-compare.mjs.map +0 -1
- package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
- package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
- package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-dataview.mjs.map +0 -1
- package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
- package/fesm2022/primeng-types-dialog.mjs.map +0 -1
- package/fesm2022/primeng-types-divider.mjs.map +0 -1
- package/fesm2022/primeng-types-dock.mjs.map +0 -1
- package/fesm2022/primeng-types-drawer.mjs.map +0 -1
- package/fesm2022/primeng-types-editor.mjs.map +0 -1
- package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
- package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
- package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
- package/fesm2022/primeng-types-fluid.mjs.map +0 -1
- package/fesm2022/primeng-types-galleria.mjs.map +0 -1
- package/fesm2022/primeng-types-gallery.mjs.map +0 -1
- package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
- package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
- package/fesm2022/primeng-types-image.mjs.map +0 -1
- package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
- package/fesm2022/primeng-types-inplace.mjs.map +0 -1
- package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
- package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
- package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
- package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
- package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
- package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
- package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
- package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
- package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
- package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
- package/fesm2022/primeng-types-knob.mjs.map +0 -1
- package/fesm2022/primeng-types-label.mjs.map +0 -1
- package/fesm2022/primeng-types-listbox.mjs.map +0 -1
- package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
- package/fesm2022/primeng-types-menu.mjs.map +0 -1
- package/fesm2022/primeng-types-menubar.mjs.map +0 -1
- package/fesm2022/primeng-types-message.mjs.map +0 -1
- package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
- package/fesm2022/primeng-types-motion.mjs.map +0 -1
- package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
- package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
- package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
- package/fesm2022/primeng-types-overlay.mjs.map +0 -1
- package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
- package/fesm2022/primeng-types-paginator.mjs.map +0 -1
- package/fesm2022/primeng-types-panel.mjs.map +0 -1
- package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-password.mjs.map +0 -1
- package/fesm2022/primeng-types-picklist.mjs.map +0 -1
- package/fesm2022/primeng-types-popover.mjs.map +0 -1
- package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
- package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
- package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
- package/fesm2022/primeng-types-rating.mjs.map +0 -1
- package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
- package/fesm2022/primeng-types-scroller.mjs.map +0 -1
- package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
- package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
- package/fesm2022/primeng-types-select.mjs.map +0 -1
- package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
- package/fesm2022/primeng-types-shared.mjs.map +0 -1
- package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
- package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
- package/fesm2022/primeng-types-slider.mjs.map +0 -1
- package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
- package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
- package/fesm2022/primeng-types-splitter.mjs.map +0 -1
- package/fesm2022/primeng-types-stepper.mjs.map +0 -1
- package/fesm2022/primeng-types-table.mjs.map +0 -1
- package/fesm2022/primeng-types-tabs.mjs.map +0 -1
- package/fesm2022/primeng-types-tag.mjs.map +0 -1
- package/fesm2022/primeng-types-terminal.mjs.map +0 -1
- package/fesm2022/primeng-types-textarea.mjs.map +0 -1
- package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
- package/fesm2022/primeng-types-timeline.mjs.map +0 -1
- package/fesm2022/primeng-types-toast.mjs.map +0 -1
- package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
- package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
- package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
- package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
- package/fesm2022/primeng-types-tree.mjs.map +0 -1
- package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
- package/fesm2022/primeng-types-treetable.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-carousel.mjs","sources":["../../src/carousel/style/carouselstyle.ts","../../src/carousel/carousel-token.ts","../../src/carousel/carousel-content.ts","../../src/carousel/carousel-item.ts","../../src/carousel/carousel-next.ts","../../src/carousel/carousel-prev.ts","../../src/carousel/carousel-indicator.ts","../../src/carousel/carousel-indicators.ts","../../src/carousel/carousel-legacy.ts","../../src/carousel/carousel.ts","../../src/carousel/primeng-carousel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/carousel';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-carousel p-component',\n {\n 'p-carousel-vertical': instance.isVertical(),\n 'p-carousel-horizontal': !instance.isVertical()\n }\n ],\n header: 'p-carousel-header',\n contentContainer: 'p-carousel-content-container',\n content: 'p-carousel-content',\n pcPrevButton: ({ instance }) => [\n 'p-carousel-prev-button',\n {\n 'p-disabled': instance.isBackwardNavDisabled()\n }\n ],\n viewport: 'p-carousel-viewport',\n itemList: 'p-carousel-item-list',\n itemClone: ({ instance, index }) => [\n 'p-carousel-item p-carousel-item-clone',\n {\n 'p-carousel-item-active': instance.totalShiftedItems() * -1 === instance.value()?.length,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': instance.clonedItemsForStarting().length - 1 === index\n }\n ],\n item: ({ instance, index }) => [\n 'p-carousel-item',\n {\n 'p-carousel-item-active': instance.firstIndex() <= index && instance.lastIndex() >= index,\n 'p-carousel-item-start': instance.firstIndex() === index,\n 'p-carousel-item-end': instance.lastIndex() === index\n }\n ],\n pcNextButton: ({ instance }) => [\n 'p-carousel-next-button',\n {\n 'p-disabled': instance.isForwardNavDisabled()\n }\n ],\n indicatorList: ({ instance }) => ['p-carousel-indicator-list', instance.indicatorsContentClass()],\n indicator: ({ instance, index }) => [\n 'p-carousel-indicator',\n {\n 'p-carousel-indicator-active': instance._page() === index\n }\n ],\n indicatorButton: ({ instance }) => ['p-carousel-indicator-button', instance.indicatorStyleClass()],\n footer: 'p-carousel-footer',\n // Composition mode\n compositionRoot: 'p-carousel p-component',\n compositionIndicator: ({ instance, index }) => ['p-carousel-indicator-button', { 'p-carousel-indicator-active': instance.pageState() === index }],\n compositionContent: ({ instance }) => ['p-carousel-content', instance.orientation() === 'vertical' ? 'p-carousel-content-vertical' : 'p-carousel-content-horizontal'],\n compositionItem: 'p-carousel-item',\n compositionPrev: ({ instance }) => [{ 'p-disabled': instance.isPrevDisabled() }],\n compositionNext: ({ instance }) => [{ 'p-disabled': instance.isNextDisabled() }]\n};\n\n@Injectable()\nexport class CarouselStyle extends BaseStyle {\n name = 'carousel';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Carousel is a content slider featuring various customization options.\n *\n * [Live Demo](https://www.primeng.org/carousel/)\n *\n * @module carouselstyle\n *\n */\nexport enum CarouselClasses {\n /**\n * Class name of the root element\n */\n root = 'p-carousel',\n /**\n * Class name of the header element\n */\n header = 'p-carousel-header',\n /**\n * Class name of the content container element\n */\n contentContainer = 'p-carousel-content-container',\n /**\n * Class name of the content element\n */\n content = 'p-carousel-content',\n /**\n * Class name of the previous button element\n */\n pcPrevButton = 'p-carousel-prev-button',\n /**\n * Class name of the viewport element\n */\n viewport = 'p-carousel-viewport',\n /**\n * Class name of the item list element\n */\n itemList = 'p-carousel-item-list',\n /**\n * Class name of the item clone element\n */\n itemClone = 'p-carousel-item-clone',\n /**\n * Class name of the item element\n */\n item = 'p-carousel-item',\n /**\n * Class name of the next button element\n */\n pcNextButton = 'p-carousel-next-button',\n /**\n * Class name of the indicator list element\n */\n indicatorList = 'p-carousel-indicator-list',\n /**\n * Class name of the indicator element\n */\n indicator = 'p-carousel-indicator',\n /**\n * Class name of the indicator button element\n */\n indicatorButton = 'p-carousel-indicator-button',\n /**\n * Class name of the footer element\n */\n footer = 'p-carousel-footer'\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const CAROUSEL_ROOT = new InjectionToken<any>('CAROUSEL_ROOT');\n","import { afterNextRender, ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselContentPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselContent is the scrollable track element that contains carousel items.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-content',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselContent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"root.cx('compositionContent')\",\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'content'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-autosize]': 'dataAutosize()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[style.display]': \"'flex'\",\n '[style.flex-direction]': 'flexDirection()',\n '[style.overflow-x]': 'overflowX()',\n '[style.overflow-y]': 'overflowY()',\n '[style.overscroll-behavior-x]': 'overscrollX()',\n '[style.overscroll-behavior-y]': 'overscrollY()',\n '[style.gap]': \"'var(--px-spacing-items)'\",\n '[style.scroll-snap-type]': \"'var(--px-scroll-snap-type)'\",\n '[style.scrollbar-width]': \"'none'\",\n '[style.position]': \"'relative'\",\n '[style.--px-slides-per-page]': 'slidesPerPage()',\n '[style.--px-spacing-items]': 'spacingItems()',\n '[style.--px-scroll-snap-type]': 'scrollSnapType()',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(pointerup)': 'onPointerUp($event)',\n '(wheel)': 'onWheel($event)'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselContent extends BaseComponent<CarouselContentPassThrough> {\n componentName = 'CarouselContent';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n root = inject(CAROUSEL_ROOT);\n\n isVertical = computed(() => this.root.orientation() === 'vertical');\n\n flexDirection = computed(() => (this.isVertical() ? 'column' : 'row'));\n\n overflowX = computed(() => (this.isVertical() ? null : 'scroll'));\n\n overflowY = computed(() => (this.isVertical() ? 'scroll' : null));\n\n overscrollX = computed(() => (this.isVertical() ? null : 'contain'));\n\n overscrollY = computed(() => (this.isVertical() ? 'contain' : null));\n\n dataAutosize = computed(() => (this.root.autoSize() ? '' : null));\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n slidesPerPage = computed(() => this.root.slidesPerPage());\n\n spacingItems = computed(() => this.root.spacing() + 'px');\n\n scrollSnapType = computed(() => this.root.resolveSnapType());\n\n onPointerDown(e: PointerEvent) {\n this.root.onContentPointerDown(e);\n }\n\n onPointerMove(e: PointerEvent) {\n this.root.onContentPointerMove(e);\n }\n\n onPointerUp(e: PointerEvent) {\n this.root.onContentPointerUp(e);\n }\n\n onWheel(e: WheelEvent) {\n this.root.onContentWheel(e);\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n constructor() {\n super();\n afterNextRender(() => {\n this.root.setContentEl(this.$el);\n this.root.setupObservers();\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselItemPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselItem represents an individual item in the composition-based carousel.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-item',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselItem }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"root.cx('compositionItem')\",\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'item'\",\n '[attr.data-item]': \"''\",\n '[attr.data-value]': 'value()',\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.data-autosize]': 'dataAutosize()',\n '[style.flex-grow]': '0',\n '[style.flex-shrink]': '0',\n '[style.min-width]': '0',\n '[style.flex-basis]': 'flexBasis()',\n '[style.scroll-snap-align]': 'scrollSnapAlign()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselItem extends BaseComponent<CarouselItemPassThrough> {\n componentName = 'CarouselItem';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * The value/identifier of the carousel item.\n * @group Props\n */\n value = input<unknown>();\n\n root = inject(CAROUSEL_ROOT);\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n dataAutosize = computed(() => (this.root.autoSize() ? '' : null));\n\n flexBasis = computed(() => (this.root.autoSize() ? 'auto' : 'calc(100% / var(--px-slides-per-page) - var(--px-spacing-items) * (var(--px-slides-per-page) - 1) / var(--px-slides-per-page))'));\n\n scrollSnapAlign = computed(() => this.root.align());\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { computed, Directive, inject } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselNextPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselNext is a directive for the next navigation button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselNext]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselNext }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'next'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-disabled]': 'dataDisabled()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.disabled]': 'attrDisabled()',\n '(click)': 'onClick()'\n }\n})\nexport class CarouselNext extends BaseComponent<CarouselNextPassThrough> {\n componentName = 'CarouselNext';\n\n root = inject(CAROUSEL_ROOT);\n\n _componentStyle = inject(CarouselStyle);\n\n hostClass = computed(() => this.root.cx('compositionNext'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataDisabled = computed(() => this.root.isNextDisabled());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n attrDisabled = computed(() => (this.root.isNextDisabled() ? true : null));\n\n onClick() {\n this.root.next();\n }\n}\n","import { computed, Directive, inject } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselPrevPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselPrev is a directive for the previous navigation button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselPrev]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselPrev }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'prev'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-disabled]': 'dataDisabled()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.disabled]': 'attrDisabled()',\n '(click)': 'onClick()'\n }\n})\nexport class CarouselPrev extends BaseComponent<CarouselPrevPassThrough> {\n componentName = 'CarouselPrev';\n\n root = inject(CAROUSEL_ROOT);\n\n _componentStyle = inject(CarouselStyle);\n\n hostClass = computed(() => this.root.cx('compositionPrev'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataDisabled = computed(() => this.root.isPrevDisabled());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n attrDisabled = computed(() => (this.root.isPrevDisabled() ? true : null));\n\n onClick() {\n this.root.prev();\n }\n}\n","import { computed, Directive, inject, input, numberAttribute } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselIndicatorPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselIndicator is a directive for an individual page indicator button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselIndicator]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselIndicator }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'indicator'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-active]': 'dataActive()',\n '[attr.data-swiping]': 'dataSwiping()',\n '(click)': 'onClick()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselIndicator extends BaseComponent<CarouselIndicatorPassThrough> {\n componentName = 'CarouselIndicator';\n\n /**\n * The page index this indicator represents.\n * @group Props\n */\n page = input(0, { transform: numberAttribute });\n\n root = inject(CAROUSEL_ROOT);\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(CarouselStyle);\n\n isActive = computed(() => this.root.pageState() === this.page());\n\n hostClass = computed(() => this.root.cx('compositionIndicator', { index: this.page() }));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataActive = computed(() => (this.isActive() ? '' : null));\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n onClick() {\n this.root.scrollToPage(this.page());\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselIndicator } from './carousel-indicator';\nimport type { CarouselIndicatorsPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselIndicators renders the list of page indicators.\n * Auto-generates button indicators based on snap points.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-indicators',\n standalone: true,\n imports: [BindModule, CarouselIndicator],\n template: `\n @for (page of pages(); track page) {\n <button type=\"button\" pCarouselIndicator [page]=\"page\"></button>\n }\n `,\n providers: [{ provide: PARENT_INSTANCE, useExisting: CarouselIndicators }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'indicators'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselIndicators extends BaseComponent<CarouselIndicatorsPassThrough> {\n componentName = 'CarouselIndicators';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n root = inject(CAROUSEL_ROOT);\n\n hostClass = computed(() => this.root.cx('indicatorList'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n pages = computed(() => {\n const points = this.root.snapPoints();\n\n return Array.from(points).map((_, i) => i);\n });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, booleanAttribute, computed, contentChild, Directive, effect, ElementRef, inject, input, numberAttribute, output, signal, TemplateRef, untracked, viewChild } from '@angular/core';\nimport { addClass, find, findSingle, getAttribute, removeClass, setAttribute, uuid } from '@primeuix/utils';\nimport { Footer, Header } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport type { ButtonDirectiveOptions } from 'primeng/types/button';\nimport type { CarouselItemTemplateContext, CarouselOrientation, CarouselPageEvent, CarouselResponsiveOptions } from 'primeng/types/carousel';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport { CarouselStyle } from './style/carouselstyle';\n\n/**\n * Base class containing all legacy (data-driven) carousel logic.\n * Extended by the Carousel component.\n * @deprecated Use the composition API of Carousel instead (e.g. p-carousel-content, p-carousel-item).\n */\n@Directive()\nexport abstract class CarouselLegacyBase extends BaseComponent {\n /**\n * Index of the first item.\n * @defaultValue 0\n * @group Props\n */\n page = input(0, { transform: numberAttribute });\n\n /**\n * Number of items per page.\n * @defaultValue 1\n * @group Props\n */\n numVisible = input(1, { transform: numberAttribute });\n\n /**\n * Number of items to scroll.\n * @defaultValue 1\n * @group Props\n */\n numScroll = input(1, { transform: numberAttribute });\n\n /**\n * An array of options for responsive design.\n * @see {CarouselResponsiveOptions}\n * @group Props\n */\n responsiveOptions = input<CarouselResponsiveOptions[]>();\n\n /**\n * Specifies the layout of the component.\n * @group Props\n */\n orientation = input<CarouselOrientation>('horizontal');\n\n /**\n * Height of the viewport in vertical layout.\n * @group Props\n */\n verticalViewPortHeight = input('300px');\n\n /**\n * Style class of main content.\n * @group Props\n */\n contentClass = input('');\n\n /**\n * Style class of the indicator items.\n * @group Props\n */\n indicatorsContentClass = input('');\n\n /**\n * Inline style of the indicator items.\n * @group Props\n */\n indicatorsContentStyle = input<CSSProperties>();\n\n /**\n * Style class of the indicators.\n * @group Props\n */\n indicatorStyleClass = input('');\n\n /**\n * Style of the indicators.\n * @group Props\n */\n indicatorStyle = input<CSSProperties>();\n\n /**\n * An array of objects to display.\n * @defaultValue null\n * @group Props\n */\n value = input<any[]>();\n\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n circular = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to display indicator container.\n * @group Props\n */\n showIndicators = input(true, { transform: booleanAttribute });\n\n /**\n * Whether to display navigation buttons in container.\n * @group Props\n */\n showNavigators = input(true, { transform: booleanAttribute });\n\n /**\n * Time in milliseconds to scroll items automatically.\n * @group Props\n */\n autoplayInterval = input(0, { transform: numberAttribute });\n\n /**\n * Configuration object forwarded to the underlying button.\n * @group Props\n */\n prevButtonProps = input<ButtonDirectiveOptions>({\n severity: 'secondary',\n variant: 'text',\n rounded: true\n });\n\n /**\n * Configuration object forwarded to the underlying button.\n * @group Props\n */\n nextButtonProps = input<ButtonDirectiveOptions>({\n severity: 'secondary',\n variant: 'text',\n rounded: true\n });\n\n /**\n * Callback to invoke after scroll.\n * @param {CarouselPageEvent} event - Custom page event.\n * @group Emits\n */\n onPage = output<CarouselPageEvent>();\n\n itemsContainer = viewChild<ElementRef>('itemsContainer');\n\n indicatorContent = viewChild<ElementRef>('indicatorContent');\n\n headerFacet = contentChild(Header, { descendants: false });\n\n footerFacet = contentChild(Footer, { descendants: false });\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<CarouselItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom previous icon template.\n * @group Templates\n */\n previousIconTemplate = contentChild<TemplateRef<void>>('previousicon', { descendants: false });\n\n /**\n * Custom next icon template.\n * @group Templates\n */\n nextIconTemplate = contentChild<TemplateRef<void>>('nexticon', { descendants: false });\n\n _componentStyle = inject(CarouselStyle);\n\n _numVisible = 1;\n\n _numScroll = 1;\n\n _oldNumScroll = 0;\n\n prevState = {\n numScroll: 0,\n numVisible: 0,\n value: [] as unknown[]\n };\n\n defaultNumScroll = 1;\n\n defaultNumVisible = 1;\n\n _page = signal(0);\n\n carouselStyle: HTMLStyleElement | null = null;\n\n id: string | undefined;\n\n totalShiftedItems = signal(0);\n\n isRemainingItemsAdded = false;\n\n animationTimeout: ReturnType<typeof setTimeout> | undefined;\n\n translateTimeout: ReturnType<typeof setTimeout> | undefined;\n\n remainingItems = 0;\n\n startPos: { x: number; y: number } | null = null;\n\n documentResizeListener: VoidFunction | null = null;\n\n clonedItemsForStarting = signal<unknown[]>([]);\n\n clonedItemsForFinishing = signal<unknown[]>([]);\n\n allowAutoplay = signal(false);\n\n interval: ReturnType<typeof setInterval> | undefined;\n\n isCreated = false;\n\n swipeThreshold = 20;\n\n window: Window;\n\n viewportStyle = computed(() => ({ height: this.isVertical() ? this.verticalViewPortHeight() : 'auto' }));\n\n constructor() {\n super();\n this.window = this.document.defaultView as Window;\n this.totalShiftedItems.set(this.page() * this.numScroll() * -1);\n\n // Effect for page changes\n effect(() => {\n const pageVal = this.page();\n\n untracked(() => {\n if (this.isCreated && pageVal !== this._page()) {\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (pageVal > this._page() && pageVal <= this.totalDots() - 1) {\n this.step(-1, pageVal);\n } else if (pageVal < this._page()) {\n this.step(1, pageVal);\n }\n }\n\n this._page.set(pageVal);\n });\n });\n\n // Effect for value changes\n effect(() => {\n const val = this.value();\n\n if (isPlatformBrowser(this.platformId)) {\n if (this.circular() && val) {\n this.setCloneItems();\n }\n }\n });\n\n // Effect for numVisible/numScroll changes\n effect(() => {\n const numVisibleVal = this.numVisible();\n const numScrollVal = this.numScroll();\n const responsiveOpts = this.responsiveOptions();\n\n untracked(() => {\n if (this.isCreated) {\n if (responsiveOpts) {\n this.defaultNumVisible = numVisibleVal;\n this.defaultNumScroll = numScrollVal;\n }\n\n if (this.isCircular()) {\n this.setCloneItems();\n }\n\n this.createStyle();\n this.calculatePosition();\n }\n\n this._numVisible = numVisibleVal;\n this._numScroll = numScrollVal;\n });\n });\n afterNextRender(() => this.legacyOnAfterContentChecked());\n }\n\n legacyOnAfterContentInit() {\n this.id = uuid('pn_id_');\n\n if (isPlatformBrowser(this.platformId)) {\n this.allowAutoplay.set(!!this.autoplayInterval());\n\n if (this.circular()) {\n this.setCloneItems();\n }\n\n if (this.responsiveOptions()) {\n this.defaultNumScroll = this._numScroll;\n this.defaultNumVisible = this._numVisible;\n }\n\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions()) {\n this.bindDocumentListeners();\n }\n }\n }\n\n legacyOnAfterContentChecked() {\n if (isPlatformBrowser(this.platformId)) {\n const isCircular = this.isCircular();\n let totalShiftedItems = this.totalShiftedItems();\n const val = this.value();\n\n if (val && this.itemsContainer() && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== val.length)) {\n if (this.autoplayInterval()) {\n this.stopAutoplay(false);\n }\n\n this.remainingItems = (val.length - this._numVisible) % this._numScroll;\n\n let page = this._page();\n\n if (this.totalDots() !== 0 && page >= this.totalDots()) {\n page = this.totalDots() - 1;\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n totalShiftedItems = page * this._numScroll * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += -1 * this.remainingItems + this._numScroll;\n this.isRemainingItemsAdded = true;\n } else {\n this.isRemainingItemsAdded = false;\n }\n\n if (totalShiftedItems !== this.totalShiftedItems()) {\n this.totalShiftedItems.set(totalShiftedItems);\n }\n\n this._oldNumScroll = this._numScroll;\n this.prevState.numScroll = this._numScroll;\n this.prevState.numVisible = this._numVisible;\n this.prevState.value = [...val];\n\n const itemsContainerEl = this.itemsContainer();\n\n if (this.totalDots() > 0 && itemsContainerEl?.nativeElement) {\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n\n this.isCreated = true;\n\n if (this.autoplayInterval() && this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n if (isCircular && val) {\n if (this._page() === 0) {\n totalShiftedItems = -1 * this._numVisible;\n } else if (totalShiftedItems === 0) {\n totalShiftedItems = -1 * val.length;\n\n if (this.remainingItems > 0) {\n this.isRemainingItemsAdded = true;\n }\n }\n\n if (totalShiftedItems !== this.totalShiftedItems()) {\n this.totalShiftedItems.set(totalShiftedItems);\n }\n }\n }\n }\n\n createStyle() {\n if (!this.carouselStyle) {\n const styleEl = this.renderer.createElement('style') as HTMLStyleElement;\n\n setAttribute(styleEl, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, styleEl);\n this.carouselStyle = styleEl;\n }\n\n let innerHTML = `\n #${this.id} .p-carousel-item {\n\t\t\t\tflex: 1 0 ${100 / this._numVisible}%\n\t\t\t}\n `;\n\n const responsiveOpts = this.responsiveOptions();\n\n if (responsiveOpts && !this.$unstyled()) {\n responsiveOpts.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n let result: number | null = null;\n\n if (value1 == null && value2 != null) result = -1;\n else if (value1 != null && value2 == null) result = 1;\n else if (value1 == null && value2 == null) result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, { numeric: true });\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return -1 * result;\n });\n\n for (let i = 0; i < responsiveOpts.length; i++) {\n let res = responsiveOpts[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.carouselStyle!.innerHTML = innerHTML;\n }\n\n calculatePosition() {\n const responsiveOpts = this.responsiveOptions();\n\n if (responsiveOpts) {\n let matchedResponsiveData = {\n numVisible: this.defaultNumVisible,\n numScroll: this.defaultNumScroll\n };\n\n if (typeof window !== 'undefined') {\n let windowWidth = window.innerWidth;\n\n for (let i = 0; i < responsiveOpts.length; i++) {\n let res = responsiveOpts[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n }\n\n if (this._numScroll !== matchedResponsiveData.numScroll) {\n let page = this._page();\n\n page = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);\n\n let totalShiftedItems = matchedResponsiveData.numScroll * this._page() * -1;\n\n if (this.isCircular()) {\n totalShiftedItems -= matchedResponsiveData.numVisible;\n }\n\n this.totalShiftedItems.set(totalShiftedItems);\n this._numScroll = matchedResponsiveData.numScroll;\n\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n if (this._numVisible !== matchedResponsiveData.numVisible) {\n this._numVisible = matchedResponsiveData.numVisible;\n this.setCloneItems();\n }\n }\n }\n\n setCloneItems() {\n const val = this.value();\n\n if (this.isCircular() && val) {\n this.clonedItemsForStarting.set([...val.slice(-1 * this._numVisible)]);\n this.clonedItemsForFinishing.set([...val.slice(0, this._numVisible)]);\n } else {\n this.clonedItemsForStarting.set([]);\n this.clonedItemsForFinishing.set([]);\n }\n }\n\n firstIndex() {\n return this.isCircular() ? -1 * (this.totalShiftedItems() + this._numVisible) : this.totalShiftedItems() * -1;\n }\n\n lastIndex() {\n return this.firstIndex() + this._numVisible - 1;\n }\n\n totalDots() {\n const val = this.value();\n\n return val?.length ? Math.ceil((val.length - this._numVisible) / this._numScroll) + 1 : 0;\n }\n\n totalDotsArray() {\n const totalDots = this.totalDots();\n\n return totalDots <= 0 ? [] : Array.from({ length: totalDots }, (_, i) => i);\n }\n\n isVertical() {\n return this.orientation() === 'vertical';\n }\n\n isCircular() {\n const val = this.value();\n\n return this.circular() && val && val.length >= this._numVisible;\n }\n\n isAutoplay() {\n return this.autoplayInterval() && this.allowAutoplay();\n }\n\n isForwardNavDisabled() {\n return this.isEmpty() || (this._page() >= this.totalDots() - 1 && !this.isCircular());\n }\n\n isBackwardNavDisabled() {\n return this.isEmpty() || (this._page() <= 0 && !this.isCircular());\n }\n\n isEmpty() {\n const val = this.value();\n\n return !val || val.length === 0;\n }\n\n // Template helper methods\n hasHeader() {\n return !!(this.headerFacet() || this.headerTemplate());\n }\n\n hasFooter() {\n return !!(this.footerFacet() || this.footerTemplate());\n }\n\n ariaLive() {\n return this.allowAutoplay() ? 'polite' : 'off';\n }\n\n showDefaultPrevIcon() {\n return !this.previousIconTemplate();\n }\n\n showPrevIconTemplate() {\n return !!this.previousIconTemplate();\n }\n\n showDefaultNextIcon() {\n return !this.nextIconTemplate();\n }\n\n showNextIconTemplate() {\n return !!this.nextIconTemplate();\n }\n\n // Clone items (starting) helpers\n isCloneStartAriaHidden() {\n return !(this.totalShiftedItems() * -1 === this.value()?.length);\n }\n\n isCloneStartActive() {\n return this.totalShiftedItems() * -1 === (this.value()?.length ?? 0) + this.numVisible();\n }\n\n isCloneStartEnd(index: number) {\n const cloned = this.clonedItemsForStarting();\n\n return cloned.length > 0 && cloned.length - 1 === index;\n }\n\n // Main items helpers\n isItemActive(index: number) {\n return this.firstIndex() <= index && this.lastIndex() >= index;\n }\n\n isItemAriaHidden(index: number) {\n return !this.isItemActive(index);\n }\n\n isItemStart(index: number) {\n return this.firstIndex() === index;\n }\n\n isItemEnd(index: number) {\n return this.lastIndex() === index;\n }\n\n // Indicator helpers\n isIndicatorActive(index: number) {\n return this._page() === index;\n }\n\n getIndicatorAriaCurrent(index: number) {\n return this._page() === index ? 'page' : undefined;\n }\n\n getIndicatorTabindex(index: number) {\n return this._page() === index ? 0 : -1;\n }\n\n navForward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page() < this.totalDots() - 1) {\n this.step(-1, index);\n }\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page() !== 0) {\n this.step(1, index);\n }\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onDotClick(e: MouseEvent, index: number) {\n let page = this._page();\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (index > page) {\n this.navForward(e, index);\n } else if (index < page) {\n this.navBackward(e, index);\n }\n }\n\n onIndicatorKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n }\n }\n\n onRightKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n }\n\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n }\n\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n }\n\n onEndKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')] as HTMLElement[];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-highlight') === true);\n\n const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]') as HTMLElement | null;\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator?.parentElement);\n\n if (activeIndex >= 0 && highlightedIndex >= 0) {\n (indicators[activeIndex].children[0] as HTMLElement).tabIndex = -1;\n (indicators[highlightedIndex].children[0] as HTMLElement).tabIndex = 0;\n }\n }\n\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator?.parentElement);\n }\n\n changedFocusedIndicator(prevInd: number, nextInd: number) {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')] as HTMLElement[];\n\n if (indicators[prevInd] && indicators[nextInd]) {\n (indicators[prevInd].children[0] as HTMLElement).tabIndex = -1;\n (indicators[nextInd].children[0] as HTMLElement).tabIndex = 0;\n (indicators[nextInd].children[0] as HTMLElement).focus();\n }\n }\n\n step(dir: number, page?: number) {\n let totalShiftedItems = this.totalShiftedItems();\n const isCircular = this.isCircular();\n const val = this.value();\n\n if (page != null) {\n totalShiftedItems = this._numScroll * page * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n this.isRemainingItemsAdded = false;\n } else {\n totalShiftedItems += this._numScroll * dir;\n\n if (this.isRemainingItemsAdded) {\n totalShiftedItems += this.remainingItems - this._numScroll * dir;\n this.isRemainingItemsAdded = false;\n }\n\n let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;\n\n page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));\n }\n\n if (isCircular && this._page() === this.totalDots() - 1 && dir === -1 && val) {\n totalShiftedItems = -1 * (val.length + this._numVisible);\n page = 0;\n } else if (isCircular && this._page() === 0 && dir === 1) {\n totalShiftedItems = 0;\n page = this.totalDots() - 1;\n } else if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;\n this.isRemainingItemsAdded = true;\n }\n\n const itemsContainerEl = this.itemsContainer();\n\n if (itemsContainerEl) {\n if (!this.$unstyled()) {\n removeClass(itemsContainerEl.nativeElement, 'p-items-hidden');\n }\n\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n itemsContainerEl.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems.set(totalShiftedItems);\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n startAutoplay() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.interval = setInterval(() => {\n if (this.totalDots() > 0) {\n if (this._page() === this.totalDots() - 1) {\n this.step(-1, 0);\n } else {\n this.step(-1, this._page() + 1);\n }\n }\n }, this.autoplayInterval());\n this.allowAutoplay.set(true);\n }\n\n stopAutoplay(changeAllow: boolean = true) {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n\n if (changeAllow) {\n this.allowAutoplay.set(false);\n }\n }\n }\n\n isPlaying(): boolean {\n return !!this.interval;\n }\n\n onTransitionEnd() {\n const itemsContainerEl = this.itemsContainer();\n\n if (itemsContainerEl) {\n if (!this.$unstyled()) {\n addClass(itemsContainerEl.nativeElement, 'p-items-hidden');\n }\n\n itemsContainerEl.nativeElement.style.transition = '';\n\n if ((this._page() === 0 || this._page() === this.totalDots() - 1) && this.isCircular()) {\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems() * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems() * (100 / this._numVisible)}%, 0, 0)`;\n }\n }\n }\n\n onTouchStart(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n }\n\n onTouchMove(e: TouchEvent | MouseEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onTouchEnd(e: TouchEvent) {\n if (!this.startPos) return;\n\n const touchobj = e.changedTouches[0];\n\n if (this.isVertical()) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n }\n\n changePageOnTouch(e: TouchEvent | MouseEvent, diff: number) {\n if (Math.abs(diff) > this.swipeThreshold) {\n if (diff < 0) {\n this.navForward(e);\n } else {\n this.navBackward(e);\n }\n }\n }\n\n ariaPrevButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.prevPageLabel : undefined;\n }\n\n ariaSlideLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.slide : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.nextPageLabel : undefined;\n }\n\n ariaSlideNumber(value: number) {\n return this.config.translation.aria ? this.config.translation.aria?.slideNumber?.replace(/{slideNumber}/g, String(value)) : undefined;\n }\n\n ariaPageLabel(value: number) {\n return this.config.translation.aria ? this.config.translation.aria?.pageLabel?.replace(/{page}/g, String(value)) : undefined;\n }\n\n getIndicatorPTOptions(key: string, index: number) {\n return this.ptm(key, {\n context: {\n highlighted: index === this._page()\n }\n });\n }\n\n getItemPTOptions(key: string, index: number) {\n return this.ptm(key, {\n context: {\n index,\n active: this.firstIndex() <= index && this.lastIndex() >= index,\n start: this.firstIndex() === index,\n end: this.lastIndex() === index\n }\n });\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', () => {\n this.calculatePosition();\n });\n }\n }\n }\n\n unbindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n }\n\n legacyOnDestroy() {\n this.unbindDocumentListeners();\n this.stopAutoplay();\n\n if (this.carouselStyle) {\n this.carouselStyle.remove();\n this.carouselStyle = null;\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, effect, inject, input, NgModule, numberAttribute, output, signal, untracked, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { ChevronLeft as ChevronLeftIcon } from '@primeicons/angular/chevron-left';\nimport { ChevronRight as ChevronRightIcon } from '@primeicons/angular/chevron-right';\nimport { ChevronUp as ChevronUpIcon } from '@primeicons/angular/chevron-up';\nimport { CarouselStyle } from './style/carouselstyle';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselContent as CarouselContentComp } from './carousel-content';\nimport { CarouselItem } from './carousel-item';\nimport { CarouselNext } from './carousel-next';\nimport { CarouselPrev } from './carousel-prev';\nimport { CarouselIndicators } from './carousel-indicators';\nimport { CarouselIndicator } from './carousel-indicator';\nimport { CarouselLegacyBase } from './carousel-legacy';\n\n/**\n * Carousel is a content slider featuring various customization options.\n * @group Components\n */\n@Component({\n selector: 'p-carousel',\n standalone: true,\n imports: [NgTemplateOutlet, ChevronRightIcon, ButtonDirective, ChevronLeftIcon, ChevronDownIcon, ChevronUpIcon, SharedModule, BindModule],\n template: `\n @if (isCompositionMode()) {\n <ng-content></ng-content>\n } @else {\n @if (hasHeader()) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n </div>\n }\n <div [class]=\"cn(cx('contentContainer'), contentClass())\" [pBind]=\"ptm('contentContainer')\">\n <div [class]=\"cx('content')\" [attr.aria-live]=\"ariaLive()\" [pBind]=\"ptm('content')\">\n @if (showNavigators()) {\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"prevButtonProps()\"\n [text]=\"true\"\n [class]=\"cx('pcPrevButton')\"\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n data-pc-group-section=\"navigator\"\n [pButtonPT]=\"ptm('pcPrevButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n (click)=\"navBackward($event)\"\n >\n @if (showDefaultPrevIcon()) {\n @if (!isVertical()) {\n <svg data-p-icon=\"chevron-left\" />\n }\n @if (isVertical()) {\n <svg data-p-icon=\"chevron-up\" />\n }\n }\n @if (showPrevIconTemplate()) {\n <ng-template *ngTemplateOutlet=\"previousIconTemplate()\"></ng-template>\n }\n </button>\n }\n <div [class]=\"cx('viewport')\" [style]=\"viewportStyle()\" (touchend)=\"onTouchEnd($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" [pBind]=\"ptm('viewport')\">\n <div #itemsContainer [class]=\"cx('itemList')\" (transitionend)=\"onTransitionEnd()\" [pBind]=\"ptm('itemList')\">\n @for (item of clonedItemsForStarting(); track $index; let i = $index) {\n <div\n [class]=\"cx('itemClone', { index: i })\"\n [attr.aria-hidden]=\"isCloneStartAriaHidden()\"\n [attr.aria-label]=\"ariaSlideNumber(i)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n [attr.data-p-carousel-item-active]=\"isCloneStartActive()\"\n [attr.data-p-carousel-item-start]=\"i === 0\"\n [attr.data-p-carousel-item-end]=\"isCloneStartEnd(i)\"\n [pBind]=\"ptm('itemClone')\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n @for (item of value(); track $index; let i = $index) {\n <div\n [class]=\"cx('item', { index: i })\"\n role=\"group\"\n [attr.aria-hidden]=\"isItemAriaHidden(i)\"\n [attr.aria-label]=\"ariaSlideNumber(i)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n [attr.data-p-carousel-item-active]=\"isItemActive(i)\"\n [attr.data-p-carousel-item-start]=\"isItemStart(i)\"\n [attr.data-p-carousel-item-end]=\"isItemEnd(i)\"\n [pBind]=\"getItemPTOptions('item', i)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n @for (item of clonedItemsForFinishing(); track $index) {\n <div [class]=\"cx('itemClone', { index: 0 })\" [attr.data-p-carousel-item-active]=\"false\" [attr.data-p-carousel-item-start]=\"false\" [attr.data-p-carousel-item-end]=\"false\" [pBind]=\"ptm('itemClone')\">\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n </div>\n </div>\n @if (showNavigators()) {\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"nextButtonProps()\"\n [text]=\"true\"\n [class]=\"cx('pcNextButton')\"\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n data-pc-group-section=\"navigator\"\n [pButtonPT]=\"ptm('pcNextButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n (click)=\"navForward($event)\"\n >\n @if (showDefaultNextIcon()) {\n @if (!isVertical()) {\n <svg data-p-icon=\"chevron-right\" />\n }\n @if (isVertical()) {\n <svg data-p-icon=\"chevron-down\" />\n }\n }\n @if (showNextIconTemplate()) {\n <ng-template *ngTemplateOutlet=\"nextIconTemplate()\"></ng-template>\n }\n </button>\n }\n </div>\n @if (showIndicators()) {\n <ul #indicatorContent [class]=\"cx('indicatorList')\" [style]=\"indicatorsContentStyle()\" (keydown)=\"onIndicatorKeydown($event)\" [pBind]=\"ptm('indicatorList')\">\n @for (dot of totalDotsArray(); track dot) {\n <li [class]=\"cx('indicator', { index: dot })\" [attr.data-p-active]=\"isIndicatorActive(dot)\" [pBind]=\"getIndicatorPTOptions('indicator', dot)\">\n <button\n type=\"button\"\n [class]=\"cx('indicatorButton')\"\n (click)=\"onDotClick($event, dot)\"\n [style]=\"indicatorStyle()\"\n [attr.aria-label]=\"ariaPageLabel(dot + 1)\"\n [attr.aria-current]=\"getIndicatorAriaCurrent(dot)\"\n [tabindex]=\"getIndicatorTabindex(dot)\"\n [pBind]=\"getIndicatorPTOptions('indicatorButton', dot)\"\n ></button>\n </li>\n }\n </ul>\n }\n </div>\n @if (hasFooter()) {\n <div [class]=\"cx('footer')\" [pBind]=\"ptm('footer')\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: Carousel }, { provide: CAROUSEL_ROOT, useExisting: Carousel }],\n hostDirectives: [Bind],\n host: {\n '[attr.id]': 'id',\n '[attr.role]': \"'region'\",\n '[class]': 'hostClass()',\n '[attr.data-scope]': 'dataScope()',\n '[attr.data-part]': 'dataPart()',\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.data-autosize]': 'dataAutosize()'\n }\n})\nexport class Carousel extends CarouselLegacyBase {\n componentName = 'Carousel';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _compositionContent = contentChildren(CarouselContentComp, { descendants: true });\n\n isCompositionMode = computed(() => this._compositionContent().length > 0);\n\n hostClass = computed(() => (this.isCompositionMode() ? this.cx('compositionRoot') : this.cx('root')));\n\n /**\n * Alignment of the carousel items (composition mode).\n * @group Props\n * @defaultValue 'start'\n */\n align = input<'start' | 'center' | 'end'>('start');\n\n /**\n * Alias for orientation used by composition mode host bindings.\n * Delegates to the existing `orientation` input.\n */\n compositionOrientation = computed(() => this.orientation());\n\n /**\n * Alias for align used by composition mode host bindings.\n * Delegates to the `align` input.\n */\n compositionAlign = computed(() => this.align());\n\n /**\n * Whether the carousel should loop (composition mode).\n * @group Props\n * @defaultValue false\n */\n loop = input(false, { transform: booleanAttribute });\n\n /**\n * Scroll snap type applied to the track (composition mode).\n * @group Props\n * @defaultValue 'mandatory'\n */\n snapType = input<'mandatory' | 'proximity'>('mandatory');\n\n /**\n * Spacing between carousel items in pixels (composition mode).\n * @group Props\n * @defaultValue 16\n */\n spacing = input(16, { transform: numberAttribute });\n\n /**\n * Whether the carousel should auto size items (composition mode).\n * @group Props\n * @defaultValue false\n */\n autoSize = input(false, { transform: booleanAttribute });\n\n /**\n * Alias for autoSize used by composition mode host bindings.\n */\n compositionAutoSize = computed(() => this.autoSize());\n\n // Host data attributes (composition mode only)\n dataScope = computed(() => (this.isCompositionMode() ? 'carousel' : null));\n dataPart = computed(() => (this.isCompositionMode() ? 'root' : null));\n dataOrientation = computed(() => (this.isCompositionMode() ? this.compositionOrientation() : null));\n dataAlign = computed(() => (this.isCompositionMode() ? this.compositionAlign() : null));\n dataPage = computed(() => (this.isCompositionMode() ? this.pageState() : null));\n dataSwiping = computed(() => (this.isCompositionMode() && this.swiping() ? '' : null));\n dataAutosize = computed(() => (this.isCompositionMode() && this.compositionAutoSize() ? '' : null));\n\n /**\n * How many slides are visible per page (composition mode). Supports fractions (e.g. 1.5).\n * @group Props\n * @defaultValue 1\n */\n slidesPerPage = input(1, { transform: numberAttribute });\n\n /**\n * Index of the active slide (composition mode).\n * @group Props\n */\n slide = input<number | undefined>(undefined);\n\n /**\n * Callback fired when the carousel's page changes (composition mode).\n * @group Emits\n */\n onPageChange = output<{ value: number }>();\n\n /**\n * Callback fired when the active slide changes (composition mode).\n * @group Emits\n */\n onSlideChange = output<{ value: number }>();\n\n // ==========================================\n // Composition mode signals\n // ==========================================\n\n swiping = signal(false);\n isNextDisabled = signal(false);\n isPrevDisabled = signal(false);\n snapPoints = signal<Set<number>>(new Set());\n pageState = signal(0);\n contentEl = signal<HTMLElement | null>(null);\n\n private _snapPointsRef = new Set<number>();\n private _scrollSnapsRef: number[] = [];\n private _initialPageApplied = false;\n private _initialControlledScroll = false;\n\n private _resizeObserver: ResizeObserver | null = null;\n private _mutationObserver: MutationObserver | null = null;\n private _intersectionObserver: IntersectionObserver | null = null;\n private _scrollTimeout: ReturnType<typeof setTimeout> | null = null;\n private _wheelTimeout: ReturnType<typeof setTimeout> | null = null;\n private _scrollListener: (() => void) | null = null;\n private _destroyed = false;\n\n private _swipeStartPoint = { x: 0, y: 0 };\n private _isRealSwipe = false;\n private _itemSelector = '[data-item]';\n\n private _areSetsEqual<T>(a: Set<T>, b: Set<T>): boolean {\n if (a.size !== b.size) return false;\n\n for (const value of a) {\n if (!b.has(value)) return false;\n }\n\n return true;\n }\n\n constructor() {\n super();\n\n // Composition mode: watch slide input changes\n effect(() => {\n const slideVal = this.slide();\n\n if (slideVal === undefined || slideVal === null) return;\n\n if (!this.isCompositionMode()) return;\n\n untracked(() => {\n if (this._snapPointsRef.size > 0) {\n this.scrollToSlide(slideVal);\n }\n });\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n\n onAfterContentInit() {\n this.legacyOnAfterContentInit();\n }\n\n onAfterContentChecked() {\n this.legacyOnAfterContentChecked();\n }\n\n onDestroy() {\n this._destroyed = true;\n this.legacyOnDestroy();\n\n // Composition mode cleanup\n this._resizeObserver?.disconnect();\n this._mutationObserver?.disconnect();\n this._intersectionObserver?.disconnect();\n this._scrollListener?.();\n if (this._scrollTimeout) clearTimeout(this._scrollTimeout);\n\n if (this._wheelTimeout) clearTimeout(this._wheelTimeout);\n }\n\n resolveSnapType(): string {\n const axis = this.orientation() === 'vertical' ? 'y' : 'x';\n\n return `${axis} ${this.snapType()}`;\n }\n\n setupObservers() {\n const content = this.contentEl();\n\n if (!content) return;\n\n // ResizeObserver\n this._resizeObserver = new ResizeObserver(() => {\n this.computeSnapPoints();\n const closest = this.setToClosest();\n\n this.scrollToPage(closest ?? this.pageState(), true);\n });\n this._resizeObserver.observe(content);\n this._observeResizeItems(content);\n\n // Delay initial computation to ensure items have their data-item attributes\n requestAnimationFrame(() => {\n this.computeSnapPoints();\n this._observeResizeItems(content);\n this._observeIntersectionItems(content);\n this._applyInitialPage();\n this._applyControlledPage();\n this._applyControlledSlide();\n });\n\n // MutationObserver\n this._mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach(() => {\n this.computeSnapPoints();\n this._observeResizeItems(content);\n this._observeIntersectionItems(content);\n requestAnimationFrame(() => {\n const closest = this.setToClosest();\n\n this.scrollToPage(closest ?? this.pageState(), true);\n });\n });\n });\n this._mutationObserver.observe(content, { childList: true, subtree: true });\n\n // IntersectionObserver\n this._intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) entry.target.setAttribute('data-inview', '');\n else entry.target.removeAttribute('data-inview');\n });\n },\n { root: content, threshold: 0.6 }\n );\n this._observeIntersectionItems(content);\n\n // Scroll listener\n const onScroll = () => {\n if (this._scrollTimeout) clearTimeout(this._scrollTimeout);\n\n this._scrollTimeout = setTimeout(() => {\n this.setToClosest();\n }, 80);\n };\n\n onScroll();\n content.addEventListener('scroll', onScroll, { passive: true });\n this._scrollListener = () => content.removeEventListener('scroll', onScroll);\n }\n\n private _applyInitialPage() {\n if (this._initialPageApplied) return;\n\n const slideInput = this.slide();\n\n if (slideInput !== undefined && slideInput !== null) return;\n\n const size = this._snapPointsRef.size || this.snapPoints().size;\n\n if (size === 0) return;\n\n this._initialPageApplied = true;\n this.scrollToPage(0, true);\n }\n\n private _applyControlledPage() {\n const pageInput = this.page();\n const slideInput = this.slide();\n\n if (pageInput === undefined || pageInput === null) return;\n\n if (slideInput !== undefined && slideInput !== null) return;\n\n if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0) return;\n\n const instant = !this._initialControlledScroll;\n\n this._initialControlledScroll = true;\n this.scrollToPage(pageInput, instant);\n }\n\n private _applyControlledSlide() {\n const slideInput = this.slide();\n\n if (slideInput === undefined || slideInput === null) return;\n\n if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0) return;\n\n const instant = !this._initialControlledScroll;\n\n this._initialControlledScroll = true;\n this.scrollToSlide(slideInput, instant);\n }\n\n private _observeResizeItems(content: HTMLElement) {\n if (!this._resizeObserver) return;\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => this._resizeObserver!.observe(item));\n }\n\n private _observeIntersectionItems(content: HTMLElement) {\n if (!this._intersectionObserver) return;\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => this._intersectionObserver!.observe(item));\n }\n\n computeSnapPoints() {\n const content = this.contentEl();\n\n if (!content) return;\n\n const isHorizontal = this.orientation() !== 'vertical';\n const trackSize = isHorizontal ? content.clientWidth : content.clientHeight;\n const maxOffset = Math.max(0, isHorizontal ? content.scrollWidth - trackSize : content.scrollHeight - trackSize);\n const snaps: number[] = [];\n const alignValue = this.align();\n\n this._scrollSnapsRef = [];\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => {\n const offset = isHorizontal ? item.offsetLeft : item.offsetTop;\n const size = isHorizontal ? item.clientWidth : item.clientHeight;\n\n let snapPoint = offset;\n\n if (alignValue === 'center') {\n snapPoint = offset - (trackSize - size) / 2;\n } else if (alignValue === 'end') {\n snapPoint = offset - (trackSize - size);\n }\n\n const clamped = Math.max(0, Math.min(snapPoint, maxOffset));\n\n this._scrollSnapsRef.push(clamped);\n snaps.push(clamped);\n });\n\n const newSnapPoints = new Set(snaps.map(Number));\n\n if (this._areSetsEqual(this._snapPointsRef, newSnapPoints)) return;\n\n this._snapPointsRef = newSnapPoints;\n this.snapPoints.set(newSnapPoints);\n }\n\n setPage(page: number) {\n // Pending requestAnimationFrame/observer callbacks can still reach this after teardown;\n // bail so we don't emit on a destroyed OutputRef.\n if (this._destroyed) return;\n\n if (!this.loop()) {\n const size = this._snapPointsRef.size || this.snapPoints().size;\n\n this.isPrevDisabled.set(page === 0);\n this.isNextDisabled.set(page === size - 1);\n }\n\n this.pageState.set(page);\n this.onPageChange.emit({ value: page });\n this.onSlideChange.emit({ value: page });\n }\n\n setToClosest(): number | undefined {\n const content = this.contentEl();\n const points = this._snapPointsRef;\n\n if (!content || points.size === 0) return undefined;\n\n const scrollPos = this.orientation() === 'horizontal' ? content.scrollLeft : content.scrollTop;\n const closestSnapPoint = Array.from(points).reduce((closest, point) => (Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest), Infinity);\n\n const index = Array.from(points).indexOf(closestSnapPoint);\n\n this.setPage(index);\n\n return index;\n }\n\n scrollToPage(pageNum?: number, instant = false) {\n const points = this._snapPointsRef;\n\n if (points.size === 0) return;\n\n const target = pageNum ?? this.pageState();\n const clampedPage = this.loop() ? (target + points.size) % points.size : Math.max(0, Math.min(target, points.size - 1));\n\n this.setPage(clampedPage);\n this.scrollTo(Array.from(points)[clampedPage], instant);\n }\n\n next() {\n this.scrollToPage(this.pageState() + 1);\n }\n\n prev() {\n this.scrollToPage(this.pageState() - 1);\n }\n\n scrollTo(snapPoint: number, instant = false) {\n const content = this.contentEl();\n\n if (!content) return;\n\n content.scrollTo({\n [this.orientation() === 'horizontal' ? 'left' : 'top']: snapPoint,\n behavior: instant ? 'instant' : 'smooth'\n });\n }\n\n scrollToSlide(slideNum: number, instant = false) {\n const points = this._snapPointsRef;\n const snaps = this._scrollSnapsRef;\n\n if (points.size === 0 || snaps.length === 0) return;\n\n const clampedSlide = Math.max(0, Math.min(slideNum, snaps.length - 1));\n const snap = snaps[clampedSlide];\n\n this.scrollTo(snap, instant);\n const pageIdx = Array.from(points).indexOf(snap);\n\n this.setPage(pageIdx);\n }\n\n setContentEl(el: HTMLElement) {\n this.contentEl.set(el);\n }\n\n // Pointer event handlers (called by CarouselContent)\n onContentPointerDown(e: PointerEvent) {\n if (e.button !== 0) return;\n\n if (e.pointerType === 'touch') return;\n\n this.swiping.set(true);\n this._swipeStartPoint = { x: e.clientX, y: e.clientY };\n this._isRealSwipe = false;\n }\n\n onContentPointerMove(e: PointerEvent) {\n const content = this.contentEl();\n\n if (!this.swiping() || !content || e.pointerType === 'touch') return;\n\n const deltaX = e.clientX - this._swipeStartPoint.x;\n const deltaY = e.clientY - this._swipeStartPoint.y;\n const distance = Math.abs(deltaX) + Math.abs(deltaY);\n\n if (distance < 6) return;\n\n if ((window.getSelection()?.toString().length ?? 0) > 0) return;\n\n (e.currentTarget as HTMLElement).setPointerCapture(e.pointerId);\n content.style.userSelect = 'none';\n this._isRealSwipe = true;\n content.style.scrollSnapType = 'none';\n content.scrollBy({ left: -e.movementX, top: -e.movementY, behavior: 'instant' });\n e.preventDefault();\n }\n\n onContentPointerUp(e: PointerEvent) {\n this.swiping.set(false);\n (e.currentTarget as HTMLElement).releasePointerCapture(e.pointerId);\n if (!this._isRealSwipe) return;\n\n const content = this.contentEl();\n\n if (!content) return;\n\n content.style.userSelect = '';\n const scrollPos = this.orientation() === 'horizontal' ? content.scrollLeft : content.scrollTop;\n const snapPointsSet = this._snapPointsRef;\n const closestSnapPoint = Array.from(snapPointsSet).reduce((closest, point) => (Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest), Infinity);\n const index = Array.from(snapPointsSet).indexOf(closestSnapPoint);\n\n requestAnimationFrame(() => {\n if (closestSnapPoint !== undefined) this.scrollToPage(index);\n\n requestAnimationFrame(() => {\n content.style.scrollSnapType = this.resolveSnapType();\n });\n });\n }\n\n onContentWheel(e: WheelEvent) {\n if (this._wheelTimeout) clearTimeout(this._wheelTimeout);\n\n this._wheelTimeout = setTimeout(() => {\n const primaryDelta = this.orientation() === 'horizontal' ? e.deltaX || e.deltaY : e.deltaY || e.deltaX;\n\n if (primaryDelta > 0 && this.isNextDisabled()) return;\n\n if (primaryDelta < 0 && this.isPrevDisabled()) return;\n\n this.setToClosest();\n }, 80);\n }\n}\n\n@NgModule({\n imports: [Carousel, CarouselContentComp, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule],\n exports: [Carousel, CarouselContentComp, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule]\n})\nexport class CarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["CarouselContentComp","ChevronRightIcon","ChevronLeftIcon","ChevronDownIcon","ChevronUpIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"primeng-carousel.mjs","names":["CarouselContentComp","ChevronRightIcon","ChevronLeftIcon","ChevronDownIcon","ChevronUpIcon"],"sources":["../../src/carousel/style/carouselstyle.ts","../../src/carousel/carousel-token.ts","../../src/carousel/carousel-content.ts","../../src/carousel/carousel-item.ts","../../src/carousel/carousel-next.ts","../../src/carousel/carousel-prev.ts","../../src/carousel/carousel-indicator.ts","../../src/carousel/carousel-indicators.ts","../../src/carousel/carousel-legacy.ts","../../src/carousel/carousel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/carousel';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-carousel p-component',\n {\n 'p-carousel-vertical': instance.isVertical(),\n 'p-carousel-horizontal': !instance.isVertical()\n }\n ],\n header: 'p-carousel-header',\n contentContainer: 'p-carousel-content-container',\n content: 'p-carousel-content',\n pcPrevButton: ({ instance }) => [\n 'p-carousel-prev-button',\n {\n 'p-disabled': instance.isBackwardNavDisabled()\n }\n ],\n viewport: 'p-carousel-viewport',\n itemList: 'p-carousel-item-list',\n itemClone: ({ instance, index }) => [\n 'p-carousel-item p-carousel-item-clone',\n {\n 'p-carousel-item-active': instance.totalShiftedItems() * -1 === instance.value()?.length,\n 'p-carousel-item-start': 0 === index,\n 'p-carousel-item-end': instance.clonedItemsForStarting().length - 1 === index\n }\n ],\n item: ({ instance, index }) => [\n 'p-carousel-item',\n {\n 'p-carousel-item-active': instance.firstIndex() <= index && instance.lastIndex() >= index,\n 'p-carousel-item-start': instance.firstIndex() === index,\n 'p-carousel-item-end': instance.lastIndex() === index\n }\n ],\n pcNextButton: ({ instance }) => [\n 'p-carousel-next-button',\n {\n 'p-disabled': instance.isForwardNavDisabled()\n }\n ],\n indicatorList: ({ instance }) => ['p-carousel-indicator-list', instance.indicatorsContentClass()],\n indicator: ({ instance, index }) => [\n 'p-carousel-indicator',\n {\n 'p-carousel-indicator-active': instance._page() === index\n }\n ],\n indicatorButton: ({ instance }) => ['p-carousel-indicator-button', instance.indicatorStyleClass()],\n footer: 'p-carousel-footer',\n // Composition mode\n compositionRoot: 'p-carousel p-component',\n compositionIndicator: ({ instance, index }) => ['p-carousel-indicator-button', { 'p-carousel-indicator-active': instance.pageState() === index }],\n compositionContent: ({ instance }) => ['p-carousel-content', instance.orientation() === 'vertical' ? 'p-carousel-content-vertical' : 'p-carousel-content-horizontal'],\n compositionItem: 'p-carousel-item',\n compositionPrev: ({ instance }) => [{ 'p-disabled': instance.isPrevDisabled() }],\n compositionNext: ({ instance }) => [{ 'p-disabled': instance.isNextDisabled() }]\n};\n\n@Injectable()\nexport class CarouselStyle extends BaseStyle {\n name = 'carousel';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Carousel is a content slider featuring various customization options.\n *\n * [Live Demo](https://www.primeng.org/carousel/)\n *\n * @module carouselstyle\n *\n */\nexport enum CarouselClasses {\n /**\n * Class name of the root element\n */\n root = 'p-carousel',\n /**\n * Class name of the header element\n */\n header = 'p-carousel-header',\n /**\n * Class name of the content container element\n */\n contentContainer = 'p-carousel-content-container',\n /**\n * Class name of the content element\n */\n content = 'p-carousel-content',\n /**\n * Class name of the previous button element\n */\n pcPrevButton = 'p-carousel-prev-button',\n /**\n * Class name of the viewport element\n */\n viewport = 'p-carousel-viewport',\n /**\n * Class name of the item list element\n */\n itemList = 'p-carousel-item-list',\n /**\n * Class name of the item clone element\n */\n itemClone = 'p-carousel-item-clone',\n /**\n * Class name of the item element\n */\n item = 'p-carousel-item',\n /**\n * Class name of the next button element\n */\n pcNextButton = 'p-carousel-next-button',\n /**\n * Class name of the indicator list element\n */\n indicatorList = 'p-carousel-indicator-list',\n /**\n * Class name of the indicator element\n */\n indicator = 'p-carousel-indicator',\n /**\n * Class name of the indicator button element\n */\n indicatorButton = 'p-carousel-indicator-button',\n /**\n * Class name of the footer element\n */\n footer = 'p-carousel-footer'\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const CAROUSEL_ROOT = new InjectionToken<any>('CAROUSEL_ROOT');\n","import { afterNextRender, ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselContentPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselContent is the scrollable track element that contains carousel items.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-content',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselContent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"root.cx('compositionContent')\",\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'content'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-autosize]': 'dataAutosize()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[style.display]': \"'flex'\",\n '[style.flex-direction]': 'flexDirection()',\n '[style.overflow-x]': 'overflowX()',\n '[style.overflow-y]': 'overflowY()',\n '[style.overscroll-behavior-x]': 'overscrollX()',\n '[style.overscroll-behavior-y]': 'overscrollY()',\n '[style.gap]': \"'var(--px-spacing-items)'\",\n '[style.scroll-snap-type]': \"'var(--px-scroll-snap-type)'\",\n '[style.scrollbar-width]': \"'none'\",\n '[style.position]': \"'relative'\",\n '[style.--px-slides-per-page]': 'slidesPerPage()',\n '[style.--px-spacing-items]': 'spacingItems()',\n '[style.--px-scroll-snap-type]': 'scrollSnapType()',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(pointerup)': 'onPointerUp($event)',\n '(wheel)': 'onWheel($event)'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselContent extends BaseComponent<CarouselContentPassThrough> {\n componentName = 'CarouselContent';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n root = inject(CAROUSEL_ROOT);\n\n isVertical = computed(() => this.root.orientation() === 'vertical');\n\n flexDirection = computed(() => (this.isVertical() ? 'column' : 'row'));\n\n overflowX = computed(() => (this.isVertical() ? null : 'scroll'));\n\n overflowY = computed(() => (this.isVertical() ? 'scroll' : null));\n\n overscrollX = computed(() => (this.isVertical() ? null : 'contain'));\n\n overscrollY = computed(() => (this.isVertical() ? 'contain' : null));\n\n dataAutosize = computed(() => (this.root.autoSize() ? '' : null));\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n slidesPerPage = computed(() => this.root.slidesPerPage());\n\n spacingItems = computed(() => this.root.spacing() + 'px');\n\n scrollSnapType = computed(() => this.root.resolveSnapType());\n\n onPointerDown(e: PointerEvent) {\n this.root.onContentPointerDown(e);\n }\n\n onPointerMove(e: PointerEvent) {\n this.root.onContentPointerMove(e);\n }\n\n onPointerUp(e: PointerEvent) {\n this.root.onContentPointerUp(e);\n }\n\n onWheel(e: WheelEvent) {\n this.root.onContentWheel(e);\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n constructor() {\n super();\n afterNextRender(() => {\n this.root.setContentEl(this.$el);\n this.root.setupObservers();\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselItemPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselItem represents an individual item in the composition-based carousel.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-item',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselItem }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"root.cx('compositionItem')\",\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'item'\",\n '[attr.data-item]': \"''\",\n '[attr.data-value]': 'value()',\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.data-autosize]': 'dataAutosize()',\n '[style.flex-grow]': '0',\n '[style.flex-shrink]': '0',\n '[style.min-width]': '0',\n '[style.flex-basis]': 'flexBasis()',\n '[style.scroll-snap-align]': 'scrollSnapAlign()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselItem extends BaseComponent<CarouselItemPassThrough> {\n componentName = 'CarouselItem';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * The value/identifier of the carousel item.\n * @group Props\n */\n value = input<unknown>();\n\n root = inject(CAROUSEL_ROOT);\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n dataAutosize = computed(() => (this.root.autoSize() ? '' : null));\n\n flexBasis = computed(() => (this.root.autoSize() ? 'auto' : 'calc(100% / var(--px-slides-per-page) - var(--px-spacing-items) * (var(--px-slides-per-page) - 1) / var(--px-slides-per-page))'));\n\n scrollSnapAlign = computed(() => this.root.align());\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { computed, Directive, inject } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselNextPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselNext is a directive for the next navigation button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselNext]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselNext }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'next'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-disabled]': 'dataDisabled()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.disabled]': 'attrDisabled()',\n '(click)': 'onClick()'\n }\n})\nexport class CarouselNext extends BaseComponent<CarouselNextPassThrough> {\n componentName = 'CarouselNext';\n\n root = inject(CAROUSEL_ROOT);\n\n _componentStyle = inject(CarouselStyle);\n\n hostClass = computed(() => this.root.cx('compositionNext'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataDisabled = computed(() => this.root.isNextDisabled());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n attrDisabled = computed(() => (this.root.isNextDisabled() ? true : null));\n\n onClick() {\n this.root.next();\n }\n}\n","import { computed, Directive, inject } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselPrevPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselPrev is a directive for the previous navigation button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselPrev]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselPrev }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'prev'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-disabled]': 'dataDisabled()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.disabled]': 'attrDisabled()',\n '(click)': 'onClick()'\n }\n})\nexport class CarouselPrev extends BaseComponent<CarouselPrevPassThrough> {\n componentName = 'CarouselPrev';\n\n root = inject(CAROUSEL_ROOT);\n\n _componentStyle = inject(CarouselStyle);\n\n hostClass = computed(() => this.root.cx('compositionPrev'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataDisabled = computed(() => this.root.isPrevDisabled());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n attrDisabled = computed(() => (this.root.isPrevDisabled() ? true : null));\n\n onClick() {\n this.root.prev();\n }\n}\n","import { computed, Directive, inject, input, numberAttribute } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselStyle } from './style/carouselstyle';\nimport type { CarouselIndicatorPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselIndicator is a directive for an individual page indicator button.\n * @group Directives\n */\n@Directive({\n selector: '[pCarouselIndicator]',\n standalone: true,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: CarouselIndicator }],\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'indicator'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-active]': 'dataActive()',\n '[attr.data-swiping]': 'dataSwiping()',\n '(click)': 'onClick()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselIndicator extends BaseComponent<CarouselIndicatorPassThrough> {\n componentName = 'CarouselIndicator';\n\n /**\n * The page index this indicator represents.\n * @group Props\n */\n page = input(0, { transform: numberAttribute });\n\n root = inject(CAROUSEL_ROOT);\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(CarouselStyle);\n\n isActive = computed(() => this.root.pageState() === this.page());\n\n hostClass = computed(() => this.root.cx('compositionIndicator', { index: this.page() }));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataActive = computed(() => (this.isActive() ? '' : null));\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n onClick() {\n this.root.scrollToPage(this.page());\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselIndicator } from './carousel-indicator';\nimport type { CarouselIndicatorsPassThrough } from 'primeng/types/carousel';\n\n/**\n * CarouselIndicators renders the list of page indicators.\n * Auto-generates button indicators based on snap points.\n * @group Components\n */\n@Component({\n selector: 'p-carousel-indicators',\n standalone: true,\n imports: [BindModule, CarouselIndicator],\n template: `\n @for (page of pages(); track page) {\n <button type=\"button\" pCarouselIndicator [page]=\"page\"></button>\n }\n `,\n providers: [{ provide: PARENT_INSTANCE, useExisting: CarouselIndicators }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'hostClass()',\n '[attr.data-scope]': \"'carousel'\",\n '[attr.data-part]': \"'indicators'\",\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()'\n },\n hostDirectives: [Bind]\n})\nexport class CarouselIndicators extends BaseComponent<CarouselIndicatorsPassThrough> {\n componentName = 'CarouselIndicators';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n root = inject(CAROUSEL_ROOT);\n\n hostClass = computed(() => this.root.cx('indicatorList'));\n\n dataOrientation = computed(() => this.root.orientation());\n\n dataAlign = computed(() => this.root.align());\n\n dataPage = computed(() => this.root.pageState());\n\n dataSwiping = computed(() => (this.root.swiping() ? '' : null));\n\n pages = computed(() => {\n const points = this.root.snapPoints();\n\n return Array.from(points).map((_, i) => i);\n });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { afterNextRender, booleanAttribute, computed, contentChild, Directive, effect, ElementRef, inject, input, numberAttribute, output, signal, TemplateRef, untracked, viewChild } from '@angular/core';\nimport { addClass, find, findSingle, getAttribute, removeClass, setAttribute, uuid } from '@primeuix/utils';\nimport { Footer, Header } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport type { ButtonDirectiveOptions } from 'primeng/types/button';\nimport type { CarouselItemTemplateContext, CarouselOrientation, CarouselPageEvent, CarouselResponsiveOptions } from 'primeng/types/carousel';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport { CarouselStyle } from './style/carouselstyle';\n\n/**\n * Base class containing all legacy (data-driven) carousel logic.\n * Extended by the Carousel component.\n * @deprecated Use the composition API of Carousel instead (e.g. p-carousel-content, p-carousel-item).\n */\n@Directive()\nexport abstract class CarouselLegacyBase extends BaseComponent {\n /**\n * Index of the first item.\n * @defaultValue 0\n * @group Props\n */\n page = input(0, { transform: numberAttribute });\n\n /**\n * Number of items per page.\n * @defaultValue 1\n * @group Props\n */\n numVisible = input(1, { transform: numberAttribute });\n\n /**\n * Number of items to scroll.\n * @defaultValue 1\n * @group Props\n */\n numScroll = input(1, { transform: numberAttribute });\n\n /**\n * An array of options for responsive design.\n * @see {CarouselResponsiveOptions}\n * @group Props\n */\n responsiveOptions = input<CarouselResponsiveOptions[]>();\n\n /**\n * Specifies the layout of the component.\n * @group Props\n */\n orientation = input<CarouselOrientation>('horizontal');\n\n /**\n * Height of the viewport in vertical layout.\n * @group Props\n */\n verticalViewPortHeight = input('300px');\n\n /**\n * Style class of main content.\n * @group Props\n */\n contentClass = input('');\n\n /**\n * Style class of the indicator items.\n * @group Props\n */\n indicatorsContentClass = input('');\n\n /**\n * Inline style of the indicator items.\n * @group Props\n */\n indicatorsContentStyle = input<CSSProperties>();\n\n /**\n * Style class of the indicators.\n * @group Props\n */\n indicatorStyleClass = input('');\n\n /**\n * Style of the indicators.\n * @group Props\n */\n indicatorStyle = input<CSSProperties>();\n\n /**\n * An array of objects to display.\n * @defaultValue null\n * @group Props\n */\n value = input<any[]>();\n\n /**\n * Defines if scrolling would be infinite.\n * @group Props\n */\n circular = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to display indicator container.\n * @group Props\n */\n showIndicators = input(true, { transform: booleanAttribute });\n\n /**\n * Whether to display navigation buttons in container.\n * @group Props\n */\n showNavigators = input(true, { transform: booleanAttribute });\n\n /**\n * Time in milliseconds to scroll items automatically.\n * @group Props\n */\n autoplayInterval = input(0, { transform: numberAttribute });\n\n /**\n * Configuration object forwarded to the underlying button.\n * @group Props\n */\n prevButtonProps = input<ButtonDirectiveOptions>({\n severity: 'secondary',\n variant: 'text',\n rounded: true\n });\n\n /**\n * Configuration object forwarded to the underlying button.\n * @group Props\n */\n nextButtonProps = input<ButtonDirectiveOptions>({\n severity: 'secondary',\n variant: 'text',\n rounded: true\n });\n\n /**\n * Callback to invoke after scroll.\n * @param {CarouselPageEvent} event - Custom page event.\n * @group Emits\n */\n onPage = output<CarouselPageEvent>();\n\n itemsContainer = viewChild<ElementRef>('itemsContainer');\n\n indicatorContent = viewChild<ElementRef>('indicatorContent');\n\n headerFacet = contentChild(Header, { descendants: false });\n\n footerFacet = contentChild(Footer, { descendants: false });\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<CarouselItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom header template.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom previous icon template.\n * @group Templates\n */\n previousIconTemplate = contentChild<TemplateRef<void>>('previousicon', { descendants: false });\n\n /**\n * Custom next icon template.\n * @group Templates\n */\n nextIconTemplate = contentChild<TemplateRef<void>>('nexticon', { descendants: false });\n\n _componentStyle = inject(CarouselStyle);\n\n _numVisible = 1;\n\n _numScroll = 1;\n\n _oldNumScroll = 0;\n\n prevState = {\n numScroll: 0,\n numVisible: 0,\n value: [] as unknown[]\n };\n\n defaultNumScroll = 1;\n\n defaultNumVisible = 1;\n\n _page = signal(0);\n\n carouselStyle: HTMLStyleElement | null = null;\n\n id: string | undefined;\n\n totalShiftedItems = signal(0);\n\n isRemainingItemsAdded = false;\n\n animationTimeout: ReturnType<typeof setTimeout> | undefined;\n\n translateTimeout: ReturnType<typeof setTimeout> | undefined;\n\n remainingItems = 0;\n\n startPos: { x: number; y: number } | null = null;\n\n documentResizeListener: VoidFunction | null = null;\n\n clonedItemsForStarting = signal<unknown[]>([]);\n\n clonedItemsForFinishing = signal<unknown[]>([]);\n\n allowAutoplay = signal(false);\n\n interval: ReturnType<typeof setInterval> | undefined;\n\n isCreated = false;\n\n swipeThreshold = 20;\n\n window: Window;\n\n viewportStyle = computed(() => ({ height: this.isVertical() ? this.verticalViewPortHeight() : 'auto' }));\n\n constructor() {\n super();\n this.window = this.document.defaultView as Window;\n this.totalShiftedItems.set(this.page() * this.numScroll() * -1);\n\n // Effect for page changes\n effect(() => {\n const pageVal = this.page();\n\n untracked(() => {\n if (this.isCreated && pageVal !== this._page()) {\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (pageVal > this._page() && pageVal <= this.totalDots() - 1) {\n this.step(-1, pageVal);\n } else if (pageVal < this._page()) {\n this.step(1, pageVal);\n }\n }\n\n this._page.set(pageVal);\n });\n });\n\n // Effect for value changes\n effect(() => {\n const val = this.value();\n\n if (isPlatformBrowser(this.platformId)) {\n if (this.circular() && val) {\n this.setCloneItems();\n }\n }\n });\n\n // Effect for numVisible/numScroll changes\n effect(() => {\n const numVisibleVal = this.numVisible();\n const numScrollVal = this.numScroll();\n const responsiveOpts = this.responsiveOptions();\n\n untracked(() => {\n if (this.isCreated) {\n if (responsiveOpts) {\n this.defaultNumVisible = numVisibleVal;\n this.defaultNumScroll = numScrollVal;\n }\n\n if (this.isCircular()) {\n this.setCloneItems();\n }\n\n this.createStyle();\n this.calculatePosition();\n }\n\n this._numVisible = numVisibleVal;\n this._numScroll = numScrollVal;\n });\n });\n afterNextRender(() => this.legacyOnAfterContentChecked());\n }\n\n legacyOnAfterContentInit() {\n this.id = uuid('pn_id_');\n\n if (isPlatformBrowser(this.platformId)) {\n this.allowAutoplay.set(!!this.autoplayInterval());\n\n if (this.circular()) {\n this.setCloneItems();\n }\n\n if (this.responsiveOptions()) {\n this.defaultNumScroll = this._numScroll;\n this.defaultNumVisible = this._numVisible;\n }\n\n this.createStyle();\n this.calculatePosition();\n\n if (this.responsiveOptions()) {\n this.bindDocumentListeners();\n }\n }\n }\n\n legacyOnAfterContentChecked() {\n if (isPlatformBrowser(this.platformId)) {\n const isCircular = this.isCircular();\n let totalShiftedItems = this.totalShiftedItems();\n const val = this.value();\n\n if (val && this.itemsContainer() && (this.prevState.numScroll !== this._numScroll || this.prevState.numVisible !== this._numVisible || this.prevState.value.length !== val.length)) {\n if (this.autoplayInterval()) {\n this.stopAutoplay(false);\n }\n\n this.remainingItems = (val.length - this._numVisible) % this._numScroll;\n\n let page = this._page();\n\n if (this.totalDots() !== 0 && page >= this.totalDots()) {\n page = this.totalDots() - 1;\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n totalShiftedItems = page * this._numScroll * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += -1 * this.remainingItems + this._numScroll;\n this.isRemainingItemsAdded = true;\n } else {\n this.isRemainingItemsAdded = false;\n }\n\n if (totalShiftedItems !== this.totalShiftedItems()) {\n this.totalShiftedItems.set(totalShiftedItems);\n }\n\n this._oldNumScroll = this._numScroll;\n this.prevState.numScroll = this._numScroll;\n this.prevState.numVisible = this._numVisible;\n this.prevState.value = [...val];\n\n const itemsContainerEl = this.itemsContainer();\n\n if (this.totalDots() > 0 && itemsContainerEl?.nativeElement) {\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n }\n\n this.isCreated = true;\n\n if (this.autoplayInterval() && this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n if (isCircular && val) {\n if (this._page() === 0) {\n totalShiftedItems = -1 * this._numVisible;\n } else if (totalShiftedItems === 0) {\n totalShiftedItems = -1 * val.length;\n\n if (this.remainingItems > 0) {\n this.isRemainingItemsAdded = true;\n }\n }\n\n if (totalShiftedItems !== this.totalShiftedItems()) {\n this.totalShiftedItems.set(totalShiftedItems);\n }\n }\n }\n }\n\n createStyle() {\n if (!this.carouselStyle) {\n const styleEl = this.renderer.createElement('style') as HTMLStyleElement;\n\n setAttribute(styleEl, 'nonce', this.config?.csp()?.nonce);\n this.renderer.appendChild(this.document.head, styleEl);\n this.carouselStyle = styleEl;\n }\n\n let innerHTML = `\n #${this.id} .p-carousel-item {\n\t\t\t\tflex: 1 0 ${100 / this._numVisible}%\n\t\t\t}\n `;\n\n const responsiveOpts = this.responsiveOptions();\n\n if (responsiveOpts && !this.$unstyled()) {\n responsiveOpts.sort((data1, data2) => {\n const value1 = data1.breakpoint;\n const value2 = data2.breakpoint;\n let result: number | null = null;\n\n if (value1 == null && value2 != null) result = -1;\n else if (value1 != null && value2 == null) result = 1;\n else if (value1 == null && value2 == null) result = 0;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, { numeric: true });\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return -1 * result;\n });\n\n for (let i = 0; i < responsiveOpts.length; i++) {\n let res = responsiveOpts[i];\n\n innerHTML += `\n @media screen and (max-width: ${res.breakpoint}) {\n #${this.id} .p-carousel-item {\n flex: 1 0 ${100 / res.numVisible}%\n }\n }\n `;\n }\n }\n\n this.carouselStyle!.innerHTML = innerHTML;\n }\n\n calculatePosition() {\n const responsiveOpts = this.responsiveOptions();\n\n if (responsiveOpts) {\n let matchedResponsiveData = {\n numVisible: this.defaultNumVisible,\n numScroll: this.defaultNumScroll\n };\n\n if (typeof window !== 'undefined') {\n let windowWidth = window.innerWidth;\n\n for (let i = 0; i < responsiveOpts.length; i++) {\n let res = responsiveOpts[i];\n\n if (parseInt(res.breakpoint, 10) >= windowWidth) {\n matchedResponsiveData = res;\n }\n }\n }\n\n if (this._numScroll !== matchedResponsiveData.numScroll) {\n let page = this._page();\n\n page = Math.floor((page * this._numScroll) / matchedResponsiveData.numScroll);\n\n let totalShiftedItems = matchedResponsiveData.numScroll * this._page() * -1;\n\n if (this.isCircular()) {\n totalShiftedItems -= matchedResponsiveData.numVisible;\n }\n\n this.totalShiftedItems.set(totalShiftedItems);\n this._numScroll = matchedResponsiveData.numScroll;\n\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n if (this._numVisible !== matchedResponsiveData.numVisible) {\n this._numVisible = matchedResponsiveData.numVisible;\n this.setCloneItems();\n }\n }\n }\n\n setCloneItems() {\n const val = this.value();\n\n if (this.isCircular() && val) {\n this.clonedItemsForStarting.set([...val.slice(-1 * this._numVisible)]);\n this.clonedItemsForFinishing.set([...val.slice(0, this._numVisible)]);\n } else {\n this.clonedItemsForStarting.set([]);\n this.clonedItemsForFinishing.set([]);\n }\n }\n\n firstIndex() {\n return this.isCircular() ? -1 * (this.totalShiftedItems() + this._numVisible) : this.totalShiftedItems() * -1;\n }\n\n lastIndex() {\n return this.firstIndex() + this._numVisible - 1;\n }\n\n totalDots() {\n const val = this.value();\n\n return val?.length ? Math.ceil((val.length - this._numVisible) / this._numScroll) + 1 : 0;\n }\n\n totalDotsArray() {\n const totalDots = this.totalDots();\n\n return totalDots <= 0 ? [] : Array.from({ length: totalDots }, (_, i) => i);\n }\n\n isVertical() {\n return this.orientation() === 'vertical';\n }\n\n isCircular() {\n const val = this.value();\n\n return this.circular() && val && val.length >= this._numVisible;\n }\n\n isAutoplay() {\n return this.autoplayInterval() && this.allowAutoplay();\n }\n\n isForwardNavDisabled() {\n return this.isEmpty() || (this._page() >= this.totalDots() - 1 && !this.isCircular());\n }\n\n isBackwardNavDisabled() {\n return this.isEmpty() || (this._page() <= 0 && !this.isCircular());\n }\n\n isEmpty() {\n const val = this.value();\n\n return !val || val.length === 0;\n }\n\n // Template helper methods\n hasHeader() {\n return !!(this.headerFacet() || this.headerTemplate());\n }\n\n hasFooter() {\n return !!(this.footerFacet() || this.footerTemplate());\n }\n\n ariaLive() {\n return this.allowAutoplay() ? 'polite' : 'off';\n }\n\n showDefaultPrevIcon() {\n return !this.previousIconTemplate();\n }\n\n showPrevIconTemplate() {\n return !!this.previousIconTemplate();\n }\n\n showDefaultNextIcon() {\n return !this.nextIconTemplate();\n }\n\n showNextIconTemplate() {\n return !!this.nextIconTemplate();\n }\n\n // Clone items (starting) helpers\n isCloneStartAriaHidden() {\n return !(this.totalShiftedItems() * -1 === this.value()?.length);\n }\n\n isCloneStartActive() {\n return this.totalShiftedItems() * -1 === (this.value()?.length ?? 0) + this.numVisible();\n }\n\n isCloneStartEnd(index: number) {\n const cloned = this.clonedItemsForStarting();\n\n return cloned.length > 0 && cloned.length - 1 === index;\n }\n\n // Main items helpers\n isItemActive(index: number) {\n return this.firstIndex() <= index && this.lastIndex() >= index;\n }\n\n isItemAriaHidden(index: number) {\n return !this.isItemActive(index);\n }\n\n isItemStart(index: number) {\n return this.firstIndex() === index;\n }\n\n isItemEnd(index: number) {\n return this.lastIndex() === index;\n }\n\n // Indicator helpers\n isIndicatorActive(index: number) {\n return this._page() === index;\n }\n\n getIndicatorAriaCurrent(index: number) {\n return this._page() === index ? 'page' : undefined;\n }\n\n getIndicatorTabindex(index: number) {\n return this._page() === index ? 0 : -1;\n }\n\n navForward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page() < this.totalDots() - 1) {\n this.step(-1, index);\n }\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n navBackward(e: MouseEvent | TouchEvent, index?: number) {\n if (this.isCircular() || this._page() !== 0) {\n this.step(1, index);\n }\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (e && e.cancelable) {\n e.preventDefault();\n }\n }\n\n onDotClick(e: MouseEvent, index: number) {\n let page = this._page();\n\n if (this.autoplayInterval()) {\n this.stopAutoplay();\n }\n\n if (index > page) {\n this.navForward(e, index);\n } else if (index < page) {\n this.navBackward(e, index);\n }\n }\n\n onIndicatorKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowRight':\n this.onRightKey();\n break;\n\n case 'ArrowLeft':\n this.onLeftKey();\n break;\n }\n }\n\n onRightKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n }\n\n onLeftKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n }\n\n onHomeKey() {\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, 0);\n }\n\n onEndKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndex = this.findFocusedIndicatorIndex();\n\n this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n }\n\n onTabKey() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')] as HTMLElement[];\n const highlightedIndex = indicators.findIndex((ind) => getAttribute(ind, 'data-p-highlight') === true);\n\n const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]') as HTMLElement | null;\n const activeIndex = indicators.findIndex((ind) => ind === activeIndicator?.parentElement);\n\n if (activeIndex >= 0 && highlightedIndex >= 0) {\n (indicators[activeIndex].children[0] as HTMLElement).tabIndex = -1;\n (indicators[highlightedIndex].children[0] as HTMLElement).tabIndex = 0;\n }\n }\n\n findFocusedIndicatorIndex() {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')];\n const activeIndicator = findSingle(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"] > button[tabindex=\"0\"]');\n\n return indicators.findIndex((ind) => ind === activeIndicator?.parentElement);\n }\n\n changedFocusedIndicator(prevInd: number, nextInd: number) {\n const indicators = [...find(this.indicatorContent()?.nativeElement, '[data-pc-section=\"indicator\"]')] as HTMLElement[];\n\n if (indicators[prevInd] && indicators[nextInd]) {\n (indicators[prevInd].children[0] as HTMLElement).tabIndex = -1;\n (indicators[nextInd].children[0] as HTMLElement).tabIndex = 0;\n (indicators[nextInd].children[0] as HTMLElement).focus();\n }\n }\n\n step(dir: number, page?: number) {\n let totalShiftedItems = this.totalShiftedItems();\n const isCircular = this.isCircular();\n const val = this.value();\n\n if (page != null) {\n totalShiftedItems = this._numScroll * page * -1;\n\n if (isCircular) {\n totalShiftedItems -= this._numVisible;\n }\n\n this.isRemainingItemsAdded = false;\n } else {\n totalShiftedItems += this._numScroll * dir;\n\n if (this.isRemainingItemsAdded) {\n totalShiftedItems += this.remainingItems - this._numScroll * dir;\n this.isRemainingItemsAdded = false;\n }\n\n let originalShiftedItems = isCircular ? totalShiftedItems + this._numVisible : totalShiftedItems;\n\n page = Math.abs(Math.floor(originalShiftedItems / this._numScroll));\n }\n\n if (isCircular && this._page() === this.totalDots() - 1 && dir === -1 && val) {\n totalShiftedItems = -1 * (val.length + this._numVisible);\n page = 0;\n } else if (isCircular && this._page() === 0 && dir === 1) {\n totalShiftedItems = 0;\n page = this.totalDots() - 1;\n } else if (page === this.totalDots() - 1 && this.remainingItems > 0) {\n totalShiftedItems += this.remainingItems * -1 - this._numScroll * dir;\n this.isRemainingItemsAdded = true;\n }\n\n const itemsContainerEl = this.itemsContainer();\n\n if (itemsContainerEl) {\n if (!this.$unstyled()) {\n removeClass(itemsContainerEl.nativeElement, 'p-items-hidden');\n }\n\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / this._numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / this._numVisible)}%, 0, 0)`;\n itemsContainerEl.nativeElement.style.transition = 'transform 500ms ease 0s';\n }\n\n this.totalShiftedItems.set(totalShiftedItems);\n this._page.set(page);\n this.onPage.emit({\n page: this._page()\n });\n }\n\n startAutoplay() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n\n this.interval = setInterval(() => {\n if (this.totalDots() > 0) {\n if (this._page() === this.totalDots() - 1) {\n this.step(-1, 0);\n } else {\n this.step(-1, this._page() + 1);\n }\n }\n }, this.autoplayInterval());\n this.allowAutoplay.set(true);\n }\n\n stopAutoplay(changeAllow: boolean = true) {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n\n if (changeAllow) {\n this.allowAutoplay.set(false);\n }\n }\n }\n\n isPlaying(): boolean {\n return !!this.interval;\n }\n\n onTransitionEnd() {\n const itemsContainerEl = this.itemsContainer();\n\n if (itemsContainerEl) {\n if (!this.$unstyled()) {\n addClass(itemsContainerEl.nativeElement, 'p-items-hidden');\n }\n\n itemsContainerEl.nativeElement.style.transition = '';\n\n if ((this._page() === 0 || this._page() === this.totalDots() - 1) && this.isCircular()) {\n itemsContainerEl.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${this.totalShiftedItems() * (100 / this._numVisible)}%, 0)` : `translate3d(${this.totalShiftedItems() * (100 / this._numVisible)}%, 0, 0)`;\n }\n }\n }\n\n onTouchStart(e: TouchEvent) {\n let touchobj = e.changedTouches[0];\n\n this.startPos = {\n x: touchobj.pageX,\n y: touchobj.pageY\n };\n }\n\n onTouchMove(e: TouchEvent | MouseEvent) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n\n onTouchEnd(e: TouchEvent) {\n if (!this.startPos) return;\n\n const touchobj = e.changedTouches[0];\n\n if (this.isVertical()) {\n this.changePageOnTouch(e, touchobj.pageY - this.startPos.y);\n } else {\n this.changePageOnTouch(e, touchobj.pageX - this.startPos.x);\n }\n }\n\n changePageOnTouch(e: TouchEvent | MouseEvent, diff: number) {\n if (Math.abs(diff) > this.swipeThreshold) {\n if (diff < 0) {\n this.navForward(e);\n } else {\n this.navBackward(e);\n }\n }\n }\n\n ariaPrevButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.prevPageLabel : undefined;\n }\n\n ariaSlideLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.slide : undefined;\n }\n\n ariaNextButtonLabel() {\n return this.config.translation.aria ? this.config.translation.aria?.nextPageLabel : undefined;\n }\n\n ariaSlideNumber(value: number) {\n return this.config.translation.aria ? this.config.translation.aria?.slideNumber?.replace(/{slideNumber}/g, String(value)) : undefined;\n }\n\n ariaPageLabel(value: number) {\n return this.config.translation.aria ? this.config.translation.aria?.pageLabel?.replace(/{page}/g, String(value)) : undefined;\n }\n\n getIndicatorPTOptions(key: string, index: number) {\n return this.ptm(key, {\n context: {\n highlighted: index === this._page()\n }\n });\n }\n\n getItemPTOptions(key: string, index: number) {\n return this.ptm(key, {\n context: {\n index,\n active: this.firstIndex() <= index && this.lastIndex() >= index,\n start: this.firstIndex() === index,\n end: this.lastIndex() === index\n }\n });\n }\n\n bindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.documentResizeListener) {\n this.documentResizeListener = this.renderer.listen(this.window, 'resize', () => {\n this.calculatePosition();\n });\n }\n }\n }\n\n unbindDocumentListeners() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n }\n\n legacyOnDestroy() {\n this.unbindDocumentListeners();\n this.stopAutoplay();\n\n if (this.carouselStyle) {\n this.carouselStyle.remove();\n this.carouselStyle = null;\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, effect, inject, input, NgModule, numberAttribute, output, signal, untracked, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { ChevronLeft as ChevronLeftIcon } from '@primeicons/angular/chevron-left';\nimport { ChevronRight as ChevronRightIcon } from '@primeicons/angular/chevron-right';\nimport { ChevronUp as ChevronUpIcon } from '@primeicons/angular/chevron-up';\nimport { CarouselStyle } from './style/carouselstyle';\nimport { CAROUSEL_ROOT } from './carousel-token';\nimport { CarouselContent as CarouselContentComp } from './carousel-content';\nimport { CarouselItem } from './carousel-item';\nimport { CarouselNext } from './carousel-next';\nimport { CarouselPrev } from './carousel-prev';\nimport { CarouselIndicators } from './carousel-indicators';\nimport { CarouselIndicator } from './carousel-indicator';\nimport { CarouselLegacyBase } from './carousel-legacy';\n\n/**\n * Carousel is a content slider featuring various customization options.\n * @group Components\n */\n@Component({\n selector: 'p-carousel',\n standalone: true,\n imports: [NgTemplateOutlet, ChevronRightIcon, ButtonDirective, ChevronLeftIcon, ChevronDownIcon, ChevronUpIcon, SharedModule, BindModule],\n template: `\n @if (isCompositionMode()) {\n <ng-content></ng-content>\n } @else {\n @if (hasHeader()) {\n <div [class]=\"cx('header')\" [pBind]=\"ptm('header')\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n </div>\n }\n <div [class]=\"cn(cx('contentContainer'), contentClass())\" [pBind]=\"ptm('contentContainer')\">\n <div [class]=\"cx('content')\" [attr.aria-live]=\"ariaLive()\" [pBind]=\"ptm('content')\">\n @if (showNavigators()) {\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"prevButtonProps()\"\n [text]=\"true\"\n [class]=\"cx('pcPrevButton')\"\n [attr.aria-label]=\"ariaPrevButtonLabel()\"\n data-pc-group-section=\"navigator\"\n [pButtonPT]=\"ptm('pcPrevButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n (click)=\"navBackward($event)\"\n >\n @if (showDefaultPrevIcon()) {\n @if (!isVertical()) {\n <svg data-p-icon=\"chevron-left\" />\n }\n @if (isVertical()) {\n <svg data-p-icon=\"chevron-up\" />\n }\n }\n @if (showPrevIconTemplate()) {\n <ng-template *ngTemplateOutlet=\"previousIconTemplate()\"></ng-template>\n }\n </button>\n }\n <div [class]=\"cx('viewport')\" [style]=\"viewportStyle()\" (touchend)=\"onTouchEnd($event)\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" [pBind]=\"ptm('viewport')\">\n <div #itemsContainer [class]=\"cx('itemList')\" (transitionend)=\"onTransitionEnd()\" [pBind]=\"ptm('itemList')\">\n @for (item of clonedItemsForStarting(); track $index; let i = $index) {\n <div\n [class]=\"cx('itemClone', { index: i })\"\n [attr.aria-hidden]=\"isCloneStartAriaHidden()\"\n [attr.aria-label]=\"ariaSlideNumber(i)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n [attr.data-p-carousel-item-active]=\"isCloneStartActive()\"\n [attr.data-p-carousel-item-start]=\"i === 0\"\n [attr.data-p-carousel-item-end]=\"isCloneStartEnd(i)\"\n [pBind]=\"ptm('itemClone')\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n @for (item of value(); track $index; let i = $index) {\n <div\n [class]=\"cx('item', { index: i })\"\n role=\"group\"\n [attr.aria-hidden]=\"isItemAriaHidden(i)\"\n [attr.aria-label]=\"ariaSlideNumber(i)\"\n [attr.aria-roledescription]=\"ariaSlideLabel()\"\n [attr.data-p-carousel-item-active]=\"isItemActive(i)\"\n [attr.data-p-carousel-item-start]=\"isItemStart(i)\"\n [attr.data-p-carousel-item-end]=\"isItemEnd(i)\"\n [pBind]=\"getItemPTOptions('item', i)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n @for (item of clonedItemsForFinishing(); track $index) {\n <div [class]=\"cx('itemClone', { index: 0 })\" [attr.data-p-carousel-item-active]=\"false\" [attr.data-p-carousel-item-start]=\"false\" [attr.data-p-carousel-item-end]=\"false\" [pBind]=\"ptm('itemClone')\">\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: { $implicit: item }\"></ng-container>\n </div>\n }\n </div>\n </div>\n @if (showNavigators()) {\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"nextButtonProps()\"\n [text]=\"true\"\n [class]=\"cx('pcNextButton')\"\n [attr.aria-label]=\"ariaNextButtonLabel()\"\n data-pc-group-section=\"navigator\"\n [pButtonPT]=\"ptm('pcNextButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n (click)=\"navForward($event)\"\n >\n @if (showDefaultNextIcon()) {\n @if (!isVertical()) {\n <svg data-p-icon=\"chevron-right\" />\n }\n @if (isVertical()) {\n <svg data-p-icon=\"chevron-down\" />\n }\n }\n @if (showNextIconTemplate()) {\n <ng-template *ngTemplateOutlet=\"nextIconTemplate()\"></ng-template>\n }\n </button>\n }\n </div>\n @if (showIndicators()) {\n <ul #indicatorContent [class]=\"cx('indicatorList')\" [style]=\"indicatorsContentStyle()\" (keydown)=\"onIndicatorKeydown($event)\" [pBind]=\"ptm('indicatorList')\">\n @for (dot of totalDotsArray(); track dot) {\n <li [class]=\"cx('indicator', { index: dot })\" [attr.data-p-active]=\"isIndicatorActive(dot)\" [pBind]=\"getIndicatorPTOptions('indicator', dot)\">\n <button\n type=\"button\"\n [class]=\"cx('indicatorButton')\"\n (click)=\"onDotClick($event, dot)\"\n [style]=\"indicatorStyle()\"\n [attr.aria-label]=\"ariaPageLabel(dot + 1)\"\n [attr.aria-current]=\"getIndicatorAriaCurrent(dot)\"\n [tabindex]=\"getIndicatorTabindex(dot)\"\n [pBind]=\"getIndicatorPTOptions('indicatorButton', dot)\"\n ></button>\n </li>\n }\n </ul>\n }\n </div>\n @if (hasFooter()) {\n <div [class]=\"cx('footer')\" [pBind]=\"ptm('footer')\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [CarouselStyle, { provide: PARENT_INSTANCE, useExisting: Carousel }, { provide: CAROUSEL_ROOT, useExisting: Carousel }],\n hostDirectives: [Bind],\n host: {\n '[attr.id]': 'id',\n '[attr.role]': \"'region'\",\n '[class]': 'hostClass()',\n '[attr.data-scope]': 'dataScope()',\n '[attr.data-part]': 'dataPart()',\n '[attr.data-orientation]': 'dataOrientation()',\n '[attr.data-align]': 'dataAlign()',\n '[attr.data-page]': 'dataPage()',\n '[attr.data-swiping]': 'dataSwiping()',\n '[attr.data-autosize]': 'dataAutosize()'\n }\n})\nexport class Carousel extends CarouselLegacyBase {\n componentName = 'Carousel';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _compositionContent = contentChildren(CarouselContentComp, { descendants: true });\n\n isCompositionMode = computed(() => this._compositionContent().length > 0);\n\n hostClass = computed(() => (this.isCompositionMode() ? this.cx('compositionRoot') : this.cx('root')));\n\n /**\n * Alignment of the carousel items (composition mode).\n * @group Props\n * @defaultValue 'start'\n */\n align = input<'start' | 'center' | 'end'>('start');\n\n /**\n * Alias for orientation used by composition mode host bindings.\n * Delegates to the existing `orientation` input.\n */\n compositionOrientation = computed(() => this.orientation());\n\n /**\n * Alias for align used by composition mode host bindings.\n * Delegates to the `align` input.\n */\n compositionAlign = computed(() => this.align());\n\n /**\n * Whether the carousel should loop (composition mode).\n * @group Props\n * @defaultValue false\n */\n loop = input(false, { transform: booleanAttribute });\n\n /**\n * Scroll snap type applied to the track (composition mode).\n * @group Props\n * @defaultValue 'mandatory'\n */\n snapType = input<'mandatory' | 'proximity'>('mandatory');\n\n /**\n * Spacing between carousel items in pixels (composition mode).\n * @group Props\n * @defaultValue 16\n */\n spacing = input(16, { transform: numberAttribute });\n\n /**\n * Whether the carousel should auto size items (composition mode).\n * @group Props\n * @defaultValue false\n */\n autoSize = input(false, { transform: booleanAttribute });\n\n /**\n * Alias for autoSize used by composition mode host bindings.\n */\n compositionAutoSize = computed(() => this.autoSize());\n\n // Host data attributes (composition mode only)\n dataScope = computed(() => (this.isCompositionMode() ? 'carousel' : null));\n dataPart = computed(() => (this.isCompositionMode() ? 'root' : null));\n dataOrientation = computed(() => (this.isCompositionMode() ? this.compositionOrientation() : null));\n dataAlign = computed(() => (this.isCompositionMode() ? this.compositionAlign() : null));\n dataPage = computed(() => (this.isCompositionMode() ? this.pageState() : null));\n dataSwiping = computed(() => (this.isCompositionMode() && this.swiping() ? '' : null));\n dataAutosize = computed(() => (this.isCompositionMode() && this.compositionAutoSize() ? '' : null));\n\n /**\n * How many slides are visible per page (composition mode). Supports fractions (e.g. 1.5).\n * @group Props\n * @defaultValue 1\n */\n slidesPerPage = input(1, { transform: numberAttribute });\n\n /**\n * Index of the active slide (composition mode).\n * @group Props\n */\n slide = input<number | undefined>(undefined);\n\n /**\n * Callback fired when the carousel's page changes (composition mode).\n * @group Emits\n */\n onPageChange = output<{ value: number }>();\n\n /**\n * Callback fired when the active slide changes (composition mode).\n * @group Emits\n */\n onSlideChange = output<{ value: number }>();\n\n swiping = signal(false);\n isNextDisabled = signal(false);\n isPrevDisabled = signal(false);\n snapPoints = signal<Set<number>>(new Set());\n pageState = signal(0);\n contentEl = signal<HTMLElement | null>(null);\n\n private _snapPointsRef = new Set<number>();\n private _scrollSnapsRef: number[] = [];\n private _initialPageApplied = false;\n private _initialControlledScroll = false;\n\n private _resizeObserver: ResizeObserver | null = null;\n private _mutationObserver: MutationObserver | null = null;\n private _intersectionObserver: IntersectionObserver | null = null;\n private _scrollTimeout: ReturnType<typeof setTimeout> | null = null;\n private _wheelTimeout: ReturnType<typeof setTimeout> | null = null;\n private _scrollListener: (() => void) | null = null;\n private _destroyed = false;\n\n private _swipeStartPoint = { x: 0, y: 0 };\n private _isRealSwipe = false;\n private _itemSelector = '[data-item]';\n\n private _areSetsEqual<T>(a: Set<T>, b: Set<T>): boolean {\n if (a.size !== b.size) return false;\n\n for (const value of a) {\n if (!b.has(value)) return false;\n }\n\n return true;\n }\n\n constructor() {\n super();\n\n // Composition mode: watch slide input changes\n effect(() => {\n const slideVal = this.slide();\n\n if (slideVal === undefined || slideVal === null) return;\n\n if (!this.isCompositionMode()) return;\n\n untracked(() => {\n if (this._snapPointsRef.size > 0) {\n this.scrollToSlide(slideVal);\n }\n });\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptm('root'));\n }\n\n onAfterContentInit() {\n this.legacyOnAfterContentInit();\n }\n\n onAfterContentChecked() {\n this.legacyOnAfterContentChecked();\n }\n\n onDestroy() {\n this._destroyed = true;\n this.legacyOnDestroy();\n\n // Composition mode cleanup\n this._resizeObserver?.disconnect();\n this._mutationObserver?.disconnect();\n this._intersectionObserver?.disconnect();\n this._scrollListener?.();\n if (this._scrollTimeout) clearTimeout(this._scrollTimeout);\n\n if (this._wheelTimeout) clearTimeout(this._wheelTimeout);\n }\n\n resolveSnapType(): string {\n const axis = this.orientation() === 'vertical' ? 'y' : 'x';\n\n return `${axis} ${this.snapType()}`;\n }\n\n setupObservers() {\n const content = this.contentEl();\n\n if (!content) return;\n\n // ResizeObserver\n this._resizeObserver = new ResizeObserver(() => {\n this.computeSnapPoints();\n const closest = this.setToClosest();\n\n this.scrollToPage(closest ?? this.pageState(), true);\n });\n this._resizeObserver.observe(content);\n this._observeResizeItems(content);\n\n // Delay initial computation to ensure items have their data-item attributes\n requestAnimationFrame(() => {\n this.computeSnapPoints();\n this._observeResizeItems(content);\n this._observeIntersectionItems(content);\n this._applyInitialPage();\n this._applyControlledPage();\n this._applyControlledSlide();\n });\n\n // MutationObserver\n this._mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach(() => {\n this.computeSnapPoints();\n this._observeResizeItems(content);\n this._observeIntersectionItems(content);\n requestAnimationFrame(() => {\n const closest = this.setToClosest();\n\n this.scrollToPage(closest ?? this.pageState(), true);\n });\n });\n });\n this._mutationObserver.observe(content, { childList: true, subtree: true });\n\n // IntersectionObserver\n this._intersectionObserver = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) entry.target.setAttribute('data-inview', '');\n else entry.target.removeAttribute('data-inview');\n });\n },\n { root: content, threshold: 0.6 }\n );\n this._observeIntersectionItems(content);\n\n // Scroll listener\n const onScroll = () => {\n if (this._scrollTimeout) clearTimeout(this._scrollTimeout);\n\n this._scrollTimeout = setTimeout(() => {\n this.setToClosest();\n }, 80);\n };\n\n onScroll();\n content.addEventListener('scroll', onScroll, { passive: true });\n this._scrollListener = () => content.removeEventListener('scroll', onScroll);\n }\n\n private _applyInitialPage() {\n if (this._initialPageApplied) return;\n\n const slideInput = this.slide();\n\n if (slideInput !== undefined && slideInput !== null) return;\n\n const size = this._snapPointsRef.size || this.snapPoints().size;\n\n if (size === 0) return;\n\n this._initialPageApplied = true;\n this.scrollToPage(0, true);\n }\n\n private _applyControlledPage() {\n const pageInput = this.page();\n const slideInput = this.slide();\n\n if (pageInput === undefined || pageInput === null) return;\n\n if (slideInput !== undefined && slideInput !== null) return;\n\n if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0) return;\n\n const instant = !this._initialControlledScroll;\n\n this._initialControlledScroll = true;\n this.scrollToPage(pageInput, instant);\n }\n\n private _applyControlledSlide() {\n const slideInput = this.slide();\n\n if (slideInput === undefined || slideInput === null) return;\n\n if (this._snapPointsRef.size === 0 && this.snapPoints().size === 0) return;\n\n const instant = !this._initialControlledScroll;\n\n this._initialControlledScroll = true;\n this.scrollToSlide(slideInput, instant);\n }\n\n private _observeResizeItems(content: HTMLElement) {\n if (!this._resizeObserver) return;\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => this._resizeObserver!.observe(item));\n }\n\n private _observeIntersectionItems(content: HTMLElement) {\n if (!this._intersectionObserver) return;\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => this._intersectionObserver!.observe(item));\n }\n\n computeSnapPoints() {\n const content = this.contentEl();\n\n if (!content) return;\n\n const isHorizontal = this.orientation() !== 'vertical';\n const trackSize = isHorizontal ? content.clientWidth : content.clientHeight;\n const maxOffset = Math.max(0, isHorizontal ? content.scrollWidth - trackSize : content.scrollHeight - trackSize);\n const snaps: number[] = [];\n const alignValue = this.align();\n\n this._scrollSnapsRef = [];\n\n content.querySelectorAll<HTMLElement>(this._itemSelector).forEach((item) => {\n const offset = isHorizontal ? item.offsetLeft : item.offsetTop;\n const size = isHorizontal ? item.clientWidth : item.clientHeight;\n\n let snapPoint = offset;\n\n if (alignValue === 'center') {\n snapPoint = offset - (trackSize - size) / 2;\n } else if (alignValue === 'end') {\n snapPoint = offset - (trackSize - size);\n }\n\n const clamped = Math.max(0, Math.min(snapPoint, maxOffset));\n\n this._scrollSnapsRef.push(clamped);\n snaps.push(clamped);\n });\n\n const newSnapPoints = new Set(snaps.map(Number));\n\n if (this._areSetsEqual(this._snapPointsRef, newSnapPoints)) return;\n\n this._snapPointsRef = newSnapPoints;\n this.snapPoints.set(newSnapPoints);\n }\n\n setPage(page: number) {\n if (this._destroyed) return;\n\n if (!this.loop()) {\n const size = this._snapPointsRef.size || this.snapPoints().size;\n\n this.isPrevDisabled.set(page === 0);\n this.isNextDisabled.set(page === size - 1);\n }\n\n this.pageState.set(page);\n this.onPageChange.emit({ value: page });\n this.onSlideChange.emit({ value: page });\n }\n\n setToClosest(): number | undefined {\n const content = this.contentEl();\n const points = this._snapPointsRef;\n\n if (!content || points.size === 0) return undefined;\n\n const scrollPos = this.orientation() === 'horizontal' ? content.scrollLeft : content.scrollTop;\n const closestSnapPoint = Array.from(points).reduce((closest, point) => (Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest), Infinity);\n\n const index = Array.from(points).indexOf(closestSnapPoint);\n\n this.setPage(index);\n\n return index;\n }\n\n scrollToPage(pageNum?: number, instant = false) {\n const points = this._snapPointsRef;\n\n if (points.size === 0) return;\n\n const target = pageNum ?? this.pageState();\n const clampedPage = this.loop() ? (target + points.size) % points.size : Math.max(0, Math.min(target, points.size - 1));\n\n this.setPage(clampedPage);\n this.scrollTo(Array.from(points)[clampedPage], instant);\n }\n\n next() {\n this.scrollToPage(this.pageState() + 1);\n }\n\n prev() {\n this.scrollToPage(this.pageState() - 1);\n }\n\n scrollTo(snapPoint: number, instant = false) {\n const content = this.contentEl();\n\n if (!content) return;\n\n content.scrollTo({\n [this.orientation() === 'horizontal' ? 'left' : 'top']: snapPoint,\n behavior: instant ? 'instant' : 'smooth'\n });\n }\n\n scrollToSlide(slideNum: number, instant = false) {\n const points = this._snapPointsRef;\n const snaps = this._scrollSnapsRef;\n\n if (points.size === 0 || snaps.length === 0) return;\n\n const clampedSlide = Math.max(0, Math.min(slideNum, snaps.length - 1));\n const snap = snaps[clampedSlide];\n\n this.scrollTo(snap, instant);\n const pageIdx = Array.from(points).indexOf(snap);\n\n this.setPage(pageIdx);\n }\n\n setContentEl(el: HTMLElement) {\n this.contentEl.set(el);\n }\n\n // Pointer event handlers (called by CarouselContent)\n onContentPointerDown(e: PointerEvent) {\n if (e.button !== 0) return;\n\n if (e.pointerType === 'touch') return;\n\n this.swiping.set(true);\n this._swipeStartPoint = { x: e.clientX, y: e.clientY };\n this._isRealSwipe = false;\n }\n\n onContentPointerMove(e: PointerEvent) {\n const content = this.contentEl();\n\n if (!this.swiping() || !content || e.pointerType === 'touch') return;\n\n const deltaX = e.clientX - this._swipeStartPoint.x;\n const deltaY = e.clientY - this._swipeStartPoint.y;\n const distance = Math.abs(deltaX) + Math.abs(deltaY);\n\n if (distance < 6) return;\n\n if ((window.getSelection()?.toString().length ?? 0) > 0) return;\n\n (e.currentTarget as HTMLElement).setPointerCapture(e.pointerId);\n content.style.userSelect = 'none';\n this._isRealSwipe = true;\n content.style.scrollSnapType = 'none';\n content.scrollBy({ left: -e.movementX, top: -e.movementY, behavior: 'instant' });\n e.preventDefault();\n }\n\n onContentPointerUp(e: PointerEvent) {\n this.swiping.set(false);\n (e.currentTarget as HTMLElement).releasePointerCapture(e.pointerId);\n if (!this._isRealSwipe) return;\n\n const content = this.contentEl();\n\n if (!content) return;\n\n content.style.userSelect = '';\n const scrollPos = this.orientation() === 'horizontal' ? content.scrollLeft : content.scrollTop;\n const snapPointsSet = this._snapPointsRef;\n const closestSnapPoint = Array.from(snapPointsSet).reduce((closest, point) => (Math.abs(point - scrollPos) < Math.abs(closest - scrollPos) ? point : closest), Infinity);\n const index = Array.from(snapPointsSet).indexOf(closestSnapPoint);\n\n requestAnimationFrame(() => {\n if (closestSnapPoint !== undefined) this.scrollToPage(index);\n\n requestAnimationFrame(() => {\n content.style.scrollSnapType = this.resolveSnapType();\n });\n });\n }\n\n onContentWheel(e: WheelEvent) {\n if (this._wheelTimeout) clearTimeout(this._wheelTimeout);\n\n this._wheelTimeout = setTimeout(() => {\n const primaryDelta = this.orientation() === 'horizontal' ? e.deltaX || e.deltaY : e.deltaY || e.deltaX;\n\n if (primaryDelta > 0 && this.isNextDisabled()) return;\n\n if (primaryDelta < 0 && this.isPrevDisabled()) return;\n\n this.setToClosest();\n }, 80);\n }\n}\n\n@NgModule({\n imports: [Carousel, CarouselContentComp, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule],\n exports: [Carousel, CarouselContentComp, CarouselItem, CarouselNext, CarouselPrev, CarouselIndicators, CarouselIndicator, SharedModule]\n})\nexport class CarouselModule {}\n"],"mappings":"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"}
|