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