primereact 10.5.3 → 10.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.cjs.js +1 -0
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +1 -0
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +1 -0
- package/accordion/accordion.min.js +1 -1
- package/api/api.cjs.js +41 -9
- package/api/api.cjs.min.js +1 -1
- package/api/api.d.ts +1 -0
- package/api/api.esm.js +41 -9
- package/api/api.esm.min.js +1 -1
- package/api/api.js +41 -9
- package/api/api.min.js +1 -1
- package/autocomplete/autocomplete.cjs.js +51 -54
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +51 -54
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +51 -54
- package/autocomplete/autocomplete.min.js +1 -1
- package/buttongroup/buttongroup.cjs.js +66 -0
- package/buttongroup/buttongroup.cjs.min.js +1 -0
- package/buttongroup/buttongroup.d.ts +86 -0
- package/buttongroup/buttongroup.esm.js +42 -0
- package/buttongroup/buttongroup.esm.min.js +1 -0
- package/buttongroup/buttongroup.js +65 -0
- package/buttongroup/buttongroup.min.js +1 -0
- package/buttongroup/package.json +7 -0
- package/calendar/calendar.cjs.js +217 -162
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +217 -162
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +217 -162
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +8 -8
- package/carousel/carousel.esm.js +8 -8
- package/carousel/carousel.js +8 -8
- package/cascadeselect/cascadeselect.cjs.js +6 -8
- package/cascadeselect/cascadeselect.esm.js +6 -8
- package/cascadeselect/cascadeselect.js +6 -8
- package/checkbox/checkbox.cjs.js +5 -6
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/checkbox/checkbox.esm.js +5 -6
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +5 -6
- package/checkbox/checkbox.min.js +1 -1
- package/chip/chip.cjs.js +1 -1
- package/chip/chip.cjs.min.js +1 -1
- package/chip/chip.esm.js +1 -1
- package/chip/chip.esm.min.js +1 -1
- package/chip/chip.js +1 -1
- package/chip/chip.min.js +1 -1
- package/chips/chips.cjs.js +8 -6
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +8 -6
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +8 -6
- package/chips/chips.min.js +1 -1
- package/colorpicker/colorpicker.cjs.js +8 -6
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +8 -6
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +8 -6
- package/colorpicker/colorpicker.min.js +1 -1
- package/column/column.d.ts +8 -52
- package/componentbase/componentbase.cjs.js +23 -11
- package/componentbase/componentbase.cjs.min.js +1 -1
- package/componentbase/componentbase.esm.js +23 -11
- package/componentbase/componentbase.esm.min.js +1 -1
- package/componentbase/componentbase.js +23 -11
- package/componentbase/componentbase.min.js +1 -1
- package/confirmpopup/confirmpopup.cjs.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +1 -1
- package/confirmpopup/confirmpopup.js +1 -1
- package/contextmenu/contextmenu.cjs.js +8 -5
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +8 -5
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +8 -5
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +969 -522
- package/core/core.min.js +10 -10
- package/csstransition/csstransition.cjs.js +17 -18
- package/csstransition/csstransition.esm.js +17 -18
- package/csstransition/csstransition.js +17 -18
- package/datascroller/datascroller.cjs.js +18 -20
- package/datascroller/datascroller.cjs.min.js +1 -1
- package/datascroller/datascroller.esm.js +18 -20
- package/datascroller/datascroller.esm.min.js +1 -1
- package/datascroller/datascroller.js +18 -20
- package/datascroller/datascroller.min.js +1 -1
- package/datatable/datatable.cjs.js +645 -376
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +5 -5
- package/datatable/datatable.esm.js +648 -379
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +646 -377
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.cjs.js +1 -1
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.esm.js +1 -1
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +1 -1
- package/dataview/dataview.min.js +1 -1
- package/deferredcontent/deferredcontent.cjs.js +3 -4
- package/deferredcontent/deferredcontent.esm.js +3 -4
- package/deferredcontent/deferredcontent.js +3 -4
- package/dialog/dialog.cjs.js +22 -17
- package/dialog/dialog.esm.js +22 -17
- package/dialog/dialog.js +22 -17
- package/dock/dock.cjs.js +13 -4
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +13 -4
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +13 -4
- package/dock/dock.min.js +1 -1
- package/dropdown/dropdown.cjs.js +66 -60
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +6 -1
- package/dropdown/dropdown.esm.js +66 -60
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +66 -60
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +74 -75
- package/editor/editor.esm.js +74 -75
- package/editor/editor.js +74 -75
- package/fieldset/fieldset.cjs.js +1 -1
- package/fieldset/fieldset.cjs.min.js +1 -1
- package/fieldset/fieldset.esm.js +1 -1
- package/fieldset/fieldset.esm.min.js +1 -1
- package/fieldset/fieldset.js +1 -1
- package/fieldset/fieldset.min.js +1 -1
- package/fileupload/fileupload.cjs.js +21 -11
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +21 -11
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +21 -11
- package/fileupload/fileupload.min.js +1 -1
- package/floatlabel/floatlabel.cjs.js +67 -0
- package/floatlabel/floatlabel.cjs.min.js +1 -0
- package/floatlabel/floatlabel.d.ts +81 -0
- package/floatlabel/floatlabel.esm.js +43 -0
- package/floatlabel/floatlabel.esm.min.js +1 -0
- package/floatlabel/floatlabel.js +66 -0
- package/floatlabel/floatlabel.min.js +1 -0
- package/floatlabel/package.json +7 -0
- package/focustrap/focustrap.cjs.js +1 -1
- package/focustrap/focustrap.esm.js +1 -1
- package/focustrap/focustrap.js +1 -1
- package/galleria/galleria.cjs.js +4 -3
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +4 -3
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +4 -3
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.cjs.js +32 -11
- package/hooks/hooks.esm.js +32 -11
- package/hooks/hooks.js +32 -11
- package/iconfield/iconfield.cjs.js +121 -0
- package/iconfield/iconfield.cjs.min.js +1 -0
- package/iconfield/iconfield.d.ts +95 -0
- package/iconfield/iconfield.esm.js +113 -0
- package/iconfield/iconfield.esm.min.js +1 -0
- package/iconfield/iconfield.js +120 -0
- package/iconfield/iconfield.min.js +1 -0
- package/image/image.cjs.js +7 -3
- package/image/image.esm.js +7 -3
- package/image/image.js +7 -3
- 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/inputicon/inputicon.cjs.js +107 -0
- package/inputicon/inputicon.cjs.min.js +1 -0
- package/inputicon/inputicon.d.ts +78 -0
- package/inputicon/inputicon.esm.js +99 -0
- package/inputicon/inputicon.esm.min.js +1 -0
- package/inputicon/inputicon.js +106 -0
- package/inputicon/inputicon.min.js +1 -0
- package/inputmask/inputmask.cjs.js +56 -36
- package/inputmask/inputmask.esm.js +56 -36
- package/inputmask/inputmask.js +56 -36
- package/inputnumber/inputnumber.cjs.js +27 -17
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +27 -17
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +27 -17
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/inputswitch.cjs.js +2 -2
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +2 -2
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +2 -2
- package/inputswitch/inputswitch.min.js +1 -1
- package/keyfilter/keyfilter.cjs.js +2 -2
- package/keyfilter/keyfilter.esm.js +2 -2
- package/keyfilter/keyfilter.js +2 -2
- package/knob/knob.cjs.js +14 -2
- package/knob/knob.esm.js +14 -2
- package/knob/knob.js +14 -2
- package/listbox/listbox.cjs.js +189 -67
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.d.ts +17 -12
- package/listbox/listbox.esm.js +189 -67
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +189 -67
- package/listbox/listbox.min.js +1 -1
- package/megamenu/megamenu.cjs.js +94 -96
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.esm.js +94 -96
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +94 -96
- package/megamenu/megamenu.min.js +1 -1
- package/mention/mention.cjs.js +4 -6
- package/mention/mention.esm.js +4 -6
- package/mention/mention.js +4 -6
- package/menu/menu.cjs.js +5 -2
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +5 -2
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +5 -2
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.cjs.js +24 -23
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +24 -23
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +24 -23
- package/menubar/menubar.min.js +1 -1
- package/metergroup/metergroup.cjs.js +4 -5
- package/metergroup/metergroup.esm.js +4 -5
- package/metergroup/metergroup.js +4 -5
- package/multiselect/multiselect.cjs.js +203 -169
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.d.ts +6 -1
- package/multiselect/multiselect.esm.js +203 -169
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +203 -169
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +227 -28
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.esm.js +228 -29
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +228 -30
- package/multistatecheckbox/multistatecheckbox.min.js +1 -1
- package/orderlist/orderlist.cjs.js +75 -50
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.d.ts +7 -2
- package/orderlist/orderlist.esm.js +75 -50
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +75 -50
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/organizationchart.cjs.js +7 -3
- package/organizationchart/organizationchart.esm.js +7 -3
- package/organizationchart/organizationchart.js +7 -3
- package/overlaypanel/overlaypanel.cjs.js +2 -2
- package/overlaypanel/overlaypanel.esm.js +2 -2
- package/overlaypanel/overlaypanel.js +2 -2
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +19 -20
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +19 -20
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +19 -20
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/panelmenu.cjs.js +18 -9
- package/panelmenu/panelmenu.esm.js +18 -9
- package/panelmenu/panelmenu.js +18 -9
- package/passthrough/tailwind/index.cjs.js +4 -2
- package/passthrough/tailwind/index.esm.js +4 -2
- package/passthrough/tailwind/index.js +4 -2
- package/password/password.cjs.js +3 -5
- package/password/password.esm.js +3 -5
- package/password/password.js +3 -5
- package/picklist/picklist.cjs.js +40 -11
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.d.ts +7 -2
- package/picklist/picklist.esm.js +40 -11
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +40 -11
- package/picklist/picklist.min.js +1 -1
- package/primereact.all.cjs.js +3576 -2762
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +3576 -2762
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +3576 -2762
- package/primereact.all.min.js +1 -1
- package/progressbar/progressbar.cjs.js +6 -1
- package/progressbar/progressbar.esm.js +6 -1
- package/progressbar/progressbar.js +6 -1
- package/radiobutton/radiobutton.cjs.js +10 -12
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.esm.js +10 -12
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +10 -12
- package/radiobutton/radiobutton.min.js +1 -1
- package/rating/rating.cjs.js +4 -4
- package/rating/rating.cjs.min.js +1 -1
- package/rating/rating.esm.js +4 -4
- package/rating/rating.esm.min.js +1 -1
- package/rating/rating.js +4 -4
- package/rating/rating.min.js +1 -1
- package/resources/themes/arya-blue/theme.css +378 -63
- package/resources/themes/arya-green/theme.css +378 -63
- package/resources/themes/arya-orange/theme.css +378 -63
- package/resources/themes/bootstrap4-dark-blue/theme.css +388 -73
- package/resources/themes/bootstrap4-dark-purple/theme.css +966 -188
- package/resources/themes/bootstrap4-light-blue/theme.css +388 -73
- package/resources/themes/bootstrap4-light-purple/theme.css +966 -188
- package/resources/themes/fluent-light/theme.css +372 -63
- package/resources/themes/lara-dark-amber/theme.css +396 -151
- package/resources/themes/lara-dark-blue/theme.css +396 -151
- package/resources/themes/lara-dark-cyan/theme.css +396 -151
- package/resources/themes/lara-dark-green/theme.css +396 -151
- package/resources/themes/lara-dark-indigo/theme.css +396 -151
- package/resources/themes/lara-dark-pink/theme.css +396 -151
- package/resources/themes/lara-dark-teal/theme.css +396 -151
- package/resources/themes/lara-light-amber/theme.css +392 -151
- package/resources/themes/lara-light-blue/theme.css +392 -151
- package/resources/themes/lara-light-cyan/theme.css +392 -151
- package/resources/themes/lara-light-green/theme.css +392 -151
- package/resources/themes/lara-light-indigo/theme.css +392 -151
- package/resources/themes/lara-light-pink/theme.css +392 -151
- package/resources/themes/lara-light-teal/theme.css +392 -151
- package/resources/themes/luna-amber/theme.css +378 -63
- package/resources/themes/luna-blue/theme.css +378 -63
- package/resources/themes/luna-green/theme.css +378 -63
- package/resources/themes/luna-pink/theme.css +378 -63
- package/resources/themes/md-dark-deeppurple/theme.css +323 -202
- package/resources/themes/md-dark-indigo/theme.css +444 -189
- package/resources/themes/md-light-deeppurple/theme.css +323 -202
- package/resources/themes/md-light-indigo/theme.css +444 -202
- package/resources/themes/mdc-dark-deeppurple/theme.css +323 -202
- package/resources/themes/mdc-dark-indigo/theme.css +444 -202
- package/resources/themes/mdc-light-deeppurple/theme.css +323 -202
- package/resources/themes/mdc-light-indigo/theme.css +444 -202
- package/resources/themes/mira/theme.css +378 -63
- package/resources/themes/nano/theme.css +378 -63
- package/resources/themes/nova/theme.css +378 -63
- package/resources/themes/nova-accent/theme.css +378 -63
- package/resources/themes/nova-alt/theme.css +378 -63
- package/resources/themes/rhea/theme.css +378 -63
- package/resources/themes/saga-blue/theme.css +378 -63
- package/resources/themes/saga-green/theme.css +378 -63
- package/resources/themes/saga-orange/theme.css +378 -63
- package/resources/themes/soho-dark/theme.css +388 -73
- package/resources/themes/soho-light/theme.css +388 -73
- package/resources/themes/tailwind-light/theme.css +378 -63
- package/resources/themes/vela-blue/theme.css +378 -63
- package/resources/themes/vela-green/theme.css +378 -63
- package/resources/themes/vela-orange/theme.css +378 -63
- package/resources/themes/viva-dark/theme.css +389 -74
- package/resources/themes/viva-light/theme.css +389 -74
- package/ripple/ripple.cjs.js +3 -1
- package/ripple/ripple.esm.js +3 -1
- package/ripple/ripple.js +3 -1
- package/scrollpanel/scrollpanel.cjs.js +2 -2
- package/scrollpanel/scrollpanel.esm.js +2 -2
- package/scrollpanel/scrollpanel.js +2 -2
- package/scrolltop/scrolltop.cjs.js +6 -2
- package/scrolltop/scrolltop.esm.js +6 -2
- package/scrolltop/scrolltop.js +6 -2
- package/selectbutton/selectbutton.cjs.js +20 -11
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.esm.js +20 -11
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +20 -11
- package/selectbutton/selectbutton.min.js +1 -1
- package/sidebar/sidebar.cjs.js +1 -1
- package/sidebar/sidebar.esm.js +1 -1
- package/sidebar/sidebar.js +1 -1
- package/slidemenu/slidemenu.cjs.js +1 -1
- package/slidemenu/slidemenu.esm.js +1 -1
- package/slidemenu/slidemenu.js +1 -1
- package/slider/slider.cjs.js +37 -10
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +37 -10
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +37 -10
- package/slider/slider.min.js +1 -1
- package/speeddial/speeddial.cjs.js +1 -0
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.esm.js +1 -0
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +1 -0
- package/speeddial/speeddial.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +18 -17
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +18 -17
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +18 -17
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +24 -7
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.esm.js +24 -7
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +24 -7
- package/splitter/splitter.min.js +1 -1
- package/stepper/package.json +7 -0
- package/stepper/stepper.cjs.js +567 -0
- package/stepper/stepper.cjs.min.js +1 -0
- package/stepper/stepper.d.ts +137 -0
- package/stepper/stepper.esm.js +541 -0
- package/stepper/stepper.esm.min.js +1 -0
- package/stepper/stepper.js +565 -0
- package/stepper/stepper.min.js +1 -0
- package/stepperpanel/package.json +7 -0
- package/stepperpanel/stepperpanel.cjs.js +56 -0
- package/stepperpanel/stepperpanel.cjs.min.js +1 -0
- package/stepperpanel/stepperpanel.d.ts +158 -0
- package/stepperpanel/stepperpanel.esm.js +32 -0
- package/stepperpanel/stepperpanel.esm.min.js +1 -0
- package/stepperpanel/stepperpanel.js +57 -0
- package/stepperpanel/stepperpanel.min.js +1 -0
- 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 +5 -1
- package/styleclass/styleclass.esm.js +5 -1
- package/styleclass/styleclass.js +5 -1
- package/tabmenu/tabmenu.cjs.js +1 -0
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +1 -0
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +1 -0
- package/tabmenu/tabmenu.min.js +1 -1
- package/tabview/tabview.cjs.js +23 -18
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.esm.js +23 -18
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +23 -18
- package/tabview/tabview.min.js +1 -1
- package/terminal/terminal.cjs.js +2 -1
- package/terminal/terminal.cjs.min.js +1 -1
- package/terminal/terminal.esm.js +2 -1
- package/terminal/terminal.esm.min.js +1 -1
- package/terminal/terminal.js +2 -1
- package/terminal/terminal.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +18 -17
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +18 -17
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +18 -17
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/toast.cjs.js +1 -1
- package/toast/toast.esm.js +1 -1
- package/toast/toast.js +1 -1
- package/togglebutton/togglebutton.cjs.js +1 -1
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +1 -1
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +1 -1
- package/togglebutton/togglebutton.min.js +1 -1
- package/tooltip/tooltip.cjs.js +20 -17
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.esm.js +20 -17
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +20 -17
- package/tooltip/tooltip.min.js +1 -1
- package/tree/tree.cjs.js +377 -148
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +378 -149
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +378 -150
- package/tree/tree.min.js +1 -1
- package/treeselect/treeselect.cjs.js +24 -17
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.d.ts +2 -1
- package/treeselect/treeselect.esm.js +24 -17
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +24 -17
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/treetable.cjs.js +492 -295
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.d.ts +4 -4
- package/treetable/treetable.esm.js +494 -297
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +493 -296
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +11 -5
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +11 -5
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +11 -5
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/utils.cjs.js +262 -139
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +262 -139
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +262 -139
- package/utils/utils.min.js +1 -1
- package/virtualscroller/virtualscroller.cjs.js +46 -43
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +46 -43
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +46 -43
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +502 -33
package/listbox/listbox.esm.js
CHANGED
|
@@ -141,7 +141,6 @@ function _slicedToArray(arr, i) {
|
|
|
141
141
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
var _defaultProps;
|
|
145
144
|
var classes = {
|
|
146
145
|
itemGroup: 'p-listbox-item-group',
|
|
147
146
|
emptyMessage: 'p-listbox-empty-message',
|
|
@@ -185,7 +184,7 @@ var inlineStyles = {
|
|
|
185
184
|
}
|
|
186
185
|
};
|
|
187
186
|
var ListBoxBase = ComponentBase.extend({
|
|
188
|
-
defaultProps:
|
|
187
|
+
defaultProps: {
|
|
189
188
|
__TYPE: 'ListBox',
|
|
190
189
|
className: null,
|
|
191
190
|
dataKey: null,
|
|
@@ -201,14 +200,33 @@ var ListBoxBase = ComponentBase.extend({
|
|
|
201
200
|
filterPlaceholder: null,
|
|
202
201
|
filterTemplate: null,
|
|
203
202
|
filterValue: null,
|
|
204
|
-
|
|
203
|
+
focusOnHover: true,
|
|
205
204
|
id: null,
|
|
206
205
|
itemTemplate: null,
|
|
207
206
|
invalid: false,
|
|
208
207
|
listClassName: null,
|
|
209
208
|
listStyle: null,
|
|
210
|
-
metaKeySelection: false
|
|
211
|
-
|
|
209
|
+
metaKeySelection: false,
|
|
210
|
+
selectOnFocus: false,
|
|
211
|
+
autoOptionFocus: false,
|
|
212
|
+
multiple: false,
|
|
213
|
+
onChange: null,
|
|
214
|
+
onFilterValueChange: null,
|
|
215
|
+
optionDisabled: null,
|
|
216
|
+
optionGroupChildren: null,
|
|
217
|
+
optionGroupLabel: null,
|
|
218
|
+
optionGroupTemplate: null,
|
|
219
|
+
optionLabel: null,
|
|
220
|
+
optionValue: null,
|
|
221
|
+
options: null,
|
|
222
|
+
style: null,
|
|
223
|
+
tabIndex: 0,
|
|
224
|
+
tooltip: null,
|
|
225
|
+
tooltipOptions: null,
|
|
226
|
+
value: null,
|
|
227
|
+
virtualScrollerOptions: null,
|
|
228
|
+
children: undefined
|
|
229
|
+
},
|
|
212
230
|
css: {
|
|
213
231
|
classes: classes,
|
|
214
232
|
styles: styles,
|
|
@@ -338,6 +356,12 @@ var ListBoxItem = /*#__PURE__*/React.memo(function (props) {
|
|
|
338
356
|
onFocus: onFocus,
|
|
339
357
|
onBlur: onBlur,
|
|
340
358
|
tabIndex: '-1',
|
|
359
|
+
onMouseDown: function onMouseDown(event) {
|
|
360
|
+
return props.onOptionMouseDown(event, props.index);
|
|
361
|
+
},
|
|
362
|
+
onMouseMove: function onMouseMove(event) {
|
|
363
|
+
return props.onOptionMouseMove(event, props.index);
|
|
364
|
+
},
|
|
341
365
|
'aria-label': props.label,
|
|
342
366
|
key: props.optionKey,
|
|
343
367
|
role: 'option',
|
|
@@ -369,10 +393,18 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
369
393
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
370
394
|
startRangeIndex = _React$useState4[0],
|
|
371
395
|
setStartRangeIndex = _React$useState4[1];
|
|
372
|
-
var _React$useState5 = React.useState(
|
|
396
|
+
var _React$useState5 = React.useState(false),
|
|
373
397
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
374
|
-
|
|
375
|
-
|
|
398
|
+
focused = _React$useState6[0],
|
|
399
|
+
setFocused = _React$useState6[1];
|
|
400
|
+
var _React$useState7 = React.useState(''),
|
|
401
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
402
|
+
filterValueState = _React$useState8[0],
|
|
403
|
+
setFilterValueState = _React$useState8[1];
|
|
404
|
+
var _React$useState9 = React.useState(''),
|
|
405
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
406
|
+
searchValue = _React$useState10[0],
|
|
407
|
+
setSearchValue = _React$useState10[1];
|
|
376
408
|
var elementRef = React.useRef(null);
|
|
377
409
|
var virtualScrollerRef = React.useRef(null);
|
|
378
410
|
var id = React.useRef(null);
|
|
@@ -399,6 +431,14 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
399
431
|
optionTouched.current = false;
|
|
400
432
|
index !== -1 && setFocusedOptionIndex(index);
|
|
401
433
|
};
|
|
434
|
+
var onOptionMouseDown = function onOptionMouseDown(event, index) {
|
|
435
|
+
changeFocusedOptionIndex(event, index);
|
|
436
|
+
};
|
|
437
|
+
var onOptionMouseMove = function onOptionMouseMove(event, index) {
|
|
438
|
+
if (props.focusOnHover && focused) {
|
|
439
|
+
changeFocusedOptionIndex(event, index);
|
|
440
|
+
}
|
|
441
|
+
};
|
|
402
442
|
var onOptionTouchEnd = function onOptionTouchEnd() {
|
|
403
443
|
if (props.disabled) {
|
|
404
444
|
return;
|
|
@@ -437,7 +477,11 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
437
477
|
if (metaSelection) {
|
|
438
478
|
var metaKey = event.metaKey || event.ctrlKey;
|
|
439
479
|
if (selected) {
|
|
440
|
-
if (metaKey)
|
|
480
|
+
if (metaKey) {
|
|
481
|
+
value = removeOption(option);
|
|
482
|
+
} else {
|
|
483
|
+
value = [getOptionValue(option)];
|
|
484
|
+
}
|
|
441
485
|
valueChanged = true;
|
|
442
486
|
} else {
|
|
443
487
|
value = metaKey ? props.value || [] : [];
|
|
@@ -445,7 +489,11 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
445
489
|
valueChanged = true;
|
|
446
490
|
}
|
|
447
491
|
} else {
|
|
448
|
-
if (selected)
|
|
492
|
+
if (selected) {
|
|
493
|
+
value = removeOption(option);
|
|
494
|
+
} else {
|
|
495
|
+
value = [].concat(_toConsumableArray(props.value || []), [getOptionValue(option)]);
|
|
496
|
+
}
|
|
449
497
|
valueChanged = true;
|
|
450
498
|
}
|
|
451
499
|
if (valueChanged) {
|
|
@@ -453,10 +501,10 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
453
501
|
originalEvent: event,
|
|
454
502
|
value: value,
|
|
455
503
|
stopPropagation: function stopPropagation() {
|
|
456
|
-
event.stopPropagation();
|
|
504
|
+
event === null || event === void 0 || event.stopPropagation();
|
|
457
505
|
},
|
|
458
506
|
preventDefault: function preventDefault() {
|
|
459
|
-
event.preventDefault();
|
|
507
|
+
event === null || event === void 0 || event.preventDefault();
|
|
460
508
|
},
|
|
461
509
|
target: {
|
|
462
510
|
name: props.name,
|
|
@@ -483,6 +531,43 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
483
531
|
return isValidOption(option);
|
|
484
532
|
});
|
|
485
533
|
};
|
|
534
|
+
var findLastSelectedOptionIndex = function findLastSelectedOptionIndex() {
|
|
535
|
+
return hasSelectedOption() ? ObjectUtils.findLastIndex(visibleOptions, function (option) {
|
|
536
|
+
return isValidSelectedOption(option);
|
|
537
|
+
}) : -1;
|
|
538
|
+
};
|
|
539
|
+
var findSelectedOptionIndex = function findSelectedOptionIndex() {
|
|
540
|
+
if (hasSelectedOption()) {
|
|
541
|
+
if (props.multiple) {
|
|
542
|
+
var _loop = function _loop() {
|
|
543
|
+
var value = props.value[index];
|
|
544
|
+
var matchedOptionIndex = visibleOptions.findIndex(function (option) {
|
|
545
|
+
return isValidSelectedOption(option) && isEquals(value, getOptionValue(option));
|
|
546
|
+
});
|
|
547
|
+
if (matchedOptionIndex > -1) {
|
|
548
|
+
return {
|
|
549
|
+
v: matchedOptionIndex
|
|
550
|
+
};
|
|
551
|
+
}
|
|
552
|
+
},
|
|
553
|
+
_ret;
|
|
554
|
+
for (var index = props.value.length - 1; index >= 0; index--) {
|
|
555
|
+
_ret = _loop();
|
|
556
|
+
if (_ret) return _ret.v;
|
|
557
|
+
}
|
|
558
|
+
} else {
|
|
559
|
+
return visibleOptions.findIndex(function (option) {
|
|
560
|
+
return isValidSelectedOption(option);
|
|
561
|
+
});
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
return -1;
|
|
565
|
+
};
|
|
566
|
+
var findFirstSelectedOptionIndex = function findFirstSelectedOptionIndex() {
|
|
567
|
+
return hasSelectedOption() ? visibleOptions.findIndex(function (option) {
|
|
568
|
+
return isValidSelectedOption(option);
|
|
569
|
+
}) : -1;
|
|
570
|
+
};
|
|
486
571
|
var findLastOptionIndex = function findLastOptionIndex() {
|
|
487
572
|
return ObjectUtils.findLastIndex(visibleOptions, function (option) {
|
|
488
573
|
return isValidOption(option);
|
|
@@ -506,7 +591,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
506
591
|
var findNearestSelectedOptionIndex = function findNearestSelectedOptionIndex(index) {
|
|
507
592
|
var firstCheckUp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
508
593
|
var matchedOptionIndex = -1;
|
|
509
|
-
if (hasSelectedOption) {
|
|
594
|
+
if (hasSelectedOption()) {
|
|
510
595
|
if (firstCheckUp) {
|
|
511
596
|
matchedOptionIndex = findPrevSelectedOptionIndex(index);
|
|
512
597
|
matchedOptionIndex = matchedOptionIndex === -1 ? findNextSelectedOptionIndex(index) : matchedOptionIndex;
|
|
@@ -522,7 +607,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
522
607
|
return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.toLocaleLowerCase(props.filterLocale)));
|
|
523
608
|
};
|
|
524
609
|
var searchOptions = function searchOptions(event, _char) {
|
|
525
|
-
|
|
610
|
+
setSearchValue((searchValue || '') + _char);
|
|
526
611
|
var optionIndex = -1;
|
|
527
612
|
if (ObjectUtils.isNotEmpty(searchValue)) {
|
|
528
613
|
if (focusedOptionIndex !== -1) {
|
|
@@ -548,18 +633,18 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
548
633
|
clearTimeout(searchTimeout.current);
|
|
549
634
|
}
|
|
550
635
|
searchTimeout.current = setTimeout(function () {
|
|
551
|
-
|
|
636
|
+
setSearchValue('');
|
|
552
637
|
searchTimeout.current = null;
|
|
553
638
|
}, 500);
|
|
554
639
|
};
|
|
555
640
|
var findNextSelectedOptionIndex = function findNextSelectedOptionIndex(index) {
|
|
556
|
-
var matchedOptionIndex = hasSelectedOption && index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
|
|
641
|
+
var matchedOptionIndex = hasSelectedOption() && index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
|
|
557
642
|
return isValidSelectedOption(option);
|
|
558
643
|
}) : -1;
|
|
559
644
|
return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
|
|
560
645
|
};
|
|
561
646
|
var findPrevSelectedOptionIndex = function findPrevSelectedOptionIndex(index) {
|
|
562
|
-
var matchedOptionIndex = hasSelectedOption && index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
|
|
647
|
+
var matchedOptionIndex = hasSelectedOption() && index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
|
|
563
648
|
return isValidSelectedOption(option);
|
|
564
649
|
}) : -1;
|
|
565
650
|
return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
|
|
@@ -584,6 +669,10 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
584
669
|
var selectedIndex = findFirstSelectedOptionIndex();
|
|
585
670
|
return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
|
|
586
671
|
};
|
|
672
|
+
var findLastFocusedOptionIndex = function findLastFocusedOptionIndex() {
|
|
673
|
+
var selectedIndex = findLastSelectedOptionIndex();
|
|
674
|
+
return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;
|
|
675
|
+
};
|
|
587
676
|
var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
|
|
588
677
|
if (focusedOptionIndex !== index) {
|
|
589
678
|
setFocusedOptionIndex(index);
|
|
@@ -611,7 +700,11 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
611
700
|
};
|
|
612
701
|
var onEnterKey = function onEnterKey(event) {
|
|
613
702
|
if (focusedOptionIndex !== -1) {
|
|
614
|
-
if (props.multiple && event.shiftKey)
|
|
703
|
+
if (props.multiple && event.shiftKey) {
|
|
704
|
+
onOptionSelectRange(event, focusedOptionIndex);
|
|
705
|
+
} else {
|
|
706
|
+
onOptionSelect(event, visibleOptions[focusedOptionIndex]);
|
|
707
|
+
}
|
|
615
708
|
}
|
|
616
709
|
event.preventDefault();
|
|
617
710
|
};
|
|
@@ -661,7 +754,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
661
754
|
scrollInView(visibleOptions.length - 1);
|
|
662
755
|
event.preventDefault();
|
|
663
756
|
};
|
|
664
|
-
var
|
|
757
|
+
var onListKeyDown = function onListKeyDown(event) {
|
|
665
758
|
var metaKey = event.metaKey || event.ctrlKey;
|
|
666
759
|
switch (event.code) {
|
|
667
760
|
case 'ArrowDown':
|
|
@@ -725,7 +818,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
725
818
|
behavior: 'smooth'
|
|
726
819
|
});
|
|
727
820
|
} else if (props.virtualScrollerOptions) {
|
|
728
|
-
virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(index !== -1 ? index :
|
|
821
|
+
virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(index !== -1 ? index : focusedOptionIndex);
|
|
729
822
|
}
|
|
730
823
|
}, 0);
|
|
731
824
|
};
|
|
@@ -748,16 +841,24 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
748
841
|
filter: ''
|
|
749
842
|
});
|
|
750
843
|
};
|
|
844
|
+
var autoUpdateModel = function autoUpdateModel() {
|
|
845
|
+
var isFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : focused;
|
|
846
|
+
if (props.selectOnFocus && props.autoOptionFocus && !hasSelectedOption() && !props.multiple && isFocus) {
|
|
847
|
+
var currentFocusOptionIndex = findFirstFocusedOptionIndex();
|
|
848
|
+
onOptionSelect(null, visibleOptions[currentFocusOptionIndex]);
|
|
849
|
+
setFocusedOptionIndex(currentFocusOptionIndex);
|
|
850
|
+
}
|
|
851
|
+
};
|
|
751
852
|
var updateModel = function updateModel(event, value) {
|
|
752
853
|
if (props.onChange) {
|
|
753
854
|
props.onChange({
|
|
754
855
|
originalEvent: event,
|
|
755
856
|
value: value,
|
|
756
857
|
stopPropagation: function stopPropagation() {
|
|
757
|
-
event.stopPropagation();
|
|
858
|
+
event === null || event === void 0 || event.stopPropagation();
|
|
758
859
|
},
|
|
759
860
|
preventDefault: function preventDefault() {
|
|
760
|
-
event.preventDefault();
|
|
861
|
+
event === null || event === void 0 || event.preventDefault();
|
|
761
862
|
},
|
|
762
863
|
target: {
|
|
763
864
|
name: props.name,
|
|
@@ -799,18 +900,23 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
799
900
|
return ObjectUtils.equals(value, getOptionValue(item), key);
|
|
800
901
|
});
|
|
801
902
|
};
|
|
903
|
+
var isEquals = function isEquals(value1, value2) {
|
|
904
|
+
return ObjectUtils.equals(value1, value2, equalityKey());
|
|
905
|
+
};
|
|
802
906
|
var isSelected = function isSelected(option) {
|
|
803
907
|
var optionValue = getOptionValue(option);
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
908
|
+
if (props.multiple) {
|
|
909
|
+
return (props.value || []).some(function (value) {
|
|
910
|
+
return isEquals(value, optionValue);
|
|
911
|
+
});
|
|
912
|
+
}
|
|
913
|
+
return isEquals(props.value, optionValue);
|
|
808
914
|
};
|
|
809
915
|
var getOptionLabel = function getOptionLabel(option) {
|
|
810
|
-
return props.optionLabel ? ObjectUtils.resolveFieldData(option, props.optionLabel) : option && option
|
|
916
|
+
return props.optionLabel ? ObjectUtils.resolveFieldData(option, props.optionLabel) : option && option.label !== undefined ? option.label : option;
|
|
811
917
|
};
|
|
812
918
|
var getOptionValue = function getOptionValue(option) {
|
|
813
|
-
return props.optionValue ? ObjectUtils.resolveFieldData(option, props.optionValue) : option && option
|
|
919
|
+
return props.optionValue ? ObjectUtils.resolveFieldData(option, props.optionValue) : option && option.value !== undefined ? option.value : option;
|
|
814
920
|
};
|
|
815
921
|
var getOptionRenderKey = function getOptionRenderKey(option) {
|
|
816
922
|
return props.dataKey ? ObjectUtils.resolveFieldData(option, props.dataKey) : getOptionLabel(option);
|
|
@@ -819,7 +925,7 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
819
925
|
if (props.optionDisabled) {
|
|
820
926
|
return ObjectUtils.isFunction(props.optionDisabled) ? props.optionDisabled(option) : ObjectUtils.resolveFieldData(option, props.optionDisabled);
|
|
821
927
|
}
|
|
822
|
-
return option && option
|
|
928
|
+
return option && option.disabled !== undefined ? option.disabled : false;
|
|
823
929
|
};
|
|
824
930
|
var onFirstHiddenFocus = function onFirstHiddenFocus() {
|
|
825
931
|
DomHandler.focus(listRef.current);
|
|
@@ -839,6 +945,17 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
839
945
|
}
|
|
840
946
|
lastHiddenFocusableElement.current.tabIndex = -1;
|
|
841
947
|
};
|
|
948
|
+
var onListFocus = function onListFocus() {
|
|
949
|
+
setFocused(true);
|
|
950
|
+
setFocusedOptionIndex(focusedOptionIndex !== -1 ? focusedOptionIndex : props.autoOptionFocus ? findFirstFocusedOptionIndex() : findSelectedOptionIndex());
|
|
951
|
+
autoUpdateModel(true);
|
|
952
|
+
};
|
|
953
|
+
var onListBlur = function onListBlur(event) {
|
|
954
|
+
setFocused(false);
|
|
955
|
+
setFocusedOptionIndex(-1);
|
|
956
|
+
setStartRangeIndex(-1);
|
|
957
|
+
setSearchValue('');
|
|
958
|
+
};
|
|
842
959
|
var getOptionGroupRenderKey = function getOptionGroupRenderKey(optionGroup) {
|
|
843
960
|
return ObjectUtils.resolveFieldData(optionGroup, props.optionGroupLabel);
|
|
844
961
|
};
|
|
@@ -872,12 +989,10 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
872
989
|
_iterator.f();
|
|
873
990
|
}
|
|
874
991
|
return filteredGroups;
|
|
875
|
-
} else {
|
|
876
|
-
return FilterService.filter(props.options, searchFields, filterValue, props.filterMatchMode, props.filterLocale);
|
|
877
992
|
}
|
|
878
|
-
|
|
879
|
-
return props.options;
|
|
993
|
+
return FilterService.filter(props.options, searchFields, filterValue, props.filterMatchMode, props.filterLocale);
|
|
880
994
|
}
|
|
995
|
+
return props.options;
|
|
881
996
|
};
|
|
882
997
|
var scrollToSelectedIndex = function scrollToSelectedIndex() {
|
|
883
998
|
if (virtualScrollerRef.current) {
|
|
@@ -938,6 +1053,8 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
938
1053
|
style: style,
|
|
939
1054
|
template: props.itemTemplate,
|
|
940
1055
|
selected: isSelected(option),
|
|
1056
|
+
onOptionMouseDown: onOptionMouseDown,
|
|
1057
|
+
onOptionMouseMove: onOptionMouseMove,
|
|
941
1058
|
onClick: onOptionSelect,
|
|
942
1059
|
index: j,
|
|
943
1060
|
focusedOptionIndex: focusedOptionIndex,
|
|
@@ -967,29 +1084,30 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
967
1084
|
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
968
1085
|
key: key
|
|
969
1086
|
}, /*#__PURE__*/React.createElement("li", itemGroupProps, groupContent), groupChildrenContent);
|
|
970
|
-
} else {
|
|
971
|
-
var optionLabel = getOptionLabel(option);
|
|
972
|
-
var optionKey = index + '_' + getOptionRenderKey(option);
|
|
973
|
-
var disabled = isOptionDisabled(option);
|
|
974
|
-
return /*#__PURE__*/React.createElement(ListBoxItem, {
|
|
975
|
-
id: id.current + '_' + index,
|
|
976
|
-
hostName: "ListBox",
|
|
977
|
-
optionKey: optionKey,
|
|
978
|
-
key: optionKey,
|
|
979
|
-
label: optionLabel,
|
|
980
|
-
index: index,
|
|
981
|
-
focusedOptionIndex: focusedOptionIndex,
|
|
982
|
-
option: option,
|
|
983
|
-
style: style,
|
|
984
|
-
template: props.itemTemplate,
|
|
985
|
-
selected: isSelected(option),
|
|
986
|
-
onClick: onOptionSelect,
|
|
987
|
-
onTouchEnd: onOptionTouchEnd,
|
|
988
|
-
disabled: disabled,
|
|
989
|
-
ptCallbacks: ptCallbacks,
|
|
990
|
-
metaData: metaData
|
|
991
|
-
});
|
|
992
1087
|
}
|
|
1088
|
+
var optionLabel = getOptionLabel(option);
|
|
1089
|
+
var optionKey = index + '_' + getOptionRenderKey(option);
|
|
1090
|
+
var disabled = isOptionDisabled(option);
|
|
1091
|
+
return /*#__PURE__*/React.createElement(ListBoxItem, {
|
|
1092
|
+
id: id.current + '_' + index,
|
|
1093
|
+
hostName: "ListBox",
|
|
1094
|
+
optionKey: optionKey,
|
|
1095
|
+
key: optionKey,
|
|
1096
|
+
label: optionLabel,
|
|
1097
|
+
index: index,
|
|
1098
|
+
onOptionMouseDown: onOptionMouseDown,
|
|
1099
|
+
onOptionMouseMove: onOptionMouseMove,
|
|
1100
|
+
focusedOptionIndex: focusedOptionIndex,
|
|
1101
|
+
option: option,
|
|
1102
|
+
style: style,
|
|
1103
|
+
template: props.itemTemplate,
|
|
1104
|
+
selected: isSelected(option),
|
|
1105
|
+
onClick: onOptionSelect,
|
|
1106
|
+
onTouchEnd: onOptionTouchEnd,
|
|
1107
|
+
disabled: disabled,
|
|
1108
|
+
ptCallbacks: ptCallbacks,
|
|
1109
|
+
metaData: metaData
|
|
1110
|
+
});
|
|
993
1111
|
};
|
|
994
1112
|
var createItems = function createItems() {
|
|
995
1113
|
if (ObjectUtils.isNotEmpty(visibleOptions)) {
|
|
@@ -1029,7 +1147,10 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
1029
1147
|
}),
|
|
1030
1148
|
role: 'listbox',
|
|
1031
1149
|
tabIndex: '-1',
|
|
1032
|
-
'aria-multiselectable': props.multiple
|
|
1150
|
+
'aria-multiselectable': props.multiple,
|
|
1151
|
+
onFocus: onListFocus,
|
|
1152
|
+
onBlur: onListBlur,
|
|
1153
|
+
onKeyDown: onListKeyDown
|
|
1033
1154
|
}, ariaProps), ptCallbacks.ptm('list'));
|
|
1034
1155
|
return /*#__PURE__*/React.createElement("ul", listProps, options.children);
|
|
1035
1156
|
}
|
|
@@ -1039,18 +1160,19 @@ var ListBox = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (i
|
|
|
1039
1160
|
}, virtualScrollerProps, {
|
|
1040
1161
|
pt: ptCallbacks.ptm('virtualScroller')
|
|
1041
1162
|
}));
|
|
1042
|
-
} else {
|
|
1043
|
-
var items = createItems();
|
|
1044
|
-
var listProps = mergeProps(_objectSpread({
|
|
1045
|
-
ref: listRef,
|
|
1046
|
-
className: ptCallbacks.cx('list'),
|
|
1047
|
-
role: 'listbox',
|
|
1048
|
-
'aria-multiselectable': props.multiple,
|
|
1049
|
-
tabIndex: '-1',
|
|
1050
|
-
onKeyDown: onKeyDown
|
|
1051
|
-
}, ariaProps), ptCallbacks.ptm('list'));
|
|
1052
|
-
return /*#__PURE__*/React.createElement("ul", listProps, items);
|
|
1053
1163
|
}
|
|
1164
|
+
var items = createItems();
|
|
1165
|
+
var listProps = mergeProps(_objectSpread({
|
|
1166
|
+
ref: listRef,
|
|
1167
|
+
className: ptCallbacks.cx('list'),
|
|
1168
|
+
role: 'listbox',
|
|
1169
|
+
'aria-multiselectable': props.multiple,
|
|
1170
|
+
tabIndex: '-1',
|
|
1171
|
+
onFocus: onListFocus,
|
|
1172
|
+
onBlur: onListBlur,
|
|
1173
|
+
onKeyDown: onListKeyDown
|
|
1174
|
+
}, ariaProps), ptCallbacks.ptm('list'));
|
|
1175
|
+
return /*#__PURE__*/React.createElement("ul", listProps, items);
|
|
1054
1176
|
};
|
|
1055
1177
|
var visibleOptions = getVisibleOptions();
|
|
1056
1178
|
var hasTooltip = ObjectUtils.isNotEmpty(props.tooltip);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import{PrimeReactContext as t,FilterService as n,localeOption as r}from"primereact/api";import{ComponentBase as o,useHandleStyle as l}from"primereact/componentbase";import{useMergeProps as i,useMountEffect as a}from"primereact/hooks";import{Tooltip as u}from"primereact/tooltip";import{classNames as c,IconUtils as s,ObjectUtils as p,DomHandler as f,UniqueComponentId as d}from"primereact/utils";import{VirtualScroller as m}from"primereact/virtualscroller";import{SearchIcon as b}from"primereact/icons/search";import{InputText as v}from"primereact/inputtext";import{Ripple as y}from"primereact/ripple";function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(this,arguments)}function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function x(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=x(e,"string");return"symbol"===g(t)?t:String(t)}function E(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(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){if(Array.isArray(e))return I(e)}function w(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 I(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)?I(e,t):void 0}}function F(){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 P(e){return S(e)||w(e)||D(e)||F()}function L(e){throw new TypeError('"'+e+'" is read-only')}function j(e){if(Array.isArray(e))return e}function N(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw o}}return a}}function T(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(e,t){return j(e)||N(e,t)||D(e,t)||T()}var k,K={itemGroup:"p-listbox-item-group",emptyMessage:"p-listbox-empty-message",list:"p-listbox-list",wrapper:function(e){return c("p-listbox-list-wrapper",e.props.listClassName)},root:function(e){var t=e.props;return c("p-listbox p-component",{"p-disabled":t.disabled,"p-invalid":t.invalid},t.className)},item:function(e){var t=e.props;return c("p-listbox-item",{"p-highlight":t.selected,"p-focus":t.focusedOptionIndex===t.index,"p-disabled":t.disabled},t.option.className)},filterContainer:"p-listbox-filter-container",filterIcon:"p-listbox-filter-icon",filterInput:"p-listbox-filter",header:"p-listbox-header"},M={itemGroup:function(e){var t=e.scrollerOptions;return{height:t.props?t.props.itemSize:void 0}},list:function(e){return e.props.virtualScrollerOptions?e.options.style:void 0}},A=o.extend({defaultProps:(k={__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterIcon:null,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,selectOnFocus:!1,id:null,itemTemplate:null,invalid:!1,listClassName:null,listStyle:null,metaKeySelection:!1},E(E(E(E(E(E(E(E(E(E(k,"selectOnFocus",!1),"autoOptionFocus",!1),"multiple",!1),"onChange",null),"onFilterValueChange",null),"optionDisabled",null),"optionGroupChildren",null),"optionGroupLabel",null),"optionGroupTemplate",null),"optionLabel",null),E(E(E(E(E(E(E(E(E(k,"optionValue",null),"options",null),"style",null),"tabIndex",0),"tooltip",null),"tooltipOptions",null),"value",null),"virtualScrollerOptions",null),"children",void 0)),css:{classes:K,styles:"\n@layer primereact {\n .p-listbox-list-wrapper {\n overflow: auto;\n }\n \n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n \n .p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n outline: none;\n }\n \n .p-listbox-filter-container {\n position: relative;\n }\n \n .p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-listbox-filter {\n width: 100%;\n }\n}\n",inlineStyles:M}});function G(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 V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var R=e.memo((function(t){var n=i(),r=t.ptCallbacks,o=r.ptm,l=r.cx,a=function(e,n){return o(e,V({hostName:t.hostName},n))},u={filter:function(e){return c(e)},reset:function(){return t.resetFilter()}},c=function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},f=function(){var r=n({className:l("filterIcon")},a("filterIcon")),i=s.getJSXIcon(t.filterIcon||e.createElement(b,r),V({},r),{props:t}),f=n({className:l("header")},a("header")),d=n({className:l("filterContainer")},a("filterContainer")),m=e.createElement("div",d,e.createElement(v,h({type:"text",value:t.filter,onChange:c,className:l("filterInput"),disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps,{pt:o("filterInput"),unstyled:t.unstyled,__parentMetadata:{parent:t.metaData}})),i);t.filterTemplate&&(m=p.getJSXElement(t.filterTemplate,{className:"p-listbox-filter-container",element:m,filterOptions:u,filterInputChange:c,filterIconClassName:"p-dropdown-filter-icon",props:t}));return e.createElement("div",f,m)}();return e.createElement(e.Fragment,null,f)}));R.displayName="ListBoxHeader";var _=e.memo((function(t){var n=C(e.useState(!1),2),r=n[0],o=n[1],l=i(),a=t.ptCallbacks,u=a.ptm,c=a.cx,s=t.template?p.getJSXElement(t.template,t.option):t.label,f=l({id:t.id,className:c("item",{props:t}),style:t.style,onClick:function(e){return t.onClick(e,t.option,t.index)},onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onFocus:function(e){o(!0)},onBlur:function(e){o(!1)},tabIndex:"-1","aria-label":t.label,key:t.optionKey,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled,"data-p-disabled":t.disabled},u("item",{hostName:t.hostName,context:{selected:t.selected,disabled:t.disabled,focused:r,focusedOptionIndex:t.focusedOptionIndex}}));return e.createElement("li",f,s,e.createElement(y,null))}));function B(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 q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?B(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):B(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function J(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=U(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,l=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw l}}}}function U(e,t){if(e){if("string"==typeof e)return X(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)?X(e,t):void 0}}function X(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}_.displayName="ListBoxItem";var z=e.memo(e.forwardRef((function(o,c){var s=i(),b=e.useContext(t),v=A.getProps(o,b),y=C(e.useState(null),2),g=y[0],x=y[1],O=e.useRef(null),E=e.useRef(null),I=e.useRef(null),S=C(e.useState(-1),2),w=S[0],D=S[1],F=C(e.useState(""),2),j=F[0],N=F[1],T=e.useRef(null),k=e.useRef(null),K=e.useRef(null),M=e.useRef(null),G=e.useRef(!1),V=(v.onFilterValueChange?v.filterValue:j)||"",B=V&&V.trim().length>0,U={props:v,state:{filterValue:V}},X=A.setMetaData(U);l(A.css.styles,X.isUnstyled,{name:"listbox"});var z=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;v.disabled||Ne(t)||(v.multiple?W(e.originalEvent,t):$(e.originalEvent,t),G.current=!1,-1!==n&&x(n))},H=function(){v.disabled||(G.current=!0)},$=function(e,t){var n=Fe(t),r=!1,o=null;!G.current&&v.metaKeySelection?n?(e.metaKey||e.ctrlKey)&&(o=null,r=!0):(o=Le(t),r=!0):(o=n?null:Le(t),r=!0);r&&Ee(e,o)},W=function(e,t){var n=Fe(t),r=!1,o=null;if(!G&&v.metaKeySelection){var l=e.metaKey||e.ctrlKey;n?(o=l?Ie(t):[Le(t)],r=!0):(o=[].concat(P(o=l&&v.value||[]),[Le(t)]),r=!0)}else o=n?Ie(t):[].concat(P(v.value||[]),[Le(t)]),r=!0;r&&v.onChange({originalEvent:e,value:o,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:v.name,id:v.id,value:o}})},Y=function(){return p.isNotEmpty(v.value)},Q=function(e){return v.optionGroupLabel&&e.optionGroup&&e.group},Z=function(e){return p.isNotEmpty(e)&&!(Ne(e)||Q(e))},ee=function(e){return Z(e)&&Fe(e)},te=function(){return Ge.findIndex((function(e){return Z(e)}))},ne=function(e){var t=-1;return Y&&(t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?-1===(t=ie(e))?le(e):t:-1===(t=le(e))?ie(e):t),t>-1?t:e},re=function(e){var t;return Z(e)&&(null===(t=Pe(e))||void 0===t?void 0:t.toLocaleLowerCase(v.filterLocale).startsWith(searchValue.toLocaleLowerCase(v.filterLocale)))},oe=function(e,t){searchValue=(searchValue||"")+t;var n=-1;p.isNotEmpty(searchValue)&&(-1===(n=-1!==g?-1===(n=Ge.slice(g).findIndex((function(e){return re(e)})))?Ge.slice(0,g).findIndex((function(e){return re(e)})):n+g:Ge.findIndex((function(e){return re(e)})))&&-1===g&&(n=ue()),-1!==n&&ce(e,n)),O.current&&clearTimeout(O.current),O.current=setTimeout((function(){searchValue="",O.current=null}),500)},le=function(e){var t=Y&&e<Ge.length-1?Ge.slice(e+1).findIndex((function(e){return ee(e)})):-1;return t>-1?t+e+1:-1},ie=function(e){var t=Y&&e>0?p.findLastIndex(Ge.slice(0,e),(function(e){return ee(e)})):-1;return t>-1?t:-1},ae=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(-1===t&&(t=ne(n,!0)),-1===n&&(n=ne(t)),-1!==t&&-1!==n){var r=Math.min(t,n),o=Math.max(t,n),l=Ge.slice(r,o+1).filter((function(e){return Z(e)})).map((function(e){return Le(e)}));Ee(e,l)}},ue=function(){var e=findFirstSelectedOptionIndex();return e<0?te():e},ce=function(e,t){g!==t&&(x(t),ge(),e&&v.selectOnFocus&&!v.multiple&&z(e,Ge[t]))},se=function(e){var t,n,r=-1!==g?(n=(t=g)<Ge.length-1?Ge.slice(t+1).findIndex((function(e){return Z(e)})):-1)>-1?n+t+1:t:ue();v.multiple&&e.shiftKey&&ae(e,w,r),ce(e,r),e.preventDefault()},pe=function(e){var t,n,r=-1!==g?(n=(t=g)>0?p.findLastIndex(Ge.slice(0,t),(function(e){return Z(e)})):-1)>-1?n:t:findLastFocusedOptionIndex();v.multiple&&e.shiftKey&&ae(e,r,w),ce(e,r),e.preventDefault()},fe=function(e){-1!==g&&(v.multiple&&e.shiftKey?ae(e,g):z(e,Ge[g])),e.preventDefault()},de=function(e){fe(e)},me=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])e.currentTarget.setSelectionRange(0,0),x(-1);else{var t=e.metaKey||e.ctrlKey,n=te();v.multiple&&e.shiftKey&&t&&ae(e,n,w),ce(e,n)}e.preventDefault()},be=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var t=e.currentTarget,n=t.value.length;t.setSelectionRange(n,n),L("focusedOptionIndex")}else{var r=e.metaKey||e.ctrlKey,o=p.findLastIndex(Ge,(function(e){return Z(e)}));v.multiple&&e.shiftKey&&r&&ae(e,w,o),ce(e,o)}e.preventDefault()},ve=function(e){ge(0),e.preventDefault()},ye=function(e){ge(Ge.length-1),e.preventDefault()},he=function(e){var t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":se(e);break;case"ArrowUp":pe(e);break;case"Home":me(e);break;case"End":be(e);break;case"PageDown":ye(e);break;case"PageUp":ve(e);break;case"Enter":case"NumpadEnter":case"Space":de(e),e.preventDefault();break;case"Tab":break;case"ShiftLeft":case"ShiftRight":D(g);break;default:if(v.multiple&&"KeyA"===e.code&&t){var n=Ge.filter((function(e){return Z(e)})).map((function(e){return Le(e)}));Ee(e,n),e.preventDefault();break}!t&&p.isPrintableCharacter(e.key)&&(oe(e,e.key),e.preventDefault())}},ge=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;setTimeout((function(){var t=-1!==e?"".concat(K.current,"_").concat(e):-1!==g?"".concat(K.current,"_").concat(g):null,n=M.current.querySelector('li[id="'.concat(t,'"]'));n?n.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"}):v.virtualScrollerOptions&&k.current&&k.current.scrollToIndex(-1!==e?e:v.focusedOptionIndex)}),0)},xe=function(e){k.current&&k.current.scrollToIndex(0);var t=e.value;v.onFilterValueChange?v.onFilterValueChange({originalEvent:e.originalEvent,value:t}):N(t)},Oe=function(){N(""),v.onFilter&&v.onFilter({filter:""})},Ee=function(e,t){v.onChange&&v.onChange({originalEvent:e,value:t,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:v.name,id:v.id,value:t}})},Ie=function(e){return v.value.filter((function(t){return!p.equals(t,Le(e),v.dataKey)}))},Se=function(){if(null!=v.value&&Ge){if(!v.optionGroupLabel)return De(v.value,Ge);for(var e=0;e<Ge.length;e++){var t=De(v.value,Ce(Ge[e]));if(-1!==t)return{group:e,option:t}}}return-1},we=function(){return v.optionValue?null:v.dataKey},De=function(e,t){var n=we();return t.findIndex((function(t){return p.equals(e,Le(t),n)}))},Fe=function(e){var t=Le(e),n=we();return v.multiple&&v.value?v.value.some((function(e){return p.equals(e,t,n)})):p.equals(v.value,t,n)},Pe=function(e){return v.optionLabel?p.resolveFieldData(e,v.optionLabel):e&&void 0!==e.label?e.label:e},Le=function(e){return v.optionValue?p.resolveFieldData(e,v.optionValue):e&&void 0!==e.value?e.value:e},je=function(e){return v.dataKey?p.resolveFieldData(e,v.dataKey):Pe(e)},Ne=function(e){return v.optionDisabled?p.isFunction(v.optionDisabled)?v.optionDisabled(e):p.resolveFieldData(e,v.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Te=function(e){return p.resolveFieldData(e,v.optionGroupLabel)},Ce=function(e){return p.resolveFieldData(e,v.optionGroupChildren)},ke=function(){if(k.current){var e=Se();-1!==e&&setTimeout((function(){return k.current.scrollToIndex(e)}),0)}};e.useImperativeHandle(c,(function(){return{props:v,focus:function(){return f.focusFirstElement(T.current)},getElement:function(){return T.current},getVirtualScroller:function(){return k.current}}})),a((function(){ke(),K.current=d()}));var Ke=function(t,n){return Ce(t).map((function(t,r){var o=Pe(t),l=r+"_"+je(t),i=Ne(t);return e.createElement(_,{id:K.current+"_"+r,hostName:"ListBox",optionKey:l,key:l,label:o,option:t,style:n,template:v.itemTemplate,selected:Fe(t),onClick:z,index:r,focusedOptionIndex:g,onTouchEnd:H,disabled:i,ptCallbacks:X,metaData:U})}))},Me=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={height:r.props?r.props.itemSize:void 0};if(v.optionGroupLabel){var l=v.optionGroupTemplate?p.getJSXElement(v.optionGroupTemplate,t,n):p.resolveFieldData(t,v.optionGroupLabel),i=Ke(t,o),a=n+"_"+Te(t),u=s({className:X.cx("itemGroup"),style:X.sx("itemGroup",{scrollerOptions:r}),role:"group"},X.ptm("itemGroup"));return e.createElement(e.Fragment,{key:a},e.createElement("li",u,l),i)}var c=Pe(t),f=n+"_"+je(t),d=Ne(t);return e.createElement(_,{id:K.current+"_"+n,hostName:"ListBox",optionKey:f,key:f,label:c,index:n,focusedOptionIndex:g,option:t,style:o,template:v.itemTemplate,selected:Fe(t),onClick:z,onTouchEnd:H,disabled:d,ptCallbacks:X,metaData:U})},Ae=function(t,n){var o=s({className:X.cx("emptyMessage")},X.ptm("emptyMessage")),l=p.getJSXElement(t,v)||r(n?"emptyFilterMessage":"emptyMessage");return e.createElement("li",o,l)},Ge=function(){if(B){var e=V.trim().toLocaleLowerCase(v.filterLocale),t=v.filterBy?v.filterBy.split(","):[v.optionLabel||"label"];if(v.optionGroupLabel){var r,o=[],l=J(v.options);try{for(l.s();!(r=l.n()).done;){var i=r.value,a=n.filter(Ce(i),t,e,v.filterMatchMode,v.filterLocale);a&&a.length&&o.push(q(q({},i),{items:a}))}}catch(e){l.e(e)}finally{l.f()}return o}return n.filter(v.options,t,e,v.filterMatchMode,v.filterLocale)}return v.options}(),Ve=p.isNotEmpty(v.tooltip),Re=A.getOtherProps(v),_e=p.reduceKeys(Re,f.ARIA_PROPS),Be=function(){if(v.virtualScrollerOptions){var t=q(q({},v.virtualScrollerOptions),{items:Ge,onLazyLoad:function(e){return v.virtualScrollerOptions.onLazyLoad(q(q({},e),{filter:Ge}))},itemTemplate:function(e,t){return e&&Me(e,t.index,t)},contentTemplate:function(t){var n=s(q({ref:M,style:X.sx("list",{options:t}),className:X.cx("list",{options:t}),role:"listbox",tabIndex:"-1","aria-multiselectable":v.multiple},_e),X.ptm("list"));return e.createElement("ul",n,t.children)}});return e.createElement(m,h({ref:k},t,{pt:X.ptm("virtualScroller")}))}var n=p.isNotEmpty(Ge)?Ge.map(Me):B?Ae(v.emptyFilterMessage,!0):Ae(v.emptyMessage),r=s(q({ref:M,className:X.cx("list"),role:"listbox","aria-multiselectable":v.multiple,tabIndex:"-1",onKeyDown:he},_e),X.ptm("list"));return e.createElement("ul",r,n)}(),qe=v.filter?e.createElement(R,{hostName:"ListBox",filter:V,filterIcon:v.filterIcon,onFilter:xe,resetFilter:Oe,filterTemplate:v.filterTemplate,disabled:v.disabled,filterPlaceholder:v.filterPlaceholder,filterInputProps:v.filterInputProps,ptCallbacks:X,metaData:U}):null,Je=s({className:X.cx("wrapper"),style:v.listStyle},X.ptm("wrapper")),Ue=s({ref:T,id:v.id,className:X.cx("root"),style:v.style},A.getOtherProps(v),X.ptm("root")),Xe=s({ref:E,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:v.disabled?-1:v.tabIndex,onFocus:function(){f.focus(M.current);var e=f.getFirstFocusableElement(T.current,':not([data-p-hidden-focusable="true"])');I.current.tabIndex=f.isElement(e)?void 0:-1,E.current.tabIndex=-1,ce(null,0)},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},X.ptm("hiddenFirstFocusableEl")),ze=s({ref:I,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:v.disabled?-1:v.tabIndex,onFocus:function(e){if(e.relatedTarget===M.current){var t=f.getFirstFocusableElement(T.current,':not([data-p-hidden-focusable="true"])');f.focus(t),E.current.tabIndex=void 0}else f.focus(E.current);I.current.tabIndex=-1},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},X.ptm("hiddenLastFocusableEl"));return e.createElement(e.Fragment,null,e.createElement("div",Ue,e.createElement("span",Xe),qe,e.createElement("div",Je,Be),e.createElement("span",ze)),Ve&&e.createElement(u,h({target:T,content:v.tooltip,pt:X.ptm("tooltip")},v.tooltipOptions)))})));z.displayName="ListBox";export{z as ListBox};
|
|
1
|
+
import*as e from"react";import{PrimeReactContext as t,FilterService as n,localeOption as r}from"primereact/api";import{ComponentBase as o,useHandleStyle as i}from"primereact/componentbase";import{useMergeProps as l,useMountEffect as a}from"primereact/hooks";import{Tooltip as u}from"primereact/tooltip";import{classNames as c,IconUtils as s,ObjectUtils as p,DomHandler as f,UniqueComponentId as d}from"primereact/utils";import{VirtualScroller as m}from"primereact/virtualscroller";import{SearchIcon as v}from"primereact/icons/search";import{InputText as b}from"primereact/inputtext";import{Ripple as y}from"primereact/ripple";function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h.apply(this,arguments)}function g(e){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g(e)}function x(e,t){if("object"!==g(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==g(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=x(e,"string");return"symbol"===g(t)?t:String(t)}function E(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function I(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){if(Array.isArray(e))return I(e)}function w(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 I(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)?I(e,t):void 0}}function F(){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 P(e){return S(e)||w(e)||D(e)||F()}function L(e){throw new TypeError('"'+e+'" is read-only')}function j(e){if(Array.isArray(e))return e}function N(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,l,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(c)throw o}}return a}}function T(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(e,t){return j(e)||N(e,t)||D(e,t)||T()}var M=o.extend({defaultProps:{__TYPE:"ListBox",className:null,dataKey:null,disabled:null,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterIcon:null,filterBy:null,filterInputProps:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,filterValue:null,focusOnHover:!0,id:null,itemTemplate:null,invalid:!1,listClassName:null,listStyle:null,metaKeySelection:!1,selectOnFocus:!1,autoOptionFocus:!1,multiple:!1,onChange:null,onFilterValueChange:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,style:null,tabIndex:0,tooltip:null,tooltipOptions:null,value:null,virtualScrollerOptions:null,children:void 0},css:{classes:{itemGroup:"p-listbox-item-group",emptyMessage:"p-listbox-empty-message",list:"p-listbox-list",wrapper:function(e){return c("p-listbox-list-wrapper",e.props.listClassName)},root:function(e){var t=e.props;return c("p-listbox p-component",{"p-disabled":t.disabled,"p-invalid":t.invalid},t.className)},item:function(e){var t=e.props;return c("p-listbox-item",{"p-highlight":t.selected,"p-focus":t.focusedOptionIndex===t.index,"p-disabled":t.disabled},t.option.className)},filterContainer:"p-listbox-filter-container",filterIcon:"p-listbox-filter-icon",filterInput:"p-listbox-filter",header:"p-listbox-header"},styles:"\n@layer primereact {\n .p-listbox-list-wrapper {\n overflow: auto;\n }\n \n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n \n .p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n outline: none;\n }\n \n .p-listbox-filter-container {\n position: relative;\n }\n \n .p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-listbox-filter {\n width: 100%;\n }\n}\n",inlineStyles:{itemGroup:function(e){var t=e.scrollerOptions;return{height:t.props?t.props.itemSize:void 0}},list:function(e){return e.props.virtualScrollerOptions?e.options.style:void 0}}}});function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function k(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?K(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var A=e.memo((function(t){var n=l(),r=t.ptCallbacks,o=r.ptm,i=r.cx,a=function(e,n){return o(e,k({hostName:t.hostName},n))},u={filter:function(e){return c(e)},reset:function(){return t.resetFilter()}},c=function(e){t.onFilter&&t.onFilter({originalEvent:e,value:e.target.value})},f=function(){var r=n({className:i("filterIcon")},a("filterIcon")),l=s.getJSXIcon(t.filterIcon||e.createElement(v,r),k({},r),{props:t}),f=n({className:i("header")},a("header")),d=n({className:i("filterContainer")},a("filterContainer")),m=e.createElement("div",d,e.createElement(b,h({type:"text",value:t.filter,onChange:c,className:i("filterInput"),disabled:t.disabled,placeholder:t.filterPlaceholder},t.filterInputProps,{pt:o("filterInput"),unstyled:t.unstyled,__parentMetadata:{parent:t.metaData}})),l);t.filterTemplate&&(m=p.getJSXElement(t.filterTemplate,{className:"p-listbox-filter-container",element:m,filterOptions:u,filterInputChange:c,filterIconClassName:"p-dropdown-filter-icon",props:t}));return e.createElement("div",f,m)}();return e.createElement(e.Fragment,null,f)}));A.displayName="ListBoxHeader";var G=e.memo((function(t){var n=C(e.useState(!1),2),r=n[0],o=n[1],i=l(),a=t.ptCallbacks,u=a.ptm,c=a.cx,s=t.template?p.getJSXElement(t.template,t.option):t.label,f=i({id:t.id,className:c("item",{props:t}),style:t.style,onClick:function(e){return t.onClick(e,t.option,t.index)},onTouchEnd:function(e){t.onTouchEnd&&t.onTouchEnd({originalEvent:e,option:t.option})},onFocus:function(e){o(!0)},onBlur:function(e){o(!1)},tabIndex:"-1",onMouseDown:function(e){return t.onOptionMouseDown(e,t.index)},onMouseMove:function(e){return t.onOptionMouseMove(e,t.index)},"aria-label":t.label,key:t.optionKey,role:"option","aria-selected":t.selected,"aria-disabled":t.disabled,"data-p-disabled":t.disabled},u("item",{hostName:t.hostName,context:{selected:t.selected,disabled:t.disabled,focused:r,focusedOptionIndex:t.focusedOptionIndex}}));return e.createElement("li",f,s,e.createElement(y,null))}));function R(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 B(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?R(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):R(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function V(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,l=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){a=!0,i=e},f:function(){try{l||null==n.return||n.return()}finally{if(a)throw i}}}}function _(e,t){if(e){if("string"==typeof e)return H(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)?H(e,t):void 0}}function H(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}G.displayName="ListBoxItem";var J=e.memo(e.forwardRef((function(o,c){var s=l(),v=e.useContext(t),b=M.getProps(o,v),y=C(e.useState(null),2),g=y[0],x=y[1],O=e.useRef(null),E=e.useRef(null),I=e.useRef(null),S=C(e.useState(-1),2),w=S[0],D=S[1],F=C(e.useState(!1),2),j=F[0],N=F[1],T=C(e.useState(""),2),K=T[0],k=T[1],R=C(e.useState(""),2),_=R[0],H=R[1],J=e.useRef(null),U=e.useRef(null),X=e.useRef(null),q=e.useRef(null),z=e.useRef(!1),$=(b.onFilterValueChange?b.filterValue:K)||"",W=$&&$.trim().length>0,Y={props:b,state:{filterValue:$}},Q=M.setMetaData(Y);i(M.css.styles,Q.isUnstyled,{name:"listbox"});var Z=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;b.disabled||He(t)||(b.multiple?oe(e.originalEvent,t):re(e.originalEvent,t),z.current=!1,-1!==n&&x(n))},ee=function(e,t){ge(e,t)},te=function(e,t){b.focusOnHover&&j&&ge(e,t)},ne=function(){b.disabled||(z.current=!0)},re=function(e,t){var n=Re(t),r=!1,o=null;!z.current&&b.metaKeySelection?n?(e.metaKey||e.ctrlKey)&&(o=null,r=!0):(o=Ve(t),r=!0):(o=n?null:Ve(t),r=!0);r&&Ce(e,o)},oe=function(e,t){var n=Re(t),r=!1,o=null;if(!z&&b.metaKeySelection){var i=e.metaKey||e.ctrlKey;n?(o=i?Me(t):[Ve(t)],r=!0):(o=[].concat(P(o=i&&b.value||[]),[Ve(t)]),r=!0)}else o=n?Me(t):[].concat(P(b.value||[]),[Ve(t)]),r=!0;r&&b.onChange({originalEvent:e,value:o,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{name:b.name,id:b.id,value:o}})},ie=function(){return p.isNotEmpty(b.value)},le=function(e){return b.optionGroupLabel&&e.optionGroup&&e.group},ae=function(e){return p.isNotEmpty(e)&&!(He(e)||le(e))},ue=function(e){return ae(e)&&Re(e)},ce=function(){return Qe.findIndex((function(e){return ae(e)}))},se=function(){if(ie()){if(!b.multiple)return Qe.findIndex((function(e){return ue(e)}));for(var e,t=function(){var e=b.value[n],t=Qe.findIndex((function(t){return ue(t)&&Ge(e,Ve(t))}));if(t>-1)return{v:t}},n=b.value.length-1;n>=0;n--)if(e=t())return e.v}return-1},pe=function(){return p.findLastIndex(Qe,(function(e){return ae(e)}))},fe=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=-1;return ie()&&(n=t?-1===(n=be(e))?ve(e):n:-1===(n=ve(e))?be(e):n),n>-1?n:e},de=function(e){var t;return ae(e)&&(null===(t=Be(e))||void 0===t?void 0:t.toLocaleLowerCase(b.filterLocale).startsWith(_.toLocaleLowerCase(b.filterLocale)))},me=function(e,t){H((_||"")+t);var n=-1;p.isNotEmpty(_)&&(-1===(n=-1!==g?-1===(n=Qe.slice(g).findIndex((function(e){return de(e)})))?Qe.slice(0,g).findIndex((function(e){return de(e)})):n+g:Qe.findIndex((function(e){return de(e)})))&&-1===g&&(n=he()),-1!==n&&ge(e,n)),O.current&&clearTimeout(O.current),O.current=setTimeout((function(){H(""),O.current=null}),500)},ve=function(e){var t=ie()&&e<Qe.length-1?Qe.slice(e+1).findIndex((function(e){return ue(e)})):-1;return t>-1?t+e+1:-1},be=function(e){var t=ie()&&e>0?p.findLastIndex(Qe.slice(0,e),(function(e){return ue(e)})):-1;return t>-1?t:-1},ye=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1;if(-1===t&&(t=fe(n,!0)),-1===n&&(n=fe(t)),-1!==t&&-1!==n){var r=Math.min(t,n),o=Math.max(t,n),i=Qe.slice(r,o+1).filter((function(e){return ae(e)})).map((function(e){return Ve(e)}));Ce(e,i)}},he=function(){var e=ie()?Qe.findIndex((function(e){return ue(e)})):-1;return e<0?ce():e},ge=function(e,t){g!==t&&(x(t),Le(),e&&b.selectOnFocus&&!b.multiple&&Z(e,Qe[t]))},xe=function(e){var t,n,r=-1!==g?(n=(t=g)<Qe.length-1?Qe.slice(t+1).findIndex((function(e){return ae(e)})):-1)>-1?n+t+1:t:he();b.multiple&&e.shiftKey&&ye(e,w,r),ge(e,r),e.preventDefault()},Oe=function(e){var t,n,r,o=-1!==g?(r=(n=g)>0?p.findLastIndex(Qe.slice(0,n),(function(e){return ae(e)})):-1)>-1?r:n:(t=ie()?p.findLastIndex(Qe,(function(e){return ue(e)})):-1)<0?pe():t;b.multiple&&e.shiftKey&&ye(e,o,w),ge(e,o),e.preventDefault()},Ee=function(e){-1!==g&&(b.multiple&&e.shiftKey?ye(e,g):Z(e,Qe[g])),e.preventDefault()},Ie=function(e){Ee(e)},Se=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])e.currentTarget.setSelectionRange(0,0),x(-1);else{var t=e.metaKey||e.ctrlKey,n=ce();b.multiple&&e.shiftKey&&t&&ye(e,n,w),ge(e,n)}e.preventDefault()},we=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var t=e.currentTarget,n=t.value.length;t.setSelectionRange(n,n),L("focusedOptionIndex")}else{var r=e.metaKey||e.ctrlKey,o=pe();b.multiple&&e.shiftKey&&r&&ye(e,w,o),ge(e,o)}e.preventDefault()},De=function(e){Le(0),e.preventDefault()},Fe=function(e){Le(Qe.length-1),e.preventDefault()},Pe=function(e){var t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":xe(e);break;case"ArrowUp":Oe(e);break;case"Home":Se(e);break;case"End":we(e);break;case"PageDown":Fe(e);break;case"PageUp":De(e);break;case"Enter":case"NumpadEnter":case"Space":Ie(e),e.preventDefault();break;case"Tab":break;case"ShiftLeft":case"ShiftRight":D(g);break;default:if(b.multiple&&"KeyA"===e.code&&t){var n=Qe.filter((function(e){return ae(e)})).map((function(e){return Ve(e)}));Ce(e,n),e.preventDefault();break}!t&&p.isPrintableCharacter(e.key)&&(me(e,e.key),e.preventDefault())}},Le=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;setTimeout((function(){var t=-1!==e?"".concat(X.current,"_").concat(e):-1!==g?"".concat(X.current,"_").concat(g):null,n=q.current.querySelector('li[id="'.concat(t,'"]'));n?n.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"}):b.virtualScrollerOptions&&U.current&&U.current.scrollToIndex(-1!==e?e:g)}),0)},je=function(e){U.current&&U.current.scrollToIndex(0);var t=e.value;b.onFilterValueChange?b.onFilterValueChange({originalEvent:e.originalEvent,value:t}):k(t)},Ne=function(){k(""),b.onFilter&&b.onFilter({filter:""})},Te=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:j;if(b.selectOnFocus&&b.autoOptionFocus&&!ie()&&!b.multiple&&e){var t=he();Z(null,Qe[t]),x(t)}},Ce=function(e,t){b.onChange&&b.onChange({originalEvent:e,value:t,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{name:b.name,id:b.id,value:t}})},Me=function(e){return b.value.filter((function(t){return!p.equals(t,Ve(e),b.dataKey)}))},Ke=function(){if(null!=b.value&&Qe){if(!b.optionGroupLabel)return Ae(b.value,Qe);for(var e=0;e<Qe.length;e++){var t=Ae(b.value,qe(Qe[e]));if(-1!==t)return{group:e,option:t}}}return-1},ke=function(){return b.optionValue?null:b.dataKey},Ae=function(e,t){var n=ke();return t.findIndex((function(t){return p.equals(e,Ve(t),n)}))},Ge=function(e,t){return p.equals(e,t,ke())},Re=function(e){var t=Ve(e);return b.multiple?(b.value||[]).some((function(e){return Ge(e,t)})):Ge(b.value,t)},Be=function(e){return b.optionLabel?p.resolveFieldData(e,b.optionLabel):e&&void 0!==e.label?e.label:e},Ve=function(e){return b.optionValue?p.resolveFieldData(e,b.optionValue):e&&void 0!==e.value?e.value:e},_e=function(e){return b.dataKey?p.resolveFieldData(e,b.dataKey):Be(e)},He=function(e){return b.optionDisabled?p.isFunction(b.optionDisabled)?b.optionDisabled(e):p.resolveFieldData(e,b.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Je=function(){N(!0),x(-1!==g?g:b.autoOptionFocus?he():se()),Te(!0)},Ue=function(e){N(!1),x(-1),D(-1),H("")},Xe=function(e){return p.resolveFieldData(e,b.optionGroupLabel)},qe=function(e){return p.resolveFieldData(e,b.optionGroupChildren)},ze=function(){if(U.current){var e=Ke();-1!==e&&setTimeout((function(){return U.current.scrollToIndex(e)}),0)}};e.useImperativeHandle(c,(function(){return{props:b,focus:function(){return f.focusFirstElement(J.current)},getElement:function(){return J.current},getVirtualScroller:function(){return U.current}}})),a((function(){ze(),X.current=d()}));var $e=function(t,n){return qe(t).map((function(t,r){var o=Be(t),i=r+"_"+_e(t),l=He(t);return e.createElement(G,{id:X.current+"_"+r,hostName:"ListBox",optionKey:i,key:i,label:o,option:t,style:n,template:b.itemTemplate,selected:Re(t),onOptionMouseDown:ee,onOptionMouseMove:te,onClick:Z,index:r,focusedOptionIndex:g,onTouchEnd:ne,disabled:l,ptCallbacks:Q,metaData:Y})}))},We=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={height:r.props?r.props.itemSize:void 0};if(b.optionGroupLabel){var i=b.optionGroupTemplate?p.getJSXElement(b.optionGroupTemplate,t,n):p.resolveFieldData(t,b.optionGroupLabel),l=$e(t,o),a=n+"_"+Xe(t),u=s({className:Q.cx("itemGroup"),style:Q.sx("itemGroup",{scrollerOptions:r}),role:"group"},Q.ptm("itemGroup"));return e.createElement(e.Fragment,{key:a},e.createElement("li",u,i),l)}var c=Be(t),f=n+"_"+_e(t),d=He(t);return e.createElement(G,{id:X.current+"_"+n,hostName:"ListBox",optionKey:f,key:f,label:c,index:n,onOptionMouseDown:ee,onOptionMouseMove:te,focusedOptionIndex:g,option:t,style:o,template:b.itemTemplate,selected:Re(t),onClick:Z,onTouchEnd:ne,disabled:d,ptCallbacks:Q,metaData:Y})},Ye=function(t,n){var o=s({className:Q.cx("emptyMessage")},Q.ptm("emptyMessage")),i=p.getJSXElement(t,b)||r(n?"emptyFilterMessage":"emptyMessage");return e.createElement("li",o,i)},Qe=function(){if(W){var e=$.trim().toLocaleLowerCase(b.filterLocale),t=b.filterBy?b.filterBy.split(","):[b.optionLabel||"label"];if(b.optionGroupLabel){var r,o=[],i=V(b.options);try{for(i.s();!(r=i.n()).done;){var l=r.value,a=n.filter(qe(l),t,e,b.filterMatchMode,b.filterLocale);a&&a.length&&o.push(B(B({},l),{items:a}))}}catch(e){i.e(e)}finally{i.f()}return o}return n.filter(b.options,t,e,b.filterMatchMode,b.filterLocale)}return b.options}(),Ze=p.isNotEmpty(b.tooltip),et=M.getOtherProps(b),tt=p.reduceKeys(et,f.ARIA_PROPS),nt=function(){if(b.virtualScrollerOptions){var t=B(B({},b.virtualScrollerOptions),{items:Qe,onLazyLoad:function(e){return b.virtualScrollerOptions.onLazyLoad(B(B({},e),{filter:Qe}))},itemTemplate:function(e,t){return e&&We(e,t.index,t)},contentTemplate:function(t){var n=s(B({ref:q,style:Q.sx("list",{options:t}),className:Q.cx("list",{options:t}),role:"listbox",tabIndex:"-1","aria-multiselectable":b.multiple,onFocus:Je,onBlur:Ue,onKeyDown:Pe},tt),Q.ptm("list"));return e.createElement("ul",n,t.children)}});return e.createElement(m,h({ref:U},t,{pt:Q.ptm("virtualScroller")}))}var n=p.isNotEmpty(Qe)?Qe.map(We):W?Ye(b.emptyFilterMessage,!0):Ye(b.emptyMessage),r=s(B({ref:q,className:Q.cx("list"),role:"listbox","aria-multiselectable":b.multiple,tabIndex:"-1",onFocus:Je,onBlur:Ue,onKeyDown:Pe},tt),Q.ptm("list"));return e.createElement("ul",r,n)}(),rt=b.filter?e.createElement(A,{hostName:"ListBox",filter:$,filterIcon:b.filterIcon,onFilter:je,resetFilter:Ne,filterTemplate:b.filterTemplate,disabled:b.disabled,filterPlaceholder:b.filterPlaceholder,filterInputProps:b.filterInputProps,ptCallbacks:Q,metaData:Y}):null,ot=s({className:Q.cx("wrapper"),style:b.listStyle},Q.ptm("wrapper")),it=s({ref:J,id:b.id,className:Q.cx("root"),style:b.style},M.getOtherProps(b),Q.ptm("root")),lt=s({ref:E,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:b.disabled?-1:b.tabIndex,onFocus:function(){f.focus(q.current);var e=f.getFirstFocusableElement(J.current,':not([data-p-hidden-focusable="true"])');I.current.tabIndex=f.isElement(e)?void 0:-1,E.current.tabIndex=-1,ge(null,0)},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},Q.ptm("hiddenFirstFocusableEl")),at=s({ref:I,role:"presentation","aria-hidden":"true",className:"p-hidden-accessible p-hidden-focusable",tabIndex:b.disabled?-1:b.tabIndex,onFocus:function(e){if(e.relatedTarget===q.current){var t=f.getFirstFocusableElement(J.current,':not([data-p-hidden-focusable="true"])');f.focus(t),E.current.tabIndex=void 0}else f.focus(E.current);I.current.tabIndex=-1},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},Q.ptm("hiddenLastFocusableEl"));return e.createElement(e.Fragment,null,e.createElement("div",it,e.createElement("span",lt),rt,e.createElement("div",ot,nt),e.createElement("span",at)),Ze&&e.createElement(u,h({target:J,content:b.tooltip,pt:Q.ptm("tooltip")},b.tooltipOptions)))})));J.displayName="ListBox";export{J as ListBox};
|