primevue 4.2.5 → 4.3.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/LICENSE.md +1 -1
- package/accordion/Accordion.vue +0 -8
- package/accordion/index.mjs +1 -9
- package/accordion/index.mjs.map +1 -1
- package/accordion/style/index.mjs +2 -5
- package/accordion/style/index.mjs.map +1 -1
- package/accordioncontent/index.mjs +1 -1
- package/accordionheader/AccordionHeader.vue +2 -2
- package/accordionheader/index.mjs +4 -4
- package/accordionheader/index.mjs.map +1 -1
- package/accordionpanel/index.mjs +1 -1
- package/animateonscroll/index.d.ts +1 -1
- package/animateonscroll/index.mjs +4 -4
- package/animateonscroll/index.mjs.map +1 -1
- package/animateonscroll/style/index.d.ts +1 -1
- package/autocomplete/AutoComplete.vue +90 -23
- package/autocomplete/index.d.ts +19 -2
- package/autocomplete/index.mjs +127 -55
- package/autocomplete/index.mjs.map +1 -1
- package/autocomplete/style/index.mjs +15 -19
- package/autocomplete/style/index.mjs.map +1 -1
- package/avatar/index.mjs +1 -1
- package/avatar/style/index.mjs +4 -7
- package/avatar/style/index.mjs.map +1 -1
- package/avatargroup/index.mjs +1 -1
- package/badge/index.mjs +1 -1
- package/badge/style/index.mjs +6 -9
- package/badge/style/index.mjs.map +1 -1
- package/badgedirective/index.mjs +6 -6
- package/badgedirective/index.mjs.map +1 -1
- package/blockui/BlockUI.vue +2 -1
- package/blockui/index.mjs +3 -2
- package/blockui/index.mjs.map +1 -1
- package/blockui/style/index.mjs +2 -5
- package/blockui/style/index.mjs.map +1 -1
- package/breadcrumb/index.mjs +1 -1
- package/breadcrumb/style/index.mjs +4 -7
- package/breadcrumb/style/index.mjs.map +1 -1
- package/button/Button.vue +1 -1
- package/button/index.d.ts +11 -1
- package/button/index.mjs +5 -4
- package/button/index.mjs.map +1 -1
- package/button/style/index.mjs +9 -12
- package/button/style/index.mjs.map +1 -1
- package/buttongroup/index.mjs +1 -1
- package/buttongroup/style/index.mjs +2 -5
- package/buttongroup/style/index.mjs.map +1 -1
- package/card/index.mjs +1 -1
- package/card/style/index.mjs +2 -5
- package/card/style/index.mjs.map +1 -1
- package/carousel/index.mjs +2 -2
- package/carousel/index.mjs.map +1 -1
- package/carousel/style/index.mjs +19 -22
- package/carousel/style/index.mjs.map +1 -1
- package/cascadeselect/CascadeSelect.vue +16 -17
- package/cascadeselect/CascadeSelectSub.vue +1 -1
- package/cascadeselect/index.d.ts +2 -2
- package/cascadeselect/index.mjs +26 -28
- package/cascadeselect/index.mjs.map +1 -1
- package/cascadeselect/style/index.mjs +17 -19
- package/cascadeselect/style/index.mjs.map +1 -1
- package/chart/index.mjs +4 -4
- package/checkbox/index.d.ts +2 -2
- package/checkbox/index.mjs +2 -2
- package/checkbox/index.mjs.map +1 -1
- package/checkbox/style/index.mjs +5 -8
- package/checkbox/style/index.mjs.map +1 -1
- package/checkboxgroup/index.mjs +1 -1
- package/checkboxgroup/style/index.mjs +2 -5
- package/checkboxgroup/style/index.mjs.map +1 -1
- package/chip/index.mjs +1 -1
- package/chip/style/index.mjs +2 -5
- package/chip/style/index.mjs.map +1 -1
- package/colorpicker/ColorPicker.vue +2 -2
- package/colorpicker/index.mjs +7 -7
- package/colorpicker/index.mjs.map +1 -1
- package/colorpicker/style/index.mjs +7 -10
- package/colorpicker/style/index.mjs.map +1 -1
- package/column/BaseColumn.vue +1 -1
- package/column/index.d.ts +2 -2
- package/column/index.mjs +1 -1
- package/column/index.mjs.map +1 -1
- package/columngroup/index.mjs.map +1 -1
- package/confirmdialog/index.d.ts +4 -0
- package/confirmdialog/index.mjs +1 -1
- package/confirmdialog/index.mjs.map +1 -1
- package/confirmdialog/style/index.mjs +2 -5
- package/confirmdialog/style/index.mjs.map +1 -1
- package/confirmpopup/ConfirmPopup.vue +2 -2
- package/confirmpopup/index.mjs +4 -4
- package/confirmpopup/index.mjs.map +1 -1
- package/confirmpopup/style/index.mjs +2 -5
- package/confirmpopup/style/index.mjs.map +1 -1
- package/contextmenu/ContextMenu.vue +6 -12
- package/contextmenu/index.mjs +9 -15
- package/contextmenu/index.mjs.map +1 -1
- package/contextmenu/style/index.mjs +7 -10
- package/contextmenu/style/index.mjs.map +1 -1
- package/datatable/BodyCell.vue +24 -14
- package/datatable/BodyRow.vue +0 -1
- package/datatable/ColumnFilter.vue +10 -16
- package/datatable/DataTable.vue +6 -6
- package/datatable/FilterHeaderCell.vue +189 -0
- package/datatable/FooterCell.vue +2 -2
- package/datatable/HeaderCell.vue +4 -4
- package/datatable/TableBody.vue +3 -10
- package/datatable/TableHeader.vue +23 -50
- package/datatable/index.d.ts +89 -39
- package/datatable/index.mjs +444 -234
- package/datatable/index.mjs.map +1 -1
- package/datatable/style/index.mjs +32 -36
- package/datatable/style/index.mjs.map +1 -1
- package/dataview/index.mjs +2 -2
- package/dataview/index.mjs.map +1 -1
- package/dataview/style/index.mjs +6 -9
- package/dataview/style/index.mjs.map +1 -1
- package/datepicker/BaseDatePicker.vue +0 -4
- package/datepicker/DatePicker.vue +46 -20
- package/datepicker/index.d.ts +2 -6
- package/datepicker/index.mjs +78 -52
- package/datepicker/index.mjs.map +1 -1
- package/datepicker/style/index.mjs +26 -28
- package/datepicker/style/index.mjs.map +1 -1
- package/deferredcontent/index.mjs +1 -1
- package/dialog/Dialog.vue +3 -11
- package/dialog/index.d.ts +1 -1
- package/dialog/index.mjs +7 -14
- package/dialog/index.mjs.map +1 -1
- package/dialog/style/index.mjs +10 -14
- package/dialog/style/index.mjs.map +1 -1
- package/divider/index.mjs +1 -1
- package/divider/style/index.mjs +6 -10
- package/divider/style/index.mjs.map +1 -1
- package/dock/DockSub.vue +5 -13
- package/dock/index.mjs +6 -14
- package/dock/index.mjs.map +1 -1
- package/dock/style/index.mjs +9 -12
- package/dock/style/index.mjs.map +1 -1
- package/drawer/Drawer.vue +7 -4
- package/drawer/index.d.ts +4 -0
- package/drawer/index.mjs +7 -5
- package/drawer/index.mjs.map +1 -1
- package/drawer/style/index.mjs +10 -13
- package/drawer/style/index.mjs.map +1 -1
- package/dynamicdialog/DynamicDialog.vue +5 -5
- package/dynamicdialog/index.mjs +8 -6
- package/dynamicdialog/index.mjs.map +1 -1
- package/editor/Editor.vue +9 -11
- package/editor/index.d.ts +0 -15
- package/editor/index.mjs +16 -16
- package/editor/index.mjs.map +1 -1
- package/editor/style/index.mjs +4 -7
- package/editor/style/index.mjs.map +1 -1
- package/fieldset/Fieldset.vue +4 -12
- package/fieldset/index.mjs +9 -17
- package/fieldset/index.mjs.map +1 -1
- package/fieldset/style/index.mjs +4 -7
- package/fieldset/style/index.mjs.map +1 -1
- package/fileupload/FileUpload.vue +9 -7
- package/fileupload/index.d.ts +3 -3
- package/fileupload/index.mjs +12 -10
- package/fileupload/index.mjs.map +1 -1
- package/fileupload/style/index.mjs +4 -7
- package/fileupload/style/index.mjs.map +1 -1
- package/floatlabel/index.mjs +1 -1
- package/floatlabel/style/index.mjs +4 -8
- package/floatlabel/style/index.mjs.map +1 -1
- package/fluid/index.mjs +1 -1
- package/focustrap/index.mjs +4 -4
- package/focustrap/index.mjs.map +1 -1
- package/galleria/Galleria.vue +2 -1
- package/galleria/GalleriaContent.vue +3 -11
- package/galleria/GalleriaThumbnails.vue +15 -8
- package/galleria/index.mjs +28 -30
- package/galleria/index.mjs.map +1 -1
- package/galleria/style/index.mjs +23 -26
- package/galleria/style/index.mjs.map +1 -1
- package/iconfield/index.mjs +1 -1
- package/iconfield/style/index.mjs +2 -5
- package/iconfield/style/index.mjs.map +1 -1
- package/iftalabel/index.mjs +1 -1
- package/iftalabel/style/index.mjs +2 -5
- package/iftalabel/style/index.mjs.map +1 -1
- package/image/Image.vue +2 -1
- package/image/index.d.ts +4 -0
- package/image/index.mjs +6 -5
- package/image/index.mjs.map +1 -1
- package/image/style/index.mjs +8 -11
- package/image/style/index.mjs.map +1 -1
- package/imagecompare/index.mjs +1 -1
- package/imagecompare/style/index.mjs +2 -5
- package/imagecompare/style/index.mjs.map +1 -1
- package/index.d.ts +3 -0
- package/index.mjs +1 -0
- package/index.mjs.map +1 -1
- package/inlinemessage/index.mjs +1 -1
- package/inlinemessage/style/index.mjs +7 -10
- package/inlinemessage/style/index.mjs.map +1 -1
- package/inplace/index.mjs +4 -4
- package/inplace/style/index.mjs +4 -7
- package/inplace/style/index.mjs.map +1 -1
- package/inputchips/InputChips.vue +2 -10
- package/inputchips/index.mjs +6 -14
- package/inputchips/index.mjs.map +1 -1
- package/inputchips/style/index.mjs +11 -14
- package/inputchips/style/index.mjs.map +1 -1
- package/inputgroup/index.mjs +1 -1
- package/inputgroup/style/index.mjs +2 -5
- package/inputgroup/style/index.mjs.map +1 -1
- package/inputgroupaddon/index.mjs +1 -1
- package/inputicon/index.mjs +1 -1
- package/inputmask/InputMask.vue +26 -17
- package/inputmask/index.d.ts +2 -2
- package/inputmask/index.mjs +28 -17
- package/inputmask/index.mjs.map +1 -1
- package/inputnumber/InputNumber.vue +17 -6
- package/inputnumber/index.d.ts +4 -4
- package/inputnumber/index.mjs +20 -12
- package/inputnumber/index.mjs.map +1 -1
- package/inputnumber/style/index.mjs +12 -14
- package/inputnumber/style/index.mjs.map +1 -1
- package/inputotp/index.d.ts +23 -8
- package/inputotp/index.mjs +1 -1
- package/inputotp/style/index.mjs +2 -5
- package/inputotp/style/index.mjs.map +1 -1
- package/inputtext/InputText.vue +1 -1
- package/inputtext/index.d.ts +1 -1
- package/inputtext/index.mjs +3 -2
- package/inputtext/index.mjs.map +1 -1
- package/inputtext/style/index.mjs +5 -8
- package/inputtext/style/index.mjs.map +1 -1
- package/keyfilter/index.mjs +8 -9
- package/keyfilter/index.mjs.map +1 -1
- package/knob/index.mjs +3 -3
- package/knob/index.mjs.map +1 -1
- package/knob/style/index.mjs +5 -8
- package/knob/style/index.mjs.map +1 -1
- package/listbox/Listbox.vue +7 -13
- package/listbox/index.mjs +10 -16
- package/listbox/index.mjs.map +1 -1
- package/listbox/style/index.mjs +11 -14
- package/listbox/style/index.mjs.map +1 -1
- package/megamenu/MegaMenu.vue +9 -15
- package/megamenu/index.mjs +12 -18
- package/megamenu/index.mjs.map +1 -1
- package/megamenu/style/index.mjs +15 -18
- package/megamenu/style/index.mjs.map +1 -1
- package/menu/Menu.vue +9 -17
- package/menu/index.d.ts +10 -0
- package/menu/index.mjs +10 -17
- package/menu/index.mjs.map +1 -1
- package/menu/style/index.mjs +6 -9
- package/menu/style/index.mjs.map +1 -1
- package/menubar/Menubar.vue +10 -16
- package/menubar/index.mjs +14 -20
- package/menubar/index.mjs.map +1 -1
- package/menubar/style/index.mjs +10 -13
- package/menubar/style/index.mjs.map +1 -1
- package/message/index.mjs +4 -4
- package/message/style/index.mjs +4 -7
- package/message/style/index.mjs.map +1 -1
- package/metergroup/index.mjs +1 -1
- package/metergroup/style/index.mjs +6 -9
- package/metergroup/style/index.mjs.map +1 -1
- package/multiselect/MultiSelect.vue +23 -18
- package/multiselect/index.d.ts +12 -6
- package/multiselect/index.mjs +32 -28
- package/multiselect/index.mjs.map +1 -1
- package/multiselect/style/index.mjs +17 -20
- package/multiselect/style/index.mjs.map +1 -1
- package/orderlist/OrderList.vue +1 -10
- package/orderlist/index.mjs +7 -15
- package/orderlist/index.mjs.map +1 -1
- package/orderlist/style/index.mjs +2 -5
- package/orderlist/style/index.mjs.map +1 -1
- package/organizationchart/index.mjs +4 -4
- package/organizationchart/style/index.mjs +9 -12
- package/organizationchart/style/index.mjs.map +1 -1
- package/overlaybadge/index.mjs +1 -1
- package/overlaybadge/style/index.mjs +2 -5
- package/overlaybadge/style/index.mjs.map +1 -1
- package/package.json +6 -5
- package/paginator/index.mjs +2 -2
- package/paginator/index.mjs.map +1 -1
- package/paginator/style/index.mjs +18 -21
- package/paginator/style/index.mjs.map +1 -1
- package/panel/Panel.vue +5 -13
- package/panel/index.mjs +7 -15
- package/panel/index.mjs.map +1 -1
- package/panel/style/index.mjs +4 -7
- package/panel/style/index.mjs.map +1 -1
- package/panelmenu/PanelMenu.vue +2 -12
- package/panelmenu/index.mjs +8 -18
- package/panelmenu/index.mjs.map +1 -1
- package/panelmenu/style/index.mjs +8 -11
- package/panelmenu/style/index.mjs.map +1 -1
- package/passthrough/index.mjs +3 -3
- package/password/Password.vue +3 -10
- package/password/index.d.ts +2 -2
- package/password/index.mjs +9 -16
- package/password/index.mjs.map +1 -1
- package/password/style/index.mjs +8 -11
- package/password/style/index.mjs.map +1 -1
- package/picklist/PickList.vue +2 -9
- package/picklist/index.mjs +8 -14
- package/picklist/index.mjs.map +1 -1
- package/picklist/style/index.mjs +2 -5
- package/picklist/style/index.mjs.map +1 -1
- package/popover/Popover.vue +2 -2
- package/popover/index.mjs +4 -4
- package/popover/index.mjs.map +1 -1
- package/popover/style/index.mjs +2 -5
- package/popover/style/index.mjs.map +1 -1
- package/portal/index.mjs +1 -1
- package/progressbar/index.mjs +1 -1
- package/progressbar/style/index.mjs +4 -7
- package/progressbar/style/index.mjs.map +1 -1
- package/progressspinner/index.mjs +1 -1
- package/progressspinner/style/index.mjs +2 -5
- package/progressspinner/style/index.mjs.map +1 -1
- package/radiobutton/index.d.ts +2 -2
- package/radiobutton/index.mjs +1 -1
- package/radiobutton/index.mjs.map +1 -1
- package/radiobutton/style/index.mjs +5 -8
- package/radiobutton/style/index.mjs.map +1 -1
- package/radiobuttongroup/index.mjs +1 -1
- package/radiobuttongroup/style/index.mjs +2 -5
- package/radiobuttongroup/style/index.mjs.map +1 -1
- package/rating/Rating.vue +6 -11
- package/rating/index.mjs +7 -12
- package/rating/index.mjs.map +1 -1
- package/rating/style/index.mjs +11 -14
- package/rating/style/index.mjs.map +1 -1
- package/ripple/index.mjs +16 -13
- package/ripple/index.mjs.map +1 -1
- package/ripple/style/index.mjs +2 -5
- package/ripple/style/index.mjs.map +1 -1
- package/row/index.mjs.map +1 -1
- package/scrollpanel/ScrollPanel.vue +1 -10
- package/scrollpanel/index.mjs +3 -11
- package/scrollpanel/index.mjs.map +1 -1
- package/scrollpanel/style/index.mjs +2 -5
- package/scrollpanel/style/index.mjs.map +1 -1
- package/scrolltop/index.mjs +1 -1
- package/scrolltop/style/index.mjs +4 -7
- package/scrolltop/style/index.mjs.map +1 -1
- package/select/Select.vue +55 -26
- package/select/index.d.ts +9 -5
- package/select/index.mjs +89 -63
- package/select/index.mjs.map +1 -1
- package/select/style/index.mjs +15 -18
- package/select/style/index.mjs.map +1 -1
- package/selectbutton/index.mjs +3 -3
- package/selectbutton/style/index.mjs +4 -7
- package/selectbutton/style/index.mjs.map +1 -1
- package/skeleton/index.mjs +1 -1
- package/skeleton/style/index.mjs +4 -7
- package/skeleton/style/index.mjs.map +1 -1
- package/slider/Slider.vue +1 -1
- package/slider/index.mjs +3 -3
- package/slider/index.mjs.map +1 -1
- package/slider/style/index.mjs +5 -8
- package/slider/style/index.mjs.map +1 -1
- package/speeddial/SpeedDial.vue +8 -15
- package/speeddial/index.d.ts +1 -1
- package/speeddial/index.mjs +13 -19
- package/speeddial/index.mjs.map +1 -1
- package/speeddial/style/index.mjs +15 -18
- package/speeddial/style/index.mjs.map +1 -1
- package/splitbutton/SplitButton.vue +2 -11
- package/splitbutton/index.d.ts +2 -2
- package/splitbutton/index.mjs +3 -11
- package/splitbutton/index.mjs.map +1 -1
- package/splitbutton/style/index.mjs +5 -8
- package/splitbutton/style/index.mjs.map +1 -1
- package/splitter/Splitter.vue +31 -14
- package/splitter/index.d.ts +1 -1
- package/splitter/index.mjs +28 -14
- package/splitter/index.mjs.map +1 -1
- package/splitter/style/index.mjs +6 -9
- package/splitter/style/index.mjs.map +1 -1
- package/splitterpanel/index.mjs +1 -1
- package/step/index.mjs +1 -1
- package/step/index.mjs.map +1 -1
- package/stepitem/index.mjs +1 -1
- package/stepitem/index.mjs.map +1 -1
- package/steplist/index.mjs +1 -1
- package/steppanel/index.mjs +1 -1
- package/steppanel/index.mjs.map +1 -1
- package/steppanels/index.mjs +1 -1
- package/stepper/Stepper.vue +0 -8
- package/stepper/index.mjs +1 -9
- package/stepper/index.mjs.map +1 -1
- package/stepper/style/index.mjs +4 -7
- package/stepper/style/index.mjs.map +1 -1
- package/steps/index.mjs +2 -2
- package/steps/style/index.mjs +8 -11
- package/steps/style/index.mjs.map +1 -1
- package/styleclass/index.mjs +1 -1
- package/tab/Tab.vue +3 -3
- package/tab/index.mjs +4 -4
- package/tab/index.mjs.map +1 -1
- package/tablist/TabList.vue +2 -2
- package/tablist/index.mjs +4 -4
- package/tablist/index.mjs.map +1 -1
- package/tabmenu/index.mjs +2 -2
- package/tabmenu/index.mjs.map +1 -1
- package/tabmenu/style/index.mjs +6 -9
- package/tabmenu/style/index.mjs.map +1 -1
- package/tabpanel/index.mjs +1 -1
- package/tabpanel/index.mjs.map +1 -1
- package/tabpanels/index.mjs +1 -1
- package/tabs/Tabs.vue +0 -8
- package/tabs/index.mjs +1 -9
- package/tabs/index.mjs.map +1 -1
- package/tabs/style/index.mjs +4 -7
- package/tabs/style/index.mjs.map +1 -1
- package/tabview/TabView.vue +3 -9
- package/tabview/index.mjs +7 -13
- package/tabview/index.mjs.map +1 -1
- package/tabview/style/index.mjs +11 -14
- package/tabview/style/index.mjs.map +1 -1
- package/tag/index.mjs +1 -1
- package/tag/style/index.mjs +4 -7
- package/tag/style/index.mjs.map +1 -1
- package/terminal/index.mjs +1 -1
- package/terminal/style/index.mjs +2 -5
- package/terminal/style/index.mjs.map +1 -1
- package/textarea/Textarea.vue +5 -2
- package/textarea/index.d.ts +4 -4
- package/textarea/index.mjs +7 -3
- package/textarea/index.mjs.map +1 -1
- package/textarea/style/index.mjs +5 -8
- package/textarea/style/index.mjs.map +1 -1
- package/tieredmenu/TieredMenu.vue +8 -13
- package/tieredmenu/index.mjs +11 -16
- package/tieredmenu/index.mjs.map +1 -1
- package/tieredmenu/style/index.mjs +11 -14
- package/tieredmenu/style/index.mjs.map +1 -1
- package/timeline/index.d.ts +4 -0
- package/timeline/index.mjs +1 -1
- package/timeline/style/index.mjs +4 -7
- package/timeline/style/index.mjs.map +1 -1
- package/toast/BaseToast.vue +12 -0
- package/toast/ToastMessage.vue +38 -4
- package/toast/index.d.ts +12 -0
- package/toast/index.mjs +79 -15
- package/toast/index.mjs.map +1 -1
- package/toast/style/index.mjs +12 -15
- package/toast/style/index.mjs.map +1 -1
- package/togglebutton/ToggleButton.vue +1 -0
- package/togglebutton/index.mjs +3 -2
- package/togglebutton/index.mjs.map +1 -1
- package/togglebutton/style/index.mjs +5 -8
- package/togglebutton/style/index.mjs.map +1 -1
- package/toggleswitch/index.mjs +1 -1
- package/toggleswitch/index.mjs.map +1 -1
- package/toggleswitch/style/index.mjs +5 -8
- package/toggleswitch/style/index.mjs.map +1 -1
- package/toolbar/index.mjs +1 -1
- package/toolbar/style/index.mjs +2 -5
- package/toolbar/style/index.mjs.map +1 -1
- package/tooltip/index.mjs +62 -14
- package/tooltip/index.mjs.map +1 -1
- package/tooltip/style/index.mjs +2 -5
- package/tooltip/style/index.mjs.map +1 -1
- package/tree/Tree.vue +2 -2
- package/tree/index.mjs +16 -16
- package/tree/index.mjs.map +1 -1
- package/tree/style/index.mjs +8 -11
- package/tree/style/index.mjs.map +1 -1
- package/treeselect/TreeSelect.vue +21 -26
- package/treeselect/index.d.ts +2 -2
- package/treeselect/index.mjs +56 -72
- package/treeselect/index.mjs.map +1 -1
- package/treeselect/style/index.mjs +10 -13
- package/treeselect/style/index.mjs.map +1 -1
- package/treetable/BodyCell.vue +8 -5
- package/treetable/FooterCell.vue +2 -2
- package/treetable/HeaderCell.vue +4 -4
- package/treetable/index.d.ts +29 -0
- package/treetable/index.mjs +42 -35
- package/treetable/index.mjs.map +1 -1
- package/treetable/style/index.mjs +22 -25
- package/treetable/style/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -1
- package/utils/index.d.ts +9 -0
- package/utils/index.mjs +16 -0
- package/utils/index.mjs.map +1 -0
- package/utils/package.json +5 -0
- package/virtualscroller/VirtualScroller.vue +16 -10
- package/virtualscroller/index.mjs +21 -15
- package/virtualscroller/index.mjs.map +1 -1
- package/virtualscroller/style/index.mjs +2 -5
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/scrollpanel/BaseScrollPanel.vue","../../src/scrollpanel/ScrollPanel.vue","../../src/scrollpanel/ScrollPanel.vue?vue&type=template&id=917733de&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ScrollPanelStyle from 'primevue/scrollpanel/style';\n\nexport default {\n name: 'BaseScrollPanel',\n extends: BaseComponent,\n props: {\n step: {\n type: Number,\n default: 5\n }\n },\n style: ScrollPanelStyle,\n provide() {\n return {\n $pcScrollPanel: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('contentContainer')\" v-bind=\"ptm('contentContainer')\">\n <div ref=\"content\" :id=\"contentId\" :class=\"cx('content')\" @scroll=\"onScroll\" @mouseenter=\"moveBar\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n </div>\n <div\n ref=\"xBar\"\n :class=\"cx('barx')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n aria-orientation=\"horizontal\"\n :aria-controls=\"contentId\"\n :aria-valuenow=\"lastScrollLeft\"\n @mousedown=\"onXBarMouseDown\"\n @keydown=\"onKeyDown($event)\"\n @keyup=\"onKeyUp\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"ptm('barx')\"\n data-pc-group-section=\"bar\"\n ></div>\n <div\n ref=\"yBar\"\n :class=\"cx('bary')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n aria-orientation=\"vertical\"\n :aria-controls=\"contentId\"\n :aria-valuenow=\"lastScrollTop\"\n @mousedown=\"onYBarMouseDown\"\n @keydown=\"onKeyDown($event)\"\n @keyup=\"onKeyUp\"\n @focus=\"onFocus\"\n v-bind=\"ptm('bary')\"\n data-pc-group-section=\"bar\"\n ></div>\n </div>\n</template>\n\n<script>\nimport { addClass, getHeight, removeClass } from '@primeuix/utils/dom';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport BaseScrollPanel from './BaseScrollPanel.vue';\n\nexport default {\n name: 'ScrollPanel',\n extends: BaseScrollPanel,\n inheritAttrs: false,\n initialized: false,\n documentResizeListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n frame: null,\n scrollXRatio: null,\n scrollYRatio: null,\n isXBarClicked: false,\n isYBarClicked: false,\n lastPageX: null,\n lastPageY: null,\n timer: null,\n outsideClickListener: null,\n data() {\n return {\n id: this.$attrs.id,\n orientation: 'vertical',\n lastScrollTop: 0,\n lastScrollLeft: 0\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\n if (this.$el.offsetParent) {\n this.initialize();\n }\n },\n updated() {\n if (!this.initialized && this.$el.offsetParent) {\n this.initialize();\n }\n },\n beforeUnmount() {\n this.unbindDocumentResizeListener();\n\n if (this.frame) {\n window.cancelAnimationFrame(this.frame);\n }\n },\n methods: {\n initialize() {\n this.moveBar();\n this.bindDocumentResizeListener();\n this.calculateContainerHeight();\n },\n calculateContainerHeight() {\n let containerStyles = getComputedStyle(this.$el),\n xBarStyles = getComputedStyle(this.$refs.xBar),\n pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles['height'], 10);\n\n if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {\n if (this.$refs.content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n this.$el.style.height = containerStyles['max-height'];\n } else {\n this.$el.style.height =\n this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n },\n moveBar() {\n if (this.$refs.content) {\n /* horizontal scroll */\n let totalWidth = this.$refs.content.scrollWidth;\n let ownWidth = this.$refs.content.clientWidth;\n let bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1;\n\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n let totalHeight = this.$refs.content.scrollHeight;\n let ownHeight = this.$refs.content.clientHeight;\n let right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1;\n\n this.scrollYRatio = ownHeight / totalHeight;\n\n this.frame = this.requestAnimationFrame(() => {\n if (this.$refs.xBar) {\n if (this.scrollXRatio >= 1) {\n this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-hidden');\n } else {\n this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-hidden');\n\n this.$refs.xBar.style.cssText = 'width:' + Math.max(this.scrollXRatio * 100, 10) + '%; inset-inline-start:' + (Math.abs(this.$refs.content.scrollLeft) / totalWidth) * 100 + '%;bottom:' + bottom + 'px;';\n }\n }\n\n if (this.$refs.yBar) {\n if (this.scrollYRatio >= 1) {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-hidden');\n } else {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-hidden');\n\n this.$refs.yBar.style.cssText =\n 'height:' + Math.max(this.scrollYRatio * 100, 10) + '%; top: calc(' + (this.$refs.content.scrollTop / totalHeight) * 100 + '% - ' + this.$refs.xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n }\n });\n }\n },\n onYBarMouseDown(e) {\n this.isYBarClicked = true;\n this.$refs.yBar.focus();\n this.lastPageY = e.pageY;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onXBarMouseDown(e) {\n this.isXBarClicked = true;\n this.$refs.xBar.focus();\n this.lastPageX = e.pageX;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\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 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 onKeyUp() {\n this.clearTimer();\n },\n repeat(bar, step) {\n this.$refs.content[bar] += step;\n this.moveBar();\n },\n setTimer(bar, step) {\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(bar, step);\n }, 40);\n },\n clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n },\n onDocumentMouseMove(e) {\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 onMouseMoveForXBar(e) {\n let deltaX = e.pageX - this.lastPageX;\n\n this.lastPageX = e.pageX;\n\n this.frame = this.requestAnimationFrame(() => {\n this.$refs.content.scrollLeft += deltaX / this.scrollXRatio;\n });\n },\n onMouseMoveForYBar(e) {\n let deltaY = e.pageY - this.lastPageY;\n\n this.lastPageY = e.pageY;\n\n this.frame = this.requestAnimationFrame(() => {\n this.$refs.content.scrollTop += deltaY / this.scrollYRatio;\n });\n },\n onFocus(event) {\n if (this.$refs.xBar.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.$refs.yBar.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n },\n onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n },\n onDocumentMouseUp() {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n this.$refs.xBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(document.body, 'p-scrollpanel-grabbed');\n\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n },\n requestAnimationFrame(f) {\n let frame = window.requestAnimationFrame || this.timeoutFrame;\n\n return frame(f);\n },\n refresh() {\n this.moveBar();\n },\n scrollTop(scrollTop) {\n let scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight;\n\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n this.$refs.content.scrollTop = scrollTop;\n },\n timeoutFrame(fn) {\n setTimeout(fn, 0);\n },\n bindDocumentMouseListeners() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = (e) => {\n this.onDocumentMouseMove(e);\n };\n\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = (e) => {\n this.onDocumentMouseUp(e);\n };\n\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseListeners() {\n if (this.documentMouseMoveListener) {\n 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 bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.moveBar();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n },\n computed: {\n contentId() {\n return this.id + '_content';\n }\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('contentContainer')\" v-bind=\"ptm('contentContainer')\">\n <div ref=\"content\" :id=\"contentId\" :class=\"cx('content')\" @scroll=\"onScroll\" @mouseenter=\"moveBar\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n </div>\n <div\n ref=\"xBar\"\n :class=\"cx('barx')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n aria-orientation=\"horizontal\"\n :aria-controls=\"contentId\"\n :aria-valuenow=\"lastScrollLeft\"\n @mousedown=\"onXBarMouseDown\"\n @keydown=\"onKeyDown($event)\"\n @keyup=\"onKeyUp\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"ptm('barx')\"\n data-pc-group-section=\"bar\"\n ></div>\n <div\n ref=\"yBar\"\n :class=\"cx('bary')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n aria-orientation=\"vertical\"\n :aria-controls=\"contentId\"\n :aria-valuenow=\"lastScrollTop\"\n @mousedown=\"onYBarMouseDown\"\n @keydown=\"onKeyDown($event)\"\n @keyup=\"onKeyUp\"\n @focus=\"onFocus\"\n v-bind=\"ptm('bary')\"\n data-pc-group-section=\"bar\"\n ></div>\n </div>\n</template>\n\n<script>\nimport { addClass, getHeight, removeClass } from '@primeuix/utils/dom';\nimport { UniqueComponentId } from '@primevue/core/utils';\nimport BaseScrollPanel from './BaseScrollPanel.vue';\n\nexport default {\n name: 'ScrollPanel',\n extends: BaseScrollPanel,\n inheritAttrs: false,\n initialized: false,\n documentResizeListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n frame: null,\n scrollXRatio: null,\n scrollYRatio: null,\n isXBarClicked: false,\n isYBarClicked: false,\n lastPageX: null,\n lastPageY: null,\n timer: null,\n outsideClickListener: null,\n data() {\n return {\n id: this.$attrs.id,\n orientation: 'vertical',\n lastScrollTop: 0,\n lastScrollLeft: 0\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\n if (this.$el.offsetParent) {\n this.initialize();\n }\n },\n updated() {\n if (!this.initialized && this.$el.offsetParent) {\n this.initialize();\n }\n },\n beforeUnmount() {\n this.unbindDocumentResizeListener();\n\n if (this.frame) {\n window.cancelAnimationFrame(this.frame);\n }\n },\n methods: {\n initialize() {\n this.moveBar();\n this.bindDocumentResizeListener();\n this.calculateContainerHeight();\n },\n calculateContainerHeight() {\n let containerStyles = getComputedStyle(this.$el),\n xBarStyles = getComputedStyle(this.$refs.xBar),\n pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles['height'], 10);\n\n if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {\n if (this.$refs.content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n this.$el.style.height = containerStyles['max-height'];\n } else {\n this.$el.style.height =\n this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n },\n moveBar() {\n if (this.$refs.content) {\n /* horizontal scroll */\n let totalWidth = this.$refs.content.scrollWidth;\n let ownWidth = this.$refs.content.clientWidth;\n let bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1;\n\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n let totalHeight = this.$refs.content.scrollHeight;\n let ownHeight = this.$refs.content.clientHeight;\n let right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1;\n\n this.scrollYRatio = ownHeight / totalHeight;\n\n this.frame = this.requestAnimationFrame(() => {\n if (this.$refs.xBar) {\n if (this.scrollXRatio >= 1) {\n this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-hidden');\n } else {\n this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-hidden');\n\n this.$refs.xBar.style.cssText = 'width:' + Math.max(this.scrollXRatio * 100, 10) + '%; inset-inline-start:' + (Math.abs(this.$refs.content.scrollLeft) / totalWidth) * 100 + '%;bottom:' + bottom + 'px;';\n }\n }\n\n if (this.$refs.yBar) {\n if (this.scrollYRatio >= 1) {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-hidden');\n } else {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-hidden');\n\n this.$refs.yBar.style.cssText =\n 'height:' + Math.max(this.scrollYRatio * 100, 10) + '%; top: calc(' + (this.$refs.content.scrollTop / totalHeight) * 100 + '% - ' + this.$refs.xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n }\n });\n }\n },\n onYBarMouseDown(e) {\n this.isYBarClicked = true;\n this.$refs.yBar.focus();\n this.lastPageY = e.pageY;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onXBarMouseDown(e) {\n this.isXBarClicked = true;\n this.$refs.xBar.focus();\n this.lastPageX = e.pageX;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\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 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 onKeyUp() {\n this.clearTimer();\n },\n repeat(bar, step) {\n this.$refs.content[bar] += step;\n this.moveBar();\n },\n setTimer(bar, step) {\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(bar, step);\n }, 40);\n },\n clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n },\n onDocumentMouseMove(e) {\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 onMouseMoveForXBar(e) {\n let deltaX = e.pageX - this.lastPageX;\n\n this.lastPageX = e.pageX;\n\n this.frame = this.requestAnimationFrame(() => {\n this.$refs.content.scrollLeft += deltaX / this.scrollXRatio;\n });\n },\n onMouseMoveForYBar(e) {\n let deltaY = e.pageY - this.lastPageY;\n\n this.lastPageY = e.pageY;\n\n this.frame = this.requestAnimationFrame(() => {\n this.$refs.content.scrollTop += deltaY / this.scrollYRatio;\n });\n },\n onFocus(event) {\n if (this.$refs.xBar.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.$refs.yBar.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n },\n onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n },\n onDocumentMouseUp() {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n this.$refs.xBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(document.body, 'p-scrollpanel-grabbed');\n\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n },\n requestAnimationFrame(f) {\n let frame = window.requestAnimationFrame || this.timeoutFrame;\n\n return frame(f);\n },\n refresh() {\n this.moveBar();\n },\n scrollTop(scrollTop) {\n let scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight;\n\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n this.$refs.content.scrollTop = scrollTop;\n },\n timeoutFrame(fn) {\n setTimeout(fn, 0);\n },\n bindDocumentMouseListeners() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = (e) => {\n this.onDocumentMouseMove(e);\n };\n\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = (e) => {\n this.onDocumentMouseUp(e);\n };\n\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseListeners() {\n if (this.documentMouseMoveListener) {\n 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 bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.moveBar();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n },\n computed: {\n contentId() {\n return this.id + '_content';\n }\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","step","type","Number","style","ScrollPanelStyle","provide","$pcScrollPanel","$parentInstance","BaseScrollPanel","inheritAttrs","initialized","documentResizeListener","documentMouseMoveListener","documentMouseUpListener","frame","scrollXRatio","scrollYRatio","isXBarClicked","isYBarClicked","lastPageX","lastPageY","timer","outsideClickListener","data","id","$attrs","orientation","lastScrollTop","lastScrollLeft","watch","$attrsId","newValue","UniqueComponentId","mounted","$el","offsetParent","initialize","updated","beforeUnmount","unbindDocumentResizeListener","window","cancelAnimationFrame","methods","moveBar","bindDocumentResizeListener","calculateContainerHeight","containerStyles","getComputedStyle","xBarStyles","$refs","xBar","pureContainerHeight","getHeight","parseInt","content","offsetHeight","height","parseFloat","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","_this","totalWidth","scrollWidth","ownWidth","clientWidth","bottom","clientHeight","totalHeight","scrollHeight","ownHeight","right","yBar","requestAnimationFrame","setAttribute","isUnstyled","addClass","removeClass","cssText","Math","max","abs","scrollLeft","scrollTop","onYBarMouseDown","e","focus","pageY","document","body","bindDocumentMouseListeners","preventDefault","onXBarMouseDown","pageX","onScroll","event","target","onKeyDown","code","setTimer","onKeyUp","clearTimer","repeat","bar","_this2","setTimeout","clearTimeout","onDocumentMouseMove","onMouseMoveForXBar","onMouseMoveForYBar","_this3","deltaX","_this4","deltaY","onFocus","isSameNode","onBlur","onDocumentMouseUp","unbindDocumentMouseListeners","f","timeoutFrame","refresh","scrollableHeight","fn","_this5","addEventListener","removeEventListener","_this6","computed","contentId","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_createElementVNode","ptm","ref","$options","apply","arguments","onMouseenter","_renderSlot","$slots","tabindex","role","$data","onMousedown","onKeydown","_cache","$event","onKeyup","_hoisted_2","_hoisted_3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/scrollpanel/BaseScrollPanel.vue","../../src/scrollpanel/ScrollPanel.vue","../../src/scrollpanel/ScrollPanel.vue?vue&type=template&id=34b42856&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ScrollPanelStyle from 'primevue/scrollpanel/style';\n\nexport default {\n name: 'BaseScrollPanel',\n extends: BaseComponent,\n props: {\n step: {\n type: Number,\n default: 5\n }\n },\n style: ScrollPanelStyle,\n provide() {\n return {\n $pcScrollPanel: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('contentContainer')\" v-bind=\"ptm('contentContainer')\">\n <div ref=\"content\" :id=\"contentId\" :class=\"cx('content')\" @scroll=\"onScroll\" @mouseenter=\"moveBar\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n </div>\n <div\n ref=\"xBar\"\n :class=\"cx('barx')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n aria-orientation=\"horizontal\"\n :aria-controls=\"contentId\"\n :aria-valuenow=\"lastScrollLeft\"\n @mousedown=\"onXBarMouseDown\"\n @keydown=\"onKeyDown($event)\"\n @keyup=\"onKeyUp\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"ptm('barx')\"\n data-pc-group-section=\"bar\"\n ></div>\n <div\n ref=\"yBar\"\n :class=\"cx('bary')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n aria-orientation=\"vertical\"\n :aria-controls=\"contentId\"\n :aria-valuenow=\"lastScrollTop\"\n @mousedown=\"onYBarMouseDown\"\n @keydown=\"onKeyDown($event)\"\n @keyup=\"onKeyUp\"\n @focus=\"onFocus\"\n v-bind=\"ptm('bary')\"\n data-pc-group-section=\"bar\"\n ></div>\n </div>\n</template>\n\n<script>\nimport { addClass, getHeight, removeClass } from '@primeuix/utils/dom';\nimport BaseScrollPanel from './BaseScrollPanel.vue';\n\nexport default {\n name: 'ScrollPanel',\n extends: BaseScrollPanel,\n inheritAttrs: false,\n initialized: false,\n documentResizeListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n frame: null,\n scrollXRatio: null,\n scrollYRatio: null,\n isXBarClicked: false,\n isYBarClicked: false,\n lastPageX: null,\n lastPageY: null,\n timer: null,\n outsideClickListener: null,\n data() {\n return {\n orientation: 'vertical',\n lastScrollTop: 0,\n lastScrollLeft: 0\n };\n },\n mounted() {\n if (this.$el.offsetParent) {\n this.initialize();\n }\n },\n updated() {\n if (!this.initialized && this.$el.offsetParent) {\n this.initialize();\n }\n },\n beforeUnmount() {\n this.unbindDocumentResizeListener();\n\n if (this.frame) {\n window.cancelAnimationFrame(this.frame);\n }\n },\n methods: {\n initialize() {\n this.moveBar();\n this.bindDocumentResizeListener();\n this.calculateContainerHeight();\n },\n calculateContainerHeight() {\n let containerStyles = getComputedStyle(this.$el),\n xBarStyles = getComputedStyle(this.$refs.xBar),\n pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles['height'], 10);\n\n if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {\n if (this.$refs.content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n this.$el.style.height = containerStyles['max-height'];\n } else {\n this.$el.style.height =\n this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n },\n moveBar() {\n if (this.$refs.content) {\n /* horizontal scroll */\n let totalWidth = this.$refs.content.scrollWidth;\n let ownWidth = this.$refs.content.clientWidth;\n let bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1;\n\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n let totalHeight = this.$refs.content.scrollHeight;\n let ownHeight = this.$refs.content.clientHeight;\n let right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1;\n\n this.scrollYRatio = ownHeight / totalHeight;\n\n this.frame = this.requestAnimationFrame(() => {\n if (this.$refs.xBar) {\n if (this.scrollXRatio >= 1) {\n this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-hidden');\n } else {\n this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-hidden');\n\n this.$refs.xBar.style.cssText = 'width:' + Math.max(this.scrollXRatio * 100, 10) + '%; inset-inline-start:' + (Math.abs(this.$refs.content.scrollLeft) / totalWidth) * 100 + '%;bottom:' + bottom + 'px;';\n }\n }\n\n if (this.$refs.yBar) {\n if (this.scrollYRatio >= 1) {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-hidden');\n } else {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-hidden');\n\n this.$refs.yBar.style.cssText =\n 'height:' + Math.max(this.scrollYRatio * 100, 10) + '%; top: calc(' + (this.$refs.content.scrollTop / totalHeight) * 100 + '% - ' + this.$refs.xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n }\n });\n }\n },\n onYBarMouseDown(e) {\n this.isYBarClicked = true;\n this.$refs.yBar.focus();\n this.lastPageY = e.pageY;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onXBarMouseDown(e) {\n this.isXBarClicked = true;\n this.$refs.xBar.focus();\n this.lastPageX = e.pageX;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\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 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 onKeyUp() {\n this.clearTimer();\n },\n repeat(bar, step) {\n this.$refs.content[bar] += step;\n this.moveBar();\n },\n setTimer(bar, step) {\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(bar, step);\n }, 40);\n },\n clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n },\n onDocumentMouseMove(e) {\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 onMouseMoveForXBar(e) {\n let deltaX = e.pageX - this.lastPageX;\n\n this.lastPageX = e.pageX;\n\n this.frame = this.requestAnimationFrame(() => {\n this.$refs.content.scrollLeft += deltaX / this.scrollXRatio;\n });\n },\n onMouseMoveForYBar(e) {\n let deltaY = e.pageY - this.lastPageY;\n\n this.lastPageY = e.pageY;\n\n this.frame = this.requestAnimationFrame(() => {\n this.$refs.content.scrollTop += deltaY / this.scrollYRatio;\n });\n },\n onFocus(event) {\n if (this.$refs.xBar.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.$refs.yBar.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n },\n onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n },\n onDocumentMouseUp() {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n this.$refs.xBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(document.body, 'p-scrollpanel-grabbed');\n\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n },\n requestAnimationFrame(f) {\n let frame = window.requestAnimationFrame || this.timeoutFrame;\n\n return frame(f);\n },\n refresh() {\n this.moveBar();\n },\n scrollTop(scrollTop) {\n let scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight;\n\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n this.$refs.content.scrollTop = scrollTop;\n },\n timeoutFrame(fn) {\n setTimeout(fn, 0);\n },\n bindDocumentMouseListeners() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = (e) => {\n this.onDocumentMouseMove(e);\n };\n\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = (e) => {\n this.onDocumentMouseUp(e);\n };\n\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseListeners() {\n if (this.documentMouseMoveListener) {\n 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 bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.moveBar();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n },\n computed: {\n contentId() {\n return this.$id + '_content';\n }\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <div :class=\"cx('contentContainer')\" v-bind=\"ptm('contentContainer')\">\n <div ref=\"content\" :id=\"contentId\" :class=\"cx('content')\" @scroll=\"onScroll\" @mouseenter=\"moveBar\" v-bind=\"ptm('content')\">\n <slot></slot>\n </div>\n </div>\n <div\n ref=\"xBar\"\n :class=\"cx('barx')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n aria-orientation=\"horizontal\"\n :aria-controls=\"contentId\"\n :aria-valuenow=\"lastScrollLeft\"\n @mousedown=\"onXBarMouseDown\"\n @keydown=\"onKeyDown($event)\"\n @keyup=\"onKeyUp\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n v-bind=\"ptm('barx')\"\n data-pc-group-section=\"bar\"\n ></div>\n <div\n ref=\"yBar\"\n :class=\"cx('bary')\"\n tabindex=\"0\"\n role=\"scrollbar\"\n aria-orientation=\"vertical\"\n :aria-controls=\"contentId\"\n :aria-valuenow=\"lastScrollTop\"\n @mousedown=\"onYBarMouseDown\"\n @keydown=\"onKeyDown($event)\"\n @keyup=\"onKeyUp\"\n @focus=\"onFocus\"\n v-bind=\"ptm('bary')\"\n data-pc-group-section=\"bar\"\n ></div>\n </div>\n</template>\n\n<script>\nimport { addClass, getHeight, removeClass } from '@primeuix/utils/dom';\nimport BaseScrollPanel from './BaseScrollPanel.vue';\n\nexport default {\n name: 'ScrollPanel',\n extends: BaseScrollPanel,\n inheritAttrs: false,\n initialized: false,\n documentResizeListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n frame: null,\n scrollXRatio: null,\n scrollYRatio: null,\n isXBarClicked: false,\n isYBarClicked: false,\n lastPageX: null,\n lastPageY: null,\n timer: null,\n outsideClickListener: null,\n data() {\n return {\n orientation: 'vertical',\n lastScrollTop: 0,\n lastScrollLeft: 0\n };\n },\n mounted() {\n if (this.$el.offsetParent) {\n this.initialize();\n }\n },\n updated() {\n if (!this.initialized && this.$el.offsetParent) {\n this.initialize();\n }\n },\n beforeUnmount() {\n this.unbindDocumentResizeListener();\n\n if (this.frame) {\n window.cancelAnimationFrame(this.frame);\n }\n },\n methods: {\n initialize() {\n this.moveBar();\n this.bindDocumentResizeListener();\n this.calculateContainerHeight();\n },\n calculateContainerHeight() {\n let containerStyles = getComputedStyle(this.$el),\n xBarStyles = getComputedStyle(this.$refs.xBar),\n pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles['height'], 10);\n\n if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {\n if (this.$refs.content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n this.$el.style.height = containerStyles['max-height'];\n } else {\n this.$el.style.height =\n this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n },\n moveBar() {\n if (this.$refs.content) {\n /* horizontal scroll */\n let totalWidth = this.$refs.content.scrollWidth;\n let ownWidth = this.$refs.content.clientWidth;\n let bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1;\n\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n let totalHeight = this.$refs.content.scrollHeight;\n let ownHeight = this.$refs.content.clientHeight;\n let right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1;\n\n this.scrollYRatio = ownHeight / totalHeight;\n\n this.frame = this.requestAnimationFrame(() => {\n if (this.$refs.xBar) {\n if (this.scrollXRatio >= 1) {\n this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-hidden');\n } else {\n this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-hidden');\n\n this.$refs.xBar.style.cssText = 'width:' + Math.max(this.scrollXRatio * 100, 10) + '%; inset-inline-start:' + (Math.abs(this.$refs.content.scrollLeft) / totalWidth) * 100 + '%;bottom:' + bottom + 'px;';\n }\n }\n\n if (this.$refs.yBar) {\n if (this.scrollYRatio >= 1) {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-hidden');\n } else {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-hidden');\n\n this.$refs.yBar.style.cssText =\n 'height:' + Math.max(this.scrollYRatio * 100, 10) + '%; top: calc(' + (this.$refs.content.scrollTop / totalHeight) * 100 + '% - ' + this.$refs.xBar.clientHeight + 'px); inset-inline-end:' + right + 'px;';\n }\n }\n });\n }\n },\n onYBarMouseDown(e) {\n this.isYBarClicked = true;\n this.$refs.yBar.focus();\n this.lastPageY = e.pageY;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onXBarMouseDown(e) {\n this.isXBarClicked = true;\n this.$refs.xBar.focus();\n this.lastPageX = e.pageX;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n\n this.bindDocumentMouseListeners();\n e.preventDefault();\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 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 onKeyUp() {\n this.clearTimer();\n },\n repeat(bar, step) {\n this.$refs.content[bar] += step;\n this.moveBar();\n },\n setTimer(bar, step) {\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(bar, step);\n }, 40);\n },\n clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n },\n onDocumentMouseMove(e) {\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 onMouseMoveForXBar(e) {\n let deltaX = e.pageX - this.lastPageX;\n\n this.lastPageX = e.pageX;\n\n this.frame = this.requestAnimationFrame(() => {\n this.$refs.content.scrollLeft += deltaX / this.scrollXRatio;\n });\n },\n onMouseMoveForYBar(e) {\n let deltaY = e.pageY - this.lastPageY;\n\n this.lastPageY = e.pageY;\n\n this.frame = this.requestAnimationFrame(() => {\n this.$refs.content.scrollTop += deltaY / this.scrollYRatio;\n });\n },\n onFocus(event) {\n if (this.$refs.xBar.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.$refs.yBar.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n },\n onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n },\n onDocumentMouseUp() {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n this.$refs.xBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(document.body, 'p-scrollpanel-grabbed');\n\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n },\n requestAnimationFrame(f) {\n let frame = window.requestAnimationFrame || this.timeoutFrame;\n\n return frame(f);\n },\n refresh() {\n this.moveBar();\n },\n scrollTop(scrollTop) {\n let scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight;\n\n scrollTop = scrollTop > scrollableHeight ? scrollableHeight : scrollTop > 0 ? scrollTop : 0;\n this.$refs.content.scrollTop = scrollTop;\n },\n timeoutFrame(fn) {\n setTimeout(fn, 0);\n },\n bindDocumentMouseListeners() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = (e) => {\n this.onDocumentMouseMove(e);\n };\n\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = (e) => {\n this.onDocumentMouseUp(e);\n };\n\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseListeners() {\n if (this.documentMouseMoveListener) {\n 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 bindDocumentResizeListener() {\n if (!this.documentResizeListener) {\n this.documentResizeListener = () => {\n this.moveBar();\n };\n\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n },\n computed: {\n contentId() {\n return this.$id + '_content';\n }\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","step","type","Number","style","ScrollPanelStyle","provide","$pcScrollPanel","$parentInstance","BaseScrollPanel","inheritAttrs","initialized","documentResizeListener","documentMouseMoveListener","documentMouseUpListener","frame","scrollXRatio","scrollYRatio","isXBarClicked","isYBarClicked","lastPageX","lastPageY","timer","outsideClickListener","data","orientation","lastScrollTop","lastScrollLeft","mounted","$el","offsetParent","initialize","updated","beforeUnmount","unbindDocumentResizeListener","window","cancelAnimationFrame","methods","moveBar","bindDocumentResizeListener","calculateContainerHeight","containerStyles","getComputedStyle","xBarStyles","$refs","xBar","pureContainerHeight","getHeight","parseInt","content","offsetHeight","height","parseFloat","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","_this","totalWidth","scrollWidth","ownWidth","clientWidth","bottom","clientHeight","totalHeight","scrollHeight","ownHeight","right","yBar","requestAnimationFrame","setAttribute","isUnstyled","addClass","removeClass","cssText","Math","max","abs","scrollLeft","scrollTop","onYBarMouseDown","e","focus","pageY","document","body","bindDocumentMouseListeners","preventDefault","onXBarMouseDown","pageX","onScroll","event","target","onKeyDown","code","setTimer","onKeyUp","clearTimer","repeat","bar","_this2","setTimeout","clearTimeout","onDocumentMouseMove","onMouseMoveForXBar","onMouseMoveForYBar","_this3","deltaX","_this4","deltaY","onFocus","isSameNode","onBlur","onDocumentMouseUp","unbindDocumentMouseListeners","f","timeoutFrame","refresh","scrollableHeight","fn","_this5","addEventListener","removeEventListener","_this6","computed","contentId","$id","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_createElementVNode","ptm","ref","id","$options","apply","arguments","onMouseenter","_renderSlot","$slots","tabindex","role","$data","onMousedown","onKeydown","_cache","$event","onKeyup","_hoisted_2","_hoisted_3"],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
+
import { style } from '@primeuix/styles/scrollpanel';
|
|
1
2
|
import BaseStyle from '@primevue/core/base/style';
|
|
2
3
|
|
|
3
|
-
var theme = function theme(_ref) {
|
|
4
|
-
var dt = _ref.dt;
|
|
5
|
-
return "\n.p-scrollpanel-content-container {\n overflow: hidden;\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n float: left;\n}\n\n.p-scrollpanel-content {\n height: calc(100% + calc(2 * ".concat(dt('scrollpanel.bar.size'), "));\n width: calc(100% + calc(2 * ").concat(dt('scrollpanel.bar.size'), "));\n padding-inline: 0 calc(2 * ").concat(dt('scrollpanel.bar.size'), ");\n padding-block: 0 calc(2 * ").concat(dt('scrollpanel.bar.size'), ");\n position: relative;\n overflow: auto;\n box-sizing: border-box;\n scrollbar-width: none;\n}\n\n.p-scrollpanel-content::-webkit-scrollbar {\n display: none;\n}\n\n.p-scrollpanel-bar {\n position: relative;\n border-radius: ").concat(dt('scrollpanel.bar.border.radius'), ";\n z-index: 2;\n cursor: pointer;\n opacity: 0;\n outline-color: transparent;\n background: ").concat(dt('scrollpanel.bar.background'), ";\n border: 0 none;\n transition: outline-color ").concat(dt('scrollpanel.transition.duration'), ", opacity ").concat(dt('scrollpanel.transition.duration'), ";\n}\n\n.p-scrollpanel-bar:focus-visible {\n box-shadow: ").concat(dt('scrollpanel.bar.focus.ring.shadow'), ";\n outline: ").concat(dt('scrollpanel.barfocus.ring.width'), " ").concat(dt('scrollpanel.bar.focus.ring.style'), " ").concat(dt('scrollpanel.bar.focus.ring.color'), ";\n outline-offset: ").concat(dt('scrollpanel.barfocus.ring.offset'), ";\n}\n\n.p-scrollpanel-bar-y {\n width: ").concat(dt('scrollpanel.bar.size'), ";\n inset-block-start: 0;\n}\n\n.p-scrollpanel-bar-x {\n height: ").concat(dt('scrollpanel.bar.size'), ";\n inset-block-end: 0;\n}\n\n.p-scrollpanel-hidden {\n visibility: hidden;\n}\n\n.p-scrollpanel:hover .p-scrollpanel-bar,\n.p-scrollpanel:active .p-scrollpanel-bar {\n opacity: 1;\n}\n\n.p-scrollpanel-grabbed {\n user-select: none;\n}\n");
|
|
6
|
-
};
|
|
7
4
|
var classes = {
|
|
8
5
|
root: 'p-scrollpanel p-component',
|
|
9
6
|
contentContainer: 'p-scrollpanel-content-container',
|
|
@@ -13,7 +10,7 @@ var classes = {
|
|
|
13
10
|
};
|
|
14
11
|
var ScrollPanelStyle = BaseStyle.extend({
|
|
15
12
|
name: 'scrollpanel',
|
|
16
|
-
|
|
13
|
+
style: style,
|
|
17
14
|
classes: classes
|
|
18
15
|
});
|
|
19
16
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/scrollpanel/style/ScrollPanelStyle.js"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/scrollpanel/style/ScrollPanelStyle.js"],"sourcesContent":["import { style } from '@primeuix/styles/scrollpanel';\nimport BaseStyle from '@primevue/core/base/style';\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\nexport default BaseStyle.extend({\n name: 'scrollpanel',\n style,\n classes\n});\n"],"names":["classes","root","contentContainer","content","barX","barY","BaseStyle","extend","name","style"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,2BAA2B;AACjCC,EAAAA,gBAAgB,EAAE,iCAAiC;AACnDC,EAAAA,OAAO,EAAE,uBAAuB;AAChCC,EAAAA,IAAI,EAAE,uCAAuC;AAC7CC,EAAAA,IAAI,EAAE;AACV,CAAC;AAED,uBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,aAAa;AACnBC,EAAAA,KAAK,EAALA,KAAK;AACLT,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
|
package/scrolltop/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import ChevronUpIcon from '@primevue/icons/chevronup';
|
|
|
4
4
|
import Button from 'primevue/button';
|
|
5
5
|
import BaseComponent from '@primevue/core/basecomponent';
|
|
6
6
|
import ScrollTopStyle from 'primevue/scrolltop/style';
|
|
7
|
-
import { resolveComponent,
|
|
7
|
+
import { resolveComponent, createBlock, openBlock, Transition, mergeProps, withCtx, createCommentVNode, renderSlot, normalizeClass, resolveDynamicComponent } from 'vue';
|
|
8
8
|
|
|
9
9
|
var script$1 = {
|
|
10
10
|
name: 'BaseScrollTop',
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
+
import { style } from '@primeuix/styles/scrolltop';
|
|
1
2
|
import BaseStyle from '@primevue/core/base/style';
|
|
2
3
|
|
|
3
|
-
var theme = function theme(_ref) {
|
|
4
|
-
_ref.dt;
|
|
5
|
-
return "\n.p-scrolltop.p-button {\n position: fixed !important;\n inset-block-end: 20px;\n inset-inline-end: 20px;\n}\n\n.p-scrolltop-sticky.p-button {\n position: sticky !important;\n display: flex;\n margin-inline-start: auto;\n}\n\n.p-scrolltop-enter-from {\n opacity: 0;\n}\n\n.p-scrolltop-enter-active {\n transition: opacity 0.15s;\n}\n\n.p-scrolltop.p-scrolltop-leave-to {\n opacity: 0;\n}\n\n.p-scrolltop-leave-active {\n transition: opacity 0.15s;\n}\n";
|
|
6
|
-
};
|
|
7
4
|
var classes = {
|
|
8
|
-
root: function root(
|
|
9
|
-
var props =
|
|
5
|
+
root: function root(_ref) {
|
|
6
|
+
var props = _ref.props;
|
|
10
7
|
return ['p-scrolltop', {
|
|
11
8
|
'p-scrolltop-sticky': props.target !== 'window'
|
|
12
9
|
}];
|
|
@@ -15,7 +12,7 @@ var classes = {
|
|
|
15
12
|
};
|
|
16
13
|
var ScrollTopStyle = BaseStyle.extend({
|
|
17
14
|
name: 'scrolltop',
|
|
18
|
-
|
|
15
|
+
style: style,
|
|
19
16
|
classes: classes
|
|
20
17
|
});
|
|
21
18
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/scrolltop/style/ScrollTopStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/scrolltop/style/ScrollTopStyle.js"],"sourcesContent":["import { style } from '@primeuix/styles/scrolltop';\nimport BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ props }) => ['p-scrolltop', { 'p-scrolltop-sticky': props.target !== 'window' }],\n icon: 'p-scrolltop-icon'\n};\n\nexport default BaseStyle.extend({\n name: 'scrolltop',\n style,\n classes\n});\n"],"names":["classes","root","_ref","props","target","icon","BaseStyle","extend","name","style"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAA,OAAO,CAAC,aAAa,EAAE;AAAE,MAAA,oBAAoB,EAAEA,KAAK,CAACC,MAAM,KAAK;AAAS,KAAC,CAAC;AAAA,GAAA;AACzFC,EAAAA,IAAI,EAAE;AACV,CAAC;AAED,qBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,WAAW;AACjBC,EAAAA,KAAK,EAALA,KAAK;AACLT,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
|
package/select/Select.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div ref="container" :id="id" :class="cx('root')" @click="onContainerClick" v-bind="ptmi('root')">
|
|
2
|
+
<div ref="container" :id="$id" :class="cx('root')" @click="onContainerClick" v-bind="ptmi('root')">
|
|
3
3
|
<input
|
|
4
4
|
v-if="editable"
|
|
5
5
|
ref="focusInput"
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
:aria-labelledby="ariaLabelledby"
|
|
18
18
|
aria-haspopup="listbox"
|
|
19
19
|
:aria-expanded="overlayVisible"
|
|
20
|
-
:aria-controls="id + '_list'"
|
|
20
|
+
:aria-controls="$id + '_list'"
|
|
21
21
|
:aria-activedescendant="focused ? focusedOptionId : undefined"
|
|
22
22
|
:aria-invalid="invalid || undefined"
|
|
23
23
|
@focus="onFocus"
|
|
@@ -38,8 +38,9 @@
|
|
|
38
38
|
:aria-labelledby="ariaLabelledby"
|
|
39
39
|
aria-haspopup="listbox"
|
|
40
40
|
:aria-expanded="overlayVisible"
|
|
41
|
-
:aria-controls="id + '_list'"
|
|
41
|
+
:aria-controls="$id + '_list'"
|
|
42
42
|
:aria-activedescendant="focused ? focusedOptionId : undefined"
|
|
43
|
+
:aria-invalid="invalid || undefined"
|
|
43
44
|
:aria-disabled="disabled"
|
|
44
45
|
@focus="onFocus"
|
|
45
46
|
@blur="onBlur"
|
|
@@ -89,12 +90,13 @@
|
|
|
89
90
|
:unstyled="unstyled"
|
|
90
91
|
role="searchbox"
|
|
91
92
|
autocomplete="off"
|
|
92
|
-
:aria-owns="id + '_list'"
|
|
93
|
+
:aria-owns="$id + '_list'"
|
|
93
94
|
:aria-activedescendant="focusedOptionId"
|
|
94
95
|
@keydown="onFilterKeyDown"
|
|
95
96
|
@blur="onFilterBlur"
|
|
96
97
|
@input="onFilterChange"
|
|
97
98
|
:pt="ptm('pcFilter')"
|
|
99
|
+
:formControl="{ novalidate: true }"
|
|
98
100
|
/>
|
|
99
101
|
<InputIcon :unstyled="unstyled" :pt="ptm('pcFilterIconContainer')">
|
|
100
102
|
<slot name="filtericon">
|
|
@@ -110,11 +112,11 @@
|
|
|
110
112
|
<div :class="cx('listContainer')" :style="{ 'max-height': virtualScrollerDisabled ? scrollHeight : '' }" v-bind="ptm('listContainer')">
|
|
111
113
|
<VirtualScroller :ref="virtualScrollerRef" v-bind="virtualScrollerOptions" :items="visibleOptions" :style="{ height: scrollHeight }" :tabindex="-1" :disabled="virtualScrollerDisabled" :pt="ptm('virtualScroller')">
|
|
112
114
|
<template v-slot:content="{ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }">
|
|
113
|
-
<ul :ref="(el) => listRef(el, contentRef)" :id="id + '_list'" :class="[cx('list'), styleClass]" :style="contentStyle" role="listbox" v-bind="ptm('list')">
|
|
115
|
+
<ul :ref="(el) => listRef(el, contentRef)" :id="$id + '_list'" :class="[cx('list'), styleClass]" :style="contentStyle" role="listbox" v-bind="ptm('list')">
|
|
114
116
|
<template v-for="(option, i) of items" :key="getOptionRenderKey(option, getOptionIndex(i, getItemOptions))">
|
|
115
117
|
<li
|
|
116
118
|
v-if="isOptionGroup(option)"
|
|
117
|
-
:id="id + '_' + getOptionIndex(i, getItemOptions)"
|
|
119
|
+
:id="$id + '_' + getOptionIndex(i, getItemOptions)"
|
|
118
120
|
:style="{ height: itemSize ? itemSize + 'px' : undefined }"
|
|
119
121
|
:class="cx('optionGroup')"
|
|
120
122
|
role="option"
|
|
@@ -126,7 +128,7 @@
|
|
|
126
128
|
</li>
|
|
127
129
|
<li
|
|
128
130
|
v-else
|
|
129
|
-
:id="id + '_' + getOptionIndex(i, getItemOptions)"
|
|
131
|
+
:id="$id + '_' + getOptionIndex(i, getItemOptions)"
|
|
130
132
|
v-ripple
|
|
131
133
|
:class="cx('option', { option, focusedOption: getOptionIndex(i, getItemOptions) })"
|
|
132
134
|
:style="{ height: itemSize ? itemSize + 'px' : undefined }"
|
|
@@ -194,7 +196,7 @@ import { absolutePosition, addStyle, findSingle, focus, getFirstFocusableElement
|
|
|
194
196
|
import { equals, findLastIndex, isNotEmpty, isPrintableCharacter, resolveFieldData } from '@primeuix/utils/object';
|
|
195
197
|
import { ZIndex } from '@primeuix/utils/zindex';
|
|
196
198
|
import { FilterService } from '@primevue/core/api';
|
|
197
|
-
import { ConnectedOverlayScrollHandler
|
|
199
|
+
import { ConnectedOverlayScrollHandler } from '@primevue/core/utils';
|
|
198
200
|
import BlankIcon from '@primevue/icons/blank';
|
|
199
201
|
import CheckIcon from '@primevue/icons/check';
|
|
200
202
|
import ChevronDownIcon from '@primevue/icons/chevrondown';
|
|
@@ -219,6 +221,7 @@ export default {
|
|
|
219
221
|
scrollHandler: null,
|
|
220
222
|
resizeListener: null,
|
|
221
223
|
labelClickListener: null,
|
|
224
|
+
matchMediaOrientationListener: null,
|
|
222
225
|
overlay: null,
|
|
223
226
|
list: null,
|
|
224
227
|
virtualScroller: null,
|
|
@@ -227,18 +230,15 @@ export default {
|
|
|
227
230
|
isModelValueChanged: false,
|
|
228
231
|
data() {
|
|
229
232
|
return {
|
|
230
|
-
id: this.$attrs.id,
|
|
231
233
|
clicked: false,
|
|
232
234
|
focused: false,
|
|
233
235
|
focusedOptionIndex: -1,
|
|
234
236
|
filterValue: null,
|
|
235
|
-
overlayVisible: false
|
|
237
|
+
overlayVisible: false,
|
|
238
|
+
queryOrientation: null
|
|
236
239
|
};
|
|
237
240
|
},
|
|
238
241
|
watch: {
|
|
239
|
-
'$attrs.id': function (newValue) {
|
|
240
|
-
this.id = newValue || UniqueComponentId();
|
|
241
|
-
},
|
|
242
242
|
modelValue() {
|
|
243
243
|
this.isModelValueChanged = true;
|
|
244
244
|
},
|
|
@@ -247,9 +247,9 @@ export default {
|
|
|
247
247
|
}
|
|
248
248
|
},
|
|
249
249
|
mounted() {
|
|
250
|
-
this.id = this.id || UniqueComponentId();
|
|
251
250
|
this.autoUpdateModel();
|
|
252
251
|
this.bindLabelClickListener();
|
|
252
|
+
this.bindMatchMediaOrientationListener();
|
|
253
253
|
},
|
|
254
254
|
updated() {
|
|
255
255
|
if (this.overlayVisible && this.isModelValueChanged) {
|
|
@@ -262,6 +262,7 @@ export default {
|
|
|
262
262
|
this.unbindOutsideClickListener();
|
|
263
263
|
this.unbindResizeListener();
|
|
264
264
|
this.unbindLabelClickListener();
|
|
265
|
+
this.unbindMatchMediaOrientationListener();
|
|
265
266
|
|
|
266
267
|
if (this.scrollHandler) {
|
|
267
268
|
this.scrollHandler.destroy();
|
|
@@ -689,6 +690,7 @@ export default {
|
|
|
689
690
|
|
|
690
691
|
setTimeout(() => {
|
|
691
692
|
this.autoFilterFocus && this.filter && focus(this.$refs.filterInput.$el);
|
|
693
|
+
this.autoUpdateModel();
|
|
692
694
|
}, 1);
|
|
693
695
|
},
|
|
694
696
|
onOverlayAfterEnter() {
|
|
@@ -705,7 +707,9 @@ export default {
|
|
|
705
707
|
|
|
706
708
|
if (this.autoFilterFocus && this.filter && !this.editable) {
|
|
707
709
|
this.$nextTick(() => {
|
|
708
|
-
|
|
710
|
+
if (this.$refs.filterInput) {
|
|
711
|
+
focus(this.$refs.filterInput.$el);
|
|
712
|
+
}
|
|
709
713
|
});
|
|
710
714
|
}
|
|
711
715
|
|
|
@@ -731,12 +735,12 @@ export default {
|
|
|
731
735
|
}
|
|
732
736
|
};
|
|
733
737
|
|
|
734
|
-
document.addEventListener('click', this.outsideClickListener);
|
|
738
|
+
document.addEventListener('click', this.outsideClickListener, true);
|
|
735
739
|
}
|
|
736
740
|
},
|
|
737
741
|
unbindOutsideClickListener() {
|
|
738
742
|
if (this.outsideClickListener) {
|
|
739
|
-
document.removeEventListener('click', this.outsideClickListener);
|
|
743
|
+
document.removeEventListener('click', this.outsideClickListener, true);
|
|
740
744
|
this.outsideClickListener = null;
|
|
741
745
|
}
|
|
742
746
|
},
|
|
@@ -795,10 +799,33 @@ export default {
|
|
|
795
799
|
}
|
|
796
800
|
}
|
|
797
801
|
},
|
|
802
|
+
bindMatchMediaOrientationListener() {
|
|
803
|
+
if (!this.matchMediaOrientationListener) {
|
|
804
|
+
const query = matchMedia(`(orientation: portrait)`);
|
|
805
|
+
|
|
806
|
+
this.queryOrientation = query;
|
|
807
|
+
|
|
808
|
+
this.matchMediaOrientationListener = () => {
|
|
809
|
+
this.alignOverlay();
|
|
810
|
+
};
|
|
811
|
+
|
|
812
|
+
this.queryOrientation.addEventListener('change', this.matchMediaOrientationListener);
|
|
813
|
+
}
|
|
814
|
+
},
|
|
815
|
+
unbindMatchMediaOrientationListener() {
|
|
816
|
+
if (this.matchMediaOrientationListener) {
|
|
817
|
+
this.queryOrientation.removeEventListener('change', this.matchMediaOrientationListener);
|
|
818
|
+
this.queryOrientation = null;
|
|
819
|
+
this.matchMediaOrientationListener = null;
|
|
820
|
+
}
|
|
821
|
+
},
|
|
798
822
|
hasFocusableElements() {
|
|
799
823
|
return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable="true"])').length > 0;
|
|
800
824
|
},
|
|
801
|
-
|
|
825
|
+
isOptionExactMatched(option) {
|
|
826
|
+
return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale) == this.searchValue.toLocaleLowerCase(this.filterLocale);
|
|
827
|
+
},
|
|
828
|
+
isOptionStartsWith(option) {
|
|
802
829
|
return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));
|
|
803
830
|
},
|
|
804
831
|
isValidOption(option) {
|
|
@@ -846,11 +873,10 @@ export default {
|
|
|
846
873
|
let matched = false;
|
|
847
874
|
|
|
848
875
|
if (isNotEmpty(this.searchValue)) {
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
optionIndex = this.visibleOptions.findIndex((option) => this.isOptionMatched(option));
|
|
876
|
+
optionIndex = this.visibleOptions.findIndex((option) => this.isOptionExactMatched(option));
|
|
877
|
+
|
|
878
|
+
if (optionIndex === -1) {
|
|
879
|
+
optionIndex = this.visibleOptions.findIndex((option) => this.isOptionStartsWith(option));
|
|
854
880
|
}
|
|
855
881
|
|
|
856
882
|
if (optionIndex !== -1) {
|
|
@@ -889,7 +915,7 @@ export default {
|
|
|
889
915
|
},
|
|
890
916
|
scrollInView(index = -1) {
|
|
891
917
|
this.$nextTick(() => {
|
|
892
|
-
const id = index !== -1 ? `${this
|
|
918
|
+
const id = index !== -1 ? `${this.$id}_${index}` : this.focusedOptionId;
|
|
893
919
|
const element = findSingle(this.list, `li[id="${id}"]`);
|
|
894
920
|
|
|
895
921
|
if (element) {
|
|
@@ -900,8 +926,11 @@ export default {
|
|
|
900
926
|
});
|
|
901
927
|
},
|
|
902
928
|
autoUpdateModel() {
|
|
903
|
-
if (this.
|
|
929
|
+
if (this.autoOptionFocus) {
|
|
904
930
|
this.focusedOptionIndex = this.findFirstFocusedOptionIndex();
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {
|
|
905
934
|
this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);
|
|
906
935
|
}
|
|
907
936
|
},
|
|
@@ -999,7 +1028,7 @@ export default {
|
|
|
999
1028
|
return this.$filled ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;
|
|
1000
1029
|
},
|
|
1001
1030
|
focusedOptionId() {
|
|
1002
|
-
return this.focusedOptionIndex !== -1 ? `${this
|
|
1031
|
+
return this.focusedOptionIndex !== -1 ? `${this.$id}_${this.focusedOptionIndex}` : null;
|
|
1003
1032
|
},
|
|
1004
1033
|
ariaSetSize() {
|
|
1005
1034
|
return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;
|
package/select/index.d.ts
CHANGED
|
@@ -112,9 +112,13 @@ export interface SelectPassThroughOptions<T = any> {
|
|
|
112
112
|
*/
|
|
113
113
|
clearIcon?: SelectPassThroughOptionType<T>;
|
|
114
114
|
/**
|
|
115
|
-
* Used to pass attributes to the dropdown' DOM element.
|
|
115
|
+
* Used to pass attributes to the dropdown's DOM element.
|
|
116
116
|
*/
|
|
117
117
|
dropdown?: SelectPassThroughOptionType<T>;
|
|
118
|
+
/**
|
|
119
|
+
* Used to pass attributes to the dropdown icon's DOM element.
|
|
120
|
+
*/
|
|
121
|
+
dropdownIcon?: SelectPassThroughOptionType<T>;
|
|
118
122
|
/**
|
|
119
123
|
* Used to pass attributes to the loading icon's DOM element.
|
|
120
124
|
*/
|
|
@@ -375,9 +379,9 @@ export interface SelectProps {
|
|
|
375
379
|
disabled?: boolean | undefined;
|
|
376
380
|
/**
|
|
377
381
|
* Specifies the input variant of the component.
|
|
378
|
-
* @defaultValue
|
|
382
|
+
* @defaultValue null
|
|
379
383
|
*/
|
|
380
|
-
variant?: 'outlined' | 'filled' | undefined;
|
|
384
|
+
variant?: 'outlined' | 'filled' | undefined | null;
|
|
381
385
|
/**
|
|
382
386
|
* A property to uniquely identify an option.
|
|
383
387
|
*/
|
|
@@ -818,11 +822,11 @@ export interface SelectMethods {
|
|
|
818
822
|
* @group Component
|
|
819
823
|
*
|
|
820
824
|
*/
|
|
821
|
-
declare const Select: DefineComponent<SelectProps, SelectSlots, SelectEmits>;
|
|
825
|
+
declare const Select: DefineComponent<SelectProps, SelectSlots, SelectEmits, SelectMethods>;
|
|
822
826
|
|
|
823
827
|
declare module 'vue' {
|
|
824
828
|
export interface GlobalComponents {
|
|
825
|
-
Select: DefineComponent<SelectProps, SelectSlots, SelectEmits>;
|
|
829
|
+
Select: DefineComponent<SelectProps, SelectSlots, SelectEmits, SelectMethods>;
|
|
826
830
|
}
|
|
827
831
|
}
|
|
828
832
|
|