primeng 20.1.1 → 20.2.0
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/accordion/index.d.ts +2 -2
- package/animateonscroll/index.d.ts +2 -2
- package/api/index.d.ts +4 -3
- package/autocomplete/index.d.ts +59 -13
- package/avatargroup/index.d.ts +2 -2
- package/badge/index.d.ts +5 -5
- package/base/index.d.ts +6 -6
- package/basecomponent/index.d.ts +1 -1
- package/baseeditableholder/index.d.ts +4 -4
- package/baseinput/index.d.ts +12 -12
- package/breadcrumb/index.d.ts +1 -2
- package/button/index.d.ts +10 -10
- package/card/index.d.ts +1 -1
- package/carousel/index.d.ts +6 -6
- package/cascadeselect/index.d.ts +9 -9
- package/checkbox/index.d.ts +3 -3
- package/chip/index.d.ts +14 -4
- package/classnames/index.d.ts +38 -0
- package/config/index.d.ts +2 -2
- package/confirmdialog/index.d.ts +3 -3
- package/contextmenu/index.d.ts +4 -4
- package/dataview/index.d.ts +1 -1
- package/datepicker/index.d.ts +1 -1
- package/dialog/index.d.ts +4 -3
- package/divider/index.d.ts +2 -2
- package/dock/index.d.ts +2 -2
- package/dom/index.d.ts +4 -4
- package/dynamicdialog/index.d.ts +14 -14
- package/editor/index.d.ts +92 -13
- package/fesm2022/primeng-accordion.mjs +33 -21
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +8 -8
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +180 -50
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-badge.mjs +15 -15
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +3 -3
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +6 -6
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +3 -3
- package/fesm2022/primeng-blockui.mjs +10 -10
- package/fesm2022/primeng-breadcrumb.mjs +21 -21
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +24 -23
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +10 -10
- package/fesm2022/primeng-card.mjs +10 -10
- package/fesm2022/primeng-carousel.mjs +23 -23
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +31 -25
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-checkbox.mjs +15 -14
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +48 -17
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +73 -0
- package/fesm2022/primeng-classnames.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +11 -11
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +8 -7
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +16 -10
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +24 -22
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +24 -22
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +11 -11
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +23 -23
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +35 -16
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-dock.mjs +27 -25
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +13 -10
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs +28 -19
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +48 -39
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +69 -11
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +12 -11
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +15 -15
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-fluid.mjs +10 -12
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +42 -38
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +10 -10
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterfill.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-iftalabel.mjs +10 -10
- package/fesm2022/primeng-image.mjs +19 -16
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +10 -10
- package/fesm2022/primeng-inplace.mjs +16 -16
- package/fesm2022/primeng-inputgroup.mjs +10 -10
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputicon.mjs +10 -10
- package/fesm2022/primeng-inputmask.mjs +22 -13
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +52 -31
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +11 -11
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +10 -10
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +19 -10
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +10 -10
- package/fesm2022/primeng-listbox.mjs +124 -43
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +22 -20
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +35 -44
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +28 -27
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +33 -30
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +27 -18
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +58 -48
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +149 -43
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +13 -13
- package/fesm2022/primeng-overlay.mjs +15 -11
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-paginator.mjs +11 -11
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +11 -11
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +27 -26
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +25 -21
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +129 -48
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +11 -11
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +10 -10
- package/fesm2022/primeng-progressspinner.mjs +10 -10
- package/fesm2022/primeng-radiobutton.mjs +15 -15
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +11 -11
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +10 -10
- package/fesm2022/primeng-scroller.mjs +48 -24
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +19 -19
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +10 -10
- package/fesm2022/primeng-select.mjs +56 -38
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +12 -12
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +14 -14
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +32 -24
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +15 -15
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +21 -21
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +43 -43
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +15 -15
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +8 -8
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +178 -158
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +99 -55
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +10 -10
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +13 -13
- package/fesm2022/primeng-textarea.mjs +11 -11
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +26 -25
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +10 -10
- package/fesm2022/primeng-toast.mjs +14 -13
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +20 -13
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +10 -10
- package/fesm2022/primeng-toolbar.mjs +10 -10
- package/fesm2022/primeng-tooltip.mjs +16 -15
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +170 -221
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +17 -17
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +84 -77
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +20 -18
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fieldset/index.d.ts +3 -2
- package/fileupload/index.d.ts +6 -6
- package/fluid/index.d.ts +0 -2
- package/galleria/index.d.ts +10 -10
- package/icons/baseicon/index.d.ts +1 -1
- package/image/index.d.ts +7 -7
- package/inputnumber/index.d.ts +7 -7
- package/inputotp/index.d.ts +3 -3
- package/inputtext/index.d.ts +6 -6
- package/keyfilter/index.d.ts +2 -2
- package/listbox/index.d.ts +31 -19
- package/megamenu/index.d.ts +1 -1
- package/menu/index.d.ts +1 -2
- package/message/index.d.ts +3 -2
- package/metergroup/index.d.ts +6 -6
- package/multiselect/index.d.ts +18 -17
- package/orderlist/index.d.ts +13 -7
- package/organizationchart/index.d.ts +2 -2
- package/overlay/index.d.ts +5 -5
- package/package.json +224 -220
- package/paginator/index.d.ts +1 -1
- package/panel/index.d.ts +2 -2
- package/panelmenu/index.d.ts +8 -8
- package/password/index.d.ts +6 -6
- package/picklist/index.d.ts +17 -12
- package/radiobutton/index.d.ts +3 -3
- package/rating/index.d.ts +1 -1
- package/scroller/index.d.ts +7 -3
- package/select/index.d.ts +11 -11
- package/selectbutton/index.d.ts +3 -3
- package/slider/index.d.ts +2 -2
- package/speeddial/index.d.ts +9 -9
- package/splitter/index.d.ts +3 -3
- package/stepper/index.d.ts +4 -4
- package/steps/index.d.ts +3 -3
- package/table/index.d.ts +39 -31
- package/tabs/index.d.ts +23 -8
- package/tag/index.d.ts +1 -1
- package/textarea/index.d.ts +6 -6
- package/tieredmenu/index.d.ts +1 -1
- package/toast/index.d.ts +5 -5
- package/togglebutton/index.d.ts +4 -3
- package/toggleswitch/index.d.ts +1 -1
- package/tooltip/index.d.ts +11 -11
- package/tree/index.d.ts +31 -46
- package/treeselect/index.d.ts +6 -6
- package/treetable/index.d.ts +10 -10
- package/usestyle/index.d.ts +2 -2
- package/utils/index.d.ts +2 -2
@@ -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 { style } from '@primeuix/styles/scrollpanel';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${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 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 [class]=\"cx('contentContainer')\" [attr.data-pc-section]=\"'wrapper'\">\n <div #content [class]=\"cx('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]=\"cx('barX')\"\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]=\"cx('barY')\"\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 `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ScrollPanelStyle],\n host: {\n '[class]': 'cn(cx(\"root\"), styleClass)',\n 'data-pc-name': 'scrollpanel'\n }\n})\nexport class ScrollPanel extends BaseComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\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('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.el 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.el 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 { style } from '@primeuix/styles/scrollpanel';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${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 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 [class]=\"cx('contentContainer')\" [attr.data-pc-section]=\"'wrapper'\">\n <div #content [class]=\"cx('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]=\"cx('barX')\"\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]=\"cx('barY')\"\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 `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ScrollPanelStyle],\n host: {\n '[class]': 'cn(cx(\"root\"), styleClass)',\n 'data-pc-name': 'scrollpanel'\n }\n})\nexport class ScrollPanel extends BaseComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\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('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.el 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.el 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 && (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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"}
|
@@ -20,10 +20,10 @@ class ScrollTopStyle extends BaseStyle {
|
|
20
20
|
name = 'scrolltop';
|
21
21
|
theme = style;
|
22
22
|
classes = classes;
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
24
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ScrollTopStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
24
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ScrollTopStyle });
|
25
25
|
}
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ScrollTopStyle, decorators: [{
|
27
27
|
type: Injectable
|
28
28
|
}] });
|
29
29
|
/**
|
@@ -205,8 +205,8 @@ class ScrollTop extends BaseComponent {
|
|
205
205
|
}
|
206
206
|
super.ngOnDestroy();
|
207
207
|
}
|
208
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
209
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2
|
208
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ScrollTop, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
209
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: ScrollTop, isStandalone: true, selector: "p-scrollTop, p-scrolltop, p-scroll-top", inputs: { styleClass: "styleClass", style: "style", target: "target", threshold: ["threshold", "threshold", numberAttribute], icon: "icon", behavior: "behavior", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", buttonAriaLabel: "buttonAriaLabel", buttonProps: "buttonProps" }, providers: [ScrollTopStyle], queries: [{ propertyName: "iconTemplate", first: true, predicate: ["icon"] }, { propertyName: "templates", predicate: PrimeTemplate }], usesInheritance: true, ngImport: i0, template: `
|
210
210
|
<p-button
|
211
211
|
*ngIf="visible"
|
212
212
|
[@animation]="{
|
@@ -243,7 +243,7 @@ class ScrollTop extends BaseComponent {
|
|
243
243
|
])
|
244
244
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
245
245
|
}
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
246
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ScrollTop, decorators: [{
|
247
247
|
type: Component,
|
248
248
|
args: [{
|
249
249
|
selector: 'p-scrollTop, p-scrolltop, p-scroll-top',
|
@@ -319,11 +319,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
319
319
|
args: [PrimeTemplate]
|
320
320
|
}] } });
|
321
321
|
class ScrollTopModule {
|
322
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
323
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2
|
324
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2
|
322
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ScrollTopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
323
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: ScrollTopModule, imports: [ScrollTop, SharedModule], exports: [ScrollTop, SharedModule] });
|
324
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ScrollTopModule, imports: [ScrollTop, SharedModule, SharedModule] });
|
325
325
|
}
|
326
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: ScrollTopModule, decorators: [{
|
327
327
|
type: NgModule,
|
328
328
|
args: [{
|
329
329
|
imports: [ScrollTop, SharedModule],
|
@@ -89,10 +89,10 @@ class SelectStyle extends BaseStyle {
|
|
89
89
|
name = 'select';
|
90
90
|
theme = theme;
|
91
91
|
classes = classes;
|
92
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
93
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: SelectStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
93
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: SelectStyle });
|
94
94
|
}
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: SelectStyle, decorators: [{
|
96
96
|
type: Injectable
|
97
97
|
}] });
|
98
98
|
/**
|
@@ -207,8 +207,8 @@ class SelectItem extends BaseComponent {
|
|
207
207
|
onOptionMouseEnter(event) {
|
208
208
|
this.onMouseEnter.emit(event);
|
209
209
|
}
|
210
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
211
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2
|
210
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: SelectItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
211
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: SelectItem, isStandalone: true, selector: "p-selectItem", inputs: { id: "id", option: "option", selected: ["selected", "selected", booleanAttribute], focused: ["focused", "focused", booleanAttribute], label: "label", disabled: ["disabled", "disabled", booleanAttribute], visible: ["visible", "visible", booleanAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], ariaPosInset: "ariaPosInset", ariaSetSize: "ariaSetSize", template: "template", checkmark: ["checkmark", "checkmark", booleanAttribute] }, outputs: { onClick: "onClick", onMouseEnter: "onMouseEnter" }, providers: [SelectStyle], usesInheritance: true, ngImport: i0, template: `
|
212
212
|
<li
|
213
213
|
[id]="id"
|
214
214
|
(click)="onOptionClick($event)"
|
@@ -234,7 +234,7 @@ class SelectItem extends BaseComponent {
|
|
234
234
|
</li>
|
235
235
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SharedModule }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: CheckIcon, selector: "[data-p-icon=\"check\"]" }, { kind: "component", type: BlankIcon, selector: "[data-p-icon=\"blank\"]" }] });
|
236
236
|
}
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: SelectItem, decorators: [{
|
238
238
|
type: Component,
|
239
239
|
args: [{
|
240
240
|
selector: 'p-selectItem',
|
@@ -791,7 +791,7 @@ class Select extends BaseInput {
|
|
791
791
|
if (this._filterValue()) {
|
792
792
|
const _filterBy = this.filterBy || this.optionLabel;
|
793
793
|
const filteredOptions = !_filterBy && !this.filterFields && !this.optionValue
|
794
|
-
? this.options
|
794
|
+
? this.options?.filter((option) => {
|
795
795
|
if (option.label) {
|
796
796
|
return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;
|
797
797
|
}
|
@@ -803,7 +803,7 @@ class Select extends BaseInput {
|
|
803
803
|
const filtered = [];
|
804
804
|
optionGroups.forEach((group) => {
|
805
805
|
const groupChildren = this.getOptionGroupChildren(group);
|
806
|
-
const filteredItems = groupChildren.filter((item) => filteredOptions
|
806
|
+
const filteredItems = groupChildren.filter((item) => filteredOptions?.includes(item));
|
807
807
|
if (filteredItems.length > 0)
|
808
808
|
filtered.push({
|
809
809
|
...group,
|
@@ -821,8 +821,16 @@ class Select extends BaseInput {
|
|
821
821
|
// 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
|
822
822
|
const options = this.getAllVisibleAndNonVisibleOptions();
|
823
823
|
// use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option
|
824
|
-
const selectedOptionIndex = options.findIndex((option) =>
|
825
|
-
|
824
|
+
const selectedOptionIndex = options.findIndex((option) => {
|
825
|
+
const isEqual = this.isOptionValueEqualsModelValue(option);
|
826
|
+
return isEqual;
|
827
|
+
});
|
828
|
+
if (selectedOptionIndex !== -1) {
|
829
|
+
const selectedOption = options[selectedOptionIndex];
|
830
|
+
// Always show the label for selected options, even if disabled
|
831
|
+
return this.getOptionLabel(selectedOption);
|
832
|
+
}
|
833
|
+
return this.placeholder() || 'p-emptylabel';
|
826
834
|
}, ...(ngDevMode ? [{ debugName: "label" }] : []));
|
827
835
|
selectedOption;
|
828
836
|
constructor(zone, filterService) {
|
@@ -837,6 +845,14 @@ class Select extends BaseInput {
|
|
837
845
|
if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable) {
|
838
846
|
this.selectedOption = visibleOptions[selectedOptionIndex];
|
839
847
|
}
|
848
|
+
else {
|
849
|
+
// If no valid selected option found but we have a model value,
|
850
|
+
// try to find the option including disabled ones for template display
|
851
|
+
const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));
|
852
|
+
if (disabledSelectedIndex !== -1) {
|
853
|
+
this.selectedOption = visibleOptions[disabledSelectedIndex];
|
854
|
+
}
|
855
|
+
}
|
840
856
|
}
|
841
857
|
if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption)) {
|
842
858
|
this.selectedOption = null;
|
@@ -955,6 +971,10 @@ class Select extends BaseInput {
|
|
955
971
|
}
|
956
972
|
}
|
957
973
|
onOptionSelect(event, option, isHide = true, preventChange = false) {
|
974
|
+
// Check if option is disabled before proceeding
|
975
|
+
if (this.isOptionDisabled(option)) {
|
976
|
+
return;
|
977
|
+
}
|
958
978
|
if (!this.isSelected(option)) {
|
959
979
|
const value = this.getOptionValue(option);
|
960
980
|
this.updateModel(value, event);
|
@@ -983,7 +1003,8 @@ class Select extends BaseInput {
|
|
983
1003
|
return this.isOptionValueEqualsModelValue(option);
|
984
1004
|
}
|
985
1005
|
isOptionValueEqualsModelValue(option) {
|
986
|
-
|
1006
|
+
// Don't check isValidOption here since we need to match disabled options too
|
1007
|
+
return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());
|
987
1008
|
}
|
988
1009
|
ngAfterViewInit() {
|
989
1010
|
super.ngAfterViewInit();
|
@@ -1025,12 +1046,7 @@ class Select extends BaseInput {
|
|
1025
1046
|
return isEmpty(this.selectedOption);
|
1026
1047
|
}
|
1027
1048
|
isOptionDisabled(option) {
|
1028
|
-
|
1029
|
-
return false;
|
1030
|
-
}
|
1031
|
-
else {
|
1032
|
-
return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
|
1033
|
-
}
|
1049
|
+
return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : option && option.disabled !== undefined ? option.disabled : false;
|
1034
1050
|
}
|
1035
1051
|
getOptionGroupLabel(optionGroup) {
|
1036
1052
|
return this.optionGroupLabel !== undefined && this.optionGroupLabel !== null ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;
|
@@ -1325,7 +1341,7 @@ class Select extends BaseInput {
|
|
1325
1341
|
return this.isValidOption(option) && this.isSelected(option);
|
1326
1342
|
}
|
1327
1343
|
equalityKey() {
|
1328
|
-
return this.optionValue ?
|
1344
|
+
return this.optionValue ? undefined : this.dataKey;
|
1329
1345
|
}
|
1330
1346
|
findFirstFocusedOptionIndex() {
|
1331
1347
|
const selectedIndex = this.findSelectedOptionIndex();
|
@@ -1388,7 +1404,7 @@ class Select extends BaseInput {
|
|
1388
1404
|
}
|
1389
1405
|
}
|
1390
1406
|
onHomeKey(event, pressedInInputText = false) {
|
1391
|
-
if (pressedInInputText) {
|
1407
|
+
if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
|
1392
1408
|
const target = event.currentTarget;
|
1393
1409
|
if (event.shiftKey) {
|
1394
1410
|
target.setSelectionRange(0, target.value.length);
|
@@ -1405,7 +1421,7 @@ class Select extends BaseInput {
|
|
1405
1421
|
event.preventDefault();
|
1406
1422
|
}
|
1407
1423
|
onEndKey(event, pressedInInputText = false) {
|
1408
|
-
if (pressedInInputText) {
|
1424
|
+
if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {
|
1409
1425
|
const target = event.currentTarget;
|
1410
1426
|
if (event.shiftKey) {
|
1411
1427
|
target.setSelectionRange(0, target.value.length);
|
@@ -1448,14 +1464,16 @@ class Select extends BaseInput {
|
|
1448
1464
|
event.preventDefault();
|
1449
1465
|
}
|
1450
1466
|
onEscapeKey(event) {
|
1451
|
-
this.overlayVisible
|
1452
|
-
|
1453
|
-
|
1467
|
+
if (this.overlayVisible) {
|
1468
|
+
this.hide(true);
|
1469
|
+
event.preventDefault();
|
1470
|
+
event.stopPropagation();
|
1471
|
+
}
|
1454
1472
|
}
|
1455
1473
|
onTabKey(event, pressedInInputText = false) {
|
1456
1474
|
if (!pressedInInputText) {
|
1457
1475
|
if (this.overlayVisible && this.hasFocusableElements()) {
|
1458
|
-
focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay
|
1476
|
+
focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay?.nativeElement : this.firstHiddenFocusableElementOnOverlay?.nativeElement);
|
1459
1477
|
event.preventDefault();
|
1460
1478
|
}
|
1461
1479
|
else {
|
@@ -1469,7 +1487,7 @@ class Select extends BaseInput {
|
|
1469
1487
|
event.stopPropagation();
|
1470
1488
|
}
|
1471
1489
|
onFirstHiddenFocus(event) {
|
1472
|
-
const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? getFirstFocusableElement(this.overlayViewChild
|
1490
|
+
const focusableEl = event.relatedTarget === this.focusInputViewChild?.nativeElement ? getFirstFocusableElement(this.overlayViewChild?.el?.nativeElement, ':not(.p-hidden-focusable)') : this.focusInputViewChild?.nativeElement;
|
1473
1491
|
focus(focusableEl);
|
1474
1492
|
}
|
1475
1493
|
onLastHiddenFocus(event) {
|
@@ -1477,7 +1495,7 @@ class Select extends BaseInput {
|
|
1477
1495
|
focus(focusableEl);
|
1478
1496
|
}
|
1479
1497
|
hasFocusableElements() {
|
1480
|
-
return getFocusableElements(this.overlayViewChild
|
1498
|
+
return getFocusableElements(this.overlayViewChild?.overlayViewChild?.nativeElement, ':not([data-p-hidden-focusable="true"])').length > 0;
|
1481
1499
|
}
|
1482
1500
|
onBackspaceKey(event, pressedInInputText = false) {
|
1483
1501
|
if (pressedInInputText) {
|
@@ -1513,16 +1531,16 @@ class Select extends BaseInput {
|
|
1513
1531
|
return matched;
|
1514
1532
|
}
|
1515
1533
|
isOptionMatched(option) {
|
1516
|
-
return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue
|
1534
|
+
return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale));
|
1517
1535
|
}
|
1518
1536
|
onFilterInputChange(event) {
|
1519
1537
|
let value = event.target.value;
|
1520
1538
|
this._filterValue.set(value);
|
1521
1539
|
this.focusedOptionIndex.set(-1);
|
1522
1540
|
this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });
|
1523
|
-
!this.virtualScrollerDisabled && this.scroller
|
1541
|
+
!this.virtualScrollerDisabled && this.scroller?.scrollToIndex(0);
|
1524
1542
|
setTimeout(() => {
|
1525
|
-
this.overlayViewChild
|
1543
|
+
this.overlayViewChild?.alignOverlay();
|
1526
1544
|
});
|
1527
1545
|
this.cd.markForCheck();
|
1528
1546
|
}
|
@@ -1567,8 +1585,8 @@ class Select extends BaseInput {
|
|
1567
1585
|
this.updateEditableLabel();
|
1568
1586
|
this.cd.markForCheck();
|
1569
1587
|
}
|
1570
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
1571
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.1", type: Select, isStandalone: true, selector: "p-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: false, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "attr.id": "id" } }, providers: [SELECT_VALUE_ACCESSOR, SelectStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selectedItem"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "onIconTemplate", first: true, predicate: ["onicon"] }, { propertyName: "offIconTemplate", first: true, predicate: ["officon"] }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
1588
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Select, deps: [{ token: i0.NgZone }, { token: i2.FilterService }], target: i0.ɵɵFactoryTarget.Component });
|
1589
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: Select, isStandalone: true, selector: "p-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, panelStyle: { classPropertyName: "panelStyle", publicName: "panelStyle", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: false, isRequired: false, transformFunction: null }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, filterFields: { classPropertyName: "filterFields", publicName: "filterFields", isSignal: false, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, resetFilterOnHide: { classPropertyName: "resetFilterOnHide", publicName: "resetFilterOnHide", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, checkmark: { classPropertyName: "checkmark", publicName: "checkmark", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, dropdownIcon: { classPropertyName: "dropdownIcon", publicName: "dropdownIcon", isSignal: false, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, optionLabel: { classPropertyName: "optionLabel", publicName: "optionLabel", isSignal: false, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: false, isRequired: false, transformFunction: null }, optionDisabled: { classPropertyName: "optionDisabled", publicName: "optionDisabled", isSignal: false, isRequired: false, transformFunction: null }, optionGroupLabel: { classPropertyName: "optionGroupLabel", publicName: "optionGroupLabel", isSignal: false, isRequired: false, transformFunction: null }, optionGroupChildren: { classPropertyName: "optionGroupChildren", publicName: "optionGroupChildren", isSignal: false, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, emptyFilterMessage: { classPropertyName: "emptyFilterMessage", publicName: "emptyFilterMessage", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, overlayOptions: { classPropertyName: "overlayOptions", publicName: "overlayOptions", isSignal: false, isRequired: false, transformFunction: null }, ariaFilterLabel: { classPropertyName: "ariaFilterLabel", publicName: "ariaFilterLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, filterMatchMode: { classPropertyName: "filterMatchMode", publicName: "filterMatchMode", isSignal: false, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: false, isRequired: false, transformFunction: null }, tooltipPositionStyle: { classPropertyName: "tooltipPositionStyle", publicName: "tooltipPositionStyle", isSignal: false, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: false, isRequired: false, transformFunction: null }, focusOnHover: { classPropertyName: "focusOnHover", publicName: "focusOnHover", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoOptionFocus: { classPropertyName: "autoOptionFocus", publicName: "autoOptionFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocusFilter: { classPropertyName: "autofocusFilter", publicName: "autofocusFilter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterValue: { classPropertyName: "filterValue", publicName: "filterValue", isSignal: false, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: false, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onFilter: "onFilter", onFocus: "onFocus", onBlur: "onBlur", onClick: "onClick", onShow: "onShow", onHide: "onHide", onClear: "onClear", onLazyLoad: "onLazyLoad" }, host: { listeners: { "click": "onContainerClick($event)" }, properties: { "class": "cn(cx('root'), styleClass)", "attr.id": "id" } }, providers: [SELECT_VALUE_ACCESSOR, SelectStyle], queries: [{ propertyName: "itemTemplate", first: true, predicate: ["item"] }, { propertyName: "groupTemplate", first: true, predicate: ["group"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "selectedItemTemplate", first: true, predicate: ["selectedItem"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "emptyFilterTemplate", first: true, predicate: ["emptyfilter"] }, { propertyName: "emptyTemplate", first: true, predicate: ["empty"] }, { propertyName: "dropdownIconTemplate", first: true, predicate: ["dropdownicon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "onIconTemplate", first: true, predicate: ["onicon"] }, { propertyName: "offIconTemplate", first: true, predicate: ["officon"] }, { propertyName: "cancelIconTemplate", first: true, predicate: ["cancelicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "focusInputViewChild", first: true, predicate: ["focusInput"], descendants: true }, { propertyName: "editableInputViewChild", first: true, predicate: ["editableInput"], descendants: true }, { propertyName: "itemsViewChild", first: true, predicate: ["items"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "overlayViewChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "firstHiddenFocusableElementOnOverlay", first: true, predicate: ["firstHiddenFocusableEl"], descendants: true }, { propertyName: "lastHiddenFocusableElementOnOverlay", first: true, predicate: ["lastHiddenFocusableEl"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
1572
1590
|
<span
|
1573
1591
|
#focusInput
|
1574
1592
|
[class]="cx('label')"
|
@@ -1763,7 +1781,7 @@ class Select extends BaseInput {
|
|
1763
1781
|
</li>
|
1764
1782
|
<li *ngIf="!filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
1765
1783
|
@if (!emptyTemplate && !_emptyTemplate) {
|
1766
|
-
{{ emptyMessageLabel }}
|
1784
|
+
{{ emptyMessageLabel || emptyFilterMessageLabel }}
|
1767
1785
|
} @else {
|
1768
1786
|
<ng-container #empty *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-container>
|
1769
1787
|
}
|
@@ -1786,7 +1804,7 @@ class Select extends BaseInput {
|
|
1786
1804
|
</p-overlay>
|
1787
1805
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SelectItem, selector: "p-selectItem", inputs: ["id", "option", "selected", "focused", "label", "disabled", "visible", "itemSize", "ariaPosInset", "ariaSetSize", "template", "checkmark"], outputs: ["onClick", "onMouseEnter"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["styleClass"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
1788
1806
|
}
|
1789
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
1807
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Select, decorators: [{
|
1790
1808
|
type: Component,
|
1791
1809
|
args: [{
|
1792
1810
|
selector: 'p-select',
|
@@ -1987,7 +2005,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
1987
2005
|
</li>
|
1988
2006
|
<li *ngIf="!filterValue && isEmpty()" [class]="cx('emptyMessage')" [ngStyle]="{ height: scrollerOptions.itemSize + 'px' }" role="option">
|
1989
2007
|
@if (!emptyTemplate && !_emptyTemplate) {
|
1990
|
-
{{ emptyMessageLabel }}
|
2008
|
+
{{ emptyMessageLabel || emptyFilterMessageLabel }}
|
1991
2009
|
} @else {
|
1992
2010
|
<ng-container #empty *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-container>
|
1993
2011
|
}
|
@@ -2230,11 +2248,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
2230
2248
|
args: [PrimeTemplate]
|
2231
2249
|
}] } });
|
2232
2250
|
class SelectModule {
|
2233
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
2234
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2
|
2235
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2
|
2251
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
2252
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: SelectModule, imports: [Select, SharedModule], exports: [Select, SharedModule] });
|
2253
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: SelectModule, imports: [Select, SharedModule, SharedModule] });
|
2236
2254
|
}
|
2237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
2255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: SelectModule, decorators: [{
|
2238
2256
|
type: NgModule,
|
2239
2257
|
args: [{
|
2240
2258
|
imports: [Select, SharedModule],
|