primereact 8.7.3 → 9.0.0-beta.1
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/accordion.d.ts +168 -25
- package/api/api.cjs.js +1 -1
- package/api/api.cjs.min.js +1 -1
- package/api/api.d.ts +11 -3
- package/api/api.esm.js +1 -1
- package/api/api.esm.min.js +1 -1
- package/api/api.js +1 -1
- package/api/api.min.js +1 -1
- package/autocomplete/autocomplete.cjs.js +18 -3
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.d.ts +385 -80
- package/autocomplete/autocomplete.esm.js +18 -3
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +18 -3
- package/autocomplete/autocomplete.min.js +1 -1
- package/avatar/avatar.d.ts +77 -15
- package/avatargroup/avatargroup.d.ts +33 -1
- package/badge/badge.d.ts +48 -8
- package/blockui/blockui.d.ts +71 -10
- package/breadcrumb/breadcrumb.d.ts +41 -3
- package/button/button.d.ts +67 -15
- package/calendar/calendar.cjs.js +18 -5
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.d.ts +585 -112
- package/calendar/calendar.esm.js +18 -5
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +18 -5
- package/calendar/calendar.min.js +1 -1
- package/captcha/captcha.cjs.js +7 -6
- package/captcha/captcha.cjs.min.js +1 -1
- package/captcha/captcha.d.ts +77 -7
- package/captcha/captcha.esm.js +7 -6
- package/captcha/captcha.esm.min.js +1 -1
- package/captcha/captcha.js +7 -6
- package/captcha/captcha.min.js +1 -1
- package/card/card.d.ts +45 -7
- package/carousel/carousel.d.ts +138 -22
- package/cascadeselect/cascadeselect.cjs.js +7 -1
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +177 -29
- package/cascadeselect/cascadeselect.esm.js +7 -1
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +7 -1
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/chart/chart.d.ts +88 -10
- package/checkbox/checkbox.cjs.js +5 -1
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.d.ts +137 -33
- package/checkbox/checkbox.esm.js +6 -2
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +5 -1
- package/checkbox/checkbox.min.js +1 -1
- package/chip/chip.d.ts +75 -7
- package/chips/chips.cjs.js +11 -8
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.d.ts +188 -36
- package/chips/chips.esm.js +11 -8
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +11 -8
- package/chips/chips.min.js +1 -1
- package/colorpicker/colorpicker.cjs.js +6 -1
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.d.ts +148 -31
- package/colorpicker/colorpicker.esm.js +6 -1
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +6 -1
- package/colorpicker/colorpicker.min.js +1 -1
- package/column/column.d.ts +736 -134
- package/columngroup/columngroup.d.ts +30 -1
- package/confirmdialog/confirmdialog.d.ts +142 -18
- package/confirmpopup/confirmpopup.cjs.js +5 -2
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.d.ts +165 -22
- package/confirmpopup/confirmpopup.esm.js +5 -2
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +5 -2
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/contextmenu/contextmenu.cjs.js +4 -1
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.d.ts +79 -11
- package/contextmenu/contextmenu.esm.js +4 -1
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +4 -1
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +85 -78
- package/core/core.min.js +7 -7
- package/csstransition/csstransition.d.ts +31 -1
- package/datascroller/datascroller.d.ts +102 -16
- package/datatable/datatable.cjs.js +27 -15
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +1257 -229
- package/datatable/datatable.esm.js +27 -15
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +27 -15
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.d.ts +222 -43
- package/deferredcontent/deferredcontent.d.ts +37 -1
- package/dialog/dialog.cjs.js +13 -19
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.d.ts +282 -51
- package/dialog/dialog.esm.js +14 -20
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +13 -19
- package/dialog/dialog.min.css +1 -1
- package/dialog/dialog.min.js +1 -1
- package/divider/divider.d.ts +47 -10
- package/dock/dock.d.ts +68 -12
- package/dropdown/dropdown.cjs.js +27 -11
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +337 -83
- package/dropdown/dropdown.esm.js +28 -12
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +27 -11
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.d.ts +129 -12
- package/fieldset/fieldset.d.ts +85 -7
- package/fileupload/fileupload.cjs.js +4 -0
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.d.ts +425 -62
- package/fileupload/fileupload.esm.js +4 -0
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +4 -0
- package/fileupload/fileupload.min.js +1 -1
- package/galleria/galleria.cjs.js +3 -1
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.d.ts +198 -30
- package/galleria/galleria.esm.js +3 -1
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +3 -1
- package/galleria/galleria.min.js +1 -1
- package/gmap/gmap.d.ts +91 -5
- package/hooks/hooks.cjs.js +1 -2
- package/hooks/hooks.cjs.min.js +1 -1
- package/hooks/hooks.d.ts +114 -7
- package/hooks/hooks.esm.js +1 -2
- package/hooks/hooks.esm.min.js +1 -1
- package/hooks/hooks.js +1 -2
- package/hooks/hooks.min.js +1 -1
- package/image/image.d.ts +91 -11
- package/inplace/inplace.d.ts +101 -9
- package/inputmask/inputmask.cjs.js +6 -5
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.d.ts +119 -27
- package/inputmask/inputmask.esm.js +7 -6
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +6 -5
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +11 -33
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.d.ts +265 -57
- package/inputnumber/inputnumber.esm.js +12 -34
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +11 -33
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/inputswitch.cjs.js +4 -1
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.d.ts +118 -27
- package/inputswitch/inputswitch.esm.js +5 -2
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +4 -1
- package/inputswitch/inputswitch.min.js +1 -1
- package/inputtext/inputtext.d.ts +57 -6
- package/inputtextarea/inputtextarea.d.ts +52 -6
- package/keyfilter/keyfilteroptions.d.ts +15 -0
- package/knob/knob.d.ts +127 -20
- package/listbox/listbox.cjs.js +3 -0
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.d.ts +270 -48
- package/listbox/listbox.esm.js +3 -0
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +3 -0
- package/listbox/listbox.min.js +1 -1
- package/megamenu/megamenu.d.ts +50 -11
- package/mention/mention.cjs.js +3 -0
- package/mention/mention.cjs.min.js +1 -1
- package/mention/mention.d.ts +186 -32
- package/mention/mention.esm.js +3 -0
- package/mention/mention.esm.min.js +1 -1
- package/mention/mention.js +3 -0
- package/mention/mention.min.js +1 -1
- package/menu/menu.cjs.js +3 -1
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.d.ts +89 -12
- package/menu/menu.esm.js +3 -1
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +3 -1
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.d.ts +53 -8
- package/menuitem/menuitem.d.ts +114 -19
- package/message/message.d.ts +50 -11
- package/messages/messages.d.ts +91 -11
- package/multiselect/multiselect.cjs.js +11 -2
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.d.ts +429 -82
- package/multiselect/multiselect.esm.js +12 -3
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +11 -2
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +3 -0
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.d.ts +157 -22
- package/multistatecheckbox/multistatecheckbox.esm.js +4 -1
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +3 -0
- package/multistatecheckbox/multistatecheckbox.min.js +1 -1
- package/orderlist/orderlist.d.ts +113 -16
- package/organizationchart/organizationchart.d.ts +107 -16
- package/overlaypanel/overlaypanel.cjs.js +4 -1
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.d.ts +89 -15
- package/overlaypanel/overlaypanel.esm.js +4 -1
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +4 -1
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/overlayservice/overlayservice.d.ts +52 -7
- package/package.json +2 -2
- package/paginator/paginator.d.ts +409 -44
- package/panel/panel.d.ts +142 -16
- package/panelmenu/panelmenu.d.ts +46 -4
- package/password/password.cjs.js +7 -1
- package/password/password.cjs.min.js +1 -1
- package/password/password.d.ts +176 -36
- package/password/password.esm.js +7 -1
- package/password/password.esm.min.js +1 -1
- package/password/password.js +7 -1
- package/password/password.min.css +1 -1
- package/password/password.min.js +1 -1
- package/picklist/picklist.d.ts +272 -46
- package/primereact.all.cjs.js +305 -158
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +305 -158
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +305 -158
- package/primereact.all.min.js +1 -1
- package/progressbar/progressbar.d.ts +60 -11
- package/progressspinner/progressspinner.d.ts +47 -4
- package/radiobutton/radiobutton.cjs.js +5 -1
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.d.ts +99 -29
- package/radiobutton/radiobutton.esm.js +5 -1
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +5 -1
- package/radiobutton/radiobutton.min.js +1 -1
- package/rating/rating.d.ts +101 -24
- package/resources/primereact.css +74 -63
- package/resources/primereact.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +5 -9
- package/resources/themes/arya-green/theme.css +4 -10
- package/resources/themes/arya-orange/theme.css +4 -9
- package/resources/themes/arya-purple/theme.css +4 -9
- package/resources/themes/bootstrap4-dark-blue/theme.css +4 -9
- package/resources/themes/bootstrap4-dark-purple/theme.css +4 -9
- package/resources/themes/bootstrap4-light-blue/theme.css +4 -9
- package/resources/themes/bootstrap4-light-purple/theme.css +4 -10
- package/resources/themes/fluent-light/theme.css +4 -10
- package/resources/themes/lara-dark-blue/theme.css +4 -9
- package/resources/themes/lara-dark-indigo/theme.css +4 -10
- package/resources/themes/lara-dark-purple/theme.css +4 -9
- package/resources/themes/lara-dark-teal/theme.css +4 -10
- package/resources/themes/lara-light-blue/theme.css +4 -9
- package/resources/themes/lara-light-indigo/theme.css +4 -9
- package/resources/themes/lara-light-purple/theme.css +4 -9
- package/resources/themes/lara-light-teal/theme.css +4 -9
- package/resources/themes/luna-amber/theme.css +5 -9
- package/resources/themes/luna-blue/theme.css +4 -9
- package/resources/themes/luna-green/theme.css +5 -9
- package/resources/themes/luna-pink/theme.css +4 -9
- package/resources/themes/md-dark-deeppurple/theme.css +4 -9
- package/resources/themes/md-dark-indigo/theme.css +5 -9
- package/resources/themes/md-light-deeppurple/theme.css +5 -9
- package/resources/themes/md-light-indigo/theme.css +5 -9
- package/resources/themes/mdc-dark-deeppurple/theme.css +5 -9
- package/resources/themes/mdc-dark-indigo/theme.css +4 -9
- package/resources/themes/mdc-light-deeppurple/theme.css +5 -9
- package/resources/themes/mdc-light-indigo/theme.css +4 -9
- package/resources/themes/mira/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/mira/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/mira/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/mira/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/mira/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/mira/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/mira/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/mira/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/mira/theme.css +6237 -0
- package/resources/themes/nano/theme.css +6009 -0
- package/resources/themes/nova/theme.css +4 -9
- package/resources/themes/nova-accent/theme.css +5 -9
- package/resources/themes/nova-alt/theme.css +4 -9
- package/resources/themes/rhea/theme.css +5 -9
- package/resources/themes/saga-blue/theme.css +4 -9
- package/resources/themes/saga-green/theme.css +5 -9
- package/resources/themes/saga-orange/theme.css +5 -9
- package/resources/themes/saga-purple/theme.css +5 -9
- package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
- package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
- package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
- package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
- package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
- package/resources/themes/soho-dark/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
- package/resources/themes/soho-dark/theme.css +6002 -0
- package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
- package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
- package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
- package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
- package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
- package/resources/themes/soho-light/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
- package/resources/themes/soho-light/theme.css +6056 -0
- package/resources/themes/vela-blue/theme.css +4 -9
- package/resources/themes/vela-green/theme.css +4 -9
- package/resources/themes/vela-orange/theme.css +4 -9
- package/resources/themes/vela-purple/theme.css +5 -9
- package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
- package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
- package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
- package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
- package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
- package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
- package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
- package/resources/themes/viva-dark/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
- package/resources/themes/viva-dark/theme.css +6164 -0
- package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff +0 -0
- package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-300.woff2 +0 -0
- package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff +0 -0
- package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-600.woff2 +0 -0
- package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff +0 -0
- package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-700.woff2 +0 -0
- package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff +0 -0
- package/resources/themes/viva-light/fonts/poppins-v15-latin-ext_latin-regular.woff2 +0 -0
- package/resources/themes/viva-light/theme.css +6164 -0
- package/ripple/ripple.d.ts +29 -1
- package/row/row.d.ts +37 -3
- package/scrollpanel/scrollpanel.d.ts +45 -1
- package/scrolltop/scrolltop.d.ts +70 -10
- package/selectbutton/selectbutton.cjs.js +3 -0
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.d.ts +111 -32
- package/selectbutton/selectbutton.esm.js +4 -1
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +3 -0
- package/selectbutton/selectbutton.min.js +1 -1
- package/selectitem/selectitem.d.ts +34 -0
- package/sidebar/sidebar.cjs.js +13 -1
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.d.ts +120 -22
- package/sidebar/sidebar.esm.js +13 -1
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +13 -1
- package/sidebar/sidebar.min.js +1 -1
- package/skeleton/skeleton.d.ts +61 -11
- package/slidemenu/slidemenu.d.ts +132 -18
- package/slider/slider.d.ts +101 -18
- package/speeddial/speeddial.d.ts +149 -20
- package/splitbutton/splitbutton.cjs.js +3 -2
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.d.ts +131 -23
- package/splitbutton/splitbutton.esm.js +3 -2
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +3 -2
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.d.ts +98 -12
- package/steps/steps.d.ts +67 -6
- package/styleclass/styleclass.d.ts +77 -12
- package/tabmenu/tabmenu.d.ts +62 -5
- package/tabview/tabview.cjs.js +1 -1
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.d.ts +213 -27
- package/tabview/tabview.esm.js +1 -1
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +1 -1
- package/tabview/tabview.min.js +1 -1
- package/tag/tag.d.ts +50 -6
- package/terminal/terminal.cjs.js +3 -0
- package/terminal/terminal.cjs.min.js +1 -1
- package/terminal/terminal.d.ts +45 -3
- package/terminal/terminal.esm.js +4 -1
- package/terminal/terminal.esm.min.js +1 -1
- package/terminal/terminal.js +3 -0
- package/terminal/terminal.min.js +1 -1
- package/terminalservice/terminalservice.d.ts +42 -4
- package/tieredmenu/tieredmenu.cjs.js +3 -1
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.d.ts +77 -12
- package/tieredmenu/tieredmenu.esm.js +3 -1
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +3 -1
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/timeline/timeline.cjs.js +6 -10
- package/timeline/timeline.cjs.min.js +1 -1
- package/timeline/timeline.d.ts +62 -13
- package/timeline/timeline.esm.js +6 -10
- package/timeline/timeline.esm.min.js +1 -1
- package/timeline/timeline.js +6 -10
- package/timeline/timeline.min.js +1 -1
- package/toast/toast.cjs.js +4 -1
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.d.ts +134 -27
- package/toast/toast.esm.js +4 -1
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +4 -1
- package/toast/toast.min.js +1 -1
- package/togglebutton/togglebutton.cjs.js +4 -1
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.d.ts +122 -15
- package/togglebutton/togglebutton.esm.js +5 -2
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +4 -1
- package/togglebutton/togglebutton.min.js +1 -1
- package/toolbar/toolbar.cjs.js +13 -7
- package/toolbar/toolbar.cjs.min.js +1 -1
- package/toolbar/toolbar.d.ts +55 -5
- package/toolbar/toolbar.esm.js +13 -7
- package/toolbar/toolbar.esm.min.js +1 -1
- package/toolbar/toolbar.js +13 -7
- package/toolbar/toolbar.min.css +1 -1
- package/toolbar/toolbar.min.js +1 -1
- package/tooltip/tooltip.d.ts +73 -9
- package/tooltip/tooltipoptions.d.ts +350 -31
- package/tree/tree.d.ts +435 -71
- package/treenode/treenode.d.ts +62 -13
- package/treeselect/treeselect.cjs.js +7 -1
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.d.ts +326 -77
- package/treeselect/treeselect.esm.js +8 -2
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +7 -1
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/treetable.cjs.js +3 -1
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.d.ts +501 -112
- package/treetable/treetable.esm.js +3 -1
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +3 -1
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +3 -0
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.d.ts +72 -20
- package/tristatecheckbox/tristatecheckbox.esm.js +4 -1
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +3 -0
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/ts-helpers.d.ts +24 -0
- package/utils/utils.cjs.js +27 -11
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +8 -1
- package/utils/utils.esm.js +27 -11
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +27 -11
- package/utils/utils.min.js +1 -1
- package/virtualscroller/virtualscroller.d.ts +351 -59
- package/web-types.json +22 -4
package/dropdown/dropdown.d.ts
CHANGED
|
@@ -1,113 +1,367 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* Dropdown also known as Select, is used to choose an item from a collection of options.
|
|
4
|
+
*
|
|
5
|
+
* [Live Demo](https://www.primefaces.org/primereact/dropdown/)
|
|
6
|
+
*
|
|
7
|
+
* @module dropdown
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
1
10
|
import * as React from 'react';
|
|
2
11
|
import { CSSTransitionProps } from '../csstransition';
|
|
3
12
|
import { SelectItemOptionsType } from '../selectitem/selectitem';
|
|
4
|
-
import TooltipOptions from '../tooltip/tooltipoptions';
|
|
13
|
+
import { TooltipOptions } from '../tooltip/tooltipoptions';
|
|
14
|
+
import { FormEvent } from '../ts-helpers';
|
|
15
|
+
import { IconType } from '../utils';
|
|
5
16
|
import { VirtualScrollerProps } from '../virtualscroller';
|
|
6
17
|
|
|
7
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Custom change event.
|
|
20
|
+
* @see {@link DropdownProps.onChange}
|
|
21
|
+
* @extends {FormEvent}
|
|
22
|
+
* @event
|
|
23
|
+
*/
|
|
24
|
+
interface DropdownChangeEvent extends FormEvent {}
|
|
8
25
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
type DropdownOptionDisabledType = string | ((option: any) => boolean);
|
|
20
|
-
|
|
21
|
-
type DropdownAppendToType = 'self' | HTMLElement | undefined | null;
|
|
22
|
-
|
|
23
|
-
interface DropdownChangeTargetOptions {
|
|
24
|
-
name: string;
|
|
25
|
-
id: string;
|
|
26
|
-
value: any;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
interface DropdownChangeParams {
|
|
30
|
-
originalEvent: React.SyntheticEvent;
|
|
31
|
-
value: any;
|
|
32
|
-
stopPropagation(): void;
|
|
33
|
-
preventDefault(): void;
|
|
34
|
-
target: DropdownChangeTargetOptions;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
interface DropdownFilterParams {
|
|
26
|
+
/**
|
|
27
|
+
* Custom filter event
|
|
28
|
+
* @see {@link DropdownProps.onFilter}
|
|
29
|
+
* @event
|
|
30
|
+
*/
|
|
31
|
+
interface DropdownFilterEvent {
|
|
32
|
+
/**
|
|
33
|
+
* Browser event
|
|
34
|
+
*/
|
|
38
35
|
originalEvent: React.SyntheticEvent;
|
|
36
|
+
/**
|
|
37
|
+
* Filter value
|
|
38
|
+
*/
|
|
39
39
|
filter: string;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* Custom filter options
|
|
44
|
+
* @see {@link DropdownProps.filterTemplate}
|
|
45
|
+
* @group Misc
|
|
46
|
+
*/
|
|
42
47
|
interface DropdownFilterOptions {
|
|
43
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Used to filter options
|
|
50
|
+
* @param {React.KeyboardEvent<HTMLElement>} event - Browser event
|
|
51
|
+
*/
|
|
52
|
+
filter?: (event?: React.KeyboardEvent<HTMLElement>) => void;
|
|
53
|
+
/**
|
|
54
|
+
* Used to reset the filtered options
|
|
55
|
+
*/
|
|
44
56
|
reset?: () => void;
|
|
45
57
|
}
|
|
46
58
|
|
|
59
|
+
/**
|
|
60
|
+
* Defines valid properties in Dropdown component. In addition to these, all properties of HTMLDivElement can be used in this component.
|
|
61
|
+
* @group Properties
|
|
62
|
+
*/
|
|
47
63
|
export interface DropdownProps extends Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'onChange' | 'ref'> {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
64
|
+
/**
|
|
65
|
+
* DOM element instance where the overlay panel should be mounted. Valid values are any DOM Element and "self". The "self" value is used to render a component where it is located.
|
|
66
|
+
* @defaultValue document.body
|
|
67
|
+
*/
|
|
68
|
+
appendTo?: 'self' | HTMLElement | undefined | null;
|
|
69
|
+
/**
|
|
70
|
+
* Used to define a string that labels the component.
|
|
71
|
+
*/
|
|
72
|
+
ariaLabel?: string | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* Establishes relationships between the component and label(s) where its value should be one or more element IDs.
|
|
75
|
+
*/
|
|
76
|
+
ariaLabelledBy?: string | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* When present, it specifies that the component should automatically get focus on load.
|
|
79
|
+
* @defaultValue false
|
|
80
|
+
*/
|
|
81
|
+
autoFocus?: boolean | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Style class of the component.
|
|
84
|
+
*/
|
|
85
|
+
className?: string | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Icon class of the dropdown icon.
|
|
88
|
+
* @defaultValue pi pi-times
|
|
89
|
+
*/
|
|
90
|
+
clearIcon?: IconType<DropdownProps> | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* A property to uniquely match the value in options for better performance.
|
|
93
|
+
*/
|
|
94
|
+
dataKey?: string | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* When present, it specifies that the component should be disabled.
|
|
97
|
+
* @defaultValue false
|
|
98
|
+
*/
|
|
99
|
+
disabled?: boolean | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* Icon class of the dropdown icon.
|
|
102
|
+
* @defaultValue pi pi-chevron-down
|
|
103
|
+
*/
|
|
104
|
+
dropdownIcon?: IconType<DropdownProps> | undefined;
|
|
105
|
+
/**
|
|
106
|
+
* When present, custom value instead of predefined options can be entered using the editable input field.
|
|
107
|
+
* @defaultValue false
|
|
108
|
+
*/
|
|
109
|
+
editable?: boolean | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Template to display when filtering does not return any results.
|
|
112
|
+
* @defaultValue No available options
|
|
113
|
+
*/
|
|
114
|
+
emptyFilterMessage?: React.ReactNode | ((props: DropdownProps) => React.ReactNode) | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* Text to display when there are no options available.
|
|
117
|
+
* @defaultValue No results found
|
|
118
|
+
*/
|
|
119
|
+
emptyMessage?: React.ReactNode | ((props: DropdownProps) => React.ReactNode) | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* When specified, displays an input field to filter the items on keyup.
|
|
122
|
+
* @defaultValue false
|
|
123
|
+
*/
|
|
124
|
+
filter?: boolean | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.
|
|
127
|
+
* @defaultValue label
|
|
128
|
+
*/
|
|
129
|
+
filterBy?: 'label' | string | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* When the panel is opened, it specifies that the filter input should focus automatically.
|
|
132
|
+
* @defaultValue true
|
|
133
|
+
*/
|
|
134
|
+
filterInputAutoFocus?: boolean | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* Locale to use in filtering. The default locale is the host environment's current locale.
|
|
137
|
+
*/
|
|
138
|
+
filterLocale?: string | undefined;
|
|
139
|
+
/**
|
|
140
|
+
* Defines how the items are filtered.
|
|
141
|
+
* @defaultValue contains
|
|
142
|
+
*/
|
|
143
|
+
filterMatchMode?: 'contains' | 'startsWith' | 'endsWith' | 'equals' | 'notEquals' | undefined;
|
|
144
|
+
/**
|
|
145
|
+
* Placeholder text to show when filter input is empty.
|
|
146
|
+
*/
|
|
147
|
+
filterPlaceholder?: string | undefined;
|
|
148
|
+
/**
|
|
149
|
+
* The template of filter element.
|
|
150
|
+
*/
|
|
151
|
+
filterTemplate?: React.ReactNode | ((options: DropdownFilterOptions) => React.ReactNode) | undefined;
|
|
152
|
+
/**
|
|
153
|
+
* Reference of the focusable input element.
|
|
154
|
+
*/
|
|
155
|
+
focusInputRef?: React.Ref<HTMLInputElement> | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* Unique identifier of the element.
|
|
158
|
+
*/
|
|
159
|
+
id?: string | undefined;
|
|
160
|
+
/**
|
|
161
|
+
* Identifier of the focusable input.
|
|
162
|
+
*/
|
|
163
|
+
inputId?: string | undefined;
|
|
164
|
+
/**
|
|
165
|
+
* Reference of the input element.
|
|
166
|
+
*/
|
|
167
|
+
inputRef?: React.Ref<HTMLSelectElement> | undefined;
|
|
168
|
+
/**
|
|
169
|
+
* The template of items.
|
|
170
|
+
*/
|
|
171
|
+
itemTemplate?: React.ReactNode | ((option: any) => React.ReactNode) | undefined;
|
|
172
|
+
/**
|
|
173
|
+
* Maximum number of characters to be typed on an editable input.
|
|
174
|
+
*/
|
|
175
|
+
maxLength?: number | undefined;
|
|
176
|
+
/**
|
|
177
|
+
* Name of the input element.
|
|
178
|
+
*/
|
|
179
|
+
name?: string | undefined;
|
|
180
|
+
/**
|
|
181
|
+
* Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.
|
|
182
|
+
*/
|
|
183
|
+
optionDisabled?: string | ((option: any) => boolean) | undefined;
|
|
184
|
+
/**
|
|
185
|
+
* Property name or getter function that refers to the children options of option group.
|
|
186
|
+
*/
|
|
187
|
+
optionGroupChildren?: string | undefined;
|
|
188
|
+
/**
|
|
189
|
+
* Property name or getter function to use as the label of an option group.
|
|
190
|
+
*/
|
|
191
|
+
optionGroupLabel?: string | undefined;
|
|
192
|
+
/**
|
|
193
|
+
* Template of an option group item.
|
|
194
|
+
*/
|
|
195
|
+
optionGroupTemplate?: React.ReactNode | ((option: any, index: number) => React.ReactNode) | undefined;
|
|
196
|
+
/**
|
|
197
|
+
* Name of the label field of an option when arbitrary objects are used as options instead of SelectItems.
|
|
198
|
+
*/
|
|
199
|
+
optionLabel?: string | undefined;
|
|
200
|
+
/**
|
|
201
|
+
* Name of the value field of an option when arbitrary objects are used as options instead of SelectItems.
|
|
202
|
+
*/
|
|
203
|
+
optionValue?: string | undefined;
|
|
204
|
+
/**
|
|
205
|
+
* An array of selectitems to display as the available options.
|
|
206
|
+
* @type {SelectItemOptionsType}
|
|
207
|
+
*/
|
|
208
|
+
options?: SelectItemOptionsType | undefined;
|
|
209
|
+
/**
|
|
210
|
+
* Style class of the overlay panel element.
|
|
211
|
+
*/
|
|
212
|
+
panelClassName?: string | undefined;
|
|
213
|
+
/**
|
|
214
|
+
* Inline style of the overlay panel element.
|
|
215
|
+
*/
|
|
216
|
+
panelStyle?: React.CSSProperties | undefined;
|
|
217
|
+
/**
|
|
218
|
+
* Default text to display when no option is selected.
|
|
219
|
+
*/
|
|
220
|
+
placeholder?: string | undefined;
|
|
221
|
+
/**
|
|
222
|
+
* When present, it specifies that an input field must be filled out before submitting the form.
|
|
223
|
+
* @defaultValue false
|
|
224
|
+
*/
|
|
225
|
+
required?: boolean | undefined;
|
|
226
|
+
/**
|
|
227
|
+
* Clears the filter value when hiding the dropdown.
|
|
228
|
+
* @defaultValue false
|
|
229
|
+
*/
|
|
230
|
+
resetFilterOnHide?: boolean | undefined;
|
|
231
|
+
/**
|
|
232
|
+
* Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.
|
|
233
|
+
* @defaultValue 200px
|
|
234
|
+
*/
|
|
235
|
+
scrollHeight?: string | undefined;
|
|
236
|
+
/**
|
|
237
|
+
* When enabled, a clear icon is displayed to clear the value.
|
|
238
|
+
* @defaultValue false
|
|
239
|
+
*/
|
|
240
|
+
showClear?: boolean | undefined;
|
|
241
|
+
/**
|
|
242
|
+
* When enabled, a clear icon is displayed to clear the filtered value.
|
|
243
|
+
* @defaultValue false
|
|
244
|
+
*/
|
|
245
|
+
showFilterClear?: boolean | undefined;
|
|
246
|
+
/**
|
|
247
|
+
* When enabled, overlay panel will be visible with input focus.
|
|
248
|
+
* @defaultValue false
|
|
249
|
+
*/
|
|
250
|
+
showOnFocus?: boolean | undefined;
|
|
251
|
+
/**
|
|
252
|
+
* Inline style of the element.
|
|
253
|
+
*/
|
|
254
|
+
style?: React.CSSProperties | undefined;
|
|
255
|
+
/**
|
|
256
|
+
* Index of the element in tabbing order.
|
|
257
|
+
*/
|
|
258
|
+
tabIndex?: number | undefined;
|
|
259
|
+
/**
|
|
260
|
+
* Content of the tooltip.
|
|
261
|
+
*/
|
|
262
|
+
tooltip?: string | undefined;
|
|
263
|
+
/**
|
|
264
|
+
* Configuration of the tooltip, refer to the tooltip documentation for more information.
|
|
265
|
+
* @type {TooltipOptions}
|
|
266
|
+
*/
|
|
267
|
+
tooltipOptions?: TooltipOptions | undefined;
|
|
268
|
+
/**
|
|
269
|
+
* The properties of CSSTransition can be customized, except for "nodeRef" and "in" properties.
|
|
270
|
+
* @type {CSSTransitionProps}
|
|
271
|
+
*/
|
|
272
|
+
transitionOptions?: CSSTransitionProps | undefined;
|
|
273
|
+
/**
|
|
274
|
+
* Value of the component.
|
|
275
|
+
*/
|
|
95
276
|
value?: any;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
277
|
+
/**
|
|
278
|
+
* The template of selected item.
|
|
279
|
+
*/
|
|
280
|
+
valueTemplate?: React.ReactNode | ((option: any, props: DropdownProps) => React.ReactNode) | undefined;
|
|
281
|
+
/**
|
|
282
|
+
* Whether to use the virtualScroller feature. The properties of VirtualScroller component can be used like an object in it.
|
|
283
|
+
* @type {VirtualScrollerProps}
|
|
284
|
+
*/
|
|
285
|
+
virtualScrollerOptions?: VirtualScrollerProps | undefined;
|
|
286
|
+
/**
|
|
287
|
+
* Callback to invoke on value change
|
|
288
|
+
* @param {DropdownChangeEvent} event - Custom change event
|
|
289
|
+
*/
|
|
290
|
+
onChange?(event: DropdownChangeEvent): void;
|
|
291
|
+
/**
|
|
292
|
+
* Callback to invoke when the element receives focus.
|
|
293
|
+
* @param {React.FocusEvent<HTMLInputElement>} event - Browser event
|
|
294
|
+
*/
|
|
99
295
|
onFocus?(event: React.FocusEvent<HTMLInputElement>): void;
|
|
296
|
+
/**
|
|
297
|
+
* Callback to invoke when the element loses focus.
|
|
298
|
+
* @param {React.FocusEvent<HTMLInputElement>} event - Browser event
|
|
299
|
+
*/
|
|
100
300
|
onBlur?(event: React.FocusEvent<HTMLInputElement>): void;
|
|
301
|
+
/**
|
|
302
|
+
* Callback to invoke to when a mouse button is pressed.
|
|
303
|
+
* @param {React.MouseEvent<HTMLElement>} event - Browser event
|
|
304
|
+
*/
|
|
101
305
|
onMouseDown?(event: React.MouseEvent<HTMLElement>): void;
|
|
306
|
+
/**
|
|
307
|
+
* Callback to invoke on right-click.
|
|
308
|
+
* @param {React.MouseEvent<HTMLElement>} event - Browser event
|
|
309
|
+
*/
|
|
102
310
|
onContextMenu?(event: React.MouseEvent<HTMLElement>): void;
|
|
311
|
+
/**
|
|
312
|
+
* Callback to invoke when the overlay is shown.
|
|
313
|
+
*/
|
|
103
314
|
onShow?(): void;
|
|
315
|
+
/**
|
|
316
|
+
* Callback to invoke when the overlay is hidden.
|
|
317
|
+
*/
|
|
104
318
|
onHide?(): void;
|
|
105
|
-
|
|
319
|
+
/**
|
|
320
|
+
* Callback to invoke when the value is filtered.
|
|
321
|
+
* @param {DropdownFilterEvent} event - Custom filter event
|
|
322
|
+
*/
|
|
323
|
+
onFilter?(event: DropdownFilterEvent): void;
|
|
324
|
+
/**
|
|
325
|
+
* Used to get the child elements of the component.
|
|
326
|
+
* @readonly
|
|
327
|
+
*/
|
|
328
|
+
children?: React.ReactNode | undefined;
|
|
106
329
|
}
|
|
107
330
|
|
|
331
|
+
/**
|
|
332
|
+
* **PrimeReact - Dropdown**
|
|
333
|
+
*
|
|
334
|
+
* _Dropdown also known as Select, is used to choose an item from a collection of options._
|
|
335
|
+
*
|
|
336
|
+
* [Live Demo](https://www.primefaces.org/primereact/dropdown/)
|
|
337
|
+
* --- ---
|
|
338
|
+
* 
|
|
339
|
+
*
|
|
340
|
+
* @group Component
|
|
341
|
+
*/
|
|
108
342
|
export declare class Dropdown extends React.Component<DropdownProps, any> {
|
|
343
|
+
/**
|
|
344
|
+
* Used to focus the component.
|
|
345
|
+
*/
|
|
346
|
+
public focus(): void;
|
|
347
|
+
/**
|
|
348
|
+
* Used to get container element.
|
|
349
|
+
* @return {HTMLDivElement} Container element
|
|
350
|
+
*/
|
|
109
351
|
public getElement(): HTMLDivElement;
|
|
352
|
+
/**
|
|
353
|
+
* Used to get input element.
|
|
354
|
+
* @return {HTMLInputElement} Input element
|
|
355
|
+
*/
|
|
110
356
|
public getInput(): HTMLInputElement;
|
|
357
|
+
/**
|
|
358
|
+
* Used to get focusable input element.
|
|
359
|
+
* @return {HTMLInputElement} Input element
|
|
360
|
+
*/
|
|
111
361
|
public getFocusInput(): HTMLInputElement;
|
|
362
|
+
/**
|
|
363
|
+
* Used to get overlay element.
|
|
364
|
+
* @return {HTMLElement} Overlay element
|
|
365
|
+
*/
|
|
112
366
|
public getOverlay(): HTMLElement;
|
|
113
367
|
}
|
package/dropdown/dropdown.esm.js
CHANGED
|
@@ -3,7 +3,7 @@ import PrimeReact, { localeOption, FilterService } from 'primereact/api';
|
|
|
3
3
|
import { useOverlayListener, useMountEffect, useUpdateEffect, useUnmountEffect } from 'primereact/hooks';
|
|
4
4
|
import { OverlayService } from 'primereact/overlayservice';
|
|
5
5
|
import { Tooltip } from 'primereact/tooltip';
|
|
6
|
-
import { classNames, ObjectUtils, DomHandler, ZIndexUtils } from 'primereact/utils';
|
|
6
|
+
import { classNames, ObjectUtils, DomHandler, ZIndexUtils, IconUtils } from 'primereact/utils';
|
|
7
7
|
import { CSSTransition } from 'primereact/csstransition';
|
|
8
8
|
import { Portal } from 'primereact/portal';
|
|
9
9
|
import { VirtualScroller } from 'primereact/virtualscroller';
|
|
@@ -349,7 +349,10 @@ var DropdownPanel = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(funct
|
|
|
349
349
|
}
|
|
350
350
|
};
|
|
351
351
|
var createElement = function createElement() {
|
|
352
|
-
var className = classNames('p-dropdown-panel p-component', props.panelClassName
|
|
352
|
+
var className = classNames('p-dropdown-panel p-component', props.panelClassName, {
|
|
353
|
+
'p-input-filled': PrimeReact.inputStyle === 'filled',
|
|
354
|
+
'p-ripple-disabled': PrimeReact.ripple === false
|
|
355
|
+
});
|
|
353
356
|
var filter = createFilter();
|
|
354
357
|
var content = createContent();
|
|
355
358
|
return /*#__PURE__*/React.createElement(CSSTransition, {
|
|
@@ -463,6 +466,12 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
|
|
|
463
466
|
if (props.disabled) {
|
|
464
467
|
return;
|
|
465
468
|
}
|
|
469
|
+
props.onClick && props.onClick(event);
|
|
470
|
+
|
|
471
|
+
// do not continue if the user defined click wants to prevent it
|
|
472
|
+
if (event.defaultPrevented) {
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
466
475
|
if (DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') || event.target.tagName === 'INPUT') {
|
|
467
476
|
return;
|
|
468
477
|
} else if (!overlayRef.current || !(overlayRef.current && overlayRef.current.contains(event.target))) {
|
|
@@ -889,6 +898,9 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
|
|
|
889
898
|
props: props,
|
|
890
899
|
show: show,
|
|
891
900
|
hide: hide,
|
|
901
|
+
focus: function focus() {
|
|
902
|
+
return DomHandler.focus(focusInputRef.current);
|
|
903
|
+
},
|
|
892
904
|
getElement: function getElement() {
|
|
893
905
|
return elementRef.current;
|
|
894
906
|
},
|
|
@@ -918,10 +930,10 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
|
|
|
918
930
|
}
|
|
919
931
|
}, [overlayVisibleState, props.value]);
|
|
920
932
|
useUpdateEffect(function () {
|
|
921
|
-
if (overlayVisibleState && props.filter) {
|
|
933
|
+
if (overlayVisibleState && filterState && props.filter) {
|
|
922
934
|
alignOverlay();
|
|
923
935
|
}
|
|
924
|
-
}, [overlayVisibleState, props.filter]);
|
|
936
|
+
}, [overlayVisibleState, filterState, props.filter]);
|
|
925
937
|
useUpdateEffect(function () {
|
|
926
938
|
if (filterState && (!props.options || props.options.length === 0)) {
|
|
927
939
|
setFilterState('');
|
|
@@ -1008,15 +1020,20 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
|
|
|
1008
1020
|
};
|
|
1009
1021
|
var createClearIcon = function createClearIcon() {
|
|
1010
1022
|
if (props.value != null && props.showClear && !props.disabled) {
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1023
|
+
var iconClassName = classNames('p-dropdown-clear-icon p-clickable');
|
|
1024
|
+
var iconProps = {
|
|
1025
|
+
className: iconClassName,
|
|
1026
|
+
onPointerUp: clear
|
|
1027
|
+
};
|
|
1028
|
+
return IconUtils.getJSXIcon(props.clearIcon, iconProps);
|
|
1015
1029
|
}
|
|
1016
1030
|
return null;
|
|
1017
1031
|
};
|
|
1018
1032
|
var createDropdownIcon = function createDropdownIcon() {
|
|
1019
|
-
var iconClassName = classNames('p-dropdown-trigger-icon p-clickable'
|
|
1033
|
+
var iconClassName = classNames('p-dropdown-trigger-icon p-clickable');
|
|
1034
|
+
var icon = IconUtils.getJSXIcon(props.dropdownIcon, {
|
|
1035
|
+
className: iconClassName
|
|
1036
|
+
});
|
|
1020
1037
|
var ariaLabel = props.placeholder || props.ariaLabel;
|
|
1021
1038
|
return /*#__PURE__*/React.createElement("div", {
|
|
1022
1039
|
className: "p-dropdown-trigger",
|
|
@@ -1024,9 +1041,7 @@ var Dropdown = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (
|
|
|
1024
1041
|
"aria-haspopup": "listbox",
|
|
1025
1042
|
"aria-expanded": overlayVisibleState,
|
|
1026
1043
|
"aria-label": ariaLabel
|
|
1027
|
-
},
|
|
1028
|
-
className: iconClassName
|
|
1029
|
-
}));
|
|
1044
|
+
}, icon);
|
|
1030
1045
|
};
|
|
1031
1046
|
var visibleOptions = getVisibleOptions();
|
|
1032
1047
|
var selectedOption = getSelectedOption();
|
|
@@ -1093,6 +1108,7 @@ Dropdown.defaultProps = {
|
|
|
1093
1108
|
ariaLabelledBy: null,
|
|
1094
1109
|
autoFocus: false,
|
|
1095
1110
|
className: null,
|
|
1111
|
+
clearIcon: 'pi pi-times',
|
|
1096
1112
|
dataKey: null,
|
|
1097
1113
|
disabled: false,
|
|
1098
1114
|
dropdownIcon: 'pi pi-chevron-down',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import t,{localeOption as n,FilterService as r}from"primereact/api";import{useOverlayListener as o,useMountEffect as l,useUpdateEffect as i,useUnmountEffect as a}from"primereact/hooks";import{OverlayService as u}from"primereact/overlayservice";import{Tooltip as c}from"primereact/tooltip";import{classNames as p,ObjectUtils as s,DomHandler as f,ZIndexUtils as d}from"primereact/utils";import{CSSTransition as m}from"primereact/csstransition";import{Portal as v}from"primereact/portal";import{VirtualScroller as b}from"primereact/virtualscroller";import{Ripple as g}from"primereact/ripple";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(this,arguments)}function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function w(e,t){if("object"!==h(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==h(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=w(e,"string");return"symbol"===h(t)?t:String(t)}function E(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){if(Array.isArray(e))return e}function S(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function I(e,t){if(e){if("string"==typeof e)return F(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?F(e,t):void 0}}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function D(e,t){return C(e)||S(e,t)||I(e,t)||x()}var N=e.memo((function(t){var n=p("p-dropdown-item",{"p-highlight":t.selected,"p-disabled":t.disabled,"p-dropdown-item-empty":!t.label||0===t.label.length},t.option&&t.option.className),r=t.template?s.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:n,style:t.style,onClick:function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option})},"aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected},r,e.createElement(g,null))}));function L(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?L(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):L(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}N.displayName="DropdownItem";var k=e.memo(e.forwardRef((function(t,r){var o,l,i,a=e.useRef(null),u=e.useRef(null),c=!(t.visibleOptions&&t.visibleOptions.length)&&t.hasFilter,d={filter:function(e){return w(e)},reset:function(){return t.resetFilter()}},g=function(){t.onEnter((function(){if(a.current){var e=t.getSelectedOptionIndex();-1!==e&&setTimeout((function(){return a.current.scrollToIndex(e)}),0)}}))},h=function(){t.onEntered((function(){t.filter&&t.filterInputAutoFocus&&f.focus(u.current,!1)}))},w=function(e){a.current&&a.current.scrollToIndex(0),t.onFilterInputChange&&t.onFilterInputChange(e)},O=function(n,r){return t.getOptionGroupChildren(n).map((function(n,o){var l=t.getOptionLabel(n),i=o+"_"+t.getOptionRenderKey(n),a=t.isOptionDisabled(n);return e.createElement(N,{key:i,label:l,option:n,style:r,template:t.itemTemplate,selected:t.isSelected(n),disabled:a,onClick:t.onOptionClick})}))},E=function(r,o){var l=s.getJSXElement(r,t)||n(o?"emptyFilterMessage":"emptyMessage");return e.createElement("li",{className:"p-dropdown-empty-message"},l)},C=function(n,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:o.props?o.props.itemSize:void 0};if(t.optionGroupLabel){var i=t.optionGroupTemplate?s.getJSXElement(t.optionGroupTemplate,n,r):t.getOptionGroupLabel(n),a=O(n,l),u=r+"_"+t.getOptionGroupRenderKey(n);return e.createElement(e.Fragment,{key:u},e.createElement("li",{className:"p-dropdown-item-group",style:l},i),a)}var c=t.getOptionLabel(n),p=r+"_"+t.getOptionRenderKey(n),f=t.isOptionDisabled(n);return e.createElement(N,{key:p,label:c,option:n,style:l,template:t.itemTemplate,selected:t.isSelected(n),disabled:f,onClick:t.onOptionClick})},S=function(){if(t.showFilterClear&&t.filterValue){var r=n("clear");return e.createElement("i",{className:"p-dropdown-filter-clear-icon pi pi-times","aria-label":r,onClick:function(){return t.onFilterClearIconClick((function(){return f.focus(u.current)}))}})}return null},F=function(){if(t.filter){var n=S(),r=p("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!n}),o=e.createElement("div",{className:r},e.createElement("input",{ref:u,type:"text",autoComplete:"off",className:"p-dropdown-filter p-inputtext p-component",placeholder:t.filterPlaceholder,onKeyDown:t.onFilterInputKeyDown,onChange:w,value:t.filterValue}),n,e.createElement("i",{className:"p-dropdown-filter-icon pi pi-search"}));if(t.filterTemplate)o=s.getJSXElement(t.filterTemplate,{className:r,element:o,filterOptions:d,filterInputKeyDown:t.onFilterInputKeyDown,filterInputChange:w,filterIconClassName:"p-dropdown-filter-icon pi pi-search",clearIcon:n,props:t});return e.createElement("div",{className:"p-dropdown-header"},o)}return null},I=function(){if(t.virtualScrollerOptions){var n=j(j({},t.virtualScrollerOptions),{style:j(j({},t.virtualScrollerOptions.style),{height:t.scrollHeight}),className:p("p-dropdown-items-wrapper",t.virtualScrollerOptions.className),items:t.visibleOptions,autoSize:!0,onLazyLoad:function(e){return t.virtualScrollerOptions.onLazyLoad(j(j({},e),{filter:t.filterValue}))},itemTemplate:function(e,t){return e&&C(e,t.index,t)},contentTemplate:function(t){var n=p("p-dropdown-items",t.className),r=c?E():t.children;return e.createElement("ul",{ref:t.contentRef,className:n,role:"listbox"},r)}});return e.createElement(b,y({ref:a},n))}var r=s.isNotEmpty(t.visibleOptions)?t.visibleOptions.map(C):t.hasFilter?E(t.emptyFilterMessage,!0):E(t.emptyMessage);return e.createElement("div",{className:"p-dropdown-items-wrapper",style:{maxHeight:t.scrollHeight||"auto"}},e.createElement("ul",{className:"p-dropdown-items",role:"listbox"},r))},x=(o=p("p-dropdown-panel p-component",t.panelClassName),l=F(),i=I(),e.createElement(m,{nodeRef:r,classNames:"p-connected-overlay",in:t.in,timeout:{enter:120,exit:100},options:t.transitionOptions,unmountOnExit:!0,onEnter:g,onEntering:t.onEntering,onEntered:h,onExit:t.onExit,onExited:t.onExited},e.createElement("div",{ref:r,className:o,style:t.panelStyle,onClick:t.onClick},l,i)));return e.createElement(v,{element:x,appendTo:t.appendTo})})));function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function R(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=G(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,l=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw l}}}}function G(e,t){if(e){if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?M(e,t):void 0}}function M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}k.displayName="DropdownPanel";var K=e.memo(e.forwardRef((function(n,m){var v=D(e.useState(""),2),b=v[0],g=v[1],w=D(e.useState(!1),2),O=w[0],E=w[1],C=D(e.useState(!1),2),S=C[0],F=C[1],I=e.useRef(null),x=e.useRef(null),N=e.useRef(n.inputRef),L=e.useRef(n.focusInputRef),j=e.useRef(null),P=e.useRef(null),G=e.useRef(null),M=n.virtualScrollerOptions&&n.virtualScrollerOptions.lazy,A=s.isNotEmpty(b),V=n.appendTo||t.appendTo,H=D(o({target:I,overlay:x,listener:function(e,t){t.valid&&("outside"===t.type?!_(e)&&me():me())},when:S}),2),B=H[0],z=H[1],_=function(e){return f.hasClass(e.target,"p-dropdown-clear-icon")||f.hasClass(e.target,"p-dropdown-filter-clear-icon")},q=function(e){n.showOnFocus&&!S&&de(),E(!0),n.onFocus&&n.onFocus(e)},J=function(e){E(!1),n.onBlur&&setTimeout((function(){var t=N.current?N.current.value:void 0;n.onBlur({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})}),200)},X=function(e){switch(e.which){case 40:$(e);break;case 38:U(e);break;case 32:case 13:S?me():de(),e.preventDefault();break;case 27:case 9:me();break;default:ee(e)}},U=function(e){if(Se){var t=Z(pe());t&&ce({originalEvent:e,option:t})}e.preventDefault()},$=function(e){if(Se)if(!S&&e.altKey)de();else{var t=W(pe());t&&ce({originalEvent:e,option:t})}e.preventDefault()},W=function e(t){if(n.optionGroupLabel){var r=-1===t?0:t.group,o=-1===t?-1:t.option,l=Y(we(Se[r]),o);return l||(r+1!==Se.length?e({group:r+1,option:-1}):null)}return Y(Se,t)},Y=function e(t,n){var r=n+1;if(r===t.length)return null;var o=t[r];return he(o)?e(r):o},Z=function e(t){if(-1===t)return null;if(n.optionGroupLabel){var r=t.group,o=t.option,l=Q(we(Se[r]),o);return l||(r>0?e({group:r-1,option:we(Se[r-1]).length}):null)}return Q(Se,t)},Q=function(e,t){var n=t-1;if(n<0)return null;var r=e[n];return he(r)?Z(n):r},ee=function(e){j.current&&clearTimeout(j.current);var t=e.key;if("Shift"!==t&&"Control"!==t&&"Alt"!==t){if(P.current=G.current===t?t:P.current?P.current+t:t,G.current=t,P.current){var r=pe(),o=n.optionGroupLabel?re(r):te(r+1);o&&ce({originalEvent:e,option:o})}j.current=setTimeout((function(){P.current=null}),250)}},te=function(e){return P.current?ne(e,Se.length)||ne(0,e):null},ne=function(e,t){for(var n=e;n<t;n++){var r=Se[n];if(oe(r))return r}return null},re=function(e){for(var t=-1===e?{group:0,option:-1}:e,n=t.group;n<Se.length;n++)for(var r=we(Se[n]),o=t.group===n?t.option+1:0;o<r.length;o++)if(oe(r[o]))return r[o];for(var l=0;l<=t.group;l++)for(var i=we(Se[l]),a=0;a<(t.group===l?t.option:i.length);a++)if(oe(i[a]))return i[a];return null},oe=function(e){var t=ge(e);return!!t&&(t=t.toLocaleLowerCase(n.filterLocale)).startsWith(P.current.toLocaleLowerCase(n.filterLocale))},le=function(e){n.onChange&&n.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:e.target.value}})},ie=function(e){E(!0),me(),n.onFocus&&n.onFocus(e)},ae=function(e){g(""),n.onFilter&&n.onFilter({filter:""}),e&&e()},ue=function(e){n.onChange&&n.onChange({originalEvent:e,value:void 0,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:void 0}}),be()},ce=function(e){if(Fe!==e.option){be(e.option);var t=ye(e.option);n.onChange&&n.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})}},pe=function(e){if(e=e||Se,null!=n.value&&e){if(!n.optionGroupLabel)return fe(n.value,e);for(var t=0;t<e.length;t++){var r=fe(n.value,we(e[t]));if(-1!==r)return{group:t,option:r}}}return-1},se=function(){return n.optionValue?null:n.dataKey},fe=function(e,t){var n=se();return t.findIndex((function(t){return s.equals(e,ye(t),n)}))},de=function(){F(!0)},me=function(){F(!1)},ve=function(){f.alignOverlay(x.current,N.current.parentElement,n.appendTo||t.appendTo)},be=function(e){N.current&&(N.current.value=e?ge(e):n.value||"")},ge=function(e){return n.optionLabel?s.resolveFieldData(e,n.optionLabel):e&&void 0!==e.label?e.label:e},ye=function(e){return n.optionValue?s.resolveFieldData(e,n.optionValue):e&&void 0!==e.value?e.value:e},he=function(e){return n.optionDisabled?s.isFunction(n.optionDisabled)?n.optionDisabled(e):s.resolveFieldData(e,n.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},we=function(e){return s.resolveFieldData(e,n.optionGroupChildren)},Oe=function(){if(n.editable&&N.current){var e=Fe?ge(Fe):null;N.current.value=e||n.value||""}};e.useImperativeHandle(m,(function(){return{props:n,show:de,hide:me,getElement:function(){return I.current},getOverlay:function(){return x.current},getInput:function(){return N.current},getFocusInput:function(){return L.current}}})),e.useEffect((function(){s.combinedRefs(N,n.inputRef),s.combinedRefs(L,n.focusInputRef)}),[N,n.inputRef,L,n.focusInputRef]),l((function(){n.autoFocus&&f.focus(L.current,n.autoFocus)})),i((function(){var e;S&&n.value&&(e=f.findSingle(x.current,"li.p-highlight"))&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"nearest"})}),[S,n.value]),i((function(){S&&n.filter&&ve()}),[S,n.filter]),i((function(){!b||n.options&&0!==n.options.length||g(""),Oe(),N.current&&(N.current.selectedIndex=1)})),a((function(){d.clear(x.current)}));var Ee,Ce,Se=function(){if(A&&!M){var e=b.trim().toLocaleLowerCase(n.filterLocale),t=n.filterBy?n.filterBy.split(","):[n.optionLabel||"label"];if(n.optionGroupLabel){var o,l=[],i=R(n.options);try{for(i.s();!(o=i.n()).done;){var a=o.value,u=r.filter(we(a),t,e,n.filterMatchMode,n.filterLocale);u&&u.length&&l.push(T(T({},a),{items:u}))}}catch(e){i.e(e)}finally{i.f()}return l}return r.filter(n.options,t,e,n.filterMatchMode,n.filterLocale)}return n.options}(),Fe=-1!==(Ee=pe(n.options))?n.optionGroupLabel?we(n.options[Ee.group])[Ee.option]:n.options[Ee]:null,Ie=s.isNotEmpty(n.tooltip),xe=s.findDiffKeys(n,K.defaultProps),De=s.reduceKeys(xe,f.ARIA_PROPS),Ne=p("p-dropdown p-component p-inputwrapper",{"p-disabled":n.disabled,"p-focus":O,"p-dropdown-clearable":n.showClear&&!n.disabled,"p-inputwrapper-filled":s.isNotEmpty(n.value),"p-inputwrapper-focus":O||S},n.className),Le=function(){var t={value:"",label:n.placeholder};if(Fe){var r=ye(Fe);t={value:"object"===h(r)?n.options.findIndex((function(e){return e===r})):r,label:ge(Fe)}}return e.createElement("div",{className:"p-hidden-accessible p-dropdown-hidden-select"},e.createElement("select",{ref:N,required:n.required,defaultValue:t.value,name:n.name,tabIndex:-1,"aria-hidden":"true"},e.createElement("option",{value:t.value},t.label)))}(),je=e.createElement("div",{className:"p-hidden-accessible"},e.createElement("input",y({ref:L,id:n.inputId,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:q,onBlur:J,onKeyDown:X,disabled:n.disabled,tabIndex:n.tabIndex},De))),ke=function(){var t=s.isNotEmpty(Fe)?ge(Fe):null;if(n.editable)return e.createElement("input",y({ref:N,type:"text",defaultValue:t||n.value||"",className:"p-dropdown-label p-inputtext",disabled:n.disabled,placeholder:n.placeholder,maxLength:n.maxLength,onInput:le,onFocus:ie,onBlur:J,"aria-haspopup":"listbox"},De));var r=p("p-dropdown-label p-inputtext",{"p-placeholder":null===t&&n.placeholder,"p-dropdown-label-empty":null===t&&!n.placeholder}),o=n.valueTemplate?s.getJSXElement(n.valueTemplate,Fe,n):t||n.placeholder||"empty";return e.createElement("span",{ref:N,className:r},o)}(),Pe=(Ce=p("p-dropdown-trigger-icon p-clickable",n.dropdownIcon),e.createElement("div",{className:"p-dropdown-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":S,"aria-label":n.placeholder||n.ariaLabel},e.createElement("span",{className:Ce}))),Te=null!=n.value&&n.showClear&&!n.disabled?e.createElement("i",{className:"p-dropdown-clear-icon pi pi-times",onClick:ue}):null;return e.createElement(e.Fragment,null,e.createElement("div",y({ref:I,id:n.id,className:Ne,style:n.style},xe,{onClick:function(e){n.disabled||f.hasClass(e.target,"p-dropdown-clear-icon")||"INPUT"===e.target.tagName||x.current&&x.current&&x.current.contains(e.target)||(f.focus(L.current),S?me():de())},onMouseDown:n.onMouseDown,onContextMenu:n.onContextMenu}),je,Le,ke,Te,Pe,e.createElement(k,y({ref:x,visibleOptions:Se},n,{appendTo:V,onClick:function(e){u.emit("overlay-click",{originalEvent:e,target:I.current})},onOptionClick:function(e){e.option.disabled||(ce(e),f.focus(L.current)),me()},filterValue:b,hasFilter:A,onFilterClearIconClick:function(e){ae(e)},resetFilter:ae,onFilterInputKeyDown:function(e){switch(e.which){case 40:$(e);break;case 38:U(e);break;case 13:case 27:me(),e.preventDefault()}},onFilterInputChange:function(e){var t=e.target.value;g(t),n.onFilter&&n.onFilter({originalEvent:e,filter:t})},getOptionLabel:ge,getOptionRenderKey:function(e){return n.dataKey?s.resolveFieldData(e,n.dataKey):ge(e)},isOptionDisabled:he,getOptionGroupChildren:we,getOptionGroupLabel:function(e){return s.resolveFieldData(e,n.optionGroupLabel)},getOptionGroupRenderKey:function(e){return s.resolveFieldData(e,n.optionGroupLabel)},isSelected:function(e){return s.equals(n.value,ye(e),se())},getSelectedOptionIndex:pe,in:S,onEnter:function(e){d.set("overlay",x.current,t.autoZIndex,t.zIndex.overlay),ve(),e&&e()},onEntered:function(e){e&&e(),B(),n.onShow&&n.onShow()},onExit:function(){z()},onExited:function(){n.filter&&n.resetFilterOnHide&&ae(),d.clear(x.current),n.onHide&&n.onHide()}}))),Ie&&e.createElement(c,y({target:I,content:n.tooltip},n.tooltipOptions)))})));K.displayName="Dropdown",K.defaultProps={__TYPE:"Dropdown",appendTo:null,ariaLabel:null,ariaLabelledBy:null,autoFocus:!1,className:null,dataKey:null,disabled:!1,dropdownIcon:"pi pi-chevron-down",editable:!1,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterInputAutoFocus:!0,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,focusInputRef:null,id:null,inputId:null,inputRef:null,itemTemplate:null,maxLength:null,name:null,onBlur:null,onChange:null,onContextMenu:null,onFilter:null,onFocus:null,onHide:null,onMouseDown:null,onShow:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,panelClassName:null,panelStyle:null,placeholder:null,required:!1,resetFilterOnHide:!1,scrollHeight:"200px",showClear:!1,showFilterClear:!1,showOnFocus:!1,style:null,tabIndex:null,tooltip:null,tooltipOptions:null,transitionOptions:null,value:null,valueTemplate:null,virtualScrollerOptions:null};export{K as Dropdown};
|
|
1
|
+
import*as e from"react";import t,{localeOption as n,FilterService as r}from"primereact/api";import{useOverlayListener as o,useMountEffect as l,useUpdateEffect as i,useUnmountEffect as a}from"primereact/hooks";import{OverlayService as u}from"primereact/overlayservice";import{Tooltip as c}from"primereact/tooltip";import{classNames as p,ObjectUtils as s,DomHandler as f,ZIndexUtils as d,IconUtils as m}from"primereact/utils";import{CSSTransition as v}from"primereact/csstransition";import{Portal as b}from"primereact/portal";import{VirtualScroller as g}from"primereact/virtualscroller";import{Ripple as y}from"primereact/ripple";function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(this,arguments)}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function O(e,t){if("object"!==w(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==w(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function E(e){var t=O(e,"string");return"symbol"===w(t)?t:String(t)}function C(e,t,n){return(t=E(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function S(e){if(Array.isArray(e))return e}function I(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function x(e,t){if(e){if("string"==typeof e)return F(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?F(e,t):void 0}}function D(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function N(e,t){return S(e)||I(e,t)||x(e,t)||D()}var L=e.memo((function(t){var n=p("p-dropdown-item",{"p-highlight":t.selected,"p-disabled":t.disabled,"p-dropdown-item-empty":!t.label||0===t.label.length},t.option&&t.option.className),r=t.template?s.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:n,style:t.style,onClick:function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option})},"aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected},r,e.createElement(y,null))}));function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?j(Object(n),!0).forEach((function(t){C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):j(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}L.displayName="DropdownItem";var P=e.memo(e.forwardRef((function(r,o){var l,i,a,u=e.useRef(null),c=e.useRef(null),d=!(r.visibleOptions&&r.visibleOptions.length)&&r.hasFilter,m={filter:function(e){return O(e)},reset:function(){return r.resetFilter()}},y=function(){r.onEnter((function(){if(u.current){var e=r.getSelectedOptionIndex();-1!==e&&setTimeout((function(){return u.current.scrollToIndex(e)}),0)}}))},w=function(){r.onEntered((function(){r.filter&&r.filterInputAutoFocus&&f.focus(c.current,!1)}))},O=function(e){u.current&&u.current.scrollToIndex(0),r.onFilterInputChange&&r.onFilterInputChange(e)},E=function(t,n){return r.getOptionGroupChildren(t).map((function(t,o){var l=r.getOptionLabel(t),i=o+"_"+r.getOptionRenderKey(t),a=r.isOptionDisabled(t);return e.createElement(L,{key:i,label:l,option:t,style:n,template:r.itemTemplate,selected:r.isSelected(t),disabled:a,onClick:r.onOptionClick})}))},C=function(t,o){var l=s.getJSXElement(t,r)||n(o?"emptyFilterMessage":"emptyMessage");return e.createElement("li",{className:"p-dropdown-empty-message"},l)},S=function(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:o.props?o.props.itemSize:void 0};if(r.optionGroupLabel){var i=r.optionGroupTemplate?s.getJSXElement(r.optionGroupTemplate,t,n):r.getOptionGroupLabel(t),a=E(t,l),u=n+"_"+r.getOptionGroupRenderKey(t);return e.createElement(e.Fragment,{key:u},e.createElement("li",{className:"p-dropdown-item-group",style:l},i),a)}var c=r.getOptionLabel(t),p=n+"_"+r.getOptionRenderKey(t),f=r.isOptionDisabled(t);return e.createElement(L,{key:p,label:c,option:t,style:l,template:r.itemTemplate,selected:r.isSelected(t),disabled:f,onClick:r.onOptionClick})},I=function(){if(r.showFilterClear&&r.filterValue){var t=n("clear");return e.createElement("i",{className:"p-dropdown-filter-clear-icon pi pi-times","aria-label":t,onClick:function(){return r.onFilterClearIconClick((function(){return f.focus(c.current)}))}})}return null},F=function(){if(r.filter){var t=I(),n=p("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!t}),o=e.createElement("div",{className:n},e.createElement("input",{ref:c,type:"text",autoComplete:"off",className:"p-dropdown-filter p-inputtext p-component",placeholder:r.filterPlaceholder,onKeyDown:r.onFilterInputKeyDown,onChange:O,value:r.filterValue}),t,e.createElement("i",{className:"p-dropdown-filter-icon pi pi-search"}));if(r.filterTemplate)o=s.getJSXElement(r.filterTemplate,{className:n,element:o,filterOptions:m,filterInputKeyDown:r.onFilterInputKeyDown,filterInputChange:O,filterIconClassName:"p-dropdown-filter-icon pi pi-search",clearIcon:t,props:r});return e.createElement("div",{className:"p-dropdown-header"},o)}return null},x=function(){if(r.virtualScrollerOptions){var t=k(k({},r.virtualScrollerOptions),{style:k(k({},r.virtualScrollerOptions.style),{height:r.scrollHeight}),className:p("p-dropdown-items-wrapper",r.virtualScrollerOptions.className),items:r.visibleOptions,autoSize:!0,onLazyLoad:function(e){return r.virtualScrollerOptions.onLazyLoad(k(k({},e),{filter:r.filterValue}))},itemTemplate:function(e,t){return e&&S(e,t.index,t)},contentTemplate:function(t){var n=p("p-dropdown-items",t.className),r=d?C():t.children;return e.createElement("ul",{ref:t.contentRef,className:n,role:"listbox"},r)}});return e.createElement(g,h({ref:u},t))}var n=s.isNotEmpty(r.visibleOptions)?r.visibleOptions.map(S):r.hasFilter?C(r.emptyFilterMessage,!0):C(r.emptyMessage);return e.createElement("div",{className:"p-dropdown-items-wrapper",style:{maxHeight:r.scrollHeight||"auto"}},e.createElement("ul",{className:"p-dropdown-items",role:"listbox"},n))},D=(l=p("p-dropdown-panel p-component",r.panelClassName,{"p-input-filled":"filled"===t.inputStyle,"p-ripple-disabled":!1===t.ripple}),i=F(),a=x(),e.createElement(v,{nodeRef:o,classNames:"p-connected-overlay",in:r.in,timeout:{enter:120,exit:100},options:r.transitionOptions,unmountOnExit:!0,onEnter:y,onEntering:r.onEntering,onEntered:w,onExit:r.onExit,onExited:r.onExited},e.createElement("div",{ref:o,className:l,style:r.panelStyle,onClick:r.onClick},i,a)));return e.createElement(b,{element:D,appendTo:r.appendTo})})));function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function G(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=M(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,l=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw l}}}}function M(e,t){if(e){if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}P.displayName="DropdownPanel";var A=e.memo(e.forwardRef((function(n,v){var b=N(e.useState(""),2),g=b[0],y=b[1],O=N(e.useState(!1),2),E=O[0],C=O[1],S=N(e.useState(!1),2),I=S[0],F=S[1],x=e.useRef(null),D=e.useRef(null),L=e.useRef(n.inputRef),j=e.useRef(n.focusInputRef),k=e.useRef(null),T=e.useRef(null),M=e.useRef(null),K=n.virtualScrollerOptions&&n.virtualScrollerOptions.lazy,V=s.isNotEmpty(g),H=n.appendTo||t.appendTo,B=N(o({target:x,overlay:D,listener:function(e,t){t.valid&&("outside"===t.type?!z(e)&&ve():ve())},when:I}),2),J=B[0],X=B[1],z=function(e){return f.hasClass(e.target,"p-dropdown-clear-icon")||f.hasClass(e.target,"p-dropdown-filter-clear-icon")},_=function(e){n.showOnFocus&&!I&&me(),C(!0),n.onFocus&&n.onFocus(e)},q=function(e){C(!1),n.onBlur&&setTimeout((function(){var t=L.current?L.current.value:void 0;n.onBlur({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})}),200)},U=function(e){switch(e.which){case 40:W(e);break;case 38:$(e);break;case 32:case 13:I?ve():me(),e.preventDefault();break;case 27:case 9:ve();break;default:te(e)}},$=function(e){if(Fe){var t=Q(se());t&&pe({originalEvent:e,option:t})}e.preventDefault()},W=function(e){if(Fe)if(!I&&e.altKey)me();else{var t=Y(se());t&&pe({originalEvent:e,option:t})}e.preventDefault()},Y=function e(t){if(n.optionGroupLabel){var r=-1===t?0:t.group,o=-1===t?-1:t.option,l=Z(Oe(Fe[r]),o);return l||(r+1!==Fe.length?e({group:r+1,option:-1}):null)}return Z(Fe,t)},Z=function e(t,n){var r=n+1;if(r===t.length)return null;var o=t[r];return we(o)?e(r):o},Q=function e(t){if(-1===t)return null;if(n.optionGroupLabel){var r=t.group,o=t.option,l=ee(Oe(Fe[r]),o);return l||(r>0?e({group:r-1,option:Oe(Fe[r-1]).length}):null)}return ee(Fe,t)},ee=function(e,t){var n=t-1;if(n<0)return null;var r=e[n];return we(r)?Q(n):r},te=function(e){k.current&&clearTimeout(k.current);var t=e.key;if("Shift"!==t&&"Control"!==t&&"Alt"!==t){if(T.current=M.current===t?t:T.current?T.current+t:t,M.current=t,T.current){var r=se(),o=n.optionGroupLabel?oe(r):ne(r+1);o&&pe({originalEvent:e,option:o})}k.current=setTimeout((function(){T.current=null}),250)}},ne=function(e){return T.current?re(e,Fe.length)||re(0,e):null},re=function(e,t){for(var n=e;n<t;n++){var r=Fe[n];if(le(r))return r}return null},oe=function(e){for(var t=-1===e?{group:0,option:-1}:e,n=t.group;n<Fe.length;n++)for(var r=Oe(Fe[n]),o=t.group===n?t.option+1:0;o<r.length;o++)if(le(r[o]))return r[o];for(var l=0;l<=t.group;l++)for(var i=Oe(Fe[l]),a=0;a<(t.group===l?t.option:i.length);a++)if(le(i[a]))return i[a];return null},le=function(e){var t=ye(e);return!!t&&(t=t.toLocaleLowerCase(n.filterLocale)).startsWith(T.current.toLocaleLowerCase(n.filterLocale))},ie=function(e){n.onChange&&n.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:e.target.value}})},ae=function(e){C(!0),ve(),n.onFocus&&n.onFocus(e)},ue=function(e){y(""),n.onFilter&&n.onFilter({filter:""}),e&&e()},ce=function(e){n.onChange&&n.onChange({originalEvent:e,value:void 0,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:void 0}}),ge()},pe=function(e){if(xe!==e.option){ge(e.option);var t=he(e.option);n.onChange&&n.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})}},se=function(e){if(e=e||Fe,null!=n.value&&e){if(!n.optionGroupLabel)return de(n.value,e);for(var t=0;t<e.length;t++){var r=de(n.value,Oe(e[t]));if(-1!==r)return{group:t,option:r}}}return-1},fe=function(){return n.optionValue?null:n.dataKey},de=function(e,t){var n=fe();return t.findIndex((function(t){return s.equals(e,he(t),n)}))},me=function(){F(!0)},ve=function(){F(!1)},be=function(){f.alignOverlay(D.current,L.current.parentElement,n.appendTo||t.appendTo)},ge=function(e){L.current&&(L.current.value=e?ye(e):n.value||"")},ye=function(e){return n.optionLabel?s.resolveFieldData(e,n.optionLabel):e&&void 0!==e.label?e.label:e},he=function(e){return n.optionValue?s.resolveFieldData(e,n.optionValue):e&&void 0!==e.value?e.value:e},we=function(e){return n.optionDisabled?s.isFunction(n.optionDisabled)?n.optionDisabled(e):s.resolveFieldData(e,n.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Oe=function(e){return s.resolveFieldData(e,n.optionGroupChildren)},Ee=function(){if(n.editable&&L.current){var e=xe?ye(xe):null;L.current.value=e||n.value||""}};e.useImperativeHandle(v,(function(){return{props:n,show:me,hide:ve,focus:function(){return f.focus(j.current)},getElement:function(){return x.current},getOverlay:function(){return D.current},getInput:function(){return L.current},getFocusInput:function(){return j.current}}})),e.useEffect((function(){s.combinedRefs(L,n.inputRef),s.combinedRefs(j,n.focusInputRef)}),[L,n.inputRef,j,n.focusInputRef]),l((function(){n.autoFocus&&f.focus(j.current,n.autoFocus)})),i((function(){var e;I&&n.value&&(e=f.findSingle(D.current,"li.p-highlight"))&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"nearest"})}),[I,n.value]),i((function(){I&&g&&n.filter&&be()}),[I,g,n.filter]),i((function(){!g||n.options&&0!==n.options.length||y(""),Ee(),L.current&&(L.current.selectedIndex=1)})),a((function(){d.clear(D.current)}));var Ce,Se,Ie,Fe=function(){if(V&&!K){var e=g.trim().toLocaleLowerCase(n.filterLocale),t=n.filterBy?n.filterBy.split(","):[n.optionLabel||"label"];if(n.optionGroupLabel){var o,l=[],i=G(n.options);try{for(i.s();!(o=i.n()).done;){var a=o.value,u=r.filter(Oe(a),t,e,n.filterMatchMode,n.filterLocale);u&&u.length&&l.push(R(R({},a),{items:u}))}}catch(e){i.e(e)}finally{i.f()}return l}return r.filter(n.options,t,e,n.filterMatchMode,n.filterLocale)}return n.options}(),xe=-1!==(Ce=se(n.options))?n.optionGroupLabel?Oe(n.options[Ce.group])[Ce.option]:n.options[Ce]:null,De=s.isNotEmpty(n.tooltip),Ne=s.findDiffKeys(n,A.defaultProps),Le=s.reduceKeys(Ne,f.ARIA_PROPS),je=p("p-dropdown p-component p-inputwrapper",{"p-disabled":n.disabled,"p-focus":E,"p-dropdown-clearable":n.showClear&&!n.disabled,"p-inputwrapper-filled":s.isNotEmpty(n.value),"p-inputwrapper-focus":E||I},n.className),ke=function(){var t={value:"",label:n.placeholder};if(xe){var r=he(xe);t={value:"object"===w(r)?n.options.findIndex((function(e){return e===r})):r,label:ye(xe)}}return e.createElement("div",{className:"p-hidden-accessible p-dropdown-hidden-select"},e.createElement("select",{ref:L,required:n.required,defaultValue:t.value,name:n.name,tabIndex:-1,"aria-hidden":"true"},e.createElement("option",{value:t.value},t.label)))}(),Pe=e.createElement("div",{className:"p-hidden-accessible"},e.createElement("input",h({ref:j,id:n.inputId,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:_,onBlur:q,onKeyDown:U,disabled:n.disabled,tabIndex:n.tabIndex},Le))),Te=function(){var t=s.isNotEmpty(xe)?ye(xe):null;if(n.editable)return e.createElement("input",h({ref:L,type:"text",defaultValue:t||n.value||"",className:"p-dropdown-label p-inputtext",disabled:n.disabled,placeholder:n.placeholder,maxLength:n.maxLength,onInput:ie,onFocus:ae,onBlur:q,"aria-haspopup":"listbox"},Le));var r=p("p-dropdown-label p-inputtext",{"p-placeholder":null===t&&n.placeholder,"p-dropdown-label-empty":null===t&&!n.placeholder}),o=n.valueTemplate?s.getJSXElement(n.valueTemplate,xe,n):t||n.placeholder||"empty";return e.createElement("span",{ref:L,className:r},o)}(),Re=(Se=p("p-dropdown-trigger-icon p-clickable"),Ie=m.getJSXIcon(n.dropdownIcon,{className:Se}),e.createElement("div",{className:"p-dropdown-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":I,"aria-label":n.placeholder||n.ariaLabel},Ie)),Ge=function(){if(null!=n.value&&n.showClear&&!n.disabled){var e=p("p-dropdown-clear-icon p-clickable");return m.getJSXIcon(n.clearIcon,{className:e,onPointerUp:ce})}return null}();return e.createElement(e.Fragment,null,e.createElement("div",h({ref:x,id:n.id,className:je,style:n.style},Ne,{onClick:function(e){n.disabled||(n.onClick&&n.onClick(e),e.defaultPrevented||f.hasClass(e.target,"p-dropdown-clear-icon")||"INPUT"===e.target.tagName||D.current&&D.current&&D.current.contains(e.target)||(f.focus(j.current),I?ve():me()))},onMouseDown:n.onMouseDown,onContextMenu:n.onContextMenu}),Pe,ke,Te,Ge,Re,e.createElement(P,h({ref:D,visibleOptions:Fe},n,{appendTo:H,onClick:function(e){u.emit("overlay-click",{originalEvent:e,target:x.current})},onOptionClick:function(e){e.option.disabled||(pe(e),f.focus(j.current)),ve()},filterValue:g,hasFilter:V,onFilterClearIconClick:function(e){ue(e)},resetFilter:ue,onFilterInputKeyDown:function(e){switch(e.which){case 40:W(e);break;case 38:$(e);break;case 13:case 27:ve(),e.preventDefault()}},onFilterInputChange:function(e){var t=e.target.value;y(t),n.onFilter&&n.onFilter({originalEvent:e,filter:t})},getOptionLabel:ye,getOptionRenderKey:function(e){return n.dataKey?s.resolveFieldData(e,n.dataKey):ye(e)},isOptionDisabled:we,getOptionGroupChildren:Oe,getOptionGroupLabel:function(e){return s.resolveFieldData(e,n.optionGroupLabel)},getOptionGroupRenderKey:function(e){return s.resolveFieldData(e,n.optionGroupLabel)},isSelected:function(e){return s.equals(n.value,he(e),fe())},getSelectedOptionIndex:se,in:I,onEnter:function(e){d.set("overlay",D.current,t.autoZIndex,t.zIndex.overlay),be(),e&&e()},onEntered:function(e){e&&e(),J(),n.onShow&&n.onShow()},onExit:function(){X()},onExited:function(){n.filter&&n.resetFilterOnHide&&ue(),d.clear(D.current),n.onHide&&n.onHide()}}))),De&&e.createElement(c,h({target:x,content:n.tooltip},n.tooltipOptions)))})));A.displayName="Dropdown",A.defaultProps={__TYPE:"Dropdown",appendTo:null,ariaLabel:null,ariaLabelledBy:null,autoFocus:!1,className:null,clearIcon:"pi pi-times",dataKey:null,disabled:!1,dropdownIcon:"pi pi-chevron-down",editable:!1,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterInputAutoFocus:!0,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,focusInputRef:null,id:null,inputId:null,inputRef:null,itemTemplate:null,maxLength:null,name:null,onBlur:null,onChange:null,onContextMenu:null,onFilter:null,onFocus:null,onHide:null,onMouseDown:null,onShow:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,panelClassName:null,panelStyle:null,placeholder:null,required:!1,resetFilterOnHide:!1,scrollHeight:"200px",showClear:!1,showFilterClear:!1,showOnFocus:!1,style:null,tabIndex:null,tooltip:null,tooltipOptions:null,transitionOptions:null,value:null,valueTemplate:null,virtualScrollerOptions:null};export{A as Dropdown};
|