primereact 8.0.1 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/api.cjs.js +22 -1
- package/api/api.cjs.min.js +1 -1
- package/api/api.esm.js +22 -2
- package/api/api.esm.min.js +1 -1
- package/api/api.js +22 -1
- package/api/api.min.js +1 -1
- package/autocomplete/autocomplete.cjs.js +42 -24
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.d.ts +0 -1
- package/autocomplete/autocomplete.esm.js +43 -25
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +42 -24
- package/autocomplete/autocomplete.min.js +1 -1
- package/avatar/avatar.cjs.js +7 -7
- package/avatar/avatar.cjs.min.js +1 -1
- package/avatar/avatar.d.ts +1 -3
- package/avatar/avatar.esm.js +7 -7
- package/avatar/avatar.esm.min.js +1 -1
- package/avatar/avatar.js +7 -7
- package/avatar/avatar.min.js +1 -1
- package/badge/badge.cjs.js +2 -2
- package/badge/badge.cjs.min.js +1 -1
- package/badge/badge.d.ts +2 -4
- package/badge/badge.esm.js +2 -2
- package/badge/badge.esm.min.js +1 -1
- package/badge/badge.js +2 -2
- package/badge/badge.min.js +1 -1
- package/breadcrumb/breadcrumb.cjs.js +22 -6
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +22 -6
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +22 -6
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/button/button.cjs.js +1 -1
- package/button/button.cjs.min.js +1 -1
- package/button/button.esm.js +1 -1
- package/button/button.esm.min.js +1 -1
- package/button/button.js +1 -1
- package/button/button.min.js +1 -1
- package/calendar/calendar.cjs.js +80 -7
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.d.ts +7 -5
- package/calendar/calendar.esm.js +80 -7
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +80 -7
- package/calendar/calendar.min.js +1 -1
- package/captcha/captcha.cjs.js +1 -0
- package/captcha/captcha.esm.js +1 -0
- package/captcha/captcha.js +1 -0
- package/card/card.d.ts +1 -4
- package/carousel/carousel.cjs.js +18 -17
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +19 -18
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +19 -18
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +5 -4
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +1 -1
- package/cascadeselect/cascadeselect.esm.js +5 -4
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +5 -4
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/chart/chart.cjs.js +13 -7
- package/chart/chart.cjs.min.js +1 -1
- package/chart/chart.esm.js +13 -7
- package/chart/chart.esm.min.js +1 -1
- package/chart/chart.js +13 -7
- package/chart/chart.min.js +1 -1
- package/checkbox/checkbox.cjs.js +1 -2
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +2 -3
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +1 -2
- package/checkbox/checkbox.min.js +1 -1
- package/chip/chip.d.ts +1 -3
- package/chips/chips.cjs.js +18 -2
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.d.ts +3 -0
- package/chips/chips.esm.js +19 -3
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +19 -4
- package/chips/chips.min.js +1 -1
- package/column/column.cjs.js +2 -1
- package/column/column.cjs.min.js +1 -1
- package/column/column.d.ts +2 -0
- package/column/column.esm.js +2 -1
- package/column/column.esm.min.js +1 -1
- package/column/column.js +2 -1
- package/column/column.min.js +1 -1
- package/confirmdialog/confirmdialog.d.ts +1 -6
- package/contextmenu/contextmenu.cjs.js +1 -0
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +1 -0
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +1 -0
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +390 -160
- package/core/core.min.js +14 -14
- package/datatable/datatable.cjs.js +68 -27
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +69 -28
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +68 -27
- package/datatable/datatable.min.css +1 -1
- package/datatable/datatable.min.js +1 -1
- package/dialog/dialog.cjs.js +7 -3
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.d.ts +2 -0
- package/dialog/dialog.esm.js +7 -3
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +7 -3
- package/dialog/dialog.min.js +1 -1
- package/dropdown/dropdown.cjs.js +32 -25
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +1 -1
- package/dropdown/dropdown.esm.js +32 -25
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +32 -25
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +11 -3
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +11 -3
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +11 -3
- package/editor/editor.min.js +1 -1
- package/fileupload/fileupload.cjs.js +46 -19
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.d.ts +1 -0
- package/fileupload/fileupload.esm.js +46 -19
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +46 -19
- package/fileupload/fileupload.min.js +1 -1
- package/fullcalendar/fullcalendar.cjs.js +1 -0
- package/fullcalendar/fullcalendar.esm.js +1 -0
- package/fullcalendar/fullcalendar.js +1 -0
- package/hooks/hooks.cjs.js +48 -2
- package/hooks/hooks.cjs.min.js +1 -1
- package/hooks/hooks.d.ts +3 -1
- package/hooks/hooks.esm.js +47 -3
- package/hooks/hooks.esm.min.js +1 -1
- package/hooks/hooks.js +48 -2
- package/hooks/hooks.min.js +1 -1
- package/image/image.cjs.js +5 -5
- package/image/image.cjs.min.js +1 -1
- package/image/image.d.ts +1 -3
- package/image/image.esm.js +5 -5
- package/image/image.esm.min.js +1 -1
- package/image/image.js +5 -5
- package/image/image.min.css +1 -1
- package/image/image.min.js +1 -1
- package/inplace/inplace.cjs.js +1 -1
- package/inplace/inplace.cjs.min.js +1 -1
- package/inplace/inplace.esm.js +1 -1
- package/inplace/inplace.esm.min.js +1 -1
- package/inplace/inplace.js +1 -1
- package/inplace/inplace.min.js +1 -1
- package/inputmask/inputmask.cjs.js +7 -5
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.d.ts +0 -1
- package/inputmask/inputmask.esm.js +7 -5
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +7 -5
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +37 -4
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +38 -5
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +37 -4
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/inputswitch.cjs.js +1 -1
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.d.ts +1 -1
- package/inputswitch/inputswitch.esm.js +2 -2
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +1 -1
- package/inputswitch/inputswitch.min.css +1 -1
- package/inputswitch/inputswitch.min.js +1 -1
- package/inputtext/inputtext.min.css +1 -1
- package/listbox/listbox.cjs.js +84 -15
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.d.ts +2 -1
- package/listbox/listbox.esm.js +84 -15
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +85 -17
- package/listbox/listbox.min.js +1 -1
- package/megamenu/megamenu.cjs.js +32 -12
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.d.ts +7 -0
- package/megamenu/megamenu.esm.js +32 -12
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +32 -12
- package/megamenu/megamenu.min.css +1 -1
- package/megamenu/megamenu.min.js +1 -1
- package/mention/mention.cjs.js +8 -4
- package/mention/mention.cjs.min.js +1 -1
- package/mention/mention.esm.js +8 -4
- package/mention/mention.esm.min.js +1 -1
- package/mention/mention.js +8 -4
- package/mention/mention.min.js +1 -1
- package/menubar/menubar.cjs.js +1 -0
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +1 -0
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +1 -0
- package/menubar/menubar.min.js +1 -1
- package/menuitem/menuitem.d.ts +2 -0
- package/message/message.d.ts +1 -1
- package/messages/messages.cjs.js +3 -2
- package/messages/messages.cjs.min.js +1 -1
- package/messages/messages.d.ts +1 -1
- package/messages/messages.esm.js +3 -2
- package/messages/messages.esm.min.js +1 -1
- package/messages/messages.js +3 -2
- package/messages/messages.min.js +1 -1
- package/multiselect/multiselect.cjs.js +22 -15
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.d.ts +1 -1
- package/multiselect/multiselect.esm.js +22 -15
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +22 -15
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +30 -24
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.d.ts +2 -4
- package/multistatecheckbox/multistatecheckbox.esm.js +30 -24
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +31 -26
- package/multistatecheckbox/multistatecheckbox.min.js +1 -1
- package/overlaypanel/overlaypanel.cjs.js +2 -2
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +2 -2
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +2 -2
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +4 -2
- package/paginator/paginator.cjs.js +26 -24
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +26 -24
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +26 -25
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/panelmenu.cjs.js +16 -0
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +17 -1
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +16 -0
- package/panelmenu/panelmenu.min.js +1 -1
- package/picklist/picklist.cjs.js +175 -16
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.d.ts +34 -1
- package/picklist/picklist.esm.js +175 -16
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +176 -18
- package/picklist/picklist.min.css +1 -1
- package/picklist/picklist.min.js +1 -1
- package/primereact.all.cjs.js +1262 -495
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +1260 -496
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +1262 -495
- package/primereact.all.min.js +1 -1
- package/progressbar/progressbar.cjs.js +1 -2
- package/progressbar/progressbar.cjs.min.js +1 -1
- package/progressbar/progressbar.esm.js +1 -2
- package/progressbar/progressbar.esm.min.js +1 -1
- package/progressbar/progressbar.js +1 -2
- package/progressbar/progressbar.min.js +1 -1
- package/radiobutton/radiobutton.cjs.js +6 -6
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.d.ts +0 -1
- package/radiobutton/radiobutton.esm.js +7 -7
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +6 -6
- package/radiobutton/radiobutton.min.js +1 -1
- package/resources/primereact.css +266 -208
- package/resources/primereact.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +20 -7
- package/resources/themes/arya-green/theme.css +20 -7
- package/resources/themes/arya-orange/theme.css +20 -7
- package/resources/themes/arya-purple/theme.css +20 -7
- package/resources/themes/bootstrap4-dark-blue/theme.css +20 -7
- package/resources/themes/bootstrap4-dark-purple/theme.css +20 -7
- package/resources/themes/bootstrap4-light-blue/theme.css +19 -6
- package/resources/themes/bootstrap4-light-purple/theme.css +19 -6
- package/resources/themes/fluent-light/theme.css +20 -7
- package/resources/themes/lara-dark-blue/theme.css +20 -7
- package/resources/themes/lara-dark-indigo/theme.css +20 -7
- package/resources/themes/lara-dark-purple/theme.css +20 -7
- package/resources/themes/lara-dark-teal/theme.css +20 -7
- package/resources/themes/lara-light-blue/theme.css +20 -7
- package/resources/themes/lara-light-indigo/theme.css +20 -7
- package/resources/themes/lara-light-purple/theme.css +20 -7
- package/resources/themes/lara-light-teal/theme.css +20 -7
- package/resources/themes/luna-amber/theme.css +20 -7
- package/resources/themes/luna-blue/theme.css +20 -7
- package/resources/themes/luna-green/theme.css +20 -7
- package/resources/themes/luna-pink/theme.css +20 -7
- package/resources/themes/md-dark-deeppurple/theme.css +20 -7
- package/resources/themes/md-dark-indigo/theme.css +20 -7
- package/resources/themes/md-light-deeppurple/theme.css +20 -7
- package/resources/themes/md-light-indigo/theme.css +20 -7
- package/resources/themes/mdc-dark-deeppurple/theme.css +20 -7
- package/resources/themes/mdc-dark-indigo/theme.css +20 -7
- package/resources/themes/mdc-light-deeppurple/theme.css +20 -7
- package/resources/themes/mdc-light-indigo/theme.css +20 -7
- package/resources/themes/nova/theme.css +20 -7
- package/resources/themes/nova-accent/theme.css +20 -7
- package/resources/themes/nova-alt/theme.css +20 -7
- package/resources/themes/rhea/theme.css +20 -7
- package/resources/themes/saga-blue/theme.css +20 -7
- package/resources/themes/saga-green/theme.css +20 -7
- package/resources/themes/saga-orange/theme.css +20 -7
- package/resources/themes/saga-purple/theme.css +20 -7
- package/resources/themes/tailwind-light/theme.css +20 -7
- package/resources/themes/vela-blue/theme.css +20 -7
- package/resources/themes/vela-green/theme.css +20 -7
- package/resources/themes/vela-orange/theme.css +20 -7
- package/resources/themes/vela-purple/theme.css +20 -7
- package/selectbutton/selectbutton.cjs.js +2 -6
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.d.ts +1 -1
- package/selectbutton/selectbutton.esm.js +2 -6
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +2 -6
- package/selectbutton/selectbutton.min.js +1 -1
- package/slidemenu/slidemenu.cjs.js +39 -7
- package/slidemenu/slidemenu.cjs.min.js +1 -1
- package/slidemenu/slidemenu.esm.js +39 -7
- package/slidemenu/slidemenu.esm.min.js +1 -1
- package/slidemenu/slidemenu.js +39 -7
- package/slidemenu/slidemenu.min.js +1 -1
- package/slider/slider.cjs.js +6 -3
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.d.ts +1 -1
- package/slider/slider.esm.js +6 -3
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +6 -3
- package/slider/slider.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +16 -9
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.d.ts +4 -0
- package/splitbutton/splitbutton.esm.js +16 -9
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +16 -9
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +15 -7
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.esm.js +16 -8
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +15 -7
- package/splitter/splitter.min.js +1 -1
- package/steps/steps.cjs.js +1 -0
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.esm.js +1 -0
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +1 -0
- package/steps/steps.min.js +1 -1
- package/styleclass/styleclass.cjs.js +26 -21
- package/styleclass/styleclass.cjs.min.js +1 -1
- package/styleclass/styleclass.d.ts +1 -1
- package/styleclass/styleclass.esm.js +26 -21
- package/styleclass/styleclass.esm.min.js +1 -1
- package/styleclass/styleclass.js +26 -21
- package/styleclass/styleclass.min.js +1 -1
- package/tag/tag.d.ts +1 -1
- package/terminal/terminal.cjs.js +1 -1
- package/terminal/terminal.cjs.min.js +1 -1
- package/terminal/terminal.esm.js +2 -2
- package/terminal/terminal.esm.min.js +1 -1
- package/terminal/terminal.js +1 -1
- package/terminal/terminal.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +3 -1
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- 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/toast/toast.cjs.js +30 -35
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.d.ts +2 -1
- package/toast/toast.esm.js +30 -35
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +30 -35
- package/toast/toast.min.css +1 -1
- package/toast/toast.min.js +1 -1
- package/tooltip/tooltip.cjs.js +28 -22
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.esm.js +28 -22
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +28 -22
- package/tooltip/tooltip.min.js +1 -1
- package/tree/tree.cjs.js +9 -1
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +9 -1
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +9 -1
- package/tree/tree.min.js +1 -1
- package/treeselect/treeselect.cjs.js +2 -2
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.esm.js +2 -2
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +2 -2
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/treetable.cjs.js +11 -1
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.d.ts +3 -3
- package/treetable/treetable.esm.js +11 -1
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +11 -1
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +25 -23
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.d.ts +2 -4
- package/tristatecheckbox/tristatecheckbox.esm.js +25 -23
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +26 -25
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/utils.cjs.js +21 -5
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +1 -0
- package/utils/utils.esm.js +21 -5
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +21 -5
- package/utils/utils.min.js +1 -1
- package/virtualscroller/virtualscroller.cjs.js +154 -65
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.d.ts +12 -0
- package/virtualscroller/virtualscroller.esm.js +156 -67
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +154 -65
- package/virtualscroller/virtualscroller.min.css +1 -1
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +252 -66
|
@@ -1 +1 @@
|
|
|
1
|
-
.p-inputswitch{position:relative;display:inline-block}.p-inputswitch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0}.p-inputswitch-slider:before{position:absolute;content:"";top:50%}
|
|
1
|
+
.p-inputswitch{position:relative;display:inline-block}.p-inputswitch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;border:1px solid transparent}.p-inputswitch-slider:before{position:absolute;content:"";top:50%}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primereact=this.primereact||{},this.primereact.inputswitch=function(e,t,n,r){"use strict";function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var a=l(t);function i(){return i=Object.assign||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},i.apply(this,arguments)}function u(e){if(Array.isArray(e))return e}function o(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,a=[],i=!0,u=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){u=!0,l=e}finally{try{i||null==n.return||n.return()}finally{if(u)throw l}}return a}}function c(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 s(e,t){if(e){if("string"==typeof e)return c(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)?c(e,t):void 0}}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var p=a.memo(a.forwardRef((function(e,t){var l,c,d=a.useState(!1),b=(c=2,u(l=d)||o(l,c)||s(l,c)||f()),m=b[0],h=b[1],y=a.useRef(null),v=a.useRef(e.inputRef),g=e.checked===e.trueValue,O=function(t){if(e.onChange){var n=g?e.falseValue:e.trueValue;e.onChange({originalEvent:t,value:n,stopPropagation:function(){},preventDefault:function(){},target:{name:e.name,id:e.id,value:n}})}};a.useEffect((function(){r.ObjectUtils.combinedRefs(v,e.inputRef)}),[v,e.inputRef]);var w=r.ObjectUtils.isNotEmpty(e.tooltip),j=r.ObjectUtils.findDiffKeys(e,p.defaultProps),E=r.classNames("p-inputswitch p-component",{"p-inputswitch-checked":g,"p-disabled":e.disabled,"p-focus":m},e.className);return a.createElement(a.Fragment,null,a.createElement("div",i({ref:y,id:e.id,className:E,style:e.style},j,{onClick:function(t){e.disabled||(O(t),
|
|
1
|
+
this.primereact=this.primereact||{},this.primereact.inputswitch=function(e,t,n,r){"use strict";function l(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var a=l(t);function i(){return i=Object.assign||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},i.apply(this,arguments)}function u(e){if(Array.isArray(e))return e}function o(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,a=[],i=!0,u=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){u=!0,l=e}finally{try{i||null==n.return||n.return()}finally{if(u)throw l}}return a}}function c(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 s(e,t){if(e){if("string"==typeof e)return c(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)?c(e,t):void 0}}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var p=a.memo(a.forwardRef((function(e,t){var l,c,d=a.useState(!1),b=(c=2,u(l=d)||o(l,c)||s(l,c)||f()),m=b[0],h=b[1],y=a.useRef(null),v=a.useRef(e.inputRef),g=e.checked===e.trueValue,O=function(t){if(e.onChange){var n=g?e.falseValue:e.trueValue;e.onChange({originalEvent:t,value:n,stopPropagation:function(){},preventDefault:function(){},target:{name:e.name,id:e.id,value:n}})}};a.useEffect((function(){r.ObjectUtils.combinedRefs(v,e.inputRef)}),[v,e.inputRef]);var w=r.ObjectUtils.isNotEmpty(e.tooltip),j=r.ObjectUtils.findDiffKeys(e,p.defaultProps),E=r.classNames("p-inputswitch p-component",{"p-inputswitch-checked":g,"p-disabled":e.disabled,"p-focus":m},e.className);return a.createElement(a.Fragment,null,a.createElement("div",i({ref:y,id:e.id,className:E,style:e.style},j,{onClick:function(t){e.disabled||(O(t),r.DomHandler.focus(v.current),t.preventDefault())},role:"checkbox","aria-checked":g}),a.createElement("div",{className:"p-hidden-accessible"},a.createElement("input",{ref:v,type:"checkbox",id:e.inputId,name:e.name,checked:g,onChange:O,onFocus:function(t){h(!0),e.onFocus&&e.onFocus(t)},onBlur:function(t){h(!1),e.onBlur&&e.onBlur(t)},disabled:e.disabled,role:"switch",tabIndex:e.tabIndex,"aria-checked":g,"aria-labelledby":e["aria-labelledby"],"aria-label":e["aria-label"]})),a.createElement("span",{className:"p-inputswitch-slider"})),w&&a.createElement(n.Tooltip,i({target:y,content:e.tooltip},e.tooltipOptions)))})));return p.displayName="InputSwitch",p.defaultProps={__TYPE:"InputSwitch",id:null,inputRef:null,style:null,className:null,inputId:null,name:null,tabIndex:null,checked:!1,trueValue:!0,falseValue:!1,disabled:!1,tooltip:null,tooltipOptions:null,"aria-label":null,"aria-labelledby":null,onChange:null,onFocus:null,onBlur:null},e.InputSwitch=p,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.tooltip,primereact.utils);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputwrapper,.p-fluid .p-inputgroup .p-input{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea ~ label{top:1rem}.p-float-label input:focus ~ label,.p-float-label input.p-filled ~ label,.p-float-label textarea:focus ~ label,.p-float-label textarea.p-filled ~ label,.p-float-label .p-inputwrapper-focus ~ label,.p-float-label .p-inputwrapper-filled ~ label{top:-.75rem;font-size:12px}.p-float-label input
|
|
1
|
+
.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputwrapper,.p-fluid .p-inputgroup .p-input{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea ~ label{top:1rem}.p-float-label input:focus ~ label,.p-float-label input:-webkit-autofill ~ label,.p-float-label input.p-filled ~ label,.p-float-label textarea:focus ~ label,.p-float-label textarea.p-filled ~ label,.p-float-label .p-inputwrapper-focus ~ label,.p-float-label .p-inputwrapper-filled ~ label{top:-.75rem;font-size:12px}.p-float-label .p-placeholder,.p-float-label input::placeholder,.p-float-label .p-inputtext::placeholder{opacity:0;transition-property:all;transition-timing-function:ease}.p-float-label .p-focus .p-placeholder,.p-float-label input:focus::placeholder,.p-float-label .p-inputtext:focus::placeholder{opacity:1;transition-property:all;transition-timing-function:ease}.p-input-icon-left,.p-input-icon-right{position:relative;display:inline-block}.p-input-icon-left>i,.p-input-icon-right>i,.p-input-icon-left>svg,.p-input-icon-right>svg,.p-input-icon-left>.p-input-prefix,.p-input-icon-right>.p-input-suffix{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right{display:block;width:100%}
|
package/listbox/listbox.cjs.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var api = require('primereact/api');
|
|
7
|
+
var hooks = require('primereact/hooks');
|
|
7
8
|
var tooltip = require('primereact/tooltip');
|
|
8
9
|
var utils = require('primereact/utils');
|
|
9
10
|
var virtualscroller = require('primereact/virtualscroller');
|
|
@@ -154,14 +155,14 @@ var ListBoxHeader = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
154
155
|
className: "p-listbox-header"
|
|
155
156
|
}, /*#__PURE__*/React__namespace.createElement("div", {
|
|
156
157
|
className: "p-listbox-filter-container"
|
|
157
|
-
}, /*#__PURE__*/React__namespace.createElement(inputtext.InputText, {
|
|
158
|
+
}, /*#__PURE__*/React__namespace.createElement(inputtext.InputText, _extends({
|
|
158
159
|
type: "text",
|
|
159
160
|
value: props.filter,
|
|
160
161
|
onChange: onFilter,
|
|
161
162
|
className: "p-listbox-filter",
|
|
162
163
|
disabled: props.disabled,
|
|
163
164
|
placeholder: props.filterPlaceholder
|
|
164
|
-
}), /*#__PURE__*/React__namespace.createElement("span", {
|
|
165
|
+
}, props.filterInputProps)), /*#__PURE__*/React__namespace.createElement("span", {
|
|
165
166
|
className: "p-listbox-filter-icon pi pi-search"
|
|
166
167
|
})));
|
|
167
168
|
});
|
|
@@ -231,14 +232,16 @@ var ListBoxItem = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
231
232
|
var content = props.template ? utils.ObjectUtils.getJSXElement(props.template, props.option) : props.label;
|
|
232
233
|
return /*#__PURE__*/React__namespace.createElement("li", {
|
|
233
234
|
className: className,
|
|
235
|
+
style: props.style,
|
|
234
236
|
onClick: onClick,
|
|
235
237
|
onTouchEnd: onTouchEnd,
|
|
236
238
|
onKeyDown: onKeyDown,
|
|
237
|
-
tabIndex:
|
|
239
|
+
tabIndex: "-1",
|
|
238
240
|
"aria-label": props.label,
|
|
239
241
|
key: props.label,
|
|
240
242
|
role: "option",
|
|
241
|
-
"aria-selected": props.selected
|
|
243
|
+
"aria-selected": props.selected,
|
|
244
|
+
"aria-disabled": props.disabled
|
|
242
245
|
}, content, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
|
|
243
246
|
});
|
|
244
247
|
ListBoxItem.displayName = 'ListBoxItem';
|
|
@@ -349,6 +352,7 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
349
352
|
};
|
|
350
353
|
|
|
351
354
|
var onFilter = function onFilter(event) {
|
|
355
|
+
virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(0);
|
|
352
356
|
var originalEvent = event.originalEvent,
|
|
353
357
|
value = event.value;
|
|
354
358
|
|
|
@@ -384,11 +388,44 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
384
388
|
});
|
|
385
389
|
};
|
|
386
390
|
|
|
391
|
+
var getSelectedOptionIndex = function getSelectedOptionIndex() {
|
|
392
|
+
if (props.value != null && visibleOptions) {
|
|
393
|
+
if (props.optionGroupLabel) {
|
|
394
|
+
for (var i = 0; i < visibleOptions.length; i++) {
|
|
395
|
+
var selectedOptionIndex = findOptionIndexInList(props.value, getOptionGroupChildren(visibleOptions[i]));
|
|
396
|
+
|
|
397
|
+
if (selectedOptionIndex !== -1) {
|
|
398
|
+
return {
|
|
399
|
+
group: i,
|
|
400
|
+
option: selectedOptionIndex
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
} else {
|
|
405
|
+
return findOptionIndexInList(props.value, visibleOptions);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
return -1;
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
var equalityKey = function equalityKey() {
|
|
413
|
+
return props.optionValue ? null : props.dataKey;
|
|
414
|
+
};
|
|
415
|
+
|
|
416
|
+
var findOptionIndexInList = function findOptionIndexInList(value, list) {
|
|
417
|
+
var key = equalityKey();
|
|
418
|
+
return list.findIndex(function (item) {
|
|
419
|
+
return utils.ObjectUtils.equals(value, getOptionValue(item), key);
|
|
420
|
+
});
|
|
421
|
+
};
|
|
422
|
+
|
|
387
423
|
var isSelected = function isSelected(option) {
|
|
388
424
|
var optionValue = getOptionValue(option);
|
|
425
|
+
var key = equalityKey();
|
|
389
426
|
return props.multiple && props.value ? props.value.some(function (val) {
|
|
390
|
-
return utils.ObjectUtils.equals(val, optionValue,
|
|
391
|
-
}) : utils.ObjectUtils.equals(props.value, optionValue,
|
|
427
|
+
return utils.ObjectUtils.equals(val, optionValue, key);
|
|
428
|
+
}) : utils.ObjectUtils.equals(props.value, optionValue, key);
|
|
392
429
|
};
|
|
393
430
|
|
|
394
431
|
var getOptionLabel = function getOptionLabel(option) {
|
|
@@ -460,16 +497,33 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
460
497
|
}
|
|
461
498
|
};
|
|
462
499
|
|
|
500
|
+
var scrollToSelectedIndex = function scrollToSelectedIndex() {
|
|
501
|
+
if (virtualScrollerRef.current) {
|
|
502
|
+
var selectedIndex = getSelectedOptionIndex();
|
|
503
|
+
|
|
504
|
+
if (selectedIndex !== -1) {
|
|
505
|
+
setTimeout(function () {
|
|
506
|
+
return virtualScrollerRef.current.scrollToIndex(selectedIndex);
|
|
507
|
+
}, 0);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
};
|
|
511
|
+
|
|
512
|
+
hooks.useMountEffect(function () {
|
|
513
|
+
scrollToSelectedIndex();
|
|
514
|
+
});
|
|
515
|
+
|
|
463
516
|
var createHeader = function createHeader() {
|
|
464
517
|
return props.filter ? /*#__PURE__*/React__namespace.createElement(ListBoxHeader, {
|
|
465
518
|
filter: filteredValue,
|
|
466
519
|
onFilter: onFilter,
|
|
467
520
|
disabled: props.disabled,
|
|
468
|
-
filterPlaceholder: props.filterPlaceholder
|
|
521
|
+
filterPlaceholder: props.filterPlaceholder,
|
|
522
|
+
filterInputProps: props.filterInputProps
|
|
469
523
|
}) : null;
|
|
470
524
|
};
|
|
471
525
|
|
|
472
|
-
var createGroupChildren = function createGroupChildren(optionGroup) {
|
|
526
|
+
var createGroupChildren = function createGroupChildren(optionGroup, style) {
|
|
473
527
|
var groupChildren = getOptionGroupChildren(optionGroup);
|
|
474
528
|
return groupChildren.map(function (option, j) {
|
|
475
529
|
var optionLabel = getOptionLabel(option);
|
|
@@ -480,6 +534,7 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
480
534
|
key: optionKey,
|
|
481
535
|
label: optionLabel,
|
|
482
536
|
option: option,
|
|
537
|
+
style: style,
|
|
483
538
|
template: props.itemTemplate,
|
|
484
539
|
selected: isSelected(option),
|
|
485
540
|
onClick: onOptionSelect,
|
|
@@ -491,14 +546,21 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
491
546
|
};
|
|
492
547
|
|
|
493
548
|
var createItem = function createItem(option, index) {
|
|
549
|
+
var scrollerOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
550
|
+
var style = {
|
|
551
|
+
height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
|
|
552
|
+
};
|
|
553
|
+
|
|
494
554
|
if (props.optionGroupLabel) {
|
|
495
555
|
var groupContent = props.optionGroupTemplate ? utils.ObjectUtils.getJSXElement(props.optionGroupTemplate, option, index) : getOptionGroupLabel(option);
|
|
496
|
-
var groupChildrenContent = createGroupChildren(option);
|
|
556
|
+
var groupChildrenContent = createGroupChildren(option, style);
|
|
497
557
|
var key = index + '_' + getOptionGroupRenderKey(option);
|
|
498
558
|
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
|
|
499
559
|
key: key
|
|
500
560
|
}, /*#__PURE__*/React__namespace.createElement("li", {
|
|
501
|
-
className: "p-listbox-item-group"
|
|
561
|
+
className: "p-listbox-item-group",
|
|
562
|
+
style: style,
|
|
563
|
+
role: "group"
|
|
502
564
|
}, groupContent), groupChildrenContent);
|
|
503
565
|
} else {
|
|
504
566
|
var optionLabel = getOptionLabel(option);
|
|
@@ -509,6 +571,7 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
509
571
|
key: optionKey,
|
|
510
572
|
label: optionLabel,
|
|
511
573
|
option: option,
|
|
574
|
+
style: style,
|
|
512
575
|
template: props.itemTemplate,
|
|
513
576
|
selected: isSelected(option),
|
|
514
577
|
onClick: onOptionSelect,
|
|
@@ -532,8 +595,8 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
532
595
|
filter: visibleOptions
|
|
533
596
|
}));
|
|
534
597
|
},
|
|
535
|
-
itemTemplate: function itemTemplate(item,
|
|
536
|
-
return item && createItem(item,
|
|
598
|
+
itemTemplate: function itemTemplate(item, options) {
|
|
599
|
+
return item && createItem(item, options.index, options);
|
|
537
600
|
},
|
|
538
601
|
contentTemplate: function contentTemplate(option) {
|
|
539
602
|
var className = utils.classNames('p-listbox-list', option.className);
|
|
@@ -541,7 +604,9 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
541
604
|
ref: option.contentRef,
|
|
542
605
|
className: className,
|
|
543
606
|
role: "listbox",
|
|
544
|
-
"aria-multiselectable": props.multiple
|
|
607
|
+
"aria-multiselectable": props.multiple,
|
|
608
|
+
"aria-labelledby": props['aria-labelledby'],
|
|
609
|
+
"aria-label": props['aria-label']
|
|
545
610
|
}, option.children);
|
|
546
611
|
}
|
|
547
612
|
});
|
|
@@ -554,7 +619,9 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
|
|
|
554
619
|
return /*#__PURE__*/React__namespace.createElement("ul", {
|
|
555
620
|
className: "p-listbox-list",
|
|
556
621
|
role: "listbox",
|
|
557
|
-
"aria-multiselectable": props.multiple
|
|
622
|
+
"aria-multiselectable": props.multiple,
|
|
623
|
+
"aria-labelledby": props['aria-labelledby'],
|
|
624
|
+
"aria-label": props['aria-label']
|
|
558
625
|
}, items);
|
|
559
626
|
}
|
|
560
627
|
};
|
|
@@ -609,10 +676,12 @@ ListBox.defaultProps = {
|
|
|
609
676
|
filterMatchMode: 'contains',
|
|
610
677
|
filterPlaceholder: null,
|
|
611
678
|
filterLocale: undefined,
|
|
679
|
+
filterInputProps: null,
|
|
612
680
|
tabIndex: 0,
|
|
613
681
|
tooltip: null,
|
|
614
682
|
tooltipOptions: null,
|
|
615
|
-
|
|
683
|
+
'aria-label': null,
|
|
684
|
+
'aria-labelledby': null,
|
|
616
685
|
onChange: null,
|
|
617
686
|
onFilterValueChange: null
|
|
618
687
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/tooltip"),l=require("primereact/utils"),r=require("primereact/virtualscroller"),a=require("primereact/inputtext"),i=require("primereact/ripple");function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var u=o(e);function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},c.apply(this,arguments)}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}function f(e){if(Array.isArray(e))return p(e)}function d(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function m(e,t){if(e){if("string"==typeof e)return p(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)?p(e,t):void 0}}function b(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(e){return f(e)||d(e)||m(e)||b()}function y(e){if(Array.isArray(e))return e}function h(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var l,r,a=[],i=!0,o=!1;try{for(n=n.call(e);!(i=(l=n.next()).done)&&(a.push(l.value),!t||a.length!==t);i=!0);}catch(e){o=!0,r=e}finally{try{i||null==n.return||n.return()}finally{if(o)throw r}}return a}}function g(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var O=u.memo((function(e){return u.createElement("div",{className:"p-listbox-header"},u.createElement("div",{className:"p-listbox-filter-container"},u.createElement(a.InputText,{type:"text",value:e.filter,onChange:function(t){e.onFilter&&e.onFilter({originalEvent:t,value:t.target.value})},className:"p-listbox-filter",disabled:e.disabled,placeholder:e.filterPlaceholder}),u.createElement("span",{className:"p-listbox-filter-icon pi pi-search"})))}));O.displayName="ListBoxHeader";var E=u.memo((function(e){var t=function(t){e.onClick&&e.onClick({originalEvent:t,option:e.option}),t.preventDefault()},n=function e(t){var n=t.nextElementSibling;return n?l.DomHandler.hasClass(n,"p-disabled")||l.DomHandler.hasClass(n,"p-listbox-item-group")?e(n):n:null},r=function e(t){var n=t.previousElementSibling;return n?l.DomHandler.hasClass(n,"p-disabled")||l.DomHandler.hasClass(n,"p-listbox-item-group")?e(n):n:null},a=l.classNames("p-listbox-item",{"p-highlight":e.selected,"p-disabled":e.disabled},e.option.className),o=e.template?l.ObjectUtils.getJSXElement(e.template,e.option):e.label;return u.createElement("li",{className:a,onClick:t,onTouchEnd:function(t){e.onTouchEnd&&e.onTouchEnd({originalEvent:t,option:e.option})},onKeyDown:function(e){var l=e.currentTarget;switch(e.which){case 40:var a=n(l);a&&a.focus(),e.preventDefault();break;case 38:var i=r(l);i&&i.focus(),e.preventDefault();break;case 13:t(e),e.preventDefault()}},tabIndex:e.tabIndex,"aria-label":e.label,key:e.label,role:"option","aria-selected":e.selected},o,u.createElement(i.Ripple,null))}));function j(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,l)}return n}function x(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){s(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}function S(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=D(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var l=0,r=function(){};return{s:r,n:function(){return l>=e.length?{done:!0}:{done:!1,value:e[l++]}},e:function(e){throw e},f:r}}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 a,i=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){o=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(o)throw a}}}}function D(e,t){if(e){if("string"==typeof e)return w(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)?w(e,t):void 0}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}E.displayName="ListBoxItem";var C=u.memo(u.forwardRef((function(e,a){var i,o,s=u.useState(""),p=(o=2,y(i=s)||h(i,o)||m(i,o)||g()),f=p[0],d=p[1],b=u.useRef(null),j=u.useRef(null),D=u.useRef(!1),w=(e.onFilterValueChange?e.filterValue:f)||"",L=w&&w.trim().length>0,N=function(t){var n=t.option;e.disabled||M(n)||(e.multiple?F(t.originalEvent,n):T(t.originalEvent,n),D.current=!1)},P=function(){e.disabled||(D.current=!0)},T=function(t,n){var l=K(n),r=!1,a=null;!D.current&&e.metaKeySelection?l?(t.metaKey||t.ctrlKey)&&(a=null,r=!0):(a=q(n),r=!0):(a=l?null:q(n),r=!0);r&&U(t,a)},F=function(t,n){var l=K(n),r=!1,a=null;if(!D&&e.metaKeySelection){var i=t.metaKey||t.ctrlKey;l?(a=i?A(n):[q(n)],r=!0):(a=[].concat(v(a=i&&e.value||[]),[q(n)]),r=!0)}else a=l?A(n):[].concat(v(e.value||[]),[q(n)]),r=!0;r&&e.onChange({originalEvent:t,value:a,stopPropagation:function(){},preventDefault:function(){},target:{name:e.name,id:e.id,value:a}})},I=function(t){var n=t.value;e.onFilterValueChange?e.onFilterValueChange({originalEvent:t.originalEvent,value:n}):d(n)},U=function(t,n){e.onChange&&e.onChange({originalEvent:t,value:n,stopPropagation:function(){},preventDefault:function(){},target:{name:e.name,id:e.id,value:n}})},A=function(t){return e.value.filter((function(n){return!l.ObjectUtils.equals(n,q(t),e.dataKey)}))},K=function(t){var n=q(t);return e.multiple&&e.value?e.value.some((function(t){return l.ObjectUtils.equals(t,n,e.dataKey)})):l.ObjectUtils.equals(e.value,n,e.dataKey)},k=function(t){return e.optionLabel?l.ObjectUtils.resolveFieldData(t,e.optionLabel):t&&void 0!==t.label?t.label:t},q=function(t){return e.optionValue?l.ObjectUtils.resolveFieldData(t,e.optionValue):t&&void 0!==t.value?t.value:t},G=function(t){return e.dataKey?l.ObjectUtils.resolveFieldData(t,e.dataKey):k(t)},M=function(t){return e.optionDisabled?l.ObjectUtils.isFunction(e.optionDisabled)?e.optionDisabled(t):l.ObjectUtils.resolveFieldData(t,e.optionDisabled):!(!t||void 0===t.disabled)&&t.disabled},V=function(t){return l.ObjectUtils.resolveFieldData(t,e.optionGroupLabel)},B=function(t){return l.ObjectUtils.resolveFieldData(t,e.optionGroupChildren)},_=function(t){return B(t).map((function(t,n){var l=k(t),r=n+"_"+G(t),a=M(t),i=a?null:e.tabIndex||0;return u.createElement(E,{key:r,label:l,option:t,template:e.itemTemplate,selected:K(t),onClick:N,onTouchEnd:P,tabIndex:i,disabled:a})}))},R=function(t,n){if(e.optionGroupLabel){var r=e.optionGroupTemplate?l.ObjectUtils.getJSXElement(e.optionGroupTemplate,t,n):l.ObjectUtils.resolveFieldData(t,e.optionGroupLabel),a=_(t),i=n+"_"+V(t);return u.createElement(u.Fragment,{key:i},u.createElement("li",{className:"p-listbox-item-group"},r),a)}var o=k(t),c=n+"_"+G(t),s=M(t),p=s?null:e.tabIndex||0;return u.createElement(E,{key:c,label:o,option:t,template:e.itemTemplate,selected:K(t),onClick:N,onTouchEnd:P,tabIndex:p,disabled:s})},H=function(){if(L){var n=w.trim().toLocaleLowerCase(e.filterLocale),l=e.filterBy?e.filterBy.split(","):[e.optionLabel||"label"];if(e.optionGroupLabel){var r,a=[],i=S(e.options);try{for(i.s();!(r=i.n()).done;){var o=r.value,u=t.FilterService.filter(B(o),l,n,e.filterMatchMode,e.filterLocale);u&&u.length&&a.push(x(x({},o),{items:u}))}}catch(e){i.e(e)}finally{i.f()}return a}return t.FilterService.filter(e.options,l,n,e.filterMatchMode,e.filterLocale)}return e.options}(),z=l.ObjectUtils.isNotEmpty(e.tooltip),J=l.ObjectUtils.findDiffKeys(e,C.defaultProps),X=l.classNames("p-listbox p-component",{"p-disabled":e.disabled},e.className),$=l.classNames("p-listbox-list-wrapper",e.listClassName),Y=function(){if(e.virtualScrollerOptions){var t=x(x({},e.virtualScrollerOptions),{items:H,onLazyLoad:function(t){return e.virtualScrollerOptions.onLazyLoad(x(x({},t),{filter:H}))},itemTemplate:function(e,t){return e&&R(e,t.index)},contentTemplate:function(t){var n=l.classNames("p-listbox-list",t.className);return u.createElement("ul",{ref:t.contentRef,className:n,role:"listbox","aria-multiselectable":e.multiple},t.children)}});return u.createElement(r.VirtualScroller,c({ref:j},t))}var n=H?H.map(R):null;return u.createElement("ul",{className:"p-listbox-list",role:"listbox","aria-multiselectable":e.multiple},n)}(),Q=e.filter?u.createElement(O,{filter:w,onFilter:I,disabled:e.disabled,filterPlaceholder:e.filterPlaceholder}):null;return u.createElement(u.Fragment,null,u.createElement("div",c({ref:b,id:e.id,className:X,style:e.style},J),Q,u.createElement("div",{className:$,style:e.listStyle},Y)),z&&u.createElement(n.Tooltip,c({target:b,content:e.tooltip},e.tooltipOptions)))})));C.displayName="ListBox",C.defaultProps={__TYPE:"ListBox",id:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,optionGroupTemplate:null,itemTemplate:null,style:null,listStyle:null,listClassName:null,className:null,virtualScrollerOptions:null,disabled:null,dataKey:null,multiple:!1,metaKeySelection:!1,filter:!1,filterBy:null,filterValue:null,filterMatchMode:"contains",filterPlaceholder:null,filterLocale:void 0,tabIndex:0,tooltip:null,tooltipOptions:null,ariaLabelledBy:null,onChange:null,onFilterValueChange:null},exports.ListBox=C;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),r=require("primereact/hooks"),l=require("primereact/tooltip"),n=require("primereact/utils"),a=require("primereact/virtualscroller"),i=require("primereact/inputtext"),o=require("primereact/ripple");function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,l.get?l:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var c=u(e);function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e},s.apply(this,arguments)}function p(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,l=new Array(t);r<t;r++)l[r]=e[r];return l}function d(e){if(Array.isArray(e))return f(e)}function b(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function m(e,t){if(e){if("string"==typeof e)return f(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}function v(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(e){return d(e)||b(e)||m(e)||v()}function h(e){if(Array.isArray(e))return e}function g(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var l,n,a=[],i=!0,o=!1;try{for(r=r.call(e);!(i=(l=r.next()).done)&&(a.push(l.value),!t||a.length!==t);i=!0);}catch(e){o=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(o)throw n}}return a}}function O(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var E=c.memo((function(e){return c.createElement("div",{className:"p-listbox-header"},c.createElement("div",{className:"p-listbox-filter-container"},c.createElement(i.InputText,s({type:"text",value:e.filter,onChange:function(t){e.onFilter&&e.onFilter({originalEvent:t,value:t.target.value})},className:"p-listbox-filter",disabled:e.disabled,placeholder:e.filterPlaceholder},e.filterInputProps)),c.createElement("span",{className:"p-listbox-filter-icon pi pi-search"})))}));E.displayName="ListBoxHeader";var j=c.memo((function(e){var t=function(t){e.onClick&&e.onClick({originalEvent:t,option:e.option}),t.preventDefault()},r=function e(t){var r=t.nextElementSibling;return r?n.DomHandler.hasClass(r,"p-disabled")||n.DomHandler.hasClass(r,"p-listbox-item-group")?e(r):r:null},l=function e(t){var r=t.previousElementSibling;return r?n.DomHandler.hasClass(r,"p-disabled")||n.DomHandler.hasClass(r,"p-listbox-item-group")?e(r):r:null},a=n.classNames("p-listbox-item",{"p-highlight":e.selected,"p-disabled":e.disabled},e.option.className),i=e.template?n.ObjectUtils.getJSXElement(e.template,e.option):e.label;return c.createElement("li",{className:a,style:e.style,onClick:t,onTouchEnd:function(t){e.onTouchEnd&&e.onTouchEnd({originalEvent:t,option:e.option})},onKeyDown:function(e){var n=e.currentTarget;switch(e.which){case 40:var a=r(n);a&&a.focus(),e.preventDefault();break;case 38:var i=l(n);i&&i.focus(),e.preventDefault();break;case 13:t(e),e.preventDefault()}},tabIndex:"-1","aria-label":e.label,key:e.label,role:"option","aria-selected":e.selected,"aria-disabled":e.disabled},i,c.createElement(o.Ripple,null))}));function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,l)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?x(Object(r),!0).forEach((function(t){p(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function D(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=w(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var l=0,n=function(){};return{s:n,n:function(){return l>=e.length?{done:!0}:{done:!1,value:e[l++]}},e:function(e){throw e},f:n}}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 a,i=!0,o=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){o=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(o)throw a}}}}function w(e,t){if(e){if("string"==typeof e)return P(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?P(e,t):void 0}}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,l=new Array(t);r<t;r++)l[r]=e[r];return l}j.displayName="ListBoxItem";var C=c.memo(c.forwardRef((function(e,i){var o,u,p=c.useState(""),f=(u=2,h(o=p)||g(o,u)||m(o,u)||O()),d=f[0],b=f[1],v=c.useRef(null),x=c.useRef(null),w=c.useRef(!1),P=(e.onFilterValueChange?e.filterValue:d)||"",L=P&&P.trim().length>0,N=function(t){var r=t.option;e.disabled||R(r)||(e.multiple?F(t.originalEvent,r):T(t.originalEvent,r),w.current=!1)},I=function(){e.disabled||(w.current=!0)},T=function(t,r){var l=M(r),n=!1,a=null;!w.current&&e.metaKeySelection?l?(t.metaKey||t.ctrlKey)&&(a=null,n=!0):(a=_(r),n=!0):(a=l?null:_(r),n=!0);n&&A(t,a)},F=function(t,r){var l=M(r),n=!1,a=null;if(!w&&e.metaKeySelection){var i=t.metaKey||t.ctrlKey;l?(a=i?k(r):[_(r)],n=!0):(a=[].concat(y(a=i&&e.value||[]),[_(r)]),n=!0)}else a=l?k(r):[].concat(y(e.value||[]),[_(r)]),n=!0;n&&e.onChange({originalEvent:t,value:a,stopPropagation:function(){},preventDefault:function(){},target:{name:e.name,id:e.id,value:a}})},U=function(t){x.current&&x.current.scrollToIndex(0);var r=t.value;e.onFilterValueChange?e.onFilterValueChange({originalEvent:t.originalEvent,value:r}):b(r)},A=function(t,r){e.onChange&&e.onChange({originalEvent:t,value:r,stopPropagation:function(){},preventDefault:function(){},target:{name:e.name,id:e.id,value:r}})},k=function(t){return e.value.filter((function(r){return!n.ObjectUtils.equals(r,_(t),e.dataKey)}))},K=function(){if(null!=e.value&&Q){if(!e.optionGroupLabel)return G(e.value,Q);for(var t=0;t<Q.length;t++){var r=G(e.value,J(Q[t]));if(-1!==r)return{group:t,option:r}}}return-1},q=function(){return e.optionValue?null:e.dataKey},G=function(e,t){var r=q();return t.findIndex((function(t){return n.ObjectUtils.equals(e,_(t),r)}))},M=function(t){var r=_(t),l=q();return e.multiple&&e.value?e.value.some((function(e){return n.ObjectUtils.equals(e,r,l)})):n.ObjectUtils.equals(e.value,r,l)},V=function(t){return e.optionLabel?n.ObjectUtils.resolveFieldData(t,e.optionLabel):t&&void 0!==t.label?t.label:t},_=function(t){return e.optionValue?n.ObjectUtils.resolveFieldData(t,e.optionValue):t&&void 0!==t.value?t.value:t},B=function(t){return e.dataKey?n.ObjectUtils.resolveFieldData(t,e.dataKey):V(t)},R=function(t){return e.optionDisabled?n.ObjectUtils.isFunction(e.optionDisabled)?e.optionDisabled(t):n.ObjectUtils.resolveFieldData(t,e.optionDisabled):!(!t||void 0===t.disabled)&&t.disabled},H=function(t){return n.ObjectUtils.resolveFieldData(t,e.optionGroupLabel)},z=function(t){return n.ObjectUtils.resolveFieldData(t,e.optionGroupLabel)},J=function(t){return n.ObjectUtils.resolveFieldData(t,e.optionGroupChildren)},X=function(){if(x.current){var e=K();-1!==e&&setTimeout((function(){return x.current.scrollToIndex(e)}),0)}};r.useMountEffect((function(){X()}));var $=function(t,r){return J(t).map((function(t,l){var n=V(t),a=l+"_"+B(t),i=R(t),o=i?null:e.tabIndex||0;return c.createElement(j,{key:a,label:n,option:t,style:r,template:e.itemTemplate,selected:M(t),onClick:N,onTouchEnd:I,tabIndex:o,disabled:i})}))},Y=function(t,r){var l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a={height:l.props?l.props.itemSize:void 0};if(e.optionGroupLabel){var i=e.optionGroupTemplate?n.ObjectUtils.getJSXElement(e.optionGroupTemplate,t,r):z(t),o=$(t,a),u=r+"_"+H(t);return c.createElement(c.Fragment,{key:u},c.createElement("li",{className:"p-listbox-item-group",style:a,role:"group"},i),o)}var s=V(t),p=r+"_"+B(t),f=R(t),d=f?null:e.tabIndex||0;return c.createElement(j,{key:p,label:s,option:t,style:a,template:e.itemTemplate,selected:M(t),onClick:N,onTouchEnd:I,tabIndex:d,disabled:f})},Q=function(){if(L){var r=P.trim().toLocaleLowerCase(e.filterLocale),l=e.filterBy?e.filterBy.split(","):[e.optionLabel||"label"];if(e.optionGroupLabel){var n,a=[],i=D(e.options);try{for(i.s();!(n=i.n()).done;){var o=n.value,u=t.FilterService.filter(J(o),l,r,e.filterMatchMode,e.filterLocale);u&&u.length&&a.push(S(S({},o),{items:u}))}}catch(e){i.e(e)}finally{i.f()}return a}return t.FilterService.filter(e.options,l,r,e.filterMatchMode,e.filterLocale)}return e.options}(),W=n.ObjectUtils.isNotEmpty(e.tooltip),Z=n.ObjectUtils.findDiffKeys(e,C.defaultProps),ee=n.classNames("p-listbox p-component",{"p-disabled":e.disabled},e.className),te=n.classNames("p-listbox-list-wrapper",e.listClassName),re=function(){if(e.virtualScrollerOptions){var t=S(S({},e.virtualScrollerOptions),{items:Q,onLazyLoad:function(t){return e.virtualScrollerOptions.onLazyLoad(S(S({},t),{filter:Q}))},itemTemplate:function(e,t){return e&&Y(e,t.index,t)},contentTemplate:function(t){var r=n.classNames("p-listbox-list",t.className);return c.createElement("ul",{ref:t.contentRef,className:r,role:"listbox","aria-multiselectable":e.multiple,"aria-labelledby":e["aria-labelledby"],"aria-label":e["aria-label"]},t.children)}});return c.createElement(a.VirtualScroller,s({ref:x},t))}var r=Q?Q.map(Y):null;return c.createElement("ul",{className:"p-listbox-list",role:"listbox","aria-multiselectable":e.multiple,"aria-labelledby":e["aria-labelledby"],"aria-label":e["aria-label"]},r)}(),le=e.filter?c.createElement(E,{filter:P,onFilter:U,disabled:e.disabled,filterPlaceholder:e.filterPlaceholder,filterInputProps:e.filterInputProps}):null;return c.createElement(c.Fragment,null,c.createElement("div",s({ref:v,id:e.id,className:ee,style:e.style},Z),le,c.createElement("div",{className:te,style:e.listStyle},re)),W&&c.createElement(l.Tooltip,s({target:v,content:e.tooltip},e.tooltipOptions)))})));C.displayName="ListBox",C.defaultProps={__TYPE:"ListBox",id:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,optionGroupTemplate:null,itemTemplate:null,style:null,listStyle:null,listClassName:null,className:null,virtualScrollerOptions:null,disabled:null,dataKey:null,multiple:!1,metaKeySelection:!1,filter:!1,filterBy:null,filterValue:null,filterMatchMode:"contains",filterPlaceholder:null,filterLocale:void 0,filterInputProps:null,tabIndex:0,tooltip:null,tooltipOptions:null,"aria-label":null,"aria-labelledby":null,onChange:null,onFilterValueChange:null},exports.ListBox=C;
|
package/listbox/listbox.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { SelectItemOptionsType } from '../selectitem/
|
|
2
|
+
import { SelectItemOptionsType } from '../selectitem/selectitem';
|
|
3
3
|
import TooltipOptions from '../tooltip/tooltipoptions';
|
|
4
4
|
import { VirtualScrollerProps } from '../virtualscroller';
|
|
5
5
|
|
|
@@ -55,6 +55,7 @@ export interface ListBoxProps extends Omit<React.DetailedHTMLProps<React.InputHT
|
|
|
55
55
|
filterMatchMode?: string;
|
|
56
56
|
filterPlaceholder?: string;
|
|
57
57
|
filterLocale?: string;
|
|
58
|
+
filterInputProps?: any;
|
|
58
59
|
tabIndex?: number;
|
|
59
60
|
tooltip?: string;
|
|
60
61
|
tooltipOptions?: TooltipOptions;
|
package/listbox/listbox.esm.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { FilterService } from 'primereact/api';
|
|
3
|
+
import { useMountEffect } from 'primereact/hooks';
|
|
3
4
|
import { Tooltip } from 'primereact/tooltip';
|
|
4
5
|
import { classNames, ObjectUtils, DomHandler } from 'primereact/utils';
|
|
5
6
|
import { VirtualScroller } from 'primereact/virtualscroller';
|
|
@@ -130,14 +131,14 @@ var ListBoxHeader = /*#__PURE__*/React.memo(function (props) {
|
|
|
130
131
|
className: "p-listbox-header"
|
|
131
132
|
}, /*#__PURE__*/React.createElement("div", {
|
|
132
133
|
className: "p-listbox-filter-container"
|
|
133
|
-
}, /*#__PURE__*/React.createElement(InputText, {
|
|
134
|
+
}, /*#__PURE__*/React.createElement(InputText, _extends({
|
|
134
135
|
type: "text",
|
|
135
136
|
value: props.filter,
|
|
136
137
|
onChange: onFilter,
|
|
137
138
|
className: "p-listbox-filter",
|
|
138
139
|
disabled: props.disabled,
|
|
139
140
|
placeholder: props.filterPlaceholder
|
|
140
|
-
}), /*#__PURE__*/React.createElement("span", {
|
|
141
|
+
}, props.filterInputProps)), /*#__PURE__*/React.createElement("span", {
|
|
141
142
|
className: "p-listbox-filter-icon pi pi-search"
|
|
142
143
|
})));
|
|
143
144
|
});
|
|
@@ -207,14 +208,16 @@ var ListBoxItem = /*#__PURE__*/React.memo(function (props) {
|
|
|
207
208
|
var content = props.template ? ObjectUtils.getJSXElement(props.template, props.option) : props.label;
|
|
208
209
|
return /*#__PURE__*/React.createElement("li", {
|
|
209
210
|
className: className,
|
|
211
|
+
style: props.style,
|
|
210
212
|
onClick: onClick,
|
|
211
213
|
onTouchEnd: onTouchEnd,
|
|
212
214
|
onKeyDown: onKeyDown,
|
|
213
|
-
tabIndex:
|
|
215
|
+
tabIndex: "-1",
|
|
214
216
|
"aria-label": props.label,
|
|
215
217
|
key: props.label,
|
|
216
218
|
role: "option",
|
|
217
|
-
"aria-selected": props.selected
|
|
219
|
+
"aria-selected": props.selected,
|
|
220
|
+
"aria-disabled": props.disabled
|
|
218
221
|
}, content, /*#__PURE__*/React.createElement(Ripple, null));
|
|
219
222
|
});
|
|
220
223
|
ListBoxItem.displayName = 'ListBoxItem';
|
|
@@ -325,6 +328,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
325
328
|
};
|
|
326
329
|
|
|
327
330
|
var onFilter = function onFilter(event) {
|
|
331
|
+
virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(0);
|
|
328
332
|
var originalEvent = event.originalEvent,
|
|
329
333
|
value = event.value;
|
|
330
334
|
|
|
@@ -360,11 +364,44 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
360
364
|
});
|
|
361
365
|
};
|
|
362
366
|
|
|
367
|
+
var getSelectedOptionIndex = function getSelectedOptionIndex() {
|
|
368
|
+
if (props.value != null && visibleOptions) {
|
|
369
|
+
if (props.optionGroupLabel) {
|
|
370
|
+
for (var i = 0; i < visibleOptions.length; i++) {
|
|
371
|
+
var selectedOptionIndex = findOptionIndexInList(props.value, getOptionGroupChildren(visibleOptions[i]));
|
|
372
|
+
|
|
373
|
+
if (selectedOptionIndex !== -1) {
|
|
374
|
+
return {
|
|
375
|
+
group: i,
|
|
376
|
+
option: selectedOptionIndex
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
} else {
|
|
381
|
+
return findOptionIndexInList(props.value, visibleOptions);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
return -1;
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
var equalityKey = function equalityKey() {
|
|
389
|
+
return props.optionValue ? null : props.dataKey;
|
|
390
|
+
};
|
|
391
|
+
|
|
392
|
+
var findOptionIndexInList = function findOptionIndexInList(value, list) {
|
|
393
|
+
var key = equalityKey();
|
|
394
|
+
return list.findIndex(function (item) {
|
|
395
|
+
return ObjectUtils.equals(value, getOptionValue(item), key);
|
|
396
|
+
});
|
|
397
|
+
};
|
|
398
|
+
|
|
363
399
|
var isSelected = function isSelected(option) {
|
|
364
400
|
var optionValue = getOptionValue(option);
|
|
401
|
+
var key = equalityKey();
|
|
365
402
|
return props.multiple && props.value ? props.value.some(function (val) {
|
|
366
|
-
return ObjectUtils.equals(val, optionValue,
|
|
367
|
-
}) : ObjectUtils.equals(props.value, optionValue,
|
|
403
|
+
return ObjectUtils.equals(val, optionValue, key);
|
|
404
|
+
}) : ObjectUtils.equals(props.value, optionValue, key);
|
|
368
405
|
};
|
|
369
406
|
|
|
370
407
|
var getOptionLabel = function getOptionLabel(option) {
|
|
@@ -436,16 +473,33 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
436
473
|
}
|
|
437
474
|
};
|
|
438
475
|
|
|
476
|
+
var scrollToSelectedIndex = function scrollToSelectedIndex() {
|
|
477
|
+
if (virtualScrollerRef.current) {
|
|
478
|
+
var selectedIndex = getSelectedOptionIndex();
|
|
479
|
+
|
|
480
|
+
if (selectedIndex !== -1) {
|
|
481
|
+
setTimeout(function () {
|
|
482
|
+
return virtualScrollerRef.current.scrollToIndex(selectedIndex);
|
|
483
|
+
}, 0);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
};
|
|
487
|
+
|
|
488
|
+
useMountEffect(function () {
|
|
489
|
+
scrollToSelectedIndex();
|
|
490
|
+
});
|
|
491
|
+
|
|
439
492
|
var createHeader = function createHeader() {
|
|
440
493
|
return props.filter ? /*#__PURE__*/React.createElement(ListBoxHeader, {
|
|
441
494
|
filter: filteredValue,
|
|
442
495
|
onFilter: onFilter,
|
|
443
496
|
disabled: props.disabled,
|
|
444
|
-
filterPlaceholder: props.filterPlaceholder
|
|
497
|
+
filterPlaceholder: props.filterPlaceholder,
|
|
498
|
+
filterInputProps: props.filterInputProps
|
|
445
499
|
}) : null;
|
|
446
500
|
};
|
|
447
501
|
|
|
448
|
-
var createGroupChildren = function createGroupChildren(optionGroup) {
|
|
502
|
+
var createGroupChildren = function createGroupChildren(optionGroup, style) {
|
|
449
503
|
var groupChildren = getOptionGroupChildren(optionGroup);
|
|
450
504
|
return groupChildren.map(function (option, j) {
|
|
451
505
|
var optionLabel = getOptionLabel(option);
|
|
@@ -456,6 +510,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
456
510
|
key: optionKey,
|
|
457
511
|
label: optionLabel,
|
|
458
512
|
option: option,
|
|
513
|
+
style: style,
|
|
459
514
|
template: props.itemTemplate,
|
|
460
515
|
selected: isSelected(option),
|
|
461
516
|
onClick: onOptionSelect,
|
|
@@ -467,14 +522,21 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
467
522
|
};
|
|
468
523
|
|
|
469
524
|
var createItem = function createItem(option, index) {
|
|
525
|
+
var scrollerOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
526
|
+
var style = {
|
|
527
|
+
height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
|
|
528
|
+
};
|
|
529
|
+
|
|
470
530
|
if (props.optionGroupLabel) {
|
|
471
531
|
var groupContent = props.optionGroupTemplate ? ObjectUtils.getJSXElement(props.optionGroupTemplate, option, index) : getOptionGroupLabel(option);
|
|
472
|
-
var groupChildrenContent = createGroupChildren(option);
|
|
532
|
+
var groupChildrenContent = createGroupChildren(option, style);
|
|
473
533
|
var key = index + '_' + getOptionGroupRenderKey(option);
|
|
474
534
|
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
475
535
|
key: key
|
|
476
536
|
}, /*#__PURE__*/React.createElement("li", {
|
|
477
|
-
className: "p-listbox-item-group"
|
|
537
|
+
className: "p-listbox-item-group",
|
|
538
|
+
style: style,
|
|
539
|
+
role: "group"
|
|
478
540
|
}, groupContent), groupChildrenContent);
|
|
479
541
|
} else {
|
|
480
542
|
var optionLabel = getOptionLabel(option);
|
|
@@ -485,6 +547,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
485
547
|
key: optionKey,
|
|
486
548
|
label: optionLabel,
|
|
487
549
|
option: option,
|
|
550
|
+
style: style,
|
|
488
551
|
template: props.itemTemplate,
|
|
489
552
|
selected: isSelected(option),
|
|
490
553
|
onClick: onOptionSelect,
|
|
@@ -508,8 +571,8 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
508
571
|
filter: visibleOptions
|
|
509
572
|
}));
|
|
510
573
|
},
|
|
511
|
-
itemTemplate: function itemTemplate(item,
|
|
512
|
-
return item && createItem(item,
|
|
574
|
+
itemTemplate: function itemTemplate(item, options) {
|
|
575
|
+
return item && createItem(item, options.index, options);
|
|
513
576
|
},
|
|
514
577
|
contentTemplate: function contentTemplate(option) {
|
|
515
578
|
var className = classNames('p-listbox-list', option.className);
|
|
@@ -517,7 +580,9 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
517
580
|
ref: option.contentRef,
|
|
518
581
|
className: className,
|
|
519
582
|
role: "listbox",
|
|
520
|
-
"aria-multiselectable": props.multiple
|
|
583
|
+
"aria-multiselectable": props.multiple,
|
|
584
|
+
"aria-labelledby": props['aria-labelledby'],
|
|
585
|
+
"aria-label": props['aria-label']
|
|
521
586
|
}, option.children);
|
|
522
587
|
}
|
|
523
588
|
});
|
|
@@ -530,7 +595,9 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (p
|
|
|
530
595
|
return /*#__PURE__*/React.createElement("ul", {
|
|
531
596
|
className: "p-listbox-list",
|
|
532
597
|
role: "listbox",
|
|
533
|
-
"aria-multiselectable": props.multiple
|
|
598
|
+
"aria-multiselectable": props.multiple,
|
|
599
|
+
"aria-labelledby": props['aria-labelledby'],
|
|
600
|
+
"aria-label": props['aria-label']
|
|
534
601
|
}, items);
|
|
535
602
|
}
|
|
536
603
|
};
|
|
@@ -585,10 +652,12 @@ ListBox.defaultProps = {
|
|
|
585
652
|
filterMatchMode: 'contains',
|
|
586
653
|
filterPlaceholder: null,
|
|
587
654
|
filterLocale: undefined,
|
|
655
|
+
filterInputProps: null,
|
|
588
656
|
tabIndex: 0,
|
|
589
657
|
tooltip: null,
|
|
590
658
|
tooltipOptions: null,
|
|
591
|
-
|
|
659
|
+
'aria-label': null,
|
|
660
|
+
'aria-labelledby': null,
|
|
592
661
|
onChange: null,
|
|
593
662
|
onFilterValueChange: null
|
|
594
663
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import{FilterService as t}from"primereact/api";import{Tooltip as n}from"primereact/tooltip";import{classNames as r,ObjectUtils as l,DomHandler as o}from"primereact/utils";import{VirtualScroller as a}from"primereact/virtualscroller";import{InputText as i}from"primereact/inputtext";import{Ripple as u}from"primereact/ripple";function c(){return c=Object.assign||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},c.apply(this,arguments)}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(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 f(e){if(Array.isArray(e))return p(e)}function m(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function d(e,t){if(e){if("string"==typeof e)return p(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)?p(e,t):void 0}}function b(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(e){return f(e)||m(e)||d(e)||b()}function y(e){if(Array.isArray(e))return e}function h(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,o=[],a=!0,i=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(e){i=!0,l=e}finally{try{a||null==n.return||n.return()}finally{if(i)throw l}}return o}}function g(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var E=e.memo((function(t){return e.createElement("div",{className:"p-listbox-header"},e.createElement("div",{className:"p-listbox-filter-container"},e.createElement(i,{type:"text",value:t.filter,onChange:function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},className:"p-listbox-filter",disabled:t.disabled,placeholder:t.filterPlaceholder}),e.createElement("span",{className:"p-listbox-filter-icon pi pi-search"})))}));E.displayName="ListBoxHeader";var x=e.memo((function(t){var n=function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option}),e.preventDefault()},a=function e(t){var n=t.nextElementSibling;return n?o.hasClass(n,"p-disabled")||o.hasClass(n,"p-listbox-item-group")?e(n):n:null},i=function e(t){var n=t.previousElementSibling;return n?o.hasClass(n,"p-disabled")||o.hasClass(n,"p-listbox-item-group")?e(n):n:null},c=r("p-listbox-item",{"p-highlight":t.selected,"p-disabled":t.disabled},t.option.className),s=t.template?l.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:c,onClick:n,onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onKeyDown:function(e){var t=e.currentTarget;switch(e.which){case 40:var r=a(t);r&&r.focus(),e.preventDefault();break;case 38:var l=i(t);l&&l.focus(),e.preventDefault();break;case 13:n(e),e.preventDefault()}},tabIndex:t.tabIndex,"aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected},s,e.createElement(u,null))}));function O(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 S(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function w(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=C(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}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 o,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw o}}}}function C(e,t){if(e){if("string"==typeof e)return D(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)?D(e,t):void 0}}function D(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}x.displayName="ListBoxItem";var L=e.memo(e.forwardRef((function(o,i){var u,s,p=e.useState(""),f=(s=2,y(u=p)||h(u,s)||d(u,s)||g()),m=f[0],b=f[1],O=e.useRef(null),C=e.useRef(null),D=e.useRef(!1),j=(o.onFilterValueChange?o.filterValue:m)||"",N=j&&j.trim().length>0,P=function(e){var t=e.option;o.disabled||R(t)||(o.multiple?I(e.originalEvent,t):F(e.originalEvent,t),D.current=!1)},T=function(){o.disabled||(D.current=!0)},F=function(e,t){var n=G(t),r=!1,l=null;!D.current&&o.metaKeySelection?n?(e.metaKey||e.ctrlKey)&&(l=null,r=!0):(l=B(t),r=!0):(l=n?null:B(t),r=!0);r&&K(e,l)},I=function(e,t){var n=G(t),r=!1,l=null;if(!D&&o.metaKeySelection){var a=e.metaKey||e.ctrlKey;n?(l=a?k(t):[B(t)],r=!0):(l=[].concat(v(l=a&&o.value||[]),[B(t)]),r=!0)}else l=n?k(t):[].concat(v(o.value||[]),[B(t)]),r=!0;r&&o.onChange({originalEvent:e,value:l,stopPropagation:function(){},preventDefault:function(){},target:{name:o.name,id:o.id,value:l}})},A=function(e){var t=e.value;o.onFilterValueChange?o.onFilterValueChange({originalEvent:e.originalEvent,value:t}):b(t)},K=function(e,t){o.onChange&&o.onChange({originalEvent:e,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:o.name,id:o.id,value:t}})},k=function(e){return o.value.filter((function(t){return!l.equals(t,B(e),o.dataKey)}))},G=function(e){var t=B(e);return o.multiple&&o.value?o.value.some((function(e){return l.equals(e,t,o.dataKey)})):l.equals(o.value,t,o.dataKey)},V=function(e){return o.optionLabel?l.resolveFieldData(e,o.optionLabel):e&&void 0!==e.label?e.label:e},B=function(e){return o.optionValue?l.resolveFieldData(e,o.optionValue):e&&void 0!==e.value?e.value:e},M=function(e){return o.dataKey?l.resolveFieldData(e,o.dataKey):V(e)},R=function(e){return o.optionDisabled?l.isFunction(o.optionDisabled)?o.optionDisabled(e):l.resolveFieldData(e,o.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},_=function(e){return l.resolveFieldData(e,o.optionGroupLabel)},q=function(e){return l.resolveFieldData(e,o.optionGroupChildren)},z=function(t){return q(t).map((function(t,n){var r=V(t),l=n+"_"+M(t),a=R(t),i=a?null:o.tabIndex||0;return e.createElement(x,{key:l,label:r,option:t,template:o.itemTemplate,selected:G(t),onClick:P,onTouchEnd:T,tabIndex:i,disabled:a})}))},J=function(t,n){if(o.optionGroupLabel){var r=o.optionGroupTemplate?l.getJSXElement(o.optionGroupTemplate,t,n):l.resolveFieldData(t,o.optionGroupLabel),a=z(t),i=n+"_"+_(t);return e.createElement(e.Fragment,{key:i},e.createElement("li",{className:"p-listbox-item-group"},r),a)}var u=V(t),c=n+"_"+M(t),s=R(t),p=s?null:o.tabIndex||0;return e.createElement(x,{key:c,label:u,option:t,template:o.itemTemplate,selected:G(t),onClick:P,onTouchEnd:T,tabIndex:p,disabled:s})},U=function(){if(N){var e=j.trim().toLocaleLowerCase(o.filterLocale),n=o.filterBy?o.filterBy.split(","):[o.optionLabel||"label"];if(o.optionGroupLabel){var r,l=[],a=w(o.options);try{for(a.s();!(r=a.n()).done;){var i=r.value,u=t.filter(q(i),n,e,o.filterMatchMode,o.filterLocale);u&&u.length&&l.push(S(S({},i),{items:u}))}}catch(e){a.e(e)}finally{a.f()}return l}return t.filter(o.options,n,e,o.filterMatchMode,o.filterLocale)}return o.options}(),X=l.isNotEmpty(o.tooltip),$=l.findDiffKeys(o,L.defaultProps),H=r("p-listbox p-component",{"p-disabled":o.disabled},o.className),Y=r("p-listbox-list-wrapper",o.listClassName),Q=function(){if(o.virtualScrollerOptions){var t=S(S({},o.virtualScrollerOptions),{items:U,onLazyLoad:function(e){return o.virtualScrollerOptions.onLazyLoad(S(S({},e),{filter:U}))},itemTemplate:function(e,t){return e&&J(e,t.index)},contentTemplate:function(t){var n=r("p-listbox-list",t.className);return e.createElement("ul",{ref:t.contentRef,className:n,role:"listbox","aria-multiselectable":o.multiple},t.children)}});return e.createElement(a,c({ref:C},t))}var n=U?U.map(J):null;return e.createElement("ul",{className:"p-listbox-list",role:"listbox","aria-multiselectable":o.multiple},n)}(),W=o.filter?e.createElement(E,{filter:j,onFilter:A,disabled:o.disabled,filterPlaceholder:o.filterPlaceholder}):null;return e.createElement(e.Fragment,null,e.createElement("div",c({ref:O,id:o.id,className:H,style:o.style},$),W,e.createElement("div",{className:Y,style:o.listStyle},Q)),X&&e.createElement(n,c({target:O,content:o.tooltip},o.tooltipOptions)))})));L.displayName="ListBox",L.defaultProps={__TYPE:"ListBox",id:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,optionGroupTemplate:null,itemTemplate:null,style:null,listStyle:null,listClassName:null,className:null,virtualScrollerOptions:null,disabled:null,dataKey:null,multiple:!1,metaKeySelection:!1,filter:!1,filterBy:null,filterValue:null,filterMatchMode:"contains",filterPlaceholder:null,filterLocale:void 0,tabIndex:0,tooltip:null,tooltipOptions:null,ariaLabelledBy:null,onChange:null,onFilterValueChange:null};export{L as ListBox};
|
|
1
|
+
import*as e from"react";import{FilterService as t}from"primereact/api";import{useMountEffect as n}from"primereact/hooks";import{Tooltip as r}from"primereact/tooltip";import{classNames as l,ObjectUtils as a,DomHandler as o}from"primereact/utils";import{VirtualScroller as i}from"primereact/virtualscroller";import{InputText as u}from"primereact/inputtext";import{Ripple as c}from"primereact/ripple";function s(){return s=Object.assign||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},s.apply(this,arguments)}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}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 m(e){if(Array.isArray(e))return f(e)}function d(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function b(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 v(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(e){return m(e)||d(e)||b(e)||v()}function h(e){if(Array.isArray(e))return e}function g(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,a=[],o=!0,i=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);o=!0);}catch(e){i=!0,l=e}finally{try{o||null==n.return||n.return()}finally{if(i)throw l}}return a}}function E(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var x=e.memo((function(t){return e.createElement("div",{className:"p-listbox-header"},e.createElement("div",{className:"p-listbox-filter-container"},e.createElement(u,s({type:"text",value:t.filter,onChange:function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},className:"p-listbox-filter",disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps)),e.createElement("span",{className:"p-listbox-filter-icon pi pi-search"})))}));x.displayName="ListBoxHeader";var O=e.memo((function(t){var n=function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option}),e.preventDefault()},r=function e(t){var n=t.nextElementSibling;return n?o.hasClass(n,"p-disabled")||o.hasClass(n,"p-listbox-item-group")?e(n):n:null},i=function e(t){var n=t.previousElementSibling;return n?o.hasClass(n,"p-disabled")||o.hasClass(n,"p-listbox-item-group")?e(n):n:null},u=l("p-listbox-item",{"p-highlight":t.selected,"p-disabled":t.disabled},t.option.className),s=t.template?a.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:u,style:t.style,onClick:n,onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onKeyDown:function(e){var t=e.currentTarget;switch(e.which){case 40:var l=r(t);l&&l.focus(),e.preventDefault();break;case 38:var a=i(t);a&&a.focus(),e.preventDefault();break;case 13:n(e),e.preventDefault()}},tabIndex:"-1","aria-label":t.label,key:t.label,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled},s,e.createElement(c,null))}));function S(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 w(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach((function(t){p(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function C(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=D(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}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 a,o=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){i=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(i)throw a}}}}function D(e,t){if(e){if("string"==typeof e)return L(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)?L(e,t):void 0}}function L(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}O.displayName="ListBoxItem";var P=e.memo(e.forwardRef((function(o,u){var c,p,f=e.useState(""),m=(p=2,h(c=f)||g(c,p)||b(c,p)||E()),d=m[0],v=m[1],S=e.useRef(null),D=e.useRef(null),L=e.useRef(!1),I=(o.onFilterValueChange?o.filterValue:d)||"",j=I&&I.trim().length>0,T=function(e){var t=e.option;o.disabled||J(t)||(o.multiple?A(e.originalEvent,t):F(e.originalEvent,t),L.current=!1)},N=function(){o.disabled||(L.current=!0)},F=function(e,t){var n=R(t),r=!1,l=null;!L.current&&o.metaKeySelection?n?(e.metaKey||e.ctrlKey)&&(l=null,r=!0):(l=q(t),r=!0):(l=n?null:q(t),r=!0);r&&k(e,l)},A=function(e,t){var n=R(t),r=!1,l=null;if(!L&&o.metaKeySelection){var a=e.metaKey||e.ctrlKey;n?(l=a?G(t):[q(t)],r=!0):(l=[].concat(y(l=a&&o.value||[]),[q(t)]),r=!0)}else l=n?G(t):[].concat(y(o.value||[]),[q(t)]),r=!0;r&&o.onChange({originalEvent:e,value:l,stopPropagation:function(){},preventDefault:function(){},target:{name:o.name,id:o.id,value:l}})},K=function(e){D.current&&D.current.scrollToIndex(0);var t=e.value;o.onFilterValueChange?o.onFilterValueChange({originalEvent:e.originalEvent,value:t}):v(t)},k=function(e,t){o.onChange&&o.onChange({originalEvent:e,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:o.name,id:o.id,value:t}})},G=function(e){return o.value.filter((function(t){return!a.equals(t,q(e),o.dataKey)}))},V=function(){if(null!=o.value&&W){if(!o.optionGroupLabel)return B(o.value,W);for(var e=0;e<W.length;e++){var t=B(o.value,$(W[e]));if(-1!==t)return{group:e,option:t}}}return-1},M=function(){return o.optionValue?null:o.dataKey},B=function(e,t){var n=M();return t.findIndex((function(t){return a.equals(e,q(t),n)}))},R=function(e){var t=q(e),n=M();return o.multiple&&o.value?o.value.some((function(e){return a.equals(e,t,n)})):a.equals(o.value,t,n)},_=function(e){return o.optionLabel?a.resolveFieldData(e,o.optionLabel):e&&void 0!==e.label?e.label:e},q=function(e){return o.optionValue?a.resolveFieldData(e,o.optionValue):e&&void 0!==e.value?e.value:e},z=function(e){return o.dataKey?a.resolveFieldData(e,o.dataKey):_(e)},J=function(e){return o.optionDisabled?a.isFunction(o.optionDisabled)?o.optionDisabled(e):a.resolveFieldData(e,o.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},U=function(e){return a.resolveFieldData(e,o.optionGroupLabel)},X=function(e){return a.resolveFieldData(e,o.optionGroupLabel)},$=function(e){return a.resolveFieldData(e,o.optionGroupChildren)},H=function(){if(D.current){var e=V();-1!==e&&setTimeout((function(){return D.current.scrollToIndex(e)}),0)}};n((function(){H()}));var Y=function(t,n){return $(t).map((function(t,r){var l=_(t),a=r+"_"+z(t),i=J(t),u=i?null:o.tabIndex||0;return e.createElement(O,{key:a,label:l,option:t,style:n,template:o.itemTemplate,selected:R(t),onClick:T,onTouchEnd:N,tabIndex:u,disabled:i})}))},Q=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:r.props?r.props.itemSize:void 0};if(o.optionGroupLabel){var i=o.optionGroupTemplate?a.getJSXElement(o.optionGroupTemplate,t,n):X(t),u=Y(t,l),c=n+"_"+U(t);return e.createElement(e.Fragment,{key:c},e.createElement("li",{className:"p-listbox-item-group",style:l,role:"group"},i),u)}var s=_(t),p=n+"_"+z(t),f=J(t),m=f?null:o.tabIndex||0;return e.createElement(O,{key:p,label:s,option:t,style:l,template:o.itemTemplate,selected:R(t),onClick:T,onTouchEnd:N,tabIndex:m,disabled:f})},W=function(){if(j){var e=I.trim().toLocaleLowerCase(o.filterLocale),n=o.filterBy?o.filterBy.split(","):[o.optionLabel||"label"];if(o.optionGroupLabel){var r,l=[],a=C(o.options);try{for(a.s();!(r=a.n()).done;){var i=r.value,u=t.filter($(i),n,e,o.filterMatchMode,o.filterLocale);u&&u.length&&l.push(w(w({},i),{items:u}))}}catch(e){a.e(e)}finally{a.f()}return l}return t.filter(o.options,n,e,o.filterMatchMode,o.filterLocale)}return o.options}(),Z=a.isNotEmpty(o.tooltip),ee=a.findDiffKeys(o,P.defaultProps),te=l("p-listbox p-component",{"p-disabled":o.disabled},o.className),ne=l("p-listbox-list-wrapper",o.listClassName),re=function(){if(o.virtualScrollerOptions){var t=w(w({},o.virtualScrollerOptions),{items:W,onLazyLoad:function(e){return o.virtualScrollerOptions.onLazyLoad(w(w({},e),{filter:W}))},itemTemplate:function(e,t){return e&&Q(e,t.index,t)},contentTemplate:function(t){var n=l("p-listbox-list",t.className);return e.createElement("ul",{ref:t.contentRef,className:n,role:"listbox","aria-multiselectable":o.multiple,"aria-labelledby":o["aria-labelledby"],"aria-label":o["aria-label"]},t.children)}});return e.createElement(i,s({ref:D},t))}var n=W?W.map(Q):null;return e.createElement("ul",{className:"p-listbox-list",role:"listbox","aria-multiselectable":o.multiple,"aria-labelledby":o["aria-labelledby"],"aria-label":o["aria-label"]},n)}(),le=o.filter?e.createElement(x,{filter:I,onFilter:K,disabled:o.disabled,filterPlaceholder:o.filterPlaceholder,filterInputProps:o.filterInputProps}):null;return e.createElement(e.Fragment,null,e.createElement("div",s({ref:S,id:o.id,className:te,style:o.style},ee),le,e.createElement("div",{className:ne,style:o.listStyle},re)),Z&&e.createElement(r,s({target:S,content:o.tooltip},o.tooltipOptions)))})));P.displayName="ListBox",P.defaultProps={__TYPE:"ListBox",id:null,value:null,options:null,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,optionGroupTemplate:null,itemTemplate:null,style:null,listStyle:null,listClassName:null,className:null,virtualScrollerOptions:null,disabled:null,dataKey:null,multiple:!1,metaKeySelection:!1,filter:!1,filterBy:null,filterValue:null,filterMatchMode:"contains",filterPlaceholder:null,filterLocale:void 0,filterInputProps:null,tabIndex:0,tooltip:null,tooltipOptions:null,"aria-label":null,"aria-labelledby":null,onChange:null,onFilterValueChange:null};export{P as ListBox};
|