primereact 10.2.1 → 10.3.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 +83 -8
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.d.ts +35 -0
- package/accordion/accordion.esm.js +85 -10
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +83 -8
- package/accordion/accordion.min.js +1 -1
- package/api/api.cjs.js +63 -33
- package/api/api.cjs.min.js +1 -1
- package/api/api.d.ts +24 -246
- package/api/api.esm.js +63 -33
- package/api/api.esm.min.js +1 -1
- package/api/api.js +63 -33
- package/api/api.min.js +1 -1
- package/autocomplete/autocomplete.cjs.js +3 -2
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.d.ts +6 -1
- package/autocomplete/autocomplete.esm.js +3 -2
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +3 -2
- package/autocomplete/autocomplete.min.js +1 -1
- package/blockui/blockui.cjs.js +8 -5
- package/blockui/blockui.cjs.min.js +1 -1
- package/blockui/blockui.esm.js +8 -5
- package/blockui/blockui.esm.min.js +1 -1
- package/blockui/blockui.js +8 -5
- package/blockui/blockui.min.js +1 -1
- package/breadcrumb/breadcrumb.cjs.js +12 -6
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +12 -6
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +12 -6
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/calendar/calendar.cjs.js +71 -37
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.d.ts +3 -5
- package/calendar/calendar.esm.js +71 -37
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +71 -37
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +103 -9
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +104 -10
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +103 -9
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +64 -23
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +27 -4
- package/cascadeselect/cascadeselect.esm.js +65 -24
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +65 -25
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/checkbox/checkbox.cjs.js +25 -25
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +25 -25
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +26 -26
- package/checkbox/checkbox.min.js +1 -1
- package/chip/chip.cjs.js +5 -2
- package/chip/chip.cjs.min.js +1 -1
- package/chip/chip.d.ts +17 -2
- package/chip/chip.esm.js +5 -2
- package/chip/chip.esm.min.js +1 -1
- package/chip/chip.js +5 -2
- package/chip/chip.min.js +1 -1
- package/colorpicker/colorpicker.d.ts +1 -1
- package/componentbase/componentbase.cjs.js +49 -8
- package/componentbase/componentbase.cjs.min.js +1 -1
- package/componentbase/componentbase.esm.js +50 -9
- package/componentbase/componentbase.esm.min.js +1 -1
- package/componentbase/componentbase.js +49 -8
- package/componentbase/componentbase.min.js +1 -1
- package/confirmdialog/confirmdialog.cjs.js +30 -22
- package/confirmdialog/confirmdialog.cjs.min.js +1 -1
- package/confirmdialog/confirmdialog.d.ts +19 -3
- package/confirmdialog/confirmdialog.esm.js +30 -22
- package/confirmdialog/confirmdialog.esm.min.js +1 -1
- package/confirmdialog/confirmdialog.js +30 -22
- package/confirmdialog/confirmdialog.min.js +1 -1
- package/confirmpopup/confirmpopup.cjs.js +85 -152
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.d.ts +40 -1
- package/confirmpopup/confirmpopup.esm.js +88 -155
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +85 -152
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/contextmenu/contextmenu.cjs.js +641 -99
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.d.ts +23 -1
- package/contextmenu/contextmenu.esm.js +641 -99
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +641 -99
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +1217 -484
- package/core/core.min.js +40 -40
- package/datatable/datatable.cjs.js +30 -26
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +5 -4
- package/datatable/datatable.esm.js +30 -26
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +30 -26
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.d.ts +1 -1
- package/dialog/dialog.cjs.js +108 -151
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.d.ts +60 -1
- package/dialog/dialog.esm.js +115 -158
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +109 -152
- package/dialog/dialog.min.js +1 -1
- package/divider/divider.cjs.js +1 -0
- package/divider/divider.cjs.min.js +1 -1
- package/divider/divider.esm.js +1 -0
- package/divider/divider.esm.min.js +1 -1
- package/divider/divider.js +1 -0
- package/divider/divider.min.js +1 -1
- package/dock/dock.cjs.js +169 -33
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.d.ts +15 -0
- package/dock/dock.esm.js +170 -34
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +169 -33
- package/dock/dock.min.js +1 -1
- package/dropdown/dropdown.cjs.js +29 -4
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +1 -1
- package/dropdown/dropdown.esm.js +29 -4
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +30 -6
- package/dropdown/dropdown.min.js +1 -1
- package/fieldset/fieldset.cjs.js +12 -5
- package/fieldset/fieldset.cjs.min.js +1 -1
- package/fieldset/fieldset.esm.js +12 -5
- package/fieldset/fieldset.esm.min.js +1 -1
- package/fieldset/fieldset.js +12 -5
- package/fieldset/fieldset.min.js +1 -1
- package/fileupload/fileupload.cjs.js +14 -6
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.d.ts +17 -1
- package/fileupload/fileupload.esm.js +14 -6
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +14 -6
- package/fileupload/fileupload.min.js +1 -1
- package/galleria/galleria.cjs.js +223 -43
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +225 -45
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +223 -43
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.cjs.js +219 -78
- package/hooks/hooks.cjs.min.js +1 -1
- package/hooks/hooks.d.ts +8 -4
- package/hooks/hooks.esm.js +219 -80
- package/hooks/hooks.esm.min.js +1 -1
- package/hooks/hooks.js +219 -78
- package/hooks/hooks.min.js +1 -1
- package/icons/arrowdown/index.cjs.js +13 -2
- package/icons/arrowdown/index.cjs.min.js +1 -1
- package/icons/arrowdown/index.esm.js +13 -2
- package/icons/arrowdown/index.esm.min.js +1 -1
- package/icons/arrowdown/index.js +13 -2
- package/icons/arrowdown/index.min.js +1 -1
- package/icons/arrowup/index.cjs.js +13 -2
- package/icons/arrowup/index.cjs.min.js +1 -1
- package/icons/arrowup/index.esm.js +13 -2
- package/icons/arrowup/index.esm.min.js +1 -1
- package/icons/arrowup/index.js +13 -2
- package/icons/arrowup/index.min.js +1 -1
- package/icons/ban/index.cjs.js +13 -2
- package/icons/ban/index.cjs.min.js +1 -1
- package/icons/ban/index.esm.js +13 -2
- package/icons/ban/index.esm.min.js +1 -1
- package/icons/ban/index.js +13 -2
- package/icons/ban/index.min.js +1 -1
- package/icons/download/index.cjs.js +13 -2
- package/icons/download/index.cjs.min.js +1 -1
- package/icons/download/index.esm.js +13 -2
- package/icons/download/index.esm.min.js +1 -1
- package/icons/download/index.js +13 -2
- package/icons/download/index.min.js +1 -1
- package/icons/exclamationtriangle/index.cjs.js +13 -2
- package/icons/exclamationtriangle/index.cjs.min.js +1 -1
- package/icons/exclamationtriangle/index.esm.js +13 -2
- package/icons/exclamationtriangle/index.esm.min.js +1 -1
- package/icons/exclamationtriangle/index.js +13 -2
- package/icons/exclamationtriangle/index.min.js +1 -1
- package/icons/eyeslash/index.cjs.js +13 -2
- package/icons/eyeslash/index.cjs.min.js +1 -1
- package/icons/eyeslash/index.esm.js +13 -2
- package/icons/eyeslash/index.esm.min.js +1 -1
- package/icons/eyeslash/index.js +13 -2
- package/icons/eyeslash/index.min.js +1 -1
- package/icons/filter/index.cjs.js +13 -2
- package/icons/filter/index.cjs.min.js +1 -1
- package/icons/filter/index.esm.js +13 -2
- package/icons/filter/index.esm.min.js +1 -1
- package/icons/filter/index.js +13 -2
- package/icons/filter/index.min.js +1 -1
- package/icons/filterslash/index.cjs.js +13 -2
- package/icons/filterslash/index.cjs.min.js +1 -1
- package/icons/filterslash/index.esm.js +13 -2
- package/icons/filterslash/index.esm.min.js +1 -1
- package/icons/filterslash/index.js +13 -2
- package/icons/filterslash/index.min.js +1 -1
- package/icons/infocircle/index.cjs.js +13 -2
- package/icons/infocircle/index.cjs.min.js +1 -1
- package/icons/infocircle/index.esm.js +13 -2
- package/icons/infocircle/index.esm.min.js +1 -1
- package/icons/infocircle/index.js +13 -2
- package/icons/infocircle/index.min.js +1 -1
- package/icons/pencil/index.cjs.js +13 -2
- package/icons/pencil/index.cjs.min.js +1 -1
- package/icons/pencil/index.esm.js +13 -2
- package/icons/pencil/index.esm.min.js +1 -1
- package/icons/pencil/index.js +13 -2
- package/icons/pencil/index.min.js +1 -1
- package/icons/plus/index.cjs.js +13 -2
- package/icons/plus/index.cjs.min.js +1 -1
- package/icons/plus/index.esm.js +13 -2
- package/icons/plus/index.esm.min.js +1 -1
- package/icons/plus/index.js +13 -2
- package/icons/plus/index.min.js +1 -1
- package/icons/refresh/index.cjs.js +13 -2
- package/icons/refresh/index.cjs.min.js +1 -1
- package/icons/refresh/index.esm.js +13 -2
- package/icons/refresh/index.esm.min.js +1 -1
- package/icons/refresh/index.js +13 -2
- package/icons/refresh/index.min.js +1 -1
- package/icons/search/index.cjs.js +13 -2
- package/icons/search/index.cjs.min.js +1 -1
- package/icons/search/index.esm.js +13 -2
- package/icons/search/index.esm.min.js +1 -1
- package/icons/search/index.js +13 -2
- package/icons/search/index.min.js +1 -1
- package/icons/searchminus/index.cjs.js +13 -2
- package/icons/searchminus/index.cjs.min.js +1 -1
- package/icons/searchminus/index.esm.js +13 -2
- package/icons/searchminus/index.esm.min.js +1 -1
- package/icons/searchminus/index.js +13 -2
- package/icons/searchminus/index.min.js +1 -1
- package/icons/searchplus/index.cjs.js +13 -2
- package/icons/searchplus/index.cjs.min.js +1 -1
- package/icons/searchplus/index.esm.js +13 -2
- package/icons/searchplus/index.esm.min.js +1 -1
- package/icons/searchplus/index.js +13 -2
- package/icons/searchplus/index.min.js +1 -1
- package/icons/sortalt/index.cjs.js +13 -2
- package/icons/sortalt/index.cjs.min.js +1 -1
- package/icons/sortalt/index.esm.js +13 -2
- package/icons/sortalt/index.esm.min.js +1 -1
- package/icons/sortalt/index.js +13 -2
- package/icons/sortalt/index.min.js +1 -1
- package/icons/sortamountdown/index.cjs.js +13 -2
- package/icons/sortamountdown/index.cjs.min.js +1 -1
- package/icons/sortamountdown/index.esm.js +13 -2
- package/icons/sortamountdown/index.esm.min.js +1 -1
- package/icons/sortamountdown/index.js +13 -2
- package/icons/sortamountdown/index.min.js +1 -1
- package/icons/sortamountupalt/index.cjs.js +13 -2
- package/icons/sortamountupalt/index.cjs.min.js +1 -1
- package/icons/sortamountupalt/index.esm.js +13 -2
- package/icons/sortamountupalt/index.esm.min.js +1 -1
- package/icons/sortamountupalt/index.js +13 -2
- package/icons/sortamountupalt/index.min.js +1 -1
- package/icons/spinner/index.cjs.js +13 -2
- package/icons/spinner/index.cjs.min.js +1 -1
- package/icons/spinner/index.esm.js +13 -2
- package/icons/spinner/index.esm.min.js +1 -1
- package/icons/spinner/index.js +13 -2
- package/icons/spinner/index.min.js +1 -1
- package/icons/star/index.cjs.js +13 -2
- package/icons/star/index.cjs.min.js +1 -1
- package/icons/star/index.esm.js +13 -2
- package/icons/star/index.esm.min.js +1 -1
- package/icons/star/index.js +13 -2
- package/icons/star/index.min.js +1 -1
- package/icons/starfill/index.cjs.js +13 -2
- package/icons/starfill/index.cjs.min.js +1 -1
- package/icons/starfill/index.esm.js +13 -2
- package/icons/starfill/index.esm.min.js +1 -1
- package/icons/starfill/index.js +13 -2
- package/icons/starfill/index.min.js +1 -1
- package/icons/thlarge/index.cjs.js +13 -2
- package/icons/thlarge/index.cjs.min.js +1 -1
- package/icons/thlarge/index.esm.js +13 -2
- package/icons/thlarge/index.esm.min.js +1 -1
- package/icons/thlarge/index.js +13 -2
- package/icons/thlarge/index.min.js +1 -1
- package/icons/timescircle/index.cjs.js +13 -2
- package/icons/timescircle/index.cjs.min.js +1 -1
- package/icons/timescircle/index.esm.js +13 -2
- package/icons/timescircle/index.esm.min.js +1 -1
- package/icons/timescircle/index.js +13 -2
- package/icons/timescircle/index.min.js +1 -1
- package/icons/trash/index.cjs.js +13 -2
- package/icons/trash/index.cjs.min.js +1 -1
- package/icons/trash/index.esm.js +13 -2
- package/icons/trash/index.esm.min.js +1 -1
- package/icons/trash/index.js +13 -2
- package/icons/trash/index.min.js +1 -1
- package/icons/undo/index.cjs.js +13 -2
- package/icons/undo/index.cjs.min.js +1 -1
- package/icons/undo/index.esm.js +13 -2
- package/icons/undo/index.esm.min.js +1 -1
- package/icons/undo/index.js +13 -2
- package/icons/undo/index.min.js +1 -1
- package/icons/upload/index.cjs.js +13 -2
- package/icons/upload/index.cjs.min.js +1 -1
- package/icons/upload/index.esm.js +13 -2
- package/icons/upload/index.esm.min.js +1 -1
- package/icons/upload/index.js +13 -2
- package/icons/upload/index.min.js +1 -1
- package/icons/windowmaximize/index.cjs.js +13 -2
- package/icons/windowmaximize/index.cjs.min.js +1 -1
- package/icons/windowmaximize/index.esm.js +13 -2
- package/icons/windowmaximize/index.esm.min.js +1 -1
- package/icons/windowmaximize/index.js +13 -2
- package/icons/windowmaximize/index.min.js +1 -1
- package/icons/windowminimize/index.cjs.js +13 -2
- package/icons/windowminimize/index.cjs.min.js +1 -1
- package/icons/windowminimize/index.esm.js +13 -2
- package/icons/windowminimize/index.esm.min.js +1 -1
- package/icons/windowminimize/index.js +13 -2
- package/icons/windowminimize/index.min.js +1 -1
- package/image/image.cjs.js +85 -119
- package/image/image.cjs.min.js +1 -1
- package/image/image.esm.js +87 -121
- package/image/image.esm.min.js +1 -1
- package/image/image.js +86 -120
- package/image/image.min.js +1 -1
- package/inplace/inplace.cjs.js +7 -0
- package/inplace/inplace.cjs.min.js +1 -1
- package/inplace/inplace.esm.js +7 -0
- package/inplace/inplace.esm.min.js +1 -1
- package/inplace/inplace.js +8 -2
- package/inplace/inplace.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +63 -19
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.d.ts +7 -0
- package/inputnumber/inputnumber.esm.js +63 -19
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +63 -19
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/inputswitch.cjs.js +3 -3
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +3 -3
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +3 -3
- package/inputswitch/inputswitch.min.js +1 -1
- package/inputtext/inputtext.cjs.js +7 -6
- package/inputtext/inputtext.cjs.min.js +1 -1
- package/inputtext/inputtext.esm.js +7 -6
- package/inputtext/inputtext.esm.min.js +1 -1
- package/inputtext/inputtext.js +7 -6
- package/inputtext/inputtext.min.js +1 -1
- package/listbox/listbox.cjs.js +14 -1
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.d.ts +8 -3
- package/listbox/listbox.esm.js +14 -1
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +14 -1
- package/listbox/listbox.min.js +1 -1
- package/megamenu/megamenu.cjs.js +799 -179
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.d.ts +14 -0
- package/megamenu/megamenu.esm.js +801 -181
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +799 -179
- package/megamenu/megamenu.min.js +1 -1
- package/mention/mention.cjs.js +7 -9
- package/mention/mention.cjs.min.js +1 -1
- package/mention/mention.esm.js +7 -9
- package/mention/mention.esm.min.js +1 -1
- package/mention/mention.js +7 -9
- package/mention/mention.min.js +1 -1
- package/menu/menu.cjs.js +217 -166
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.d.ts +15 -1
- package/menu/menu.esm.js +220 -169
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +217 -166
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.cjs.js +714 -179
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.d.ts +18 -0
- package/menubar/menubar.esm.js +717 -182
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +714 -179
- package/menubar/menubar.min.js +1 -1
- package/message/message.cjs.js +2 -1
- package/message/message.cjs.min.js +1 -1
- package/message/message.esm.js +2 -1
- package/message/message.esm.min.js +1 -1
- package/message/message.js +2 -1
- package/message/message.min.js +1 -1
- package/messages/messages.cjs.js +5 -3
- package/messages/messages.cjs.min.js +1 -1
- package/messages/messages.esm.js +5 -3
- package/messages/messages.esm.min.js +1 -1
- package/messages/messages.js +5 -3
- package/messages/messages.min.js +1 -1
- package/multiselect/multiselect.cjs.js +58 -35
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.d.ts +5 -1
- package/multiselect/multiselect.esm.js +58 -35
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +59 -37
- package/multiselect/multiselect.min.js +1 -1
- package/orderlist/orderlist.cjs.js +260 -105
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.d.ts +18 -0
- package/orderlist/orderlist.esm.js +261 -106
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +260 -105
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/organizationchart.cjs.js +10 -0
- package/organizationchart/organizationchart.cjs.min.js +1 -1
- package/organizationchart/organizationchart.esm.js +10 -0
- package/organizationchart/organizationchart.esm.min.js +1 -1
- package/organizationchart/organizationchart.js +10 -0
- package/organizationchart/organizationchart.min.js +1 -1
- package/overlaypanel/overlaypanel.cjs.js +9 -102
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.d.ts +1 -1
- package/overlaypanel/overlaypanel.esm.js +11 -104
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +10 -103
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.d.ts +2 -2
- package/panel/panel.cjs.js +22 -19
- package/panel/panel.cjs.min.js +1 -1
- package/panel/panel.esm.js +22 -19
- package/panel/panel.esm.min.js +1 -1
- package/panel/panel.js +22 -19
- package/panel/panel.min.js +1 -1
- package/panelmenu/panelmenu.cjs.js +774 -195
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.d.ts +15 -0
- package/panelmenu/panelmenu.esm.js +775 -196
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +774 -195
- package/panelmenu/panelmenu.min.js +1 -1
- package/passthrough/tailwind/index.cjs.js +163 -159
- package/passthrough/tailwind/index.cjs.min.js +1 -1
- package/passthrough/tailwind/index.esm.js +163 -159
- package/passthrough/tailwind/index.esm.min.js +1 -1
- package/passthrough/tailwind/index.js +163 -159
- package/passthrough/tailwind/index.min.js +1 -1
- package/password/password.cjs.js +7 -2
- package/password/password.cjs.min.js +1 -1
- package/password/password.d.ts +1 -1
- package/password/password.esm.js +8 -3
- package/password/password.esm.min.js +1 -1
- package/password/password.js +7 -2
- package/password/password.min.js +1 -1
- package/picklist/picklist.cjs.js +709 -181
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.d.ts +10 -0
- package/picklist/picklist.esm.js +708 -180
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +709 -181
- package/picklist/picklist.min.js +1 -1
- package/portal/portal.cjs.js +7 -1
- package/portal/portal.cjs.min.js +1 -1
- package/portal/portal.esm.js +7 -1
- package/portal/portal.esm.min.js +1 -1
- package/portal/portal.js +7 -1
- package/portal/portal.min.js +1 -1
- package/primereact.all.cjs.js +8352 -3145
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +8351 -3146
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +8352 -3145
- package/primereact.all.min.js +1 -1
- package/radiobutton/radiobutton.cjs.js +27 -26
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.esm.js +27 -26
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +28 -27
- package/radiobutton/radiobutton.min.js +1 -1
- package/resources/themes/arya-blue/theme.css +854 -790
- package/resources/themes/arya-green/theme.css +854 -790
- package/resources/themes/arya-orange/theme.css +854 -790
- package/resources/themes/arya-purple/theme.css +854 -790
- package/resources/themes/bootstrap4-dark-blue/theme.css +678 -615
- package/resources/themes/bootstrap4-dark-purple/theme.css +678 -615
- package/resources/themes/bootstrap4-light-blue/theme.css +679 -616
- package/resources/themes/bootstrap4-light-purple/theme.css +679 -616
- package/resources/themes/fluent-light/theme.css +686 -638
- package/resources/themes/lara-dark-amber/theme.css +679 -630
- package/resources/themes/lara-dark-blue/theme.css +679 -630
- package/resources/themes/lara-dark-cyan/theme.css +679 -630
- package/resources/themes/lara-dark-green/theme.css +679 -630
- package/resources/themes/lara-dark-indigo/theme.css +679 -630
- package/resources/themes/lara-dark-pink/theme.css +679 -630
- package/resources/themes/lara-dark-purple/theme.css +679 -630
- package/resources/themes/lara-dark-teal/theme.css +679 -630
- package/resources/themes/lara-light-amber/theme.css +776 -725
- package/resources/themes/lara-light-blue/theme.css +1011 -960
- package/resources/themes/lara-light-cyan/theme.css +776 -725
- package/resources/themes/lara-light-green/theme.css +820 -769
- package/resources/themes/lara-light-indigo/theme.css +1016 -965
- package/resources/themes/lara-light-pink/theme.css +776 -725
- package/resources/themes/lara-light-purple/theme.css +1016 -965
- package/resources/themes/lara-light-teal/theme.css +776 -725
- package/resources/themes/luna-amber/theme.css +950 -887
- package/resources/themes/luna-blue/theme.css +950 -887
- package/resources/themes/luna-green/theme.css +950 -887
- package/resources/themes/luna-pink/theme.css +950 -887
- package/resources/themes/md-dark-deeppurple/theme.css +918 -950
- package/resources/themes/md-dark-indigo/theme.css +918 -950
- package/resources/themes/md-light-deeppurple/theme.css +878 -910
- package/resources/themes/md-light-indigo/theme.css +878 -910
- package/resources/themes/mdc-dark-deeppurple/theme.css +918 -950
- package/resources/themes/mdc-dark-indigo/theme.css +918 -950
- package/resources/themes/mdc-light-deeppurple/theme.css +878 -910
- package/resources/themes/mdc-light-indigo/theme.css +878 -910
- package/resources/themes/mira/theme.css +1562 -1532
- package/resources/themes/nano/theme.css +707 -641
- package/resources/themes/nova/theme.css +705 -643
- package/resources/themes/nova-accent/theme.css +701 -636
- package/resources/themes/nova-alt/theme.css +705 -643
- package/resources/themes/rhea/theme.css +876 -811
- package/resources/themes/saga-blue/theme.css +896 -832
- package/resources/themes/saga-green/theme.css +896 -832
- package/resources/themes/saga-orange/theme.css +896 -832
- package/resources/themes/saga-purple/theme.css +896 -832
- package/resources/themes/soho-dark/theme.css +701 -643
- package/resources/themes/soho-light/theme.css +690 -634
- package/resources/themes/tailwind-light/theme.css +1370 -1306
- package/resources/themes/vela-blue/theme.css +862 -798
- package/resources/themes/vela-green/theme.css +862 -798
- package/resources/themes/vela-orange/theme.css +862 -798
- package/resources/themes/vela-purple/theme.css +862 -798
- package/resources/themes/viva-dark/theme.css +655 -612
- package/resources/themes/viva-light/theme.css +737 -694
- package/ripple/ripple.cjs.js +71 -5
- package/ripple/ripple.cjs.min.js +1 -1
- package/ripple/ripple.esm.js +71 -5
- package/ripple/ripple.esm.min.js +1 -1
- package/ripple/ripple.js +71 -5
- package/ripple/ripple.min.js +1 -1
- package/scrollpanel/scrollpanel.cjs.js +183 -3
- package/scrollpanel/scrollpanel.cjs.min.js +1 -1
- package/scrollpanel/scrollpanel.esm.js +184 -4
- package/scrollpanel/scrollpanel.esm.min.js +1 -1
- package/scrollpanel/scrollpanel.js +183 -3
- package/scrollpanel/scrollpanel.min.js +1 -1
- package/sidebar/sidebar.cjs.js +62 -146
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.d.ts +25 -3
- package/sidebar/sidebar.esm.js +65 -149
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +63 -147
- package/sidebar/sidebar.min.js +1 -1
- package/slidemenu/slidemenu.cjs.js +7 -100
- package/slidemenu/slidemenu.cjs.min.js +1 -1
- package/slidemenu/slidemenu.d.ts +1 -1
- package/slidemenu/slidemenu.esm.js +10 -103
- package/slidemenu/slidemenu.esm.min.js +1 -1
- package/slidemenu/slidemenu.js +7 -100
- package/slidemenu/slidemenu.min.js +1 -1
- package/speeddial/speeddial.cjs.js +275 -32
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.esm.js +277 -34
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +275 -32
- package/speeddial/speeddial.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +1098 -309
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.d.ts +5 -5
- package/splitbutton/splitbutton.esm.js +1100 -311
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +1096 -309
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +103 -15
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.d.ts +5 -0
- package/splitter/splitter.esm.js +103 -15
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +103 -15
- package/splitter/splitter.min.js +1 -1
- package/steps/steps.cjs.js +99 -13
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.esm.js +100 -14
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +99 -13
- package/steps/steps.min.js +1 -1
- package/tabmenu/tabmenu.cjs.js +113 -17
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +113 -17
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +113 -17
- package/tabmenu/tabmenu.min.js +1 -1
- package/tabview/tabview.cjs.js +128 -20
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.d.ts +35 -0
- package/tabview/tabview.esm.js +128 -20
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +128 -20
- package/tabview/tabview.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +753 -275
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.d.ts +11 -1
- package/tieredmenu/tieredmenu.esm.js +755 -277
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +753 -275
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/toast.cjs.js +6 -1
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.d.ts +36 -2
- package/toast/toast.esm.js +6 -1
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +6 -1
- package/toast/toast.min.js +1 -1
- package/togglebutton/togglebutton.cjs.js +74 -4
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +74 -4
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +75 -5
- package/togglebutton/togglebutton.min.js +1 -1
- package/tooltip/tooltip.d.ts +27 -0
- package/tooltip/tooltipoptions.d.ts +1 -1
- package/tree/tree.cjs.js +198 -88
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.d.ts +8 -0
- package/tree/tree.esm.js +199 -89
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +198 -88
- package/tree/tree.min.js +1 -1
- package/treeselect/treeselect.cjs.js +185 -49
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.d.ts +26 -1
- package/treeselect/treeselect.esm.js +186 -50
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +186 -51
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/treetable.cjs.js +59 -53
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.d.ts +3 -3
- package/treetable/treetable.esm.js +59 -53
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +59 -53
- package/treetable/treetable.min.js +1 -1
- package/utils/utils.cjs.js +19 -5
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +1 -1
- package/utils/utils.esm.js +19 -5
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +19 -5
- package/utils/utils.min.js +1 -1
- package/web-types.json +402 -33
|
@@ -3,13 +3,15 @@ import * as React from 'react';
|
|
|
3
3
|
import PrimeReact, { PrimeReactContext } from 'primereact/api';
|
|
4
4
|
import { Button } from 'primereact/button';
|
|
5
5
|
import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
|
|
6
|
-
import {
|
|
6
|
+
import { useUpdateEffect, useMatchMedia, useEventListener, useResizeListener, useMountEffect, useUnmountEffect, useDisplayOrder, useGlobalOnEscapeKey, ESC_KEY_HANDLING_PRIORITIES } from 'primereact/hooks';
|
|
7
7
|
import { ChevronDownIcon } from 'primereact/icons/chevrondown';
|
|
8
8
|
import { OverlayService } from 'primereact/overlayservice';
|
|
9
|
-
import { Tooltip } from 'primereact/tooltip';
|
|
10
|
-
import { classNames, mergeProps, IconUtils, ObjectUtils, DomHandler, UniqueComponentId, ZIndexUtils } from 'primereact/utils';
|
|
11
9
|
import { CSSTransition } from 'primereact/csstransition';
|
|
12
10
|
import { Portal } from 'primereact/portal';
|
|
11
|
+
import { classNames, mergeProps, DomHandler, ObjectUtils, IconUtils, UniqueComponentId, ZIndexUtils } from 'primereact/utils';
|
|
12
|
+
import { AngleRightIcon } from 'primereact/icons/angleright';
|
|
13
|
+
import { Ripple } from 'primereact/ripple';
|
|
14
|
+
import { Tooltip } from 'primereact/tooltip';
|
|
13
15
|
|
|
14
16
|
function _extends() {
|
|
15
17
|
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
@@ -122,6 +124,1058 @@ function _slicedToArray(arr, i) {
|
|
|
122
124
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
123
125
|
}
|
|
124
126
|
|
|
127
|
+
var classes$1 = {
|
|
128
|
+
root: function root(_ref) {
|
|
129
|
+
var props = _ref.props,
|
|
130
|
+
context = _ref.context;
|
|
131
|
+
return classNames('p-tieredmenu p-component', {
|
|
132
|
+
'p-tieredmenu-overlay': props.popup,
|
|
133
|
+
'p-input-filled': context && context.inputStyle === 'filled' || PrimeReact.inputStyle === 'filled',
|
|
134
|
+
'p-ripple-disabled': context && context.ripple === false || PrimeReact.ripple === false
|
|
135
|
+
}, props.className);
|
|
136
|
+
},
|
|
137
|
+
separator: 'p-menuitem-separator',
|
|
138
|
+
icon: function icon(_ref2) {
|
|
139
|
+
var _icon = _ref2._icon;
|
|
140
|
+
return classNames('p-menuitem-icon', _icon);
|
|
141
|
+
},
|
|
142
|
+
content: 'p-menuitem-content',
|
|
143
|
+
label: 'p-menuitem-text',
|
|
144
|
+
submenuIcon: 'p-submenu-icon',
|
|
145
|
+
action: 'p-menuitem-link',
|
|
146
|
+
menuitem: function menuitem(_ref3) {
|
|
147
|
+
var _className = _ref3._className,
|
|
148
|
+
active = _ref3.active,
|
|
149
|
+
focused = _ref3.focused,
|
|
150
|
+
disabled = _ref3.disabled;
|
|
151
|
+
return classNames('p-menuitem', {
|
|
152
|
+
'p-menuitem-active p-highlight': active,
|
|
153
|
+
'p-focus': focused,
|
|
154
|
+
'p-disabled': disabled
|
|
155
|
+
}, _className);
|
|
156
|
+
},
|
|
157
|
+
menu: 'p-tieredmenu-root-list',
|
|
158
|
+
submenu: 'p-submenu-list',
|
|
159
|
+
transition: 'p-connected-overlay'
|
|
160
|
+
};
|
|
161
|
+
var inlineStyles = {
|
|
162
|
+
submenu: function submenu(_ref4) {
|
|
163
|
+
var props = _ref4.subProps;
|
|
164
|
+
return {
|
|
165
|
+
display: !props.root && props.parentActive ? 'block' : 'none'
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
var styles$1 = "\n@layer primereact {\n .p-tieredmenu-overlay {\n position: absolute;\n }\n\n .p-tieredmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-tieredmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n display: none;\n }\n\n .p-tieredmenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-tieredmenu .p-menuitem-text {\n line-height: 1;\n }\n\n .p-tieredmenu .p-menuitem {\n position: relative;\n }\n\n .p-tieredmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-tieredmenu .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-tieredmenu .p-menuitem-active > .p-submenu-list-flipped {\n left: -100%;\n }\n}\n";
|
|
170
|
+
var TieredMenuBase = ComponentBase.extend({
|
|
171
|
+
defaultProps: {
|
|
172
|
+
__TYPE: 'TieredMenu',
|
|
173
|
+
id: null,
|
|
174
|
+
model: null,
|
|
175
|
+
popup: false,
|
|
176
|
+
style: null,
|
|
177
|
+
className: null,
|
|
178
|
+
autoZIndex: true,
|
|
179
|
+
baseZIndex: 0,
|
|
180
|
+
breakpoint: undefined,
|
|
181
|
+
scrollHeight: '400px',
|
|
182
|
+
appendTo: null,
|
|
183
|
+
transitionOptions: null,
|
|
184
|
+
onShow: null,
|
|
185
|
+
onFocus: null,
|
|
186
|
+
onBlur: null,
|
|
187
|
+
onHide: null,
|
|
188
|
+
submenuIcon: null,
|
|
189
|
+
children: undefined
|
|
190
|
+
},
|
|
191
|
+
css: {
|
|
192
|
+
classes: classes$1,
|
|
193
|
+
styles: styles$1,
|
|
194
|
+
inlineStyles: inlineStyles
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
199
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
200
|
+
var TieredMenuSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
201
|
+
var elementRef = React.useRef(null);
|
|
202
|
+
var ptm = props.ptm,
|
|
203
|
+
cx = props.cx,
|
|
204
|
+
sx = props.sx;
|
|
205
|
+
var getPTOptions = function getPTOptions(item, key) {
|
|
206
|
+
return ptm(key, {
|
|
207
|
+
hostName: props.hostName,
|
|
208
|
+
context: {
|
|
209
|
+
active: isItemActive(item)
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
var position = function position() {
|
|
214
|
+
if (elementRef.current) {
|
|
215
|
+
var parentItem = elementRef.current.parentElement;
|
|
216
|
+
var containerOffset = DomHandler.getOffset(parentItem);
|
|
217
|
+
var viewport = DomHandler.getViewport();
|
|
218
|
+
var sublistWidth = elementRef.current.offsetParent ? elementRef.current.offsetWidth : DomHandler.getHiddenElementOuterWidth(elementRef.current);
|
|
219
|
+
var itemOuterWidth = DomHandler.getOuterWidth(parentItem.children[0]);
|
|
220
|
+
var top = parseInt(containerOffset.top, 10) + elementRef.current.offsetHeight - DomHandler.getWindowScrollTop();
|
|
221
|
+
if (top > viewport.height) {
|
|
222
|
+
elementRef.current.style.top = viewport.height - top + 'px';
|
|
223
|
+
} else {
|
|
224
|
+
elementRef.current.style.top = '0px';
|
|
225
|
+
}
|
|
226
|
+
if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - DomHandler.calculateScrollbarWidth()) {
|
|
227
|
+
DomHandler.addClass(elementRef.current, 'p-submenu-list-flipped');
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
var onItemClick = function onItemClick(event, processedItem) {
|
|
232
|
+
var item = processedItem.item;
|
|
233
|
+
if (isItemDisabled(processedItem)) {
|
|
234
|
+
event.preventDefault();
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
if (!item.url) {
|
|
238
|
+
event.preventDefault();
|
|
239
|
+
}
|
|
240
|
+
if (item.command) {
|
|
241
|
+
item.command({
|
|
242
|
+
originalEvent: event,
|
|
243
|
+
item: item
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
props.onItemClick && props.onItemClick({
|
|
247
|
+
originalEvent: event,
|
|
248
|
+
processedItem: processedItem
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
var getItemId = function getItemId(processedItem) {
|
|
252
|
+
return "".concat(props.menuId, "_").concat(processedItem.key);
|
|
253
|
+
};
|
|
254
|
+
var getItemProp = function getItemProp(processedItem, name, params) {
|
|
255
|
+
return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
|
|
256
|
+
};
|
|
257
|
+
var isItemActive = function isItemActive(processedItem) {
|
|
258
|
+
return props.activeItemPath.some(function (path) {
|
|
259
|
+
return path.key === processedItem.key;
|
|
260
|
+
});
|
|
261
|
+
};
|
|
262
|
+
var isItemVisible = function isItemVisible(processedItem) {
|
|
263
|
+
return getItemProp(processedItem, 'visible') !== false;
|
|
264
|
+
};
|
|
265
|
+
var isItemDisabled = function isItemDisabled(processedItem) {
|
|
266
|
+
return getItemProp(processedItem, 'disabled');
|
|
267
|
+
};
|
|
268
|
+
var isItemFocused = function isItemFocused(processedItem) {
|
|
269
|
+
return props.focusedItemId === getItemId(processedItem);
|
|
270
|
+
};
|
|
271
|
+
var isItemGroup = function isItemGroup(processedItem) {
|
|
272
|
+
return ObjectUtils.isNotEmpty(processedItem.items);
|
|
273
|
+
};
|
|
274
|
+
var onItemMouseEnter = function onItemMouseEnter(event, processedItem) {
|
|
275
|
+
props.onItemMouseEnter && props.onItemMouseEnter({
|
|
276
|
+
originalEvent: event,
|
|
277
|
+
processedItem: processedItem
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
var getAriaSetSize = function getAriaSetSize() {
|
|
281
|
+
return props.model.filter(function (processedItem) {
|
|
282
|
+
return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
|
|
283
|
+
}).length;
|
|
284
|
+
};
|
|
285
|
+
var getAriaPosInset = function getAriaPosInset(index) {
|
|
286
|
+
return index - props.model.slice(0, index).filter(function (processedItem) {
|
|
287
|
+
return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
|
|
288
|
+
}).length + 1;
|
|
289
|
+
};
|
|
290
|
+
useUpdateEffect(function () {
|
|
291
|
+
if (!props.root && props.parentActive && !props.isMobileMode) {
|
|
292
|
+
position();
|
|
293
|
+
}
|
|
294
|
+
}, [props.parentActive]);
|
|
295
|
+
React.useImperativeHandle(ref, function () {
|
|
296
|
+
return {
|
|
297
|
+
getElement: function getElement() {
|
|
298
|
+
return elementRef.current;
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
});
|
|
302
|
+
var createSeparator = function createSeparator(index) {
|
|
303
|
+
var key = 'separator_' + index;
|
|
304
|
+
var separatorProps = mergeProps({
|
|
305
|
+
key: key,
|
|
306
|
+
className: cx('separator'),
|
|
307
|
+
role: 'separator'
|
|
308
|
+
}, ptm('separator', {
|
|
309
|
+
hostName: props.hostName
|
|
310
|
+
}));
|
|
311
|
+
return /*#__PURE__*/React.createElement("li", separatorProps);
|
|
312
|
+
};
|
|
313
|
+
var createSubmenu = function createSubmenu(processedItem, index) {
|
|
314
|
+
if (isItemGroup(processedItem)) {
|
|
315
|
+
return /*#__PURE__*/React.createElement(TieredMenuSub, {
|
|
316
|
+
id: props.id + '_' + index,
|
|
317
|
+
menuProps: props.menuProps,
|
|
318
|
+
model: processedItem.items,
|
|
319
|
+
menuId: props.menuId,
|
|
320
|
+
ariaLabelledby: getItemId(item),
|
|
321
|
+
focusedItemId: props.focusedItemId,
|
|
322
|
+
activeItemPath: props.activeItemPath,
|
|
323
|
+
level: props.level + 1,
|
|
324
|
+
onItemClick: props.onItemClick,
|
|
325
|
+
popup: props.popup,
|
|
326
|
+
onItemMouseEnter: props.onItemMouseEnter,
|
|
327
|
+
parentActive: isItemActive(processedItem),
|
|
328
|
+
isMobileMode: props.isMobileMode,
|
|
329
|
+
submenuIcon: props.submenuIcon,
|
|
330
|
+
ptm: props.ptm,
|
|
331
|
+
cx: cx,
|
|
332
|
+
sx: sx
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
return null;
|
|
336
|
+
};
|
|
337
|
+
var createMenuItem = function createMenuItem(processedItem, index) {
|
|
338
|
+
if (isItemVisible(processedItem) === false) {
|
|
339
|
+
return null;
|
|
340
|
+
}
|
|
341
|
+
var item = processedItem.item;
|
|
342
|
+
var style = getItemProp(processedItem, 'style');
|
|
343
|
+
var _icon = getItemProp(processedItem, 'icon');
|
|
344
|
+
var target = getItemProp(processedItem, 'target');
|
|
345
|
+
var url = getItemProp(processedItem, 'url');
|
|
346
|
+
var key = getItemId(processedItem);
|
|
347
|
+
var focused = isItemFocused(processedItem);
|
|
348
|
+
var active = isItemActive(processedItem);
|
|
349
|
+
var disabled = isItemDisabled(processedItem);
|
|
350
|
+
var grouped = isItemGroup(processedItem);
|
|
351
|
+
var linkClassName = classNames('p-menuitem-link');
|
|
352
|
+
var iconClassName = classNames('p-menuitem-icon', _icon);
|
|
353
|
+
var iconProps = mergeProps({
|
|
354
|
+
className: classNames(item.icon, 'p-menuitem-icon', 'icon')
|
|
355
|
+
}, getPTOptions(processedItem, 'icon'));
|
|
356
|
+
var icon = IconUtils.getJSXIcon(_icon, _objectSpread$2({}, iconProps), {
|
|
357
|
+
props: props.menuProps
|
|
358
|
+
});
|
|
359
|
+
var labelProps = mergeProps({
|
|
360
|
+
className: cx('label')
|
|
361
|
+
}, getPTOptions(processedItem, 'label'));
|
|
362
|
+
var label = item.label && /*#__PURE__*/React.createElement("span", labelProps, item.label);
|
|
363
|
+
var submenuIconClassName = 'p-submenu-icon';
|
|
364
|
+
var submenuIconProps = mergeProps({
|
|
365
|
+
className: cx('submenuIcon')
|
|
366
|
+
}, getPTOptions(processedItem, 'submenuIcon'));
|
|
367
|
+
var submenuIcon = grouped && IconUtils.getJSXIcon(props.submenuIcon || /*#__PURE__*/React.createElement(AngleRightIcon, submenuIconProps), _objectSpread$2({}, submenuIconProps), {
|
|
368
|
+
props: props.menuProps
|
|
369
|
+
});
|
|
370
|
+
var submenu = createSubmenu(processedItem, index);
|
|
371
|
+
var actionProps = mergeProps({
|
|
372
|
+
href: url || '#',
|
|
373
|
+
'aria-hidden': true,
|
|
374
|
+
tabIndex: '-1',
|
|
375
|
+
onFocus: function onFocus(event) {
|
|
376
|
+
return event.stopPropagation();
|
|
377
|
+
},
|
|
378
|
+
className: cx('action'),
|
|
379
|
+
target: target
|
|
380
|
+
}, getPTOptions(processedItem, 'action'));
|
|
381
|
+
var content = /*#__PURE__*/React.createElement("a", actionProps, icon, label, submenuIcon, /*#__PURE__*/React.createElement(Ripple, null));
|
|
382
|
+
if (item.template) {
|
|
383
|
+
var defaultContentOptions = {
|
|
384
|
+
className: linkClassName,
|
|
385
|
+
labelClassName: 'p-menuitem-text',
|
|
386
|
+
iconClassName: iconClassName,
|
|
387
|
+
submenuIconClassName: submenuIconClassName,
|
|
388
|
+
element: content,
|
|
389
|
+
props: props,
|
|
390
|
+
active: active,
|
|
391
|
+
disabled: disabled
|
|
392
|
+
};
|
|
393
|
+
content = ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
|
|
394
|
+
}
|
|
395
|
+
var contentProps = mergeProps({
|
|
396
|
+
onClick: function onClick(event) {
|
|
397
|
+
return onItemClick(event, processedItem);
|
|
398
|
+
},
|
|
399
|
+
onMouseEnter: function onMouseEnter(event) {
|
|
400
|
+
return onItemMouseEnter(event, processedItem);
|
|
401
|
+
},
|
|
402
|
+
className: cx('content')
|
|
403
|
+
}, getPTOptions(processedItem, 'content'));
|
|
404
|
+
var menuitemProps = mergeProps({
|
|
405
|
+
key: key,
|
|
406
|
+
id: key,
|
|
407
|
+
'aria-label': item.label,
|
|
408
|
+
'aria-disabled': disabled,
|
|
409
|
+
'aria-expanded': grouped ? active : undefined,
|
|
410
|
+
'aria-haspopup': grouped && !url ? 'menu' : undefined,
|
|
411
|
+
'aria-level': props.level + 1,
|
|
412
|
+
'aria-setsize': getAriaSetSize(),
|
|
413
|
+
'aria-posinset': getAriaPosInset(index),
|
|
414
|
+
'data-p-highlight': active,
|
|
415
|
+
'data-p-disabled': disabled,
|
|
416
|
+
'data-p-visited': focused,
|
|
417
|
+
className: cx('menuitem', {
|
|
418
|
+
className: item.className,
|
|
419
|
+
active: active,
|
|
420
|
+
focused: focused,
|
|
421
|
+
disabled: disabled
|
|
422
|
+
}),
|
|
423
|
+
style: style,
|
|
424
|
+
onMouseEnter: function onMouseEnter(event) {
|
|
425
|
+
return onItemMouseEnter(event, item);
|
|
426
|
+
},
|
|
427
|
+
role: 'menuitem'
|
|
428
|
+
}, getPTOptions(processedItem, 'menuitem'));
|
|
429
|
+
return /*#__PURE__*/React.createElement("li", menuitemProps, /*#__PURE__*/React.createElement("div", contentProps, content), submenu);
|
|
430
|
+
};
|
|
431
|
+
var createItem = function createItem(processedItem, index) {
|
|
432
|
+
return getItemProp(processedItem, 'separator') ? createSeparator(index) : createMenuItem(processedItem, index);
|
|
433
|
+
};
|
|
434
|
+
var createMenu = function createMenu() {
|
|
435
|
+
return props.model ? props.model.map(createItem) : null;
|
|
436
|
+
};
|
|
437
|
+
var submenu = createMenu();
|
|
438
|
+
var ptKey = props.root ? 'menu' : 'submenu';
|
|
439
|
+
var menuProps = mergeProps({
|
|
440
|
+
ref: elementRef,
|
|
441
|
+
id: props.id,
|
|
442
|
+
tabIndex: props.tabIndex,
|
|
443
|
+
onFocus: props.onFocus,
|
|
444
|
+
onBlur: props.onBlur,
|
|
445
|
+
onKeyDown: props.onKeyDown,
|
|
446
|
+
className: cx(ptKey, {
|
|
447
|
+
subProps: props
|
|
448
|
+
}),
|
|
449
|
+
style: sx(ptKey, {
|
|
450
|
+
subProps: props
|
|
451
|
+
}),
|
|
452
|
+
role: props.root ? 'menubar' : 'menu',
|
|
453
|
+
'aria-label': props.ariaLabel,
|
|
454
|
+
'aria-labelledby': props.ariaLabelledby,
|
|
455
|
+
'aria-orientation': props.ariaOrientation,
|
|
456
|
+
'aria-activedescendant': props.focusedItemId
|
|
457
|
+
}, ptm(ptKey, {
|
|
458
|
+
hostName: props.hostName
|
|
459
|
+
}));
|
|
460
|
+
return /*#__PURE__*/React.createElement("ul", menuProps, submenu);
|
|
461
|
+
}));
|
|
462
|
+
TieredMenuSub.displayName = 'TieredMenuSub';
|
|
463
|
+
|
|
464
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
465
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
466
|
+
var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
467
|
+
var context = React.useContext(PrimeReactContext);
|
|
468
|
+
var props = TieredMenuBase.getProps(inProps, context);
|
|
469
|
+
var _React$useState = React.useState(props.id),
|
|
470
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
471
|
+
idState = _React$useState2[0],
|
|
472
|
+
setIdState = _React$useState2[1];
|
|
473
|
+
var _React$useState3 = React.useState(!props.popup),
|
|
474
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
475
|
+
visibleState = _React$useState4[0],
|
|
476
|
+
setVisibleState = _React$useState4[1];
|
|
477
|
+
var _React$useState5 = React.useState([]),
|
|
478
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
479
|
+
activeItemPath = _React$useState6[0],
|
|
480
|
+
setActiveItemPath = _React$useState6[1];
|
|
481
|
+
var _React$useState7 = React.useState(false),
|
|
482
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
483
|
+
focused = _React$useState8[0],
|
|
484
|
+
setFocused = _React$useState8[1];
|
|
485
|
+
var _React$useState9 = React.useState(null),
|
|
486
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
487
|
+
focusedItemId = _React$useState10[0],
|
|
488
|
+
setFocusedItemId = _React$useState10[1];
|
|
489
|
+
var _React$useState11 = React.useState({
|
|
490
|
+
index: -1,
|
|
491
|
+
level: 0,
|
|
492
|
+
parentKey: ''
|
|
493
|
+
}),
|
|
494
|
+
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
495
|
+
focusedItemInfo = _React$useState12[0],
|
|
496
|
+
setFocusedItemInfo = _React$useState12[1];
|
|
497
|
+
var _React$useState13 = React.useState(false),
|
|
498
|
+
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
499
|
+
dirty = _React$useState14[0],
|
|
500
|
+
setDirty = _React$useState14[1];
|
|
501
|
+
var _React$useState15 = React.useState([]),
|
|
502
|
+
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
503
|
+
processedItems = _React$useState16[0],
|
|
504
|
+
setProcessedItems = _React$useState16[1];
|
|
505
|
+
var _React$useState17 = React.useState([]),
|
|
506
|
+
_React$useState18 = _slicedToArray(_React$useState17, 2),
|
|
507
|
+
visibleItems = _React$useState18[0],
|
|
508
|
+
setVisibleItems = _React$useState18[1];
|
|
509
|
+
var _React$useState19 = React.useState(false),
|
|
510
|
+
_React$useState20 = _slicedToArray(_React$useState19, 2),
|
|
511
|
+
focusTrigger = _React$useState20[0],
|
|
512
|
+
setFocusTrigger = _React$useState20[1];
|
|
513
|
+
var _React$useState21 = React.useState(null),
|
|
514
|
+
_React$useState22 = _slicedToArray(_React$useState21, 2),
|
|
515
|
+
attributeSelectorState = _React$useState22[0],
|
|
516
|
+
setAttributeSelectorState = _React$useState22[1];
|
|
517
|
+
var _TieredMenuBase$setMe = TieredMenuBase.setMetaData({
|
|
518
|
+
props: props,
|
|
519
|
+
state: {
|
|
520
|
+
id: idState,
|
|
521
|
+
visible: visibleState,
|
|
522
|
+
attributeSelector: attributeSelectorState
|
|
523
|
+
}
|
|
524
|
+
}),
|
|
525
|
+
ptm = _TieredMenuBase$setMe.ptm,
|
|
526
|
+
cx = _TieredMenuBase$setMe.cx,
|
|
527
|
+
sx = _TieredMenuBase$setMe.sx,
|
|
528
|
+
isUnstyled = _TieredMenuBase$setMe.isUnstyled;
|
|
529
|
+
useHandleStyle(TieredMenuBase.css.styles, isUnstyled, {
|
|
530
|
+
name: 'tieredmenu'
|
|
531
|
+
});
|
|
532
|
+
var containerRef = React.useRef(null);
|
|
533
|
+
var menuRef = React.useRef(null);
|
|
534
|
+
var targetRef = React.useRef(null);
|
|
535
|
+
var relatedTarget = React.useRef(null);
|
|
536
|
+
var styleElementRef = React.useRef(null);
|
|
537
|
+
var searchValue = React.useRef(null);
|
|
538
|
+
var searchTimeout = React.useRef(null);
|
|
539
|
+
var isMobileMode = useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
|
|
540
|
+
var _useEventListener = useEventListener({
|
|
541
|
+
type: 'click',
|
|
542
|
+
listener: function listener(event) {
|
|
543
|
+
var isOutsideContainer = containerRef.current && !containerRef.current.contains(event.target);
|
|
544
|
+
var isOutsideTarget = props.popup ? !(targetRef.current && (targetRef.current === event.target || targetRef.current.contains(event.target))) : true;
|
|
545
|
+
if (isOutsideContainer && isOutsideTarget) {
|
|
546
|
+
hide(event, !props.popup);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}),
|
|
550
|
+
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
551
|
+
bindDocumentClickListener = _useEventListener2[0],
|
|
552
|
+
unbindDocumentClickListener = _useEventListener2[1];
|
|
553
|
+
var _useResizeListener = useResizeListener({
|
|
554
|
+
listener: function listener() {
|
|
555
|
+
!isMobileMode && hide(event, true);
|
|
556
|
+
}
|
|
557
|
+
}),
|
|
558
|
+
_useResizeListener2 = _slicedToArray(_useResizeListener, 2),
|
|
559
|
+
bindDocumentResizeListener = _useResizeListener2[0],
|
|
560
|
+
unbindDocumentResizeListener = _useResizeListener2[1];
|
|
561
|
+
var onPanelClick = function onPanelClick(event) {
|
|
562
|
+
if (props.popup) {
|
|
563
|
+
OverlayService.emit('overlay-click', {
|
|
564
|
+
originalEvent: event,
|
|
565
|
+
target: targetRef.current
|
|
566
|
+
});
|
|
567
|
+
}
|
|
568
|
+
};
|
|
569
|
+
var toggle = function toggle(event) {
|
|
570
|
+
if (props.popup) {
|
|
571
|
+
visibleState ? hide(event) : show(event);
|
|
572
|
+
}
|
|
573
|
+
};
|
|
574
|
+
var show = function show(event) {
|
|
575
|
+
if (props.popup) {
|
|
576
|
+
targetRef.current = event.currentTarget;
|
|
577
|
+
setVisibleState(true);
|
|
578
|
+
props.onShow && props.onShow(event);
|
|
579
|
+
relatedTarget.current = event.relatedTarget || null;
|
|
580
|
+
}
|
|
581
|
+
setFocusedItemInfo({
|
|
582
|
+
index: findFirstFocusedItemIndex(),
|
|
583
|
+
level: 0,
|
|
584
|
+
parentKey: ''
|
|
585
|
+
});
|
|
586
|
+
};
|
|
587
|
+
var hide = function hide(event, isFocus) {
|
|
588
|
+
if (props.popup) {
|
|
589
|
+
setVisibleState(false);
|
|
590
|
+
props.onHide && props.onHide(event);
|
|
591
|
+
}
|
|
592
|
+
var menuElement = getMenuElement();
|
|
593
|
+
setActiveItemPath([]);
|
|
594
|
+
setFocusedItemInfo({
|
|
595
|
+
index: -1,
|
|
596
|
+
level: 0,
|
|
597
|
+
parentKey: ''
|
|
598
|
+
});
|
|
599
|
+
isFocus && DomHandler.focus(relatedTarget.current || targetRef.current || menuElement);
|
|
600
|
+
setDirty(false);
|
|
601
|
+
};
|
|
602
|
+
var onFocus = function onFocus(event) {
|
|
603
|
+
setFocused(true);
|
|
604
|
+
setFocusedItemInfo(focusedItemInfo.index !== -1 ? focusedItemInfo : {
|
|
605
|
+
index: findFirstFocusedItemIndex(),
|
|
606
|
+
level: 0,
|
|
607
|
+
parentKey: ''
|
|
608
|
+
});
|
|
609
|
+
props.onFocus && props.onFocus(event);
|
|
610
|
+
};
|
|
611
|
+
var onBlur = function onBlur(event) {
|
|
612
|
+
setFocused(false);
|
|
613
|
+
setFocusedItemInfo({
|
|
614
|
+
index: -1,
|
|
615
|
+
level: 0,
|
|
616
|
+
parentKey: ''
|
|
617
|
+
});
|
|
618
|
+
searchValue.current = '';
|
|
619
|
+
setDirty(false);
|
|
620
|
+
props.onBlur && props.onBlur(event);
|
|
621
|
+
};
|
|
622
|
+
var onKeyDown = function onKeyDown(event) {
|
|
623
|
+
var metaKey = event.metaKey || event.ctrlKey;
|
|
624
|
+
switch (event.code) {
|
|
625
|
+
case 'ArrowDown':
|
|
626
|
+
onArrowDownKey(event);
|
|
627
|
+
break;
|
|
628
|
+
case 'ArrowUp':
|
|
629
|
+
onArrowUpKey(event);
|
|
630
|
+
break;
|
|
631
|
+
case 'ArrowLeft':
|
|
632
|
+
onArrowLeftKey(event);
|
|
633
|
+
break;
|
|
634
|
+
case 'ArrowRight':
|
|
635
|
+
onArrowRightKey(event);
|
|
636
|
+
break;
|
|
637
|
+
case 'Home':
|
|
638
|
+
onHomeKey(event);
|
|
639
|
+
break;
|
|
640
|
+
case 'End':
|
|
641
|
+
onEndKey(event);
|
|
642
|
+
break;
|
|
643
|
+
case 'Space':
|
|
644
|
+
onSpaceKey(event);
|
|
645
|
+
break;
|
|
646
|
+
case 'Enter':
|
|
647
|
+
onEnterKey(event);
|
|
648
|
+
break;
|
|
649
|
+
case 'Escape':
|
|
650
|
+
props.popup && DomHandler.focus(targetRef.current);
|
|
651
|
+
onEscapeKey(event);
|
|
652
|
+
break;
|
|
653
|
+
case 'Tab':
|
|
654
|
+
onTabKey(event);
|
|
655
|
+
break;
|
|
656
|
+
case 'PageDown':
|
|
657
|
+
case 'PageUp':
|
|
658
|
+
case 'Backspace':
|
|
659
|
+
case 'ShiftLeft':
|
|
660
|
+
case 'ShiftRight':
|
|
661
|
+
//NOOP
|
|
662
|
+
break;
|
|
663
|
+
default:
|
|
664
|
+
if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
|
|
665
|
+
searchItems(event.key);
|
|
666
|
+
}
|
|
667
|
+
break;
|
|
668
|
+
}
|
|
669
|
+
};
|
|
670
|
+
var onItemChange = function onItemChange(event) {
|
|
671
|
+
var processedItem = event.processedItem,
|
|
672
|
+
isFocus = event.isFocus;
|
|
673
|
+
if (ObjectUtils.isEmpty(processedItem)) return;
|
|
674
|
+
var index = processedItem.index,
|
|
675
|
+
key = processedItem.key,
|
|
676
|
+
level = processedItem.level,
|
|
677
|
+
parentKey = processedItem.parentKey,
|
|
678
|
+
items = processedItem.items;
|
|
679
|
+
var grouped = ObjectUtils.isNotEmpty(items);
|
|
680
|
+
var _activeItemPath = activeItemPath.filter(function (p) {
|
|
681
|
+
return p.parentKey !== parentKey && p.parentKey !== key;
|
|
682
|
+
});
|
|
683
|
+
if (grouped) {
|
|
684
|
+
_activeItemPath.push(processedItem);
|
|
685
|
+
}
|
|
686
|
+
setFocusedItemInfo({
|
|
687
|
+
index: index,
|
|
688
|
+
level: level,
|
|
689
|
+
parentKey: parentKey
|
|
690
|
+
});
|
|
691
|
+
setActiveItemPath(_activeItemPath);
|
|
692
|
+
grouped && setDirty(true);
|
|
693
|
+
isFocus && DomHandler.focus(getMenuElement());
|
|
694
|
+
};
|
|
695
|
+
var onItemClick = function onItemClick(event) {
|
|
696
|
+
var originalEvent = event.originalEvent,
|
|
697
|
+
processedItem = event.processedItem;
|
|
698
|
+
if (isItemDisabled(processedItem) || props.isMobileMode) {
|
|
699
|
+
return;
|
|
700
|
+
}
|
|
701
|
+
var grouped = isProccessedItemGroup(processedItem);
|
|
702
|
+
var root = ObjectUtils.isEmpty(processedItem.parent);
|
|
703
|
+
var selected = isSelected(processedItem);
|
|
704
|
+
var menuElement = getMenuElement();
|
|
705
|
+
if (selected) {
|
|
706
|
+
var index = processedItem.index,
|
|
707
|
+
key = processedItem.key,
|
|
708
|
+
level = processedItem.level,
|
|
709
|
+
parentKey = processedItem.parentKey;
|
|
710
|
+
setActiveItemPath(activeItemPath.filter(function (p) {
|
|
711
|
+
return key !== p.key && key.startsWith(p.key);
|
|
712
|
+
}));
|
|
713
|
+
setFocusedItemInfo({
|
|
714
|
+
index: index,
|
|
715
|
+
level: level,
|
|
716
|
+
parentKey: parentKey
|
|
717
|
+
});
|
|
718
|
+
if (!grouped) {
|
|
719
|
+
setDirty(!root);
|
|
720
|
+
}
|
|
721
|
+
setTimeout(function () {
|
|
722
|
+
DomHandler.focus(menuElement);
|
|
723
|
+
if (grouped) {
|
|
724
|
+
setDirty(true);
|
|
725
|
+
}
|
|
726
|
+
}, 0);
|
|
727
|
+
} else {
|
|
728
|
+
if (grouped) {
|
|
729
|
+
DomHandler.focus(menuElement);
|
|
730
|
+
onItemChange(event);
|
|
731
|
+
} else {
|
|
732
|
+
var rootProcessedItem = root ? processedItem : activeItemPath.find(function (p) {
|
|
733
|
+
return p.parentKey === '';
|
|
734
|
+
});
|
|
735
|
+
var rootProcessedItemIndex = rootProcessedItem ? rootProcessedItem.index : -1;
|
|
736
|
+
hide(originalEvent, true);
|
|
737
|
+
setFocusedItemInfo({
|
|
738
|
+
index: rootProcessedItemIndex,
|
|
739
|
+
parentKey: rootProcessedItem ? rootProcessedItem.parentKey : ''
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
};
|
|
744
|
+
var onItemMouseEnter = function onItemMouseEnter(event) {
|
|
745
|
+
var originalEvent = event.originalEvent,
|
|
746
|
+
processedItem = event.processedItem;
|
|
747
|
+
if (isItemDisabled(processedItem) || props.isMobileMode) {
|
|
748
|
+
originalEvent.preventDefault();
|
|
749
|
+
return;
|
|
750
|
+
}
|
|
751
|
+
if (dirty && !props.popup) {
|
|
752
|
+
onItemChange(event);
|
|
753
|
+
}
|
|
754
|
+
};
|
|
755
|
+
var onArrowDownKey = function onArrowDownKey(event) {
|
|
756
|
+
var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
|
|
757
|
+
changeFocusedItemIndex(itemIndex);
|
|
758
|
+
event.preventDefault();
|
|
759
|
+
};
|
|
760
|
+
var onArrowUpKey = function onArrowUpKey(event) {
|
|
761
|
+
if (event.altKey) {
|
|
762
|
+
if (props.popup) {
|
|
763
|
+
DomHandler.focus(targetRef.current);
|
|
764
|
+
}
|
|
765
|
+
if (focusedItemInfo.index !== -1) {
|
|
766
|
+
var processedItem = visibleItems[focusedItemInfo.index];
|
|
767
|
+
var grouped = isProccessedItemGroup(processedItem);
|
|
768
|
+
!grouped && onItemChange({
|
|
769
|
+
originalEvent: event,
|
|
770
|
+
processedItem: processedItem
|
|
771
|
+
});
|
|
772
|
+
}
|
|
773
|
+
props.popup && hide(event, true);
|
|
774
|
+
event.preventDefault();
|
|
775
|
+
} else {
|
|
776
|
+
var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
|
|
777
|
+
changeFocusedItemIndex(itemIndex);
|
|
778
|
+
event.preventDefault();
|
|
779
|
+
}
|
|
780
|
+
};
|
|
781
|
+
var onArrowLeftKey = function onArrowLeftKey(event) {
|
|
782
|
+
var processedItem = visibleItems[focusedItemInfo.index];
|
|
783
|
+
var parentItem = activeItemPath.find(function (p) {
|
|
784
|
+
return p.key === processedItem.parentKey;
|
|
785
|
+
});
|
|
786
|
+
var root = ObjectUtils.isEmpty(processedItem.parent);
|
|
787
|
+
if (!root) {
|
|
788
|
+
setFocusedItemInfo({
|
|
789
|
+
index: -1,
|
|
790
|
+
parentKey: parentItem ? parentItem.parentKey : ''
|
|
791
|
+
});
|
|
792
|
+
searchValue.current = '';
|
|
793
|
+
setTimeout(function () {
|
|
794
|
+
return setFocusTrigger(true);
|
|
795
|
+
}, 0);
|
|
796
|
+
}
|
|
797
|
+
setActiveItemPath(activeItemPath.filter(function (p) {
|
|
798
|
+
return p.parentKey !== focusedItemInfo.parentKey;
|
|
799
|
+
}));
|
|
800
|
+
event.preventDefault();
|
|
801
|
+
};
|
|
802
|
+
var onArrowRightKey = function onArrowRightKey(event) {
|
|
803
|
+
var processedItem = visibleItems[focusedItemInfo.index];
|
|
804
|
+
var grouped = isProccessedItemGroup(processedItem);
|
|
805
|
+
if (grouped) {
|
|
806
|
+
onItemChange({
|
|
807
|
+
originalEvent: event,
|
|
808
|
+
processedItem: processedItem
|
|
809
|
+
});
|
|
810
|
+
setFocusedItemInfo({
|
|
811
|
+
index: -1,
|
|
812
|
+
parentKey: processedItem.key
|
|
813
|
+
});
|
|
814
|
+
searchValue.current = '';
|
|
815
|
+
setTimeout(function () {
|
|
816
|
+
return setFocusTrigger(true);
|
|
817
|
+
}, 0);
|
|
818
|
+
}
|
|
819
|
+
event.preventDefault();
|
|
820
|
+
};
|
|
821
|
+
var onHomeKey = function onHomeKey(event) {
|
|
822
|
+
changeFocusedItemIndex(findFirstItemIndex());
|
|
823
|
+
event.preventDefault();
|
|
824
|
+
};
|
|
825
|
+
var onEndKey = function onEndKey(event) {
|
|
826
|
+
changeFocusedItemIndex(findLastItemIndex());
|
|
827
|
+
event.preventDefault();
|
|
828
|
+
};
|
|
829
|
+
var onEnterKey = function onEnterKey(event) {
|
|
830
|
+
if (focusedItemInfo.index !== -1) {
|
|
831
|
+
var _element = DomHandler.findSingle(getMenuElement(), "li[id=\"".concat("".concat(focusedItemId), "\"]"));
|
|
832
|
+
var anchorElement = _element && DomHandler.findSingle(_element, '[data-pc-section="action"]');
|
|
833
|
+
props.popup && DomHandler.focus(targetRef.current);
|
|
834
|
+
anchorElement ? anchorElement.click() : _element && _element.click();
|
|
835
|
+
}
|
|
836
|
+
event.preventDefault();
|
|
837
|
+
};
|
|
838
|
+
var onSpaceKey = function onSpaceKey(event) {
|
|
839
|
+
onEnterKey(event);
|
|
840
|
+
};
|
|
841
|
+
var onEscapeKey = function onEscapeKey(event) {
|
|
842
|
+
hide(event, true);
|
|
843
|
+
!props.popup && setFocusedItemInfo(_objectSpread$1(_objectSpread$1({}, focusedItemInfo), {}, {
|
|
844
|
+
index: findFirstFocusedItemIndex()
|
|
845
|
+
}));
|
|
846
|
+
event.preventDefault();
|
|
847
|
+
};
|
|
848
|
+
var onTabKey = function onTabKey(event) {
|
|
849
|
+
if (focusedItemInfo.index !== -1) {
|
|
850
|
+
var processedItem = visibleItems[focusedItemInfo.index];
|
|
851
|
+
var grouped = isProccessedItemGroup(processedItem);
|
|
852
|
+
!grouped && onItemChange({
|
|
853
|
+
originalEvent: event,
|
|
854
|
+
processedItem: processedItem
|
|
855
|
+
});
|
|
856
|
+
}
|
|
857
|
+
hide(event);
|
|
858
|
+
};
|
|
859
|
+
var getMenuElement = function getMenuElement() {
|
|
860
|
+
return menuRef.current.getElement() || null;
|
|
861
|
+
};
|
|
862
|
+
var getItemProp = function getItemProp(item, name) {
|
|
863
|
+
return item ? ObjectUtils.getItemValue(item[name]) : undefined;
|
|
864
|
+
};
|
|
865
|
+
var getItemLabel = function getItemLabel(item) {
|
|
866
|
+
return getItemProp(item, 'label');
|
|
867
|
+
};
|
|
868
|
+
var isItemDisabled = function isItemDisabled(item) {
|
|
869
|
+
return getItemProp(item, 'disabled');
|
|
870
|
+
};
|
|
871
|
+
var isItemSeparator = function isItemSeparator(item) {
|
|
872
|
+
return getItemProp(item, 'separator');
|
|
873
|
+
};
|
|
874
|
+
var getProccessedItemLabel = function getProccessedItemLabel(processedItem) {
|
|
875
|
+
return processedItem ? getItemLabel(processedItem.item) : undefined;
|
|
876
|
+
};
|
|
877
|
+
var isProccessedItemGroup = function isProccessedItemGroup(processedItem) {
|
|
878
|
+
return processedItem && ObjectUtils.isNotEmpty(processedItem.items);
|
|
879
|
+
};
|
|
880
|
+
var isItemMatched = function isItemMatched(processedItem) {
|
|
881
|
+
return isValidItem(processedItem) && getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
|
|
882
|
+
};
|
|
883
|
+
var isValidItem = function isValidItem(processedItem) {
|
|
884
|
+
return !!processedItem && !isItemDisabled(processedItem.item) && !isItemSeparator(processedItem.item);
|
|
885
|
+
};
|
|
886
|
+
var isValidSelectedItem = function isValidSelectedItem(processedItem) {
|
|
887
|
+
return isValidItem(processedItem) && isSelected(processedItem);
|
|
888
|
+
};
|
|
889
|
+
var isSelected = function isSelected(processedItem) {
|
|
890
|
+
return activeItemPath.some(function (p) {
|
|
891
|
+
return p.key === processedItem.key;
|
|
892
|
+
});
|
|
893
|
+
};
|
|
894
|
+
var findFirstItemIndex = function findFirstItemIndex() {
|
|
895
|
+
return visibleItems.findIndex(function (processedItem) {
|
|
896
|
+
return isValidItem(processedItem);
|
|
897
|
+
});
|
|
898
|
+
};
|
|
899
|
+
var findLastItemIndex = function findLastItemIndex() {
|
|
900
|
+
return ObjectUtils.findLastIndex(visibleItems, function (processedItem) {
|
|
901
|
+
return isValidItem(processedItem);
|
|
902
|
+
});
|
|
903
|
+
};
|
|
904
|
+
var findNextItemIndex = function findNextItemIndex(index) {
|
|
905
|
+
var matchedItemIndex = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).findIndex(function (processedItem) {
|
|
906
|
+
return isValidItem(processedItem);
|
|
907
|
+
}) : -1;
|
|
908
|
+
return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
|
|
909
|
+
};
|
|
910
|
+
var findPrevItemIndex = function findPrevItemIndex(index) {
|
|
911
|
+
var matchedItemIndex = index > 0 ? ObjectUtils.findLastIndex(visibleItems.slice(0, index), function (processedItem) {
|
|
912
|
+
return isValidItem(processedItem);
|
|
913
|
+
}) : -1;
|
|
914
|
+
return matchedItemIndex > -1 ? matchedItemIndex : index;
|
|
915
|
+
};
|
|
916
|
+
var findSelectedItemIndex = function findSelectedItemIndex() {
|
|
917
|
+
return visibleItems.findIndex(function (processedItem) {
|
|
918
|
+
return isValidSelectedItem(processedItem);
|
|
919
|
+
});
|
|
920
|
+
};
|
|
921
|
+
var findFirstFocusedItemIndex = function findFirstFocusedItemIndex() {
|
|
922
|
+
var selectedIndex = findSelectedItemIndex();
|
|
923
|
+
return selectedIndex < 0 ? findFirstItemIndex() : selectedIndex;
|
|
924
|
+
};
|
|
925
|
+
var findLastFocusedItemIndex = function findLastFocusedItemIndex() {
|
|
926
|
+
var selectedIndex = findSelectedItemIndex();
|
|
927
|
+
return selectedIndex < 0 ? findLastItemIndex() : selectedIndex;
|
|
928
|
+
};
|
|
929
|
+
var searchItems = function searchItems(_char) {
|
|
930
|
+
searchValue.current = (searchValue.current || '') + _char;
|
|
931
|
+
var itemIndex = -1;
|
|
932
|
+
var matched = false;
|
|
933
|
+
if (focusedItemInfo.index !== -1) {
|
|
934
|
+
itemIndex = visibleItems.slice(focusedItemInfo.index).findIndex(function (processedItem) {
|
|
935
|
+
return isItemMatched(processedItem);
|
|
936
|
+
});
|
|
937
|
+
itemIndex = itemIndex === -1 ? visibleItems.slice(0, focusedItemInfo.index).findIndex(function (processedItem) {
|
|
938
|
+
return isItemMatched(processedItem);
|
|
939
|
+
}) : itemIndex + focusedItemInfo.index;
|
|
940
|
+
} else {
|
|
941
|
+
itemIndex = visibleItems.findIndex(function (processedItem) {
|
|
942
|
+
return isItemMatched(processedItem);
|
|
943
|
+
});
|
|
944
|
+
}
|
|
945
|
+
if (itemIndex !== -1) {
|
|
946
|
+
matched = true;
|
|
947
|
+
}
|
|
948
|
+
if (itemIndex === -1 && focusedItemInfo.index === -1) {
|
|
949
|
+
itemIndex = findFirstFocusedItemIndex();
|
|
950
|
+
}
|
|
951
|
+
if (itemIndex !== -1) {
|
|
952
|
+
changeFocusedItemIndex(itemIndex);
|
|
953
|
+
}
|
|
954
|
+
if (searchTimeout.current) {
|
|
955
|
+
clearTimeout(searchTimeout);
|
|
956
|
+
}
|
|
957
|
+
searchTimeout.current = setTimeout(function () {
|
|
958
|
+
searchValue.current = '';
|
|
959
|
+
searchTimeout.current = null;
|
|
960
|
+
}, 500);
|
|
961
|
+
return matched;
|
|
962
|
+
};
|
|
963
|
+
var changeFocusedItemIndex = function changeFocusedItemIndex(index) {
|
|
964
|
+
if (focusedItemInfo.index !== index) {
|
|
965
|
+
setFocusedItemInfo(_objectSpread$1(_objectSpread$1({}, focusedItemInfo), {}, {
|
|
966
|
+
index: index
|
|
967
|
+
}));
|
|
968
|
+
scrollInView();
|
|
969
|
+
}
|
|
970
|
+
};
|
|
971
|
+
var scrollInView = function scrollInView() {
|
|
972
|
+
var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
|
|
973
|
+
var id = index !== -1 ? "".concat(idState, "_").concat(index) : focusedItemId;
|
|
974
|
+
var element = DomHandler.findSingle(getMenuElement(), "li[id=\"".concat(id, "\"]"));
|
|
975
|
+
if (element) {
|
|
976
|
+
element.scrollIntoView && element.scrollIntoView({
|
|
977
|
+
block: 'nearest',
|
|
978
|
+
inline: 'start'
|
|
979
|
+
});
|
|
980
|
+
}
|
|
981
|
+
};
|
|
982
|
+
var createProcessedItems = function createProcessedItems(items) {
|
|
983
|
+
var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
984
|
+
var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
985
|
+
var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
|
|
986
|
+
var processedItems = [];
|
|
987
|
+
items && items.forEach(function (item, index) {
|
|
988
|
+
var key = (parentKey !== '' ? parentKey + '_' : '') + index;
|
|
989
|
+
var newItem = {
|
|
990
|
+
item: item,
|
|
991
|
+
index: index,
|
|
992
|
+
level: level,
|
|
993
|
+
key: key,
|
|
994
|
+
parent: parent,
|
|
995
|
+
parentKey: parentKey
|
|
996
|
+
};
|
|
997
|
+
newItem['items'] = createProcessedItems(item.items, level + 1, newItem, key);
|
|
998
|
+
processedItems.push(newItem);
|
|
999
|
+
});
|
|
1000
|
+
return processedItems;
|
|
1001
|
+
};
|
|
1002
|
+
var createStyle = function createStyle() {
|
|
1003
|
+
if (!styleElementRef.current) {
|
|
1004
|
+
styleElementRef.current = DomHandler.createInlineStyle(context && context.nonce || PrimeReact.nonce, context && context.styleContainer);
|
|
1005
|
+
var selector = "".concat(attributeSelectorState);
|
|
1006
|
+
var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-tieredmenu[").concat(selector, "] > ul {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n }\n\n .p-tieredmenu[").concat(selector, "] .p-submenu-list {\n position: relative;\n }\n\n .p-tieredmenu[").concat(selector, "] .p-menuitem-active > .p-submenu-list {\n left: 0;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-tieredmenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-tieredmenu[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n }\n\n ").concat(!props.popup ? ".p-tieredmenu[".concat(selector, "] { width: 100%; }") : '', "\n}\n");
|
|
1007
|
+
styleElementRef.current.innerHTML = innerHTML;
|
|
1008
|
+
}
|
|
1009
|
+
};
|
|
1010
|
+
var destroyStyle = function destroyStyle() {
|
|
1011
|
+
styleElementRef.current = DomHandler.removeInlineStyle(styleElementRef.current);
|
|
1012
|
+
};
|
|
1013
|
+
var alignOverlay = function alignOverlay() {
|
|
1014
|
+
DomHandler.absolutePosition(containerRef.current, targetRef.current);
|
|
1015
|
+
var targetWidth = DomHandler.getOuterWidth(targetRef.current);
|
|
1016
|
+
if (targetWidth > DomHandler.getOuterWidth(containerRef.current)) {
|
|
1017
|
+
containerRef.current.style.minWidth = DomHandler.getOuterWidth(targetRef.current) + 'px';
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
var onEnter = function onEnter() {
|
|
1021
|
+
if (props.autoZIndex) {
|
|
1022
|
+
ZIndexUtils.set('menu', containerRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, props.baseZIndex || context && context.zIndex['menu'] || PrimeReact.zIndex['menu']);
|
|
1023
|
+
}
|
|
1024
|
+
DomHandler.addStyles(containerRef.current, {
|
|
1025
|
+
position: 'absolute',
|
|
1026
|
+
top: '0',
|
|
1027
|
+
left: '0'
|
|
1028
|
+
});
|
|
1029
|
+
alignOverlay();
|
|
1030
|
+
DomHandler.focus(menuRef.current.getElement());
|
|
1031
|
+
scrollInView();
|
|
1032
|
+
if (attributeSelectorState && props.breakpoint) {
|
|
1033
|
+
containerRef.current.setAttribute(attributeSelectorState, '');
|
|
1034
|
+
createStyle();
|
|
1035
|
+
}
|
|
1036
|
+
};
|
|
1037
|
+
var onEntered = function onEntered() {
|
|
1038
|
+
bindDocumentClickListener();
|
|
1039
|
+
bindDocumentResizeListener();
|
|
1040
|
+
};
|
|
1041
|
+
var onExit = function onExit() {
|
|
1042
|
+
targetRef.current = null;
|
|
1043
|
+
unbindDocumentClickListener();
|
|
1044
|
+
unbindDocumentResizeListener();
|
|
1045
|
+
};
|
|
1046
|
+
var onExited = function onExited() {
|
|
1047
|
+
ZIndexUtils.clear(containerRef.current);
|
|
1048
|
+
destroyStyle();
|
|
1049
|
+
};
|
|
1050
|
+
useMountEffect(function () {
|
|
1051
|
+
var uniqueId = UniqueComponentId();
|
|
1052
|
+
!idState && setIdState(uniqueId);
|
|
1053
|
+
if (props.breakpoint) {
|
|
1054
|
+
!attributeSelectorState && setAttributeSelectorState(uniqueId);
|
|
1055
|
+
}
|
|
1056
|
+
});
|
|
1057
|
+
useUpdateEffect(function () {
|
|
1058
|
+
var itemsToProcess = props.model || [];
|
|
1059
|
+
var processed = createProcessedItems(itemsToProcess);
|
|
1060
|
+
setProcessedItems(processed);
|
|
1061
|
+
}, props.model);
|
|
1062
|
+
useUpdateEffect(function () {
|
|
1063
|
+
var processedItem = activeItemPath.find(function (p) {
|
|
1064
|
+
return p.key === focusedItemInfo.parentKey;
|
|
1065
|
+
});
|
|
1066
|
+
var processed = processedItem ? processedItem.items : processedItems;
|
|
1067
|
+
setVisibleItems(processed);
|
|
1068
|
+
}, [activeItemPath, focusedItemInfo, processedItems]);
|
|
1069
|
+
useUpdateEffect(function () {
|
|
1070
|
+
var focusedId = focusedItemInfo.index !== -1 ? "".concat(idState).concat(ObjectUtils.isNotEmpty(focusedItemInfo.parentKey) ? '_' + focusedItemInfo.parentKey : '', "_").concat(focusedItemInfo.index) : null;
|
|
1071
|
+
setFocusedItemId(focusedId);
|
|
1072
|
+
}, [focusedItemInfo]);
|
|
1073
|
+
useUpdateEffect(function () {
|
|
1074
|
+
if (!props.popup) {
|
|
1075
|
+
if (ObjectUtils.isNotEmpty(activeItemPath)) {
|
|
1076
|
+
bindDocumentClickListener();
|
|
1077
|
+
bindDocumentResizeListener();
|
|
1078
|
+
} else {
|
|
1079
|
+
unbindDocumentClickListener();
|
|
1080
|
+
unbindDocumentResizeListener();
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
}, [activeItemPath]);
|
|
1084
|
+
useUpdateEffect(function () {
|
|
1085
|
+
if (focusTrigger) {
|
|
1086
|
+
var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
|
|
1087
|
+
changeFocusedItemIndex(itemIndex);
|
|
1088
|
+
setActiveItemPath(activeItemPath.filter(function (p) {
|
|
1089
|
+
return p.parentKey !== focusedItemInfo.parentKey;
|
|
1090
|
+
}));
|
|
1091
|
+
setFocusTrigger(false);
|
|
1092
|
+
}
|
|
1093
|
+
}, [focusTrigger]);
|
|
1094
|
+
useUpdateEffect(function () {
|
|
1095
|
+
if (attributeSelectorState && containerRef.current) {
|
|
1096
|
+
containerRef.current.setAttribute(attributeSelectorState, '');
|
|
1097
|
+
createStyle();
|
|
1098
|
+
}
|
|
1099
|
+
return function () {
|
|
1100
|
+
destroyStyle();
|
|
1101
|
+
};
|
|
1102
|
+
}, [attributeSelectorState, props.breakpoint]);
|
|
1103
|
+
useUnmountEffect(function () {
|
|
1104
|
+
ZIndexUtils.clear(containerRef.current);
|
|
1105
|
+
});
|
|
1106
|
+
React.useImperativeHandle(ref, function () {
|
|
1107
|
+
return {
|
|
1108
|
+
props: props,
|
|
1109
|
+
toggle: toggle,
|
|
1110
|
+
show: show,
|
|
1111
|
+
hide: hide,
|
|
1112
|
+
getElement: function getElement() {
|
|
1113
|
+
return containerRef.current;
|
|
1114
|
+
}
|
|
1115
|
+
};
|
|
1116
|
+
});
|
|
1117
|
+
var createElement = function createElement() {
|
|
1118
|
+
var rootProps = mergeProps({
|
|
1119
|
+
ref: containerRef,
|
|
1120
|
+
id: props.id,
|
|
1121
|
+
className: cx('root'),
|
|
1122
|
+
style: props.style,
|
|
1123
|
+
onClick: onPanelClick
|
|
1124
|
+
}, TieredMenuBase.getOtherProps(props), ptm('root'));
|
|
1125
|
+
var transitionProps = mergeProps({
|
|
1126
|
+
classNames: cx('transition'),
|
|
1127
|
+
"in": visibleState,
|
|
1128
|
+
timeout: {
|
|
1129
|
+
enter: 120,
|
|
1130
|
+
exit: 100
|
|
1131
|
+
},
|
|
1132
|
+
options: props.transitionOptions,
|
|
1133
|
+
unmountOnExit: true,
|
|
1134
|
+
onEnter: onEnter,
|
|
1135
|
+
onEntered: onEntered,
|
|
1136
|
+
onExit: onExit,
|
|
1137
|
+
onExited: onExited
|
|
1138
|
+
}, ptm('transition'));
|
|
1139
|
+
return /*#__PURE__*/React.createElement(CSSTransition, _extends({
|
|
1140
|
+
nodeRef: containerRef
|
|
1141
|
+
}, transitionProps), /*#__PURE__*/React.createElement("div", rootProps, /*#__PURE__*/React.createElement(TieredMenuSub, {
|
|
1142
|
+
id: idState + '_list',
|
|
1143
|
+
ref: menuRef,
|
|
1144
|
+
hostName: "TieredMenu",
|
|
1145
|
+
menuProps: props,
|
|
1146
|
+
tabIndex: 0,
|
|
1147
|
+
model: processedItems,
|
|
1148
|
+
ariaLabel: props.ariaLabel,
|
|
1149
|
+
ariaLabelledBy: props.ariaLabelledBy,
|
|
1150
|
+
ariaOrientation: "vertical",
|
|
1151
|
+
ariaActiveDescendant: focused ? focusedItemId : undefined,
|
|
1152
|
+
menuId: idState,
|
|
1153
|
+
level: 0,
|
|
1154
|
+
focusedItemId: focusedItemId,
|
|
1155
|
+
activeItemPath: activeItemPath,
|
|
1156
|
+
onFocus: onFocus,
|
|
1157
|
+
onBlur: onBlur,
|
|
1158
|
+
onKeyDown: onKeyDown,
|
|
1159
|
+
onItemClick: onItemClick,
|
|
1160
|
+
onItemMouseEnter: onItemMouseEnter,
|
|
1161
|
+
root: true,
|
|
1162
|
+
popup: props.popup,
|
|
1163
|
+
onHide: hide,
|
|
1164
|
+
isMobileMode: isMobileMode,
|
|
1165
|
+
submenuIcon: props.submenuIcon,
|
|
1166
|
+
ptm: ptm,
|
|
1167
|
+
cx: cx,
|
|
1168
|
+
sx: sx
|
|
1169
|
+
})));
|
|
1170
|
+
};
|
|
1171
|
+
var element = createElement();
|
|
1172
|
+
return props.popup ? /*#__PURE__*/React.createElement(Portal, {
|
|
1173
|
+
element: element,
|
|
1174
|
+
appendTo: props.appendTo
|
|
1175
|
+
}) : element;
|
|
1176
|
+
}));
|
|
1177
|
+
TieredMenu.displayName = 'TieredMenu';
|
|
1178
|
+
|
|
125
1179
|
var classes = {
|
|
126
1180
|
icon: 'p-button-icon p-c',
|
|
127
1181
|
root: function root(_ref) {
|
|
@@ -159,6 +1213,8 @@ var SplitButtonBase = ComponentBase.extend({
|
|
|
159
1213
|
id: null,
|
|
160
1214
|
label: null,
|
|
161
1215
|
icon: null,
|
|
1216
|
+
autoZIndex: false,
|
|
1217
|
+
baseZIndex: 0,
|
|
162
1218
|
loading: false,
|
|
163
1219
|
loadingIcon: null,
|
|
164
1220
|
model: null,
|
|
@@ -195,243 +1251,6 @@ var SplitButtonBase = ComponentBase.extend({
|
|
|
195
1251
|
}
|
|
196
1252
|
});
|
|
197
1253
|
|
|
198
|
-
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
199
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
200
|
-
var SplitButtonItem = /*#__PURE__*/React.memo(function (props) {
|
|
201
|
-
var ptm = props.ptm,
|
|
202
|
-
cx = props.cx;
|
|
203
|
-
var getPTOptions = function getPTOptions(key, options) {
|
|
204
|
-
return ptm(key, _objectSpread$2({
|
|
205
|
-
hostName: props.hostName
|
|
206
|
-
}, options));
|
|
207
|
-
};
|
|
208
|
-
var onClick = function onClick(e) {
|
|
209
|
-
if (props.menuitem.command) {
|
|
210
|
-
props.menuitem.command({
|
|
211
|
-
originalEvent: e,
|
|
212
|
-
item: props.menuitem
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
if (props.onItemClick) {
|
|
216
|
-
props.onItemClick(e);
|
|
217
|
-
}
|
|
218
|
-
e.preventDefault();
|
|
219
|
-
};
|
|
220
|
-
var createSeparator = function createSeparator() {
|
|
221
|
-
var separatorProps = mergeProps({
|
|
222
|
-
className: cx('separator'),
|
|
223
|
-
role: 'separator'
|
|
224
|
-
}, getPTOptions('separator'));
|
|
225
|
-
return /*#__PURE__*/React.createElement("li", separatorProps);
|
|
226
|
-
};
|
|
227
|
-
var createMenuitem = function createMenuitem() {
|
|
228
|
-
if (props.menuitem.visible === false) {
|
|
229
|
-
return null;
|
|
230
|
-
}
|
|
231
|
-
var _props$menuitem = props.menuitem,
|
|
232
|
-
disabled = _props$menuitem.disabled,
|
|
233
|
-
_icon = _props$menuitem.icon,
|
|
234
|
-
_label = _props$menuitem.label,
|
|
235
|
-
template = _props$menuitem.template,
|
|
236
|
-
url = _props$menuitem.url,
|
|
237
|
-
target = _props$menuitem.target,
|
|
238
|
-
_className = _props$menuitem.className;
|
|
239
|
-
var className = classNames('p-menuitem-link', _className, {
|
|
240
|
-
'p-disabled': disabled
|
|
241
|
-
});
|
|
242
|
-
var iconClassName = classNames('p-menuitem-icon', _icon);
|
|
243
|
-
var menuIconProps = mergeProps({
|
|
244
|
-
className: cx('menuIcon')
|
|
245
|
-
}, getPTOptions('menuIcon'));
|
|
246
|
-
var icon = IconUtils.getJSXIcon(_icon, _objectSpread$2({}, menuIconProps), {
|
|
247
|
-
props: props.splitButtonProps
|
|
248
|
-
});
|
|
249
|
-
var menuLabelProps = mergeProps({
|
|
250
|
-
className: cx('menuLabel')
|
|
251
|
-
}, getPTOptions('menuLabel'));
|
|
252
|
-
var label = _label && /*#__PURE__*/React.createElement("span", menuLabelProps, _label);
|
|
253
|
-
var anchorProps = mergeProps({
|
|
254
|
-
href: url || '#',
|
|
255
|
-
role: 'menuitem',
|
|
256
|
-
className: cx('anchor'),
|
|
257
|
-
target: target,
|
|
258
|
-
onClick: onClick,
|
|
259
|
-
'aria-label': _label
|
|
260
|
-
}, getPTOptions('anchor'));
|
|
261
|
-
var content = /*#__PURE__*/React.createElement("a", anchorProps, icon, label);
|
|
262
|
-
if (template) {
|
|
263
|
-
var defaultContentOptions = {
|
|
264
|
-
onClick: onClick,
|
|
265
|
-
className: className,
|
|
266
|
-
labelClassName: 'p-menuitem-text',
|
|
267
|
-
iconClassName: iconClassName,
|
|
268
|
-
element: content,
|
|
269
|
-
props: props
|
|
270
|
-
};
|
|
271
|
-
content = ObjectUtils.getJSXElement(template, props.menuitem, defaultContentOptions);
|
|
272
|
-
}
|
|
273
|
-
var menuItemProps = mergeProps({
|
|
274
|
-
className: cx('menuItem'),
|
|
275
|
-
role: 'none'
|
|
276
|
-
}, getPTOptions('menuItem'));
|
|
277
|
-
return /*#__PURE__*/React.createElement("li", menuItemProps, content);
|
|
278
|
-
};
|
|
279
|
-
var createItem = function createItem() {
|
|
280
|
-
return props.menuitem.separator ? createSeparator() : createMenuitem();
|
|
281
|
-
};
|
|
282
|
-
var item = createItem();
|
|
283
|
-
return item;
|
|
284
|
-
});
|
|
285
|
-
SplitButtonItem.displayName = 'SplitButtonItem';
|
|
286
|
-
|
|
287
|
-
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
288
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
289
|
-
var SplitButtonPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
290
|
-
var ptm = props.ptm,
|
|
291
|
-
cx = props.cx;
|
|
292
|
-
var getPTOptions = function getPTOptions(key, options) {
|
|
293
|
-
return ptm(key, _objectSpread$1({
|
|
294
|
-
hostName: props.hostName
|
|
295
|
-
}, options));
|
|
296
|
-
};
|
|
297
|
-
var createElement = function createElement() {
|
|
298
|
-
var menuProps = mergeProps({
|
|
299
|
-
ref: ref,
|
|
300
|
-
className: cx('menu', {
|
|
301
|
-
subProps: props
|
|
302
|
-
}),
|
|
303
|
-
style: props.menuStyle,
|
|
304
|
-
onClick: props.onClick
|
|
305
|
-
}, getPTOptions('menu'));
|
|
306
|
-
var menuListProps = mergeProps({
|
|
307
|
-
id: props.menuId,
|
|
308
|
-
className: cx('menuList'),
|
|
309
|
-
role: 'menu'
|
|
310
|
-
}, getPTOptions('menuList'));
|
|
311
|
-
var transitionProps = mergeProps({
|
|
312
|
-
classNames: cx('transition'),
|
|
313
|
-
"in": props["in"],
|
|
314
|
-
timeout: {
|
|
315
|
-
enter: 120,
|
|
316
|
-
exit: 100
|
|
317
|
-
},
|
|
318
|
-
options: props.transitionOptions,
|
|
319
|
-
unmountOnExit: true,
|
|
320
|
-
onEnter: props.onEnter,
|
|
321
|
-
onEntered: props.onEntered,
|
|
322
|
-
onExit: props.onExit,
|
|
323
|
-
onExited: props.onExited
|
|
324
|
-
}, getPTOptions('transition'));
|
|
325
|
-
return /*#__PURE__*/React.createElement(CSSTransition, _extends({
|
|
326
|
-
nodeRef: ref
|
|
327
|
-
}, transitionProps), /*#__PURE__*/React.createElement("div", menuProps, /*#__PURE__*/React.createElement("ul", menuListProps, props.children)));
|
|
328
|
-
};
|
|
329
|
-
var element = createElement();
|
|
330
|
-
return /*#__PURE__*/React.createElement(Portal, {
|
|
331
|
-
element: element,
|
|
332
|
-
appendTo: props.appendTo
|
|
333
|
-
});
|
|
334
|
-
});
|
|
335
|
-
SplitButtonPanel.displayName = 'SplitButtonPanel';
|
|
336
|
-
|
|
337
|
-
var usePrevious = function usePrevious(newValue) {
|
|
338
|
-
var ref = React.useRef(undefined);
|
|
339
|
-
React.useEffect(function () {
|
|
340
|
-
ref.current = newValue;
|
|
341
|
-
});
|
|
342
|
-
return ref.current;
|
|
343
|
-
};
|
|
344
|
-
|
|
345
|
-
/* eslint-disable */
|
|
346
|
-
var useUnmountEffect = function useUnmountEffect(fn) {
|
|
347
|
-
return React.useEffect(function () {
|
|
348
|
-
return fn;
|
|
349
|
-
}, []);
|
|
350
|
-
};
|
|
351
|
-
/* eslint-enable */
|
|
352
|
-
|
|
353
|
-
/* eslint-disable */
|
|
354
|
-
var useEventListener = function useEventListener(_ref) {
|
|
355
|
-
var _ref$target = _ref.target,
|
|
356
|
-
target = _ref$target === void 0 ? 'document' : _ref$target,
|
|
357
|
-
type = _ref.type,
|
|
358
|
-
listener = _ref.listener,
|
|
359
|
-
options = _ref.options,
|
|
360
|
-
_ref$when = _ref.when,
|
|
361
|
-
when = _ref$when === void 0 ? true : _ref$when;
|
|
362
|
-
var targetRef = React.useRef(null);
|
|
363
|
-
var listenerRef = React.useRef(null);
|
|
364
|
-
var prevOptions = usePrevious(options);
|
|
365
|
-
var bind = function bind() {
|
|
366
|
-
var bindOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
367
|
-
if (ObjectUtils.isNotEmpty(bindOptions.target)) {
|
|
368
|
-
unbind();
|
|
369
|
-
(bindOptions.when || when) && (targetRef.current = DomHandler.getTargetElement(bindOptions.target));
|
|
370
|
-
}
|
|
371
|
-
if (!listenerRef.current && targetRef.current) {
|
|
372
|
-
listenerRef.current = function (event) {
|
|
373
|
-
return listener && listener(event);
|
|
374
|
-
};
|
|
375
|
-
targetRef.current.addEventListener(type, listenerRef.current, options);
|
|
376
|
-
}
|
|
377
|
-
};
|
|
378
|
-
var unbind = function unbind() {
|
|
379
|
-
if (listenerRef.current) {
|
|
380
|
-
targetRef.current.removeEventListener(type, listenerRef.current, options);
|
|
381
|
-
listenerRef.current = null;
|
|
382
|
-
}
|
|
383
|
-
};
|
|
384
|
-
React.useEffect(function () {
|
|
385
|
-
if (when) {
|
|
386
|
-
targetRef.current = DomHandler.getTargetElement(target);
|
|
387
|
-
} else {
|
|
388
|
-
unbind();
|
|
389
|
-
targetRef.current = null;
|
|
390
|
-
}
|
|
391
|
-
}, [target, when]);
|
|
392
|
-
React.useEffect(function () {
|
|
393
|
-
if (listenerRef.current && (listenerRef.current !== listener || prevOptions !== options)) {
|
|
394
|
-
unbind();
|
|
395
|
-
when && bind();
|
|
396
|
-
}
|
|
397
|
-
}, [listener, options]);
|
|
398
|
-
useUnmountEffect(function () {
|
|
399
|
-
unbind();
|
|
400
|
-
});
|
|
401
|
-
return [bind, unbind];
|
|
402
|
-
};
|
|
403
|
-
/* eslint-enable */
|
|
404
|
-
|
|
405
|
-
var useOnEscapeKey = function useOnEscapeKey(ref, condition, callback) {
|
|
406
|
-
var handleEsc = function handleEsc(event) {
|
|
407
|
-
if (event.key === 'Esc' || event.key === 'Escape') {
|
|
408
|
-
event.stopImmediatePropagation();
|
|
409
|
-
callback(event);
|
|
410
|
-
}
|
|
411
|
-
return;
|
|
412
|
-
};
|
|
413
|
-
var _useEventListener = useEventListener({
|
|
414
|
-
type: 'keydown',
|
|
415
|
-
listener: handleEsc
|
|
416
|
-
}),
|
|
417
|
-
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
418
|
-
bindKeyDownListener = _useEventListener2[0],
|
|
419
|
-
unbindKeyDownListener = _useEventListener2[1];
|
|
420
|
-
React.useEffect(function () {
|
|
421
|
-
if (!condition) {
|
|
422
|
-
return;
|
|
423
|
-
}
|
|
424
|
-
if (!ref.current) {
|
|
425
|
-
return;
|
|
426
|
-
}
|
|
427
|
-
bindKeyDownListener();
|
|
428
|
-
return function () {
|
|
429
|
-
unbindKeyDownListener();
|
|
430
|
-
};
|
|
431
|
-
});
|
|
432
|
-
return [ref, callback];
|
|
433
|
-
};
|
|
434
|
-
|
|
435
1254
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
436
1255
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
437
1256
|
var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
@@ -446,8 +1265,10 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
446
1265
|
overlayVisibleState = _React$useState4[0],
|
|
447
1266
|
setOverlayVisibleState = _React$useState4[1];
|
|
448
1267
|
var elementRef = React.useRef(null);
|
|
1268
|
+
var menuRef = React.useRef(null);
|
|
449
1269
|
var defaultButtonRef = React.useRef(null);
|
|
450
1270
|
var overlayRef = React.useRef(null);
|
|
1271
|
+
var overlayDisplayOrder = useDisplayOrder('split-button-tooltip', overlayVisibleState);
|
|
451
1272
|
var metaData = {
|
|
452
1273
|
props: props,
|
|
453
1274
|
state: {
|
|
@@ -462,57 +1283,41 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
462
1283
|
useHandleStyle(SplitButtonBase.css.styles, isUnstyled, {
|
|
463
1284
|
name: 'splitbutton'
|
|
464
1285
|
});
|
|
465
|
-
|
|
466
|
-
|
|
1286
|
+
useGlobalOnEscapeKey({
|
|
1287
|
+
callback: function callback() {
|
|
1288
|
+
hide();
|
|
1289
|
+
},
|
|
1290
|
+
when: overlayVisibleState,
|
|
1291
|
+
priority: [ESC_KEY_HANDLING_PRIORITIES.SPLIT_BUTTON, overlayDisplayOrder]
|
|
467
1292
|
});
|
|
468
|
-
var _useOverlayListener = useOverlayListener({
|
|
469
|
-
target: elementRef,
|
|
470
|
-
overlay: overlayRef,
|
|
471
|
-
listener: function listener(event, _ref) {
|
|
472
|
-
var valid = _ref.valid;
|
|
473
|
-
valid && hide();
|
|
474
|
-
},
|
|
475
|
-
when: overlayVisibleState
|
|
476
|
-
}),
|
|
477
|
-
_useOverlayListener2 = _slicedToArray(_useOverlayListener, 2),
|
|
478
|
-
bindOverlayListener = _useOverlayListener2[0],
|
|
479
|
-
unbindOverlayListener = _useOverlayListener2[1];
|
|
480
1293
|
var onPanelClick = function onPanelClick(event) {
|
|
481
1294
|
OverlayService.emit('overlay-click', {
|
|
482
1295
|
originalEvent: event,
|
|
483
1296
|
target: elementRef.current
|
|
484
1297
|
});
|
|
485
1298
|
};
|
|
486
|
-
var
|
|
487
|
-
|
|
1299
|
+
var onMenuButtonKeyDown = function onMenuButtonKeyDown(event) {
|
|
1300
|
+
if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {
|
|
1301
|
+
onDropdownButtonClick(event);
|
|
1302
|
+
event.preventDefault();
|
|
1303
|
+
}
|
|
488
1304
|
};
|
|
489
|
-
var
|
|
490
|
-
hide();
|
|
1305
|
+
var onDropdownButtonClick = function onDropdownButtonClick(event) {
|
|
1306
|
+
overlayVisibleState ? hide(event) : show(event);
|
|
491
1307
|
};
|
|
492
|
-
var show = function show() {
|
|
1308
|
+
var show = function show(event) {
|
|
493
1309
|
setOverlayVisibleState(true);
|
|
1310
|
+
menuRef.current && menuRef.current.show(event);
|
|
494
1311
|
};
|
|
495
|
-
var hide = function hide() {
|
|
1312
|
+
var hide = function hide(event) {
|
|
496
1313
|
setOverlayVisibleState(false);
|
|
1314
|
+
menuRef.current && menuRef.current.hide(event);
|
|
497
1315
|
};
|
|
498
|
-
var
|
|
499
|
-
ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, context && context.zIndex['overlay'] || PrimeReact.zIndex['overlay']);
|
|
500
|
-
DomHandler.addStyles(overlayRef.current, {
|
|
501
|
-
position: 'absolute',
|
|
502
|
-
top: '0',
|
|
503
|
-
left: '0'
|
|
504
|
-
});
|
|
505
|
-
alignOverlay();
|
|
506
|
-
};
|
|
507
|
-
var onOverlayEntered = function onOverlayEntered() {
|
|
508
|
-
bindOverlayListener();
|
|
1316
|
+
var onMenuShow = function onMenuShow() {
|
|
509
1317
|
props.onShow && props.onShow();
|
|
510
1318
|
};
|
|
511
|
-
var
|
|
512
|
-
|
|
513
|
-
};
|
|
514
|
-
var onOverlayExited = function onOverlayExited() {
|
|
515
|
-
ZIndexUtils.clear(overlayRef.current);
|
|
1319
|
+
var onMenuHide = function onMenuHide() {
|
|
1320
|
+
setOverlayVisibleState(false);
|
|
516
1321
|
props.onHide && props.onHide();
|
|
517
1322
|
};
|
|
518
1323
|
var alignOverlay = function alignOverlay() {
|
|
@@ -524,7 +1329,7 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
524
1329
|
}
|
|
525
1330
|
alignOverlay();
|
|
526
1331
|
});
|
|
527
|
-
useUnmountEffect
|
|
1332
|
+
useUnmountEffect(function () {
|
|
528
1333
|
ZIndexUtils.clear(overlayRef.current);
|
|
529
1334
|
});
|
|
530
1335
|
React.useImperativeHandle(ref, function () {
|
|
@@ -537,22 +1342,6 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
537
1342
|
}
|
|
538
1343
|
};
|
|
539
1344
|
});
|
|
540
|
-
var createItems = function createItems() {
|
|
541
|
-
if (props.model) {
|
|
542
|
-
return props.model.map(function (menuitem, index) {
|
|
543
|
-
return /*#__PURE__*/React.createElement(SplitButtonItem, {
|
|
544
|
-
hostName: "SplitButton",
|
|
545
|
-
splitButtonProps: props,
|
|
546
|
-
menuitem: menuitem,
|
|
547
|
-
key: index,
|
|
548
|
-
onItemClick: onItemClick,
|
|
549
|
-
ptm: ptm,
|
|
550
|
-
cx: cx
|
|
551
|
-
});
|
|
552
|
-
});
|
|
553
|
-
}
|
|
554
|
-
return null;
|
|
555
|
-
};
|
|
556
1345
|
if (props.visible === false) {
|
|
557
1346
|
return null;
|
|
558
1347
|
}
|
|
@@ -563,8 +1352,7 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
563
1352
|
};
|
|
564
1353
|
var size = sizeMapping[props.size];
|
|
565
1354
|
var buttonContent = props.buttonTemplate ? ObjectUtils.getJSXElement(props.buttonTemplate, props) : null;
|
|
566
|
-
var
|
|
567
|
-
var menuId = idState + '_menu';
|
|
1355
|
+
var menuId = idState + '_overlay';
|
|
568
1356
|
var dropdownIcon = function dropdownIcon() {
|
|
569
1357
|
var iconProps = mergeProps({
|
|
570
1358
|
className: cx('icon')
|
|
@@ -592,6 +1380,7 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
592
1380
|
loadingIcon: props.loadingIcon,
|
|
593
1381
|
severity: props.severity,
|
|
594
1382
|
label: props.label,
|
|
1383
|
+
"aria-label": props.label,
|
|
595
1384
|
raised: props.raised,
|
|
596
1385
|
onClick: props.onClick,
|
|
597
1386
|
disabled: props.disabled,
|
|
@@ -613,7 +1402,7 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
613
1402
|
disabled: props.disabled,
|
|
614
1403
|
"aria-expanded": overlayVisibleState,
|
|
615
1404
|
"aria-haspopup": "true",
|
|
616
|
-
"aria-controls":
|
|
1405
|
+
"aria-controls": menuId
|
|
617
1406
|
}, props.menuButtonProps, {
|
|
618
1407
|
size: props.size,
|
|
619
1408
|
severity: props.severity,
|
|
@@ -624,24 +1413,24 @@ var SplitButton = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
|
|
|
624
1413
|
__parentMetadata: {
|
|
625
1414
|
parent: metaData
|
|
626
1415
|
},
|
|
1416
|
+
onKeyDown: onMenuButtonKeyDown,
|
|
627
1417
|
unstyled: props.unstyled
|
|
628
|
-
})), /*#__PURE__*/React.createElement(
|
|
629
|
-
|
|
630
|
-
|
|
1418
|
+
})), /*#__PURE__*/React.createElement(TieredMenu, {
|
|
1419
|
+
ref: menuRef,
|
|
1420
|
+
popup: true,
|
|
1421
|
+
unstyled: props.unstyled,
|
|
1422
|
+
model: props.model,
|
|
631
1423
|
appendTo: props.appendTo,
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
1424
|
+
id: menuId,
|
|
1425
|
+
style: props.menuStyle,
|
|
1426
|
+
autoZIndex: props.autoZIndex,
|
|
1427
|
+
baseZIndex: props.baseZIndex,
|
|
1428
|
+
className: props.menuClassName,
|
|
635
1429
|
onClick: onPanelClick,
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
onExited: onOverlayExited,
|
|
641
|
-
transitionOptions: props.transitionOptions,
|
|
642
|
-
ptm: ptm,
|
|
643
|
-
cx: cx
|
|
644
|
-
}, items)), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
1430
|
+
onShow: onMenuShow,
|
|
1431
|
+
onHide: onMenuHide,
|
|
1432
|
+
pt: ptm('menu')
|
|
1433
|
+
})), hasTooltip && /*#__PURE__*/React.createElement(Tooltip, _extends({
|
|
645
1434
|
target: elementRef,
|
|
646
1435
|
content: props.tooltip
|
|
647
1436
|
}, props.tooltipOptions, {
|