primeng 16.0.2 → 16.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.d.ts +47 -11
- package/api/primengconfig.d.ts +1 -1
- package/api/translation.d.ts +78 -0
- package/api/treenode.d.ts +1 -1
- package/avatar/avatar.d.ts +11 -1
- package/breadcrumb/breadcrumb.d.ts +5 -1
- package/button/button.d.ts +4 -1
- package/carousel/carousel.d.ts +17 -1
- package/chip/chip.d.ts +1 -0
- package/confirmdialog/confirmdialog.d.ts +7 -1
- package/contextmenu/contextmenu.d.ts +160 -68
- package/dialog/dialog.d.ts +1 -0
- package/dock/dock.d.ts +47 -2
- package/dom/domhandler.d.ts +1 -0
- package/dynamicdialog/dynamicdialog-config.d.ts +4 -0
- package/dynamicdialog/dynamicdialog.d.ts +2 -0
- package/esm2022/accordion/accordion.mjs +216 -54
- package/esm2022/animate/animate.mjs +7 -7
- package/esm2022/api/confirmationservice.mjs +3 -3
- package/esm2022/api/contextmenuservice.mjs +3 -3
- package/esm2022/api/filterservice.mjs +3 -3
- package/esm2022/api/messageservice.mjs +3 -3
- package/esm2022/api/overlayservice.mjs +3 -3
- package/esm2022/api/primengconfig.mjs +78 -5
- package/esm2022/api/shared.mjs +13 -13
- package/esm2022/api/translation.mjs +1 -1
- package/esm2022/api/treedragdropservice.mjs +3 -3
- package/esm2022/api/treenode.mjs +1 -1
- package/esm2022/autocomplete/autocomplete.mjs +10 -10
- package/esm2022/autofocus/autofocus.mjs +7 -7
- package/esm2022/avatar/avatar.mjs +24 -10
- package/esm2022/avatargroup/avatargroup.mjs +7 -7
- package/esm2022/badge/badge.mjs +10 -10
- package/esm2022/baseicon/baseicon.mjs +3 -3
- package/esm2022/blockui/blockui.mjs +26 -10
- package/esm2022/breadcrumb/breadcrumb.mjs +56 -39
- package/esm2022/button/button.mjs +47 -31
- package/esm2022/calendar/calendar.mjs +7 -7
- package/esm2022/card/card.mjs +10 -10
- package/esm2022/carousel/carousel.mjs +153 -27
- package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
- package/esm2022/chart/chart.mjs +7 -7
- package/esm2022/checkbox/checkbox.mjs +7 -7
- package/esm2022/chip/chip.mjs +25 -20
- package/esm2022/chips/chips.mjs +7 -7
- package/esm2022/colorpicker/colorpicker.mjs +7 -7
- package/esm2022/confirmdialog/confirmdialog.mjs +28 -12
- package/esm2022/confirmpopup/confirmpopup.mjs +10 -8
- package/esm2022/contextmenu/contextmenu.mjs +1002 -552
- package/esm2022/dataview/dataview.mjs +10 -10
- package/esm2022/defer/defer.mjs +7 -7
- package/esm2022/dialog/dialog.mjs +21 -16
- package/esm2022/divider/divider.mjs +10 -10
- package/esm2022/dock/dock.mjs +290 -92
- package/esm2022/dom/domhandler.mjs +19 -7
- package/esm2022/dragdrop/dragdrop.mjs +10 -10
- package/esm2022/dropdown/dropdown.mjs +10 -10
- package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
- package/esm2022/dynamicdialog/dynamicdialog-config.mjs +5 -1
- package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +4 -1
- package/esm2022/dynamicdialog/dynamicdialog.mjs +23 -13
- package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
- package/esm2022/editor/editor.mjs +7 -7
- package/esm2022/fieldset/fieldset.mjs +66 -39
- package/esm2022/fileupload/fileupload.mjs +56 -48
- package/esm2022/focustrap/focustrap.mjs +7 -7
- package/esm2022/galleria/galleria.mjs +257 -48
- package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
- package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
- package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
- package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
- package/esm2022/icons/angledown/angledown.mjs +3 -3
- package/esm2022/icons/angleleft/angleleft.mjs +3 -3
- package/esm2022/icons/angleright/angleright.mjs +3 -3
- package/esm2022/icons/angleup/angleup.mjs +3 -3
- package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
- package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
- package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
- package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
- package/esm2022/icons/arrowright/arrowright.mjs +3 -3
- package/esm2022/icons/arrowup/arrowup.mjs +3 -3
- package/esm2022/icons/ban/ban.mjs +3 -3
- package/esm2022/icons/bars/bars.mjs +3 -3
- package/esm2022/icons/calendar/calendar.mjs +3 -3
- package/esm2022/icons/caretleft/caretleft.mjs +3 -3
- package/esm2022/icons/caretright/caretright.mjs +3 -3
- package/esm2022/icons/check/check.mjs +3 -3
- package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
- package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
- package/esm2022/icons/chevronright/chevronright.mjs +3 -3
- package/esm2022/icons/chevronup/chevronup.mjs +3 -3
- package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
- package/esm2022/icons/eye/eye.mjs +3 -3
- package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
- package/esm2022/icons/filter/filter.mjs +3 -3
- package/esm2022/icons/filterslash/filterslash.mjs +3 -3
- package/esm2022/icons/home/home.mjs +3 -3
- package/esm2022/icons/infocircle/infocircle.mjs +3 -3
- package/esm2022/icons/minus/minus.mjs +3 -3
- package/esm2022/icons/pencil/pencil.mjs +3 -3
- package/esm2022/icons/plus/plus.mjs +3 -3
- package/esm2022/icons/refresh/refresh.mjs +3 -3
- package/esm2022/icons/search/search.mjs +3 -3
- package/esm2022/icons/searchminus/searchminus.mjs +3 -3
- package/esm2022/icons/searchplus/searchplus.mjs +3 -3
- package/esm2022/icons/sortalt/sortalt.mjs +3 -3
- package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
- package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
- package/esm2022/icons/spinner/spinner.mjs +3 -3
- package/esm2022/icons/star/star.mjs +3 -3
- package/esm2022/icons/starfill/starfill.mjs +3 -3
- package/esm2022/icons/thlarge/thlarge.mjs +3 -3
- package/esm2022/icons/times/times.mjs +3 -3
- package/esm2022/icons/timescircle/timescircle.mjs +3 -3
- package/esm2022/icons/trash/trash.mjs +3 -3
- package/esm2022/icons/undo/undo.mjs +3 -3
- package/esm2022/icons/upload/upload.mjs +3 -3
- package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
- package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
- package/esm2022/image/image.mjs +76 -27
- package/esm2022/inplace/inplace.mjs +30 -23
- package/esm2022/inputmask/inputmask.mjs +7 -7
- package/esm2022/inputnumber/inputnumber.mjs +18 -8
- package/esm2022/inputswitch/inputswitch.mjs +7 -7
- package/esm2022/inputtext/inputtext.mjs +7 -7
- package/esm2022/inputtextarea/inputtextarea.mjs +7 -7
- package/esm2022/keyfilter/keyfilter.mjs +7 -7
- package/esm2022/knob/knob.mjs +7 -7
- package/esm2022/listbox/listbox.mjs +7 -7
- package/esm2022/megamenu/megamenu.mjs +1011 -353
- package/esm2022/menu/menu.mjs +414 -183
- package/esm2022/menubar/menubar.mjs +916 -294
- package/esm2022/message/message.mjs +7 -7
- package/esm2022/messages/messages.mjs +34 -34
- package/esm2022/multiselect/multiselect.mjs +12 -11
- package/esm2022/orderlist/orderlist.mjs +16 -22
- package/esm2022/organizationchart/organizationchart.mjs +15 -15
- package/esm2022/overlay/overlay.mjs +7 -7
- package/esm2022/overlaypanel/overlaypanel.mjs +12 -8
- package/esm2022/paginator/paginator.mjs +7 -7
- package/esm2022/panel/panel.mjs +51 -40
- package/esm2022/panelmenu/panelmenu.mjs +1007 -350
- package/esm2022/password/password.mjs +13 -13
- package/esm2022/picklist/picklist.mjs +7 -7
- package/esm2022/progressbar/progressbar.mjs +26 -22
- package/esm2022/progressspinner/progressspinner.mjs +12 -12
- package/esm2022/radiobutton/radiobutton.mjs +10 -10
- package/esm2022/rating/rating.mjs +7 -7
- package/esm2022/ripple/ripple.mjs +10 -8
- package/esm2022/scroller/scroller.mjs +7 -7
- package/esm2022/scrollpanel/scrollpanel.mjs +201 -29
- package/esm2022/scrolltop/scrolltop.mjs +17 -8
- package/esm2022/selectbutton/selectbutton.mjs +9 -9
- package/esm2022/sidebar/sidebar.mjs +51 -20
- package/esm2022/skeleton/skeleton.mjs +9 -9
- package/esm2022/slidemenu/slidemenu.mjs +1066 -372
- package/esm2022/slider/slider.mjs +7 -7
- package/esm2022/speeddial/speeddial.mjs +297 -21
- package/esm2022/spinner/spinner.mjs +7 -7
- package/esm2022/splitbutton/splitbutton.mjs +71 -16
- package/esm2022/splitter/splitter.mjs +166 -35
- package/esm2022/steps/steps.mjs +118 -28
- package/esm2022/styleclass/styleclass.mjs +7 -7
- package/esm2022/table/table.mjs +95 -89
- package/esm2022/tabmenu/tabmenu.mjs +208 -70
- package/esm2022/tabview/tabview.mjs +236 -53
- package/esm2022/tag/tag.mjs +7 -7
- package/esm2022/terminal/terminal.mjs +10 -10
- package/esm2022/terminal/terminalservice.mjs +3 -3
- package/esm2022/tieredmenu/tieredmenu.mjs +887 -400
- package/esm2022/timeline/timeline.mjs +9 -9
- package/esm2022/toast/toast.mjs +63 -35
- package/esm2022/togglebutton/togglebutton.mjs +9 -9
- package/esm2022/toolbar/toolbar.mjs +23 -16
- package/esm2022/tooltip/tooltip.mjs +14 -9
- package/esm2022/tree/tree.mjs +13 -13
- package/esm2022/treeselect/treeselect.mjs +7 -7
- package/esm2022/treetable/treetable.mjs +72 -72
- package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
- package/esm2022/utils/objectutils.mjs +31 -1
- package/esm2022/utils/uniquecomponentid.mjs +2 -3
- package/esm2022/virtualscroller/virtualscroller.mjs +7 -7
- package/fesm2022/primeng-accordion.mjs +215 -53
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animate.mjs +7 -7
- package/fesm2022/primeng-api.mjs +108 -35
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +9 -9
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +23 -9
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +7 -7
- package/fesm2022/primeng-badge.mjs +10 -10
- package/fesm2022/primeng-baseicon.mjs +3 -3
- package/fesm2022/primeng-blockui.mjs +25 -9
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +55 -38
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +46 -30
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs +7 -7
- package/fesm2022/primeng-card.mjs +9 -9
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +152 -26
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +10 -10
- package/fesm2022/primeng-chart.mjs +7 -7
- package/fesm2022/primeng-checkbox.mjs +7 -7
- package/fesm2022/primeng-chip.mjs +24 -19
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-chips.mjs +7 -7
- package/fesm2022/primeng-colorpicker.mjs +7 -7
- package/fesm2022/primeng-confirmdialog.mjs +27 -11
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +9 -7
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +1001 -551
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +10 -10
- package/fesm2022/primeng-defer.mjs +7 -7
- package/fesm2022/primeng-dialog.mjs +20 -15
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +9 -9
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +289 -91
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +18 -6
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-dropdown.mjs +10 -10
- package/fesm2022/primeng-dynamicdialog.mjs +35 -18
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +7 -7
- package/fesm2022/primeng-fieldset.mjs +64 -37
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +55 -47
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-galleria.mjs +256 -47
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-image.mjs +75 -26
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +29 -22
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +7 -7
- package/fesm2022/primeng-inputnumber.mjs +17 -7
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputswitch.mjs +7 -7
- package/fesm2022/primeng-inputtext.mjs +7 -7
- package/fesm2022/primeng-inputtextarea.mjs +7 -7
- package/fesm2022/primeng-keyfilter.mjs +7 -7
- package/fesm2022/primeng-knob.mjs +7 -7
- package/fesm2022/primeng-listbox.mjs +7 -7
- package/fesm2022/primeng-megamenu.mjs +1010 -353
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +413 -182
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +915 -293
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +7 -7
- package/fesm2022/primeng-messages.mjs +33 -33
- package/fesm2022/primeng-messages.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +11 -10
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +15 -21
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +14 -14
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +7 -7
- package/fesm2022/primeng-overlaypanel.mjs +11 -7
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +7 -7
- package/fesm2022/primeng-panel.mjs +51 -40
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +1006 -350
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +13 -13
- package/fesm2022/primeng-picklist.mjs +7 -7
- package/fesm2022/primeng-progressbar.mjs +25 -21
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +11 -11
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +10 -10
- package/fesm2022/primeng-rating.mjs +7 -7
- package/fesm2022/primeng-ripple.mjs +9 -7
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +7 -7
- package/fesm2022/primeng-scrollpanel.mjs +200 -28
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +16 -7
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +9 -9
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +50 -19
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +8 -8
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slidemenu.mjs +1065 -371
- package/fesm2022/primeng-slidemenu.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +7 -7
- package/fesm2022/primeng-speeddial.mjs +296 -20
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-spinner.mjs +7 -7
- package/fesm2022/primeng-splitbutton.mjs +70 -15
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +166 -35
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +117 -27
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +7 -7
- package/fesm2022/primeng-table.mjs +94 -88
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs +207 -69
- package/fesm2022/primeng-tabmenu.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +235 -52
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +7 -7
- package/fesm2022/primeng-terminal.mjs +12 -12
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +886 -399
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +9 -9
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +62 -34
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +9 -9
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +22 -15
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +13 -8
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +12 -12
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +7 -7
- package/fesm2022/primeng-treetable.mjs +71 -71
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
- package/fesm2022/primeng-utils.mjs +31 -2
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fesm2022/primeng-virtualscroller.mjs +7 -7
- package/fieldset/fieldset.d.ts +6 -5
- package/galleria/galleria.d.ts +24 -4
- package/image/image.d.ts +11 -1
- package/inplace/inplace.d.ts +6 -1
- package/megamenu/megamenu.d.ts +140 -16
- package/menu/menu.d.ts +64 -7
- package/menubar/menubar.d.ts +119 -23
- package/orderlist/orderlist.d.ts +2 -1
- package/package.json +98 -98
- package/panel/panel.d.ts +6 -5
- package/panelmenu/panelmenu.d.ts +136 -22
- package/resources/components/autocomplete/autocomplete.css +9 -8
- package/resources/components/breadcrumb/breadcrumb.css +9 -3
- package/resources/components/button/button.css +4 -0
- package/resources/components/common/common.css +1 -1
- package/resources/components/contextmenu/contextmenu.css +1 -7
- package/resources/components/dock/dock.css +1 -1
- package/resources/components/megamenu/megamenu.css +9 -10
- package/resources/components/menubar/menubar.css +4 -0
- package/resources/components/panelmenu/panelmenu.css +4 -2
- package/resources/components/slidemenu/slidemenu.css +40 -41
- package/resources/components/tabview/tabview.css +3 -2
- package/resources/primeng.css +4 -1
- package/resources/primeng.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +358 -396
- package/resources/themes/arya-green/theme.css +358 -396
- package/resources/themes/arya-orange/theme.css +358 -396
- package/resources/themes/arya-purple/theme.css +358 -396
- package/resources/themes/bootstrap4-dark-blue/theme.css +373 -422
- package/resources/themes/bootstrap4-dark-purple/theme.css +373 -422
- package/resources/themes/bootstrap4-light-blue/theme.css +385 -434
- package/resources/themes/bootstrap4-light-purple/theme.css +385 -434
- package/resources/themes/fluent-light/theme.css +368 -406
- package/resources/themes/lara-dark-blue/theme.css +360 -398
- package/resources/themes/lara-dark-indigo/theme.css +360 -398
- package/resources/themes/lara-dark-purple/theme.css +360 -398
- package/resources/themes/lara-dark-teal/theme.css +360 -398
- package/resources/themes/lara-light-blue/theme.css +386 -424
- package/resources/themes/lara-light-indigo/theme.css +386 -424
- package/resources/themes/lara-light-purple/theme.css +386 -424
- package/resources/themes/lara-light-teal/theme.css +386 -424
- package/resources/themes/luna-amber/theme.css +376 -414
- package/resources/themes/luna-blue/theme.css +376 -414
- package/resources/themes/luna-green/theme.css +376 -414
- package/resources/themes/luna-pink/theme.css +376 -414
- package/resources/themes/md-dark-deeppurple/theme.css +389 -409
- package/resources/themes/md-dark-indigo/theme.css +389 -409
- package/resources/themes/md-light-deeppurple/theme.css +389 -409
- package/resources/themes/md-light-indigo/theme.css +389 -409
- package/resources/themes/mdc-dark-deeppurple/theme.css +389 -409
- package/resources/themes/mdc-dark-indigo/theme.css +389 -409
- package/resources/themes/mdc-light-deeppurple/theme.css +389 -409
- package/resources/themes/mdc-light-indigo/theme.css +389 -409
- package/resources/themes/mira/theme.css +363 -401
- package/resources/themes/nano/theme.css +364 -402
- package/resources/themes/nova/theme.css +352 -390
- package/resources/themes/nova-accent/theme.css +352 -390
- package/resources/themes/nova-alt/theme.css +352 -390
- package/resources/themes/rhea/theme.css +352 -390
- package/resources/themes/saga-blue/theme.css +364 -402
- package/resources/themes/saga-green/theme.css +364 -402
- package/resources/themes/saga-orange/theme.css +364 -402
- package/resources/themes/saga-purple/theme.css +364 -402
- package/resources/themes/soho-dark/theme.css +378 -416
- package/resources/themes/soho-light/theme.css +386 -424
- package/resources/themes/tailwind-light/theme.css +377 -415
- package/resources/themes/vela-blue/theme.css +364 -402
- package/resources/themes/vela-green/theme.css +364 -402
- package/resources/themes/vela-orange/theme.css +364 -402
- package/resources/themes/vela-purple/theme.css +364 -402
- package/resources/themes/viva-dark/theme.css +358 -396
- package/resources/themes/viva-light/theme.css +364 -402
- package/scrollpanel/scrollpanel.d.ts +22 -4
- package/scrolltop/scrolltop.d.ts +6 -1
- package/sidebar/sidebar.d.ts +1 -0
- package/slidemenu/slidemenu.d.ts +192 -86
- package/speeddial/speeddial.d.ts +34 -1
- package/splitbutton/splitbutton.d.ts +5 -1
- package/splitter/splitter.d.ts +18 -5
- package/steps/steps.d.ts +20 -3
- package/table/table.d.ts +3 -1
- package/tabmenu/tabmenu.d.ts +27 -2
- package/tabview/tabview.d.ts +36 -5
- package/tieredmenu/tieredmenu.d.ts +137 -51
- package/toolbar/toolbar.d.ts +6 -1
- package/tooltip/tooltip.d.ts +1 -1
- package/utils/objectutils.d.ts +4 -0
- package/utils/uniquecomponentid.d.ts +1 -1
@@ -258,8 +258,8 @@ class Spinner {
|
|
258
258
|
updateFilledState() {
|
259
259
|
this.filled = this.value !== undefined && this.value != null;
|
260
260
|
}
|
261
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
262
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
261
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Spinner, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
262
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: Spinner, selector: "p-spinner", inputs: { min: "min", max: "max", maxlength: "maxlength", size: "size", placeholder: "placeholder", inputId: "inputId", disabled: "disabled", readonly: "readonly", tabindex: "tabindex", required: "required", name: "name", ariaLabelledBy: "ariaLabelledBy", inputStyle: "inputStyle", inputStyleClass: "inputStyleClass", formatInput: "formatInput", decimalSeparator: "decimalSeparator", thousandSeparator: "thousandSeparator", precision: "precision", step: "step" }, outputs: { onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class.ui-inputwrapper-filled": "filled", "class.ui-inputwrapper-focus": "focus" }, classAttribute: "p-element" }, providers: [SPINNER_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputfieldViewChild", first: true, predicate: ["inputfield"], descendants: true }], ngImport: i0, template: `
|
263
263
|
<span class="ui-spinner ui-widget ui-corner-all">
|
264
264
|
<input
|
265
265
|
#inputfield
|
@@ -314,7 +314,7 @@ class Spinner {
|
|
314
314
|
</span>
|
315
315
|
`, isInline: true, styles: [".ui-spinner{display:inline-block;overflow:visible;padding:0;position:relative;vertical-align:middle}.ui-spinner-input{vertical-align:middle;padding-right:1.5em}.ui-spinner-button{cursor:default;display:block;height:50%;margin:0;overflow:hidden;padding:0;position:absolute;right:0;text-align:center;vertical-align:middle;width:1.5em}.ui-spinner .ui-spinner-button-icon{position:absolute;top:50%;left:50%;margin-top:-.5em;margin-left:-.5em;width:1em}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-fluid .ui-spinner{width:100%}.ui-fluid .ui-spinner .ui-spinner-input{padding-right:2em;width:100%}.ui-fluid .ui-spinner .ui-spinner-button{width:1.5em}.ui-fluid .ui-spinner .ui-spinner-button .ui-spinner-button-icon{left:.7em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
316
316
|
}
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Spinner, decorators: [{
|
318
318
|
type: Component,
|
319
319
|
args: [{ selector: 'p-spinner', template: `
|
320
320
|
<span class="ui-spinner ui-widget ui-corner-all">
|
@@ -423,11 +423,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
423
423
|
type: Input
|
424
424
|
}] } });
|
425
425
|
class SpinnerModule {
|
426
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
427
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0
|
428
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0
|
426
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
427
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: SpinnerModule, declarations: [Spinner], imports: [CommonModule, InputTextModule], exports: [Spinner] });
|
428
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SpinnerModule, imports: [CommonModule, InputTextModule] });
|
429
429
|
}
|
430
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
430
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SpinnerModule, decorators: [{
|
431
431
|
type: NgModule,
|
432
432
|
args: [{
|
433
433
|
imports: [CommonModule, InputTextModule],
|
@@ -1,13 +1,14 @@
|
|
1
1
|
import * as i1 from '@angular/common';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import * as i0 from '@angular/core';
|
4
|
-
import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';
|
4
|
+
import { EventEmitter, signal, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';
|
5
5
|
import { PrimeTemplate } from 'primeng/api';
|
6
6
|
import * as i2 from 'primeng/button';
|
7
7
|
import { ButtonModule } from 'primeng/button';
|
8
8
|
import { ChevronDownIcon } from 'primeng/icons/chevrondown';
|
9
9
|
import * as i3 from 'primeng/tieredmenu';
|
10
10
|
import { TieredMenuModule } from 'primeng/tieredmenu';
|
11
|
+
import { UniqueComponentId } from 'primeng/utils';
|
11
12
|
|
12
13
|
/**
|
13
14
|
* SplitButton groups a set of commands in an overlay with a default command.
|
@@ -107,6 +108,11 @@ class SplitButton {
|
|
107
108
|
templates;
|
108
109
|
contentTemplate;
|
109
110
|
dropdownIconTemplate;
|
111
|
+
ariaId;
|
112
|
+
isExpanded = signal(false);
|
113
|
+
ngOnInit() {
|
114
|
+
this.ariaId = UniqueComponentId();
|
115
|
+
}
|
110
116
|
ngAfterContentInit() {
|
111
117
|
this.templates?.forEach((item) => {
|
112
118
|
switch (item.getType()) {
|
@@ -128,43 +134,92 @@ class SplitButton {
|
|
128
134
|
onDropdownButtonClick(event) {
|
129
135
|
this.onDropdownClick.emit(event);
|
130
136
|
this.menu?.toggle({ currentTarget: this.containerViewChild?.nativeElement, relativeAlign: this.appendTo == null });
|
137
|
+
this.isExpanded.set(this.menu.visible);
|
138
|
+
}
|
139
|
+
onDropdownButtonKeydown(event) {
|
140
|
+
if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {
|
141
|
+
this.onDropdownButtonClick();
|
142
|
+
event.preventDefault();
|
143
|
+
}
|
131
144
|
}
|
132
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
133
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
145
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SplitButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
146
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: SplitButton, selector: "p-splitButton", inputs: { model: "model", icon: "icon", iconPos: "iconPos", label: "label", style: "style", styleClass: "styleClass", menuStyle: "menuStyle", menuStyleClass: "menuStyleClass", disabled: "disabled", tabindex: "tabindex", appendTo: "appendTo", dir: "dir", expandAriaLabel: "expandAriaLabel", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onClick: "onClick", onDropdownClick: "onDropdownClick" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }, { propertyName: "buttonViewChild", first: true, predicate: ["defaultbtn"], descendants: true }, { propertyName: "menu", first: true, predicate: ["menu"], descendants: true }], ngImport: i0, template: `
|
134
147
|
<div #container [ngClass]="'p-splitbutton p-component'" [ngStyle]="style" [class]="styleClass">
|
135
148
|
<ng-container *ngIf="contentTemplate; else defaultButton">
|
136
|
-
<button class="p-splitbutton-defaultbutton" type="button" pButton [icon]="icon" [iconPos]="iconPos" (click)="onDefaultButtonClick($event)" [disabled]="disabled" [attr.tabindex]="tabindex">
|
149
|
+
<button class="p-splitbutton-defaultbutton" type="button" pButton [icon]="icon" [iconPos]="iconPos" (click)="onDefaultButtonClick($event)" [disabled]="disabled" [attr.tabindex]="tabindex" [attr.aria-label]="label">
|
137
150
|
<ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
|
138
151
|
</button>
|
139
152
|
</ng-container>
|
140
153
|
<ng-template #defaultButton>
|
141
154
|
<button #defaultbtn class="p-splitbutton-defaultbutton" type="button" pButton [icon]="icon" [iconPos]="iconPos" [label]="label" (click)="onDefaultButtonClick($event)" [disabled]="disabled" [attr.tabindex]="tabindex"></button>
|
142
155
|
</ng-template>
|
143
|
-
<button
|
156
|
+
<button
|
157
|
+
type="button"
|
158
|
+
pButton
|
159
|
+
class="p-splitbutton-menubutton p-button-icon-only"
|
160
|
+
(click)="onDropdownButtonClick($event)"
|
161
|
+
(keydown)="onDropdownButtonKeydown($event)"
|
162
|
+
[disabled]="disabled"
|
163
|
+
[attr.aria-label]="expandAriaLabel"
|
164
|
+
[attr.aria-aria-haspopup]="true"
|
165
|
+
[attr.aria-expanded]="isExpanded()"
|
166
|
+
[attr.aria-controls]="ariaId"
|
167
|
+
>
|
144
168
|
<ChevronDownIcon *ngIf="!dropdownIconTemplate" />
|
145
169
|
<ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
|
146
170
|
</button>
|
147
|
-
<p-tieredMenu
|
171
|
+
<p-tieredMenu
|
172
|
+
[id]="ariaId"
|
173
|
+
#menu
|
174
|
+
[popup]="true"
|
175
|
+
[model]="model"
|
176
|
+
[style]="menuStyle"
|
177
|
+
[styleClass]="menuStyleClass"
|
178
|
+
[appendTo]="appendTo"
|
179
|
+
[showTransitionOptions]="showTransitionOptions"
|
180
|
+
[hideTransitionOptions]="hideTransitionOptions"
|
181
|
+
></p-tieredMenu>
|
148
182
|
</div>
|
149
|
-
`, isInline: true, styles: [".p-splitbutton{display:inline-flex;position:relative}.p-splitbutton .p-splitbutton-defaultbutton,.p-splitbutton.p-button-rounded>.p-splitbutton-defaultbutton.p-button,.p-splitbutton.p-button-outlined>.p-splitbutton-defaultbutton.p-button{flex:1 1 auto;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}.p-splitbutton-menubutton,.p-splitbutton.p-button-rounded>.p-splitbutton-menubutton.p-button,.p-splitbutton.p-button-outlined>.p-splitbutton-menubutton.p-button{display:flex;align-items:center;justify-content:center;border-top-left-radius:0;border-bottom-left-radius:0}.p-splitbutton .p-menu{min-width:100%}.p-fluid .p-splitbutton{display:flex}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ButtonDirective; }), selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i0.forwardRef(function () { return i3.TieredMenu; }), selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i0.forwardRef(function () { return ChevronDownIcon; }), selector: "ChevronDownIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
183
|
+
`, isInline: true, styles: [".p-splitbutton{display:inline-flex;position:relative}.p-splitbutton .p-splitbutton-defaultbutton,.p-splitbutton.p-button-rounded>.p-splitbutton-defaultbutton.p-button,.p-splitbutton.p-button-outlined>.p-splitbutton-defaultbutton.p-button{flex:1 1 auto;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0 none}.p-splitbutton-menubutton,.p-splitbutton.p-button-rounded>.p-splitbutton-menubutton.p-button,.p-splitbutton.p-button-outlined>.p-splitbutton-menubutton.p-button{display:flex;align-items:center;justify-content:center;border-top-left-radius:0;border-bottom-left-radius:0}.p-splitbutton .p-menu{min-width:100%}.p-fluid .p-splitbutton{display:flex}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.ButtonDirective; }), selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i0.forwardRef(function () { return i3.TieredMenu; }), selector: "p-tieredMenu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i0.forwardRef(function () { return ChevronDownIcon; }), selector: "ChevronDownIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
150
184
|
}
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SplitButton, decorators: [{
|
152
186
|
type: Component,
|
153
187
|
args: [{ selector: 'p-splitButton', template: `
|
154
188
|
<div #container [ngClass]="'p-splitbutton p-component'" [ngStyle]="style" [class]="styleClass">
|
155
189
|
<ng-container *ngIf="contentTemplate; else defaultButton">
|
156
|
-
<button class="p-splitbutton-defaultbutton" type="button" pButton [icon]="icon" [iconPos]="iconPos" (click)="onDefaultButtonClick($event)" [disabled]="disabled" [attr.tabindex]="tabindex">
|
190
|
+
<button class="p-splitbutton-defaultbutton" type="button" pButton [icon]="icon" [iconPos]="iconPos" (click)="onDefaultButtonClick($event)" [disabled]="disabled" [attr.tabindex]="tabindex" [attr.aria-label]="label">
|
157
191
|
<ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
|
158
192
|
</button>
|
159
193
|
</ng-container>
|
160
194
|
<ng-template #defaultButton>
|
161
195
|
<button #defaultbtn class="p-splitbutton-defaultbutton" type="button" pButton [icon]="icon" [iconPos]="iconPos" [label]="label" (click)="onDefaultButtonClick($event)" [disabled]="disabled" [attr.tabindex]="tabindex"></button>
|
162
196
|
</ng-template>
|
163
|
-
<button
|
197
|
+
<button
|
198
|
+
type="button"
|
199
|
+
pButton
|
200
|
+
class="p-splitbutton-menubutton p-button-icon-only"
|
201
|
+
(click)="onDropdownButtonClick($event)"
|
202
|
+
(keydown)="onDropdownButtonKeydown($event)"
|
203
|
+
[disabled]="disabled"
|
204
|
+
[attr.aria-label]="expandAriaLabel"
|
205
|
+
[attr.aria-aria-haspopup]="true"
|
206
|
+
[attr.aria-expanded]="isExpanded()"
|
207
|
+
[attr.aria-controls]="ariaId"
|
208
|
+
>
|
164
209
|
<ChevronDownIcon *ngIf="!dropdownIconTemplate" />
|
165
210
|
<ng-template *ngTemplateOutlet="dropdownIconTemplate"></ng-template>
|
166
211
|
</button>
|
167
|
-
<p-tieredMenu
|
212
|
+
<p-tieredMenu
|
213
|
+
[id]="ariaId"
|
214
|
+
#menu
|
215
|
+
[popup]="true"
|
216
|
+
[model]="model"
|
217
|
+
[style]="menuStyle"
|
218
|
+
[styleClass]="menuStyleClass"
|
219
|
+
[appendTo]="appendTo"
|
220
|
+
[showTransitionOptions]="showTransitionOptions"
|
221
|
+
[hideTransitionOptions]="hideTransitionOptions"
|
222
|
+
></p-tieredMenu>
|
168
223
|
</div>
|
169
224
|
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
170
225
|
class: 'p-element'
|
@@ -217,11 +272,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
217
272
|
args: [PrimeTemplate]
|
218
273
|
}] } });
|
219
274
|
class SplitButtonModule {
|
220
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
221
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0
|
222
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0
|
275
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SplitButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
276
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: SplitButtonModule, declarations: [SplitButton], imports: [CommonModule, ButtonModule, TieredMenuModule, ChevronDownIcon], exports: [SplitButton, ButtonModule, TieredMenuModule] });
|
277
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SplitButtonModule, imports: [CommonModule, ButtonModule, TieredMenuModule, ChevronDownIcon, ButtonModule, TieredMenuModule] });
|
223
278
|
}
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SplitButtonModule, decorators: [{
|
225
280
|
type: NgModule,
|
226
281
|
args: [{
|
227
282
|
imports: [CommonModule, ButtonModule, TieredMenuModule, ChevronDownIcon],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-splitbutton.mjs","sources":["../../src/app/components/splitbutton/splitbutton.ts","../../src/app/components/splitbutton/primeng-splitbutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MenuItem, PrimeTemplate } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ChevronDownIcon } from 'primeng/icons/chevrondown';\nimport { TieredMenu, TieredMenuModule } from 'primeng/tieredmenu';\n\ntype SplitButtonIconPosition = 'left' | 'right';\n/**\n * SplitButton groups a set of commands in an overlay with a default command.\n * @group Components\n */\n@Component({\n selector: 'p-splitButton',\n template: `\n <div #container [ngClass]=\"'p-splitbutton p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ng-container *ngIf=\"contentTemplate; else defaultButton\">\n <button class=\"p-splitbutton-defaultbutton\" type=\"button\" pButton [icon]=\"icon\" [iconPos]=\"iconPos\" (click)=\"onDefaultButtonClick($event)\" [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </button>\n </ng-container>\n <ng-template #defaultButton>\n <button #defaultbtn class=\"p-splitbutton-defaultbutton\" type=\"button\" pButton [icon]=\"icon\" [iconPos]=\"iconPos\" [label]=\"label\" (click)=\"onDefaultButtonClick($event)\" [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\"></button>\n </ng-template>\n <button type=\"button\" pButton class=\"p-splitbutton-menubutton p-button-icon-only\" (click)=\"onDropdownButtonClick($event)\" [disabled]=\"disabled\" [attr.aria-label]=\"expandAriaLabel\">\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\n </button>\n <p-tieredMenu #menu [popup]=\"true\" [model]=\"model\" [style]=\"menuStyle\" [styleClass]=\"menuStyleClass\" [appendTo]=\"appendTo\" [showTransitionOptions]=\"showTransitionOptions\" [hideTransitionOptions]=\"hideTransitionOptions\"></p-tieredMenu>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./splitbutton.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class SplitButton {\n /**\n * MenuModel instance to define the overlay items.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Name of the icon.\n * @group Props\n */\n @Input() icon: string | undefined;\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: SplitButtonIconPosition = 'left';\n /**\n * Text of the button.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the overlay menu.\n * @group Props\n */\n @Input() menuStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the overlay menu.\n * @group Props\n */\n @Input() menuStyleClass: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Prop\n */\n @Input() tabindex: number | undefined;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Indicates the direction of the element.\n * @group Props\n */\n @Input() dir: string | undefined;\n /**\n * Defines a string that labels the expand button for accessibility.\n * @group Props\n */\n @Input() expandAriaLabel: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Callback to invoke when default command button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /**\n * Callback to invoke when dropdown button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onDropdownClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @ViewChild('container') containerViewChild: ElementRef | undefined;\n\n @ViewChild('defaultbtn') buttonViewChild: ElementRef | undefined;\n\n @ViewChild('menu') menu: TieredMenu | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n dropdownIconTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n onDefaultButtonClick(event: MouseEvent) {\n this.onClick.emit(event);\n }\n\n onDropdownButtonClick(event: MouseEvent) {\n this.onDropdownClick.emit(event);\n this.menu?.toggle({ currentTarget: this.containerViewChild?.nativeElement, relativeAlign: this.appendTo == null });\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonModule, TieredMenuModule, ChevronDownIcon],\n exports: [SplitButton, ButtonModule, TieredMenuModule],\n declarations: [SplitButton]\n})\nexport class SplitButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-splitbutton.mjs","sources":["../../src/app/components/splitbutton/splitbutton.ts","../../src/app/components/splitbutton/primeng-splitbutton.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Input, NgModule, Output, QueryList, TemplateRef, ViewChild, ViewEncapsulation, signal } from '@angular/core';\nimport { MenuItem, PrimeTemplate } from 'primeng/api';\nimport { ButtonModule } from 'primeng/button';\nimport { ChevronDownIcon } from 'primeng/icons/chevrondown';\nimport { TieredMenu, TieredMenuModule } from 'primeng/tieredmenu';\nimport { UniqueComponentId } from 'primeng/utils';\n\ntype SplitButtonIconPosition = 'left' | 'right';\n/**\n * SplitButton groups a set of commands in an overlay with a default command.\n * @group Components\n */\n@Component({\n selector: 'p-splitButton',\n template: `\n <div #container [ngClass]=\"'p-splitbutton p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ng-container *ngIf=\"contentTemplate; else defaultButton\">\n <button class=\"p-splitbutton-defaultbutton\" type=\"button\" pButton [icon]=\"icon\" [iconPos]=\"iconPos\" (click)=\"onDefaultButtonClick($event)\" [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"label\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </button>\n </ng-container>\n <ng-template #defaultButton>\n <button #defaultbtn class=\"p-splitbutton-defaultbutton\" type=\"button\" pButton [icon]=\"icon\" [iconPos]=\"iconPos\" [label]=\"label\" (click)=\"onDefaultButtonClick($event)\" [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\"></button>\n </ng-template>\n <button\n type=\"button\"\n pButton\n class=\"p-splitbutton-menubutton p-button-icon-only\"\n (click)=\"onDropdownButtonClick($event)\"\n (keydown)=\"onDropdownButtonKeydown($event)\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"expandAriaLabel\"\n [attr.aria-aria-haspopup]=\"true\"\n [attr.aria-expanded]=\"isExpanded()\"\n [attr.aria-controls]=\"ariaId\"\n >\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate\"></ng-template>\n </button>\n <p-tieredMenu\n [id]=\"ariaId\"\n #menu\n [popup]=\"true\"\n [model]=\"model\"\n [style]=\"menuStyle\"\n [styleClass]=\"menuStyleClass\"\n [appendTo]=\"appendTo\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n ></p-tieredMenu>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./splitbutton.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class SplitButton {\n /**\n * MenuModel instance to define the overlay items.\n * @group Props\n */\n @Input() model: MenuItem[] | undefined;\n /**\n * Name of the icon.\n * @group Props\n */\n @Input() icon: string | undefined;\n /**\n * Position of the icon.\n * @group Props\n */\n @Input() iconPos: SplitButtonIconPosition = 'left';\n /**\n * Text of the button.\n * @group Props\n */\n @Input() label: string | undefined;\n /**\n * Inline style of the element.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Class of the element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the overlay menu.\n * @group Props\n */\n @Input() menuStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the overlay menu.\n * @group Props\n */\n @Input() menuStyleClass: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Prop\n */\n @Input() tabindex: number | undefined;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * Indicates the direction of the element.\n * @group Props\n */\n @Input() dir: string | undefined;\n /**\n * Defines a string that labels the expand button for accessibility.\n * @group Props\n */\n @Input() expandAriaLabel: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * Callback to invoke when default command button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n /**\n * Callback to invoke when dropdown button is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n @Output() onDropdownClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @ViewChild('container') containerViewChild: ElementRef | undefined;\n\n @ViewChild('defaultbtn') buttonViewChild: ElementRef | undefined;\n\n @ViewChild('menu') menu: TieredMenu | undefined;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n contentTemplate: TemplateRef<any> | undefined;\n\n dropdownIconTemplate: TemplateRef<any> | undefined;\n\n ariaId: string | undefined;\n\n isExpanded = signal<boolean>(false);\n\n ngOnInit() {\n this.ariaId = UniqueComponentId();\n }\n\n ngAfterContentInit() {\n this.templates?.forEach((item) => {\n switch (item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this.dropdownIconTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n onDefaultButtonClick(event: MouseEvent) {\n this.onClick.emit(event);\n }\n\n onDropdownButtonClick(event?: MouseEvent) {\n this.onDropdownClick.emit(event);\n this.menu?.toggle({ currentTarget: this.containerViewChild?.nativeElement, relativeAlign: this.appendTo == null });\n this.isExpanded.set(this.menu.visible);\n }\n\n onDropdownButtonKeydown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {\n this.onDropdownButtonClick();\n event.preventDefault();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonModule, TieredMenuModule, ChevronDownIcon],\n exports: [SplitButton, ButtonModule, TieredMenuModule],\n declarations: [SplitButton]\n})\nexport class SplitButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import * as i0 from '@angular/core';
|
2
|
-
import { EventEmitter, PLATFORM_ID, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Input, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
|
3
1
|
import * as i1 from '@angular/common';
|
4
2
|
import { isPlatformBrowser, DOCUMENT, CommonModule } from '@angular/common';
|
5
|
-
import
|
3
|
+
import * as i0 from '@angular/core';
|
4
|
+
import { EventEmitter, PLATFORM_ID, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Input, Output, ContentChildren, ViewChild, NgModule } from '@angular/core';
|
6
5
|
import { PrimeTemplate, SharedModule } from 'primeng/api';
|
6
|
+
import { DomHandler } from 'primeng/dom';
|
7
7
|
|
8
8
|
/**
|
9
9
|
* Splitter is utilized to separate and resize panels.
|
@@ -55,6 +55,11 @@ class Splitter {
|
|
55
55
|
* @group Props
|
56
56
|
*/
|
57
57
|
gutterSize = 4;
|
58
|
+
/**
|
59
|
+
* Step factor to increment/decrement the size of the panels while pressing the arrow keys.
|
60
|
+
* @group Props
|
61
|
+
*/
|
62
|
+
step = 5;
|
58
63
|
/**
|
59
64
|
* Minimum size of the elements relative to 100%.
|
60
65
|
* @group Props
|
@@ -110,6 +115,8 @@ class Splitter {
|
|
110
115
|
prevPanelSize;
|
111
116
|
_panelSizes = [];
|
112
117
|
prevPanelIndex;
|
118
|
+
timer;
|
119
|
+
prevSize;
|
113
120
|
window;
|
114
121
|
constructor(document, platformId, renderer, cd, el) {
|
115
122
|
this.document = document;
|
@@ -142,7 +149,7 @@ class Splitter {
|
|
142
149
|
}
|
143
150
|
if (!initialized) {
|
144
151
|
let children = [...this.el.nativeElement.children[0].children].filter((child) => DomHandler.hasClass(child, 'p-splitter-panel'));
|
145
|
-
let _panelSizes = [
|
152
|
+
let _panelSizes = [];
|
146
153
|
this.panels.map((panel, i) => {
|
147
154
|
let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;
|
148
155
|
let panelSize = panelInitialSize || 100 / this.panels.length;
|
@@ -150,31 +157,55 @@ class Splitter {
|
|
150
157
|
children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
|
151
158
|
});
|
152
159
|
this._panelSizes = _panelSizes;
|
160
|
+
this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);
|
153
161
|
}
|
154
162
|
}
|
155
163
|
}
|
156
|
-
resizeStart(event, index) {
|
157
|
-
this.gutterElement = event.currentTarget;
|
164
|
+
resizeStart(event, index, isKeyDown) {
|
165
|
+
this.gutterElement = event.currentTarget || event.target.parentElement;
|
158
166
|
this.size = this.horizontal() ? DomHandler.getWidth(this.containerViewChild.nativeElement) : DomHandler.getHeight(this.containerViewChild.nativeElement);
|
159
|
-
|
160
|
-
|
167
|
+
if (!isKeyDown) {
|
168
|
+
this.dragging = true;
|
169
|
+
this.startPos = this.horizontal() ? (event instanceof MouseEvent ? event.pageX : event.changedTouches[0].pageX) : event instanceof MouseEvent ? event.pageY : event.changedTouches[0].pageY;
|
170
|
+
}
|
161
171
|
this.prevPanelElement = this.gutterElement.previousElementSibling;
|
162
172
|
this.nextPanelElement = this.gutterElement.nextElementSibling;
|
163
|
-
|
164
|
-
|
173
|
+
if (isKeyDown) {
|
174
|
+
this.prevPanelSize = this.horizontal() ? DomHandler.getOuterWidth(this.prevPanelElement, true) : DomHandler.getOuterHeight(this.prevPanelElement, true);
|
175
|
+
this.nextPanelSize = this.horizontal() ? DomHandler.getOuterWidth(this.nextPanelElement, true) : DomHandler.getOuterHeight(this.nextPanelElement, true);
|
176
|
+
}
|
177
|
+
else {
|
178
|
+
this.prevPanelSize = (100 * (this.horizontal() ? DomHandler.getOuterWidth(this.prevPanelElement, true) : DomHandler.getOuterHeight(this.prevPanelElement, true))) / this.size;
|
179
|
+
this.nextPanelSize = (100 * (this.horizontal() ? DomHandler.getOuterWidth(this.nextPanelElement, true) : DomHandler.getOuterHeight(this.nextPanelElement, true))) / this.size;
|
180
|
+
}
|
165
181
|
this.prevPanelIndex = index;
|
166
182
|
DomHandler.addClass(this.gutterElement, 'p-splitter-gutter-resizing');
|
183
|
+
this.gutterElement.setAttribute('data-p-gutter-resizing', 'true');
|
167
184
|
DomHandler.addClass(this.containerViewChild.nativeElement, 'p-splitter-resizing');
|
185
|
+
this.containerViewChild.nativeElement.setAttribute('data-p-resizing', 'true');
|
168
186
|
this.onResizeStart.emit({ originalEvent: event, sizes: this._panelSizes });
|
169
187
|
}
|
170
|
-
onResize(event) {
|
171
|
-
let newPos;
|
172
|
-
if (
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
188
|
+
onResize(event, step, isKeyDown) {
|
189
|
+
let newPos, newPrevPanelSize, newNextPanelSize;
|
190
|
+
if (isKeyDown) {
|
191
|
+
if (this.horizontal()) {
|
192
|
+
newPrevPanelSize = (100 * (this.prevPanelSize + step)) / this.size;
|
193
|
+
newNextPanelSize = (100 * (this.nextPanelSize - step)) / this.size;
|
194
|
+
}
|
195
|
+
else {
|
196
|
+
newPrevPanelSize = (100 * (this.prevPanelSize - step)) / this.size;
|
197
|
+
newNextPanelSize = (100 * (this.nextPanelSize + step)) / this.size;
|
198
|
+
}
|
199
|
+
}
|
200
|
+
else {
|
201
|
+
if (this.horizontal())
|
202
|
+
newPos = (event.pageX * 100) / this.size - (this.startPos * 100) / this.size;
|
203
|
+
else
|
204
|
+
newPos = (event.pageY * 100) / this.size - (this.startPos * 100) / this.size;
|
205
|
+
newPrevPanelSize = this.prevPanelSize + newPos;
|
206
|
+
newNextPanelSize = this.nextPanelSize - newPos;
|
207
|
+
}
|
208
|
+
this.prevSize = parseFloat(newPrevPanelSize).toFixed(4);
|
178
209
|
if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {
|
179
210
|
this.prevPanelElement.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
|
180
211
|
this.nextPanelElement.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
|
@@ -202,12 +233,70 @@ class Splitter {
|
|
202
233
|
event.preventDefault();
|
203
234
|
}
|
204
235
|
}
|
236
|
+
onGutterTouchMove(event) {
|
237
|
+
this.onResize(event);
|
238
|
+
event.preventDefault();
|
239
|
+
}
|
205
240
|
onGutterTouchEnd(event) {
|
206
241
|
this.resizeEnd(event);
|
207
242
|
this.unbindTouchListeners();
|
208
243
|
if (event.cancelable)
|
209
244
|
event.preventDefault();
|
210
245
|
}
|
246
|
+
repeat(event, index, step) {
|
247
|
+
this.resizeStart(event, index, true);
|
248
|
+
this.onResize(event, step, true);
|
249
|
+
}
|
250
|
+
setTimer(event, index, step) {
|
251
|
+
this.clearTimer();
|
252
|
+
this.timer = setTimeout(() => {
|
253
|
+
this.repeat(event, index, step);
|
254
|
+
}, 40);
|
255
|
+
}
|
256
|
+
clearTimer() {
|
257
|
+
if (this.timer) {
|
258
|
+
clearTimeout(this.timer);
|
259
|
+
}
|
260
|
+
}
|
261
|
+
onGutterKeyUp(event) {
|
262
|
+
this.clearTimer();
|
263
|
+
this.resizeEnd(event);
|
264
|
+
}
|
265
|
+
onGutterKeyDown(event, index) {
|
266
|
+
switch (event.code) {
|
267
|
+
case 'ArrowLeft': {
|
268
|
+
if (this.layout === 'horizontal') {
|
269
|
+
this.setTimer(event, index, this.step * -1);
|
270
|
+
}
|
271
|
+
event.preventDefault();
|
272
|
+
break;
|
273
|
+
}
|
274
|
+
case 'ArrowRight': {
|
275
|
+
if (this.layout === 'horizontal') {
|
276
|
+
this.setTimer(event, index, this.step);
|
277
|
+
}
|
278
|
+
event.preventDefault();
|
279
|
+
break;
|
280
|
+
}
|
281
|
+
case 'ArrowDown': {
|
282
|
+
if (this.layout === 'vertical') {
|
283
|
+
this.setTimer(event, index, this.step * -1);
|
284
|
+
}
|
285
|
+
event.preventDefault();
|
286
|
+
break;
|
287
|
+
}
|
288
|
+
case 'ArrowUp': {
|
289
|
+
if (this.layout === 'vertical') {
|
290
|
+
this.setTimer(event, index, this.step);
|
291
|
+
}
|
292
|
+
event.preventDefault();
|
293
|
+
break;
|
294
|
+
}
|
295
|
+
default:
|
296
|
+
//no op
|
297
|
+
break;
|
298
|
+
}
|
299
|
+
}
|
211
300
|
validateResize(newPrevPanelSize, newNextPanelSize) {
|
212
301
|
if (this.minSizes.length >= 1 && this.minSizes[0] && this.minSizes[0] > newPrevPanelSize) {
|
213
302
|
return false;
|
@@ -342,30 +431,70 @@ class Splitter {
|
|
342
431
|
horizontal() {
|
343
432
|
return this.layout === 'horizontal';
|
344
433
|
}
|
345
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
346
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0
|
347
|
-
<div #container [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style">
|
348
|
-
<ng-template ngFor let-panel let-i="index"
|
349
|
-
<div [ngClass]="panelContainerClass()" [class]="panelStyleClass" [ngStyle]="panelStyle">
|
434
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Splitter, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
435
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: Splitter, selector: "p-splitter", inputs: { styleClass: "styleClass", panelStyleClass: "panelStyleClass", style: "style", panelStyle: "panelStyle", stateStorage: "stateStorage", stateKey: "stateKey", layout: "layout", gutterSize: "gutterSize", step: "step", minSizes: "minSizes", panelSizes: "panelSizes" }, outputs: { onResizeEnd: "onResizeEnd", onResizeStart: "onResizeStart" }, host: { properties: { "class.p-splitter-panel-nested": "nested" }, classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
|
436
|
+
<div #container [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style" [attr.data-pc-name]="'splitter'" [attr.data-p-gutter-resizing]="false" [attr.data-pc-section]="'root'">
|
437
|
+
<ng-template ngFor let-panel [ngForOf]="panels" let-i="index">
|
438
|
+
<div [ngClass]="panelContainerClass()" [class]="panelStyleClass" [ngStyle]="panelStyle" tabindex="-1" [attr.data-pc-name]="'splitter'" [attr.data-pc-section]="'root'">
|
350
439
|
<ng-container *ngTemplateOutlet="panel"></ng-container>
|
351
440
|
</div>
|
352
|
-
<div
|
353
|
-
|
441
|
+
<div
|
442
|
+
*ngIf="i !== panels.length - 1"
|
443
|
+
class="p-splitter-gutter"
|
444
|
+
role="seperator"
|
445
|
+
tabindex="-1"
|
446
|
+
(mousedown)="onGutterMouseDown($event, i)"
|
447
|
+
(touchstart)="onGutterTouchStart($event, i)"
|
448
|
+
(touchmove)="onGutterTouchMove($event)"
|
449
|
+
(touchend)="onGutterTouchEnd($event, i)"
|
450
|
+
[attr.data-p-gutter-resizing]="false"
|
451
|
+
[attr.data-pc-section]="'gutter'"
|
452
|
+
>
|
453
|
+
<div
|
454
|
+
class="p-splitter-gutter-handle"
|
455
|
+
tabindex="0"
|
456
|
+
[ngStyle]="gutterStyle()"
|
457
|
+
[attr.aria-orientation]="layout"
|
458
|
+
[attr.aria-valuenow]="prevSize"
|
459
|
+
[attr.data-pc-section]="'gutterhandle'"
|
460
|
+
(keyup)="onGutterKeyUp($event)"
|
461
|
+
(keydown)="onGutterKeyDown($event, i)"
|
462
|
+
></div>
|
354
463
|
</div>
|
355
464
|
</ng-template>
|
356
465
|
</div>
|
357
466
|
`, isInline: true, styles: [".p-splitter{display:flex;flex-wrap:nowrap}.p-splitter-vertical{flex-direction:column}.p-splitter-panel{flex-grow:1}.p-splitter-panel-nested{display:flex}.p-splitter-panel p-splitter{flex-grow:1}.p-splitter-panel .p-splitter{flex-grow:1;border:0 none}.p-splitter-gutter{flex-grow:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:col-resize}.p-splitter-horizontal.p-splitter-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.p-splitter-horizontal>.p-splitter-gutter>.p-splitter-gutter-handle{height:24px;width:100%}.p-splitter-horizontal>.p-splitter-gutter{cursor:col-resize}.p-splitter-vertical.p-splitter-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.p-splitter-vertical>.p-splitter-gutter{cursor:row-resize}.p-splitter-vertical>.p-splitter-gutter>.p-splitter-gutter-handle{width:24px;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
358
467
|
}
|
359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
468
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Splitter, decorators: [{
|
360
469
|
type: Component,
|
361
470
|
args: [{ selector: 'p-splitter', template: `
|
362
|
-
<div #container [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style">
|
363
|
-
<ng-template ngFor let-panel let-i="index"
|
364
|
-
<div [ngClass]="panelContainerClass()" [class]="panelStyleClass" [ngStyle]="panelStyle">
|
471
|
+
<div #container [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style" [attr.data-pc-name]="'splitter'" [attr.data-p-gutter-resizing]="false" [attr.data-pc-section]="'root'">
|
472
|
+
<ng-template ngFor let-panel [ngForOf]="panels" let-i="index">
|
473
|
+
<div [ngClass]="panelContainerClass()" [class]="panelStyleClass" [ngStyle]="panelStyle" tabindex="-1" [attr.data-pc-name]="'splitter'" [attr.data-pc-section]="'root'">
|
365
474
|
<ng-container *ngTemplateOutlet="panel"></ng-container>
|
366
475
|
</div>
|
367
|
-
<div
|
368
|
-
|
476
|
+
<div
|
477
|
+
*ngIf="i !== panels.length - 1"
|
478
|
+
class="p-splitter-gutter"
|
479
|
+
role="seperator"
|
480
|
+
tabindex="-1"
|
481
|
+
(mousedown)="onGutterMouseDown($event, i)"
|
482
|
+
(touchstart)="onGutterTouchStart($event, i)"
|
483
|
+
(touchmove)="onGutterTouchMove($event)"
|
484
|
+
(touchend)="onGutterTouchEnd($event, i)"
|
485
|
+
[attr.data-p-gutter-resizing]="false"
|
486
|
+
[attr.data-pc-section]="'gutter'"
|
487
|
+
>
|
488
|
+
<div
|
489
|
+
class="p-splitter-gutter-handle"
|
490
|
+
tabindex="0"
|
491
|
+
[ngStyle]="gutterStyle()"
|
492
|
+
[attr.aria-orientation]="layout"
|
493
|
+
[attr.aria-valuenow]="prevSize"
|
494
|
+
[attr.data-pc-section]="'gutterhandle'"
|
495
|
+
(keyup)="onGutterKeyUp($event)"
|
496
|
+
(keydown)="onGutterKeyDown($event, i)"
|
497
|
+
></div>
|
369
498
|
</div>
|
370
499
|
</ng-template>
|
371
500
|
</div>
|
@@ -395,6 +524,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
395
524
|
type: Input
|
396
525
|
}], gutterSize: [{
|
397
526
|
type: Input
|
527
|
+
}], step: [{
|
528
|
+
type: Input
|
398
529
|
}], minSizes: [{
|
399
530
|
type: Input
|
400
531
|
}], panelSizes: [{
|
@@ -411,11 +542,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
411
542
|
args: ['container', { static: false }]
|
412
543
|
}] } });
|
413
544
|
class SplitterModule {
|
414
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0
|
415
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0
|
416
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0
|
545
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
546
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: SplitterModule, declarations: [Splitter], imports: [CommonModule], exports: [Splitter, SharedModule] });
|
547
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SplitterModule, imports: [CommonModule, SharedModule] });
|
417
548
|
}
|
418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0
|
549
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: SplitterModule, decorators: [{
|
419
550
|
type: NgModule,
|
420
551
|
args: [{
|
421
552
|
imports: [CommonModule],
|