primereact 8.1.0 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/accordion/accordion.cjs.js +9 -0
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.d.ts +4 -5
- package/accordion/accordion.esm.js +9 -0
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +9 -0
- package/accordion/accordion.min.js +1 -1
- package/autocomplete/autocomplete.cjs.js +65 -36
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.d.ts +5 -1
- package/autocomplete/autocomplete.esm.js +66 -37
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +65 -36
- package/autocomplete/autocomplete.min.js +1 -1
- package/avatar/avatar.cjs.js +35 -7
- package/avatar/avatar.cjs.min.js +1 -1
- package/avatar/avatar.d.ts +4 -4
- package/avatar/avatar.esm.js +35 -7
- package/avatar/avatar.esm.min.js +1 -1
- package/avatar/avatar.js +35 -7
- package/avatar/avatar.min.js +1 -1
- package/avatargroup/avatargroup.cjs.js +27 -0
- package/avatargroup/avatargroup.cjs.min.js +1 -1
- package/avatargroup/avatargroup.d.ts +4 -4
- package/avatargroup/avatargroup.esm.js +27 -0
- package/avatargroup/avatargroup.esm.min.js +1 -1
- package/avatargroup/avatargroup.js +27 -0
- package/avatargroup/avatargroup.min.js +1 -1
- package/badge/badge.cjs.js +14 -2
- package/badge/badge.cjs.min.js +1 -1
- package/badge/badge.d.ts +5 -5
- package/badge/badge.esm.js +14 -2
- package/badge/badge.esm.min.js +1 -1
- package/badge/badge.js +14 -2
- package/badge/badge.min.js +1 -1
- package/blockui/blockui.cjs.js +26 -3
- package/blockui/blockui.cjs.min.js +1 -1
- package/blockui/blockui.d.ts +2 -4
- package/blockui/blockui.esm.js +26 -3
- package/blockui/blockui.esm.min.js +1 -1
- package/blockui/blockui.js +26 -3
- package/blockui/blockui.min.js +1 -1
- package/breadcrumb/breadcrumb.cjs.js +28 -0
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.d.ts +4 -5
- package/breadcrumb/breadcrumb.esm.js +28 -0
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +28 -0
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/button/button.d.ts +3 -1
- package/calendar/calendar.cjs.js +138 -46
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.d.ts +4 -0
- package/calendar/calendar.esm.js +138 -46
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +138 -46
- package/calendar/calendar.min.js +1 -1
- package/captcha/captcha.cjs.js +24 -3
- package/captcha/captcha.cjs.min.js +1 -1
- package/captcha/captcha.d.ts +2 -3
- package/captcha/captcha.esm.js +24 -3
- package/captcha/captcha.esm.min.js +1 -1
- package/captcha/captcha.js +24 -3
- package/captcha/captcha.min.js +1 -1
- package/card/card.d.ts +1 -4
- package/carousel/carousel.cjs.js +25 -0
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.d.ts +4 -5
- package/carousel/carousel.esm.js +25 -0
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +25 -0
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +38 -3
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +7 -2
- package/cascadeselect/cascadeselect.esm.js +38 -3
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +38 -3
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/chart/chart.cjs.js +72 -25
- package/chart/chart.cjs.min.js +1 -1
- package/chart/chart.d.ts +1 -0
- package/chart/chart.esm.js +72 -25
- package/chart/chart.esm.min.js +1 -1
- package/chart/chart.js +72 -25
- package/chart/chart.min.js +1 -1
- package/checkbox/checkbox.cjs.js +30 -1
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.d.ts +4 -1
- package/checkbox/checkbox.esm.js +31 -2
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +30 -1
- package/checkbox/checkbox.min.js +1 -1
- package/chip/chip.cjs.js +28 -0
- package/chip/chip.cjs.min.js +1 -1
- package/chip/chip.d.ts +4 -4
- package/chip/chip.esm.js +28 -0
- package/chip/chip.esm.min.js +1 -1
- package/chip/chip.js +28 -0
- package/chip/chip.min.js +1 -1
- package/chips/chips.cjs.js +56 -2
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.d.ts +9 -5
- package/chips/chips.esm.js +57 -3
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +57 -4
- package/chips/chips.min.js +1 -1
- package/colorpicker/colorpicker.cjs.js +33 -0
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.d.ts +7 -1
- package/colorpicker/colorpicker.esm.js +33 -0
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +33 -0
- package/colorpicker/colorpicker.min.js +1 -1
- package/column/column.d.ts +1 -0
- package/confirmdialog/confirmdialog.cjs.js +3 -3
- package/confirmdialog/confirmdialog.cjs.min.js +1 -1
- package/confirmdialog/confirmdialog.d.ts +1 -6
- package/confirmdialog/confirmdialog.esm.js +3 -3
- package/confirmdialog/confirmdialog.esm.min.js +1 -1
- package/confirmdialog/confirmdialog.js +3 -3
- package/confirmdialog/confirmdialog.min.js +1 -1
- package/confirmpopup/confirmpopup.cjs.js +2 -2
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +2 -2
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +2 -2
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/contextmenu/contextmenu.cjs.js +25 -3
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.d.ts +2 -4
- package/contextmenu/contextmenu.esm.js +25 -3
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +25 -3
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +599 -180
- package/core/core.min.js +12 -12
- package/datascroller/datascroller.cjs.js +29 -3
- package/datascroller/datascroller.cjs.min.js +1 -1
- package/datascroller/datascroller.d.ts +2 -4
- package/datascroller/datascroller.esm.js +29 -3
- package/datascroller/datascroller.esm.min.js +1 -1
- package/datascroller/datascroller.js +29 -3
- package/datascroller/datascroller.min.js +1 -1
- package/datatable/datatable.cjs.js +92 -30
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +5 -1
- package/datatable/datatable.esm.js +93 -31
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +92 -30
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.cjs.js +12 -0
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.d.ts +4 -5
- package/dataview/dataview.esm.js +12 -0
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +12 -0
- package/dataview/dataview.min.js +1 -1
- package/deferredcontent/deferredcontent.cjs.js +25 -0
- package/deferredcontent/deferredcontent.cjs.min.js +1 -1
- package/deferredcontent/deferredcontent.d.ts +4 -2
- package/deferredcontent/deferredcontent.esm.js +25 -0
- package/deferredcontent/deferredcontent.esm.min.js +1 -1
- package/deferredcontent/deferredcontent.js +25 -0
- package/deferredcontent/deferredcontent.min.js +1 -1
- package/dialog/dialog.cjs.js +46 -6
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.d.ts +8 -0
- package/dialog/dialog.esm.js +46 -6
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +46 -6
- package/dialog/dialog.min.js +1 -1
- package/divider/divider.cjs.js +27 -0
- package/divider/divider.cjs.min.js +1 -1
- package/divider/divider.d.ts +4 -4
- package/divider/divider.esm.js +27 -0
- package/divider/divider.esm.min.js +1 -1
- package/divider/divider.js +27 -0
- package/divider/divider.min.js +1 -1
- package/dock/dock.cjs.js +28 -0
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.d.ts +4 -5
- package/dock/dock.esm.js +28 -0
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +28 -0
- package/dock/dock.min.js +1 -1
- package/dropdown/dropdown.cjs.js +85 -23
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +15 -2
- package/dropdown/dropdown.esm.js +85 -23
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +85 -23
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +27 -11
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.d.ts +3 -0
- package/editor/editor.esm.js +27 -11
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +27 -11
- package/editor/editor.min.js +1 -1
- package/fieldset/fieldset.cjs.js +30 -0
- package/fieldset/fieldset.cjs.min.js +1 -1
- package/fieldset/fieldset.d.ts +5 -5
- package/fieldset/fieldset.esm.js +30 -0
- package/fieldset/fieldset.esm.min.js +1 -1
- package/fieldset/fieldset.js +30 -0
- package/fieldset/fieldset.min.js +1 -1
- package/fileupload/fileupload.cjs.js +28 -3
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.d.ts +2 -0
- package/fileupload/fileupload.esm.js +28 -3
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +28 -3
- package/fileupload/fileupload.min.js +1 -1
- package/fullcalendar/fullcalendar.cjs.js +25 -0
- package/fullcalendar/fullcalendar.cjs.min.js +1 -1
- package/fullcalendar/fullcalendar.d.ts +3 -1
- package/fullcalendar/fullcalendar.esm.js +25 -0
- package/fullcalendar/fullcalendar.esm.min.js +1 -1
- package/fullcalendar/fullcalendar.js +25 -0
- package/fullcalendar/fullcalendar.min.js +1 -1
- package/galleria/galleria.cjs.js +27 -3
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.d.ts +2 -4
- package/galleria/galleria.esm.js +27 -3
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +27 -3
- package/galleria/galleria.min.js +1 -1
- package/gmap/gmap.cjs.js +25 -3
- package/gmap/gmap.cjs.min.js +1 -1
- package/gmap/gmap.d.ts +5 -4
- package/gmap/gmap.esm.js +25 -3
- package/gmap/gmap.esm.min.js +1 -1
- package/gmap/gmap.js +25 -3
- package/gmap/gmap.min.js +1 -1
- 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 +35 -5
- package/image/image.cjs.min.js +1 -1
- package/image/image.d.ts +5 -4
- package/image/image.esm.js +35 -5
- package/image/image.esm.min.js +1 -1
- package/image/image.js +35 -5
- package/image/image.min.css +1 -1
- package/image/image.min.js +1 -1
- package/inplace/inplace.cjs.js +28 -1
- package/inplace/inplace.cjs.min.js +1 -1
- package/inplace/inplace.d.ts +4 -5
- package/inplace/inplace.esm.js +28 -1
- package/inplace/inplace.esm.min.js +1 -1
- package/inplace/inplace.js +28 -1
- package/inplace/inplace.min.js +1 -1
- package/inputmask/inputmask.cjs.js +32 -5
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.d.ts +5 -13
- package/inputmask/inputmask.esm.js +32 -5
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +32 -5
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +11 -5
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.d.ts +4 -4
- package/inputnumber/inputnumber.esm.js +11 -5
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +11 -5
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/inputswitch.cjs.js +29 -1
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.d.ts +4 -1
- package/inputswitch/inputswitch.esm.js +30 -2
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +29 -1
- package/inputswitch/inputswitch.min.css +1 -1
- package/inputswitch/inputswitch.min.js +1 -1
- package/inputtext/inputtext.d.ts +4 -1
- package/inputtext/inputtext.min.css +1 -1
- package/inputtextarea/inputtextarea.d.ts +4 -1
- package/knob/knob.cjs.js +25 -0
- package/knob/knob.cjs.min.js +1 -1
- package/knob/knob.d.ts +3 -1
- package/knob/knob.esm.js +25 -0
- package/knob/knob.esm.min.js +1 -1
- package/knob/knob.js +25 -0
- package/knob/knob.min.js +1 -1
- package/listbox/listbox.cjs.js +128 -20
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.d.ts +14 -7
- package/listbox/listbox.esm.js +129 -21
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +129 -22
- package/listbox/listbox.min.js +1 -1
- package/megamenu/megamenu.cjs.js +57 -12
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.d.ts +11 -5
- package/megamenu/megamenu.esm.js +57 -12
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +57 -12
- package/megamenu/megamenu.min.css +1 -1
- package/megamenu/megamenu.min.js +1 -1
- package/mention/mention.cjs.js +16 -1
- package/mention/mention.cjs.min.js +1 -1
- package/mention/mention.d.ts +7 -5
- package/mention/mention.esm.js +16 -1
- package/mention/mention.esm.min.js +1 -1
- package/mention/mention.js +16 -1
- package/mention/mention.min.js +1 -1
- package/menu/menu.cjs.js +27 -3
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.d.ts +3 -4
- package/menu/menu.esm.js +27 -3
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +27 -3
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.cjs.js +32 -3
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.d.ts +6 -5
- package/menubar/menubar.esm.js +32 -3
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +32 -3
- package/menubar/menubar.min.js +1 -1
- package/menuitem/menuitem.d.ts +2 -0
- package/message/message.cjs.js +28 -0
- package/message/message.cjs.min.js +1 -1
- package/message/message.d.ts +5 -6
- package/message/message.esm.js +28 -0
- package/message/message.esm.min.js +1 -1
- package/message/message.js +28 -0
- package/message/message.min.js +1 -1
- package/messages/messages.cjs.js +30 -5
- package/messages/messages.cjs.min.js +1 -1
- package/messages/messages.d.ts +3 -5
- package/messages/messages.esm.js +30 -5
- package/messages/messages.esm.min.js +1 -1
- package/messages/messages.js +30 -5
- package/messages/messages.min.js +1 -1
- package/multiselect/multiselect.cjs.js +78 -12
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.d.ts +16 -2
- package/multiselect/multiselect.esm.js +78 -12
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +78 -12
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +10 -0
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.d.ts +4 -6
- package/multistatecheckbox/multistatecheckbox.esm.js +10 -0
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +10 -0
- package/multistatecheckbox/multistatecheckbox.min.js +1 -1
- package/orderlist/orderlist.cjs.js +145 -4
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.d.ts +17 -6
- package/orderlist/orderlist.esm.js +145 -4
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +146 -6
- package/orderlist/orderlist.min.css +1 -1
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/organizationchart.cjs.js +27 -0
- package/organizationchart/organizationchart.cjs.min.js +1 -1
- package/organizationchart/organizationchart.d.ts +4 -5
- package/organizationchart/organizationchart.esm.js +27 -0
- package/organizationchart/organizationchart.esm.min.js +1 -1
- package/organizationchart/organizationchart.js +27 -0
- package/organizationchart/organizationchart.min.js +1 -1
- package/overlaypanel/overlaypanel.cjs.js +25 -4
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.d.ts +2 -4
- package/overlaypanel/overlaypanel.esm.js +25 -4
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +25 -4
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +15 -3
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.d.ts +4 -4
- package/paginator/paginator.esm.js +15 -3
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +15 -3
- package/paginator/paginator.min.js +1 -1
- package/panel/panel.cjs.js +28 -0
- package/panel/panel.cjs.min.js +1 -1
- package/panel/panel.d.ts +5 -5
- package/panel/panel.esm.js +28 -0
- package/panel/panel.esm.min.js +1 -1
- package/panel/panel.js +28 -0
- package/panel/panel.min.js +1 -1
- package/panelmenu/panelmenu.cjs.js +28 -0
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.d.ts +4 -5
- package/panelmenu/panelmenu.esm.js +28 -0
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +28 -0
- package/panelmenu/panelmenu.min.js +1 -1
- package/password/password.cjs.js +31 -0
- package/password/password.cjs.min.js +1 -1
- package/password/password.d.ts +6 -4
- package/password/password.esm.js +31 -0
- package/password/password.esm.min.js +1 -1
- package/password/password.js +31 -0
- package/password/password.min.js +1 -1
- package/picklist/picklist.cjs.js +196 -14
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.d.ts +32 -1
- package/picklist/picklist.esm.js +196 -14
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +197 -16
- package/picklist/picklist.min.css +1 -1
- package/picklist/picklist.min.js +1 -1
- package/primereact.all.cjs.js +2483 -655
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +2481 -655
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +2483 -655
- package/primereact.all.min.js +1 -1
- package/progressbar/progressbar.cjs.js +29 -0
- package/progressbar/progressbar.cjs.min.js +1 -1
- package/progressbar/progressbar.d.ts +4 -5
- package/progressbar/progressbar.esm.js +29 -0
- package/progressbar/progressbar.esm.min.js +1 -1
- package/progressbar/progressbar.js +29 -0
- package/progressbar/progressbar.min.js +1 -1
- package/progressspinner/progressspinner.cjs.js +27 -0
- package/progressspinner/progressspinner.cjs.min.js +1 -1
- package/progressspinner/progressspinner.d.ts +4 -5
- package/progressspinner/progressspinner.esm.js +27 -0
- package/progressspinner/progressspinner.esm.min.js +1 -1
- package/progressspinner/progressspinner.js +27 -0
- package/progressspinner/progressspinner.min.js +1 -1
- package/radiobutton/radiobutton.cjs.js +29 -4
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.d.ts +2 -4
- package/radiobutton/radiobutton.esm.js +30 -5
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +29 -4
- package/radiobutton/radiobutton.min.js +1 -1
- package/rating/rating.cjs.js +25 -0
- package/rating/rating.cjs.min.js +1 -1
- package/rating/rating.d.ts +3 -4
- package/rating/rating.esm.js +25 -0
- package/rating/rating.esm.min.js +1 -1
- package/rating/rating.js +25 -0
- package/rating/rating.min.js +1 -1
- package/resources/primereact.css +213 -145
- package/resources/primereact.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +39 -6
- package/resources/themes/arya-green/theme.css +39 -6
- package/resources/themes/arya-orange/theme.css +39 -6
- package/resources/themes/arya-purple/theme.css +39 -6
- package/resources/themes/bootstrap4-dark-blue/theme.css +39 -6
- package/resources/themes/bootstrap4-dark-purple/theme.css +39 -6
- package/resources/themes/bootstrap4-light-blue/theme.css +38 -5
- package/resources/themes/bootstrap4-light-purple/theme.css +38 -5
- package/resources/themes/fluent-light/theme.css +39 -6
- package/resources/themes/lara-dark-blue/theme.css +39 -6
- package/resources/themes/lara-dark-indigo/theme.css +39 -6
- package/resources/themes/lara-dark-purple/theme.css +39 -6
- package/resources/themes/lara-dark-teal/theme.css +39 -6
- package/resources/themes/lara-light-blue/theme.css +39 -6
- package/resources/themes/lara-light-indigo/theme.css +39 -6
- package/resources/themes/lara-light-purple/theme.css +39 -6
- package/resources/themes/lara-light-teal/theme.css +39 -6
- package/resources/themes/luna-amber/theme.css +39 -6
- package/resources/themes/luna-blue/theme.css +39 -6
- package/resources/themes/luna-green/theme.css +39 -6
- package/resources/themes/luna-pink/theme.css +39 -6
- package/resources/themes/md-dark-deeppurple/theme.css +39 -6
- package/resources/themes/md-dark-indigo/theme.css +39 -6
- package/resources/themes/md-light-deeppurple/theme.css +39 -6
- package/resources/themes/md-light-indigo/theme.css +39 -6
- package/resources/themes/mdc-dark-deeppurple/theme.css +39 -6
- package/resources/themes/mdc-dark-indigo/theme.css +39 -6
- package/resources/themes/mdc-light-deeppurple/theme.css +39 -6
- package/resources/themes/mdc-light-indigo/theme.css +39 -6
- package/resources/themes/nova/theme.css +39 -6
- package/resources/themes/nova-accent/theme.css +39 -6
- package/resources/themes/nova-alt/theme.css +39 -6
- package/resources/themes/rhea/theme.css +39 -6
- package/resources/themes/saga-blue/theme.css +39 -6
- package/resources/themes/saga-green/theme.css +39 -6
- package/resources/themes/saga-orange/theme.css +39 -6
- package/resources/themes/saga-purple/theme.css +39 -6
- package/resources/themes/tailwind-light/theme.css +39 -6
- package/resources/themes/vela-blue/theme.css +39 -6
- package/resources/themes/vela-green/theme.css +39 -6
- package/resources/themes/vela-orange/theme.css +39 -6
- package/resources/themes/vela-purple/theme.css +39 -6
- package/scrollpanel/scrollpanel.cjs.js +33 -3
- package/scrollpanel/scrollpanel.cjs.min.js +1 -1
- package/scrollpanel/scrollpanel.d.ts +7 -5
- package/scrollpanel/scrollpanel.esm.js +33 -3
- package/scrollpanel/scrollpanel.esm.min.js +1 -1
- package/scrollpanel/scrollpanel.js +33 -3
- package/scrollpanel/scrollpanel.min.js +1 -1
- package/scrolltop/scrolltop.cjs.js +25 -0
- package/scrolltop/scrolltop.cjs.min.js +1 -1
- package/scrolltop/scrolltop.d.ts +3 -1
- package/scrolltop/scrolltop.esm.js +25 -0
- package/scrolltop/scrolltop.esm.min.js +1 -1
- package/scrolltop/scrolltop.js +25 -0
- package/scrolltop/scrolltop.min.js +1 -1
- package/selectbutton/selectbutton.cjs.js +25 -0
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.d.ts +4 -5
- package/selectbutton/selectbutton.esm.js +25 -0
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +25 -0
- package/selectbutton/selectbutton.min.js +1 -1
- package/sidebar/sidebar.cjs.js +31 -0
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.d.ts +6 -5
- package/sidebar/sidebar.esm.js +31 -0
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +31 -0
- package/sidebar/sidebar.min.js +1 -1
- package/skeleton/skeleton.cjs.js +27 -0
- package/skeleton/skeleton.cjs.min.js +1 -1
- package/skeleton/skeleton.d.ts +4 -4
- package/skeleton/skeleton.esm.js +27 -0
- package/skeleton/skeleton.esm.min.js +1 -1
- package/skeleton/skeleton.js +27 -0
- package/skeleton/skeleton.min.js +1 -1
- package/slidemenu/slidemenu.cjs.js +28 -21
- package/slidemenu/slidemenu.cjs.min.js +1 -1
- package/slidemenu/slidemenu.d.ts +2 -4
- package/slidemenu/slidemenu.esm.js +28 -21
- package/slidemenu/slidemenu.esm.min.js +1 -1
- package/slidemenu/slidemenu.js +28 -21
- package/slidemenu/slidemenu.min.js +1 -1
- package/slider/slider.cjs.js +25 -0
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.d.ts +4 -6
- package/slider/slider.esm.js +25 -0
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +25 -0
- package/slider/slider.min.js +1 -1
- package/speeddial/speeddial.cjs.js +6 -3
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.d.ts +2 -4
- package/speeddial/speeddial.esm.js +6 -3
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +6 -3
- package/speeddial/speeddial.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +28 -3
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.d.ts +4 -5
- package/splitbutton/splitbutton.esm.js +28 -3
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +28 -3
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +34 -5
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.d.ts +4 -5
- package/splitter/splitter.esm.js +35 -6
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +34 -5
- package/splitter/splitter.min.js +1 -1
- package/steps/steps.cjs.js +29 -0
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.d.ts +4 -5
- package/steps/steps.esm.js +29 -0
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +29 -0
- package/steps/steps.min.js +1 -1
- package/styleclass/styleclass.cjs.js +40 -17
- package/styleclass/styleclass.cjs.min.js +1 -1
- package/styleclass/styleclass.d.ts +5 -2
- package/styleclass/styleclass.esm.js +40 -17
- package/styleclass/styleclass.esm.min.js +1 -1
- package/styleclass/styleclass.js +40 -17
- package/styleclass/styleclass.min.js +1 -1
- package/tabmenu/tabmenu.cjs.js +27 -0
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.d.ts +4 -5
- package/tabmenu/tabmenu.esm.js +27 -0
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +27 -0
- package/tabmenu/tabmenu.min.js +1 -1
- package/tabview/tabview.cjs.js +8 -3
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.d.ts +2 -4
- package/tabview/tabview.esm.js +8 -3
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +8 -3
- package/tabview/tabview.min.js +1 -1
- package/tag/tag.cjs.js +12 -0
- package/tag/tag.cjs.min.js +1 -1
- package/tag/tag.d.ts +5 -5
- package/tag/tag.esm.js +12 -0
- package/tag/tag.esm.min.js +1 -1
- package/tag/tag.js +12 -0
- package/tag/tag.min.js +1 -1
- package/terminal/terminal.cjs.js +26 -1
- package/terminal/terminal.cjs.min.js +1 -1
- package/terminal/terminal.d.ts +4 -5
- package/terminal/terminal.esm.js +27 -2
- package/terminal/terminal.esm.min.js +1 -1
- package/terminal/terminal.js +26 -1
- package/terminal/terminal.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +27 -4
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.d.ts +2 -4
- package/tieredmenu/tieredmenu.esm.js +27 -4
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +27 -4
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/timeline/timeline.cjs.js +13 -0
- package/timeline/timeline.cjs.min.js +1 -1
- package/timeline/timeline.d.ts +4 -5
- package/timeline/timeline.esm.js +13 -0
- package/timeline/timeline.esm.min.js +1 -1
- package/timeline/timeline.js +13 -0
- package/timeline/timeline.min.js +1 -1
- package/toast/toast.cjs.js +18 -17
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.d.ts +4 -5
- package/toast/toast.esm.js +18 -17
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +18 -17
- package/toast/toast.min.css +1 -1
- package/toast/toast.min.js +1 -1
- package/togglebutton/togglebutton.cjs.js +25 -0
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.d.ts +4 -6
- package/togglebutton/togglebutton.esm.js +25 -0
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +25 -0
- package/togglebutton/togglebutton.min.js +1 -1
- package/toolbar/toolbar.cjs.js +27 -0
- package/toolbar/toolbar.cjs.min.js +1 -1
- package/toolbar/toolbar.d.ts +4 -5
- package/toolbar/toolbar.esm.js +27 -0
- package/toolbar/toolbar.esm.min.js +1 -1
- package/toolbar/toolbar.js +27 -0
- package/toolbar/toolbar.min.js +1 -1
- package/tooltip/tooltip.cjs.js +76 -53
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.d.ts +2 -0
- package/tooltip/tooltip.esm.js +76 -53
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +76 -53
- package/tooltip/tooltip.min.js +1 -1
- package/tree/tree.cjs.js +51 -9
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.d.ts +9 -0
- package/tree/tree.esm.js +51 -9
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +51 -9
- package/tree/tree.min.js +1 -1
- package/treeselect/treeselect.cjs.js +34 -5
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.d.ts +11 -5
- package/treeselect/treeselect.esm.js +34 -5
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +34 -5
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/treetable.cjs.js +12 -8
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.d.ts +4 -3
- package/treetable/treetable.esm.js +12 -8
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +12 -8
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +25 -0
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.d.ts +3 -5
- package/tristatecheckbox/tristatecheckbox.esm.js +25 -0
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +25 -0
- 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 +157 -68
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.d.ts +12 -0
- package/virtualscroller/virtualscroller.esm.js +159 -70
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +157 -68
- package/virtualscroller/virtualscroller.min.css +1 -1
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +301 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { usePrevious, useMountEffect, useUpdateEffect } from 'primereact/hooks';
|
|
3
|
-
import { ObjectUtils, classNames } from 'primereact/utils';
|
|
2
|
+
import { usePrevious, useResizeListener, useEventListener, useMountEffect, useUpdateEffect } from 'primereact/hooks';
|
|
3
|
+
import { DomHandler, ObjectUtils, classNames } from 'primereact/utils';
|
|
4
4
|
|
|
5
5
|
function _extends() {
|
|
6
6
|
_extends = Object.assign || function (target) {
|
|
@@ -133,7 +133,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
133
133
|
numToleratedItemsState = _React$useState8[0],
|
|
134
134
|
setNumToleratedItemsState = _React$useState8[1];
|
|
135
135
|
|
|
136
|
-
var _React$useState9 = React.useState(props.loading),
|
|
136
|
+
var _React$useState9 = React.useState(props.loading || false),
|
|
137
137
|
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
138
138
|
loadingState = _React$useState10[0],
|
|
139
139
|
setLoadingState = _React$useState10[1];
|
|
@@ -156,10 +156,39 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
156
156
|
left: 0
|
|
157
157
|
} : 0);
|
|
158
158
|
var scrollTimeout = React.useRef(null);
|
|
159
|
+
var resizeTimeout = React.useRef(null);
|
|
160
|
+
var defaultWidth = React.useRef(null);
|
|
161
|
+
var defaultHeight = React.useRef(null);
|
|
159
162
|
var prevItems = usePrevious(props.items);
|
|
160
163
|
var prevLoading = usePrevious(props.loading);
|
|
161
164
|
|
|
165
|
+
var _useResizeListener = useResizeListener({
|
|
166
|
+
listener: function listener(event) {
|
|
167
|
+
return onResize(event);
|
|
168
|
+
}
|
|
169
|
+
}),
|
|
170
|
+
_useResizeListener2 = _slicedToArray(_useResizeListener, 1),
|
|
171
|
+
bindWindowResizeListener = _useResizeListener2[0];
|
|
172
|
+
|
|
173
|
+
var _useEventListener = useEventListener({
|
|
174
|
+
target: 'window',
|
|
175
|
+
type: 'orientationchange',
|
|
176
|
+
listener: function listener(event) {
|
|
177
|
+
return onResize(event);
|
|
178
|
+
}
|
|
179
|
+
}),
|
|
180
|
+
_useEventListener2 = _slicedToArray(_useEventListener, 1),
|
|
181
|
+
bindOrientationChangeListener = _useEventListener2[0];
|
|
182
|
+
|
|
183
|
+
var getElementRef = function getElementRef() {
|
|
184
|
+
return elementRef;
|
|
185
|
+
};
|
|
186
|
+
|
|
162
187
|
var scrollTo = function scrollTo(options) {
|
|
188
|
+
lastScrollPos.current = both ? {
|
|
189
|
+
top: 0,
|
|
190
|
+
left: 0
|
|
191
|
+
} : 0;
|
|
163
192
|
elementRef.current && elementRef.current.scrollTo(options);
|
|
164
193
|
};
|
|
165
194
|
|
|
@@ -169,9 +198,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
169
198
|
var _calculateNumItems = calculateNumItems(),
|
|
170
199
|
numToleratedItems = _calculateNumItems.numToleratedItems;
|
|
171
200
|
|
|
172
|
-
var itemSize = props.itemSize;
|
|
173
|
-
var contentPos = getContentPosition();
|
|
174
|
-
|
|
175
201
|
var calculateFirst = function calculateFirst() {
|
|
176
202
|
var _index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
177
203
|
|
|
@@ -180,8 +206,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
180
206
|
return _index <= _numT ? 0 : _index;
|
|
181
207
|
};
|
|
182
208
|
|
|
183
|
-
var calculateCoord = function calculateCoord(_first, _size
|
|
184
|
-
return _first * _size
|
|
209
|
+
var calculateCoord = function calculateCoord(_first, _size) {
|
|
210
|
+
return _first * _size;
|
|
185
211
|
};
|
|
186
212
|
|
|
187
213
|
var scrollToItem = function scrollToItem() {
|
|
@@ -201,15 +227,13 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
201
227
|
};
|
|
202
228
|
|
|
203
229
|
if (newFirst.rows !== firstState.rows || newFirst.cols !== firstState.cols) {
|
|
204
|
-
scrollToItem(calculateCoord(newFirst.cols, itemSize[1]
|
|
205
|
-
setFirstState(newFirst);
|
|
230
|
+
scrollToItem(calculateCoord(newFirst.cols, props.itemSize[1]), calculateCoord(newFirst.rows, props.itemSize[0]));
|
|
206
231
|
}
|
|
207
232
|
} else {
|
|
208
233
|
var _newFirst = calculateFirst(index, numToleratedItems);
|
|
209
234
|
|
|
210
235
|
if (_newFirst !== firstState) {
|
|
211
|
-
horizontal ? scrollToItem(calculateCoord(_newFirst, itemSize
|
|
212
|
-
setFirstState(_newFirst);
|
|
236
|
+
horizontal ? scrollToItem(calculateCoord(_newFirst, props.itemSize), 0) : scrollToItem(0, calculateCoord(_newFirst, props.itemSize));
|
|
213
237
|
}
|
|
214
238
|
}
|
|
215
239
|
};
|
|
@@ -222,8 +246,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
222
246
|
first = _getRenderedRange.first,
|
|
223
247
|
viewport = _getRenderedRange.viewport;
|
|
224
248
|
|
|
225
|
-
var itemSize = props.itemSize;
|
|
226
|
-
|
|
227
249
|
var scrollToItem = function scrollToItem() {
|
|
228
250
|
var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
229
251
|
var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
@@ -240,26 +262,26 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
240
262
|
if (isToStart) {
|
|
241
263
|
if (both) {
|
|
242
264
|
if (viewport.first.rows - first.rows > index[0]) {
|
|
243
|
-
scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows - 1) * itemSize);
|
|
265
|
+
scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows - 1) * props.itemSize[0]);
|
|
244
266
|
} else if (viewport.first.cols - first.cols > index[1]) {
|
|
245
|
-
scrollToItem((viewport.first.cols - 1) * itemSize, viewport.first.rows * itemSize);
|
|
267
|
+
scrollToItem((viewport.first.cols - 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
|
|
246
268
|
}
|
|
247
269
|
} else {
|
|
248
270
|
if (viewport.first - first > index) {
|
|
249
|
-
var pos = (viewport.first - 1) * itemSize;
|
|
271
|
+
var pos = (viewport.first - 1) * props.itemSize;
|
|
250
272
|
horizontal ? scrollToItem(pos, 0) : scrollToItem(0, pos);
|
|
251
273
|
}
|
|
252
274
|
}
|
|
253
275
|
} else if (isToEnd) {
|
|
254
276
|
if (both) {
|
|
255
277
|
if (viewport.last.rows - first.rows <= index[0] + 1) {
|
|
256
|
-
scrollToItem(viewport.first.cols * itemSize, (viewport.first.rows + 1) * itemSize);
|
|
278
|
+
scrollToItem(viewport.first.cols * props.itemSize[1], (viewport.first.rows + 1) * props.itemSize[0]);
|
|
257
279
|
} else if (viewport.last.cols - first.cols <= index[1] + 1) {
|
|
258
|
-
scrollToItem((viewport.first.cols + 1) * itemSize, viewport.first.rows * itemSize);
|
|
280
|
+
scrollToItem((viewport.first.cols + 1) * props.itemSize[1], viewport.first.rows * props.itemSize[0]);
|
|
259
281
|
}
|
|
260
282
|
} else {
|
|
261
283
|
if (viewport.last - first <= index + 1) {
|
|
262
|
-
var _pos2 = (viewport.first + 1) * itemSize;
|
|
284
|
+
var _pos2 = (viewport.first + 1) * props.itemSize;
|
|
263
285
|
|
|
264
286
|
horizontal ? scrollToItem(_pos2, 0) : scrollToItem(0, _pos2);
|
|
265
287
|
}
|
|
@@ -275,18 +297,14 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
275
297
|
};
|
|
276
298
|
|
|
277
299
|
var getColumns = function getColumns() {
|
|
278
|
-
if (props.columns) {
|
|
279
|
-
|
|
280
|
-
return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
|
|
281
|
-
}
|
|
300
|
+
if (props.columns && both || horizontal) {
|
|
301
|
+
return loadingState && props.loaderDisabled ? both ? loaderArrState[0] : loaderArrState : props.columns.slice(both ? firstState.cols : firstState, both ? lastState.cols : lastState);
|
|
282
302
|
}
|
|
283
303
|
|
|
284
304
|
return props.columns;
|
|
285
305
|
};
|
|
286
306
|
|
|
287
307
|
var getRenderedRange = function getRenderedRange() {
|
|
288
|
-
var itemSize = props.itemSize;
|
|
289
|
-
|
|
290
308
|
var calculateFirstInViewport = function calculateFirstInViewport(_pos, _size) {
|
|
291
309
|
return Math.floor(_pos / (_size || _pos));
|
|
292
310
|
};
|
|
@@ -295,13 +313,14 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
295
313
|
var lastInViewport = 0;
|
|
296
314
|
|
|
297
315
|
if (elementRef.current) {
|
|
298
|
-
var
|
|
299
|
-
|
|
316
|
+
var _elementRef$current = elementRef.current,
|
|
317
|
+
scrollTop = _elementRef$current.scrollTop,
|
|
318
|
+
scrollLeft = _elementRef$current.scrollLeft;
|
|
300
319
|
|
|
301
320
|
if (both) {
|
|
302
321
|
firstInViewport = {
|
|
303
|
-
rows: calculateFirstInViewport(scrollTop, itemSize[0]),
|
|
304
|
-
cols: calculateFirstInViewport(scrollLeft, itemSize[1])
|
|
322
|
+
rows: calculateFirstInViewport(scrollTop, props.itemSize[0]),
|
|
323
|
+
cols: calculateFirstInViewport(scrollLeft, props.itemSize[1])
|
|
305
324
|
};
|
|
306
325
|
lastInViewport = {
|
|
307
326
|
rows: firstInViewport.rows + numItemsInViewportState.rows,
|
|
@@ -309,7 +328,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
309
328
|
};
|
|
310
329
|
} else {
|
|
311
330
|
var scrollPos = horizontal ? scrollLeft : scrollTop;
|
|
312
|
-
firstInViewport = calculateFirstInViewport(scrollPos, itemSize);
|
|
331
|
+
firstInViewport = calculateFirstInViewport(scrollPos, props.itemSize);
|
|
313
332
|
lastInViewport = firstInViewport + numItemsInViewportState;
|
|
314
333
|
}
|
|
315
334
|
}
|
|
@@ -325,7 +344,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
325
344
|
};
|
|
326
345
|
|
|
327
346
|
var calculateNumItems = function calculateNumItems() {
|
|
328
|
-
var itemSize = props.itemSize;
|
|
329
347
|
var contentPos = getContentPosition();
|
|
330
348
|
var contentWidth = elementRef.current ? elementRef.current.offsetWidth - contentPos.left : 0;
|
|
331
349
|
var contentHeight = elementRef.current ? elementRef.current.offsetHeight - contentPos.top : 0;
|
|
@@ -339,9 +357,9 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
339
357
|
};
|
|
340
358
|
|
|
341
359
|
var numItemsInViewport = both ? {
|
|
342
|
-
rows: calculateNumItemsInViewport(contentHeight, itemSize[0]),
|
|
343
|
-
cols: calculateNumItemsInViewport(contentWidth, itemSize[1])
|
|
344
|
-
} : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, itemSize);
|
|
360
|
+
rows: calculateNumItemsInViewport(contentHeight, props.itemSize[0]),
|
|
361
|
+
cols: calculateNumItemsInViewport(contentWidth, props.itemSize[1])
|
|
362
|
+
} : calculateNumItemsInViewport(horizontal ? contentWidth : contentHeight, props.itemSize);
|
|
345
363
|
var numToleratedItems = numToleratedItemsState || (both ? [calculateNumToleratedItems(numItemsInViewport.rows), calculateNumToleratedItems(numItemsInViewport.cols)] : calculateNumToleratedItems(numItemsInViewport));
|
|
346
364
|
return {
|
|
347
365
|
numItemsInViewport: numItemsInViewport,
|
|
@@ -386,15 +404,26 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
386
404
|
}
|
|
387
405
|
};
|
|
388
406
|
|
|
407
|
+
var calculateAutoSize = function calculateAutoSize(loading) {
|
|
408
|
+
if (props.autoSize && !loading) {
|
|
409
|
+
Promise.resolve().then(function () {
|
|
410
|
+
if (_contentRef.current) {
|
|
411
|
+
_contentRef.current.style.minHeight = _contentRef.current.style.minWidth = 'auto';
|
|
412
|
+
var _contentRef$current = _contentRef.current,
|
|
413
|
+
offsetWidth = _contentRef$current.offsetWidth,
|
|
414
|
+
offsetHeight = _contentRef$current.offsetHeight;
|
|
415
|
+
(both || horizontal) && (elementRef.current.style.width = (offsetWidth < defaultWidth.current ? offsetWidth : defaultWidth.current) + 'px');
|
|
416
|
+
(both || vertical) && (elementRef.current.style.height = (offsetHeight < defaultHeight.current ? offsetHeight : defaultHeight.current) + 'px');
|
|
417
|
+
_contentRef.current.style.minHeight = _contentRef.current.style.minWidth = '';
|
|
418
|
+
}
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
};
|
|
422
|
+
|
|
389
423
|
var getLast = function getLast() {
|
|
390
424
|
var last = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
391
425
|
var isCols = arguments.length > 1 ? arguments[1] : undefined;
|
|
392
|
-
|
|
393
|
-
if (props.items) {
|
|
394
|
-
return Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last);
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
return 0;
|
|
426
|
+
return props.items ? Math.min(isCols ? (props.columns || props.items[0]).length : props.items.length, last) : 0;
|
|
398
427
|
};
|
|
399
428
|
|
|
400
429
|
var getContentPosition = function getContentPosition() {
|
|
@@ -447,7 +476,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
447
476
|
var items = props.items;
|
|
448
477
|
|
|
449
478
|
if (_spacerRef.current && items) {
|
|
450
|
-
var itemSize = props.itemSize;
|
|
451
479
|
var contentPos = getContentPosition();
|
|
452
480
|
|
|
453
481
|
var setProp = function setProp(_name, _value, _size) {
|
|
@@ -457,10 +485,10 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
457
485
|
};
|
|
458
486
|
|
|
459
487
|
if (both) {
|
|
460
|
-
setProp('height', items, itemSize[0], contentPos.y);
|
|
461
|
-
setProp('width', props.columns || items[1], itemSize[1], contentPos.x);
|
|
488
|
+
setProp('height', items, props.itemSize[0], contentPos.y);
|
|
489
|
+
setProp('width', props.columns || items[1], props.itemSize[1], contentPos.x);
|
|
462
490
|
} else {
|
|
463
|
-
horizontal ? setProp('width', props.columns || items, itemSize, contentPos.x) : setProp('height', items, itemSize, contentPos.y);
|
|
491
|
+
horizontal ? setProp('width', props.columns || items, props.itemSize, contentPos.x) : setProp('height', items, props.itemSize, contentPos.y);
|
|
464
492
|
}
|
|
465
493
|
}
|
|
466
494
|
};
|
|
@@ -468,7 +496,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
468
496
|
var setContentPosition = function setContentPosition(pos) {
|
|
469
497
|
if (_contentRef.current) {
|
|
470
498
|
var first = pos ? pos.first : firstState;
|
|
471
|
-
var itemSize = props.itemSize;
|
|
472
499
|
|
|
473
500
|
var calculateTranslateVal = function calculateTranslateVal(_first, _size) {
|
|
474
501
|
return _first * _size;
|
|
@@ -484,9 +511,9 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
484
511
|
};
|
|
485
512
|
|
|
486
513
|
if (both) {
|
|
487
|
-
setTransform(calculateTranslateVal(first.cols, itemSize[1]), calculateTranslateVal(first.rows, itemSize[0]));
|
|
514
|
+
setTransform(calculateTranslateVal(first.cols, props.itemSize[1]), calculateTranslateVal(first.rows, props.itemSize[0]));
|
|
488
515
|
} else {
|
|
489
|
-
var translateVal = calculateTranslateVal(first, itemSize);
|
|
516
|
+
var translateVal = calculateTranslateVal(first, props.itemSize);
|
|
490
517
|
horizontal ? setTransform(translateVal, 0) : setTransform(0, translateVal);
|
|
491
518
|
}
|
|
492
519
|
}
|
|
@@ -494,7 +521,6 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
494
521
|
|
|
495
522
|
var onScrollPositionChange = function onScrollPositionChange(event) {
|
|
496
523
|
var target = event.target;
|
|
497
|
-
var itemSize = props.itemSize;
|
|
498
524
|
var contentPos = getContentPosition();
|
|
499
525
|
|
|
500
526
|
var calculateScrollPos = function calculateScrollPos(_pos, _cpos) {
|
|
@@ -525,16 +551,20 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
525
551
|
|
|
526
552
|
var scrollTop = calculateScrollPos(target.scrollTop, contentPos.top);
|
|
527
553
|
var scrollLeft = calculateScrollPos(target.scrollLeft, contentPos.left);
|
|
528
|
-
var newFirst =
|
|
554
|
+
var newFirst = both ? {
|
|
555
|
+
rows: 0,
|
|
556
|
+
cols: 0
|
|
557
|
+
} : 0;
|
|
529
558
|
var newLast = lastState;
|
|
530
559
|
var isRangeChanged = false;
|
|
560
|
+
var newScrollPos = lastScrollPos.current;
|
|
531
561
|
|
|
532
562
|
if (both) {
|
|
533
563
|
var isScrollDown = lastScrollPos.current.top <= scrollTop;
|
|
534
564
|
var isScrollRight = lastScrollPos.current.left <= scrollLeft;
|
|
535
565
|
var currentIndex = {
|
|
536
|
-
rows: calculateCurrentIndex(scrollTop, itemSize[0]),
|
|
537
|
-
cols: calculateCurrentIndex(scrollLeft, itemSize[1])
|
|
566
|
+
rows: calculateCurrentIndex(scrollTop, props.itemSize[0]),
|
|
567
|
+
cols: calculateCurrentIndex(scrollLeft, props.itemSize[1])
|
|
538
568
|
};
|
|
539
569
|
var triggerIndex = {
|
|
540
570
|
rows: calculateTriggerIndex(currentIndex.rows, firstState.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0], isScrollDown),
|
|
@@ -548,8 +578,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
548
578
|
rows: calculateLast(currentIndex.rows, newFirst.rows, lastState.rows, numItemsInViewportState.rows, numToleratedItemsState[0]),
|
|
549
579
|
cols: calculateLast(currentIndex.cols, newFirst.cols, lastState.cols, numItemsInViewportState.cols, numToleratedItemsState[1], true)
|
|
550
580
|
};
|
|
551
|
-
isRangeChanged = newFirst.rows !== firstState.rows
|
|
552
|
-
|
|
581
|
+
isRangeChanged = newFirst.rows !== firstState.rows || newLast.rows !== lastState.rows || newFirst.cols !== firstState.cols || newLast.cols !== lastState.cols;
|
|
582
|
+
newScrollPos = {
|
|
553
583
|
top: scrollTop,
|
|
554
584
|
left: scrollLeft
|
|
555
585
|
};
|
|
@@ -557,20 +587,21 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
557
587
|
var scrollPos = horizontal ? scrollLeft : scrollTop;
|
|
558
588
|
var isScrollDownOrRight = lastScrollPos.current <= scrollPos;
|
|
559
589
|
|
|
560
|
-
var _currentIndex2 = calculateCurrentIndex(scrollPos, itemSize);
|
|
590
|
+
var _currentIndex2 = calculateCurrentIndex(scrollPos, props.itemSize);
|
|
561
591
|
|
|
562
592
|
var _triggerIndex2 = calculateTriggerIndex(_currentIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
|
|
563
593
|
|
|
564
594
|
newFirst = calculateFirst(_currentIndex2, _triggerIndex2, firstState, lastState, numItemsInViewportState, numToleratedItemsState, isScrollDownOrRight);
|
|
565
595
|
newLast = calculateLast(_currentIndex2, newFirst, lastState, numItemsInViewportState, numToleratedItemsState);
|
|
566
|
-
isRangeChanged = newFirst !== firstState
|
|
567
|
-
|
|
596
|
+
isRangeChanged = newFirst !== firstState || newLast !== lastState;
|
|
597
|
+
newScrollPos = scrollPos;
|
|
568
598
|
}
|
|
569
599
|
|
|
570
600
|
return {
|
|
571
601
|
first: newFirst,
|
|
572
602
|
last: newLast,
|
|
573
|
-
isRangeChanged: isRangeChanged
|
|
603
|
+
isRangeChanged: isRangeChanged,
|
|
604
|
+
scrollPos: newScrollPos
|
|
574
605
|
};
|
|
575
606
|
};
|
|
576
607
|
|
|
@@ -578,7 +609,8 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
578
609
|
var _onScrollPositionChan = onScrollPositionChange(event),
|
|
579
610
|
first = _onScrollPositionChan.first,
|
|
580
611
|
last = _onScrollPositionChan.last,
|
|
581
|
-
isRangeChanged = _onScrollPositionChan.isRangeChanged
|
|
612
|
+
isRangeChanged = _onScrollPositionChan.isRangeChanged,
|
|
613
|
+
scrollPos = _onScrollPositionChan.scrollPos;
|
|
582
614
|
|
|
583
615
|
if (isRangeChanged) {
|
|
584
616
|
var newState = {
|
|
@@ -588,6 +620,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
588
620
|
setContentPosition(newState);
|
|
589
621
|
setFirstState(first);
|
|
590
622
|
setLastState(last);
|
|
623
|
+
lastScrollPos.current = scrollPos;
|
|
591
624
|
props.onScrollIndexChange && props.onScrollIndexChange(newState);
|
|
592
625
|
|
|
593
626
|
if (props.lazy) {
|
|
@@ -614,7 +647,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
614
647
|
scrollTimeout.current = setTimeout(function () {
|
|
615
648
|
onScrollChange(event);
|
|
616
649
|
|
|
617
|
-
if (loadingState && props.showLoader && !props.lazy) {
|
|
650
|
+
if (loadingState && props.showLoader && (!props.lazy || props.loading === undefined)) {
|
|
618
651
|
setLoadingState(false);
|
|
619
652
|
}
|
|
620
653
|
}, props.delay);
|
|
@@ -623,10 +656,32 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
623
656
|
}
|
|
624
657
|
};
|
|
625
658
|
|
|
659
|
+
var onResize = function onResize() {
|
|
660
|
+
if (resizeTimeout.current) {
|
|
661
|
+
clearTimeout(resizeTimeout.current);
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
resizeTimeout.current = setTimeout(function () {
|
|
665
|
+
if (elementRef.current) {
|
|
666
|
+
var _ref = [DomHandler.getWidth(elementRef.current), DomHandler.getHeight(elementRef.current)],
|
|
667
|
+
width = _ref[0],
|
|
668
|
+
height = _ref[1];
|
|
669
|
+
var isDiffWidth = width !== defaultWidth.current,
|
|
670
|
+
isDiffHeight = height !== defaultHeight.current;
|
|
671
|
+
var reinit = both ? isDiffWidth || isDiffHeight : horizontal ? isDiffWidth : vertical ? isDiffHeight : false;
|
|
672
|
+
|
|
673
|
+
if (reinit) {
|
|
674
|
+
setNumToleratedItemsState(props.numToleratedItems);
|
|
675
|
+
defaultWidth.current = width;
|
|
676
|
+
defaultHeight.current = height;
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}, props.resizeDelay);
|
|
680
|
+
};
|
|
681
|
+
|
|
626
682
|
var getOptions = function getOptions(renderedIndex) {
|
|
627
|
-
var first = firstState;
|
|
628
683
|
var count = (props.items || []).length;
|
|
629
|
-
var index = both ?
|
|
684
|
+
var index = both ? firstState.rows + renderedIndex : firstState + renderedIndex;
|
|
630
685
|
return {
|
|
631
686
|
index: index,
|
|
632
687
|
count: count,
|
|
@@ -664,25 +719,48 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
664
719
|
};
|
|
665
720
|
|
|
666
721
|
var init = function init() {
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
722
|
+
if (!props.disabled) {
|
|
723
|
+
setSize();
|
|
724
|
+
calculateOptions();
|
|
725
|
+
setSpacerSize();
|
|
726
|
+
}
|
|
670
727
|
};
|
|
671
728
|
|
|
672
729
|
useMountEffect(function () {
|
|
673
|
-
|
|
730
|
+
if (!props.disabled) {
|
|
731
|
+
init();
|
|
732
|
+
bindWindowResizeListener();
|
|
733
|
+
bindOrientationChangeListener();
|
|
734
|
+
defaultWidth.current = DomHandler.getWidth(elementRef.current);
|
|
735
|
+
defaultHeight.current = DomHandler.getHeight(elementRef.current);
|
|
736
|
+
}
|
|
674
737
|
});
|
|
675
738
|
useUpdateEffect(function () {
|
|
676
739
|
init();
|
|
677
740
|
}, [props.itemSize, props.scrollHeight]);
|
|
741
|
+
useUpdateEffect(function () {
|
|
742
|
+
if (props.numToleratedItems !== numToleratedItemsState) {
|
|
743
|
+
setNumToleratedItemsState(props.numToleratedItems);
|
|
744
|
+
}
|
|
745
|
+
}, [props.numToleratedItems]);
|
|
746
|
+
useUpdateEffect(function () {
|
|
747
|
+
if (props.numToleratedItems === numToleratedItemsState) {
|
|
748
|
+
init(); // reinit after resizing
|
|
749
|
+
}
|
|
750
|
+
}, [numToleratedItemsState]);
|
|
678
751
|
useUpdateEffect(function () {
|
|
679
752
|
if (!prevItems || prevItems.length !== (props.items || []).length) {
|
|
680
753
|
init();
|
|
681
754
|
}
|
|
682
755
|
|
|
756
|
+
var loading = loadingState;
|
|
757
|
+
|
|
683
758
|
if (props.lazy && prevLoading !== props.loading && props.loading !== loadingState) {
|
|
684
759
|
setLoadingState(props.loading);
|
|
760
|
+
loading = props.loading;
|
|
685
761
|
}
|
|
762
|
+
|
|
763
|
+
calculateAutoSize(loading);
|
|
686
764
|
});
|
|
687
765
|
useUpdateEffect(function () {
|
|
688
766
|
lastScrollPos.current = both ? {
|
|
@@ -691,12 +769,13 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
691
769
|
} : 0;
|
|
692
770
|
}, [props.orientation]);
|
|
693
771
|
React.useImperativeHandle(ref, function () {
|
|
694
|
-
return {
|
|
772
|
+
return _objectSpread({
|
|
773
|
+
getElementRef: getElementRef,
|
|
695
774
|
scrollTo: scrollTo,
|
|
696
775
|
scrollToIndex: scrollToIndex,
|
|
697
776
|
scrollInView: scrollInView,
|
|
698
777
|
getRenderedRange: getRenderedRange
|
|
699
|
-
};
|
|
778
|
+
}, props);
|
|
700
779
|
});
|
|
701
780
|
|
|
702
781
|
var createLoaderItem = function createLoaderItem(index) {
|
|
@@ -723,6 +802,13 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
723
802
|
numCols: numItemsInViewportState.cols
|
|
724
803
|
});
|
|
725
804
|
});
|
|
805
|
+
} else if (props.loaderIconTemplate) {
|
|
806
|
+
var defaultContentOptions = {
|
|
807
|
+
className: 'p-virtualscroller-loading-icon',
|
|
808
|
+
element: content,
|
|
809
|
+
props: props
|
|
810
|
+
};
|
|
811
|
+
content = ObjectUtils.getJSXElement(props.loaderIconTemplate, defaultContentOptions);
|
|
726
812
|
}
|
|
727
813
|
|
|
728
814
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -779,7 +865,7 @@ var VirtualScroller = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(fun
|
|
|
779
865
|
stickyRef: function stickyRef(el) {
|
|
780
866
|
return _stickyRef.current = ObjectUtils.getRefElement(el);
|
|
781
867
|
},
|
|
782
|
-
items: loadedItems,
|
|
868
|
+
items: loadedItems(),
|
|
783
869
|
getItemOptions: function getItemOptions(index) {
|
|
784
870
|
return getOptions(index);
|
|
785
871
|
},
|
|
@@ -845,14 +931,17 @@ VirtualScroller.defaultProps = {
|
|
|
845
931
|
orientation: 'vertical',
|
|
846
932
|
numToleratedItems: null,
|
|
847
933
|
delay: 0,
|
|
934
|
+
resizeDelay: 10,
|
|
848
935
|
lazy: false,
|
|
849
936
|
disabled: false,
|
|
850
937
|
loaderDisabled: false,
|
|
851
938
|
columns: null,
|
|
852
|
-
loading:
|
|
939
|
+
loading: undefined,
|
|
940
|
+
autoSize: false,
|
|
853
941
|
showSpacer: true,
|
|
854
942
|
showLoader: false,
|
|
855
943
|
loadingTemplate: null,
|
|
944
|
+
loaderIconTemplate: null,
|
|
856
945
|
itemTemplate: null,
|
|
857
946
|
contentTemplate: null,
|
|
858
947
|
onScroll: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as t from"react";import{usePrevious as e,useMountEffect as r,useUpdateEffect as n}from"primereact/hooks";import{ObjectUtils as o,classNames as l}from"primereact/utils";function i(){return i=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},i.apply(this,arguments)}function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t){if(Array.isArray(t))return t}function c(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,l=[],i=!0,s=!1;try{for(r=r.call(t);!(i=(n=r.next()).done)&&(l.push(n.value),!e||l.length!==e);i=!0);}catch(t){s=!0,o=t}finally{try{i||null==r.return||r.return()}finally{if(s)throw o}}return l}}function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function f(t,e){if(t){if("string"==typeof t)return u(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(t,e):void 0}}function m(){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 p(t,e){return a(t)||c(t,e)||f(t,e)||m()}function d(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function h(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?d(Object(r),!0).forEach((function(e){s(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var g=t.memo(t.forwardRef((function(s,a){var c="vertical"===s.orientation,u="horizontal"===s.orientation,f="both"===s.orientation,m=p(t.useState(f?{rows:0,cols:0}:0),2),d=m[0],v=m[1],w=p(t.useState(f?{rows:0,cols:0}:0),2),y=w[0],b=w[1],S=p(t.useState(f?{rows:0,cols:0}:0),2),I=S[0],T=S[1],x=p(t.useState(s.numToleratedItems),2),O=x[0],z=x[1],E=p(t.useState(s.loading),2),L=E[0],R=E[1],j=p(t.useState([]),2),P=j[0],M=j[1],A=t.useRef(null),C=t.useRef(null),D=t.useRef(null),N=t.useRef(null),H=t.useRef(f?{top:0,left:0}:0),k=t.useRef(null),V=e(s.items),W=e(s.loading),J=function(t){A.current&&A.current.scrollTo(t)},X=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",r=B(),n=r.numToleratedItems,o=s.itemSize,l=U(),i=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return t<=e?0:t},a=function(t,e,r){return t*e+r},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return J({left:t,top:r,behavior:e})};if(f){var m={rows:i(t[0],n[0]),cols:i(t[1],n[1])};m.rows===d.rows&&m.cols===d.cols||(c(a(m.cols,o[1],l.left),a(m.rows,o[0],l.top)),v(m))}else{var p=i(t,n);p!==d&&(u?c(a(p,o,l.left),0):c(0,a(p,o,l.top)),v(p))}},F=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(e){var n=_(),o=n.first,l=n.viewport,i=s.itemSize,a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return J({left:t,top:e,behavior:r})},c="to-start"===e,m="to-end"===e;if(c){if(f)l.first.rows-o.rows>t[0]?a(l.first.cols*i,(l.first.rows-1)*i):l.first.cols-o.cols>t[1]&&a((l.first.cols-1)*i,l.first.rows*i);else if(l.first-o>t){var p=(l.first-1)*i;u?a(p,0):a(0,p)}}else if(m)if(f)l.last.rows-o.rows<=t[0]+1?a(l.first.cols*i,(l.first.rows+1)*i):l.last.cols-o.cols<=t[1]+1&&a((l.first.cols+1)*i,l.first.rows*i);else if(l.last-o<=t+1){var d=(l.first+1)*i;u?a(d,0):a(0,d)}}else X(t,r)},_=function(){var t=s.itemSize,e=function(t,e){return Math.floor(t/(e||t))},r=d,n=0;if(A.current){var o=A.current.scrollTop,l=A.current.scrollLeft;if(f)n={rows:(r={rows:e(o,t[0]),cols:e(l,t[1])}).rows+I.rows,cols:r.cols+I.cols};else n=(r=e(u?l:o,t))+I}return{first:d,last:y,viewport:{first:r,last:n}}},B=function(){var t=s.itemSize,e=U(),r=A.current?A.current.offsetWidth-e.left:0,n=A.current?A.current.offsetHeight-e.top:0,o=function(t,e){return Math.ceil(t/(e||t))},l=function(t){return Math.ceil(t/2)},i=f?{rows:o(n,t[0]),cols:o(r,t[1])}:o(u?r:n,t);return{numItemsInViewport:i,numToleratedItems:O||(f?[l(i.rows),l(i.cols)]:l(i))}},K=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return s.items?Math.min(e?(s.columns||s.items[0]).length:s.items.length,t):0},U=function(){if(C.current){var t=getComputedStyle(C.current),e=parseInt(t.paddingLeft,10)+Math.max(parseInt(t.left,10),0),r=parseInt(t.paddingRight,10)+Math.max(parseInt(t.right,10),0),n=parseInt(t.paddingTop,10)+Math.max(parseInt(t.top,10),0),o=parseInt(t.paddingBottom,10)+Math.max(parseInt(t.bottom,10),0);return{left:e,right:r,top:n,bottom:o,x:e+r,y:n+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},Y=function(){if(A.current){var t=A.current.parentElement,e=s.scrollWidth||"".concat(A.current.offsetWidth||t.offsetWidth,"px"),r=s.scrollHeight||"".concat(A.current.offsetHeight||t.offsetHeight,"px"),n=function(t,e){return A.current.style[t]=e};f||u?(n("height",r),n("width",e)):n("height",r)}},$=function(){var t=s.items;if(D.current&&t){var e=s.itemSize,r=U(),n=function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return D.current.style[t]=(e||[]).length*r+n+"px"};f?(n("height",t,e[0],r.y),n("width",s.columns||t[1],e[1],r.x)):u?n("width",s.columns||t,e,r.x):n("height",t,e,r.y)}},q=function(t){if(C.current){var e=t?t.first:d,r=s.itemSize,n=function(t,e){return t*e},o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;N.current&&(N.current.style.top="-".concat(e,"px")),C.current.style.transform="translate3d(".concat(t,"px, ").concat(e,"px, 0)")};if(f)o(n(e.cols,r[1]),n(e.rows,r[0]));else{var l=n(e,r);u?o(l,0):o(0,l)}}},G=function(t){var e=t.target,r=s.itemSize,n=U(),o=function(t,e){return t?t>e?t-e:t:0},l=function(t,e){return Math.floor(t/(e||t))},i=function(t,e,r,n,o,l){return t<=o?o:l?r-n-o:e+o-1},a=function(t,e,r,n,o,l,i){return t<=l?0:Math.max(0,i?t<e?r:t-l:t>e?r:t-2*l)},c=function(t,e,r,n,o,l){var i=e+n+2*o;return t>=o&&(i+=o+1),K(i,l)},m=o(e.scrollTop,n.top),p=o(e.scrollLeft,n.left),h=0,g=y,v=!1;if(f){var w=H.current.top<=m,b=H.current.left<=p,S={rows:l(m,r[0]),cols:l(p,r[1])},T={rows:i(S.rows,d.rows,y.rows,I.rows,O[0],w),cols:i(S.cols,d.cols,y.cols,I.cols,O[1],b)};h={rows:a(S.rows,T.rows,d.rows,0,0,O[0],w),cols:a(S.cols,T.cols,d.cols,0,0,O[1],b)},g={rows:c(S.rows,h.rows,0,I.rows,O[0]),cols:c(S.cols,h.cols,0,I.cols,O[1],!0)},v=h.rows!==d.rows&&g.rows!==y.rows||h.cols!==d.cols&&g.cols!==y.cols,H.current={top:m,left:p}}else{var x=u?p:m,z=H.current<=x,E=l(x,r);g=c(E,h=a(E,i(E,d,y,I,O,z),d,0,0,O,z),0,I,O),v=h!==d&&g!==y,H.current=x}return{first:h,last:g,isRangeChanged:v}},Q=function(t){var e=G(t),r=e.first,n=e.last;if(e.isRangeChanged){var o={first:r,last:n};q(o),v(r),b(n),s.onScrollIndexChange&&s.onScrollIndexChange(o),s.lazy&&s.onLazyLoad&&s.onLazyLoad(o)}},Z=function(t){var e=(s.items||[]).length,r=f?d.rows+t:d+t;return{index:r,count:e,first:0===r,last:r===e-1,even:r%2==0,odd:r%2!=0,props:s}},tt=function(t,e){var r=P.length;return h({index:t,count:r,first:0===t,last:t===r-1,even:t%2==0,odd:t%2!=0,props:s},e)},et=function(){var t=s.items;return t&&!L?f?t.slice(d.rows,y.rows).map((function(t){return s.columns?t:t.slice(d.cols,y.cols)})):u&&s.columns?t:t.slice(d,y):[]},rt=function(){var t,e,r,n,o;Y(),t=B(),e=t.numItemsInViewport,r=t.numToleratedItems,n=function(t,e,r,n){return K(t+e+(t<r?2:3)*r,n)},o=f?{rows:n(d.rows,e.rows,r[0]),cols:n(d.cols,e.cols,r[1],!0)}:n(d,e,r),T(e),z(r),b(o),s.showLoader&&M(f?Array.from({length:e.rows}).map((function(){return Array.from({length:e.cols})})):Array.from({length:e})),s.lazy&&s.onLazyLoad&&s.onLazyLoad({first:d,last:o}),$()};r((function(){rt()})),n((function(){rt()}),[s.itemSize,s.scrollHeight]),n((function(){V&&V.length===(s.items||[]).length||rt(),s.lazy&&W!==s.loading&&s.loading!==L&&R(s.loading)})),n((function(){H.current=f?{top:0,left:0}:0}),[s.orientation]),t.useImperativeHandle(a,(function(){return{scrollTo:J,scrollToIndex:X,scrollInView:F,getRenderedRange:_}}));var nt=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=tt(e,r),l=o.getJSXElement(s.loadingTemplate,n);return t.createElement(t.Fragment,{key:e},l)},ot=function(e,r){var n=Z(r),l=o.getJSXElement(s.itemTemplate,e,n);return t.createElement(t.Fragment,{key:n.index},l)};if(s.disabled){var lt=o.getJSXElement(s.contentTemplate,{items:s.items,rows:s.items,columns:s.columns});return t.createElement(t.Fragment,null,s.children,lt)}var it=o.findDiffKeys(s,g.defaultProps),st=l("p-virtualscroller",{"p-both-scroll":f,"p-horizontal-scroll":u},s.className),at=function(){if(!s.loaderDisabled&&s.showLoader&&L){var e=l("p-virtualscroller-loader",{"p-component-overlay":!s.loadingTemplate}),r=t.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return s.loadingTemplate&&(r=P.map((function(t,e){return nt(e,f&&{numCols:I.cols})}))),t.createElement("div",{className:e},r)}return null}(),ct=function(){var e=et().map(ot),r=l("p-virtualscroller-content",{"p-virtualscroller-loading":L}),n=t.createElement("div",{ref:C,className:r},e);if(s.contentTemplate){var i={className:r,contentRef:function(t){return C.current=o.getRefElement(t)},spacerRef:function(t){return D.current=o.getRefElement(t)},stickyRef:function(t){return N.current=o.getRefElement(t)},items:et,getItemOptions:function(t){return Z(t)},children:e,element:n,props:s,loading:L,getLoaderOptions:function(t,e){return tt(t,e)},loadingTemplate:s.loadingTemplate,itemSize:s.itemSize,rows:L?s.loaderDisabled?P:[]:et(),columns:s.columns&&(f||u)?L&&s.loaderDisabled?f?P[0]:P:s.columns.slice(f?d.cols:d,f?y.cols:y):s.columns,vertical:c,horizontal:u,both:f};return o.getJSXElement(s.contentTemplate,i)}return n}(),ut=s.showSpacer?t.createElement("div",{ref:D,className:"p-virtualscroller-spacer"}):null;return t.createElement("div",i({ref:A,className:st,tabIndex:0,style:s.style},it,{onScroll:function(t){s.onScroll&&s.onScroll(t),s.delay?(k.current&&clearTimeout(k.current),!L&&s.showLoader&&G(t).isRangeChanged&&R(!0),k.current=setTimeout((function(){Q(t),L&&s.showLoader&&!s.lazy&&R(!1)}),s.delay)):Q(t)}}),ct,ut,at)})));g.displayName="VirtualScroller",g.defaultProps={__TYPE:"VirtualScroller",id:null,style:null,className:null,items:null,itemSize:0,scrollHeight:null,scrollWidth:null,orientation:"vertical",numToleratedItems:null,delay:0,lazy:!1,disabled:!1,loaderDisabled:!1,columns:null,loading:!1,showSpacer:!0,showLoader:!1,loadingTemplate:null,itemTemplate:null,contentTemplate:null,onScroll:null,onScrollIndexChange:null,onLazyLoad:null};export{g as VirtualScroller};
|
|
1
|
+
import*as e from"react";import{usePrevious as t,useResizeListener as r,useEventListener as n,useMountEffect as o,useUpdateEffect as l}from"primereact/hooks";import{DomHandler as i,ObjectUtils as s,classNames as c}from"primereact/utils";function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(this,arguments)}function u(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){if(Array.isArray(e))return e}function m(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l=[],i=!0,s=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(l.push(n.value),!t||l.length!==t);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw o}}return l}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){if(e){if("string"==typeof e)return d(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)?d(e,t):void 0}}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.")}function h(e,t){return f(e)||m(e,t)||p(e,t)||g()}function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var y=e.memo(e.forwardRef((function(u,f){var m="vertical"===u.orientation,d="horizontal"===u.orientation,p="both"===u.orientation,g=h(e.useState(p?{rows:0,cols:0}:0),2),v=g[0],S=g[1],z=h(e.useState(p?{rows:0,cols:0}:0),2),b=z[0],T=z[1],I=h(e.useState(p?{rows:0,cols:0}:0),2),x=I[0],O=I[1],R=h(e.useState(u.numToleratedItems),2),E=R[0],L=R[1],j=h(e.useState(u.loading||!1),2),P=j[0],H=j[1],D=h(e.useState([]),2),M=D[0],N=D[1],W=e.useRef(null),A=e.useRef(null),C=e.useRef(null),k=e.useRef(null),J=e.useRef(p?{top:0,left:0}:0),V=e.useRef(null),X=e.useRef(null),F=e.useRef(null),_=e.useRef(null),B=t(u.items),K=t(u.loading),U=h(r({listener:function(e){return ae(e)}}),1)[0],Y=h(n({target:"window",type:"orientationchange",listener:function(e){return ae(e)}}),1)[0],$=function(){return W},q=function(e){J.current=p?{top:0,left:0}:0,W.current&&W.current.scrollTo(e)},G=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auto",r=ee(),n=r.numToleratedItems,o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return e<=t?0:e},l=function(e,t){return e*t},i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return q({left:e,top:r,behavior:t})};if(p){var s={rows:o(e[0],n[0]),cols:o(e[1],n[1])};s.rows===v.rows&&s.cols===v.cols||i(l(s.cols,u.itemSize[1]),l(s.rows,u.itemSize[0]))}else{var c=o(e,n);c!==v&&(d?i(l(c,u.itemSize),0):i(0,l(c,u.itemSize)))}},Q=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";if(t){var n=Z(),o=n.first,l=n.viewport,i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return q({left:e,top:t,behavior:r})},s="to-start"===t,c="to-end"===t;if(s){if(p)l.first.rows-o.rows>e[0]?i(l.first.cols*u.itemSize[1],(l.first.rows-1)*u.itemSize[0]):l.first.cols-o.cols>e[1]&&i((l.first.cols-1)*u.itemSize[1],l.first.rows*u.itemSize[0]);else if(l.first-o>e){var a=(l.first-1)*u.itemSize;d?i(a,0):i(0,a)}}else if(c)if(p)l.last.rows-o.rows<=e[0]+1?i(l.first.cols*u.itemSize[1],(l.first.rows+1)*u.itemSize[0]):l.last.cols-o.cols<=e[1]+1&&i((l.first.cols+1)*u.itemSize[1],l.first.rows*u.itemSize[0]);else if(l.last-o<=e+1){var f=(l.first+1)*u.itemSize;d?i(f,0):i(0,f)}}else G(e,r)},Z=function(){var e=function(e,t){return Math.floor(e/(t||e))},t=v,r=0;if(W.current){var n=W.current,o=n.scrollTop,l=n.scrollLeft;if(p)r={rows:(t={rows:e(o,u.itemSize[0]),cols:e(l,u.itemSize[1])}).rows+x.rows,cols:t.cols+x.cols};else r=(t=e(d?l:o,u.itemSize))+x}return{first:v,last:b,viewport:{first:t,last:r}}},ee=function(){var e=ne(),t=W.current?W.current.offsetWidth-e.left:0,r=W.current?W.current.offsetHeight-e.top:0,n=function(e,t){return Math.ceil(e/(t||e))},o=function(e){return Math.ceil(e/2)},l=p?{rows:n(r,u.itemSize[0]),cols:n(t,u.itemSize[1])}:n(d?t:r,u.itemSize);return{numItemsInViewport:l,numToleratedItems:E||(p?[o(l.rows),o(l.cols)]:o(l))}},te=function(e){u.autoSize&&!e&&Promise.resolve().then((function(){if(A.current){A.current.style.minHeight=A.current.style.minWidth="auto";var e=A.current,t=e.offsetWidth,r=e.offsetHeight;(p||d)&&(W.current.style.width=(t<F.current?t:F.current)+"px"),(p||m)&&(W.current.style.height=(r<_.current?r:_.current)+"px"),A.current.style.minHeight=A.current.style.minWidth=""}}))},re=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1?arguments[1]:void 0;return u.items?Math.min(t?(u.columns||u.items[0]).length:u.items.length,e):0},ne=function(){if(A.current){var e=getComputedStyle(A.current),t=parseInt(e.paddingLeft,10)+Math.max(parseInt(e.left,10),0),r=parseInt(e.paddingRight,10)+Math.max(parseInt(e.right,10),0),n=parseInt(e.paddingTop,10)+Math.max(parseInt(e.top,10),0),o=parseInt(e.paddingBottom,10)+Math.max(parseInt(e.bottom,10),0);return{left:t,right:r,top:n,bottom:o,x:t+r,y:n+o}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},oe=function(){if(W.current){var e=W.current.parentElement,t=u.scrollWidth||"".concat(W.current.offsetWidth||e.offsetWidth,"px"),r=u.scrollHeight||"".concat(W.current.offsetHeight||e.offsetHeight,"px"),n=function(e,t){return W.current.style[e]=t};p||d?(n("height",r),n("width",t)):n("height",r)}},le=function(){var e=u.items;if(C.current&&e){var t=ne(),r=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return C.current.style[e]=(t||[]).length*r+n+"px"};p?(r("height",e,u.itemSize[0],t.y),r("width",u.columns||e[1],u.itemSize[1],t.x)):d?r("width",u.columns||e,u.itemSize,t.x):r("height",e,u.itemSize,t.y)}},ie=function(e){if(A.current){var t=e?e.first:v,r=function(e,t){return e*t},n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;k.current&&(k.current.style.top="-".concat(t,"px")),A.current.style.transform="translate3d(".concat(e,"px, ").concat(t,"px, 0)")};if(p)n(r(t.cols,u.itemSize[1]),r(t.rows,u.itemSize[0]));else{var o=r(t,u.itemSize);d?n(o,0):n(0,o)}}},se=function(e){var t=e.target,r=ne(),n=function(e,t){return e?e>t?e-t:e:0},o=function(e,t){return Math.floor(e/(t||e))},l=function(e,t,r,n,o,l){return e<=o?o:l?r-n-o:t+o-1},i=function(e,t,r,n,o,l,i){return e<=l?0:Math.max(0,i?e<t?r:e-l:e>t?r:e-2*l)},s=function(e,t,r,n,o,l){var i=t+n+2*o;return e>=o&&(i+=o+1),re(i,l)},c=n(t.scrollTop,r.top),a=n(t.scrollLeft,r.left),f=p?{rows:0,cols:0}:0,m=b,g=!1,h=J.current;if(p){var w=J.current.top<=c,y=J.current.left<=a,S={rows:o(c,u.itemSize[0]),cols:o(a,u.itemSize[1])},z={rows:l(S.rows,v.rows,b.rows,x.rows,E[0],w),cols:l(S.cols,v.cols,b.cols,x.cols,E[1],y)};f={rows:i(S.rows,z.rows,v.rows,0,0,E[0],w),cols:i(S.cols,z.cols,v.cols,0,0,E[1],y)},m={rows:s(S.rows,f.rows,0,x.rows,E[0]),cols:s(S.cols,f.cols,0,x.cols,E[1],!0)},g=f.rows!==v.rows||m.rows!==b.rows||f.cols!==v.cols||m.cols!==b.cols,h={top:c,left:a}}else{var T=d?a:c,I=J.current<=T,O=o(T,u.itemSize);m=s(O,f=i(O,l(O,v,b,x,E,I),v,0,0,E,I),0,x,E),g=f!==v||m!==b,h=T}return{first:f,last:m,isRangeChanged:g,scrollPos:h}},ce=function(e){var t=se(e),r=t.first,n=t.last,o=t.scrollPos;if(t.isRangeChanged){var l={first:r,last:n};ie(l),S(r),T(n),J.current=o,u.onScrollIndexChange&&u.onScrollIndexChange(l),u.lazy&&u.onLazyLoad&&u.onLazyLoad(l)}},ae=function(){X.current&&clearTimeout(X.current),X.current=setTimeout((function(){if(W.current){var e=[i.getWidth(W.current),i.getHeight(W.current)],t=e[0],r=e[1],n=t!==F.current,o=r!==_.current;(p?n||o:d?n:!!m&&o)&&(L(u.numToleratedItems),F.current=t,_.current=r)}}),u.resizeDelay)},ue=function(e){var t=(u.items||[]).length,r=p?v.rows+e:v+e;return{index:r,count:t,first:0===r,last:r===t-1,even:r%2==0,odd:r%2!=0,props:u}},fe=function(e,t){var r=M.length;return w({index:e,count:r,first:0===e,last:e===r-1,even:e%2==0,odd:e%2!=0,props:u},t)},me=function(){var e=u.items;return e&&!P?p?e.slice(v.rows,b.rows).map((function(e){return u.columns?e:e.slice(v.cols,b.cols)})):d&&u.columns?e:e.slice(v,b):[]},de=function(){var e,t,r,n,o;u.disabled||(oe(),e=ee(),t=e.numItemsInViewport,r=e.numToleratedItems,n=function(e,t,r,n){return re(e+t+(e<r?2:3)*r,n)},o=p?{rows:n(v.rows,t.rows,r[0]),cols:n(v.cols,t.cols,r[1],!0)}:n(v,t,r),O(t),L(r),T(o),u.showLoader&&N(p?Array.from({length:t.rows}).map((function(){return Array.from({length:t.cols})})):Array.from({length:t})),u.lazy&&u.onLazyLoad&&u.onLazyLoad({first:v,last:o}),le())};o((function(){u.disabled||(de(),U(),Y(),F.current=i.getWidth(W.current),_.current=i.getHeight(W.current))})),l((function(){de()}),[u.itemSize,u.scrollHeight]),l((function(){u.numToleratedItems!==E&&L(u.numToleratedItems)}),[u.numToleratedItems]),l((function(){u.numToleratedItems===E&&de()}),[E]),l((function(){B&&B.length===(u.items||[]).length||de();var e=P;u.lazy&&K!==u.loading&&u.loading!==P&&(H(u.loading),e=u.loading),te(e)})),l((function(){J.current=p?{top:0,left:0}:0}),[u.orientation]),e.useImperativeHandle(f,(function(){return w({getElementRef:$,scrollTo:q,scrollToIndex:G,scrollInView:Q,getRenderedRange:Z},u)}));var pe=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=fe(t,r),o=s.getJSXElement(u.loadingTemplate,n);return e.createElement(e.Fragment,{key:t},o)},ge=function(t,r){var n=ue(r),o=s.getJSXElement(u.itemTemplate,t,n);return e.createElement(e.Fragment,{key:n.index},o)};if(u.disabled){var he=s.getJSXElement(u.contentTemplate,{items:u.items,rows:u.items,columns:u.columns});return e.createElement(e.Fragment,null,u.children,he)}var ve=s.findDiffKeys(u,y.defaultProps),we=c("p-virtualscroller",{"p-both-scroll":p,"p-horizontal-scroll":d},u.className),ye=function(){if(!u.loaderDisabled&&u.showLoader&&P){var t=c("p-virtualscroller-loader",{"p-component-overlay":!u.loadingTemplate}),r=e.createElement("i",{className:"p-virtualscroller-loading-icon pi pi-spinner pi-spin"});return u.loadingTemplate?r=M.map((function(e,t){return pe(t,p&&{numCols:x.cols})})):u.loaderIconTemplate&&(r=s.getJSXElement(u.loaderIconTemplate,{className:"p-virtualscroller-loading-icon",element:r,props:u})),e.createElement("div",{className:t},r)}return null}(),Se=function(){var t=me().map(ge),r=c("p-virtualscroller-content",{"p-virtualscroller-loading":P}),n=e.createElement("div",{ref:A,className:r},t);if(u.contentTemplate){var o={className:r,contentRef:function(e){return A.current=s.getRefElement(e)},spacerRef:function(e){return C.current=s.getRefElement(e)},stickyRef:function(e){return k.current=s.getRefElement(e)},items:me(),getItemOptions:function(e){return ue(e)},children:t,element:n,props:u,loading:P,getLoaderOptions:function(e,t){return fe(e,t)},loadingTemplate:u.loadingTemplate,itemSize:u.itemSize,rows:P?u.loaderDisabled?M:[]:me(),columns:u.columns&&p||d?P&&u.loaderDisabled?p?M[0]:M:u.columns.slice(p?v.cols:v,p?b.cols:b):u.columns,vertical:m,horizontal:d,both:p};return s.getJSXElement(u.contentTemplate,o)}return n}(),ze=u.showSpacer?e.createElement("div",{ref:C,className:"p-virtualscroller-spacer"}):null;return e.createElement("div",a({ref:W,className:we,tabIndex:0,style:u.style},ve,{onScroll:function(e){u.onScroll&&u.onScroll(e),u.delay?(V.current&&clearTimeout(V.current),!P&&u.showLoader&&se(e).isRangeChanged&&H(!0),V.current=setTimeout((function(){ce(e),!P||!u.showLoader||u.lazy&&void 0!==u.loading||H(!1)}),u.delay)):ce(e)}}),Se,ze,ye)})));y.displayName="VirtualScroller",y.defaultProps={__TYPE:"VirtualScroller",id:null,style:null,className:null,items:null,itemSize:0,scrollHeight:null,scrollWidth:null,orientation:"vertical",numToleratedItems:null,delay:0,resizeDelay:10,lazy:!1,disabled:!1,loaderDisabled:!1,columns:null,loading:void 0,autoSize:!1,showSpacer:!0,showLoader:!1,loadingTemplate:null,loaderIconTemplate:null,itemTemplate:null,contentTemplate:null,onScroll:null,onScrollIndexChange:null,onLazyLoad:null};export{y as VirtualScroller};
|