primeng 22.1.2 → 22.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/primeng-accordion.mjs +23 -24
- package/fesm2022/primeng-animateonscroll.mjs +9 -10
- package/fesm2022/primeng-api.mjs +31 -32
- package/fesm2022/primeng-autocomplete.mjs +17 -18
- package/fesm2022/primeng-autofocus.mjs +7 -8
- package/fesm2022/primeng-avatar.mjs +10 -11
- package/fesm2022/primeng-avatargroup.mjs +10 -11
- package/fesm2022/primeng-badge.mjs +10 -11
- package/fesm2022/primeng-base.mjs +41 -31
- package/fesm2022/primeng-basecomponent.mjs +108 -44
- package/fesm2022/primeng-baseeditableholder.mjs +3 -4
- package/fesm2022/primeng-baseinput.mjs +3 -4
- package/fesm2022/primeng-basemodelholder.mjs +3 -4
- package/fesm2022/primeng-bind.mjs +10 -9
- package/fesm2022/primeng-blockui.mjs +23 -24
- package/fesm2022/primeng-breadcrumb.mjs +10 -11
- package/fesm2022/primeng-button.mjs +33 -39
- package/fesm2022/primeng-buttongroup.mjs +12 -13
- package/fesm2022/primeng-card.mjs +10 -11
- package/fesm2022/primeng-carousel.mjs +47 -46
- package/fesm2022/primeng-cascadeselect.mjs +23 -24
- package/fesm2022/primeng-chart.mjs +10 -11
- package/fesm2022/primeng-checkbox.mjs +10 -11
- package/fesm2022/primeng-chip.mjs +10 -11
- package/fesm2022/primeng-classnames.mjs +7 -8
- package/fesm2022/primeng-colorpicker.mjs +10 -11
- package/fesm2022/primeng-commandmenu.mjs +12 -13
- package/fesm2022/primeng-compare.mjs +19 -20
- package/fesm2022/primeng-config.mjs +39 -18
- package/fesm2022/primeng-confirmdialog.mjs +29 -21
- package/fesm2022/primeng-confirmpopup.mjs +22 -21
- package/fesm2022/primeng-contextmenu.mjs +29 -28
- package/fesm2022/primeng-dataview.mjs +10 -11
- package/fesm2022/primeng-datepicker.mjs +110 -87
- package/fesm2022/primeng-dialog.mjs +46 -34
- package/fesm2022/primeng-divider.mjs +10 -11
- package/fesm2022/primeng-dock.mjs +12 -13
- package/fesm2022/primeng-dom.mjs +18 -6
- package/fesm2022/primeng-dragdrop.mjs +15 -14
- package/fesm2022/primeng-drawer.mjs +20 -22
- package/fesm2022/primeng-dynamicdialog.mjs +23 -22
- package/fesm2022/primeng-editor.mjs +10 -11
- package/fesm2022/primeng-fieldset.mjs +13 -15
- package/fesm2022/primeng-fileupload.mjs +24 -25
- package/fesm2022/primeng-floatlabel.mjs +10 -11
- package/fesm2022/primeng-fluid.mjs +10 -11
- package/fesm2022/primeng-focustrap.mjs +11 -12
- package/fesm2022/primeng-galleria.mjs +40 -37
- package/fesm2022/primeng-gallery.mjs +73 -74
- package/fesm2022/primeng-iconfield.mjs +10 -11
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -4
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -4
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -4
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -4
- package/fesm2022/primeng-icons-angledown.mjs +3 -4
- package/fesm2022/primeng-icons-angleleft.mjs +3 -4
- package/fesm2022/primeng-icons-angleright.mjs +3 -4
- package/fesm2022/primeng-icons-angleup.mjs +3 -4
- package/fesm2022/primeng-icons-arrowdown.mjs +4 -6
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -4
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -4
- package/fesm2022/primeng-icons-arrowleft.mjs +4 -6
- package/fesm2022/primeng-icons-arrowright.mjs +3 -4
- package/fesm2022/primeng-icons-arrowup.mjs +4 -6
- package/fesm2022/primeng-icons-ban.mjs +4 -6
- package/fesm2022/primeng-icons-bars.mjs +3 -4
- package/fesm2022/primeng-icons-baseicon.mjs +6 -7
- package/fesm2022/primeng-icons-blank.mjs +3 -4
- package/fesm2022/primeng-icons-calendar.mjs +3 -4
- package/fesm2022/primeng-icons-caretleft.mjs +3 -4
- package/fesm2022/primeng-icons-caretright.mjs +3 -4
- package/fesm2022/primeng-icons-check.mjs +3 -4
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -4
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -4
- package/fesm2022/primeng-icons-chevronright.mjs +3 -4
- package/fesm2022/primeng-icons-chevronup.mjs +3 -4
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +4 -6
- package/fesm2022/primeng-icons-eye.mjs +3 -4
- package/fesm2022/primeng-icons-eyeslash.mjs +4 -6
- package/fesm2022/primeng-icons-filter.mjs +4 -6
- package/fesm2022/primeng-icons-filterfill.mjs +3 -4
- package/fesm2022/primeng-icons-filterslash.mjs +4 -6
- package/fesm2022/primeng-icons-home.mjs +4 -6
- package/fesm2022/primeng-icons-infocircle.mjs +4 -6
- package/fesm2022/primeng-icons-minus.mjs +3 -4
- package/fesm2022/primeng-icons-pencil.mjs +4 -6
- package/fesm2022/primeng-icons-plus.mjs +4 -6
- package/fesm2022/primeng-icons-refresh.mjs +4 -6
- package/fesm2022/primeng-icons-search.mjs +4 -6
- package/fesm2022/primeng-icons-searchminus.mjs +4 -6
- package/fesm2022/primeng-icons-searchplus.mjs +4 -6
- package/fesm2022/primeng-icons-sortalt.mjs +4 -6
- package/fesm2022/primeng-icons-sortamountdown.mjs +4 -6
- package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -6
- package/fesm2022/primeng-icons-spinner.mjs +4 -6
- package/fesm2022/primeng-icons-star.mjs +4 -6
- package/fesm2022/primeng-icons-starfill.mjs +4 -6
- package/fesm2022/primeng-icons-thlarge.mjs +4 -6
- package/fesm2022/primeng-icons-times.mjs +3 -4
- package/fesm2022/primeng-icons-timescircle.mjs +4 -6
- package/fesm2022/primeng-icons-trash.mjs +4 -6
- package/fesm2022/primeng-icons-undo.mjs +4 -6
- package/fesm2022/primeng-icons-upload.mjs +4 -6
- package/fesm2022/primeng-icons-windowmaximize.mjs +4 -6
- package/fesm2022/primeng-icons-windowminimize.mjs +4 -6
- package/fesm2022/primeng-iftalabel.mjs +10 -11
- package/fesm2022/primeng-image.mjs +34 -20
- package/fesm2022/primeng-imagecompare.mjs +10 -11
- package/fesm2022/primeng-inplace.mjs +16 -17
- package/fesm2022/primeng-inputcolor.mjs +46 -51
- package/fesm2022/primeng-inputgroup.mjs +10 -11
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -11
- package/fesm2022/primeng-inputicon.mjs +10 -11
- package/fesm2022/primeng-inputmask.mjs +15 -16
- package/fesm2022/primeng-inputnumber.mjs +10 -11
- package/fesm2022/primeng-inputotp.mjs +10 -11
- package/fesm2022/primeng-inputpassword.mjs +10 -11
- package/fesm2022/primeng-inputtags.mjs +12 -13
- package/fesm2022/primeng-inputtext.mjs +10 -11
- package/fesm2022/primeng-isolation.mjs +280 -0
- package/fesm2022/primeng-keyfilter.mjs +7 -8
- package/fesm2022/primeng-knob.mjs +13 -15
- package/fesm2022/primeng-label.mjs +10 -11
- package/fesm2022/primeng-license.mjs +0 -1
- package/fesm2022/primeng-listbox.mjs +32 -29
- package/fesm2022/primeng-megamenu.mjs +30 -34
- package/fesm2022/primeng-menu.mjs +36 -43
- package/fesm2022/primeng-menubar.mjs +26 -24
- package/fesm2022/primeng-message.mjs +16 -19
- package/fesm2022/primeng-metergroup.mjs +13 -14
- package/fesm2022/primeng-motion.mjs +13 -14
- package/fesm2022/primeng-multiselect.mjs +34 -27
- package/fesm2022/primeng-orderlist.mjs +31 -23
- package/fesm2022/primeng-organizationchart.mjs +13 -14
- package/fesm2022/primeng-overlay.mjs +24 -22
- package/fesm2022/primeng-overlaybadge.mjs +10 -11
- package/fesm2022/primeng-paginator.mjs +13 -11
- package/fesm2022/primeng-panel.mjs +13 -15
- package/fesm2022/primeng-panelmenu.mjs +22 -23
- package/fesm2022/primeng-passthrough.mjs +0 -1
- package/fesm2022/primeng-password.mjs +29 -30
- package/fesm2022/primeng-picklist.mjs +28 -20
- package/fesm2022/primeng-popover.mjs +21 -21
- package/fesm2022/primeng-progressbar.mjs +10 -11
- package/fesm2022/primeng-progressspinner.mjs +10 -11
- package/fesm2022/primeng-radiobutton.mjs +13 -14
- package/fesm2022/primeng-rating.mjs +14 -16
- package/fesm2022/primeng-ripple.mjs +24 -23
- package/fesm2022/primeng-scrollarea.mjs +25 -26
- package/fesm2022/primeng-scroller.mjs +16 -14
- package/fesm2022/primeng-scrollpanel.mjs +23 -24
- package/fesm2022/primeng-scrolltop.mjs +12 -13
- package/fesm2022/primeng-select.mjs +243 -146
- package/fesm2022/primeng-selectbutton.mjs +10 -11
- package/fesm2022/primeng-sidebar.mjs +82 -84
- package/fesm2022/primeng-skeleton.mjs +10 -11
- package/fesm2022/primeng-slider.mjs +10 -11
- package/fesm2022/primeng-speeddial.mjs +20 -19
- package/fesm2022/primeng-splitbutton.mjs +11 -13
- package/fesm2022/primeng-splitter.mjs +13 -14
- package/fesm2022/primeng-stepper.mjs +47 -48
- package/fesm2022/primeng-steps.mjs +10 -11
- package/fesm2022/primeng-styleclass.mjs +10 -9
- package/fesm2022/primeng-table.mjs +183 -162
- package/fesm2022/primeng-tabs.mjs +36 -37
- package/fesm2022/primeng-tag.mjs +10 -11
- package/fesm2022/primeng-terminal.mjs +13 -14
- package/fesm2022/primeng-textarea.mjs +10 -11
- package/fesm2022/primeng-tieredmenu.mjs +26 -26
- package/fesm2022/primeng-timeline.mjs +10 -11
- package/fesm2022/primeng-toast.mjs +48 -33
- package/fesm2022/primeng-togglebutton.mjs +10 -11
- package/fesm2022/primeng-toggleswitch.mjs +10 -11
- package/fesm2022/primeng-toolbar.mjs +10 -11
- package/fesm2022/primeng-tooltip.mjs +24 -25
- package/fesm2022/primeng-tree.mjs +19 -20
- package/fesm2022/primeng-treeselect.mjs +18 -19
- package/fesm2022/primeng-treetable.mjs +93 -88
- package/fesm2022/primeng-useid.mjs +38 -0
- package/fesm2022/primeng-usestyle.mjs +265 -44
- package/fesm2022/primeng-utils.mjs +33 -2
- package/fesm2022/primeng.mjs +0 -1
- package/package.json +12 -4
- package/types/primeng-accordion.d.ts +0 -9
- package/types/primeng-animateonscroll.d.ts +2 -1
- package/types/primeng-api.d.ts +3 -1
- package/types/primeng-autocomplete.d.ts +1 -3
- package/types/primeng-base.d.ts +3 -1
- package/types/primeng-basecomponent.d.ts +34 -16
- package/types/primeng-button.d.ts +9 -12
- package/types/primeng-carousel.d.ts +3 -25
- package/types/primeng-compare.d.ts +0 -9
- package/types/primeng-config.d.ts +27 -2
- package/types/primeng-confirmdialog.d.ts +1 -0
- package/types/primeng-confirmpopup.d.ts +1 -3
- package/types/primeng-datepicker.d.ts +2 -12
- package/types/primeng-dialog.d.ts +1 -0
- package/types/primeng-dom.d.ts +6 -11
- package/types/primeng-dragdrop.d.ts +1 -0
- package/types/primeng-dynamicdialog.d.ts +3 -1
- package/types/primeng-focustrap.d.ts +1 -1
- package/types/primeng-gallery.d.ts +0 -63
- package/types/primeng-inputcolor.d.ts +0 -33
- package/types/primeng-isolation.d.ts +21 -0
- package/types/primeng-listbox.d.ts +1 -0
- package/types/primeng-megamenu.d.ts +5 -1
- package/types/primeng-menu.d.ts +6 -7
- package/types/primeng-motion.d.ts +2 -7
- package/types/primeng-multiselect.d.ts +3 -1
- package/types/primeng-orderlist.d.ts +1 -0
- package/types/primeng-picklist.d.ts +1 -0
- package/types/primeng-scrollarea.d.ts +0 -15
- package/types/primeng-scroller.d.ts +2 -1
- package/types/primeng-select.d.ts +54 -13
- package/types/primeng-sidebar.d.ts +0 -69
- package/types/primeng-splitter.d.ts +0 -3
- package/types/primeng-stepper.d.ts +2 -19
- package/types/primeng-table.d.ts +2 -75
- package/types/primeng-tabs.d.ts +2 -16
- package/types/primeng-toast.d.ts +4 -2
- package/types/primeng-treetable.d.ts +4 -92
- package/types/primeng-types-listbox.d.ts +1 -1
- package/types/primeng-types-select.d.ts +4 -0
- package/types/primeng-useid.d.ts +15 -0
- package/types/primeng-usestyle.d.ts +87 -7
- package/types/primeng-utils.d.ts +42 -0
- package/fesm2022/primeng-accordion.mjs.map +0 -1
- package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
- package/fesm2022/primeng-api.mjs.map +0 -1
- package/fesm2022/primeng-autocomplete.mjs.map +0 -1
- package/fesm2022/primeng-autofocus.mjs.map +0 -1
- package/fesm2022/primeng-avatar.mjs.map +0 -1
- package/fesm2022/primeng-avatargroup.mjs.map +0 -1
- package/fesm2022/primeng-badge.mjs.map +0 -1
- package/fesm2022/primeng-base.mjs.map +0 -1
- package/fesm2022/primeng-basecomponent.mjs.map +0 -1
- package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
- package/fesm2022/primeng-baseinput.mjs.map +0 -1
- package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
- package/fesm2022/primeng-bind.mjs.map +0 -1
- package/fesm2022/primeng-blockui.mjs.map +0 -1
- package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
- package/fesm2022/primeng-button.mjs.map +0 -1
- package/fesm2022/primeng-buttongroup.mjs.map +0 -1
- package/fesm2022/primeng-card.mjs.map +0 -1
- package/fesm2022/primeng-carousel.mjs.map +0 -1
- package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
- package/fesm2022/primeng-chart.mjs.map +0 -1
- package/fesm2022/primeng-checkbox.mjs.map +0 -1
- package/fesm2022/primeng-chip.mjs.map +0 -1
- package/fesm2022/primeng-classnames.mjs.map +0 -1
- package/fesm2022/primeng-colorpicker.mjs.map +0 -1
- package/fesm2022/primeng-commandmenu.mjs.map +0 -1
- package/fesm2022/primeng-compare.mjs.map +0 -1
- package/fesm2022/primeng-config.mjs.map +0 -1
- package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
- package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
- package/fesm2022/primeng-contextmenu.mjs.map +0 -1
- package/fesm2022/primeng-dataview.mjs.map +0 -1
- package/fesm2022/primeng-datepicker.mjs.map +0 -1
- package/fesm2022/primeng-dialog.mjs.map +0 -1
- package/fesm2022/primeng-divider.mjs.map +0 -1
- package/fesm2022/primeng-dock.mjs.map +0 -1
- package/fesm2022/primeng-dom.mjs.map +0 -1
- package/fesm2022/primeng-dragdrop.mjs.map +0 -1
- package/fesm2022/primeng-drawer.mjs.map +0 -1
- package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
- package/fesm2022/primeng-editor.mjs.map +0 -1
- package/fesm2022/primeng-fieldset.mjs.map +0 -1
- package/fesm2022/primeng-fileupload.mjs.map +0 -1
- package/fesm2022/primeng-floatlabel.mjs.map +0 -1
- package/fesm2022/primeng-fluid.mjs.map +0 -1
- package/fesm2022/primeng-focustrap.mjs.map +0 -1
- package/fesm2022/primeng-galleria.mjs.map +0 -1
- package/fesm2022/primeng-gallery.mjs.map +0 -1
- package/fesm2022/primeng-iconfield.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
- package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
- package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
- package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
- package/fesm2022/primeng-icons-ban.mjs.map +0 -1
- package/fesm2022/primeng-icons-bars.mjs.map +0 -1
- package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
- package/fesm2022/primeng-icons-blank.mjs.map +0 -1
- package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
- package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
- package/fesm2022/primeng-icons-check.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
- package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
- package/fesm2022/primeng-icons-eye.mjs.map +0 -1
- package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
- package/fesm2022/primeng-icons-filter.mjs.map +0 -1
- package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
- package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
- package/fesm2022/primeng-icons-home.mjs.map +0 -1
- package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
- package/fesm2022/primeng-icons-minus.mjs.map +0 -1
- package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
- package/fesm2022/primeng-icons-plus.mjs.map +0 -1
- package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
- package/fesm2022/primeng-icons-search.mjs.map +0 -1
- package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
- package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
- package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
- package/fesm2022/primeng-icons-star.mjs.map +0 -1
- package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
- package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
- package/fesm2022/primeng-icons-times.mjs.map +0 -1
- package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
- package/fesm2022/primeng-icons-trash.mjs.map +0 -1
- package/fesm2022/primeng-icons-undo.mjs.map +0 -1
- package/fesm2022/primeng-icons-upload.mjs.map +0 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
- package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
- package/fesm2022/primeng-iftalabel.mjs.map +0 -1
- package/fesm2022/primeng-image.mjs.map +0 -1
- package/fesm2022/primeng-imagecompare.mjs.map +0 -1
- package/fesm2022/primeng-inplace.mjs.map +0 -1
- package/fesm2022/primeng-inputcolor.mjs.map +0 -1
- package/fesm2022/primeng-inputgroup.mjs.map +0 -1
- package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
- package/fesm2022/primeng-inputicon.mjs.map +0 -1
- package/fesm2022/primeng-inputmask.mjs.map +0 -1
- package/fesm2022/primeng-inputnumber.mjs.map +0 -1
- package/fesm2022/primeng-inputotp.mjs.map +0 -1
- package/fesm2022/primeng-inputpassword.mjs.map +0 -1
- package/fesm2022/primeng-inputtags.mjs.map +0 -1
- package/fesm2022/primeng-inputtext.mjs.map +0 -1
- package/fesm2022/primeng-keyfilter.mjs.map +0 -1
- package/fesm2022/primeng-knob.mjs.map +0 -1
- package/fesm2022/primeng-label.mjs.map +0 -1
- package/fesm2022/primeng-license.mjs.map +0 -1
- package/fesm2022/primeng-listbox.mjs.map +0 -1
- package/fesm2022/primeng-megamenu.mjs.map +0 -1
- package/fesm2022/primeng-menu.mjs.map +0 -1
- package/fesm2022/primeng-menubar.mjs.map +0 -1
- package/fesm2022/primeng-message.mjs.map +0 -1
- package/fesm2022/primeng-metergroup.mjs.map +0 -1
- package/fesm2022/primeng-motion.mjs.map +0 -1
- package/fesm2022/primeng-multiselect.mjs.map +0 -1
- package/fesm2022/primeng-orderlist.mjs.map +0 -1
- package/fesm2022/primeng-organizationchart.mjs.map +0 -1
- package/fesm2022/primeng-overlay.mjs.map +0 -1
- package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
- package/fesm2022/primeng-paginator.mjs.map +0 -1
- package/fesm2022/primeng-panel.mjs.map +0 -1
- package/fesm2022/primeng-panelmenu.mjs.map +0 -1
- package/fesm2022/primeng-passthrough.mjs.map +0 -1
- package/fesm2022/primeng-password.mjs.map +0 -1
- package/fesm2022/primeng-picklist.mjs.map +0 -1
- package/fesm2022/primeng-popover.mjs.map +0 -1
- package/fesm2022/primeng-progressbar.mjs.map +0 -1
- package/fesm2022/primeng-progressspinner.mjs.map +0 -1
- package/fesm2022/primeng-radiobutton.mjs.map +0 -1
- package/fesm2022/primeng-rating.mjs.map +0 -1
- package/fesm2022/primeng-ripple.mjs.map +0 -1
- package/fesm2022/primeng-scrollarea.mjs.map +0 -1
- package/fesm2022/primeng-scroller.mjs.map +0 -1
- package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
- package/fesm2022/primeng-scrolltop.mjs.map +0 -1
- package/fesm2022/primeng-select.mjs.map +0 -1
- package/fesm2022/primeng-selectbutton.mjs.map +0 -1
- package/fesm2022/primeng-sidebar.mjs.map +0 -1
- package/fesm2022/primeng-skeleton.mjs.map +0 -1
- package/fesm2022/primeng-slider.mjs.map +0 -1
- package/fesm2022/primeng-speeddial.mjs.map +0 -1
- package/fesm2022/primeng-splitbutton.mjs.map +0 -1
- package/fesm2022/primeng-splitter.mjs.map +0 -1
- package/fesm2022/primeng-stepper.mjs.map +0 -1
- package/fesm2022/primeng-steps.mjs.map +0 -1
- package/fesm2022/primeng-styleclass.mjs.map +0 -1
- package/fesm2022/primeng-table.mjs.map +0 -1
- package/fesm2022/primeng-tabs.mjs.map +0 -1
- package/fesm2022/primeng-tag.mjs.map +0 -1
- package/fesm2022/primeng-terminal.mjs.map +0 -1
- package/fesm2022/primeng-textarea.mjs.map +0 -1
- package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
- package/fesm2022/primeng-timeline.mjs.map +0 -1
- package/fesm2022/primeng-toast.mjs.map +0 -1
- package/fesm2022/primeng-togglebutton.mjs.map +0 -1
- package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
- package/fesm2022/primeng-toolbar.mjs.map +0 -1
- package/fesm2022/primeng-tooltip.mjs.map +0 -1
- package/fesm2022/primeng-tree.mjs.map +0 -1
- package/fesm2022/primeng-treeselect.mjs.map +0 -1
- package/fesm2022/primeng-treetable.mjs.map +0 -1
- package/fesm2022/primeng-usestyle.mjs.map +0 -1
- package/fesm2022/primeng-utils.mjs.map +0 -1
- package/fesm2022/primeng.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-scrollarea.mjs","names":[],"sources":["../../src/scrollarea/scrollarea-token.ts","../../src/scrollarea/style/scrollareastyle.ts","../../src/scrollarea/scrollarea-content.ts","../../src/scrollarea/scrollarea-corner.ts","../../src/scrollarea/scrollarea-scrollbar.ts","../../src/scrollarea/scrollarea-handle.ts","../../src/scrollarea/scrollarea-viewport.ts","../../src/scrollarea/scrollarea.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const SCROLLAREA_INSTANCE = new InjectionToken<any>('SCROLLAREA_INSTANCE');\nexport const SCROLLAREA_VIEWPORT_INSTANCE = new InjectionToken<any>('SCROLLAREA_VIEWPORT_INSTANCE');\nexport const SCROLLAREA_SCROLLBAR_INSTANCE = new InjectionToken<any>('SCROLLAREA_SCROLLBAR_INSTANCE');\n","import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/scrollarea';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }: any) => ['p-scrollarea p-component', { 'p-scrollarea-mask': instance.mask() }],\n viewport: 'p-scrollarea-viewport',\n content: 'p-scrollarea-content',\n scrollbar: 'p-scrollarea-scrollbar',\n handle: 'p-scrollarea-handle',\n corner: 'p-scrollarea-corner'\n};\n\nconst inlineStyles = {\n root: {\n position: 'relative'\n },\n viewport: {\n overflow: 'scroll',\n scrollbarWidth: 'none'\n },\n scrollbar: ({ instance }: any) => {\n const isVertical = instance.orientation() === 'vertical';\n\n return {\n position: 'absolute',\n touchAction: 'none',\n userSelect: 'none',\n WebkitUserSelect: 'none',\n display: instance.isHidden() ? 'none' : undefined,\n top: isVertical ? 0 : undefined,\n bottom: isVertical ? 'var(--px-corner-height)' : 0,\n insetInlineEnd: isVertical ? 0 : 'var(--px-corner-width)',\n insetInlineStart: !isVertical ? 0 : undefined\n };\n },\n corner: ({ instance }: any) => ({\n position: 'absolute',\n bottom: 0,\n insetInlineEnd: 0,\n display: instance.isHidden() ? 'none' : undefined\n })\n};\n\n@Injectable()\nexport class ScrollAreaStyle extends BaseStyle {\n name = 'scrollarea';\n\n style = style;\n\n classes = classes;\n\n override inlineStyles = inlineStyles;\n}\n\n/**\n *\n * ScrollArea is a cross browser, lightweight and themable alternative to native browser scrollbar.\n *\n * [Live Demo](https://www.primeng.org/scrollarea)\n *\n * @module scrollareastyle\n *\n */\nexport enum ScrollAreaClasses {\n /**\n * Class name of the root element\n */\n root = 'p-scrollarea',\n /**\n * Class name of the viewport element\n */\n viewport = 'p-scrollarea-viewport',\n /**\n * Class name of the content element\n */\n content = 'p-scrollarea-content',\n /**\n * Class name of the scrollbar element\n */\n scrollbar = 'p-scrollarea-scrollbar',\n /**\n * Class name of the handle element\n */\n handle = 'p-scrollarea-handle',\n /**\n * Class name of the corner element\n */\n corner = 'p-scrollarea-corner'\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 type { ScrollArea } from './scrollarea';\nimport { SCROLLAREA_INSTANCE } from './scrollarea-token';\nimport { ScrollAreaStyle } from './style/scrollareastyle';\n\n/**\n * ScrollAreaContent is a helper component for ScrollArea component.\n * @group Components\n */\n@Component({\n selector: 'p-scrollarea-content, p-scroll-area-content',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaContent }],\n host: {\n '[class]': 'cx(\"content\")',\n '[style.min-width]': 'contentMinWidth()',\n '[style.min-height]': 'contentMinHeight()'\n },\n hostDirectives: [Bind]\n})\nexport class ScrollAreaContent extends BaseComponent {\n componentName = 'ScrollAreaContent';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n pcScrollArea = inject<ScrollArea>(SCROLLAREA_INSTANCE);\n\n _componentStyle = inject(ScrollAreaStyle);\n\n contentMinWidth = computed(() => (this.pcScrollArea.hasOverflowX() ? 'fit-content' : null));\n\n contentMinHeight = computed(() => (this.pcScrollArea.hasOverflowY() ? 'fit-content' : null));\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['content']));\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport type { ScrollArea } from './scrollarea';\nimport { SCROLLAREA_INSTANCE } from './scrollarea-token';\nimport { ScrollAreaStyle } from './style/scrollareastyle';\n\n/**\n * ScrollAreaCorner is a helper component for ScrollArea component.\n * @group Components\n */\n@Component({\n selector: 'p-scrollarea-corner, p-scroll-area-corner',\n standalone: true,\n imports: [BindModule],\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaCorner }],\n host: {\n '[class]': 'cx(\"corner\")',\n '[style]': 'sx(\"corner\")'\n },\n hostDirectives: [Bind]\n})\nexport class ScrollAreaCorner extends BaseComponent {\n componentName = 'ScrollAreaCorner';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n pcScrollArea = inject<ScrollArea>(SCROLLAREA_INSTANCE);\n\n _componentStyle = inject(ScrollAreaStyle);\n\n private hostEl = inject(ElementRef);\n\n isHidden = computed(() => this.pcScrollArea.cornerHidden());\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['corner']));\n }\n\n onAfterViewInit() {\n this.pcScrollArea.cornerEl = this.hostEl.nativeElement;\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport type { ScrollArea } from './scrollarea';\nimport { SCROLLAREA_INSTANCE, SCROLLAREA_SCROLLBAR_INSTANCE } from './scrollarea-token';\nimport { ScrollAreaStyle } from './style/scrollareastyle';\n\n/**\n * ScrollAreaScrollbar is a helper component for ScrollArea component.\n * @group Components\n */\n@Component({\n selector: 'p-scrollarea-scrollbar, p-scroll-area-scrollbar',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: SCROLLAREA_SCROLLBAR_INSTANCE, useExisting: ScrollAreaScrollbar },\n { provide: PARENT_INSTANCE, useExisting: ScrollAreaScrollbar }\n ],\n host: {\n '[class]': 'cx(\"scrollbar\")',\n '[style]': 'sx(\"scrollbar\")',\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-hovering]': 'dataHovering()',\n '[attr.data-scrolling]': 'dataScrolling()',\n '(pointerdown)': 'pcScrollArea.onScrollbarPointerDown($event, orientation())',\n '(pointermove)': 'pcScrollArea.onScrollbarPointerMove($event)',\n '(pointerup)': 'pcScrollArea.onScrollbarPointerUp($event)',\n '(wheel)': 'pcScrollArea.onScrollbarWheel($event, orientation())'\n },\n hostDirectives: [Bind]\n})\nexport class ScrollAreaScrollbar extends BaseComponent {\n componentName = 'ScrollAreaScrollbar';\n\n $pcScrollAreaScrollbar: ScrollAreaScrollbar | undefined = inject(SCROLLAREA_SCROLLBAR_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n pcScrollArea = inject<ScrollArea>(SCROLLAREA_INSTANCE);\n\n _componentStyle = inject(ScrollAreaStyle);\n\n private hostEl = inject(ElementRef);\n\n /**\n * Orientation of the scrollbar.\n * @group Props\n */\n orientation = input<'vertical' | 'horizontal'>('vertical');\n\n isVertical = computed(() => this.orientation() === 'vertical');\n\n isHidden = computed(() => (this.isVertical() ? this.pcScrollArea.hiddenY() : this.pcScrollArea.hiddenX()));\n\n dataHovering = computed(() => (this.pcScrollArea.hovering() ? '' : null));\n\n dataScrolling = computed(() => {\n const isVertical = this.isVertical();\n\n return (isVertical ? this.pcScrollArea.scrollingY() : this.pcScrollArea.scrollingX()) ? '' : null;\n });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['scrollbar']));\n }\n\n onAfterViewInit() {\n const el = this.hostEl.nativeElement;\n\n if (this.isVertical()) {\n this.pcScrollArea.scrollbarYEl = el;\n } else {\n this.pcScrollArea.scrollbarXEl = el;\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport type { ScrollArea } from './scrollarea';\nimport type { ScrollAreaScrollbar } from './scrollarea-scrollbar';\nimport { SCROLLAREA_INSTANCE, SCROLLAREA_SCROLLBAR_INSTANCE } from './scrollarea-token';\nimport { ScrollAreaStyle } from './style/scrollareastyle';\n\n/**\n * ScrollAreaHandle is a helper component for ScrollArea component.\n * @group Components\n */\n@Component({\n selector: 'p-scrollarea-handle, p-scroll-area-handle',\n standalone: true,\n imports: [BindModule],\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: PARENT_INSTANCE, useExisting: ScrollAreaHandle }],\n host: {\n '[class]': 'cx(\"handle\")',\n '[attr.data-orientation]': 'orientation()',\n '[style.height]': 'handleHeight()',\n '[style.width]': 'handleWidth()',\n '[style.transform]': 'handleTransform()',\n '(pointerdown)': 'pcScrollArea.onHandlePointerDown($event, orientation())'\n },\n hostDirectives: [Bind]\n})\nexport class ScrollAreaHandle extends BaseComponent {\n componentName = 'ScrollAreaHandle';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n pcScrollArea = inject<ScrollArea>(SCROLLAREA_INSTANCE);\n\n pcScrollbar = inject<ScrollAreaScrollbar>(SCROLLAREA_SCROLLBAR_INSTANCE);\n\n _componentStyle = inject(ScrollAreaStyle);\n\n private hostEl = inject(ElementRef);\n\n orientation = computed(() => this.pcScrollbar.orientation());\n\n isVertical = computed(() => this.orientation() === 'vertical');\n\n handleHeight = computed(() => (this.isVertical() ? 'var(--px-handle-height, 0px)' : undefined));\n\n handleWidth = computed(() => (this.isVertical() ? undefined : 'var(--px-handle-width, 0px)'));\n\n handleTransform = computed(() => (this.isVertical() ? 'translate3d(0, var(--px-handle-offset, 0px), 0)' : 'translate3d(var(--px-handle-offset, 0px), 0, 0)'));\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['handle']));\n }\n\n onAfterViewInit() {\n const el = this.hostEl.nativeElement;\n\n if (this.isVertical()) {\n this.pcScrollArea.handleYEl = el;\n } else {\n this.pcScrollArea.handleXEl = el;\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport type { ScrollArea } from './scrollarea';\nimport { SCROLLAREA_INSTANCE, SCROLLAREA_VIEWPORT_INSTANCE } from './scrollarea-token';\nimport { ScrollAreaStyle } from './style/scrollareastyle';\n\n/**\n * ScrollAreaViewport is a helper component for ScrollArea component.\n * @group Components\n */\n@Component({\n selector: 'p-scrollarea-viewport, p-scroll-area-viewport',\n standalone: true,\n imports: [BindModule],\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: SCROLLAREA_VIEWPORT_INSTANCE, useExisting: ScrollAreaViewport },\n { provide: PARENT_INSTANCE, useExisting: ScrollAreaViewport }\n ],\n host: {\n '[class]': 'cx(\"viewport\")',\n '[style]': 'sx(\"viewport\")',\n '[attr.tabindex]': 'viewportTabindex()',\n '[attr.data-scroll-y-before]': 'dataScrollYBefore()',\n '[attr.data-scroll-y-after]': 'dataScrollYAfter()',\n '[attr.data-scroll-x-before]': 'dataScrollXBefore()',\n '[attr.data-scroll-x-after]': 'dataScrollXAfter()',\n '(scroll)': 'pcScrollArea.onScroll()'\n },\n hostDirectives: [Bind]\n})\nexport class ScrollAreaViewport extends BaseComponent {\n componentName = 'ScrollAreaViewport';\n\n $pcScrollAreaViewport: ScrollAreaViewport | undefined = inject(SCROLLAREA_VIEWPORT_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n pcScrollArea = inject<ScrollArea>(SCROLLAREA_INSTANCE);\n\n _componentStyle = inject(ScrollAreaStyle);\n\n private hostEl = inject(ElementRef);\n\n viewportTabindex = computed(() => (this.pcScrollArea.hasOverflowX() || this.pcScrollArea.hasOverflowY() ? this.pcScrollArea.tabindex() : null));\n\n dataScrollYBefore = computed(() => (this.pcScrollArea.yBefore() ? '' : null));\n\n dataScrollYAfter = computed(() => (this.pcScrollArea.yAfter() ? '' : null));\n\n dataScrollXBefore = computed(() => (this.pcScrollArea.xBefore() ? '' : null));\n\n dataScrollXAfter = computed(() => (this.pcScrollArea.xAfter() ? '' : null));\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.pcScrollArea.ptms(['viewport']));\n }\n\n onAfterViewInit() {\n this.pcScrollArea.viewportEl = this.hostEl.nativeElement;\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, NgModule, numberAttribute, signal, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ScrollAreaPassThrough, ScrollAreaVariant } from 'primeng/types/scrollarea';\nimport { ScrollAreaContent } from './scrollarea-content';\nimport { ScrollAreaCorner } from './scrollarea-corner';\nimport { ScrollAreaScrollbar } from './scrollarea-scrollbar';\nimport { ScrollAreaHandle } from './scrollarea-handle';\nimport { SCROLLAREA_INSTANCE } from './scrollarea-token';\nimport { ScrollAreaViewport } from './scrollarea-viewport';\nimport { ScrollAreaStyle } from './style/scrollareastyle';\n\nconst SCROLL_TIMEOUT = 500;\nconst MIN_HANDLE_SIZE = 20;\n\n/**\n * ScrollArea is a cross browser, lightweight and themable alternative to native browser scrollbar.\n * @group Components\n */\n@Component({\n selector: 'p-scrollarea, p-scroll-area',\n standalone: true,\n imports: [SharedModule, BindModule],\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ScrollAreaStyle, { provide: SCROLLAREA_INSTANCE, useExisting: ScrollArea }, { provide: PARENT_INSTANCE, useExisting: ScrollArea }],\n host: {\n '[class]': 'cx(\"root\")',\n '[style]': 'sx(\"root\")',\n '[attr.data-variant]': 'variant()',\n '[style.--px-corner-height]': 'cornerHeightPx()',\n '[style.--px-corner-width]': 'cornerWidthPx()',\n '(pointerenter)': 'onRootPointerEnter($event)',\n '(pointerleave)': 'onRootPointerLeave()',\n '(pointerdown)': 'onRootPointerDown($event)'\n },\n hostDirectives: [Bind]\n})\nexport class ScrollArea extends BaseComponent<ScrollAreaPassThrough> {\n componentName = 'ScrollArea';\n\n $pcScrollArea: ScrollArea | undefined = inject(SCROLLAREA_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Scrollbar visibility variant.\n * @group Props\n */\n variant = input<ScrollAreaVariant>('auto');\n\n /**\n * Whether to show gradient mask at scroll edges.\n * @group Props\n */\n mask = input(false, { transform: booleanAttribute });\n /**\n * Tabindex of the viewport when content overflows.\n * @defaultValue 0\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n\n _componentStyle = inject(ScrollAreaStyle);\n\n hovering = signal(false);\n\n scrollingX = signal(false);\n\n scrollingY = signal(false);\n\n touchModality = signal(false);\n\n hiddenX = signal(true);\n\n hiddenY = signal(true);\n\n cornerHidden = signal(true);\n\n hasOverflowX = signal(false);\n\n hasOverflowY = signal(false);\n\n yBefore = signal(false);\n\n yAfter = signal(false);\n\n xBefore = signal(false);\n\n xAfter = signal(false);\n\n cornerWidthValue = signal(0);\n\n cornerHeightValue = signal(0);\n\n cornerWidthPx = computed(() => `${this.cornerWidthValue()}px`);\n\n cornerHeightPx = computed(() => `${this.cornerHeightValue()}px`);\n\n dataHovering = computed(() => (this.hovering() ? '' : null));\n\n dataScrollingY = computed(() => (this.scrollingY() ? '' : null));\n\n dataScrollingX = computed(() => (this.scrollingX() ? '' : null));\n\n viewportEl: HTMLElement | null = null;\n\n scrollbarYEl: HTMLElement | null = null;\n\n scrollbarXEl: HTMLElement | null = null;\n\n handleYEl: HTMLElement | null = null;\n\n handleXEl: HTMLElement | null = null;\n\n cornerEl: HTMLElement | null = null;\n\n private isDragging = false;\n\n private dragOrientation: 'vertical' | 'horizontal' = 'vertical';\n\n private dragStart = { pointerPos: 0, scrollPos: 0 };\n\n private prevScroll = { top: 0, left: 0 };\n\n private scrollXTimeout: ReturnType<typeof setTimeout> | null = null;\n\n private scrollYTimeout: ReturnType<typeof setTimeout> | null = null;\n\n private rafId: number | null = null;\n\n private resizeObserver: ResizeObserver | null = null;\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.computeHandle();\n this.setupResizeObserver();\n }\n }\n\n onDestroy() {\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n\n if (this.scrollXTimeout) clearTimeout(this.scrollXTimeout);\n\n if (this.scrollYTimeout) clearTimeout(this.scrollYTimeout);\n\n if (this.rafId) cancelAnimationFrame(this.rafId);\n }\n\n private setupResizeObserver() {\n const vp = this.viewportEl;\n\n if (!vp) return;\n\n let localRaf: number | null = null;\n\n this.resizeObserver = new ResizeObserver(() => {\n if (localRaf) return;\n\n localRaf = requestAnimationFrame(() => {\n localRaf = null;\n this.computeHandle();\n });\n });\n\n this.resizeObserver.observe(vp);\n\n if (vp.firstElementChild) {\n this.resizeObserver.observe(vp.firstElementChild);\n }\n }\n\n computeHandle() {\n const vp = this.viewportEl;\n\n if (!vp) return;\n\n const { scrollHeight, scrollWidth, clientHeight, clientWidth, scrollTop, scrollLeft } = vp;\n const yHidden = clientHeight >= scrollHeight;\n const xHidden = clientWidth >= scrollWidth;\n\n const scrollbarY = this.scrollbarYEl;\n const scrollbarX = this.scrollbarXEl;\n\n const cw = !yHidden && !xHidden && scrollbarY ? scrollbarY.offsetWidth : 0;\n const ch = !yHidden && !xHidden && scrollbarX ? scrollbarX.offsetHeight : 0;\n const scrollbarYHeight = scrollbarY && !yHidden ? scrollbarY.offsetHeight : 0;\n const scrollbarXWidth = scrollbarX && !xHidden ? scrollbarX.offsetWidth : 0;\n\n this.hiddenX.set(xHidden);\n this.hiddenY.set(yHidden);\n this.cornerHidden.set(xHidden || yHidden);\n this.cornerWidthValue.set(cw);\n this.cornerHeightValue.set(ch);\n this.hasOverflowX.set(!xHidden);\n this.hasOverflowY.set(!yHidden);\n this.xBefore.set(!xHidden && scrollLeft > 0);\n this.xAfter.set(!xHidden && scrollWidth - clientWidth - scrollLeft > 1);\n this.yBefore.set(!yHidden && scrollTop > 0);\n this.yAfter.set(!yHidden && scrollHeight - clientHeight - scrollTop > 1);\n\n if (scrollbarY && !yHidden && scrollbarYHeight > 0) {\n const handleRatio = clientHeight / scrollHeight;\n const handleHeight = Math.max(handleRatio * scrollbarYHeight, MIN_HANDLE_SIZE);\n const availableTrack = scrollbarYHeight - handleHeight;\n const maxScrollTop = scrollHeight - clientHeight;\n const scrollRatio = maxScrollTop > 0 ? scrollTop / maxScrollTop : 0;\n const offsetPx = scrollRatio * availableTrack;\n\n scrollbarY.style.setProperty('--px-handle-height', `${handleHeight}px`);\n scrollbarY.style.setProperty('--px-handle-offset', `${offsetPx}px`);\n }\n\n if (scrollbarX && !xHidden && scrollbarXWidth > 0) {\n const handleRatio = clientWidth / scrollWidth;\n const handleWidth = Math.max(handleRatio * scrollbarXWidth, MIN_HANDLE_SIZE);\n const availableTrack = scrollbarXWidth - handleWidth;\n const maxScrollLeft = scrollWidth - clientWidth;\n const scrollRatio = maxScrollLeft > 0 ? scrollLeft / maxScrollLeft : 0;\n const offsetPx = scrollRatio * availableTrack;\n\n scrollbarX.style.setProperty('--px-handle-width', `${handleWidth}px`);\n scrollbarX.style.setProperty('--px-handle-offset', `${offsetPx}px`);\n }\n\n this.cd.markForCheck();\n }\n\n onScroll() {\n if (!this.rafId) {\n this.rafId = requestAnimationFrame(() => {\n this.rafId = null;\n this.computeHandle();\n });\n }\n\n const vp = this.viewportEl;\n\n if (!vp) return;\n\n const { scrollTop, scrollLeft } = vp;\n\n if (scrollTop !== this.prevScroll.top) {\n this.scrollingY.set(true);\n if (this.scrollYTimeout) clearTimeout(this.scrollYTimeout);\n\n this.scrollYTimeout = setTimeout(() => {\n this.scrollingY.set(false);\n this.cd.markForCheck();\n }, SCROLL_TIMEOUT);\n }\n\n if (scrollLeft !== this.prevScroll.left) {\n this.scrollingX.set(true);\n if (this.scrollXTimeout) clearTimeout(this.scrollXTimeout);\n\n this.scrollXTimeout = setTimeout(() => {\n this.scrollingX.set(false);\n this.cd.markForCheck();\n }, SCROLL_TIMEOUT);\n }\n\n this.prevScroll.top = scrollTop;\n this.prevScroll.left = scrollLeft;\n\n this.cd.markForCheck();\n }\n\n onHandlePointerDown(event: PointerEvent, orientation: 'vertical' | 'horizontal') {\n if (event.pointerType === 'mouse' && event.button !== 0) return;\n\n event.preventDefault();\n event.stopPropagation();\n\n const isVertical = orientation === 'vertical';\n const scrollbar = isVertical ? this.scrollbarYEl : this.scrollbarXEl;\n const vp = this.viewportEl;\n\n if (!scrollbar || !vp) return;\n\n scrollbar.setPointerCapture(event.pointerId);\n this.isDragging = true;\n this.dragOrientation = orientation;\n this.dragStart = {\n pointerPos: isVertical ? event.clientY : event.clientX,\n scrollPos: isVertical ? vp.scrollTop : vp.scrollLeft\n };\n }\n\n onScrollbarPointerDown(event: PointerEvent, orientation: 'vertical' | 'horizontal') {\n if (event.pointerType === 'mouse' && event.button !== 0) return;\n\n event.preventDefault();\n\n const isVertical = orientation === 'vertical';\n const scrollbar = isVertical ? this.scrollbarYEl : this.scrollbarXEl;\n const vp = this.viewportEl;\n\n if (!scrollbar || !vp) return;\n\n scrollbar.setPointerCapture(event.pointerId);\n this.isDragging = true;\n this.dragOrientation = orientation;\n\n const rect = scrollbar.getBoundingClientRect();\n const handle = isVertical ? this.handleYEl : this.handleXEl;\n const handleSize = handle ? (isVertical ? handle.offsetHeight : handle.offsetWidth) : 0;\n const trackSize = isVertical ? rect.height : rect.width;\n const effectiveTrack = trackSize - handleSize;\n\n if (effectiveTrack > 0) {\n const clickPos = (isVertical ? event.clientY - rect.top : event.clientX - rect.left) - handleSize / 2;\n const ratio = Math.max(0, Math.min(1, clickPos / effectiveTrack));\n const maxScroll = isVertical ? vp.scrollHeight - vp.clientHeight : vp.scrollWidth - vp.clientWidth;\n\n if (isVertical) {\n vp.scrollTop = ratio * maxScroll;\n } else {\n vp.scrollLeft = ratio * maxScroll;\n }\n }\n\n this.dragStart = {\n pointerPos: isVertical ? event.clientY : event.clientX,\n scrollPos: isVertical ? vp.scrollTop : vp.scrollLeft\n };\n }\n\n onScrollbarPointerMove(event: PointerEvent) {\n if (!this.isDragging) return;\n\n event.preventDefault();\n\n const isVertical = this.dragOrientation === 'vertical';\n const vp = this.viewportEl;\n const scrollbar = isVertical ? this.scrollbarYEl : this.scrollbarXEl;\n\n if (!vp || !scrollbar) return;\n\n const rect = scrollbar.getBoundingClientRect();\n const handle = isVertical ? this.handleYEl : this.handleXEl;\n const handleSize = handle ? (isVertical ? handle.offsetHeight : handle.offsetWidth) : 0;\n const trackSize = isVertical ? rect.height : rect.width;\n const effectiveTrack = trackSize - handleSize;\n\n if (effectiveTrack <= 0) return;\n\n const currentPos = isVertical ? event.clientY : event.clientX;\n const delta = currentPos - this.dragStart.pointerPos;\n const maxScroll = isVertical ? vp.scrollHeight - vp.clientHeight : vp.scrollWidth - vp.clientWidth;\n const scrollDelta = (delta / effectiveTrack) * maxScroll;\n\n if (isVertical) {\n vp.scrollTop = this.dragStart.scrollPos + scrollDelta;\n } else {\n vp.scrollLeft = this.dragStart.scrollPos + scrollDelta;\n }\n }\n\n onScrollbarPointerUp(event: PointerEvent) {\n event.preventDefault();\n (event.currentTarget as HTMLElement).releasePointerCapture(event.pointerId);\n this.isDragging = false;\n }\n\n onScrollbarWheel(event: WheelEvent, orientation: 'vertical' | 'horizontal') {\n const vp = this.viewportEl;\n\n if (!vp || event.ctrlKey) return;\n\n if (orientation === 'vertical') {\n vp.scrollTop += event.deltaY;\n } else {\n vp.scrollLeft += event.deltaX || event.deltaY;\n }\n }\n\n onRootPointerEnter(event: PointerEvent) {\n if (event.pointerType === 'touch') {\n this.touchModality.set(true);\n } else {\n this.touchModality.set(false);\n this.hovering.set(true);\n }\n }\n\n onRootPointerLeave() {\n this.hovering.set(false);\n }\n\n onRootPointerDown(event: PointerEvent) {\n if (event.pointerType === 'touch') {\n this.touchModality.set(true);\n }\n }\n\n /**\n * Refreshes the position and size of the scrollbar.\n * @group Method\n */\n refresh() {\n this.computeHandle();\n }\n}\n\n@NgModule({\n imports: [ScrollArea, ScrollAreaViewport, ScrollAreaContent, ScrollAreaScrollbar, ScrollAreaHandle, ScrollAreaCorner, SharedModule, BindModule],\n exports: [ScrollArea, ScrollAreaViewport, ScrollAreaContent, ScrollAreaScrollbar, ScrollAreaHandle, ScrollAreaCorner, SharedModule, BindModule]\n})\nexport class ScrollAreaModule {}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-scroller.mjs","names":["SpinnerIcon"],"sources":["../../src/scroller/style/scrollerstyle.ts","../../src/scroller/scroller.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst css = /*css*/ `\n.p-virtualscroller {\n position: relative;\n overflow: auto;\n contain: strict;\n transform: translateZ(0);\n will-change: scroll-position;\n outline: 0 none;\n}\n\n.p-virtualscroller-content {\n position: absolute;\n top: 0;\n left: 0;\n min-height: 100%;\n min-width: 100%;\n will-change: transform;\n}\n\n.p-virtualscroller-spacer {\n position: absolute;\n top: 0;\n left: 0;\n height: 1px;\n width: 1px;\n transform-origin: 0 0;\n pointer-events: none;\n}\n\n.p-virtualscroller-loader {\n position: sticky;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: dt('virtualscroller.loader.mask.background');\n color: dt('virtualscroller.loader.mask.color');\n}\n\n.p-virtualscroller-loader-mask {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-virtualscroller-loading-icon {\n font-size: dt('virtualscroller.loader.icon.size');\n width: dt('virtualscroller.loader.icon.size');\n height: dt('virtualscroller.loader.icon.size');\n}\n\n.p-virtualscroller-horizontal > .p-virtualscroller-content {\n display: flex;\n}\n\n.p-virtualscroller-inline .p-virtualscroller-content {\n position: static;\n}\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-virtualscroller',\n {\n 'p-virtualscroller-inline': instance.inline(),\n 'p-virtualscroller-both p-both-scroll': instance.both(),\n 'p-virtualscroller-horizontal p-horizontal-scroll': instance.horizontal()\n }\n ],\n content: 'p-virtualscroller-content',\n spacer: 'p-virtualscroller-spacer',\n loader: ({ instance }) => [\n 'p-virtualscroller-loader',\n {\n 'p-virtualscroller-loader-mask': !instance.loaderTemplate()\n }\n ],\n loadingIcon: 'p-virtualscroller-loading-icon'\n};\n\n@Injectable()\nexport class ScrollerStyle extends BaseStyle {\n name = 'virtualscroller';\n\n css = css;\n\n classes = classes;\n}\n\n/**\n *\n * VirtualScroller is a performant approach to handle huge data efficiently.\n *\n * [Live Demo](https://www.primeng.org/scroller/)\n *\n * @module scrollerstyle\n *\n */\nexport enum ScrollerClasses {\n /**\n * Class name of the root element\n */\n root = 'p-virtualscroller',\n /**\n * Class name of the content element\n */\n content = 'p-virtualscroller-content',\n /**\n * Class name of the spacer element\n */\n spacer = 'p-virtualscroller-spacer',\n /**\n * Class name of the loader element\n */\n loader = 'p-virtualscroller-loader',\n /**\n * Class name of the loading icon element\n */\n loadingIcon = 'p-virtualscroller-loading-icon'\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, contentChild, effect, ElementRef, inject, InjectionToken, input, NgModule, output, signal, TemplateRef, untracked, viewChild, ViewEncapsulation } from '@angular/core';\nimport { findSingle, getHeight, getWidth, isTouchDevice, isVisible } from '@primeuix/utils';\nimport { ScrollerOptions } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { Spinner as SpinnerIcon } from '@primeicons/angular/spinner';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport {\n ScrollerContentTemplateContext,\n ScrollerItemTemplateContext,\n ScrollerLazyLoadEvent,\n ScrollerLoaderIconTemplateContext,\n ScrollerLoaderTemplateContext,\n ScrollerScrollEvent,\n ScrollerScrollIndexChangeEvent,\n ScrollerToType,\n VirtualScrollerPassThrough\n} from 'primeng/types/scroller';\nimport { ScrollerStyle } from './style/scrollerstyle';\nimport { CSSProperties } from 'primeng/types/shared';\n\nconst SCROLLER_INSTANCE = new InjectionToken<Scroller>('SCROLLER_INSTANCE');\n\n/**\n * Scroller is a performance-approach to handle huge data efficiently.\n * @group Components\n */\n@Component({\n selector: 'p-scroller, p-virtualscroller, p-virtual-scroller',\n imports: [NgTemplateOutlet, SpinnerIcon, Bind],\n standalone: true,\n template: `\n @if (!_disabled()) {\n <div #element [attr.id]=\"_id()\" [attr.tabindex]=\"_tabindex()\" [style]=\"_style()\" [class]=\"cn(cx('root'), _styleClass())\" (scroll)=\"onContainerScroll($event)\" [pBind]=\"ptm('root')\">\n @if (contentTemplate()) {\n <ng-container *ngTemplateOutlet=\"contentTemplate(); context: getContentTemplateContext()\"></ng-container>\n } @else {\n <div #content [class]=\"cn(cx('content'), contentStyleClass())\" [style]=\"contentStyle\" [pBind]=\"ptm('content')\">\n @for (item of loadedItems; track _trackBy() ? _trackBy()!($index, item) : $index; let index = $index) {\n <ng-container *ngTemplateOutlet=\"itemTemplate(); context: getItemTemplateContext(item, index)\"></ng-container>\n }\n </div>\n }\n @if (_showSpacer()) {\n <div [class]=\"cx('spacer')\" [style]=\"spacerStyle\" [pBind]=\"ptm('spacer')\"></div>\n }\n @if (!_loaderDisabled() && _showLoader() && d_loading) {\n <div [class]=\"cx('loader')\" [pBind]=\"ptm('loader')\">\n @if (loaderTemplate()) {\n @for (item of loaderArr; track $index; let index = $index) {\n <ng-container *ngTemplateOutlet=\"loaderTemplate(); context: getLoaderTemplateContext(index)\"></ng-container>\n }\n } @else {\n @if (loaderIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"loaderIconTemplate(); context: loaderIconContext\"></ng-container>\n } @else {\n <svg data-p-icon=\"spinner\" [class]=\"cx('loadingIcon')\" [spin]=\"true\" [pBind]=\"ptm('loadingIcon')\" />\n }\n }\n </div>\n }\n </div>\n } @else {\n <ng-content />\n @if (contentTemplate()) {\n <ng-container *ngTemplateOutlet=\"contentTemplate(); context: getDisabledContentTemplateContext()\"></ng-container>\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n providers: [ScrollerStyle, { provide: SCROLLER_INSTANCE, useExisting: Scroller }, { provide: PARENT_INSTANCE, useExisting: Scroller }],\n hostDirectives: [Bind],\n host: {\n '[style.height]': 'hostHeight()'\n }\n})\nexport class Scroller extends BaseComponent<VirtualScrollerPassThrough> {\n componentName = 'VirtualScroller';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pcScroller: Scroller | undefined = inject(SCROLLER_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n hostName = input('');\n /**\n * Unique identifier of the element.\n * @group Props\n */\n id = input<string | undefined>();\n /**\n * Inline style of the component.\n * @group Props\n */\n style = input<any>();\n /**\n * Style class of the element.\n * @group Props\n */\n styleClass = input<string | undefined>();\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0);\n /**\n * An array of objects to display.\n * @group Props\n */\n items = input<any[] | undefined | null>();\n /**\n * The height/width of item according to orientation.\n * @group Props\n */\n itemSize = input<number | number[] | undefined>(0);\n /**\n * Height of the scroll viewport.\n * @group Props\n */\n scrollHeight = input<string | undefined>();\n /**\n * Width of the scroll viewport.\n * @group Props\n */\n scrollWidth = input<string | undefined>();\n /**\n * The orientation of scrollbar.\n * @group Props\n */\n orientation = input<'vertical' | 'horizontal' | 'both'>('vertical');\n /**\n * Used to specify how many items to load in each load method in lazy mode.\n * @group Props\n */\n step = input(0);\n /**\n * Delay in scroll before new data is loaded.\n * @group Props\n */\n delay = input(0);\n /**\n * Delay after window's resize finishes.\n * @group Props\n */\n resizeDelay = input(10);\n /**\n * Used to append each loaded item to top without removing any items from the DOM. Using very large data may cause the browser to crash.\n * @group Props\n */\n appendOnly = input(false);\n /**\n * Specifies whether the scroller should be displayed inline or not.\n * @group Props\n */\n inline = input(false);\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = input(false);\n /**\n * If disabled, the scroller feature is eliminated and the content is displayed directly.\n * @group Props\n */\n disabled = input(false);\n /**\n * Used to implement a custom loader instead of using the loader feature in the scroller.\n * @group Props\n */\n loaderDisabled = input(false);\n /**\n * Columns to display.\n * @group Props\n */\n columns = input<any[] | undefined | null>();\n /**\n * Used to implement a custom spacer instead of using the spacer feature in the scroller.\n * @group Props\n */\n showSpacer = input(true);\n /**\n * Defines whether to show loader.\n * @group Props\n */\n showLoader = input(false);\n /**\n * Determines how many additional elements to add to the DOM outside of the view. According to the scrolls made up and down, extra items are added in a certain algorithm in the form of multiples of this number. Default value is half the number of items shown in the view.\n * @group Props\n */\n numToleratedItems = input<any>();\n /**\n * Defines whether the data is loaded.\n * @group Props\n */\n loading = input<boolean | undefined>();\n /**\n * Defines whether to dynamically change the height or width of scrollable container.\n * @group Props\n */\n autoSize = input(false);\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy, default algoritm checks for object identity.\n * @group Props\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n trackBy = input<Function>();\n /**\n * Defines whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n options = input<ScrollerOptions | undefined>();\n\n // Computed: Options merge with individual inputs\n _id = computed(() => this.options()?.id ?? this.id());\n _style = computed(() => this.options()?.style ?? this.style());\n _styleClass = computed(() => this.options()?.styleClass ?? this.styleClass());\n _tabindex = computed(() => this.options()?.tabindex ?? this.tabindex());\n _items = computed(() => this.options()?.items ?? this.items());\n _itemSize = computed(() => this.options()?.itemSize ?? this.itemSize());\n _scrollHeight = computed(() => this.options()?.scrollHeight ?? this.scrollHeight());\n _scrollWidth = computed(() => this.options()?.scrollWidth ?? this.scrollWidth());\n _orientation = computed(() => this.options()?.orientation ?? this.orientation());\n _step = computed(() => this.options()?.step ?? this.step());\n _delay = computed(() => this.options()?.delay ?? this.delay());\n _resizeDelay = computed(() => this.options()?.resizeDelay ?? this.resizeDelay());\n _appendOnly = computed(() => this.options()?.appendOnly ?? this.appendOnly());\n _inline = computed(() => this.options()?.inline ?? this.inline());\n _lazy = computed(() => this.options()?.lazy ?? this.lazy());\n _disabled = computed(() => this.options()?.disabled ?? this.disabled());\n _loaderDisabled = computed(() => this.options()?.loaderDisabled ?? this.loaderDisabled());\n _columns = computed(() => this.options()?.columns ?? this.columns());\n _showSpacer = computed(() => this.options()?.showSpacer ?? this.showSpacer());\n _showLoader = computed(() => this.options()?.showLoader ?? this.showLoader());\n _numToleratedItems = computed(() => this.options()?.numToleratedItems ?? this.numToleratedItems());\n _loading = computed(() => this.options()?.loading ?? this.loading());\n _autoSize = computed(() => this.options()?.autoSize ?? this.autoSize());\n _trackBy = computed(() => this.options()?.trackBy ?? this.trackBy());\n\n contentStyleClass = computed(() => this.options()?.contentStyleClass);\n\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {ScrollerLazyLoadEvent} event - Custom lazy load event.\n * @group Emits\n */\n onLazyLoad = output<ScrollerLazyLoadEvent>();\n /**\n * Callback to invoke when scroll position changes.\n * @param {ScrollerScrollEvent} event - Custom scroll event.\n * @group Emits\n */\n onScroll = output<ScrollerScrollEvent>();\n /**\n * Callback to invoke when scroll position and item's range in view changes.\n * @param {ScrollerScrollEvent} event - Custom scroll index change event.\n * @group Emits\n */\n onScrollIndexChange = output<ScrollerScrollIndexChangeEvent>();\n\n elementViewChild = viewChild<ElementRef>('element');\n\n contentViewChild = viewChild<ElementRef>('content');\n\n hostHeight = signal<string | undefined>(undefined);\n\n /**\n * Content template of the component.\n * @param {ScrollerContentTemplateContext} context - content context.\n * @see {@link ScrollerContentTemplateContext}\n * @group Templates\n */\n contentTemplate = contentChild<TemplateRef<ScrollerContentTemplateContext>>('content', { descendants: false });\n\n /**\n * Item template of the component.\n * @param {ScrollerItemTemplateContext} context - item context.\n * @see {@link ScrollerItemTemplateContext}\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<ScrollerItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Loader template of the component.\n * @param {ScrollerLoaderTemplateContext} context - loader context.\n * @see {@link ScrollerLoaderTemplateContext}\n * @group Templates\n */\n loaderTemplate = contentChild<TemplateRef<ScrollerLoaderTemplateContext>>('loader', { descendants: false });\n\n /**\n * Loader icon template of the component.\n * @param {ScrollerLoaderIconTemplateContext} context - loader icon context.\n * @see {@link ScrollerLoaderIconTemplateContext}\n * @group Templates\n */\n loaderIconTemplate = contentChild<TemplateRef<ScrollerLoaderIconTemplateContext>>('loadericon', { descendants: false });\n\n d_loading: boolean = false;\n\n d_numToleratedItems: any;\n\n contentEl: any;\n\n vertical = computed(() => this._orientation() === 'vertical');\n\n horizontal = computed(() => this._orientation() === 'horizontal');\n\n both = computed(() => this._orientation() === 'both');\n\n get loadedItems() {\n const items = this._items();\n\n if (items && !this.d_loading) {\n if (this.both()) {\n return items.slice(this._appendOnly() ? 0 : this.first.rows, this.last.rows).map((item) => {\n if (this._columns()) {\n return item;\n } else if (Array.isArray(item)) {\n return item.slice(this._appendOnly() ? 0 : this.first.cols, this.last.cols);\n } else {\n return item;\n }\n });\n } else if (this.horizontal() && this._columns()) return items;\n else return items.slice(this._appendOnly() ? 0 : this.first, this.last);\n }\n\n return [];\n }\n\n get loadedRows() {\n return this.d_loading ? (this._loaderDisabled() ? this.loaderArr : []) : this.loadedItems;\n }\n\n get loadedColumns() {\n const columns = this._columns();\n\n if (columns && (this.both() || this.horizontal())) {\n return this.d_loading && this._loaderDisabled() ? (this.both() ? this.loaderArr[0] : this.loaderArr) : columns.slice(this.both() ? this.first.cols : this.first, this.both() ? this.last.cols : this.last);\n }\n\n return columns;\n }\n\n first: any = 0;\n\n last: any = 0;\n\n page: number = 0;\n\n isRangeChanged: boolean = false;\n\n numItemsInViewport: any = 0;\n\n lastScrollPos: any = 0;\n\n lazyLoadState: any = {};\n\n loaderArr: any[] = [];\n\n spacerStyle: CSSProperties;\n\n contentStyle: CSSProperties;\n\n scrollTimeout: any;\n\n resizeTimeout: any;\n\n private _destroyed = false;\n\n initialized: boolean = false;\n\n windowResizeListener: VoidListener;\n\n defaultWidth: number | undefined;\n\n defaultHeight: number | undefined;\n\n defaultContentWidth: number | undefined;\n\n defaultContentHeight: number | undefined;\n\n _componentStyle = inject(ScrollerStyle);\n\n constructor() {\n super();\n\n // hostHeight\n effect(() => {\n if (this._scrollHeight() === '100%') {\n this.hostHeight.set('100%');\n }\n });\n\n // loading sync\n effect(() => {\n const loading = this._loading();\n\n untracked(() => {\n if (this._lazy() && loading !== undefined && loading !== this.d_loading) {\n this.d_loading = loading;\n }\n });\n });\n\n // orientation reset\n effect(() => {\n this._orientation();\n untracked(() => {\n this.lastScrollPos = this.both() ? { top: 0, left: 0 } : 0;\n });\n });\n\n // numToleratedItems sync\n effect(() => {\n const numT = this._numToleratedItems();\n\n untracked(() => {\n if (numT !== undefined && numT !== this.d_numToleratedItems) {\n this.d_numToleratedItems = numT;\n }\n });\n });\n\n // reinit on size/scroll changes\n effect(() => {\n this._itemSize();\n this._scrollHeight();\n this._scrollWidth();\n untracked(() => {\n if (this.initialized) {\n this.init();\n this.calculateAutoSize();\n }\n });\n });\n\n // items change\n effect(() => {\n this._items();\n untracked(() => {\n if (this.initialized && !this._lazy()) {\n this.init();\n }\n });\n });\n\n // contentStyle sync from options\n effect(() => {\n const opts = this.options();\n\n untracked(() => {\n if (opts?.contentStyle !== undefined) {\n this.contentStyle = opts.contentStyle;\n }\n });\n });\n }\n\n readonly loaderIconContext = { options: { styleClass: 'p-virtualscroller-loading-icon' } };\n\n onInit() {\n this.setInitialState();\n }\n\n onAfterViewInit() {\n Promise.resolve().then(() => {\n this.viewInit();\n });\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n\n if (!this.initialized) {\n this.viewInit();\n }\n }\n\n onDestroy() {\n this._destroyed = true;\n this.unbindResizeListener();\n\n // Cancel pending scroll/resize debounce timers so handleEvents can't emit after destroy.\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n }\n\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n\n this.contentEl = null;\n this.initialized = false;\n }\n\n viewInit() {\n if (isPlatformBrowser(this.platformId) && !this.initialized) {\n if (isVisible(this.elementViewChild()?.nativeElement)) {\n this.setInitialState();\n this.setContentEl(this.contentEl);\n this.init();\n\n this.defaultWidth = getWidth(this.elementViewChild()?.nativeElement);\n this.defaultHeight = getHeight(this.elementViewChild()?.nativeElement);\n this.defaultContentWidth = getWidth(this.contentEl);\n this.defaultContentHeight = getHeight(this.contentEl);\n this.initialized = true;\n }\n }\n }\n\n init() {\n if (!this._disabled()) {\n this.bindResizeListener();\n\n // wait for the next tick\n setTimeout(() => {\n this.setSpacerSize();\n this.setSize();\n this.calculateOptions();\n this.calculateAutoSize();\n this.cd.detectChanges();\n }, 1);\n }\n }\n setContentEl(el?: HTMLElement) {\n this.contentEl = el || this.contentViewChild()?.nativeElement || findSingle(this.elementViewChild()?.nativeElement, '.p-virtualscroller-content');\n }\n\n setInitialState() {\n this.first = this.both() ? { rows: 0, cols: 0 } : 0;\n this.last = this.both() ? { rows: 0, cols: 0 } : 0;\n this.numItemsInViewport = this.both() ? { rows: 0, cols: 0 } : 0;\n this.lastScrollPos = this.both() ? { top: 0, left: 0 } : 0;\n\n if (this.d_loading === undefined || this.d_loading === false) {\n this.d_loading = this._loading() || false;\n }\n\n this.d_numToleratedItems = this._numToleratedItems();\n this.loaderArr = this.loaderArr.length > 0 ? this.loaderArr : [];\n }\n\n getElementRef() {\n return this.elementViewChild();\n }\n\n getPageByFirst(first?: any) {\n return Math.floor(((first ?? this.first) + this.d_numToleratedItems * 4) / (this._step() || 1));\n }\n\n isPageChanged(first?: any) {\n return this._step() ? this.page !== this.getPageByFirst(first ?? this.first) : true;\n }\n\n scrollTo(options: ScrollToOptions) {\n this.elementViewChild()?.nativeElement?.scrollTo(options);\n }\n\n scrollToIndex(index: number | number[], behavior: ScrollBehavior = 'auto') {\n const valid = this.both() ? (index as number[]).every((i) => i > -1) : (index as number) > -1;\n\n if (valid) {\n const first = this.first;\n const { scrollTop = 0, scrollLeft = 0 } = this.elementViewChild()?.nativeElement ?? {};\n const { numToleratedItems } = this.calculateNumItems();\n const contentPos = this.getContentPosition();\n const itemSize = this._itemSize();\n const calculateFirst = (_index = 0, _numT: number) => (_index <= _numT ? 0 : _index);\n const calculateCoord = (_first: number, _size: number, _cpos: number) => _first * _size + _cpos;\n const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });\n let newFirst = this.both() ? { rows: 0, cols: 0 } : 0;\n let isRangeChanged = false,\n isScrollChanged = false;\n\n if (this.both()) {\n newFirst = {\n rows: calculateFirst(index[0], numToleratedItems[0]),\n cols: calculateFirst(index[1], numToleratedItems[1])\n };\n scrollTo(calculateCoord(newFirst.cols, itemSize[1], contentPos.left), calculateCoord(newFirst.rows, itemSize[0], contentPos.top));\n isScrollChanged = this.lastScrollPos.top !== scrollTop || this.lastScrollPos.left !== scrollLeft;\n isRangeChanged = newFirst.rows !== first.rows || newFirst.cols !== first.cols;\n } else {\n newFirst = calculateFirst(index as number, numToleratedItems);\n\n if (this.horizontal()) {\n scrollTo(calculateCoord(newFirst, itemSize, contentPos.left), scrollTop);\n } else {\n scrollTo(scrollLeft, calculateCoord(newFirst, itemSize, contentPos.top));\n }\n\n isScrollChanged = this.lastScrollPos !== (this.horizontal() ? scrollLeft : scrollTop);\n isRangeChanged = newFirst !== first;\n }\n\n this.isRangeChanged = isRangeChanged;\n\n if (isScrollChanged) {\n this.first = newFirst;\n }\n }\n }\n\n scrollInView(index: number, to: ScrollerToType, behavior: ScrollBehavior = 'auto') {\n if (to) {\n const { first, viewport } = this.getRenderedRange();\n const scrollTo = (left = 0, top = 0) => this.scrollTo({ left, top, behavior });\n const isToStart = to === 'to-start';\n const isToEnd = to === 'to-end';\n\n if (isToStart) {\n if (this.both()) {\n if (viewport.first.rows - first.rows > (<any>index)[0]) {\n scrollTo(viewport.first.cols * (<number[]>this._itemSize())[1], (viewport.first.rows - 1) * (<number[]>this._itemSize())[0]);\n } else if (viewport.first.cols - first.cols > (<any>index)[1]) {\n scrollTo((viewport.first.cols - 1) * (<number[]>this._itemSize())[1], viewport.first.rows * (<number[]>this._itemSize())[0]);\n }\n } else {\n if (viewport.first - first > index) {\n const pos = (viewport.first - 1) * <number>this._itemSize();\n\n if (this.horizontal()) {\n scrollTo(pos, 0);\n } else {\n scrollTo(0, pos);\n }\n }\n }\n } else if (isToEnd) {\n if (this.both()) {\n if (viewport.last.rows - first.rows <= (<any>index)[0] + 1) {\n scrollTo(viewport.first.cols * (<number[]>this._itemSize())[1], (viewport.first.rows + 1) * (<number[]>this._itemSize())[0]);\n } else if (viewport.last.cols - first.cols <= (<any>index)[1] + 1) {\n scrollTo((viewport.first.cols + 1) * (<number[]>this._itemSize())[1], viewport.first.rows * (<number[]>this._itemSize())[0]);\n }\n } else {\n if (viewport.last - first <= index + 1) {\n const pos = (viewport.first + 1) * <number>this._itemSize();\n\n if (this.horizontal()) {\n scrollTo(pos, 0);\n } else {\n scrollTo(0, pos);\n }\n }\n }\n }\n } else {\n this.scrollToIndex(index, behavior);\n }\n }\n\n getRenderedRange() {\n const calculateFirstInViewport = (_pos: number, _size: number) => (_size || _pos ? Math.floor(_pos / (_size || _pos)) : 0);\n\n let firstInViewport = this.first;\n let lastInViewport: any = 0;\n const el = this.elementViewChild()?.nativeElement;\n\n if (el) {\n const { scrollTop, scrollLeft } = el;\n\n if (this.both()) {\n firstInViewport = {\n rows: calculateFirstInViewport(scrollTop, (<number[]>this._itemSize())[0]),\n cols: calculateFirstInViewport(scrollLeft, (<number[]>this._itemSize())[1])\n };\n lastInViewport = {\n rows: firstInViewport.rows + this.numItemsInViewport.rows,\n cols: firstInViewport.cols + this.numItemsInViewport.cols\n };\n } else {\n const scrollPos = this.horizontal() ? scrollLeft : scrollTop;\n\n firstInViewport = calculateFirstInViewport(scrollPos, <number>this._itemSize());\n lastInViewport = firstInViewport + this.numItemsInViewport;\n }\n }\n\n return {\n first: this.first,\n last: this.last,\n viewport: {\n first: firstInViewport,\n last: lastInViewport\n }\n };\n }\n\n calculateNumItems() {\n const contentPos = this.getContentPosition();\n const el = this.elementViewChild()?.nativeElement;\n const contentWidth = (el ? el.offsetWidth - contentPos.left : 0) || 0;\n const contentHeight = (el ? el.offsetHeight - contentPos.top : 0) || 0;\n const calculateNumItemsInViewport = (_contentSize: number, _itemSize: number) => (_itemSize || _contentSize ? Math.ceil(_contentSize / (_itemSize || _contentSize)) : 0);\n const calculateNumToleratedItems = (_numItems: number) => Math.ceil(_numItems / 2);\n const numItemsInViewport: any = this.both()\n ? {\n rows: calculateNumItemsInViewport(contentHeight, (<number[]>this._itemSize())[0]),\n cols: calculateNumItemsInViewport(contentWidth, (<number[]>this._itemSize())[1])\n }\n : calculateNumItemsInViewport(this.horizontal() ? contentWidth : contentHeight, <number>this._itemSize());\n\n const numToleratedItems = this.d_numToleratedItems || (this.both() ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));\n\n return { numItemsInViewport, numToleratedItems };\n }\n\n calculateOptions() {\n const { numItemsInViewport, numToleratedItems } = this.calculateNumItems();\n const calculateLast = (_first: number, _num: number, _numT: number, _isCols: boolean = false) => this.getLast(_first + _num + (_first < _numT ? 2 : 3) * _numT, _isCols);\n const first = this.first;\n const last = this.both()\n ? {\n rows: calculateLast(this.first.rows, numItemsInViewport.rows, numToleratedItems[0]),\n cols: calculateLast(this.first.cols, numItemsInViewport.cols, numToleratedItems[1], true)\n }\n : calculateLast(this.first, numItemsInViewport, numToleratedItems);\n\n this.last = last;\n this.numItemsInViewport = numItemsInViewport;\n this.d_numToleratedItems = numToleratedItems;\n\n if (this._showLoader()) {\n this.loaderArr = this.both() ? Array.from({ length: numItemsInViewport.rows }).map(() => Array.from({ length: numItemsInViewport.cols })) : Array.from({ length: numItemsInViewport });\n }\n\n if (this._lazy()) {\n Promise.resolve().then(() => {\n this.lazyLoadState = {\n first: this._step() ? (this.both() ? { rows: 0, cols: first.cols } : 0) : first,\n last: Math.min(this._step() ? this._step() : this.last, (<any[]>this._items()).length)\n };\n\n this.handleEvents('onLazyLoad', this.lazyLoadState);\n });\n }\n }\n\n calculateAutoSize() {\n if (this._autoSize() && !this.d_loading) {\n Promise.resolve().then(() => {\n if (this.contentEl) {\n this.contentEl.style.minHeight = this.contentEl.style.minWidth = 'auto';\n this.contentEl.style.position = 'relative';\n (<ElementRef>this.elementViewChild()).nativeElement.style.contain = 'none';\n\n const [contentWidth, contentHeight] = [getWidth(this.contentEl), getHeight(this.contentEl)];\n\n if (contentWidth !== this.defaultContentWidth) {\n (<ElementRef>this.elementViewChild()).nativeElement.style.width = '';\n }\n\n if (contentHeight !== this.defaultContentHeight) {\n (<ElementRef>this.elementViewChild()).nativeElement.style.height = '';\n }\n\n const [width, height] = [getWidth((<ElementRef>this.elementViewChild()).nativeElement), getHeight((<ElementRef>this.elementViewChild()).nativeElement)];\n\n if (this.both() || this.horizontal()) {\n (<ElementRef>this.elementViewChild()).nativeElement.style.width = width < <number>this.defaultWidth ? width + 'px' : this._scrollWidth() || this.defaultWidth + 'px';\n }\n\n if (this.both() || this.vertical()) {\n (<ElementRef>this.elementViewChild()).nativeElement.style.height = height < <number>this.defaultHeight ? height + 'px' : this._scrollHeight() || this.defaultHeight + 'px';\n }\n\n this.contentEl.style.minHeight = this.contentEl.style.minWidth = '';\n this.contentEl.style.position = '';\n (<ElementRef>this.elementViewChild()).nativeElement.style.contain = '';\n }\n });\n }\n }\n\n getLast(last = 0, isCols = false) {\n const items = this._items();\n const columns = this._columns();\n\n return items ? Math.min(isCols ? (columns || items[0]).length : items.length, last) : 0;\n }\n\n getContentPosition() {\n if (this.contentEl) {\n const style = getComputedStyle(this.contentEl);\n const left = parseFloat(style.paddingLeft) + Math.max(parseFloat(style.left) || 0, 0);\n const right = parseFloat(style.paddingRight) + Math.max(parseFloat(style.right) || 0, 0);\n const top = parseFloat(style.paddingTop) + Math.max(parseFloat(style.top) || 0, 0);\n const bottom = parseFloat(style.paddingBottom) + Math.max(parseFloat(style.bottom) || 0, 0);\n\n return { left, right, top, bottom, x: left + right, y: top + bottom };\n }\n\n return { left: 0, right: 0, top: 0, bottom: 0, x: 0, y: 0 };\n }\n\n setSize() {\n const nativeElement = this.elementViewChild()?.nativeElement;\n\n if (nativeElement) {\n const parentElement = nativeElement.parentElement?.parentElement;\n\n const elementWidth = nativeElement.offsetWidth;\n const parentWidth = parentElement?.offsetWidth || 0;\n const width = this._scrollWidth() || `${elementWidth || parentWidth}px`;\n\n const elementHeight = nativeElement.offsetHeight;\n const parentHeight = parentElement?.offsetHeight || 0;\n const height = this._scrollHeight() || `${elementHeight || parentHeight}px`;\n\n const setProp = (_name: string, _value: any) => (nativeElement.style[_name] = _value);\n\n if (this.both() || this.horizontal()) {\n setProp('height', height);\n setProp('width', width);\n } else {\n setProp('height', height);\n }\n }\n }\n\n setSpacerSize() {\n const items = this._items();\n\n if (items) {\n const contentPos = this.getContentPosition();\n const setProp = (_name: string, _value: any, _size: number, _cpos: number = 0) =>\n (this.spacerStyle = {\n ...this.spacerStyle,\n ...{ [`${_name}`]: (_value || []).length * _size + _cpos + 'px' }\n });\n\n if (this.both()) {\n setProp('height', items, (<number[]>this._itemSize())[0], contentPos.y);\n setProp('width', this._columns() || items[1], (<number[]>this._itemSize())[1], contentPos.x);\n } else {\n if (this.horizontal()) {\n setProp('width', this._columns() || items, <number>this._itemSize(), contentPos.x);\n } else {\n setProp('height', items, <number>this._itemSize(), contentPos.y);\n }\n }\n }\n }\n\n setContentPosition(pos: any) {\n if (this.contentEl && !this._appendOnly()) {\n const first = pos ? pos.first : this.first;\n const calculateTranslateVal = (_first: number, _size: number) => _first * _size;\n const setTransform = (_x = 0, _y = 0) => (this.contentStyle = { ...this.contentStyle, ...{ transform: `translate3d(${_x}px, ${_y}px, 0)` } });\n\n if (this.both()) {\n setTransform(calculateTranslateVal(first.cols, (<number[]>this._itemSize())[1]), calculateTranslateVal(first.rows, (<number[]>this._itemSize())[0]));\n } else {\n const translateVal = calculateTranslateVal(first, <number>this._itemSize());\n\n if (this.horizontal()) {\n setTransform(translateVal, 0);\n } else {\n setTransform(0, translateVal);\n }\n }\n }\n }\n\n onScrollPositionChange(event: Event) {\n const target = event.target;\n\n if (!target) {\n throw new Error('Event target is null');\n }\n\n const contentPos = this.getContentPosition();\n const calculateScrollPos = (_pos: number, _cpos: number) => (_pos ? (_pos > _cpos ? _pos - _cpos : _pos) : 0);\n const calculateCurrentIndex = (_pos: number, _size: number) => (_size || _pos ? Math.floor(_pos / (_size || _pos)) : 0);\n\n const calculateTriggerIndex = (_currentIndex: number, _first: number, _last: number, _num: number, _numT: number, _isScrollDownOrRight: any) =>\n _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1;\n\n const calculateFirst = (_currentIndex: number, _triggerIndex: number, _first: number, _last: number, _num: number, _numT: number, _isScrollDownOrRight: any) => {\n if (_currentIndex <= _numT) return 0;\n else return Math.max(0, _isScrollDownOrRight ? (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT);\n };\n\n const calculateLast = (_currentIndex: number, _first: number, _last: number, _num: number, _numT: number, _isCols = false) => {\n let lastValue = _first + _num + 2 * _numT;\n\n if (_currentIndex >= _numT) {\n lastValue += _numT + 1;\n }\n\n return this.getLast(lastValue, _isCols);\n };\n\n const scrollTop = calculateScrollPos((<HTMLElement>target).scrollTop, contentPos.top);\n const scrollLeft = calculateScrollPos((<HTMLElement>target).scrollLeft, contentPos.left);\n\n let newFirst = this.both() ? { rows: 0, cols: 0 } : 0;\n let newLast = this.last;\n let isRangeChanged = false;\n let newScrollPos = this.lastScrollPos;\n\n if (this.both()) {\n const isScrollDown = this.lastScrollPos.top <= scrollTop;\n const isScrollRight = this.lastScrollPos.left <= scrollLeft;\n\n if (!this._appendOnly() || (this._appendOnly() && (isScrollDown || isScrollRight))) {\n const currentIndex = {\n rows: calculateCurrentIndex(scrollTop, (<number[]>this._itemSize())[0]),\n cols: calculateCurrentIndex(scrollLeft, (<number[]>this._itemSize())[1])\n };\n const triggerIndex = {\n rows: calculateTriggerIndex(currentIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateTriggerIndex(currentIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n\n newFirst = {\n rows: calculateFirst(currentIndex.rows, triggerIndex.rows, this.first.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0], isScrollDown),\n cols: calculateFirst(currentIndex.cols, triggerIndex.cols, this.first.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], isScrollRight)\n };\n newLast = {\n rows: calculateLast(currentIndex.rows, newFirst.rows, this.last.rows, this.numItemsInViewport.rows, this.d_numToleratedItems[0]),\n cols: calculateLast(currentIndex.cols, newFirst.cols, this.last.cols, this.numItemsInViewport.cols, this.d_numToleratedItems[1], true)\n };\n\n isRangeChanged = newFirst.rows !== this.first.rows || newLast.rows !== this.last.rows || newFirst.cols !== this.first.cols || newLast.cols !== this.last.cols || this.isRangeChanged;\n newScrollPos = { top: scrollTop, left: scrollLeft };\n }\n } else {\n const scrollPos = this.horizontal() ? scrollLeft : scrollTop;\n const isScrollDownOrRight = this.lastScrollPos <= scrollPos;\n\n if (!this._appendOnly() || (this._appendOnly() && isScrollDownOrRight)) {\n const currentIndex = calculateCurrentIndex(scrollPos, <number>this._itemSize());\n const triggerIndex = calculateTriggerIndex(currentIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n\n newFirst = calculateFirst(currentIndex, triggerIndex, this.first, this.last, this.numItemsInViewport, this.d_numToleratedItems, isScrollDownOrRight);\n newLast = calculateLast(currentIndex, newFirst, this.last, this.numItemsInViewport, this.d_numToleratedItems);\n isRangeChanged = newFirst !== this.first || newLast !== this.last || this.isRangeChanged;\n newScrollPos = scrollPos;\n }\n }\n\n return {\n first: newFirst,\n last: newLast,\n isRangeChanged,\n scrollPos: newScrollPos\n };\n }\n\n onScrollChange(event: Event) {\n const { first, last, isRangeChanged, scrollPos } = this.onScrollPositionChange(event);\n\n if (isRangeChanged) {\n const newState = { first, last };\n\n this.setContentPosition(newState);\n\n this.first = first;\n this.last = last;\n this.lastScrollPos = scrollPos;\n\n this.handleEvents('onScrollIndexChange', newState);\n\n if (this._lazy() && this.isPageChanged(first)) {\n const lazyLoadState = {\n first: this._step() ? Math.min(this.getPageByFirst(first) * this._step(), (<any[]>this._items()).length - this._step()) : first,\n last: Math.min(this._step() ? (this.getPageByFirst(first) + 1) * this._step() : last, (<any[]>this._items()).length)\n };\n const isLazyStateChanged = this.lazyLoadState.first !== lazyLoadState.first || this.lazyLoadState.last !== lazyLoadState.last;\n\n if (isLazyStateChanged) {\n this.handleEvents('onLazyLoad', lazyLoadState);\n }\n\n this.lazyLoadState = lazyLoadState;\n }\n }\n }\n\n onContainerScroll(event: Event) {\n this.handleEvents('onScroll', { originalEvent: event });\n\n if (this._delay()) {\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n }\n\n if (!this.d_loading && this._showLoader()) {\n const { isRangeChanged } = this.onScrollPositionChange(event);\n const changed = isRangeChanged || (this._step() ? this.isPageChanged() : false);\n\n if (changed) {\n this.d_loading = true;\n\n this.cd.detectChanges();\n }\n }\n\n this.scrollTimeout = setTimeout(() => {\n this.onScrollChange(event);\n\n if (this.d_loading && this._showLoader() && (!this._lazy() || this._loading() === undefined)) {\n this.d_loading = false;\n this.page = this.getPageByFirst();\n }\n\n this.cd.detectChanges();\n }, this._delay());\n } else {\n if (!this.d_loading) {\n this.onScrollChange(event);\n }\n }\n }\n\n bindResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.windowResizeListener) {\n const window = this.document.defaultView as Window;\n const event = isTouchDevice() ? 'orientationchange' : 'resize';\n\n this.windowResizeListener = this.renderer.listen(window, event, this.onWindowResize.bind(this));\n }\n }\n }\n\n unbindResizeListener() {\n if (this.windowResizeListener) {\n this.windowResizeListener();\n this.windowResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (this.resizeTimeout) {\n clearTimeout(this.resizeTimeout);\n }\n\n this.resizeTimeout = setTimeout(() => {\n if (isVisible(this.elementViewChild()?.nativeElement)) {\n const [width, height] = [getWidth(this.elementViewChild()?.nativeElement), getHeight(this.elementViewChild()?.nativeElement)];\n const [isDiffWidth, isDiffHeight] = [width !== this.defaultWidth, height !== this.defaultHeight];\n const reinit = this.both() ? isDiffWidth || isDiffHeight : this.horizontal() ? isDiffWidth : this.vertical() ? isDiffHeight : false;\n\n if (reinit) {\n this.d_numToleratedItems = this._numToleratedItems();\n this.defaultWidth = width;\n this.defaultHeight = height;\n this.defaultContentWidth = getWidth(this.contentEl);\n this.defaultContentHeight = getHeight(this.contentEl);\n\n this.init();\n }\n }\n }, this._resizeDelay());\n }\n\n handleEvents(name: string, params: any) {\n if (this._destroyed) return;\n\n const opts = this.options();\n\n return opts && (opts as any)[name] ? (opts as any)[name](params) : this[name].emit(params);\n }\n\n getContentTemplateContext(): ScrollerContentTemplateContext {\n return {\n $implicit: this.loadedItems,\n options: this.getContentOptions()\n };\n }\n\n getItemTemplateContext(item: any, index: number): ScrollerItemTemplateContext {\n return {\n $implicit: item,\n options: this.getOptions(index)\n };\n }\n\n getLoaderTemplateContext(index: number) {\n return {\n options: this.getLoaderOptions(index, this.both() && { numCols: this.numItemsInViewport.cols })\n };\n }\n\n getDisabledContentTemplateContext(): ScrollerContentTemplateContext {\n return {\n $implicit: this.items(),\n options: { rows: this._items() ?? undefined, columns: this.loadedColumns }\n };\n }\n\n getContentOptions() {\n return {\n contentStyleClass: `p-virtualscroller-content ${this.d_loading ? 'p-virtualscroller-loading' : ''}`,\n items: this.loadedItems,\n getItemOptions: (index: number) => this.getOptions(index),\n loading: this.d_loading,\n getLoaderOptions: (index: number, options?: any) => this.getLoaderOptions(index, options),\n itemSize: this._itemSize(),\n rows: this.loadedRows,\n columns: this.loadedColumns,\n spacerStyle: this.spacerStyle,\n contentStyle: this.contentStyle,\n vertical: this.vertical(),\n horizontal: this.horizontal(),\n both: this.both(),\n scrollTo: this.scrollTo.bind(this),\n scrollToIndex: this.scrollToIndex.bind(this),\n orientation: this._orientation(),\n scrollableElement: this.elementViewChild()?.nativeElement\n };\n }\n\n getOptions(renderedIndex: number) {\n const count = (this._items() || []).length;\n const index = this.both() ? this.first.rows + renderedIndex : this.first + renderedIndex;\n\n return {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0\n };\n }\n\n getLoaderOptions(index: number, extOptions: any) {\n const count = this.loaderArr.length;\n\n return {\n index,\n count,\n first: index === 0,\n last: index === count - 1,\n even: index % 2 === 0,\n odd: index % 2 !== 0,\n loading: this.d_loading,\n ...extOptions\n };\n }\n}\n\n@NgModule({\n imports: [Scroller],\n exports: [Scroller]\n})\nexport class ScrollerModule {}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-scrollpanel.mjs","names":["style","scrollpanel_style"],"sources":["../../src/scrollpanel/style/scrollpanelstyle.ts","../../src/scrollpanel/scrollpanel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as scrollpanel_style } from '@primeuix/styles/scrollpanel';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = /*css*/ `\n ${scrollpanel_style}\n\n .p-scrollpanel {\n display: block;\n }\n`;\n\nconst classes = {\n root: 'p-scrollpanel p-component',\n contentContainer: 'p-scrollpanel-content-container',\n content: 'p-scrollpanel-content',\n barX: 'p-scrollpanel-bar p-scrollpanel-bar-x',\n barY: 'p-scrollpanel-bar p-scrollpanel-bar-y'\n};\n\n@Injectable()\nexport class ScrollPanelStyle extends BaseStyle {\n name = 'scrollpanel';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * ScrollPanel is a cross browser, lightweight and themable alternative to native browser scrollbar.\n *\n * [Live Demo](https://www.primeng.org/scrollpanel/)\n *\n * @module scrollpanelstyle\n *\n */\nexport enum ScrollPanelClasses {\n /**\n * Class name of the root element\n */\n root = 'p-scrollpanel',\n /**\n * Class name of the content container element\n */\n contentContainer = 'p-scrollpanel-content-container',\n /**\n * Class name of the content element\n */\n content = 'p-scrollpanel-content',\n /**\n * Class name of the bar x element\n */\n barX = 'p-scrollpanel-bar-x',\n /**\n * Class name of the bar y element\n */\n barY = 'p-scrollpanel-bar-y'\n}\n","import { NgTemplateOutlet, isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, contentChild, ElementRef, inject, InjectionToken, input, NgModule, numberAttribute, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { addClass, getHeight, removeClass, uuid } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ScrollPanelOrientation, ScrollPanelPassThrough } from 'primeng/types/scrollpanel';\nimport { ScrollPanelStyle } from './style/scrollpanelstyle';\n\nconst SCROLLPANEL_INSTANCE = new InjectionToken<ScrollPanel>('SCROLLPANEL_INSTANCE');\n\n/**\n * ScrollPanel is a cross browser, lightweight and themable alternative to native browser scrollbar.\n * @group Components\n * @deprecated Use ScrollArea component instead.\n */\n@Component({\n selector: 'p-scroll-panel, p-scrollpanel',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, BindModule],\n template: `\n <div [pBind]=\"ptm('contentContainer')\" [class]=\"cx('contentContainer')\">\n <div #content [pBind]=\"ptm('content')\" [class]=\"cx('content')\" (mouseenter)=\"moveBar()\" (scroll)=\"onScroll($event)\">\n @if (!contentTemplate()) {\n <ng-content></ng-content>\n }\n <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n </div>\n </div>\n <div\n #xBar\n [pBind]=\"ptm('barX')\"\n [class]=\"cx('barX')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-valuenow]=\"lastScrollLeft()\"\n [attr.aria-controls]=\"contentId\"\n [attr.data-pc-group-section]=\"'bar'\"\n (mousedown)=\"onXBarMouseDown($event)\"\n (keydown)=\"onKeyDown($event)\"\n (keyup)=\"onKeyUp()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur()\"\n ></div>\n <div\n #yBar\n [pBind]=\"ptm('barY')\"\n [class]=\"cx('barY')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n [attr.aria-orientation]=\"'vertical'\"\n [attr.aria-valuenow]=\"lastScrollTop()\"\n [attr.aria-controls]=\"contentId\"\n (mousedown)=\"onYBarMouseDown($event)\"\n (keydown)=\"onKeyDown($event)\"\n (keyup)=\"onKeyUp()\"\n (focus)=\"onFocus($event)\"\n [attr.data-pc-group-section]=\"'bar'\"\n ></div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ScrollPanelStyle, { provide: SCROLLPANEL_INSTANCE, useExisting: ScrollPanel }, { provide: PARENT_INSTANCE, useExisting: ScrollPanel }],\n host: {\n '[class]': 'cx(\"root\")'\n },\n hostDirectives: [Bind]\n})\nexport class ScrollPanel extends BaseComponent<ScrollPanelPassThrough> {\n componentName = 'ScrollPanel';\n\n constructor() {\n super();\n }\n\n $pcScrollPanel: ScrollPanel | undefined = inject(SCROLLPANEL_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Step factor to scroll the content while pressing the arrow keys.\n * @group Props\n */\n step = input(5, { transform: numberAttribute });\n\n contentViewChild = viewChild<ElementRef>('content');\n\n xBarViewChild = viewChild<ElementRef>('xBar');\n\n yBarViewChild = viewChild<ElementRef>('yBar');\n\n /**\n * Custom content template.\n * @group Templates\n */\n contentTemplate = contentChild<TemplateRef<void>>('content', { descendants: false });\n\n scrollYRatio: number | undefined;\n\n scrollXRatio: number | undefined;\n\n initialized: boolean = false;\n\n lastPageY: number | undefined;\n\n lastPageX: number | undefined;\n\n isXBarClicked: boolean = false;\n\n isYBarClicked: boolean = false;\n\n lastScrollLeft = signal(0);\n\n lastScrollTop = signal(0);\n\n orientation: ScrollPanelOrientation = 'vertical';\n\n timer: ReturnType<typeof setTimeout> | undefined;\n\n contentId: string | undefined;\n\n windowResizeListener: VoidFunction | null | undefined;\n\n contentScrollListener: VoidFunction | null | undefined;\n\n mouseEnterListener: VoidFunction | null | undefined;\n\n xBarMouseDownListener: VoidFunction | null | undefined;\n\n yBarMouseDownListener: VoidFunction | null | undefined;\n\n documentMouseMoveListener: Nullable<(event: MouseEvent) => void>;\n\n documentMouseUpListener: Nullable<(event: Event) => void>;\n\n _componentStyle = inject(ScrollPanelStyle);\n\n timeoutFrame = (fn: VoidFunction) => setTimeout(fn, 0);\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n this.contentId = uuid('pn_id_') + '_content';\n }\n\n onAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.moveBar();\n this.moveBar = this.moveBar.bind(this);\n this.onXBarMouseDown = this.onXBarMouseDown.bind(this);\n this.onYBarMouseDown = this.onYBarMouseDown.bind(this);\n this.onDocumentMouseMove = this.onDocumentMouseMove.bind(this);\n this.onDocumentMouseUp = this.onDocumentMouseUp.bind(this);\n\n this.windowResizeListener = this.renderer.listen(window, 'resize', this.moveBar);\n this.contentScrollListener = this.renderer.listen(this.contentViewChild()!.nativeElement, 'scroll', this.moveBar);\n this.mouseEnterListener = this.renderer.listen(this.contentViewChild()!.nativeElement, 'mouseenter', this.moveBar);\n this.xBarMouseDownListener = this.renderer.listen(this.xBarViewChild()!.nativeElement, 'mousedown', this.onXBarMouseDown);\n this.yBarMouseDownListener = this.renderer.listen(this.yBarViewChild()!.nativeElement, 'mousedown', this.onYBarMouseDown);\n this.calculateContainerHeight();\n\n this.initialized = true;\n }\n }\n\n calculateContainerHeight() {\n let container = (this.el as ElementRef).nativeElement;\n let content = this.contentViewChild()!.nativeElement;\n let xBar = this.xBarViewChild()!.nativeElement;\n const window = this.document.defaultView as Window;\n\n let containerStyles = window.getComputedStyle(container),\n xBarStyles = window.getComputedStyle(xBar),\n pureContainerHeight = getHeight(container) - parseInt(xBarStyles['height'], 10);\n\n if (containerStyles['max-height'] != 'none' && pureContainerHeight == 0) {\n if (content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n container.style.height = containerStyles['max-height'];\n } else {\n container.style.height = content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n }\n\n moveBar() {\n let container = (this.el as ElementRef).nativeElement;\n let content = this.contentViewChild()!.nativeElement;\n\n /* horizontal scroll */\n let xBar = this.xBarViewChild()!.nativeElement;\n let totalWidth = content.scrollWidth;\n let ownWidth = content.clientWidth;\n let bottom = (container.clientHeight - xBar.clientHeight) * -1;\n\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n let yBar = this.yBarViewChild()!.nativeElement;\n let totalHeight = content.scrollHeight;\n let ownHeight = content.clientHeight;\n let right = (container.clientWidth - yBar.clientWidth) * -1;\n\n this.scrollYRatio = ownHeight / totalHeight;\n\n this.requestAnimationFrame(() => {\n if ((this.scrollXRatio as number) >= 1) {\n xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n\n if (!this.$unstyled()) {\n addClass(xBar, 'p-scrollpanel-hidden');\n }\n } else {\n xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n\n if (!this.$unstyled()) {\n removeClass(xBar, 'p-scrollpanel-hidden');\n }\n\n const xBarWidth = Math.max((this.scrollXRatio as number) * 100, 10);\n const xBarLeft = Math.abs((content.scrollLeft * (100 - xBarWidth)) / (totalWidth - ownWidth));\n\n xBar.style.cssText = 'width:' + xBarWidth + '%; inset-inline-start:' + xBarLeft + '%;bottom:' + bottom + 'px;';\n }\n\n if ((this.scrollYRatio as number) >= 1) {\n yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n\n if (!this.$unstyled()) {\n addClass(yBar, 'p-scrollpanel-hidden');\n }\n } else {\n yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n\n if (!this.$unstyled()) {\n removeClass(yBar, 'p-scrollpanel-hidden');\n }\n\n const yBarHeight = Math.max((this.scrollYRatio as number) * 100, 10);\n const yBarTop = (content.scrollTop * (100 - yBarHeight)) / (totalHeight - ownHeight);\n\n yBar.style.cssText = 'height:' + yBarHeight + '%; top: calc(' + yBarTop + '% - ' + xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n });\n }\n\n onScroll(event: Event) {\n const target = event.target as HTMLElement;\n\n if (this.lastScrollLeft() !== target.scrollLeft) {\n this.lastScrollLeft.set(target.scrollLeft);\n this.orientation = 'horizontal';\n } else if (this.lastScrollTop() !== target.scrollTop) {\n this.lastScrollTop.set(target.scrollTop);\n this.orientation = 'vertical';\n }\n\n this.moveBar();\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.orientation === 'vertical') {\n switch (event.code) {\n case 'ArrowDown': {\n this.setTimer('scrollTop', this.step());\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n this.setTimer('scrollTop', this.step() * -1);\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft':\n\n // falls through\n case 'ArrowRight': {\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n } else if (this.orientation === 'horizontal') {\n switch (event.code) {\n case 'ArrowRight': {\n this.setTimer('scrollLeft', this.step());\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n this.setTimer('scrollLeft', this.step() * -1);\n event.preventDefault();\n break;\n }\n\n case 'ArrowDown':\n\n // falls through\n case 'ArrowUp': {\n event.preventDefault();\n break;\n }\n\n default:\n //no op\n break;\n }\n }\n }\n\n onKeyUp() {\n this.clearTimer();\n }\n\n repeat(bar: 'scrollTop' | 'scrollLeft', step: number) {\n const content = this.contentViewChild();\n\n if (content?.nativeElement) {\n content.nativeElement[bar] += step;\n }\n\n this.moveBar();\n }\n\n setTimer(bar: 'scrollTop' | 'scrollLeft', step: number) {\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(bar, step);\n }, 40);\n }\n\n clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n\n bindDocumentMouseListeners(): void {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = (e) => {\n this.onDocumentMouseMove(e);\n };\n\n this.document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = () => {\n this.onDocumentMouseUp();\n };\n\n this.document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n }\n\n unbindDocumentMouseListeners(): void {\n if (this.documentMouseMoveListener) {\n this.document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n }\n\n onYBarMouseDown(e: MouseEvent) {\n this.isYBarClicked = true;\n const yBar = this.yBarViewChild();\n\n yBar?.nativeElement?.focus();\n this.lastPageY = e.pageY;\n\n yBar?.nativeElement?.setAttribute('data-p-scrollpanel-grabbed', 'true');\n\n if (!this.$unstyled() && yBar) {\n addClass(yBar.nativeElement, 'p-scrollpanel-grabbed');\n }\n\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n\n if (!this.$unstyled()) {\n addClass(this.document.body, 'p-scrollpanel-grabbed');\n }\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\n }\n\n onXBarMouseDown(e: MouseEvent) {\n this.isXBarClicked = true;\n const xBar = this.xBarViewChild();\n\n xBar?.nativeElement?.focus();\n this.lastPageX = e.pageX;\n\n xBar?.nativeElement?.setAttribute('data-p-scrollpanel-grabbed', 'false');\n\n if (!this.$unstyled() && xBar) {\n addClass(xBar.nativeElement, 'p-scrollpanel-grabbed');\n }\n\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n\n if (!this.$unstyled()) {\n addClass(this.document.body, 'p-scrollpanel-grabbed');\n }\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\n }\n\n onDocumentMouseMove(e: MouseEvent) {\n if (this.isXBarClicked) {\n this.onMouseMoveForXBar(e);\n } else if (this.isYBarClicked) {\n this.onMouseMoveForYBar(e);\n } else {\n this.onMouseMoveForXBar(e);\n this.onMouseMoveForYBar(e);\n }\n }\n\n onMouseMoveForXBar(e: MouseEvent) {\n let deltaX = e.pageX - (this.lastPageX as number);\n\n this.lastPageX = e.pageX;\n\n this.requestAnimationFrame(() => {\n this.contentViewChild()!.nativeElement.scrollLeft += deltaX / (this.scrollXRatio as number);\n });\n }\n\n onMouseMoveForYBar(e: MouseEvent) {\n let deltaY = e.pageY - (this.lastPageY as number);\n\n this.lastPageY = e.pageY;\n\n this.requestAnimationFrame(() => {\n this.contentViewChild()!.nativeElement.scrollTop += deltaY / (this.scrollYRatio as number);\n });\n }\n /**\n * Scrolls the top location to the given value.\n * @param scrollTop\n * @group Method\n */\n scrollTop(scrollTop: number) {\n const content = this.contentViewChild()!.nativeElement;\n let scrollableHeight = content.scrollHeight - content.clientHeight;\n\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n content.scrollTop = scrollTop;\n }\n\n onFocus(event: FocusEvent) {\n if (this.xBarViewChild()?.nativeElement?.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.yBarViewChild()?.nativeElement?.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n }\n\n onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n }\n\n onDocumentMouseUp() {\n const yBar = this.yBarViewChild();\n const xBar = this.xBarViewChild();\n\n yBar?.nativeElement?.setAttribute('data-p-scrollpanel-grabbed', 'false');\n\n if (!this.$unstyled() && yBar) {\n removeClass(yBar.nativeElement, 'p-scrollpanel-grabbed');\n }\n\n xBar?.nativeElement?.setAttribute('data-p-scrollpanel-grabbed', 'false');\n\n if (!this.$unstyled() && xBar) {\n removeClass(xBar.nativeElement, 'p-scrollpanel-grabbed');\n }\n\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n\n if (!this.$unstyled()) {\n removeClass(this.document.body, 'p-scrollpanel-grabbed');\n }\n\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n }\n\n requestAnimationFrame(f: VoidFunction) {\n let frame = window.requestAnimationFrame || this.timeoutFrame;\n\n frame(f);\n }\n\n unbindListeners() {\n if (this.windowResizeListener) {\n this.windowResizeListener();\n this.windowResizeListener = null;\n }\n\n if (this.contentScrollListener) {\n this.contentScrollListener();\n this.contentScrollListener = null;\n }\n\n if (this.mouseEnterListener) {\n this.mouseEnterListener();\n this.mouseEnterListener = null;\n }\n\n if (this.xBarMouseDownListener) {\n this.xBarMouseDownListener();\n this.xBarMouseDownListener = null;\n }\n\n if (this.yBarMouseDownListener) {\n this.yBarMouseDownListener();\n this.yBarMouseDownListener = null;\n }\n }\n\n onDestroy() {\n if (this.initialized) {\n this.unbindListeners();\n }\n }\n /**\n * Refreshes the position and size of the scrollbar.\n * @group Method\n */\n refresh() {\n this.moveBar();\n }\n}\n\n@NgModule({\n imports: [ScrollPanel, SharedModule, BindModule],\n exports: [ScrollPanel, SharedModule, BindModule]\n})\nexport class ScrollPanelModule {}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"primeng-scrolltop.mjs","names":["ChevronUpIcon"],"sources":["../../src/scrolltop/style/scrolltopstyle.ts","../../src/scrolltop/scrolltop.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/scrolltop';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-scrolltop', { 'p-scrolltop-sticky': instance.target() !== 'window' }],\n icon: 'p-scrolltop-icon'\n};\n\n@Injectable()\nexport class ScrollTopStyle extends BaseStyle {\n name = 'scrolltop';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * ScrollTop gets displayed after a certain scroll position and used to navigates to the top of the page quickly.\n *\n * [Live Demo](https://www.primeng.org/scrolltop/)\n *\n * @module scrolltopstyle\n *\n */\nexport enum ScrollTopClasses {\n /**\n * Class name of the root element\n */\n root = 'p-scrolltop',\n /**\n * Class name of the icon element\n */\n icon = 'p-scrolltop-icon'\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { afterEveryRender, ChangeDetectionStrategy, Component, computed, contentChild, inject, InjectionToken, input, NgModule, numberAttribute, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { ChevronUp as ChevronUpIcon } from '@primeicons/angular/chevron-up';\nimport type { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { getWindowScrollTop } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport { MotionDirective } from 'primeng/motion';\nimport type { ButtonDirectiveOptions } from 'primeng/types/button';\nimport type { ScrollTopBehavior, ScrollTopIconTemplateContext, ScrollTopPassThrough, ScrollTopTarget } from 'primeng/types/scrolltop';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ScrollTopStyle } from './style/scrolltopstyle';\n\nconst SCROLLTOP_INSTANCE = new InjectionToken<ScrollTop>('SCROLLTOP_INSTANCE');\n\n/**\n * ScrollTop gets displayed after a certain scroll position and used to navigates to the top of the page quickly.\n * @group Components\n */\n@Component({\n selector: 'p-scrolltop, p-scroll-top',\n standalone: true,\n imports: [NgTemplateOutlet, ChevronUpIcon, ButtonDirective, SharedModule, MotionDirective],\n template: `\n @if (render()) {\n <button\n type=\"button\"\n iconOnly\n [pButton]=\"buttonProps()\"\n [pMotion]=\"visible()\"\n [pMotionAppear]=\"true\"\n [pMotionName]=\"'p-scrolltop'\"\n [pMotionOptions]=\"computedMotionOptions()\"\n [class]=\"cn(cx('root'), styleClass())\"\n [style]=\"style()\"\n [attr.aria-label]=\"buttonAriaLabel()\"\n [pButtonPT]=\"ptm('pcButton')\"\n [pButtonUnstyled]=\"unstyled()\"\n (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n (pMotionOnBeforeLeave)=\"onBeforeLeave()\"\n (pMotionOnAfterLeave)=\"onAfterLeave()\"\n (click)=\"onClick()\"\n >\n @if (iconTemplate()) {\n <ng-container [ngTemplateOutlet]=\"iconTemplate()!\" [ngTemplateOutletContext]=\"getIconTemplateContext()\"></ng-container>\n } @else if (_icon()) {\n <span [class]=\"cn(cx('icon'), _icon())\"></span>\n } @else {\n <svg data-p-icon=\"chevron-up\" [class]=\"cx('icon')\" />\n }\n </button>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ScrollTopStyle, { provide: SCROLLTOP_INSTANCE, useExisting: ScrollTop }, { provide: PARENT_INSTANCE, useExisting: ScrollTop }],\n hostDirectives: [Bind]\n})\nexport class ScrollTop extends BaseComponent<ScrollTopPassThrough> {\n componentName = 'ScrollTop';\n\n $pcScrollTop: ScrollTop | undefined = inject(SCROLLTOP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Class of the element.\n * @group Props\n */\n styleClass = input<string>();\n\n /**\n * Inline style of the element.\n * @group Props\n */\n style = input<CSSProperties>();\n\n /**\n * Target of the ScrollTop.\n * @group Props\n */\n target = input<ScrollTopTarget>('window');\n\n /**\n * Defines the threshold value of the vertical scroll position of the target to toggle the visibility.\n * @group Props\n */\n threshold = input(400, { transform: numberAttribute });\n\n /**\n * Name of the icon or JSX.Element for icon.\n * @group Props\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n _icon = input<string | undefined>(undefined, { alias: 'icon' });\n\n /**\n * Defines the scrolling behavior, \"smooth\" adds an animation and \"auto\" scrolls with a jump.\n * @group Props\n */\n behavior = input<ScrollTopBehavior>('smooth');\n\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions>();\n\n /**\n * Establishes a string value that labels the scroll-top button.\n * @group Props\n */\n buttonAriaLabel = input<string>();\n\n /**\n * Configuration object forwarded to the underlying button.\n * @group Props\n */\n buttonProps = input<ButtonDirectiveOptions>({ rounded: true });\n\n /**\n * Custom icon template.\n * @param {ScrollTopIconTemplateContext} context - icon context.\n * @see {@link ScrollTopIconTemplateContext}\n * @group Templates\n */\n iconTemplate = contentChild<TemplateRef<ScrollTopIconTemplateContext>>('icon', { descendants: false });\n\n computedMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('motion'),\n ...this.motionOptions()\n }));\n\n documentScrollListener: VoidFunction | null | undefined;\n\n parentScrollListener: VoidFunction | null | undefined;\n\n visible = signal(false);\n\n render = signal(false);\n\n overlay: HTMLElement | null = null;\n\n _componentStyle = inject(ScrollTopStyle);\n\n constructor() {\n super();\n const ref = afterEveryRender(() => {\n if (this.target() !== 'parent' || this.parentScrollListener) {\n ref.destroy();\n\n return;\n }\n\n if (this.el.nativeElement.parentElement) {\n this.bindParentScrollListener();\n ref.destroy();\n }\n });\n }\n\n getIconTemplateContext() {\n return { styleClass: this.cx('icon') };\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n if (this.target() === 'window') this.bindDocumentScrollListener();\n else if (this.target() === 'parent') this.bindParentScrollListener();\n }\n\n onClick() {\n const scrollElement = this.target() === 'window' ? this.document.defaultView : this.el.nativeElement.parentElement;\n\n scrollElement?.scroll({\n top: 0,\n behavior: this.behavior()\n });\n }\n\n onBeforeEnter(event: MotionEvent) {\n this.overlay = event.element as HTMLElement;\n this.overlay.style.position = this.target() === 'parent' ? 'sticky' : 'fixed';\n ZIndexUtils.set('overlay', this.overlay, this.config.zIndex.overlay);\n }\n\n onBeforeLeave() {\n ZIndexUtils.clear(this.overlay);\n this.overlay = null;\n }\n\n onAfterLeave() {\n this.render.set(false);\n }\n\n checkVisibility(scrollY: number) {\n if (scrollY > this.threshold()) {\n this.visible.set(true);\n\n if (!this.render()) {\n this.render.set(true);\n }\n } else {\n this.visible.set(false);\n }\n }\n\n bindParentScrollListener() {\n if (!isPlatformBrowser(this.platformId)) return;\n\n if (this.parentScrollListener) return;\n\n const parent = this.el.nativeElement.parentElement as HTMLElement | null;\n\n if (!parent) return;\n\n this.parentScrollListener = this.renderer.listen(parent, 'scroll', () => {\n this.checkVisibility(parent.scrollTop);\n });\n }\n\n bindDocumentScrollListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.documentScrollListener = this.renderer.listen(this.document.defaultView, 'scroll', () => {\n this.checkVisibility(getWindowScrollTop());\n });\n }\n }\n\n unbindParentScrollListener() {\n if (this.parentScrollListener) {\n this.parentScrollListener();\n this.parentScrollListener = null;\n }\n }\n\n unbindDocumentScrollListener() {\n if (this.documentScrollListener) {\n this.documentScrollListener();\n this.documentScrollListener = null;\n }\n }\n\n onDestroy() {\n if (this.target() === 'window') this.unbindDocumentScrollListener();\n else if (this.target() === 'parent') this.unbindParentScrollListener();\n\n if (this.overlay) {\n ZIndexUtils.clear(this.overlay);\n this.overlay = null;\n }\n }\n}\n\n@NgModule({\n imports: [ScrollTop, SharedModule],\n exports: [ScrollTop, SharedModule]\n})\nexport class ScrollTopModule {}\n"],"mappings":"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"}
|