primeng 18.0.5-lts → 18.0.7-lts
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/LICENSE.md +3 -3
- package/api/translation.d.ts +1 -0
- package/autocomplete/autocomplete.d.ts +1 -1
- package/chips/chips.d.ts +237 -0
- package/chips/chips.interface.d.ts +66 -0
- package/chips/index.d.ts +5 -0
- package/chips/public_api.d.ts +2 -0
- package/chips/style/chipsstyle.d.ts +69 -0
- package/confirmdialog/confirmdialog.d.ts +2 -0
- package/datepicker/datepicker.d.ts +6 -2
- package/dialog/dialog.d.ts +1 -0
- package/dynamicdialog/dynamicdialog-config.d.ts +1 -1
- package/editor/editor.d.ts +25 -4
- package/editor/editor.interface.d.ts +67 -9
- package/esm2022/accordion/accordion.mjs +13 -12
- package/esm2022/api/translation.mjs +1 -1
- package/esm2022/autocomplete/autocomplete.mjs +56 -59
- package/esm2022/base/style/basestyle.mjs +5 -1
- package/esm2022/carousel/carousel.mjs +3 -3
- package/esm2022/chips/chips.interface.mjs +2 -0
- package/esm2022/chips/chips.mjs +827 -0
- package/esm2022/chips/primeng-chips.mjs +5 -0
- package/esm2022/chips/public_api.mjs +3 -0
- package/esm2022/chips/style/chipsstyle.mjs +175 -0
- package/esm2022/config/primeng.mjs +3 -2
- package/esm2022/confirmdialog/confirmdialog.mjs +51 -3
- package/esm2022/contextmenu/contextmenu.mjs +3 -3
- package/esm2022/dataview/dataview.mjs +2 -2
- package/esm2022/datepicker/datepicker.mjs +35 -11
- package/esm2022/datepicker/style/datepickerstyle.mjs +6 -2
- package/esm2022/dialog/dialog.mjs +15 -4
- package/esm2022/dock/dock.mjs +2 -2
- package/esm2022/dynamicdialog/dynamicdialog-config.mjs +2 -2
- package/esm2022/dynamicdialog/dynamicdialog.mjs +6 -2
- package/esm2022/editor/editor.interface.mjs +1 -1
- package/esm2022/editor/editor.mjs +61 -3
- package/esm2022/inputmask/inputmask.mjs +2 -1
- package/esm2022/inputnumber/inputnumber.mjs +13 -5
- package/esm2022/listbox/listbox.mjs +85 -10
- package/esm2022/listbox/style/listboxstyle.mjs +23 -1
- package/esm2022/megamenu/megamenu.mjs +7 -9
- package/esm2022/menu/menu.mjs +3 -2
- package/esm2022/menubar/menubar.mjs +4 -5
- package/esm2022/message/message.mjs +1 -1
- package/esm2022/multiselect/multiselect.interface.mjs +1 -1
- package/esm2022/multiselect/multiselect.mjs +30 -12
- package/esm2022/overlay/overlay.mjs +14 -10
- package/esm2022/panel/panel.mjs +1 -2
- package/esm2022/picklist/picklist.mjs +355 -194
- package/esm2022/radiobutton/radiobutton.mjs +4 -5
- package/esm2022/scroller/scroller.mjs +26 -10
- package/esm2022/select/select.mjs +37 -19
- package/esm2022/selectbutton/selectbutton.mjs +12 -5
- package/esm2022/splitbutton/splitbutton.mjs +9 -28
- package/esm2022/stepper/stepper.mjs +3 -3
- package/esm2022/table/style/tablestyle.mjs +3 -3
- package/esm2022/table/table.mjs +92 -49
- package/esm2022/tabs/tablist.mjs +2 -2
- package/esm2022/tabs/tabs.mjs +3 -3
- package/esm2022/tag/tag.mjs +1 -1
- package/esm2022/terminal/terminal.mjs +22 -12
- package/esm2022/textarea/textarea.mjs +5 -1
- package/esm2022/tieredmenu/style/tieredmenustyle.mjs +13 -32
- package/esm2022/tieredmenu/tieredmenu.mjs +9 -9
- package/esm2022/togglebutton/style/togglebuttonstyle.mjs +2 -2
- package/esm2022/tooltip/tooltip.mjs +2 -2
- package/esm2022/tree/tree.mjs +51 -29
- package/esm2022/treeselect/treeselect.mjs +8 -7
- package/esm2022/treetable/treetable.mjs +11 -11
- package/fesm2022/primeng-accordion.mjs +12 -11
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +55 -58
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +4 -0
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +2 -2
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-chips.mjs +1006 -0
- package/fesm2022/primeng-chips.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +2 -1
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +50 -2
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +2 -2
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +1 -1
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +39 -11
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-defer.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +14 -3
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +1 -1
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +6 -2
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +60 -2
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +1 -0
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +12 -4
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputswitch.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +107 -10
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +6 -8
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +2 -1
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +3 -4
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-messages.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +29 -11
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +13 -9
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +0 -1
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +354 -193
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +3 -4
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +25 -9
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +36 -18
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +11 -4
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +9 -28
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +2 -2
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +94 -51
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +3 -3
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +21 -11
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +4 -0
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +21 -40
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +1 -1
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +1 -1
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +50 -28
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +7 -6
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +10 -10
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/inputnumber/inputnumber.d.ts +6 -1
- package/listbox/listbox.d.ts +28 -2
- package/message/message.d.ts +1 -1
- package/multiselect/multiselect.d.ts +11 -3
- package/multiselect/multiselect.interface.d.ts +1 -1
- package/package.json +351 -345
- package/panel/panel.d.ts +0 -1
- package/picklist/picklist.d.ts +2 -2
- package/scroller/scroller.d.ts +4 -0
- package/select/select.d.ts +1 -0
- package/selectbutton/selectbutton.d.ts +1 -0
- package/splitbutton/splitbutton.d.ts +4 -6
- package/table/table.d.ts +13 -3
- package/tag/tag.d.ts +1 -1
- package/terminal/terminal.d.ts +2 -1
- package/textarea/textarea.d.ts +1 -0
- package/tree/tree.d.ts +7 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-scrollpanel.mjs","sources":["../../src/scrollpanel/style/scrollpanelstyle.ts","../../src/scrollpanel/scrollpanel.ts","../../src/scrollpanel/primeng-scrollpanel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-scrollpanel-content-container {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n}\n\n.p-scrollpanel-content {\n height: calc(100% + calc(2 * ${dt('scrollpanel.bar.size')}));\n width: calc(100% + calc(2 * ${dt('scrollpanel.bar.size')}));\n padding-inline: 0 calc(2 * ${dt('scrollpanel.bar.size')});\n padding-block: 0 calc(2 * ${dt('scrollpanel.bar.size')});\n position: relative;\n overflow: auto;\n box-sizing: border-box;\n scrollbar-width: none;\n}\n\n.p-scrollpanel-content::-webkit-scrollbar {\n display: none;\n}\n\n.p-scrollpanel-bar {\n position: relative;\n border-radius: ${dt('scrollpanel.bar.border.radius')};\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n outline-color: transparent;\n transition: outline-color ${dt('scrollpanel.transition.duration')};\n background: ${dt('scrollpanel.bar.background')};\n border: 0 none;\n transition: outline-color ${dt('scrollpanel.transition.duration')}, opacity ${dt('scrollpanel.transition.duration')};\n}\n\n.p-scrollpanel-bar:focus-visible {\n box-shadow: ${dt('scrollpanel.bar.focus.ring.shadow')};\n outline: ${dt('scrollpanel.barfocus.ring.width')} ${dt('scrollpanel.bar.focus.ring.style')} ${dt('scrollpanel.bar.focus.ring.color')};\n outline-offset: ${dt('scrollpanel.barfocus.ring.offset')};\n}\n\n.p-scrollpanel-bar-y {\n width: ${dt('scrollpanel.bar.size')};\n top: 0;\n}\n\n.p-scrollpanel-bar-x {\n height: ${dt('scrollpanel.bar.size')};\n bottom: 0;\n}\n\n.p-scrollpanel-hidden {\n visibility: hidden;\n}\n\n.p-scrollpanel:hover .p-scrollpanel-bar,\n.p-scrollpanel:active .p-scrollpanel-bar {\n opacity: 1;\n}\n\n.p-scrollpanel-grabbed {\n user-select: none;\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 theme = theme;\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\nexport interface ScrollPanelStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n OnDestroy,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { addClass, getHeight, removeClass, uuid } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ScrollPanelStyle } from './style/scrollpanelstyle';\n\n/**\n * ScrollPanel is a cross browser, lightweight and themable alternative to native browser scrollbar.\n * @group Components\n */\n@Component({\n selector: 'p-scroll-panel, p-scrollPanel, p-scrollpanel',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <div #container [ngClass]=\"'p-scrollpanel p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'scrollpanel'\">\n <div class=\"p-scrollpanel-content-container\" [attr.data-pc-section]=\"'wrapper'\">\n <div #content class=\"p-scrollpanel-content\" [attr.data-pc-section]=\"'content'\" (mouseenter)=\"moveBar()\" (scroll)=\"onScroll($event)\">\n @if (!contentTemplate && !_contentTemplate) {\n <ng-content></ng-content>\n }\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate\"></ng-container>\n </div>\n </div>\n <div\n #xBar\n class=\"p-scrollpanel-bar p-scrollpanel-bar-x\"\n tabindex=\"0\"\n role=\"scrollbar\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-valuenow]=\"lastScrollLeft\"\n [attr.data-pc-section]=\"'barx'\"\n [attr.aria-controls]=\"contentId\"\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 class=\"p-scrollpanel-bar p-scrollpanel-bar-y\"\n tabindex=\"0\"\n role=\"scrollbar\"\n [attr.aria-orientation]=\"'vertical'\"\n [attr.aria-valuenow]=\"lastScrollTop\"\n [attr.data-pc-section]=\"'bary'\"\n [attr.aria-controls]=\"contentId\"\n (mousedown)=\"onYBarMouseDown($event)\"\n (keydown)=\"onKeyDown($event)\"\n (keyup)=\"onKeyUp()\"\n (focus)=\"onFocus($event)\"\n ></div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ScrollPanelStyle]\n})\nexport class ScrollPanel extends BaseComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Step factor to scroll the content while pressing the arrow keys.\n * @group Props\n */\n @Input({ transform: numberAttribute }) step: number = 5;\n\n @ViewChild('container') containerViewChild: ElementRef | undefined;\n\n @ViewChild('content') contentViewChild: ElementRef | undefined;\n\n @ViewChild('xBar') xBarViewChild: ElementRef | undefined;\n\n @ViewChild('yBar') yBarViewChild: ElementRef | undefined;\n /**\n * Defines template option for content.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n scrollYRatio: number | undefined;\n\n scrollXRatio: number | undefined;\n\n timeoutFrame: any = (fn: VoidFunction) => setTimeout(fn, 0);\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: number = 0;\n\n lastScrollTop: number = 0;\n\n orientation: string = 'vertical';\n\n timer: any;\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?: any) => void>;\n\n documentMouseUpListener: Nullable<(event?: any) => void>;\n\n _componentStyle = inject(ScrollPanelStyle);\n\n zone: NgZone = inject(NgZone);\n\n ngOnInit() {\n super.ngOnInit();\n this.contentId = uuid('pn_id_') + '_content';\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\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 as ElementRef).nativeElement, 'scroll', this.moveBar);\n this.mouseEnterListener = this.renderer.listen((this.contentViewChild as ElementRef).nativeElement, 'mouseenter', this.moveBar);\n this.xBarMouseDownListener = this.renderer.listen((this.xBarViewChild as ElementRef).nativeElement, 'mousedown', this.onXBarMouseDown);\n this.yBarMouseDownListener = this.renderer.listen((this.yBarViewChild as ElementRef).nativeElement, 'mousedown', this.onYBarMouseDown);\n this.calculateContainerHeight();\n\n this.initialized = true;\n });\n }\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this._contentTemplate = item.template;\n break;\n\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n\n calculateContainerHeight() {\n let container = (this.containerViewChild as ElementRef).nativeElement;\n let content = (this.contentViewChild as ElementRef).nativeElement;\n let xBar = (this.xBarViewChild as ElementRef).nativeElement;\n const window = this.document.defaultView as Window;\n\n let containerStyles: { [klass: string]: any } = 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.containerViewChild as ElementRef).nativeElement;\n let content = (this.contentViewChild as ElementRef).nativeElement;\n\n /* horizontal scroll */\n let xBar = (this.xBarViewChild as ElementRef).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 as ElementRef).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 addClass(xBar, 'p-scrollpanel-hidden');\n } else {\n xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n removeClass(xBar, 'p-scrollpanel-hidden');\n const xBarWidth = Math.max((this.scrollXRatio as number) * 100, 10);\n const xBarLeft = Math.abs((content.scrollLeft * (100 - xBarWidth)) / (totalWidth - ownWidth));\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 addClass(yBar, 'p-scrollpanel-hidden');\n } else {\n yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n removeClass(yBar, 'p-scrollpanel-hidden');\n const yBarHeight = Math.max((this.scrollYRatio as number) * 100, 10);\n const yBarTop = (content.scrollTop * (100 - yBarHeight)) / (totalHeight - ownHeight);\n yBar.style.cssText = 'height:' + yBarHeight + '%; top: calc(' + yBarTop + '% - ' + xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n });\n this.cd.markForCheck();\n }\n\n onScroll(event) {\n if (this.lastScrollLeft !== event.target.scrollLeft) {\n this.lastScrollLeft = event.target.scrollLeft;\n this.orientation = 'horizontal';\n } else if (this.lastScrollTop !== event.target.scrollTop) {\n this.lastScrollTop = event.target.scrollTop;\n this.orientation = 'vertical';\n }\n\n this.moveBar();\n }\n\n onKeyDown(event) {\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 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 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, step) {\n this.contentViewChild.nativeElement[bar] += step;\n this.moveBar();\n }\n\n setTimer(bar, step) {\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 this.document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = (e) => {\n this.onDocumentMouseUp(e);\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 this.yBarViewChild.nativeElement.focus();\n this.lastPageY = e.pageY;\n\n this.yBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'true');\n addClass((this.yBarViewChild as ElementRef).nativeElement, 'p-scrollpanel-grabbed');\n\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n addClass(this.document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n }\n\n onXBarMouseDown(e: MouseEvent) {\n this.isXBarClicked = true;\n this.xBarViewChild.nativeElement.focus();\n this.lastPageX = e.pageX;\n\n this.xBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n addClass((this.xBarViewChild as ElementRef).nativeElement, 'p-scrollpanel-grabbed');\n\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n addClass(this.document.body, 'p-scrollpanel-grabbed');\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 this.lastPageX = e.pageX;\n\n this.requestAnimationFrame(() => {\n (this.contentViewChild as ElementRef).nativeElement.scrollLeft += deltaX / (this.scrollXRatio as number);\n });\n }\n\n onMouseMoveForYBar(e: MouseEvent) {\n let deltaY = e.pageY - (this.lastPageY as number);\n this.lastPageY = e.pageY;\n\n this.requestAnimationFrame(() => {\n (this.contentViewChild as ElementRef).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 let scrollableHeight = (this.contentViewChild as ElementRef).nativeElement.scrollHeight - (this.contentViewChild as ElementRef).nativeElement.clientHeight;\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n (this.contentViewChild as ElementRef).nativeElement.scrollTop = scrollTop;\n }\n\n onFocus(event) {\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(e: Event) {\n this.yBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass((this.yBarViewChild as ElementRef).nativeElement, 'p-scrollpanel-grabbed');\n this.xBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass((this.xBarViewChild as ElementRef).nativeElement, 'p-scrollpanel-grabbed');\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass(this.document.body, 'p-scrollpanel-grabbed');\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 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 ngOnDestroy() {\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],\n exports: [ScrollPanel, SharedModule]\n})\nexport class ScrollPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-scrollpanel.mjs","sources":["../../src/scrollpanel/style/scrollpanelstyle.ts","../../src/scrollpanel/scrollpanel.ts","../../src/scrollpanel/primeng-scrollpanel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-scrollpanel-content-container {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n}\n\n.p-scrollpanel-content {\n height: calc(100% + calc(2 * ${dt('scrollpanel.bar.size')}));\n width: calc(100% + calc(2 * ${dt('scrollpanel.bar.size')}));\n padding-inline: 0 calc(2 * ${dt('scrollpanel.bar.size')});\n padding-block: 0 calc(2 * ${dt('scrollpanel.bar.size')});\n position: relative;\n overflow: auto;\n box-sizing: border-box;\n scrollbar-width: none;\n}\n\n.p-scrollpanel-content::-webkit-scrollbar {\n display: none;\n}\n\n.p-scrollpanel-bar {\n position: relative;\n border-radius: ${dt('scrollpanel.bar.border.radius')};\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n outline-color: transparent;\n transition: outline-color ${dt('scrollpanel.transition.duration')};\n background: ${dt('scrollpanel.bar.background')};\n border: 0 none;\n transition: outline-color ${dt('scrollpanel.transition.duration')}, opacity ${dt('scrollpanel.transition.duration')};\n}\n\n.p-scrollpanel-bar:focus-visible {\n box-shadow: ${dt('scrollpanel.bar.focus.ring.shadow')};\n outline: ${dt('scrollpanel.barfocus.ring.width')} ${dt('scrollpanel.bar.focus.ring.style')} ${dt('scrollpanel.bar.focus.ring.color')};\n outline-offset: ${dt('scrollpanel.barfocus.ring.offset')};\n}\n\n.p-scrollpanel-bar-y {\n width: ${dt('scrollpanel.bar.size')};\n top: 0;\n}\n\n.p-scrollpanel-bar-x {\n height: ${dt('scrollpanel.bar.size')};\n bottom: 0;\n}\n\n.p-scrollpanel-hidden {\n visibility: hidden;\n}\n\n.p-scrollpanel:hover .p-scrollpanel-bar,\n.p-scrollpanel:active .p-scrollpanel-bar {\n opacity: 1;\n}\n\n.p-scrollpanel-grabbed {\n user-select: none;\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 theme = theme;\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\nexport interface ScrollPanelStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n OnDestroy,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { addClass, getHeight, removeClass, uuid } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ScrollPanelStyle } from './style/scrollpanelstyle';\n\n/**\n * ScrollPanel is a cross browser, lightweight and themable alternative to native browser scrollbar.\n * @group Components\n */\n@Component({\n selector: 'p-scroll-panel, p-scrollPanel, p-scrollpanel',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <div #container [ngClass]=\"'p-scrollpanel p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'scrollpanel'\">\n <div class=\"p-scrollpanel-content-container\" [attr.data-pc-section]=\"'wrapper'\">\n <div #content class=\"p-scrollpanel-content\" [attr.data-pc-section]=\"'content'\" (mouseenter)=\"moveBar()\" (scroll)=\"onScroll($event)\">\n @if (!contentTemplate && !_contentTemplate) {\n <ng-content></ng-content>\n }\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate\"></ng-container>\n </div>\n </div>\n <div\n #xBar\n class=\"p-scrollpanel-bar p-scrollpanel-bar-x\"\n tabindex=\"0\"\n role=\"scrollbar\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-valuenow]=\"lastScrollLeft\"\n [attr.data-pc-section]=\"'barx'\"\n [attr.aria-controls]=\"contentId\"\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 class=\"p-scrollpanel-bar p-scrollpanel-bar-y\"\n tabindex=\"0\"\n role=\"scrollbar\"\n [attr.aria-orientation]=\"'vertical'\"\n [attr.aria-valuenow]=\"lastScrollTop\"\n [attr.data-pc-section]=\"'bary'\"\n [attr.aria-controls]=\"contentId\"\n (mousedown)=\"onYBarMouseDown($event)\"\n (keydown)=\"onKeyDown($event)\"\n (keyup)=\"onKeyUp()\"\n (focus)=\"onFocus($event)\"\n ></div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ScrollPanelStyle]\n})\nexport class ScrollPanel extends BaseComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Step factor to scroll the content while pressing the arrow keys.\n * @group Props\n */\n @Input({ transform: numberAttribute }) step: number = 5;\n\n @ViewChild('container') containerViewChild: ElementRef | undefined;\n\n @ViewChild('content') contentViewChild: ElementRef | undefined;\n\n @ViewChild('xBar') xBarViewChild: ElementRef | undefined;\n\n @ViewChild('yBar') yBarViewChild: ElementRef | undefined;\n /**\n * Defines template option for content.\n * @group Templates\n */\n @ContentChild('content', { descendants: false }) contentTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _contentTemplate: TemplateRef<any> | undefined;\n\n scrollYRatio: number | undefined;\n\n scrollXRatio: number | undefined;\n\n timeoutFrame: any = (fn: VoidFunction) => setTimeout(fn, 0);\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: number = 0;\n\n lastScrollTop: number = 0;\n\n orientation: string = 'vertical';\n\n timer: any;\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?: any) => void>;\n\n documentMouseUpListener: Nullable<(event?: any) => void>;\n\n _componentStyle = inject(ScrollPanelStyle);\n\n zone: NgZone = inject(NgZone);\n\n ngOnInit() {\n super.ngOnInit();\n this.contentId = uuid('pn_id_') + '_content';\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\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 as ElementRef).nativeElement, 'scroll', this.moveBar);\n this.mouseEnterListener = this.renderer.listen((this.contentViewChild as ElementRef).nativeElement, 'mouseenter', this.moveBar);\n this.xBarMouseDownListener = this.renderer.listen((this.xBarViewChild as ElementRef).nativeElement, 'mousedown', this.onXBarMouseDown);\n this.yBarMouseDownListener = this.renderer.listen((this.yBarViewChild as ElementRef).nativeElement, 'mousedown', this.onYBarMouseDown);\n this.calculateContainerHeight();\n\n this.initialized = true;\n });\n }\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this._contentTemplate = item.template;\n break;\n\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n\n calculateContainerHeight() {\n let container = (this.containerViewChild as ElementRef).nativeElement;\n let content = (this.contentViewChild as ElementRef).nativeElement;\n let xBar = (this.xBarViewChild as ElementRef).nativeElement;\n const window = this.document.defaultView as Window;\n\n let containerStyles: { [klass: string]: any } = 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.containerViewChild as ElementRef).nativeElement;\n let content = (this.contentViewChild as ElementRef).nativeElement;\n\n /* horizontal scroll */\n let xBar = (this.xBarViewChild as ElementRef).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 as ElementRef).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 addClass(xBar, 'p-scrollpanel-hidden');\n } else {\n xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n removeClass(xBar, 'p-scrollpanel-hidden');\n const xBarWidth = Math.max((this.scrollXRatio as number) * 100, 10);\n const xBarLeft = Math.abs((content.scrollLeft * (100 - xBarWidth)) / (totalWidth - ownWidth));\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 addClass(yBar, 'p-scrollpanel-hidden');\n } else {\n yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n removeClass(yBar, 'p-scrollpanel-hidden');\n const yBarHeight = Math.max((this.scrollYRatio as number) * 100, 10);\n const yBarTop = (content.scrollTop * (100 - yBarHeight)) / (totalHeight - ownHeight);\n yBar.style.cssText = 'height:' + yBarHeight + '%; top: calc(' + yBarTop + '% - ' + xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n });\n this.cd.markForCheck();\n }\n\n onScroll(event) {\n if (this.lastScrollLeft !== event.target.scrollLeft) {\n this.lastScrollLeft = event.target.scrollLeft;\n this.orientation = 'horizontal';\n } else if (this.lastScrollTop !== event.target.scrollTop) {\n this.lastScrollTop = event.target.scrollTop;\n this.orientation = 'vertical';\n }\n\n this.moveBar();\n }\n\n onKeyDown(event) {\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 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 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, step) {\n this.contentViewChild.nativeElement[bar] += step;\n this.moveBar();\n }\n\n setTimer(bar, step) {\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 this.document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = (e) => {\n this.onDocumentMouseUp(e);\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 this.yBarViewChild.nativeElement.focus();\n this.lastPageY = e.pageY;\n\n this.yBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'true');\n addClass((this.yBarViewChild as ElementRef).nativeElement, 'p-scrollpanel-grabbed');\n\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n addClass(this.document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n }\n\n onXBarMouseDown(e: MouseEvent) {\n this.isXBarClicked = true;\n this.xBarViewChild.nativeElement.focus();\n this.lastPageX = e.pageX;\n\n this.xBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n addClass((this.xBarViewChild as ElementRef).nativeElement, 'p-scrollpanel-grabbed');\n\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n addClass(this.document.body, 'p-scrollpanel-grabbed');\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 this.lastPageX = e.pageX;\n\n this.requestAnimationFrame(() => {\n (this.contentViewChild as ElementRef).nativeElement.scrollLeft += deltaX / (this.scrollXRatio as number);\n });\n }\n\n onMouseMoveForYBar(e: MouseEvent) {\n let deltaY = e.pageY - (this.lastPageY as number);\n this.lastPageY = e.pageY;\n\n this.requestAnimationFrame(() => {\n (this.contentViewChild as ElementRef).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 let scrollableHeight = (this.contentViewChild as ElementRef).nativeElement.scrollHeight - (this.contentViewChild as ElementRef).nativeElement.clientHeight;\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n (this.contentViewChild as ElementRef).nativeElement.scrollTop = scrollTop;\n }\n\n onFocus(event) {\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(e: Event) {\n this.yBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass((this.yBarViewChild as ElementRef).nativeElement, 'p-scrollpanel-grabbed');\n this.xBarViewChild.nativeElement.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass((this.xBarViewChild as ElementRef).nativeElement, 'p-scrollpanel-grabbed');\n this.document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n removeClass(this.document.body, 'p-scrollpanel-grabbed');\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 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 ngOnDestroy() {\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],\n exports: [ScrollPanel, SharedModule]\n})\nexport class ScrollPanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-scrolltop.mjs","sources":["../../src/scrolltop/style/scrolltopstyle.ts","../../src/scrolltop/scrolltop.ts","../../src/scrolltop/primeng-scrolltop.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-scrolltop.p-button {\n position: fixed;\n bottom: 20px;\n inset-inline-end: 20px;\n}\n\n.p-scrolltop-sticky.p-button {\n position: sticky;\n display: flex;\n margin-left: auto;\n}\n\n.p-scrolltop-sticky.p-button:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-scrolltop-enter-from {\n opacity: 0;\n}\n\n.p-scrolltop-enter-active {\n transition: opacity 0.15s;\n}\n\n.p-scrolltop.p-scrolltop-leave-to {\n opacity: 0;\n}\n\n.p-scrolltop-leave-active {\n transition: opacity 0.15s;\n}\n\n/* For PrimeNG */\n.p-scrolltop-sticky.p-link {\n margin-left: auto;\n}\n`;\n\nconst classes = {\n root: ({ props }) => ['p-scrolltop', { 'p-scrolltop-sticky': props.target !== 'window' }],\n icon: 'p-scrolltop-icon'\n};\n\n@Injectable()\nexport class ScrollTopStyle extends BaseStyle {\n name = 'scrolltop';\n\n theme = theme;\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\nexport interface ScrollTopStyle extends BaseStyle {}\n","import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, inject, Input, NgModule, numberAttribute, OnDestroy, OnInit, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { getWindowScrollTop } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Button, ButtonProps } from 'primeng/button';\nimport { ChevronUpIcon } from 'primeng/icons';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ScrollTopStyle } from './style/scrolltopstyle';\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-scrolltop, p-scroll-top',\n standalone: true,\n imports: [CommonModule, ChevronUpIcon, Button, SharedModule],\n template: `\n <p-button\n *ngIf=\"visible\"\n [@animation]=\"{\n value: 'open',\n params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n }\"\n (@animation.start)=\"onEnter($event)\"\n (@animation.done)=\"onLeave($event)\"\n [attr.aria-label]=\"buttonAriaLabel\"\n (click)=\"onClick()\"\n [styleClass]=\"getStyleClass()\"\n [ngStyle]=\"style\"\n type=\"button\"\n [buttonProps]=\"buttonProps\"\n >\n <ng-template #icon>\n <ng-container *ngIf=\"!iconTemplate && !_iconTemplate\">\n <span *ngIf=\"_icon\" [class]=\"_icon\" [ngClass]=\"'p-scrolltop-icon'\"></span>\n <ChevronUpIcon *ngIf=\"!_icon\" [styleClass]=\"'p-scrolltop-icon'\" [ngStyle]=\"{ 'font-size': '1rem', scale: '1.5' }\" />\n </ng-container>\n <ng-template [ngIf]=\"!icon\" *ngTemplateOutlet=\"iconTemplate || _iconTemplate; context: { styleClass: 'p-scrolltop-icon' }\"></ng-template>\n </ng-template>\n </p-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n opacity: 0\n })\n ),\n state(\n 'open',\n style({\n opacity: 1\n })\n ),\n transition('void => open', animate('{{showTransitionParams}}')),\n transition('open => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n\n providers: [ScrollTopStyle]\n})\nexport class ScrollTop extends BaseComponent implements OnInit, AfterContentInit, OnDestroy {\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Target of the ScrollTop.\n * @group Props\n */\n @Input() target: 'window' | 'parent' | undefined = 'window';\n /**\n * Defines the threshold value of the vertical scroll position of the target to toggle the visibility.\n * @group Props\n */\n @Input({ transform: numberAttribute }) threshold: number = 400;\n /**\n * Name of the icon or JSX.Element for icon.\n * @group Props\n */\n @Input() get icon(): string | undefined {\n return this._icon;\n }\n /**\n * Defines the scrolling behavior, \"smooth\" adds an animation and \"auto\" scrolls with a jump.\n * @group Props\n */\n @Input() behavior: 'auto' | 'smooth' | undefined = 'smooth';\n /**\n * A string value used to determine the display transition options.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.15s';\n /**\n * A string value used to determine the hiding transition options.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.15s';\n /**\n * Establishes a string value that labels the scroll-top button.\n * @group Props\n */\n @Input() buttonAriaLabel: string | undefined;\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n @Input() buttonProps: ButtonProps = { rounded: true };\n /**\n * Template of the icon.\n * @group Templates\n */\n @ContentChild('icon', { descendants: false }) iconTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _iconTemplate: TemplateRef<any> | undefined;\n\n _icon: string | undefined;\n\n set icon(value: string | undefined) {\n this._icon = value;\n }\n\n documentScrollListener: VoidFunction | null | undefined;\n\n parentScrollListener: VoidFunction | null | undefined;\n\n visible: boolean = false;\n\n overlay: any;\n\n _componentStyle = inject(ScrollTopStyle);\n\n ngOnInit() {\n super.ngOnInit();\n if (this.target === 'window') this.bindDocumentScrollListener();\n else if (this.target === 'parent') this.bindParentScrollListener();\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this._iconTemplate = item.template;\n break;\n }\n });\n }\n\n onClick() {\n let scrollElement = this.target === 'window' ? this.document.defaultView : this.el.nativeElement.parentElement;\n scrollElement.scroll({\n top: 0,\n behavior: this.behavior\n });\n }\n\n onEnter(event: AnimationEvent) {\n switch (event.toState) {\n case 'open':\n this.overlay = event.element;\n ZIndexUtils.set('overlay', this.overlay, this.config.zIndex.overlay);\n break;\n case 'void':\n this.overlay = null;\n break;\n }\n }\n\n onLeave(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n ZIndexUtils.clear(event.element);\n break;\n }\n }\n\n checkVisibility(scrollY: number) {\n if (scrollY > this.threshold) this.visible = true;\n else this.visible = false;\n\n this.cd.markForCheck();\n }\n\n bindParentScrollListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.parentScrollListener = this.renderer.listen(this.el.nativeElement.parentElement, 'scroll', () => {\n this.checkVisibility(this.el.nativeElement.parentElement.scrollTop);\n });\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 getStyleClass() {\n return `p-scrolltop p-button${this.styleClass ? ` ${this.styleClass}` : ''}${this.target !== 'window' ? ' p-scrolltop-sticky' : ''}`;\n }\n\n ngOnDestroy() {\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 super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [ScrollTop, SharedModule],\n exports: [ScrollTop, SharedModule]\n})\nexport class ScrollTopModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-scrolltop.mjs","sources":["../../src/scrolltop/style/scrolltopstyle.ts","../../src/scrolltop/scrolltop.ts","../../src/scrolltop/primeng-scrolltop.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-scrolltop.p-button {\n position: fixed;\n bottom: 20px;\n inset-inline-end: 20px;\n}\n\n.p-scrolltop-sticky.p-button {\n position: sticky;\n display: flex;\n margin-left: auto;\n}\n\n.p-scrolltop-sticky.p-button:dir(rtl) {\n margin-left: 0;\n margin-right: auto;\n}\n\n.p-scrolltop-enter-from {\n opacity: 0;\n}\n\n.p-scrolltop-enter-active {\n transition: opacity 0.15s;\n}\n\n.p-scrolltop.p-scrolltop-leave-to {\n opacity: 0;\n}\n\n.p-scrolltop-leave-active {\n transition: opacity 0.15s;\n}\n\n/* For PrimeNG */\n.p-scrolltop-sticky.p-link {\n margin-left: auto;\n}\n`;\n\nconst classes = {\n root: ({ props }) => ['p-scrolltop', { 'p-scrolltop-sticky': props.target !== 'window' }],\n icon: 'p-scrolltop-icon'\n};\n\n@Injectable()\nexport class ScrollTopStyle extends BaseStyle {\n name = 'scrolltop';\n\n theme = theme;\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\nexport interface ScrollTopStyle extends BaseStyle {}\n","import { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, inject, Input, NgModule, numberAttribute, OnDestroy, OnInit, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { getWindowScrollTop } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Button, ButtonProps } from 'primeng/button';\nimport { ChevronUpIcon } from 'primeng/icons';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ScrollTopStyle } from './style/scrolltopstyle';\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-scrolltop, p-scroll-top',\n standalone: true,\n imports: [CommonModule, ChevronUpIcon, Button, SharedModule],\n template: `\n <p-button\n *ngIf=\"visible\"\n [@animation]=\"{\n value: 'open',\n params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n }\"\n (@animation.start)=\"onEnter($event)\"\n (@animation.done)=\"onLeave($event)\"\n [attr.aria-label]=\"buttonAriaLabel\"\n (click)=\"onClick()\"\n [styleClass]=\"getStyleClass()\"\n [ngStyle]=\"style\"\n type=\"button\"\n [buttonProps]=\"buttonProps\"\n >\n <ng-template #icon>\n <ng-container *ngIf=\"!iconTemplate && !_iconTemplate\">\n <span *ngIf=\"_icon\" [class]=\"_icon\" [ngClass]=\"'p-scrolltop-icon'\"></span>\n <ChevronUpIcon *ngIf=\"!_icon\" [styleClass]=\"'p-scrolltop-icon'\" [ngStyle]=\"{ 'font-size': '1rem', scale: '1.5' }\" />\n </ng-container>\n <ng-template [ngIf]=\"!icon\" *ngTemplateOutlet=\"iconTemplate || _iconTemplate; context: { styleClass: 'p-scrolltop-icon' }\"></ng-template>\n </ng-template>\n </p-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('animation', [\n state(\n 'void',\n style({\n opacity: 0\n })\n ),\n state(\n 'open',\n style({\n opacity: 1\n })\n ),\n transition('void => open', animate('{{showTransitionParams}}')),\n transition('open => void', animate('{{hideTransitionParams}}'))\n ])\n ],\n\n providers: [ScrollTopStyle]\n})\nexport class ScrollTop extends BaseComponent implements OnInit, AfterContentInit, OnDestroy {\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Target of the ScrollTop.\n * @group Props\n */\n @Input() target: 'window' | 'parent' | undefined = 'window';\n /**\n * Defines the threshold value of the vertical scroll position of the target to toggle the visibility.\n * @group Props\n */\n @Input({ transform: numberAttribute }) threshold: number = 400;\n /**\n * Name of the icon or JSX.Element for icon.\n * @group Props\n */\n @Input() get icon(): string | undefined {\n return this._icon;\n }\n /**\n * Defines the scrolling behavior, \"smooth\" adds an animation and \"auto\" scrolls with a jump.\n * @group Props\n */\n @Input() behavior: 'auto' | 'smooth' | undefined = 'smooth';\n /**\n * A string value used to determine the display transition options.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.15s';\n /**\n * A string value used to determine the hiding transition options.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.15s';\n /**\n * Establishes a string value that labels the scroll-top button.\n * @group Props\n */\n @Input() buttonAriaLabel: string | undefined;\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n @Input() buttonProps: ButtonProps = { rounded: true };\n /**\n * Template of the icon.\n * @group Templates\n */\n @ContentChild('icon', { descendants: false }) iconTemplate: TemplateRef<any> | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n _iconTemplate: TemplateRef<any> | undefined;\n\n _icon: string | undefined;\n\n set icon(value: string | undefined) {\n this._icon = value;\n }\n\n documentScrollListener: VoidFunction | null | undefined;\n\n parentScrollListener: VoidFunction | null | undefined;\n\n visible: boolean = false;\n\n overlay: any;\n\n _componentStyle = inject(ScrollTopStyle);\n\n ngOnInit() {\n super.ngOnInit();\n if (this.target === 'window') this.bindDocumentScrollListener();\n else if (this.target === 'parent') this.bindParentScrollListener();\n }\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this._iconTemplate = item.template;\n break;\n }\n });\n }\n\n onClick() {\n let scrollElement = this.target === 'window' ? this.document.defaultView : this.el.nativeElement.parentElement;\n scrollElement.scroll({\n top: 0,\n behavior: this.behavior\n });\n }\n\n onEnter(event: AnimationEvent) {\n switch (event.toState) {\n case 'open':\n this.overlay = event.element;\n ZIndexUtils.set('overlay', this.overlay, this.config.zIndex.overlay);\n break;\n case 'void':\n this.overlay = null;\n break;\n }\n }\n\n onLeave(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n ZIndexUtils.clear(event.element);\n break;\n }\n }\n\n checkVisibility(scrollY: number) {\n if (scrollY > this.threshold) this.visible = true;\n else this.visible = false;\n\n this.cd.markForCheck();\n }\n\n bindParentScrollListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.parentScrollListener = this.renderer.listen(this.el.nativeElement.parentElement, 'scroll', () => {\n this.checkVisibility(this.el.nativeElement.parentElement.scrollTop);\n });\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 getStyleClass() {\n return `p-scrolltop p-button${this.styleClass ? ` ${this.styleClass}` : ''}${this.target !== 'window' ? ' p-scrolltop-sticky' : ''}`;\n }\n\n ngOnDestroy() {\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 super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [ScrollTop, SharedModule],\n exports: [ScrollTop, SharedModule]\n})\nexport class ScrollTopModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -469,7 +469,7 @@ function Select_span_0_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
469
469
|
i0.ɵɵtemplate(0, Select_span_0_ng_template_4_span_0_Template, 2, 1, "span", 18);
|
470
470
|
} if (rf & 2) {
|
471
471
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
472
|
-
i0.ɵɵproperty("ngIf",
|
472
|
+
i0.ɵɵproperty("ngIf", ctx_r2.isSelectedOptionEmpty());
|
473
473
|
} }
|
474
474
|
function Select_span_0_Template(rf, ctx) { if (rf & 1) {
|
475
475
|
const _r2 = i0.ɵɵgetCurrentView();
|
@@ -486,7 +486,7 @@ function Select_span_0_Template(rf, ctx) { if (rf & 1) {
|
|
486
486
|
i0.ɵɵadvance(2);
|
487
487
|
i0.ɵɵproperty("ngIf", !ctx_r2.selectedItemTemplate && !ctx_r2._selectedItemTemplate)("ngIfElse", defaultPlaceholder_r4);
|
488
488
|
i0.ɵɵadvance();
|
489
|
-
i0.ɵɵproperty("ngIf", (ctx_r2.selectedItemTemplate || ctx_r2._selectedItemTemplate) && ctx_r2.
|
489
|
+
i0.ɵɵproperty("ngIf", (ctx_r2.selectedItemTemplate || ctx_r2._selectedItemTemplate) && !ctx_r2.isSelectedOptionEmpty());
|
490
490
|
} }
|
491
491
|
function Select_input_1_Template(rf, ctx) { if (rf & 1) {
|
492
492
|
const _r5 = i0.ɵɵgetCurrentView();
|
@@ -824,7 +824,7 @@ function Select_ng_template_9_ng_template_8_li_4_Conditional_1_Template(rf, ctx)
|
|
824
824
|
i0.ɵɵtext(0);
|
825
825
|
} if (rf & 2) {
|
826
826
|
const ctx_r2 = i0.ɵɵnextContext(4);
|
827
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r2.emptyMessageLabel, " ");
|
827
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.emptyMessageLabel || ctx_r2.emptyFilterMessageLabel, " ");
|
828
828
|
} }
|
829
829
|
function Select_ng_template_9_ng_template_8_li_4_Conditional_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
830
830
|
i0.ɵɵelementContainer(0, null, 15);
|
@@ -1699,8 +1699,16 @@ class Select extends BaseComponent {
|
|
1699
1699
|
// this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options
|
1700
1700
|
const options = this.getAllVisibleAndNonVisibleOptions();
|
1701
1701
|
// use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option
|
1702
|
-
const selectedOptionIndex = options.findIndex((option) =>
|
1703
|
-
|
1702
|
+
const selectedOptionIndex = options.findIndex((option) => {
|
1703
|
+
const isEqual = this.isOptionValueEqualsModelValue(option);
|
1704
|
+
return isEqual;
|
1705
|
+
});
|
1706
|
+
if (selectedOptionIndex !== -1) {
|
1707
|
+
const selectedOption = options[selectedOptionIndex];
|
1708
|
+
// Always show the label for selected options, even if disabled
|
1709
|
+
return this.getOptionLabel(selectedOption);
|
1710
|
+
}
|
1711
|
+
return this.placeholder() || 'p-emptylabel';
|
1704
1712
|
});
|
1705
1713
|
filled = computed(() => {
|
1706
1714
|
if (typeof this.modelValue() === 'string')
|
@@ -1721,6 +1729,14 @@ class Select extends BaseComponent {
|
|
1721
1729
|
if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable) {
|
1722
1730
|
this.selectedOption = visibleOptions[selectedOptionIndex];
|
1723
1731
|
}
|
1732
|
+
else {
|
1733
|
+
// If no valid selected option found but we have a model value,
|
1734
|
+
// try to find the option including disabled ones for template display
|
1735
|
+
const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
|
1736
|
+
if (disabledSelectedIndex !== -1) {
|
1737
|
+
this.selectedOption = visibleOptions[disabledSelectedIndex];
|
1738
|
+
}
|
1739
|
+
}
|
1724
1740
|
}
|
1725
1741
|
if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption)) {
|
1726
1742
|
this.selectedOption = null;
|
@@ -1880,10 +1896,11 @@ class Select extends BaseComponent {
|
|
1880
1896
|
return this.autoDisplayFirst && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable && this.options && this.options.length;
|
1881
1897
|
}
|
1882
1898
|
isSelected(option) {
|
1883
|
-
return this.
|
1899
|
+
return this.isOptionValueEqualsModelValue(option);
|
1884
1900
|
}
|
1885
1901
|
isOptionValueEqualsModelValue(option) {
|
1886
|
-
|
1902
|
+
// Don't check isValidOption here since we need to match disabled options too
|
1903
|
+
return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
|
1887
1904
|
}
|
1888
1905
|
ngAfterViewInit() {
|
1889
1906
|
if (this.editable) {
|
@@ -1920,13 +1937,11 @@ class Select extends BaseComponent {
|
|
1920
1937
|
getOptionValue(option) {
|
1921
1938
|
return this.optionValue && this.optionValue !== null ? resolveFieldData(option, this.optionValue) : !this.optionLabel && option && option.value !== undefined ? option.value : option;
|
1922
1939
|
}
|
1940
|
+
isSelectedOptionEmpty() {
|
1941
|
+
return isEmpty(this.selectedOption);
|
1942
|
+
}
|
1923
1943
|
isOptionDisabled(option) {
|
1924
|
-
|
1925
|
-
return false;
|
1926
|
-
}
|
1927
|
-
else {
|
1928
|
-
return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
|
1929
|
-
}
|
1944
|
+
return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
|
1930
1945
|
}
|
1931
1946
|
getOptionGroupLabel(optionGroup) {
|
1932
1947
|
return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
|
@@ -2354,8 +2369,11 @@ class Select extends BaseComponent {
|
|
2354
2369
|
event.preventDefault();
|
2355
2370
|
}
|
2356
2371
|
onEscapeKey(event) {
|
2357
|
-
this.overlayVisible
|
2358
|
-
|
2372
|
+
if (this.overlayVisible) {
|
2373
|
+
this.hide(true);
|
2374
|
+
event.preventDefault();
|
2375
|
+
event.stopPropagation();
|
2376
|
+
}
|
2359
2377
|
}
|
2360
2378
|
onTabKey(event, pressedInInputText = false) {
|
2361
2379
|
if (!pressedInInputText) {
|
@@ -2591,9 +2609,9 @@ class Select extends BaseComponent {
|
|
2591
2609
|
[attr.required]="required"
|
2592
2610
|
>
|
2593
2611
|
<ng-container *ngIf="!selectedItemTemplate && !_selectedItemTemplate; else defaultPlaceholder">{{ label() === 'p-emptylabel' ? ' ' : label() }}</ng-container>
|
2594
|
-
<ng-container *ngIf="(selectedItemTemplate || _selectedItemTemplate) &&
|
2612
|
+
<ng-container *ngIf="(selectedItemTemplate || _selectedItemTemplate) && !isSelectedOptionEmpty()" [ngTemplateOutlet]="selectedItemTemplate || _selectedItemTemplate" [ngTemplateOutletContext]="{ $implicit: selectedOption }"></ng-container>
|
2595
2613
|
<ng-template #defaultPlaceholder>
|
2596
|
-
<span *ngIf="
|
2614
|
+
<span *ngIf="isSelectedOptionEmpty()">{{ label() === 'p-emptylabel' ? ' ' : label() }}</span>
|
2597
2615
|
</ng-template>
|
2598
2616
|
</span>
|
2599
2617
|
<input
|
@@ -2762,7 +2780,7 @@ class Select extends BaseComponent {
|
|
2762
2780
|
</li>
|
2763
2781
|
<li *ngIf="!filterValue && isEmpty()" class="p-select-empty-message" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
2764
2782
|
@if (!emptyTemplate && !_emptyTemplate) {
|
2765
|
-
{{ emptyMessageLabel }}
|
2783
|
+
{{ emptyMessageLabel || emptyFilterMessageLabel }}
|
2766
2784
|
} @else {
|
2767
2785
|
<ng-container #empty *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-container>
|
2768
2786
|
}
|