primeng 18.0.1 → 19.0.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/base/style/basestyle.d.ts +11 -11
- package/config/themeprovider.d.ts +6 -0
- package/confirmdialog/confirmdialog.d.ts +1 -0
- package/dynamicdialog/dynamicdialog.d.ts +2 -2
- package/fesm2022/primeng-accordion.mjs +10 -10
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +1 -1
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +5 -5
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +2 -2
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +1 -1
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +2 -2
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +2 -2
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +3 -3
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +1 -1
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs +2 -2
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +2 -2
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +5 -5
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +2 -2
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs +4 -4
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +2 -2
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +2 -2
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +4 -4
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +2 -2
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +2 -2
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +2 -2
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +2 -2
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +14 -12
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +11 -8
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +2 -2
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +5 -5
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +2 -2
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +2 -2
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-defer.mjs +1 -1
- package/fesm2022/primeng-dialog.mjs +2 -2
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +2 -2
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +2 -2
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +2 -2
- package/fesm2022/primeng-dragdrop.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +2 -2
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +4 -4
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +7 -7
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +2 -2
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +2 -2
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +2 -2
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +2 -2
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs +2 -2
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +1 -1
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +10 -10
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +2 -2
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +2 -2
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs +2 -2
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs +2 -2
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs +2 -2
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs +2 -2
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs +2 -2
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs +2 -2
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs +2 -2
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs +2 -2
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +2 -2
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs +2 -2
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs +2 -2
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +2 -2
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs +2 -2
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +2 -2
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +2 -2
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +2 -2
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +2 -2
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs +2 -2
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs +2 -2
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs +2 -2
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs +2 -2
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs +2 -2
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs +2 -2
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs +2 -2
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs +2 -2
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +2 -2
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +2 -2
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs +2 -2
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +2 -2
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterslash.mjs +2 -2
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +2 -2
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +2 -2
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +2 -2
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs +2 -2
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +2 -2
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +2 -2
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +2 -2
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +2 -2
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +2 -2
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +2 -2
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +2 -2
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +2 -2
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +2 -2
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +2 -2
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +2 -2
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +2 -2
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +2 -2
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs +2 -2
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +2 -2
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +2 -2
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +2 -2
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +2 -2
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +2 -2
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-iftalabel.mjs +2 -2
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +2 -2
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +2 -2
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +6 -6
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +2 -2
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +2 -2
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs +2 -2
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +2 -2
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +2 -2
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +2 -2
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputswitch.mjs +2 -2
- package/fesm2022/primeng-inputswitch.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +1 -1
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-inputtextarea.mjs +1 -1
- package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +1 -1
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +2 -2
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +2 -2
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +4 -4
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +5 -5
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +4 -4
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +2 -2
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-messages.mjs +2 -2
- package/fesm2022/primeng-messages.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +4 -4
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +4 -4
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +2 -2
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +5 -5
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +2 -2
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +2 -2
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-overlaypanel.mjs +2 -2
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +2 -2
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +2 -2
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +7 -7
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +4 -4
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +2 -2
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +2 -2
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +2 -2
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +2 -2
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +2 -2
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +2 -2
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +1 -1
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +2 -2
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +2 -2
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +2 -2
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +4 -4
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +2 -2
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +2 -2
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +2 -2
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +2 -2
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +2 -2
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +2 -2
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +4 -4
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +16 -16
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +2 -2
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +1 -1
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +64 -38
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs +2 -2
- package/fesm2022/primeng-tabmenu.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +11 -11
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +4 -4
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +2 -2
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +2 -2
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +1 -1
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +4 -4
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +2 -2
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +4 -4
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +3 -3
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +2 -2
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +2 -2
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +1 -1
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +4 -4
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +2 -2
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +24 -24
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/package.json +163 -511
- package/speeddial/speeddial.d.ts +2 -2
- package/esm2022/accordion/accordion.mjs +0 -1281
- package/esm2022/accordion/primeng-accordion.mjs +0 -5
- package/esm2022/accordion/public_api.mjs +0 -3
- package/esm2022/accordion/style/accordionstyle.mjs +0 -163
- package/esm2022/animateonscroll/animateonscroll.mjs +0 -174
- package/esm2022/animateonscroll/primeng-animateonscroll.mjs +0 -5
- package/esm2022/animateonscroll/public_api.mjs +0 -2
- package/esm2022/api/blockableui.mjs +0 -2
- package/esm2022/api/confirmaeventtype.mjs +0 -10
- package/esm2022/api/confirmation.mjs +0 -2
- package/esm2022/api/confirmationservice.mjs +0 -43
- package/esm2022/api/contextmenuservice.mjs +0 -22
- package/esm2022/api/filtermatchmode.mjs +0 -23
- package/esm2022/api/filtermetadata.mjs +0 -2
- package/esm2022/api/filteroperator.mjs +0 -5
- package/esm2022/api/filterservice.mjs +0 -224
- package/esm2022/api/lazyloadevent.mjs +0 -2
- package/esm2022/api/lazyloadmeta.mjs +0 -2
- package/esm2022/api/megamenuitem.mjs +0 -2
- package/esm2022/api/menuitem.mjs +0 -2
- package/esm2022/api/messageservice.mjs +0 -47
- package/esm2022/api/overlayoptions.mjs +0 -2
- package/esm2022/api/overlayservice.mjs +0 -19
- package/esm2022/api/primeicons.mjs +0 -314
- package/esm2022/api/primeng-api.mjs +0 -5
- package/esm2022/api/public_api.mjs +0 -33
- package/esm2022/api/scrolleroptions.mjs +0 -2
- package/esm2022/api/selectitem.mjs +0 -2
- package/esm2022/api/selectitemgroup.mjs +0 -2
- package/esm2022/api/shared.mjs +0 -76
- package/esm2022/api/sortevent.mjs +0 -2
- package/esm2022/api/sortmeta.mjs +0 -2
- package/esm2022/api/tablestate.mjs +0 -2
- package/esm2022/api/toastmessage.mjs +0 -2
- package/esm2022/api/tooltipoptions.mjs +0 -2
- package/esm2022/api/translation.mjs +0 -2
- package/esm2022/api/translationkeys.mjs +0 -51
- package/esm2022/api/treedragdropservice.mjs +0 -21
- package/esm2022/api/treenode.mjs +0 -2
- package/esm2022/api/treenodedragevent.mjs +0 -2
- package/esm2022/api/treetablenode.mjs +0 -2
- package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
- package/esm2022/autocomplete/autocomplete.mjs +0 -2284
- package/esm2022/autocomplete/primeng-autocomplete.mjs +0 -5
- package/esm2022/autocomplete/public_api.mjs +0 -4
- package/esm2022/autocomplete/style/autocompletestyle.mjs +0 -409
- package/esm2022/autofocus/autofocus.mjs +0 -86
- package/esm2022/autofocus/primeng-autofocus.mjs +0 -5
- package/esm2022/autofocus/public_api.mjs +0 -2
- package/esm2022/avatar/avatar.mjs +0 -193
- package/esm2022/avatar/primeng-avatar.mjs +0 -5
- package/esm2022/avatar/public_api.mjs +0 -3
- package/esm2022/avatar/style/avatarstyle.mjs +0 -130
- package/esm2022/avatargroup/avatargroup.mjs +0 -80
- package/esm2022/avatargroup/primeng-avatargroup.mjs +0 -5
- package/esm2022/avatargroup/public_api.mjs +0 -3
- package/esm2022/avatargroup/style/avatargroupstyle.mjs +0 -29
- package/esm2022/badge/badge.mjs +0 -339
- package/esm2022/badge/primeng-badge.mjs +0 -5
- package/esm2022/badge/public_api.mjs +0 -3
- package/esm2022/badge/style/badgestyle.mjs +0 -143
- package/esm2022/base/base.mjs +0 -19
- package/esm2022/base/primeng-base.mjs +0 -5
- package/esm2022/base/public_api.mjs +0 -3
- package/esm2022/base/style/basestyle.mjs +0 -256
- package/esm2022/basecomponent/basecomponent.mjs +0 -160
- package/esm2022/basecomponent/primeng-basecomponent.mjs +0 -5
- package/esm2022/basecomponent/public_api.mjs +0 -3
- package/esm2022/basecomponent/style/basecomponentstyle.mjs +0 -13
- package/esm2022/blockui/blockui.interface.mjs +0 -2
- package/esm2022/blockui/blockui.mjs +0 -230
- package/esm2022/blockui/primeng-blockui.mjs +0 -5
- package/esm2022/blockui/public_api.mjs +0 -4
- package/esm2022/blockui/style/blockuistyle.mjs +0 -50
- package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
- package/esm2022/breadcrumb/breadcrumb.mjs +0 -601
- package/esm2022/breadcrumb/primeng-breadcrumb.mjs +0 -5
- package/esm2022/breadcrumb/public_api.mjs +0 -4
- package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +0 -133
- package/esm2022/button/button.interface.mjs +0 -2
- package/esm2022/button/button.mjs +0 -923
- package/esm2022/button/primeng-button.mjs +0 -5
- package/esm2022/button/public_api.mjs +0 -4
- package/esm2022/button/style/buttonstyle.mjs +0 -707
- package/esm2022/buttongroup/buttongroup.mjs +0 -47
- package/esm2022/buttongroup/primeng-buttongroup.mjs +0 -5
- package/esm2022/buttongroup/public_api.mjs +0 -3
- package/esm2022/buttongroup/style/buttongroupstyle.mjs +0 -120
- package/esm2022/calendar/calendar.interface.mjs +0 -2
- package/esm2022/calendar/calendar.mjs +0 -4567
- package/esm2022/calendar/primeng-calendar.mjs +0 -5
- package/esm2022/calendar/public_api.mjs +0 -4
- package/esm2022/calendar/style/calendarstyle.mjs +0 -472
- package/esm2022/card/card.interface.mjs +0 -2
- package/esm2022/card/card.mjs +0 -293
- package/esm2022/card/primeng-card.mjs +0 -5
- package/esm2022/card/public_api.mjs +0 -4
- package/esm2022/card/style/cardstyle.mjs +0 -100
- package/esm2022/carousel/carousel.interface.mjs +0 -2
- package/esm2022/carousel/carousel.mjs +0 -1213
- package/esm2022/carousel/primeng-carousel.mjs +0 -5
- package/esm2022/carousel/public_api.mjs +0 -4
- package/esm2022/carousel/style/carouselstyle.mjs +0 -234
- package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
- package/esm2022/cascadeselect/cascadeselect.mjs +0 -1878
- package/esm2022/cascadeselect/primeng-cascadeselect.mjs +0 -5
- package/esm2022/cascadeselect/public_api.mjs +0 -4
- package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +0 -379
- package/esm2022/chart/chart.mjs +0 -210
- package/esm2022/chart/primeng-chart.mjs +0 -5
- package/esm2022/chart/public_api.mjs +0 -3
- package/esm2022/chart/style/chartstyle.mjs +0 -36
- package/esm2022/checkbox/checkbox.interface.mjs +0 -2
- package/esm2022/checkbox/checkbox.mjs +0 -468
- package/esm2022/checkbox/primeng-checkbox.mjs +0 -5
- package/esm2022/checkbox/public_api.mjs +0 -4
- package/esm2022/checkbox/style/checkboxstyle.mjs +0 -191
- package/esm2022/chip/chip.interface.mjs +0 -2
- package/esm2022/chip/chip.mjs +0 -358
- package/esm2022/chip/primeng-chip.mjs +0 -5
- package/esm2022/chip/public_api.mjs +0 -4
- package/esm2022/chip/style/chipstyle.mjs +0 -104
- package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
- package/esm2022/colorpicker/colorpicker.mjs +0 -856
- package/esm2022/colorpicker/primeng-colorpicker.mjs +0 -5
- package/esm2022/colorpicker/public_api.mjs +0 -4
- package/esm2022/colorpicker/style/colorpickerstyle.mjs +0 -213
- package/esm2022/config/primeng-config.mjs +0 -5
- package/esm2022/config/primeng.mjs +0 -185
- package/esm2022/config/provideprimeng.mjs +0 -19
- package/esm2022/config/public_api.mjs +0 -4
- package/esm2022/config/themeprovider.mjs +0 -68
- package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
- package/esm2022/confirmdialog/confirmdialog.mjs +0 -854
- package/esm2022/confirmdialog/primeng-confirmdialog.mjs +0 -5
- package/esm2022/confirmdialog/public_api.mjs +0 -4
- package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +0 -67
- package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
- package/esm2022/confirmpopup/confirmpopup.mjs +0 -647
- package/esm2022/confirmpopup/primeng-confirmpopup.mjs +0 -5
- package/esm2022/confirmpopup/public_api.mjs +0 -4
- package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +0 -170
- package/esm2022/contextmenu/contextmenu.mjs +0 -1467
- package/esm2022/contextmenu/primeng-contextmenu.mjs +0 -5
- package/esm2022/contextmenu/public_api.mjs +0 -3
- package/esm2022/contextmenu/style/contextmenustyle.mjs +0 -244
- package/esm2022/dataview/dataview.interface.mjs +0 -2
- package/esm2022/dataview/dataview.mjs +0 -819
- package/esm2022/dataview/primeng-dataview.mjs +0 -5
- package/esm2022/dataview/public_api.mjs +0 -4
- package/esm2022/dataview/style/dataviewstyle.mjs +0 -115
- package/esm2022/datepicker/datepicker.interface.mjs +0 -2
- package/esm2022/datepicker/datepicker.mjs +0 -4580
- package/esm2022/datepicker/primeng-datepicker.mjs +0 -5
- package/esm2022/datepicker/public_api.mjs +0 -4
- package/esm2022/datepicker/style/datepickerstyle.mjs +0 -663
- package/esm2022/defer/defer.mjs +0 -100
- package/esm2022/defer/primeng-defer.mjs +0 -5
- package/esm2022/defer/public_api.mjs +0 -2
- package/esm2022/dialog/dialog.interface.mjs +0 -2
- package/esm2022/dialog/dialog.mjs +0 -1430
- package/esm2022/dialog/primeng-dialog.mjs +0 -5
- package/esm2022/dialog/public_api.mjs +0 -4
- package/esm2022/dialog/style/dialogstyle.mjs +0 -283
- package/esm2022/divider/divider.mjs +0 -117
- package/esm2022/divider/primeng-divider.mjs +0 -5
- package/esm2022/divider/public_api.mjs +0 -3
- package/esm2022/divider/style/dividerstyle.mjs +0 -138
- package/esm2022/dock/dock.interface.mjs +0 -2
- package/esm2022/dock/dock.mjs +0 -465
- package/esm2022/dock/primeng-dock.mjs +0 -5
- package/esm2022/dock/public_api.mjs +0 -4
- package/esm2022/dock/style/dockstyle.mjs +0 -210
- package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
- package/esm2022/dom/domhandler.mjs +0 -725
- package/esm2022/dom/primeng-dom.mjs +0 -5
- package/esm2022/dom/public_api.mjs +0 -3
- package/esm2022/dragdrop/dragdrop.mjs +0 -323
- package/esm2022/dragdrop/primeng-dragdrop.mjs +0 -5
- package/esm2022/dragdrop/public_api.mjs +0 -2
- package/esm2022/drawer/drawer.interface.mjs +0 -2
- package/esm2022/drawer/drawer.mjs +0 -705
- package/esm2022/drawer/primeng-drawer.mjs +0 -5
- package/esm2022/drawer/public_api.mjs +0 -4
- package/esm2022/drawer/style/drawerstyle.mjs +0 -283
- package/esm2022/dropdown/dropdown.interface.mjs +0 -2
- package/esm2022/dropdown/dropdown.mjs +0 -2506
- package/esm2022/dropdown/primeng-dropdown.mjs +0 -5
- package/esm2022/dropdown/public_api.mjs +0 -4
- package/esm2022/dropdown/style/dropdownstyle.mjs +0 -264
- package/esm2022/dynamicdialog/dialogservice.mjs +0 -105
- package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -182
- package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
- package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
- package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -879
- package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -18
- package/esm2022/dynamicdialog/primeng-dynamicdialog.mjs +0 -5
- package/esm2022/dynamicdialog/public_api.mjs +0 -8
- package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +0 -60
- package/esm2022/editor/editor.interface.mjs +0 -2
- package/esm2022/editor/editor.mjs +0 -443
- package/esm2022/editor/primeng-editor.mjs +0 -5
- package/esm2022/editor/public_api.mjs +0 -4
- package/esm2022/editor/style/editorstyle.mjs +0 -1008
- package/esm2022/fieldset/fieldset.interface.mjs +0 -2
- package/esm2022/fieldset/fieldset.mjs +0 -455
- package/esm2022/fieldset/primeng-fieldset.mjs +0 -5
- package/esm2022/fieldset/public_api.mjs +0 -4
- package/esm2022/fieldset/style/fieldsetstyle.mjs +0 -143
- package/esm2022/fileupload/fileupload.interface.mjs +0 -2
- package/esm2022/fileupload/fileupload.mjs +0 -1647
- package/esm2022/fileupload/primeng-fileupload.mjs +0 -5
- package/esm2022/fileupload/public_api.mjs +0 -4
- package/esm2022/fileupload/style/fileuploadstyle.mjs +0 -194
- package/esm2022/floatlabel/floatlabel.mjs +0 -61
- package/esm2022/floatlabel/primeng-floatlabel.mjs +0 -5
- package/esm2022/floatlabel/public_api.mjs +0 -3
- package/esm2022/floatlabel/style/floatlabelstyle.mjs +0 -133
- package/esm2022/fluid/fluid.mjs +0 -50
- package/esm2022/fluid/primeng-fluid.mjs +0 -5
- package/esm2022/fluid/public_api.mjs +0 -3
- package/esm2022/fluid/style/fluidstyle.mjs +0 -38
- package/esm2022/focustrap/focustrap.mjs +0 -104
- package/esm2022/focustrap/primeng-focustrap.mjs +0 -5
- package/esm2022/focustrap/public_api.mjs +0 -2
- package/esm2022/galleria/galleria.interface.mjs +0 -2
- package/esm2022/galleria/galleria.mjs +0 -1867
- package/esm2022/galleria/primeng-galleria.mjs +0 -5
- package/esm2022/galleria/public_api.mjs +0 -4
- package/esm2022/galleria/style/galleriastyle.mjs +0 -644
- package/esm2022/iconfield/iconfield.mjs +0 -73
- package/esm2022/iconfield/primeng-iconfield.mjs +0 -5
- package/esm2022/iconfield/public_api.mjs +0 -3
- package/esm2022/iconfield/style/iconfieldstyle.mjs +0 -77
- package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -34
- package/esm2022/icons/angledoubledown/primeng-icons-angledoubledown.mjs +0 -5
- package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
- package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -34
- package/esm2022/icons/angledoubleleft/primeng-icons-angledoubleleft.mjs +0 -5
- package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
- package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -34
- package/esm2022/icons/angledoubleright/primeng-icons-angledoubleright.mjs +0 -5
- package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
- package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -34
- package/esm2022/icons/angledoubleup/primeng-icons-angledoubleup.mjs +0 -5
- package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
- package/esm2022/icons/angledown/angledown.mjs +0 -32
- package/esm2022/icons/angledown/primeng-icons-angledown.mjs +0 -5
- package/esm2022/icons/angledown/public_api.mjs +0 -2
- package/esm2022/icons/angleleft/angleleft.mjs +0 -32
- package/esm2022/icons/angleleft/primeng-icons-angleleft.mjs +0 -5
- package/esm2022/icons/angleleft/public_api.mjs +0 -2
- package/esm2022/icons/angleright/angleright.mjs +0 -32
- package/esm2022/icons/angleright/primeng-icons-angleright.mjs +0 -5
- package/esm2022/icons/angleright/public_api.mjs +0 -2
- package/esm2022/icons/angleup/angleup.mjs +0 -32
- package/esm2022/icons/angleup/primeng-icons-angleup.mjs +0 -5
- package/esm2022/icons/angleup/public_api.mjs +0 -2
- package/esm2022/icons/arrowdown/arrowdown.mjs +0 -53
- package/esm2022/icons/arrowdown/primeng-icons-arrowdown.mjs +0 -5
- package/esm2022/icons/arrowdown/public_api.mjs +0 -2
- package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -32
- package/esm2022/icons/arrowdownleft/primeng-icons-arrowdownleft.mjs +0 -5
- package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
- package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -32
- package/esm2022/icons/arrowdownright/primeng-icons-arrowdownright.mjs +0 -5
- package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
- package/esm2022/icons/arrowleft/arrowleft.mjs +0 -53
- package/esm2022/icons/arrowleft/primeng-icons-arrowleft.mjs +0 -5
- package/esm2022/icons/arrowleft/public_api.mjs +0 -2
- package/esm2022/icons/arrowright/arrowright.mjs +0 -34
- package/esm2022/icons/arrowright/primeng-icons-arrowright.mjs +0 -5
- package/esm2022/icons/arrowright/public_api.mjs +0 -2
- package/esm2022/icons/arrowup/arrowup.mjs +0 -53
- package/esm2022/icons/arrowup/primeng-icons-arrowup.mjs +0 -5
- package/esm2022/icons/arrowup/public_api.mjs +0 -2
- package/esm2022/icons/ban/ban.mjs +0 -51
- package/esm2022/icons/ban/primeng-icons-ban.mjs +0 -5
- package/esm2022/icons/ban/public_api.mjs +0 -2
- package/esm2022/icons/bars/bars.mjs +0 -34
- package/esm2022/icons/bars/primeng-icons-bars.mjs +0 -5
- package/esm2022/icons/bars/public_api.mjs +0 -2
- package/esm2022/icons/baseicon/baseicon.mjs +0 -54
- package/esm2022/icons/baseicon/primeng-icons-baseicon.mjs +0 -5
- package/esm2022/icons/baseicon/public_api.mjs +0 -3
- package/esm2022/icons/baseicon/style/baseiconstyle.mjs +0 -57
- package/esm2022/icons/blank/blank.mjs +0 -26
- package/esm2022/icons/blank/primeng-icons-blank.mjs +0 -5
- package/esm2022/icons/blank/public_api.mjs +0 -2
- package/esm2022/icons/calendar/calendar.mjs +0 -32
- package/esm2022/icons/calendar/primeng-icons-calendar.mjs +0 -5
- package/esm2022/icons/calendar/public_api.mjs +0 -2
- package/esm2022/icons/caretleft/caretleft.mjs +0 -32
- package/esm2022/icons/caretleft/primeng-icons-caretleft.mjs +0 -5
- package/esm2022/icons/caretleft/public_api.mjs +0 -2
- package/esm2022/icons/caretright/caretright.mjs +0 -32
- package/esm2022/icons/caretright/primeng-icons-caretright.mjs +0 -5
- package/esm2022/icons/caretright/public_api.mjs +0 -2
- package/esm2022/icons/check/check.mjs +0 -32
- package/esm2022/icons/check/primeng-icons-check.mjs +0 -5
- package/esm2022/icons/check/public_api.mjs +0 -2
- package/esm2022/icons/chevrondown/chevrondown.mjs +0 -32
- package/esm2022/icons/chevrondown/primeng-icons-chevrondown.mjs +0 -5
- package/esm2022/icons/chevrondown/public_api.mjs +0 -2
- package/esm2022/icons/chevronleft/chevronleft.mjs +0 -32
- package/esm2022/icons/chevronleft/primeng-icons-chevronleft.mjs +0 -5
- package/esm2022/icons/chevronleft/public_api.mjs +0 -2
- package/esm2022/icons/chevronright/chevronright.mjs +0 -32
- package/esm2022/icons/chevronright/primeng-icons-chevronright.mjs +0 -5
- package/esm2022/icons/chevronright/public_api.mjs +0 -2
- package/esm2022/icons/chevronup/chevronup.mjs +0 -32
- package/esm2022/icons/chevronup/primeng-icons-chevronup.mjs +0 -5
- package/esm2022/icons/chevronup/public_api.mjs +0 -2
- package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -59
- package/esm2022/icons/exclamationtriangle/primeng-icons-exclamationtriangle.mjs +0 -5
- package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
- package/esm2022/icons/eye/eye.mjs +0 -34
- package/esm2022/icons/eye/primeng-icons-eye.mjs +0 -5
- package/esm2022/icons/eye/public_api.mjs +0 -2
- package/esm2022/icons/eyeslash/eyeslash.mjs +0 -53
- package/esm2022/icons/eyeslash/primeng-icons-eyeslash.mjs +0 -5
- package/esm2022/icons/eyeslash/public_api.mjs +0 -2
- package/esm2022/icons/filter/filter.mjs +0 -51
- package/esm2022/icons/filter/primeng-icons-filter.mjs +0 -5
- package/esm2022/icons/filter/public_api.mjs +0 -2
- package/esm2022/icons/filterslash/filterslash.mjs +0 -53
- package/esm2022/icons/filterslash/primeng-icons-filterslash.mjs +0 -5
- package/esm2022/icons/filterslash/public_api.mjs +0 -2
- package/esm2022/icons/home/home.mjs +0 -53
- package/esm2022/icons/home/primeng-icons-home.mjs +0 -5
- package/esm2022/icons/home/public_api.mjs +0 -2
- package/esm2022/icons/infocircle/infocircle.mjs +0 -53
- package/esm2022/icons/infocircle/primeng-icons-infocircle.mjs +0 -5
- package/esm2022/icons/infocircle/public_api.mjs +0 -2
- package/esm2022/icons/minus/minus.mjs +0 -32
- package/esm2022/icons/minus/primeng-icons-minus.mjs +0 -5
- package/esm2022/icons/minus/public_api.mjs +0 -2
- package/esm2022/icons/pencil/pencil.mjs +0 -51
- package/esm2022/icons/pencil/primeng-icons-pencil.mjs +0 -5
- package/esm2022/icons/pencil/public_api.mjs +0 -2
- package/esm2022/icons/plus/plus.mjs +0 -51
- package/esm2022/icons/plus/primeng-icons-plus.mjs +0 -5
- package/esm2022/icons/plus/public_api.mjs +0 -2
- package/esm2022/icons/primeng-icons.mjs +0 -5
- package/esm2022/icons/public_api.mjs +0 -58
- package/esm2022/icons/refresh/primeng-icons-refresh.mjs +0 -5
- package/esm2022/icons/refresh/public_api.mjs +0 -2
- package/esm2022/icons/refresh/refresh.mjs +0 -53
- package/esm2022/icons/search/primeng-icons-search.mjs +0 -5
- package/esm2022/icons/search/public_api.mjs +0 -2
- package/esm2022/icons/search/search.mjs +0 -53
- package/esm2022/icons/searchminus/primeng-icons-searchminus.mjs +0 -5
- package/esm2022/icons/searchminus/public_api.mjs +0 -2
- package/esm2022/icons/searchminus/searchminus.mjs +0 -53
- package/esm2022/icons/searchplus/primeng-icons-searchplus.mjs +0 -5
- package/esm2022/icons/searchplus/public_api.mjs +0 -2
- package/esm2022/icons/searchplus/searchplus.mjs +0 -53
- package/esm2022/icons/sortalt/primeng-icons-sortalt.mjs +0 -5
- package/esm2022/icons/sortalt/public_api.mjs +0 -2
- package/esm2022/icons/sortalt/sortalt.mjs +0 -57
- package/esm2022/icons/sortamountdown/primeng-icons-sortamountdown.mjs +0 -5
- package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
- package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -51
- package/esm2022/icons/sortamountupalt/primeng-icons-sortamountupalt.mjs +0 -5
- package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
- package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -51
- package/esm2022/icons/spinner/primeng-icons-spinner.mjs +0 -5
- package/esm2022/icons/spinner/public_api.mjs +0 -2
- package/esm2022/icons/spinner/spinner.mjs +0 -51
- package/esm2022/icons/star/primeng-icons-star.mjs +0 -5
- package/esm2022/icons/star/public_api.mjs +0 -2
- package/esm2022/icons/star/star.mjs +0 -51
- package/esm2022/icons/starfill/primeng-icons-starfill.mjs +0 -5
- package/esm2022/icons/starfill/public_api.mjs +0 -2
- package/esm2022/icons/starfill/starfill.mjs +0 -51
- package/esm2022/icons/thlarge/primeng-icons-thlarge.mjs +0 -5
- package/esm2022/icons/thlarge/public_api.mjs +0 -2
- package/esm2022/icons/thlarge/thlarge.mjs +0 -53
- package/esm2022/icons/times/primeng-icons-times.mjs +0 -5
- package/esm2022/icons/times/public_api.mjs +0 -2
- package/esm2022/icons/times/times.mjs +0 -32
- package/esm2022/icons/timescircle/primeng-icons-timescircle.mjs +0 -5
- package/esm2022/icons/timescircle/public_api.mjs +0 -2
- package/esm2022/icons/timescircle/timescircle.mjs +0 -53
- package/esm2022/icons/trash/primeng-icons-trash.mjs +0 -5
- package/esm2022/icons/trash/public_api.mjs +0 -2
- package/esm2022/icons/trash/trash.mjs +0 -53
- package/esm2022/icons/undo/primeng-icons-undo.mjs +0 -5
- package/esm2022/icons/undo/public_api.mjs +0 -2
- package/esm2022/icons/undo/undo.mjs +0 -53
- package/esm2022/icons/upload/primeng-icons-upload.mjs +0 -5
- package/esm2022/icons/upload/public_api.mjs +0 -2
- package/esm2022/icons/upload/upload.mjs +0 -53
- package/esm2022/icons/windowmaximize/primeng-icons-windowmaximize.mjs +0 -5
- package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
- package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -53
- package/esm2022/icons/windowminimize/primeng-icons-windowminimize.mjs +0 -5
- package/esm2022/icons/windowminimize/public_api.mjs +0 -2
- package/esm2022/icons/windowminimize/windowminimize.mjs +0 -53
- package/esm2022/iftalabel/iftalabel.mjs +0 -49
- package/esm2022/iftalabel/primeng-iftalabel.mjs +0 -5
- package/esm2022/iftalabel/public_api.mjs +0 -3
- package/esm2022/iftalabel/style/iftalabelstyle.mjs +0 -96
- package/esm2022/image/image.interface.mjs +0 -2
- package/esm2022/image/image.mjs +0 -794
- package/esm2022/image/primeng-image.mjs +0 -5
- package/esm2022/image/public_api.mjs +0 -4
- package/esm2022/image/style/imagestyle.mjs +0 -219
- package/esm2022/imagecompare/imagecompare.mjs +0 -178
- package/esm2022/imagecompare/primeng-imagecompare.mjs +0 -5
- package/esm2022/imagecompare/public_api.mjs +0 -3
- package/esm2022/imagecompare/style/imagecomparestyle.mjs +0 -124
- package/esm2022/inplace/inplace.interface.mjs +0 -2
- package/esm2022/inplace/inplace.mjs +0 -369
- package/esm2022/inplace/primeng-inplace.mjs +0 -5
- package/esm2022/inplace/public_api.mjs +0 -4
- package/esm2022/inplace/style/inplacestyle.mjs +0 -69
- package/esm2022/inputgroup/inputgroup.mjs +0 -68
- package/esm2022/inputgroup/primeng-inputgroup.mjs +0 -5
- package/esm2022/inputgroup/public_api.mjs +0 -3
- package/esm2022/inputgroup/style/inputgroupstyle.mjs +0 -145
- package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -74
- package/esm2022/inputgroupaddon/primeng-inputgroupaddon.mjs +0 -5
- package/esm2022/inputgroupaddon/public_api.mjs +0 -3
- package/esm2022/inputgroupaddon/style/inputgroupaddonstyle.mjs +0 -16
- package/esm2022/inputicon/inputicon.mjs +0 -66
- package/esm2022/inputicon/primeng-inputicon.mjs +0 -5
- package/esm2022/inputicon/public_api.mjs +0 -3
- package/esm2022/inputicon/style/inputiconstyle.mjs +0 -16
- package/esm2022/inputmask/inputmask.interface.mjs +0 -2
- package/esm2022/inputmask/inputmask.mjs +0 -927
- package/esm2022/inputmask/primeng-inputmask.mjs +0 -5
- package/esm2022/inputmask/public_api.mjs +0 -4
- package/esm2022/inputmask/style/inputmaskstyle.mjs +0 -62
- package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
- package/esm2022/inputnumber/inputnumber.mjs +0 -1753
- package/esm2022/inputnumber/primeng-inputnumber.mjs +0 -5
- package/esm2022/inputnumber/public_api.mjs +0 -4
- package/esm2022/inputnumber/style/inputnumberstyle.mjs +0 -240
- package/esm2022/inputotp/inputotp.mjs +0 -425
- package/esm2022/inputotp/primeng-inputotp.mjs +0 -5
- package/esm2022/inputotp/public_api.mjs +0 -3
- package/esm2022/inputotp/style/inputotpstyle.mjs +0 -60
- package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
- package/esm2022/inputswitch/inputswitch.mjs +0 -241
- package/esm2022/inputswitch/primeng-inputswitch.mjs +0 -5
- package/esm2022/inputswitch/public_api.mjs +0 -4
- package/esm2022/inputswitch/style/inputswitchstyle.mjs +0 -130
- package/esm2022/inputtext/inputtext.mjs +0 -104
- package/esm2022/inputtext/primeng-inputtext.mjs +0 -5
- package/esm2022/inputtext/public_api.mjs +0 -3
- package/esm2022/inputtext/style/inputtextstyle.mjs +0 -117
- package/esm2022/inputtextarea/inputtextarea.mjs +0 -156
- package/esm2022/inputtextarea/primeng-inputtextarea.mjs +0 -5
- package/esm2022/inputtextarea/public_api.mjs +0 -3
- package/esm2022/inputtextarea/style/textareastyle.mjs +0 -107
- package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
- package/esm2022/keyfilter/keyfilter.mjs +0 -263
- package/esm2022/keyfilter/primeng-keyfilter.mjs +0 -5
- package/esm2022/keyfilter/public_api.mjs +0 -3
- package/esm2022/knob/knob.mjs +0 -471
- package/esm2022/knob/primeng-knob.mjs +0 -5
- package/esm2022/knob/public_api.mjs +0 -3
- package/esm2022/knob/style/knobstyle.mjs +0 -83
- package/esm2022/listbox/listbox.interface.mjs +0 -2
- package/esm2022/listbox/listbox.mjs +0 -2103
- package/esm2022/listbox/primeng-listbox.mjs +0 -5
- package/esm2022/listbox/public_api.mjs +0 -4
- package/esm2022/listbox/style/listboxstyle.mjs +0 -206
- package/esm2022/megamenu/megamenu.interface.mjs +0 -2
- package/esm2022/megamenu/megamenu.mjs +0 -1653
- package/esm2022/megamenu/primeng-megamenu.mjs +0 -5
- package/esm2022/megamenu/public_api.mjs +0 -4
- package/esm2022/megamenu/style/megamenustyle.mjs +0 -487
- package/esm2022/menu/menu.mjs +0 -1193
- package/esm2022/menu/primeng-menu.mjs +0 -5
- package/esm2022/menu/public_api.mjs +0 -3
- package/esm2022/menu/style/menustyle.mjs +0 -179
- package/esm2022/menubar/menubar.interface.mjs +0 -2
- package/esm2022/menubar/menubar.mjs +0 -1519
- package/esm2022/menubar/primeng-menubar.mjs +0 -5
- package/esm2022/menubar/public_api.mjs +0 -4
- package/esm2022/menubar/style/menubarstyle.mjs +0 -375
- package/esm2022/message/message.mjs +0 -445
- package/esm2022/message/primeng-message.mjs +0 -5
- package/esm2022/message/public_api.mjs +0 -3
- package/esm2022/message/style/messagestyle.mjs +0 -357
- package/esm2022/messages/messages.interface.mjs +0 -2
- package/esm2022/messages/messages.mjs +0 -538
- package/esm2022/messages/primeng-messages.mjs +0 -5
- package/esm2022/messages/public_api.mjs +0 -4
- package/esm2022/messages/style/messagesstyle.mjs +0 -229
- package/esm2022/metergroup/metergroup.interface.mjs +0 -2
- package/esm2022/metergroup/metergroup.mjs +0 -455
- package/esm2022/metergroup/primeng-metergroup.mjs +0 -5
- package/esm2022/metergroup/public_api.mjs +0 -4
- package/esm2022/metergroup/style/metergroupstyle.mjs +0 -169
- package/esm2022/multiselect/multiselect.interface.mjs +0 -2
- package/esm2022/multiselect/multiselect.mjs +0 -3015
- package/esm2022/multiselect/primeng-multiselect.mjs +0 -5
- package/esm2022/multiselect/public_api.mjs +0 -4
- package/esm2022/multiselect/style/multiselectstyle.mjs +0 -373
- package/esm2022/orderlist/orderlist.interface.mjs +0 -2
- package/esm2022/orderlist/orderlist.mjs +0 -1176
- package/esm2022/orderlist/primeng-orderlist.mjs +0 -5
- package/esm2022/orderlist/public_api.mjs +0 -4
- package/esm2022/orderlist/style/orderliststyle.mjs +0 -51
- package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
- package/esm2022/organizationchart/organizationchart.mjs +0 -607
- package/esm2022/organizationchart/primeng-organizationchart.mjs +0 -5
- package/esm2022/organizationchart/public_api.mjs +0 -4
- package/esm2022/organizationchart/style/organizationchartstyle.mjs +0 -191
- package/esm2022/overlay/overlay.mjs +0 -688
- package/esm2022/overlay/primeng-overlay.mjs +0 -5
- package/esm2022/overlay/public_api.mjs +0 -3
- package/esm2022/overlay/style/overlaystyle.mjs +0 -93
- package/esm2022/overlaybadge/overlaybadge.mjs +0 -121
- package/esm2022/overlaybadge/primeng-overlaybadge.mjs +0 -5
- package/esm2022/overlaybadge/public_api.mjs +0 -3
- package/esm2022/overlaybadge/style/overlaybadgestyle.mjs +0 -34
- package/esm2022/overlaypanel/overlaypanel.mjs +0 -552
- package/esm2022/overlaypanel/primeng-overlaypanel.mjs +0 -5
- package/esm2022/overlaypanel/public_api.mjs +0 -3
- package/esm2022/overlaypanel/style/popoverstyle.mjs +0 -119
- package/esm2022/paginator/paginator.interface.mjs +0 -2
- package/esm2022/paginator/paginator.mjs +0 -925
- package/esm2022/paginator/primeng-paginator.mjs +0 -5
- package/esm2022/paginator/public_api.mjs +0 -4
- package/esm2022/paginator/style/paginatorstyle.mjs +0 -243
- package/esm2022/panel/panel.mjs +0 -645
- package/esm2022/panel/primeng-panel.mjs +0 -5
- package/esm2022/panel/public_api.mjs +0 -3
- package/esm2022/panel/style/panelstyle.mjs +0 -120
- package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
- package/esm2022/panelmenu/panelmenu.mjs +0 -1651
- package/esm2022/panelmenu/primeng-panelmenu.mjs +0 -5
- package/esm2022/panelmenu/public_api.mjs +0 -4
- package/esm2022/panelmenu/style/panelmenustyle.mjs +0 -291
- package/esm2022/password/password.mjs +0 -1240
- package/esm2022/password/primeng-password.mjs +0 -5
- package/esm2022/password/public_api.mjs +0 -3
- package/esm2022/password/style/passwordstyle.mjs +0 -182
- package/esm2022/picklist/picklist.interface.mjs +0 -2
- package/esm2022/picklist/picklist.mjs +0 -2426
- package/esm2022/picklist/primeng-picklist.mjs +0 -5
- package/esm2022/picklist/public_api.mjs +0 -4
- package/esm2022/picklist/style/pickliststyle.mjs +0 -79
- package/esm2022/popover/popover.mjs +0 -535
- package/esm2022/popover/primeng-popover.mjs +0 -5
- package/esm2022/popover/public_api.mjs +0 -3
- package/esm2022/popover/style/popoverstyle.mjs +0 -99
- package/esm2022/primeng.mjs +0 -5
- package/esm2022/progressbar/primeng-progressbar.mjs +0 -5
- package/esm2022/progressbar/progressbar.mjs +0 -215
- package/esm2022/progressbar/public_api.mjs +0 -3
- package/esm2022/progressbar/style/progressbarstyle.mjs +0 -165
- package/esm2022/progressspinner/primeng-progressspinner.mjs +0 -5
- package/esm2022/progressspinner/progressspinner.mjs +0 -105
- package/esm2022/progressspinner/public_api.mjs +0 -3
- package/esm2022/progressspinner/style/progressspinnerstyle.mjs +0 -115
- package/esm2022/public_api.mjs +0 -2
- package/esm2022/radiobutton/primeng-radiobutton.mjs +0 -5
- package/esm2022/radiobutton/public_api.mjs +0 -4
- package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
- package/esm2022/radiobutton/radiobutton.mjs +0 -356
- package/esm2022/radiobutton/style/radiobuttonstyle.mjs +0 -196
- package/esm2022/rating/primeng-rating.mjs +0 -5
- package/esm2022/rating/public_api.mjs +0 -4
- package/esm2022/rating/rating.interface.mjs +0 -2
- package/esm2022/rating/rating.mjs +0 -449
- package/esm2022/rating/style/ratingstyle.mjs +0 -103
- package/esm2022/ripple/primeng-ripple.mjs +0 -5
- package/esm2022/ripple/public_api.mjs +0 -3
- package/esm2022/ripple/ripple.mjs +0 -134
- package/esm2022/ripple/style/ripplestyle.mjs +0 -63
- package/esm2022/scroller/primeng-scroller.mjs +0 -5
- package/esm2022/scroller/public_api.mjs +0 -4
- package/esm2022/scroller/scroller.interface.mjs +0 -2
- package/esm2022/scroller/scroller.mjs +0 -1300
- package/esm2022/scroller/style/scrollerstyle.mjs +0 -104
- package/esm2022/scrollpanel/primeng-scrollpanel.mjs +0 -5
- package/esm2022/scrollpanel/public_api.mjs +0 -4
- package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
- package/esm2022/scrollpanel/scrollpanel.mjs +0 -525
- package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +0 -120
- package/esm2022/scrolltop/primeng-scrolltop.mjs +0 -5
- package/esm2022/scrolltop/public_api.mjs +0 -4
- package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
- package/esm2022/scrolltop/scrolltop.mjs +0 -343
- package/esm2022/scrolltop/style/scrolltopstyle.mjs +0 -77
- package/esm2022/select/primeng-select.mjs +0 -5
- package/esm2022/select/public_api.mjs +0 -4
- package/esm2022/select/select.interface.mjs +0 -2
- package/esm2022/select/select.mjs +0 -2697
- package/esm2022/select/style/selectstyle.mjs +0 -365
- package/esm2022/selectbutton/primeng-selectbutton.mjs +0 -5
- package/esm2022/selectbutton/public_api.mjs +0 -4
- package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
- package/esm2022/selectbutton/selectbutton.mjs +0 -388
- package/esm2022/selectbutton/style/selectbuttonstyle.mjs +0 -73
- package/esm2022/sidebar/primeng-sidebar.mjs +0 -5
- package/esm2022/sidebar/public_api.mjs +0 -4
- package/esm2022/sidebar/sidebar.interface.mjs +0 -2
- package/esm2022/sidebar/sidebar.mjs +0 -600
- package/esm2022/sidebar/style/drawerstyle.mjs +0 -174
- package/esm2022/skeleton/primeng-skeleton.mjs +0 -5
- package/esm2022/skeleton/public_api.mjs +0 -3
- package/esm2022/skeleton/skeleton.mjs +0 -121
- package/esm2022/skeleton/style/skeletonstyle.mjs +0 -93
- package/esm2022/slider/primeng-slider.mjs +0 -5
- package/esm2022/slider/public_api.mjs +0 -4
- package/esm2022/slider/slider.interface.mjs +0 -2
- package/esm2022/slider/slider.mjs +0 -820
- package/esm2022/slider/style/sliderstyle.mjs +0 -141
- package/esm2022/speeddial/primeng-speeddial.mjs +0 -5
- package/esm2022/speeddial/public_api.mjs +0 -4
- package/esm2022/speeddial/speeddial.interface.mjs +0 -2
- package/esm2022/speeddial/speeddial.mjs +0 -891
- package/esm2022/speeddial/style/speeddialstyle.mjs +0 -167
- package/esm2022/splitbutton/primeng-splitbutton.mjs +0 -5
- package/esm2022/splitbutton/public_api.mjs +0 -4
- package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
- package/esm2022/splitbutton/splitbutton.mjs +0 -602
- package/esm2022/splitbutton/style/splitbuttonstyle.mjs +0 -100
- package/esm2022/splitter/primeng-splitter.mjs +0 -5
- package/esm2022/splitter/public_api.mjs +0 -4
- package/esm2022/splitter/splitter.interface.mjs +0 -2
- package/esm2022/splitter/splitter.mjs +0 -626
- package/esm2022/splitter/style/splitterstyle.mjs +0 -127
- package/esm2022/stepper/primeng-stepper.mjs +0 -5
- package/esm2022/stepper/public_api.mjs +0 -3
- package/esm2022/stepper/stepper.mjs +0 -535
- package/esm2022/stepper/style/stepperstyle.mjs +0 -228
- package/esm2022/steps/primeng-steps.mjs +0 -5
- package/esm2022/steps/public_api.mjs +0 -3
- package/esm2022/steps/steps.mjs +0 -405
- package/esm2022/steps/style/stepsstyle.mjs +0 -180
- package/esm2022/styleclass/primeng-styleclass.mjs +0 -5
- package/esm2022/styleclass/public_api.mjs +0 -2
- package/esm2022/styleclass/styleclass.mjs +0 -315
- package/esm2022/table/columnfilter.interface.mjs +0 -2
- package/esm2022/table/primeng-table.mjs +0 -5
- package/esm2022/table/public_api.mjs +0 -5
- package/esm2022/table/style/tablestyle.mjs +0 -906
- package/esm2022/table/table.interface.mjs +0 -2
- package/esm2022/table/table.mjs +0 -7840
- package/esm2022/tabmenu/primeng-tabmenu.mjs +0 -5
- package/esm2022/tabmenu/public_api.mjs +0 -4
- package/esm2022/tabmenu/style/tabmenustyle.mjs +0 -192
- package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
- package/esm2022/tabmenu/tabmenu.mjs +0 -757
- package/esm2022/tabs/primeng-tabs.mjs +0 -5
- package/esm2022/tabs/public_api.mjs +0 -7
- package/esm2022/tabs/style/tabsstyle.mjs +0 -211
- package/esm2022/tabs/tab.mjs +0 -175
- package/esm2022/tabs/tablist.mjs +0 -305
- package/esm2022/tabs/tabpanel.mjs +0 -60
- package/esm2022/tabs/tabpanels.mjs +0 -38
- package/esm2022/tabs/tabs.mjs +0 -105
- package/esm2022/tabview/primeng-tabview.mjs +0 -5
- package/esm2022/tabview/public_api.mjs +0 -4
- package/esm2022/tabview/style/tabsstyle.mjs +0 -211
- package/esm2022/tabview/tabview.interface.mjs +0 -2
- package/esm2022/tabview/tabview.mjs +0 -1141
- package/esm2022/tag/primeng-tag.mjs +0 -5
- package/esm2022/tag/public_api.mjs +0 -4
- package/esm2022/tag/style/tagstyle.mjs +0 -108
- package/esm2022/tag/tag.interface.mjs +0 -2
- package/esm2022/tag/tag.mjs +0 -192
- package/esm2022/terminal/primeng-terminal.mjs +0 -5
- package/esm2022/terminal/public_api.mjs +0 -4
- package/esm2022/terminal/style/terminalstyle.mjs +0 -113
- package/esm2022/terminal/terminal.mjs +0 -195
- package/esm2022/terminal/terminalservice.mjs +0 -25
- package/esm2022/textarea/primeng-textarea.mjs +0 -5
- package/esm2022/textarea/public_api.mjs +0 -3
- package/esm2022/textarea/style/textareastyle.mjs +0 -120
- package/esm2022/textarea/textarea.mjs +0 -165
- package/esm2022/tieredmenu/primeng-tieredmenu.mjs +0 -5
- package/esm2022/tieredmenu/public_api.mjs +0 -4
- package/esm2022/tieredmenu/style/tieredmenustyle.mjs +0 -276
- package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
- package/esm2022/tieredmenu/tieredmenu.mjs +0 -1467
- package/esm2022/timeline/primeng-timeline.mjs +0 -5
- package/esm2022/timeline/public_api.mjs +0 -4
- package/esm2022/timeline/style/timelinestyle.mjs +0 -217
- package/esm2022/timeline/timeline.interface.mjs +0 -2
- package/esm2022/timeline/timeline.mjs +0 -247
- package/esm2022/toast/primeng-toast.mjs +0 -5
- package/esm2022/toast/public_api.mjs +0 -4
- package/esm2022/toast/style/toaststyle.mjs +0 -351
- package/esm2022/toast/toast.interface.mjs +0 -2
- package/esm2022/toast/toast.mjs +0 -760
- package/esm2022/togglebutton/primeng-togglebutton.mjs +0 -5
- package/esm2022/togglebutton/public_api.mjs +0 -3
- package/esm2022/togglebutton/style/togglebuttonstyle.mjs +0 -170
- package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
- package/esm2022/togglebutton/togglebutton.mjs +0 -368
- package/esm2022/toggleswitch/primeng-toggleswitch.mjs +0 -5
- package/esm2022/toggleswitch/public_api.mjs +0 -4
- package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +0 -165
- package/esm2022/toggleswitch/toggleswitch.interface.mjs +0 -2
- package/esm2022/toggleswitch/toggleswitch.mjs +0 -297
- package/esm2022/toolbar/primeng-toolbar.mjs +0 -5
- package/esm2022/toolbar/public_api.mjs +0 -4
- package/esm2022/toolbar/style/toolbarstyle.mjs +0 -69
- package/esm2022/toolbar/toolbar.interface.mjs +0 -2
- package/esm2022/toolbar/toolbar.mjs +0 -198
- package/esm2022/tooltip/primeng-tooltip.mjs +0 -5
- package/esm2022/tooltip/public_api.mjs +0 -3
- package/esm2022/tooltip/style/tooltipstyle.mjs +0 -113
- package/esm2022/tooltip/tooltip.mjs +0 -680
- package/esm2022/tree/primeng-tree.mjs +0 -5
- package/esm2022/tree/public_api.mjs +0 -4
- package/esm2022/tree/style/treestyle.mjs +0 -333
- package/esm2022/tree/tree.interface.mjs +0 -2
- package/esm2022/tree/tree.mjs +0 -2304
- package/esm2022/treeselect/primeng-treeselect.mjs +0 -5
- package/esm2022/treeselect/public_api.mjs +0 -4
- package/esm2022/treeselect/style/treeselectstyle.mjs +0 -271
- package/esm2022/treeselect/treeselect.interface.mjs +0 -2
- package/esm2022/treeselect/treeselect.mjs +0 -1439
- package/esm2022/treetable/primeng-treetable.mjs +0 -5
- package/esm2022/treetable/public_api.mjs +0 -4
- package/esm2022/treetable/style/treetablestyle.mjs +0 -621
- package/esm2022/treetable/treetable.interface.mjs +0 -2
- package/esm2022/treetable/treetable.mjs +0 -4661
- package/esm2022/ts-helpers/primeng-ts-helpers.mjs +0 -5
- package/esm2022/ts-helpers/public_api.mjs +0 -2
- package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
- package/esm2022/usestyle/primeng-usestyle.mjs +0 -5
- package/esm2022/usestyle/public_api.mjs +0 -2
- package/esm2022/usestyle/usestyle.mjs +0 -44
- package/esm2022/utils/inpututils.mjs +0 -7
- package/esm2022/utils/objectutils.mjs +0 -276
- package/esm2022/utils/primeng-utils.mjs +0 -5
- package/esm2022/utils/public_api.mjs +0 -6
- package/esm2022/utils/uniquecomponentid.mjs +0 -6
- package/esm2022/utils/zindexutils.mjs +0 -35
@@ -1,1141 +0,0 @@
|
|
1
|
-
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
2
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, forwardRef, HostBinding, inject, Input, NgModule, numberAttribute, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
3
|
-
import { find, findSingle, focus, getAttribute, getOffset, getOuterWidth, getWidth, uuid } from '@primeuix/utils';
|
4
|
-
import { PrimeTemplate, SharedModule } from 'primeng/api';
|
5
|
-
import { BaseComponent } from 'primeng/basecomponent';
|
6
|
-
import { ChevronLeftIcon, ChevronRightIcon, TimesIcon } from 'primeng/icons';
|
7
|
-
import { Ripple } from 'primeng/ripple';
|
8
|
-
import { TooltipModule } from 'primeng/tooltip';
|
9
|
-
import { TabsStyle } from './style/tabsstyle';
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
import * as i1 from "@angular/common";
|
12
|
-
import * as i2 from "primeng/tooltip";
|
13
|
-
const _c0 = ["content"];
|
14
|
-
const _c1 = ["header"];
|
15
|
-
const _c2 = ["lefticon"];
|
16
|
-
const _c3 = ["righticon"];
|
17
|
-
const _c4 = ["closeicon"];
|
18
|
-
const _c5 = ["*"];
|
19
|
-
function TabPanel_div_0_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
20
|
-
i0.ɵɵelementContainer(0);
|
21
|
-
} }
|
22
|
-
function TabPanel_div_0_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
23
|
-
i0.ɵɵelementContainerStart(0);
|
24
|
-
i0.ɵɵtemplate(1, TabPanel_div_0_ng_container_2_ng_container_1_Template, 1, 0, "ng-container", 3);
|
25
|
-
i0.ɵɵelementContainerEnd();
|
26
|
-
} if (rf & 2) {
|
27
|
-
const ctx_r0 = i0.ɵɵnextContext(2);
|
28
|
-
i0.ɵɵadvance();
|
29
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.contentTemplate || ctx_r0._contentTemplate);
|
30
|
-
} }
|
31
|
-
function TabPanel_div_0_Template(rf, ctx) { if (rf & 1) {
|
32
|
-
i0.ɵɵelementStart(0, "div", 1);
|
33
|
-
i0.ɵɵprojection(1);
|
34
|
-
i0.ɵɵtemplate(2, TabPanel_div_0_ng_container_2_Template, 2, 1, "ng-container", 2);
|
35
|
-
i0.ɵɵelementEnd();
|
36
|
-
} if (rf & 2) {
|
37
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
38
|
-
i0.ɵɵproperty("hidden", !ctx_r0.selected);
|
39
|
-
i0.ɵɵattribute("id", ctx_r0.tabView.getTabContentId(ctx_r0.id))("aria-hidden", !ctx_r0.selected)("aria-labelledby", ctx_r0.tabView.getTabHeaderActionId(ctx_r0.id))("data-pc-name", "tabpanel");
|
40
|
-
i0.ɵɵadvance(2);
|
41
|
-
i0.ɵɵproperty("ngIf", (ctx_r0.contentTemplate || ctx_r0._contentTemplate) && (ctx_r0.cache ? ctx_r0.loaded : ctx_r0.selected));
|
42
|
-
} }
|
43
|
-
const _c6 = ["previousicon"];
|
44
|
-
const _c7 = ["nexticon"];
|
45
|
-
const _c8 = ["navbar"];
|
46
|
-
const _c9 = ["prevBtn"];
|
47
|
-
const _c10 = ["nextBtn"];
|
48
|
-
const _c11 = ["inkbar"];
|
49
|
-
const _c12 = ["elementToObserve"];
|
50
|
-
const _c13 = a0 => ({ "p-tablist-viewport": a0 });
|
51
|
-
const _c14 = (a0, a1) => ({ "p-tab": true, "p-tab-active": a0, "p-disabled": a1 });
|
52
|
-
function TabView_button_2_ChevronLeftIcon_2_Template(rf, ctx) { if (rf & 1) {
|
53
|
-
i0.ɵɵelement(0, "ChevronLeftIcon");
|
54
|
-
} if (rf & 2) {
|
55
|
-
i0.ɵɵattribute("aria-hidden", true);
|
56
|
-
} }
|
57
|
-
function TabView_button_2_3_ng_template_0_Template(rf, ctx) { }
|
58
|
-
function TabView_button_2_3_Template(rf, ctx) { if (rf & 1) {
|
59
|
-
i0.ɵɵtemplate(0, TabView_button_2_3_ng_template_0_Template, 0, 0, "ng-template");
|
60
|
-
} }
|
61
|
-
function TabView_button_2_Template(rf, ctx) { if (rf & 1) {
|
62
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
63
|
-
i0.ɵɵelementStart(0, "button", 12, 3);
|
64
|
-
i0.ɵɵlistener("click", function TabView_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.navBackward()); });
|
65
|
-
i0.ɵɵtemplate(2, TabView_button_2_ChevronLeftIcon_2_Template, 1, 1, "ChevronLeftIcon", 13)(3, TabView_button_2_3_Template, 1, 0, null, 14);
|
66
|
-
i0.ɵɵelementEnd();
|
67
|
-
} if (rf & 2) {
|
68
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
69
|
-
i0.ɵɵattribute("tabindex", ctx_r2.tabindex)("aria-label", ctx_r2.prevButtonAriaLabel);
|
70
|
-
i0.ɵɵadvance(2);
|
71
|
-
i0.ɵɵproperty("ngIf", !ctx_r2.previousIconTemplate && !ctx_r2._previousIconTemplate);
|
72
|
-
i0.ɵɵadvance();
|
73
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.previousIconTemplate && ctx_r2._previousIconTemplate);
|
74
|
-
} }
|
75
|
-
function TabView_For_8_Conditional_0_Conditional_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
76
|
-
i0.ɵɵelementContainer(0);
|
77
|
-
} }
|
78
|
-
function TabView_For_8_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
79
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_1_ng_container_0_Template, 1, 0, "ng-container", 14);
|
80
|
-
} if (rf & 2) {
|
81
|
-
const tab_r5 = i0.ɵɵnextContext(2).$implicit;
|
82
|
-
i0.ɵɵproperty("ngTemplateOutlet", tab_r5.headerTemplate || tab_r5._headerTemplate);
|
83
|
-
} }
|
84
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_0_0_ng_template_0_Template(rf, ctx) { }
|
85
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_0_0_Template(rf, ctx) { if (rf & 1) {
|
86
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_2_Conditional_0_0_ng_template_0_Template, 0, 0, "ng-template");
|
87
|
-
} }
|
88
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
89
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_2_Conditional_0_0_Template, 1, 0, null, 14);
|
90
|
-
} if (rf & 2) {
|
91
|
-
const tab_r5 = i0.ɵɵnextContext(3).$implicit;
|
92
|
-
i0.ɵɵproperty("ngTemplateOutlet", tab_r5.leftIconTemplate || tab_r5._leftIconTemplate);
|
93
|
-
} }
|
94
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
95
|
-
i0.ɵɵelement(0, "span", 17);
|
96
|
-
} if (rf & 2) {
|
97
|
-
const tab_r5 = i0.ɵɵnextContext(3).$implicit;
|
98
|
-
i0.ɵɵproperty("ngClass", tab_r5.leftIcon);
|
99
|
-
} }
|
100
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_3_0_ng_template_0_Template(rf, ctx) { }
|
101
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_3_0_Template(rf, ctx) { if (rf & 1) {
|
102
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_2_Conditional_3_0_ng_template_0_Template, 0, 0, "ng-template");
|
103
|
-
} }
|
104
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
105
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_2_Conditional_3_0_Template, 1, 0, null, 14);
|
106
|
-
} if (rf & 2) {
|
107
|
-
const tab_r5 = i0.ɵɵnextContext(3).$implicit;
|
108
|
-
i0.ɵɵproperty("ngTemplateOutlet", tab_r5.rightIconTemplate || tab_r5._rightIconTemplate);
|
109
|
-
} }
|
110
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
111
|
-
i0.ɵɵelement(0, "span", 18);
|
112
|
-
} if (rf & 2) {
|
113
|
-
const tab_r5 = i0.ɵɵnextContext(3).$implicit;
|
114
|
-
i0.ɵɵproperty("ngClass", tab_r5.rightIcon);
|
115
|
-
} }
|
116
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_0_0_ng_template_0_Template(rf, ctx) { }
|
117
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_0_0_Template(rf, ctx) { if (rf & 1) {
|
118
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_0_0_ng_template_0_Template, 0, 0, "ng-template");
|
119
|
-
} }
|
120
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
121
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_0_0_Template, 1, 0, null, 14);
|
122
|
-
} if (rf & 2) {
|
123
|
-
const tab_r5 = i0.ɵɵnextContext(4).$implicit;
|
124
|
-
i0.ɵɵproperty("ngTemplateOutlet", tab_r5.closeIconTemplate || tab_r5._closeIconTemplate);
|
125
|
-
} }
|
126
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
127
|
-
const _r6 = i0.ɵɵgetCurrentView();
|
128
|
-
i0.ɵɵelementStart(0, "TimesIcon", 19);
|
129
|
-
i0.ɵɵlistener("click", function TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_1_Template_TimesIcon_click_0_listener($event) { i0.ɵɵrestoreView(_r6); const tab_r5 = i0.ɵɵnextContext(4).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.close($event, tab_r5)); });
|
130
|
-
i0.ɵɵelementEnd();
|
131
|
-
} }
|
132
|
-
function TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
133
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_0_Template, 1, 1)(1, TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Conditional_1_Template, 1, 0, "TimesIcon");
|
134
|
-
} if (rf & 2) {
|
135
|
-
const tab_r5 = i0.ɵɵnextContext(3).$implicit;
|
136
|
-
i0.ɵɵconditional(tab_r5.closeIconTemplate || tab_r5._closeIconTemplate ? 0 : 1);
|
137
|
-
} }
|
138
|
-
function TabView_For_8_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
139
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Conditional_2_Conditional_0_Template, 1, 1)(1, TabView_For_8_Conditional_0_Conditional_2_Conditional_1_Template, 1, 1, "span", 17);
|
140
|
-
i0.ɵɵtext(2);
|
141
|
-
i0.ɵɵtemplate(3, TabView_For_8_Conditional_0_Conditional_2_Conditional_3_Template, 1, 1)(4, TabView_For_8_Conditional_0_Conditional_2_Conditional_4_Template, 1, 1, "span", 18)(5, TabView_For_8_Conditional_0_Conditional_2_Conditional_5_Template, 2, 1);
|
142
|
-
} if (rf & 2) {
|
143
|
-
const tab_r5 = i0.ɵɵnextContext(2).$implicit;
|
144
|
-
i0.ɵɵconditional(tab_r5.leftIconTemplate || tab_r5._leftIconTemplate ? 0 : tab_r5.leftIcon && !tab_r5.leftIconTemplate && !tab_r5._leftIconTemplate ? 1 : -1);
|
145
|
-
i0.ɵɵadvance(2);
|
146
|
-
i0.ɵɵtextInterpolate1(" ", tab_r5.header, " ");
|
147
|
-
i0.ɵɵadvance();
|
148
|
-
i0.ɵɵconditional(tab_r5.rightIconTemplate || tab_r5._rightIconTemplate ? 3 : tab_r5.rightIcon && !tab_r5.rightIconTemplate && !tab_r5._rightIconTemplate ? 4 : -1);
|
149
|
-
i0.ɵɵadvance(2);
|
150
|
-
i0.ɵɵconditional(tab_r5.closable ? 5 : -1);
|
151
|
-
} }
|
152
|
-
function TabView_For_8_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
153
|
-
const _r4 = i0.ɵɵgetCurrentView();
|
154
|
-
i0.ɵɵelementStart(0, "button", 15);
|
155
|
-
i0.ɵɵlistener("click", function TabView_For_8_Conditional_0_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const tab_r5 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.open($event, tab_r5)); })("keydown", function TabView_For_8_Conditional_0_Template_button_keydown_0_listener($event) { i0.ɵɵrestoreView(_r4); const tab_r5 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onTabKeyDown($event, tab_r5)); });
|
156
|
-
i0.ɵɵtemplate(1, TabView_For_8_Conditional_0_Conditional_1_Template, 1, 1, "ng-container")(2, TabView_For_8_Conditional_0_Conditional_2_Template, 6, 4);
|
157
|
-
i0.ɵɵelementEnd();
|
158
|
-
i0.ɵɵelement(3, "span", 16, 4);
|
159
|
-
} if (rf & 2) {
|
160
|
-
const ctx_r6 = i0.ɵɵnextContext();
|
161
|
-
const tab_r5 = ctx_r6.$implicit;
|
162
|
-
const ɵ$index_19_r8 = ctx_r6.$index;
|
163
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
164
|
-
i0.ɵɵclassMap(tab_r5.headerStyleClass);
|
165
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(22, _c14, tab_r5.selected, tab_r5.disabled))("ngStyle", tab_r5.headerStyle)("pTooltip", tab_r5.tooltip)("tooltipPosition", tab_r5.tooltipPosition)("positionStyle", tab_r5.tooltipPositionStyle)("tooltipStyleClass", tab_r5.tooltipStyleClass)("disabled", tab_r5.disabled);
|
166
|
-
i0.ɵɵattribute("role", "tab")("id", ctx_r2.getTabHeaderActionId(tab_r5.id))("aria-controls", ctx_r2.getTabContentId(tab_r5.id))("aria-selected", tab_r5.selected)("tabindex", tab_r5.disabled || !tab_r5.selected ? "-1" : ctx_r2.tabindex)("aria-disabled", tab_r5.disabled)("data-pc-index", ɵ$index_19_r8)("data-p-disabled", tab_r5.disabled)("data-pc-section", "headeraction")("data-p-active", tab_r5.selected);
|
167
|
-
i0.ɵɵadvance();
|
168
|
-
i0.ɵɵconditional(tab_r5.headerTemplate || tab_r5._headerTemplate ? 1 : 2);
|
169
|
-
i0.ɵɵadvance(2);
|
170
|
-
i0.ɵɵattribute("aria-hidden", true)("data-pc-section", "inkbar");
|
171
|
-
} }
|
172
|
-
function TabView_For_8_Template(rf, ctx) { if (rf & 1) {
|
173
|
-
i0.ɵɵtemplate(0, TabView_For_8_Conditional_0_Template, 5, 25);
|
174
|
-
} if (rf & 2) {
|
175
|
-
const tab_r5 = ctx.$implicit;
|
176
|
-
i0.ɵɵconditional(!tab_r5.closed ? 0 : -1);
|
177
|
-
} }
|
178
|
-
function TabView_button_9_Conditional_2_0_ng_template_0_Template(rf, ctx) { }
|
179
|
-
function TabView_button_9_Conditional_2_0_Template(rf, ctx) { if (rf & 1) {
|
180
|
-
i0.ɵɵtemplate(0, TabView_button_9_Conditional_2_0_ng_template_0_Template, 0, 0, "ng-template");
|
181
|
-
} }
|
182
|
-
function TabView_button_9_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
183
|
-
i0.ɵɵtemplate(0, TabView_button_9_Conditional_2_0_Template, 1, 0, null, 14);
|
184
|
-
} if (rf & 2) {
|
185
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
186
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.nextIconTemplate || ctx_r2._nextIconTemplate);
|
187
|
-
} }
|
188
|
-
function TabView_button_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
189
|
-
i0.ɵɵelement(0, "ChevronRightIcon");
|
190
|
-
} if (rf & 2) {
|
191
|
-
i0.ɵɵattribute("aria-hidden", true);
|
192
|
-
} }
|
193
|
-
function TabView_button_9_Template(rf, ctx) { if (rf & 1) {
|
194
|
-
const _r9 = i0.ɵɵgetCurrentView();
|
195
|
-
i0.ɵɵelementStart(0, "button", 20, 5);
|
196
|
-
i0.ɵɵlistener("click", function TabView_button_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.navForward()); });
|
197
|
-
i0.ɵɵtemplate(2, TabView_button_9_Conditional_2_Template, 1, 1)(3, TabView_button_9_Conditional_3_Template, 1, 1, "ChevronRightIcon");
|
198
|
-
i0.ɵɵelementEnd();
|
199
|
-
} if (rf & 2) {
|
200
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
201
|
-
i0.ɵɵattribute("tabindex", ctx_r2.tabindex)("aria-label", ctx_r2.nextButtonAriaLabel);
|
202
|
-
i0.ɵɵadvance(2);
|
203
|
-
i0.ɵɵconditional(ctx_r2.nextIconTemplate || ctx_r2._nextIconTemplate ? 2 : 3);
|
204
|
-
} }
|
205
|
-
/**
|
206
|
-
* TabPanel is a helper component for TabView component.
|
207
|
-
* @group Components
|
208
|
-
*/
|
209
|
-
export class TabPanel extends BaseComponent {
|
210
|
-
/**
|
211
|
-
* Defines if tab can be removed.
|
212
|
-
* @group Props
|
213
|
-
*/
|
214
|
-
closable = false;
|
215
|
-
/**
|
216
|
-
* Inline style of the tab header.
|
217
|
-
* @group Props
|
218
|
-
*/
|
219
|
-
get headerStyle() {
|
220
|
-
return this._headerStyle;
|
221
|
-
}
|
222
|
-
set headerStyle(headerStyle) {
|
223
|
-
this._headerStyle = headerStyle;
|
224
|
-
this.tabView.cd.markForCheck();
|
225
|
-
}
|
226
|
-
/**
|
227
|
-
* Style class of the tab header.
|
228
|
-
* @group Props
|
229
|
-
*/
|
230
|
-
get headerStyleClass() {
|
231
|
-
return this._headerStyleClass;
|
232
|
-
}
|
233
|
-
set headerStyleClass(headerStyleClass) {
|
234
|
-
this._headerStyleClass = headerStyleClass;
|
235
|
-
this.tabView.cd.markForCheck();
|
236
|
-
}
|
237
|
-
/**
|
238
|
-
* Whether a lazy loaded panel should avoid getting loaded again on reselection.
|
239
|
-
* @group Props
|
240
|
-
*/
|
241
|
-
cache = true;
|
242
|
-
/**
|
243
|
-
* Advisory information to display in a tooltip on hover.
|
244
|
-
* @group Props
|
245
|
-
*/
|
246
|
-
tooltip;
|
247
|
-
/**
|
248
|
-
* Position of the tooltip.
|
249
|
-
* @group Props
|
250
|
-
*/
|
251
|
-
tooltipPosition = 'top';
|
252
|
-
/**
|
253
|
-
* Type of CSS position.
|
254
|
-
* @group Props
|
255
|
-
*/
|
256
|
-
tooltipPositionStyle = 'absolute';
|
257
|
-
/**
|
258
|
-
* Style class of the tooltip.
|
259
|
-
* @group Props
|
260
|
-
*/
|
261
|
-
tooltipStyleClass;
|
262
|
-
/**
|
263
|
-
* Defines if tab is active.
|
264
|
-
* @defaultValue false
|
265
|
-
* @group Props
|
266
|
-
*/
|
267
|
-
get selected() {
|
268
|
-
return !!this._selected;
|
269
|
-
}
|
270
|
-
set selected(val) {
|
271
|
-
this._selected = val;
|
272
|
-
if (!this.loaded) {
|
273
|
-
this.cd.detectChanges();
|
274
|
-
}
|
275
|
-
if (val)
|
276
|
-
this.loaded = true;
|
277
|
-
}
|
278
|
-
/**
|
279
|
-
* When true, tab cannot be activated.
|
280
|
-
* @defaultValue false
|
281
|
-
* @group Props
|
282
|
-
*/
|
283
|
-
get disabled() {
|
284
|
-
return !!this._disabled;
|
285
|
-
}
|
286
|
-
set disabled(disabled) {
|
287
|
-
this._disabled = disabled;
|
288
|
-
this.tabView.cd.markForCheck();
|
289
|
-
}
|
290
|
-
/**
|
291
|
-
* Title of the tabPanel.
|
292
|
-
* @group Props
|
293
|
-
*/
|
294
|
-
get header() {
|
295
|
-
return this._header;
|
296
|
-
}
|
297
|
-
set header(header) {
|
298
|
-
this._header = header;
|
299
|
-
// We have to wait for the rendering and then retrieve the actual size element from the DOM.
|
300
|
-
// in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)
|
301
|
-
Promise.resolve().then(() => {
|
302
|
-
this.tabView.updateInkBar();
|
303
|
-
this.tabView.cd.markForCheck();
|
304
|
-
});
|
305
|
-
}
|
306
|
-
/**
|
307
|
-
* Left icon of the tabPanel.
|
308
|
-
* @group Props
|
309
|
-
* @deprecated since v15.4.2, use `lefticon` template instead.
|
310
|
-
*/
|
311
|
-
get leftIcon() {
|
312
|
-
return this._leftIcon;
|
313
|
-
}
|
314
|
-
set leftIcon(leftIcon) {
|
315
|
-
this._leftIcon = leftIcon;
|
316
|
-
this.tabView.cd.markForCheck();
|
317
|
-
}
|
318
|
-
/**
|
319
|
-
* Left icon of the tabPanel.
|
320
|
-
* @group Props
|
321
|
-
* @deprecated since v15.4.2, use `righticon` template instead.
|
322
|
-
*/
|
323
|
-
get rightIcon() {
|
324
|
-
return this._rightIcon;
|
325
|
-
}
|
326
|
-
set rightIcon(rightIcon) {
|
327
|
-
this._rightIcon = rightIcon;
|
328
|
-
this.tabView.cd.markForCheck();
|
329
|
-
}
|
330
|
-
closed = false;
|
331
|
-
_headerStyle;
|
332
|
-
_headerStyleClass;
|
333
|
-
_selected;
|
334
|
-
_disabled;
|
335
|
-
_header;
|
336
|
-
_leftIcon;
|
337
|
-
_rightIcon = undefined;
|
338
|
-
loaded = false;
|
339
|
-
id = uuid('pn_id_');
|
340
|
-
contentTemplate;
|
341
|
-
headerTemplate;
|
342
|
-
leftIconTemplate;
|
343
|
-
rightIconTemplate;
|
344
|
-
closeIconTemplate;
|
345
|
-
templates;
|
346
|
-
tabView = inject(forwardRef(() => TabView));
|
347
|
-
_componentStyle = inject(TabsStyle);
|
348
|
-
_headerTemplate;
|
349
|
-
_contentTemplate;
|
350
|
-
_rightIconTemplate;
|
351
|
-
_leftIconTemplate;
|
352
|
-
_closeIconTemplate;
|
353
|
-
ngAfterContentInit() {
|
354
|
-
this.templates.forEach((item) => {
|
355
|
-
switch (item.getType()) {
|
356
|
-
case 'header':
|
357
|
-
this._headerTemplate = item.template;
|
358
|
-
break;
|
359
|
-
case 'content':
|
360
|
-
this._contentTemplate = item.template;
|
361
|
-
break;
|
362
|
-
case 'righticon':
|
363
|
-
this._rightIconTemplate = item.template;
|
364
|
-
break;
|
365
|
-
case 'lefticon':
|
366
|
-
this._leftIconTemplate = item.template;
|
367
|
-
break;
|
368
|
-
case 'closeicon':
|
369
|
-
this._closeIconTemplate = item.template;
|
370
|
-
break;
|
371
|
-
default:
|
372
|
-
this._contentTemplate = item.template;
|
373
|
-
break;
|
374
|
-
}
|
375
|
-
});
|
376
|
-
}
|
377
|
-
static ɵfac = /*@__PURE__*/ (() => { let ɵTabPanel_BaseFactory; return function TabPanel_Factory(__ngFactoryType__) { return (ɵTabPanel_BaseFactory || (ɵTabPanel_BaseFactory = i0.ɵɵgetInheritedFactory(TabPanel)))(__ngFactoryType__ || TabPanel); }; })();
|
378
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabPanel, selectors: [["p-tabPanel"], ["p-tabpanel"]], contentQueries: function TabPanel_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
379
|
-
i0.ɵɵcontentQuery(dirIndex, _c0, 5);
|
380
|
-
i0.ɵɵcontentQuery(dirIndex, _c1, 5);
|
381
|
-
i0.ɵɵcontentQuery(dirIndex, _c2, 5);
|
382
|
-
i0.ɵɵcontentQuery(dirIndex, _c3, 5);
|
383
|
-
i0.ɵɵcontentQuery(dirIndex, _c4, 5);
|
384
|
-
i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
|
385
|
-
} if (rf & 2) {
|
386
|
-
let _t;
|
387
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);
|
388
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);
|
389
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.leftIconTemplate = _t.first);
|
390
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rightIconTemplate = _t.first);
|
391
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.closeIconTemplate = _t.first);
|
392
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
|
393
|
-
} }, inputs: { closable: [2, "closable", "closable", booleanAttribute], headerStyle: "headerStyle", headerStyleClass: "headerStyleClass", cache: [2, "cache", "cache", booleanAttribute], tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", selected: "selected", disabled: "disabled", header: "header", leftIcon: "leftIcon", rightIcon: "rightIcon" }, standalone: true, features: [i0.ɵɵProvidersFeature([TabsStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c5, decls: 1, vars: 1, consts: [["class", "p-tabview-panel", "role", "tabpanel", 3, "hidden", 4, "ngIf"], ["role", "tabpanel", 1, "p-tabview-panel", 3, "hidden"], [4, "ngIf"], [4, "ngTemplateOutlet"]], template: function TabPanel_Template(rf, ctx) { if (rf & 1) {
|
394
|
-
i0.ɵɵprojectionDef();
|
395
|
-
i0.ɵɵtemplate(0, TabPanel_div_0_Template, 3, 6, "div", 0);
|
396
|
-
} if (rf & 2) {
|
397
|
-
i0.ɵɵproperty("ngIf", !ctx.closed);
|
398
|
-
} }, dependencies: [CommonModule, i1.NgIf, i1.NgTemplateOutlet, SharedModule], encapsulation: 2 });
|
399
|
-
}
|
400
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabPanel, [{
|
401
|
-
type: Component,
|
402
|
-
args: [{
|
403
|
-
selector: 'p-tabPanel, p-tabpanel',
|
404
|
-
standalone: true,
|
405
|
-
imports: [CommonModule, SharedModule],
|
406
|
-
template: `
|
407
|
-
<div
|
408
|
-
*ngIf="!closed"
|
409
|
-
class="p-tabview-panel"
|
410
|
-
role="tabpanel"
|
411
|
-
[hidden]="!selected"
|
412
|
-
[attr.id]="tabView.getTabContentId(id)"
|
413
|
-
[attr.aria-hidden]="!selected"
|
414
|
-
[attr.aria-labelledby]="tabView.getTabHeaderActionId(id)"
|
415
|
-
[attr.data-pc-name]="'tabpanel'"
|
416
|
-
>
|
417
|
-
<ng-content></ng-content>
|
418
|
-
<ng-container *ngIf="(contentTemplate || _contentTemplate) && (cache ? loaded : selected)">
|
419
|
-
<ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate"></ng-container>
|
420
|
-
</ng-container>
|
421
|
-
</div>
|
422
|
-
`,
|
423
|
-
providers: [TabsStyle]
|
424
|
-
}]
|
425
|
-
}], null, { closable: [{
|
426
|
-
type: Input,
|
427
|
-
args: [{ transform: booleanAttribute }]
|
428
|
-
}], headerStyle: [{
|
429
|
-
type: Input
|
430
|
-
}], headerStyleClass: [{
|
431
|
-
type: Input
|
432
|
-
}], cache: [{
|
433
|
-
type: Input,
|
434
|
-
args: [{ transform: booleanAttribute }]
|
435
|
-
}], tooltip: [{
|
436
|
-
type: Input
|
437
|
-
}], tooltipPosition: [{
|
438
|
-
type: Input
|
439
|
-
}], tooltipPositionStyle: [{
|
440
|
-
type: Input
|
441
|
-
}], tooltipStyleClass: [{
|
442
|
-
type: Input
|
443
|
-
}], selected: [{
|
444
|
-
type: Input
|
445
|
-
}], disabled: [{
|
446
|
-
type: Input
|
447
|
-
}], header: [{
|
448
|
-
type: Input
|
449
|
-
}], leftIcon: [{
|
450
|
-
type: Input
|
451
|
-
}], rightIcon: [{
|
452
|
-
type: Input
|
453
|
-
}], contentTemplate: [{
|
454
|
-
type: ContentChild,
|
455
|
-
args: ['content']
|
456
|
-
}], headerTemplate: [{
|
457
|
-
type: ContentChild,
|
458
|
-
args: ['header']
|
459
|
-
}], leftIconTemplate: [{
|
460
|
-
type: ContentChild,
|
461
|
-
args: ['lefticon']
|
462
|
-
}], rightIconTemplate: [{
|
463
|
-
type: ContentChild,
|
464
|
-
args: ['righticon']
|
465
|
-
}], closeIconTemplate: [{
|
466
|
-
type: ContentChild,
|
467
|
-
args: ['closeicon']
|
468
|
-
}], templates: [{
|
469
|
-
type: ContentChildren,
|
470
|
-
args: [PrimeTemplate]
|
471
|
-
}] }); })();
|
472
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TabPanel, { className: "TabPanel" }); })();
|
473
|
-
/**
|
474
|
-
* TabView is a container component to group content with tabs.
|
475
|
-
* @group Components
|
476
|
-
*/
|
477
|
-
export class TabView extends BaseComponent {
|
478
|
-
get hostClass() {
|
479
|
-
return this.styleClass;
|
480
|
-
}
|
481
|
-
get hostStyle() {
|
482
|
-
return this.style;
|
483
|
-
}
|
484
|
-
/**
|
485
|
-
* Inline style of the component.
|
486
|
-
* @group Props
|
487
|
-
*/
|
488
|
-
style;
|
489
|
-
/**
|
490
|
-
* Style class of the component.
|
491
|
-
* @group Props
|
492
|
-
*/
|
493
|
-
styleClass;
|
494
|
-
/**
|
495
|
-
* Whether tab close is controlled at onClose event or not.
|
496
|
-
* @defaultValue false
|
497
|
-
* @group Props
|
498
|
-
*/
|
499
|
-
controlClose;
|
500
|
-
/**
|
501
|
-
* When enabled displays buttons at each side of the tab headers to scroll the tab list.
|
502
|
-
* @defaultValue false
|
503
|
-
* @group Props
|
504
|
-
*/
|
505
|
-
scrollable;
|
506
|
-
/**
|
507
|
-
* Index of the active tab to change selected tab programmatically.
|
508
|
-
* @group Props
|
509
|
-
*/
|
510
|
-
get activeIndex() {
|
511
|
-
return this._activeIndex;
|
512
|
-
}
|
513
|
-
set activeIndex(val) {
|
514
|
-
this._activeIndex = val;
|
515
|
-
if (this.preventActiveIndexPropagation) {
|
516
|
-
this.preventActiveIndexPropagation = false;
|
517
|
-
return;
|
518
|
-
}
|
519
|
-
if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {
|
520
|
-
this.findSelectedTab().selected = false;
|
521
|
-
this.tabs[this._activeIndex].selected = true;
|
522
|
-
this.tabChanged = true;
|
523
|
-
this.updateScrollBar(val);
|
524
|
-
}
|
525
|
-
}
|
526
|
-
/**
|
527
|
-
* When enabled, the focused tab is activated.
|
528
|
-
* @group Props
|
529
|
-
*/
|
530
|
-
selectOnFocus = false;
|
531
|
-
/**
|
532
|
-
* Used to define a string aria label attribute the forward navigation button.
|
533
|
-
* @group Props
|
534
|
-
*/
|
535
|
-
nextButtonAriaLabel;
|
536
|
-
/**
|
537
|
-
* Used to define a string aria label attribute the backward navigation button.
|
538
|
-
* @group Props
|
539
|
-
*/
|
540
|
-
prevButtonAriaLabel;
|
541
|
-
/**
|
542
|
-
* When activated, navigation buttons will automatically hide or show based on the available space within the container.
|
543
|
-
* @group Props
|
544
|
-
*/
|
545
|
-
autoHideButtons = true;
|
546
|
-
/**
|
547
|
-
* Index of the element in tabbing order.
|
548
|
-
* @group Props
|
549
|
-
*/
|
550
|
-
tabindex = 0;
|
551
|
-
/**
|
552
|
-
* Callback to invoke on tab change.
|
553
|
-
* @param {TabViewChangeEvent} event - Custom tab change event
|
554
|
-
* @group Emits
|
555
|
-
*/
|
556
|
-
onChange = new EventEmitter();
|
557
|
-
/**
|
558
|
-
* Callback to invoke on tab close.
|
559
|
-
* @param {TabViewCloseEvent} event - Custom tab close event
|
560
|
-
* @group Emits
|
561
|
-
*/
|
562
|
-
onClose = new EventEmitter();
|
563
|
-
/**
|
564
|
-
* Callback to invoke on the active tab change.
|
565
|
-
* @param {number} index - New active index
|
566
|
-
* @group Emits
|
567
|
-
*/
|
568
|
-
activeIndexChange = new EventEmitter();
|
569
|
-
content;
|
570
|
-
navbar;
|
571
|
-
prevBtn;
|
572
|
-
nextBtn;
|
573
|
-
inkbar;
|
574
|
-
tabPanels;
|
575
|
-
initialized;
|
576
|
-
tabs;
|
577
|
-
_activeIndex;
|
578
|
-
preventActiveIndexPropagation;
|
579
|
-
tabChanged;
|
580
|
-
backwardIsDisabled = true;
|
581
|
-
forwardIsDisabled = false;
|
582
|
-
tabChangesSubscription;
|
583
|
-
resizeObserver;
|
584
|
-
container;
|
585
|
-
list;
|
586
|
-
buttonVisible;
|
587
|
-
elementToObserve;
|
588
|
-
previousIconTemplate;
|
589
|
-
nextIconTemplate;
|
590
|
-
_previousIconTemplate;
|
591
|
-
_nextIconTemplate;
|
592
|
-
_componentStyle = inject(TabsStyle);
|
593
|
-
templates;
|
594
|
-
ngOnInit() {
|
595
|
-
super.ngOnInit();
|
596
|
-
console.log('TabView component is deprecated as of v18. Use Tabs component instead.');
|
597
|
-
}
|
598
|
-
ngAfterContentInit() {
|
599
|
-
this.initTabs();
|
600
|
-
this.tabChangesSubscription = this.tabPanels.changes.subscribe((_) => {
|
601
|
-
this.initTabs();
|
602
|
-
this.refreshButtonState();
|
603
|
-
});
|
604
|
-
this.templates.forEach((item) => {
|
605
|
-
switch (item.getType()) {
|
606
|
-
case 'previousicon':
|
607
|
-
this._previousIconTemplate = item.template;
|
608
|
-
break;
|
609
|
-
case 'nexticon':
|
610
|
-
this._nextIconTemplate = item.template;
|
611
|
-
break;
|
612
|
-
}
|
613
|
-
});
|
614
|
-
}
|
615
|
-
ngAfterViewInit() {
|
616
|
-
super.ngAfterViewInit();
|
617
|
-
if (isPlatformBrowser(this.platformId)) {
|
618
|
-
if (this.autoHideButtons) {
|
619
|
-
this.bindResizeObserver();
|
620
|
-
}
|
621
|
-
}
|
622
|
-
}
|
623
|
-
bindResizeObserver() {
|
624
|
-
this.container = findSingle(this.el.nativeElement, '[data-pc-section="navcontent"]');
|
625
|
-
this.list = findSingle(this.el.nativeElement, '[data-pc-section="nav"]');
|
626
|
-
this.resizeObserver = new ResizeObserver(() => {
|
627
|
-
if (this.list.offsetWidth >= this.container.offsetWidth) {
|
628
|
-
this.buttonVisible = true;
|
629
|
-
}
|
630
|
-
else {
|
631
|
-
this.buttonVisible = false;
|
632
|
-
}
|
633
|
-
this.updateButtonState();
|
634
|
-
this.cd.detectChanges();
|
635
|
-
});
|
636
|
-
this.resizeObserver.observe(this.container);
|
637
|
-
}
|
638
|
-
unbindResizeObserver() {
|
639
|
-
this.resizeObserver.unobserve(this.elementToObserve.nativeElement);
|
640
|
-
this.resizeObserver = null;
|
641
|
-
}
|
642
|
-
ngAfterViewChecked() {
|
643
|
-
if (isPlatformBrowser(this.platformId)) {
|
644
|
-
if (this.tabChanged) {
|
645
|
-
this.updateInkBar();
|
646
|
-
this.tabChanged = false;
|
647
|
-
}
|
648
|
-
}
|
649
|
-
}
|
650
|
-
ngOnDestroy() {
|
651
|
-
if (this.tabChangesSubscription) {
|
652
|
-
this.tabChangesSubscription.unsubscribe();
|
653
|
-
}
|
654
|
-
if (this.resizeObserver) {
|
655
|
-
this.unbindResizeObserver();
|
656
|
-
}
|
657
|
-
super.ngOnDestroy();
|
658
|
-
}
|
659
|
-
getTabHeaderActionId(tabId) {
|
660
|
-
return `${tabId}_header_action`;
|
661
|
-
}
|
662
|
-
getTabContentId(tabId) {
|
663
|
-
return `${tabId}_content`;
|
664
|
-
}
|
665
|
-
initTabs() {
|
666
|
-
this.tabs = this.tabPanels.toArray();
|
667
|
-
let selectedTab = this.findSelectedTab();
|
668
|
-
if (!selectedTab && this.tabs.length) {
|
669
|
-
if (this.activeIndex != null && this.tabs.length > this.activeIndex)
|
670
|
-
this.tabs[this.activeIndex].selected = true;
|
671
|
-
else
|
672
|
-
this.tabs[0].selected = true;
|
673
|
-
this.tabChanged = true;
|
674
|
-
}
|
675
|
-
this.cd.markForCheck();
|
676
|
-
}
|
677
|
-
onTabKeyDown(event, tab) {
|
678
|
-
switch (event.code) {
|
679
|
-
case 'ArrowLeft':
|
680
|
-
this.onTabArrowLeftKey(event);
|
681
|
-
break;
|
682
|
-
case 'ArrowRight':
|
683
|
-
this.onTabArrowRightKey(event);
|
684
|
-
break;
|
685
|
-
case 'Home':
|
686
|
-
this.onTabHomeKey(event);
|
687
|
-
break;
|
688
|
-
case 'End':
|
689
|
-
this.onTabEndKey(event);
|
690
|
-
break;
|
691
|
-
case 'PageDown':
|
692
|
-
this.onTabEndKey(event);
|
693
|
-
break;
|
694
|
-
case 'PageUp':
|
695
|
-
this.onTabHomeKey(event);
|
696
|
-
break;
|
697
|
-
case 'Enter':
|
698
|
-
case 'Space':
|
699
|
-
this.open(event, tab);
|
700
|
-
break;
|
701
|
-
default:
|
702
|
-
break;
|
703
|
-
}
|
704
|
-
}
|
705
|
-
onTabArrowLeftKey(event) {
|
706
|
-
const prevHeaderAction = this.findPrevHeaderAction(event.currentTarget);
|
707
|
-
const index = getAttribute(prevHeaderAction, 'data-pc-index');
|
708
|
-
prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction, index) : this.onTabEndKey(event);
|
709
|
-
event.preventDefault();
|
710
|
-
}
|
711
|
-
onTabArrowRightKey(event) {
|
712
|
-
const nextHeaderAction = this.findNextHeaderAction(event.currentTarget);
|
713
|
-
const index = getAttribute(nextHeaderAction, 'data-pc-index');
|
714
|
-
nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction, index) : this.onTabHomeKey(event);
|
715
|
-
event.preventDefault();
|
716
|
-
}
|
717
|
-
onTabHomeKey(event) {
|
718
|
-
const firstHeaderAction = this.findFirstHeaderAction();
|
719
|
-
const index = getAttribute(firstHeaderAction, 'data-pc-index');
|
720
|
-
this.changeFocusedTab(event, firstHeaderAction, index);
|
721
|
-
event.preventDefault();
|
722
|
-
}
|
723
|
-
onTabEndKey(event) {
|
724
|
-
const lastHeaderAction = this.findLastHeaderAction();
|
725
|
-
const index = getAttribute(lastHeaderAction, 'data-pc-index');
|
726
|
-
this.changeFocusedTab(event, lastHeaderAction, index);
|
727
|
-
event.preventDefault();
|
728
|
-
}
|
729
|
-
changeFocusedTab(event, element, index) {
|
730
|
-
if (element) {
|
731
|
-
focus(element);
|
732
|
-
element.scrollIntoView({ block: 'nearest' });
|
733
|
-
if (this.selectOnFocus) {
|
734
|
-
const tab = this.tabs[index];
|
735
|
-
this.open(event, tab);
|
736
|
-
}
|
737
|
-
}
|
738
|
-
}
|
739
|
-
findNextHeaderAction(tabElement, selfCheck = false) {
|
740
|
-
const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;
|
741
|
-
return headerElement ? (getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar' ? this.findNextHeaderAction(headerElement) : headerElement) : null;
|
742
|
-
}
|
743
|
-
findPrevHeaderAction(tabElement, selfCheck = false) {
|
744
|
-
const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;
|
745
|
-
return headerElement ? (getAttribute(headerElement, 'data-p-disabled') || getAttribute(headerElement, 'data-pc-section') === 'inkbar' ? this.findPrevHeaderAction(headerElement) : headerElement) : null;
|
746
|
-
}
|
747
|
-
findFirstHeaderAction() {
|
748
|
-
const firstEl = this.navbar.nativeElement.firstElementChild;
|
749
|
-
return this.findNextHeaderAction(firstEl, true);
|
750
|
-
}
|
751
|
-
findLastHeaderAction() {
|
752
|
-
const lastEl = this.navbar.nativeElement.lastElementChild;
|
753
|
-
const lastHeaderAction = getAttribute(lastEl, 'data-pc-section') === 'inkbar' ? lastEl.previousElementSibling : lastEl;
|
754
|
-
return this.findPrevHeaderAction(lastHeaderAction, true);
|
755
|
-
}
|
756
|
-
open(event, tab) {
|
757
|
-
if (tab.disabled) {
|
758
|
-
if (event) {
|
759
|
-
event.preventDefault();
|
760
|
-
}
|
761
|
-
return;
|
762
|
-
}
|
763
|
-
if (!tab.selected) {
|
764
|
-
let selectedTab = this.findSelectedTab();
|
765
|
-
if (selectedTab) {
|
766
|
-
selectedTab.selected = false;
|
767
|
-
}
|
768
|
-
this.tabChanged = true;
|
769
|
-
tab.selected = true;
|
770
|
-
let selectedTabIndex = this.findTabIndex(tab);
|
771
|
-
this.preventActiveIndexPropagation = true;
|
772
|
-
this.activeIndexChange.emit(selectedTabIndex);
|
773
|
-
this.onChange.emit({ originalEvent: event, index: selectedTabIndex });
|
774
|
-
this.updateScrollBar(selectedTabIndex);
|
775
|
-
}
|
776
|
-
if (event) {
|
777
|
-
event.preventDefault();
|
778
|
-
}
|
779
|
-
}
|
780
|
-
close(event, tab) {
|
781
|
-
if (this.controlClose) {
|
782
|
-
this.onClose.emit({
|
783
|
-
originalEvent: event,
|
784
|
-
index: this.findTabIndex(tab),
|
785
|
-
close: () => {
|
786
|
-
this.closeTab(tab);
|
787
|
-
}
|
788
|
-
});
|
789
|
-
}
|
790
|
-
else {
|
791
|
-
this.closeTab(tab);
|
792
|
-
this.onClose.emit({
|
793
|
-
originalEvent: event,
|
794
|
-
index: this.findTabIndex(tab)
|
795
|
-
});
|
796
|
-
}
|
797
|
-
event.stopPropagation();
|
798
|
-
}
|
799
|
-
closeTab(tab) {
|
800
|
-
if (tab.disabled) {
|
801
|
-
return;
|
802
|
-
}
|
803
|
-
if (tab.selected) {
|
804
|
-
this.tabChanged = true;
|
805
|
-
tab.selected = false;
|
806
|
-
for (let i = 0; i < this.tabs.length; i++) {
|
807
|
-
let tabPanel = this.tabs[i];
|
808
|
-
if (!tabPanel.closed && !tab.disabled) {
|
809
|
-
tabPanel.selected = true;
|
810
|
-
break;
|
811
|
-
}
|
812
|
-
}
|
813
|
-
}
|
814
|
-
tab.closed = true;
|
815
|
-
}
|
816
|
-
findSelectedTab() {
|
817
|
-
for (let i = 0; i < this.tabs.length; i++) {
|
818
|
-
if (this.tabs[i].selected) {
|
819
|
-
return this.tabs[i];
|
820
|
-
}
|
821
|
-
}
|
822
|
-
return null;
|
823
|
-
}
|
824
|
-
findTabIndex(tab) {
|
825
|
-
let index = -1;
|
826
|
-
for (let i = 0; i < this.tabs.length; i++) {
|
827
|
-
if (this.tabs[i] == tab) {
|
828
|
-
index = i;
|
829
|
-
break;
|
830
|
-
}
|
831
|
-
}
|
832
|
-
return index;
|
833
|
-
}
|
834
|
-
getBlockableElement() {
|
835
|
-
return this.el.nativeElement.children[0];
|
836
|
-
}
|
837
|
-
updateInkBar() {
|
838
|
-
if (isPlatformBrowser(this.platformId)) {
|
839
|
-
if (this.navbar) {
|
840
|
-
const tabHeader = findSingle(this.navbar.nativeElement, '[data-pc-section="headeraction"][data-p-active="true"]');
|
841
|
-
if (!tabHeader) {
|
842
|
-
return;
|
843
|
-
}
|
844
|
-
this.inkbar.nativeElement.style.width = getOuterWidth(tabHeader) + 'px';
|
845
|
-
this.inkbar.nativeElement.style.left = getOffset(tabHeader).left - getOffset(this.navbar.nativeElement).left + 'px';
|
846
|
-
}
|
847
|
-
}
|
848
|
-
}
|
849
|
-
updateScrollBar(index) {
|
850
|
-
let tabHeader = find(this.navbar.nativeElement, '[data-pc-section="headeraction"]')[index];
|
851
|
-
if (tabHeader) {
|
852
|
-
tabHeader.scrollIntoView({ block: 'nearest' });
|
853
|
-
}
|
854
|
-
}
|
855
|
-
updateButtonState() {
|
856
|
-
const content = this.content.nativeElement;
|
857
|
-
const { scrollLeft, scrollWidth } = content;
|
858
|
-
const width = getWidth(content);
|
859
|
-
this.backwardIsDisabled = scrollLeft === 0;
|
860
|
-
this.forwardIsDisabled = Math.round(scrollLeft) === scrollWidth - width;
|
861
|
-
}
|
862
|
-
refreshButtonState() {
|
863
|
-
this.container = findSingle(this.el.nativeElement, '[data-pc-section="navcontent"]');
|
864
|
-
this.list = findSingle(this.el.nativeElement, '[data-pc-section="nav"]');
|
865
|
-
if (this.list.offsetWidth >= this.container.offsetWidth) {
|
866
|
-
if (this.list.offsetWidth >= this.container.offsetWidth) {
|
867
|
-
this.buttonVisible = true;
|
868
|
-
}
|
869
|
-
else {
|
870
|
-
this.buttonVisible = false;
|
871
|
-
}
|
872
|
-
this.updateButtonState();
|
873
|
-
this.cd.markForCheck();
|
874
|
-
}
|
875
|
-
}
|
876
|
-
onScroll(event) {
|
877
|
-
this.scrollable && this.updateButtonState();
|
878
|
-
event.preventDefault();
|
879
|
-
}
|
880
|
-
getVisibleButtonWidths() {
|
881
|
-
return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + getWidth(el) : acc), 0);
|
882
|
-
}
|
883
|
-
navBackward() {
|
884
|
-
const content = this.content.nativeElement;
|
885
|
-
const width = getWidth(content) - this.getVisibleButtonWidths();
|
886
|
-
const pos = content.scrollLeft - width;
|
887
|
-
content.scrollLeft = pos <= 0 ? 0 : pos;
|
888
|
-
}
|
889
|
-
navForward() {
|
890
|
-
const content = this.content.nativeElement;
|
891
|
-
const width = getWidth(content) - this.getVisibleButtonWidths();
|
892
|
-
const pos = content.scrollLeft + width;
|
893
|
-
const lastPos = content.scrollWidth - width;
|
894
|
-
content.scrollLeft = pos >= lastPos ? lastPos : pos;
|
895
|
-
}
|
896
|
-
static ɵfac = /*@__PURE__*/ (() => { let ɵTabView_BaseFactory; return function TabView_Factory(__ngFactoryType__) { return (ɵTabView_BaseFactory || (ɵTabView_BaseFactory = i0.ɵɵgetInheritedFactory(TabView)))(__ngFactoryType__ || TabView); }; })();
|
897
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabView, selectors: [["p-tabView"], ["p-tabview"]], contentQueries: function TabView_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
898
|
-
i0.ɵɵcontentQuery(dirIndex, _c6, 5);
|
899
|
-
i0.ɵɵcontentQuery(dirIndex, _c7, 5);
|
900
|
-
i0.ɵɵcontentQuery(dirIndex, TabPanel, 4);
|
901
|
-
i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
|
902
|
-
} if (rf & 2) {
|
903
|
-
let _t;
|
904
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.previousIconTemplate = _t.first);
|
905
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nextIconTemplate = _t.first);
|
906
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabPanels = _t);
|
907
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
|
908
|
-
} }, viewQuery: function TabView_Query(rf, ctx) { if (rf & 1) {
|
909
|
-
i0.ɵɵviewQuery(_c0, 5);
|
910
|
-
i0.ɵɵviewQuery(_c8, 5);
|
911
|
-
i0.ɵɵviewQuery(_c9, 5);
|
912
|
-
i0.ɵɵviewQuery(_c10, 5);
|
913
|
-
i0.ɵɵviewQuery(_c11, 5);
|
914
|
-
i0.ɵɵviewQuery(_c12, 5);
|
915
|
-
} if (rf & 2) {
|
916
|
-
let _t;
|
917
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.content = _t.first);
|
918
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.navbar = _t.first);
|
919
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.prevBtn = _t.first);
|
920
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nextBtn = _t.first);
|
921
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inkbar = _t.first);
|
922
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.elementToObserve = _t.first);
|
923
|
-
} }, hostVars: 11, hostBindings: function TabView_HostBindings(rf, ctx) { if (rf & 2) {
|
924
|
-
i0.ɵɵattribute("data-pc-name", "tabview");
|
925
|
-
i0.ɵɵstyleMap(ctx.hostStyle);
|
926
|
-
i0.ɵɵclassMap(ctx.hostClass);
|
927
|
-
i0.ɵɵclassProp("p-tabs", true)("p-tabs-scrollable", ctx.scrollable)("p-component", true);
|
928
|
-
} }, inputs: { style: "style", styleClass: "styleClass", controlClose: [2, "controlClose", "controlClose", booleanAttribute], scrollable: [2, "scrollable", "scrollable", booleanAttribute], activeIndex: "activeIndex", selectOnFocus: [2, "selectOnFocus", "selectOnFocus", booleanAttribute], nextButtonAriaLabel: "nextButtonAriaLabel", prevButtonAriaLabel: "prevButtonAriaLabel", autoHideButtons: [2, "autoHideButtons", "autoHideButtons", booleanAttribute], tabindex: [2, "tabindex", "tabindex", numberAttribute] }, outputs: { onChange: "onChange", onClose: "onClose", activeIndexChange: "activeIndexChange" }, standalone: true, features: [i0.ɵɵProvidersFeature([TabsStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c5, decls: 12, vars: 7, consts: [["elementToObserve", ""], ["content", ""], ["navbar", ""], ["prevBtn", ""], ["inkbar", ""], ["nextBtn", ""], [1, "p-tablist"], ["class", "p-tablist-prev-button p-tablist-nav-button", "type", "button", "pRipple", "", 3, "click", 4, "ngIf"], [1, "p-tablist-content", 3, "scroll", "ngClass"], ["role", "tablist", 1, "p-tablist-tab-list"], ["class", "p-tablist-next-button p-tablist-nav-button", "type", "button", "pRipple", "", 3, "click", 4, "ngIf"], [1, "p-tabpanels"], ["type", "button", "pRipple", "", 1, "p-tablist-prev-button", "p-tablist-nav-button", 3, "click"], [4, "ngIf"], [4, "ngTemplateOutlet"], ["pRipple", "", 3, "click", "keydown", "ngClass", "ngStyle", "pTooltip", "tooltipPosition", "positionStyle", "tooltipStyleClass", "disabled"], ["role", "presentation", 1, "p-tablist-active-bar"], [1, "p-tabview-left-icon", 3, "ngClass"], [1, "p-tabview-right-icon", 3, "ngClass"], [3, "click"], ["type", "button", "pRipple", "", 1, "p-tablist-next-button", "p-tablist-nav-button", 3, "click"]], template: function TabView_Template(rf, ctx) { if (rf & 1) {
|
929
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
930
|
-
i0.ɵɵprojectionDef();
|
931
|
-
i0.ɵɵelementStart(0, "div", 6, 0);
|
932
|
-
i0.ɵɵtemplate(2, TabView_button_2_Template, 4, 4, "button", 7);
|
933
|
-
i0.ɵɵelementStart(3, "div", 8, 1);
|
934
|
-
i0.ɵɵlistener("scroll", function TabView_Template_div_scroll_3_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onScroll($event)); });
|
935
|
-
i0.ɵɵelementStart(5, "div", 9, 2);
|
936
|
-
i0.ɵɵrepeaterCreate(7, TabView_For_8_Template, 1, 1, null, null, i0.ɵɵrepeaterTrackByIdentity);
|
937
|
-
i0.ɵɵelementEnd()();
|
938
|
-
i0.ɵɵtemplate(9, TabView_button_9_Template, 4, 3, "button", 10);
|
939
|
-
i0.ɵɵelementEnd();
|
940
|
-
i0.ɵɵelementStart(10, "div", 11);
|
941
|
-
i0.ɵɵprojection(11);
|
942
|
-
i0.ɵɵelementEnd();
|
943
|
-
} if (rf & 2) {
|
944
|
-
i0.ɵɵadvance(2);
|
945
|
-
i0.ɵɵproperty("ngIf", ctx.scrollable && !ctx.backwardIsDisabled && ctx.autoHideButtons);
|
946
|
-
i0.ɵɵadvance();
|
947
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c13, ctx.scrollable));
|
948
|
-
i0.ɵɵattribute("data-pc-section", "navcontent");
|
949
|
-
i0.ɵɵadvance(2);
|
950
|
-
i0.ɵɵattribute("data-pc-section", "nav");
|
951
|
-
i0.ɵɵadvance(2);
|
952
|
-
i0.ɵɵrepeater(ctx.tabs);
|
953
|
-
i0.ɵɵadvance(2);
|
954
|
-
i0.ɵɵproperty("ngIf", ctx.scrollable && !ctx.forwardIsDisabled && ctx.buttonVisible);
|
955
|
-
} }, dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, SharedModule, TooltipModule, i2.Tooltip, Ripple, TimesIcon, ChevronLeftIcon, ChevronRightIcon], encapsulation: 2, changeDetection: 0 });
|
956
|
-
}
|
957
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabView, [{
|
958
|
-
type: Component,
|
959
|
-
args: [{
|
960
|
-
selector: 'p-tabView, p-tabview',
|
961
|
-
standalone: true,
|
962
|
-
imports: [CommonModule, SharedModule, TooltipModule, Ripple, TimesIcon, ChevronLeftIcon, ChevronRightIcon],
|
963
|
-
template: `
|
964
|
-
<div #elementToObserve class="p-tablist">
|
965
|
-
<button
|
966
|
-
*ngIf="scrollable && !backwardIsDisabled && autoHideButtons"
|
967
|
-
#prevBtn
|
968
|
-
class="p-tablist-prev-button p-tablist-nav-button"
|
969
|
-
(click)="navBackward()"
|
970
|
-
[attr.tabindex]="tabindex"
|
971
|
-
[attr.aria-label]="prevButtonAriaLabel"
|
972
|
-
type="button"
|
973
|
-
pRipple
|
974
|
-
>
|
975
|
-
<ChevronLeftIcon *ngIf="!previousIconTemplate && !_previousIconTemplate" [attr.aria-hidden]="true" />
|
976
|
-
<ng-template *ngTemplateOutlet="previousIconTemplate && _previousIconTemplate"></ng-template>
|
977
|
-
</button>
|
978
|
-
<div #content class="p-tablist-content" [ngClass]="{ 'p-tablist-viewport': scrollable }" (scroll)="onScroll($event)" [attr.data-pc-section]="'navcontent'">
|
979
|
-
<div #navbar class="p-tablist-tab-list" role="tablist" [attr.data-pc-section]="'nav'">
|
980
|
-
@for (tab of tabs; track tab; let i = $index) {
|
981
|
-
@if (!tab.closed) {
|
982
|
-
<button
|
983
|
-
[ngClass]="{
|
984
|
-
'p-tab': true,
|
985
|
-
'p-tab-active': tab.selected,
|
986
|
-
'p-disabled': tab.disabled
|
987
|
-
}"
|
988
|
-
[attr.role]="'tab'"
|
989
|
-
[class]="tab.headerStyleClass"
|
990
|
-
[ngStyle]="tab.headerStyle"
|
991
|
-
[pTooltip]="tab.tooltip"
|
992
|
-
[tooltipPosition]="tab.tooltipPosition"
|
993
|
-
[positionStyle]="tab.tooltipPositionStyle"
|
994
|
-
[tooltipStyleClass]="tab.tooltipStyleClass"
|
995
|
-
[attr.id]="getTabHeaderActionId(tab.id)"
|
996
|
-
[attr.aria-controls]="getTabContentId(tab.id)"
|
997
|
-
[attr.aria-selected]="tab.selected"
|
998
|
-
[attr.tabindex]="tab.disabled || !tab.selected ? '-1' : tabindex"
|
999
|
-
[attr.aria-disabled]="tab.disabled"
|
1000
|
-
[disabled]="tab.disabled"
|
1001
|
-
[attr.data-pc-index]="i"
|
1002
|
-
[attr.data-p-disabled]="tab.disabled"
|
1003
|
-
[attr.data-pc-section]="'headeraction'"
|
1004
|
-
[attr.data-p-active]="tab.selected"
|
1005
|
-
(click)="open($event, tab)"
|
1006
|
-
(keydown)="onTabKeyDown($event, tab)"
|
1007
|
-
pRipple
|
1008
|
-
>
|
1009
|
-
@if (tab.headerTemplate || tab._headerTemplate) {
|
1010
|
-
<ng-container *ngTemplateOutlet="tab.headerTemplate || tab._headerTemplate"></ng-container>
|
1011
|
-
} @else {
|
1012
|
-
@if (tab.leftIconTemplate || tab._leftIconTemplate) {
|
1013
|
-
<ng-template *ngTemplateOutlet="tab.leftIconTemplate || tab._leftIconTemplate"></ng-template>
|
1014
|
-
} @else if (tab.leftIcon && !tab.leftIconTemplate && !tab._leftIconTemplate) {
|
1015
|
-
<span class="p-tabview-left-icon" [ngClass]="tab.leftIcon"></span>
|
1016
|
-
}
|
1017
|
-
{{ tab.header }}
|
1018
|
-
@if (tab.rightIconTemplate || tab._rightIconTemplate) {
|
1019
|
-
<ng-template *ngTemplateOutlet="tab.rightIconTemplate || tab._rightIconTemplate"></ng-template>
|
1020
|
-
} @else if (tab.rightIcon && !tab.rightIconTemplate && !tab._rightIconTemplate) {
|
1021
|
-
<span class="p-tabview-right-icon" [ngClass]="tab.rightIcon"></span>
|
1022
|
-
}
|
1023
|
-
@if (tab.closable) {
|
1024
|
-
@if (tab.closeIconTemplate || tab._closeIconTemplate) {
|
1025
|
-
<ng-template *ngTemplateOutlet="tab.closeIconTemplate || tab._closeIconTemplate"></ng-template>
|
1026
|
-
} @else {
|
1027
|
-
<TimesIcon (click)="close($event, tab)" />
|
1028
|
-
}
|
1029
|
-
}
|
1030
|
-
}
|
1031
|
-
</button>
|
1032
|
-
<span #inkbar class="p-tablist-active-bar" role="presentation" [attr.aria-hidden]="true" [attr.data-pc-section]="'inkbar'"></span>
|
1033
|
-
}
|
1034
|
-
}
|
1035
|
-
</div>
|
1036
|
-
</div>
|
1037
|
-
<button *ngIf="scrollable && !forwardIsDisabled && buttonVisible" #nextBtn [attr.tabindex]="tabindex" [attr.aria-label]="nextButtonAriaLabel" class="p-tablist-next-button p-tablist-nav-button" (click)="navForward()" type="button" pRipple>
|
1038
|
-
@if (nextIconTemplate || _nextIconTemplate) {
|
1039
|
-
<ng-template *ngTemplateOutlet="nextIconTemplate || _nextIconTemplate"></ng-template>
|
1040
|
-
} @else {
|
1041
|
-
<ChevronRightIcon [attr.aria-hidden]="true" />
|
1042
|
-
}
|
1043
|
-
</button>
|
1044
|
-
</div>
|
1045
|
-
<div class="p-tabpanels">
|
1046
|
-
<ng-content></ng-content>
|
1047
|
-
</div>
|
1048
|
-
`,
|
1049
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
1050
|
-
encapsulation: ViewEncapsulation.None,
|
1051
|
-
host: {
|
1052
|
-
'[class.p-tabs]': 'true',
|
1053
|
-
'[class.p-tabs-scrollable]': 'scrollable',
|
1054
|
-
'[class.p-component]': 'true',
|
1055
|
-
'[attr.data-pc-name]': '"tabview"'
|
1056
|
-
},
|
1057
|
-
providers: [TabsStyle]
|
1058
|
-
}]
|
1059
|
-
}], null, { hostClass: [{
|
1060
|
-
type: HostBinding,
|
1061
|
-
args: ['class']
|
1062
|
-
}], hostStyle: [{
|
1063
|
-
type: HostBinding,
|
1064
|
-
args: ['style']
|
1065
|
-
}], style: [{
|
1066
|
-
type: Input
|
1067
|
-
}], styleClass: [{
|
1068
|
-
type: Input
|
1069
|
-
}], controlClose: [{
|
1070
|
-
type: Input,
|
1071
|
-
args: [{ transform: booleanAttribute }]
|
1072
|
-
}], scrollable: [{
|
1073
|
-
type: Input,
|
1074
|
-
args: [{ transform: booleanAttribute }]
|
1075
|
-
}], activeIndex: [{
|
1076
|
-
type: Input
|
1077
|
-
}], selectOnFocus: [{
|
1078
|
-
type: Input,
|
1079
|
-
args: [{ transform: booleanAttribute }]
|
1080
|
-
}], nextButtonAriaLabel: [{
|
1081
|
-
type: Input
|
1082
|
-
}], prevButtonAriaLabel: [{
|
1083
|
-
type: Input
|
1084
|
-
}], autoHideButtons: [{
|
1085
|
-
type: Input,
|
1086
|
-
args: [{ transform: booleanAttribute }]
|
1087
|
-
}], tabindex: [{
|
1088
|
-
type: Input,
|
1089
|
-
args: [{ transform: numberAttribute }]
|
1090
|
-
}], onChange: [{
|
1091
|
-
type: Output
|
1092
|
-
}], onClose: [{
|
1093
|
-
type: Output
|
1094
|
-
}], activeIndexChange: [{
|
1095
|
-
type: Output
|
1096
|
-
}], content: [{
|
1097
|
-
type: ViewChild,
|
1098
|
-
args: ['content']
|
1099
|
-
}], navbar: [{
|
1100
|
-
type: ViewChild,
|
1101
|
-
args: ['navbar']
|
1102
|
-
}], prevBtn: [{
|
1103
|
-
type: ViewChild,
|
1104
|
-
args: ['prevBtn']
|
1105
|
-
}], nextBtn: [{
|
1106
|
-
type: ViewChild,
|
1107
|
-
args: ['nextBtn']
|
1108
|
-
}], inkbar: [{
|
1109
|
-
type: ViewChild,
|
1110
|
-
args: ['inkbar']
|
1111
|
-
}], tabPanels: [{
|
1112
|
-
type: ContentChildren,
|
1113
|
-
args: [TabPanel]
|
1114
|
-
}], elementToObserve: [{
|
1115
|
-
type: ViewChild,
|
1116
|
-
args: ['elementToObserve']
|
1117
|
-
}], previousIconTemplate: [{
|
1118
|
-
type: ContentChild,
|
1119
|
-
args: ['previousicon']
|
1120
|
-
}], nextIconTemplate: [{
|
1121
|
-
type: ContentChild,
|
1122
|
-
args: ['nexticon']
|
1123
|
-
}], templates: [{
|
1124
|
-
type: ContentChildren,
|
1125
|
-
args: [PrimeTemplate]
|
1126
|
-
}] }); })();
|
1127
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TabView, { className: "TabView" }); })();
|
1128
|
-
export class TabViewModule {
|
1129
|
-
static ɵfac = function TabViewModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TabViewModule)(); };
|
1130
|
-
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TabViewModule });
|
1131
|
-
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TabView, TabPanel, SharedModule, SharedModule] });
|
1132
|
-
}
|
1133
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TabViewModule, [{
|
1134
|
-
type: NgModule,
|
1135
|
-
args: [{
|
1136
|
-
imports: [TabView, TabPanel, SharedModule],
|
1137
|
-
exports: [TabView, TabPanel, SharedModule]
|
1138
|
-
}]
|
1139
|
-
}], null, null); })();
|
1140
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TabViewModule, { imports: [TabView, TabPanel, SharedModule], exports: [TabView, TabPanel, SharedModule] }); })();
|
1141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJ2aWV3L3RhYnZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFHSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUVmLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGVBQWUsRUFFZixNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xILE9BQU8sRUFBZSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7SUF3QjlCLHdCQUFxRjs7O0lBRHpGLDZCQUEyRjtJQUN2RixnR0FBc0U7Ozs7SUFBdkQsY0FBcUQ7SUFBckQsb0ZBQXFEOzs7SUFaNUUsOEJBU0M7SUFDRyxrQkFBeUI7SUFDekIsaUZBQTJGO0lBRy9GLGlCQUFNOzs7SUFWRix5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LCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaW5kLCBmaW5kU2luZ2xlLCBmb2N1cywgZ2V0QXR0cmlidXRlLCBnZXRPZmZzZXQsIGdldE91dGVyV2lkdGgsIGdldFdpZHRoLCB1dWlkIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IEJsb2NrYWJsZVVJLCBQcmltZVRlbXBsYXRlLCBTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAncHJpbWVuZy9iYXNlY29tcG9uZW50JztcbmltcG9ydCB7IENoZXZyb25MZWZ0SWNvbiwgQ2hldnJvblJpZ2h0SWNvbiwgVGltZXNJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucyc7XG5pbXBvcnQgeyBSaXBwbGUgfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAncHJpbWVuZy90cy1oZWxwZXJzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGFic1N0eWxlIH0gZnJvbSAnLi9zdHlsZS90YWJzc3R5bGUnO1xuaW1wb3J0IHsgVGFiVmlld0NoYW5nZUV2ZW50LCBUYWJWaWV3Q2xvc2VFdmVudCB9IGZyb20gJy4vdGFidmlldy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFRhYlBhbmVsIGlzIGEgaGVscGVyIGNvbXBvbmVudCBmb3IgVGFiVmlldyBjb21wb25lbnQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtdGFiUGFuZWwsIHAtdGFicGFuZWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2hhcmVkTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cIiFjbG9zZWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJwLXRhYnZpZXctcGFuZWxcIlxuICAgICAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgICAgIFtoaWRkZW5dPVwiIXNlbGVjdGVkXCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cInRhYlZpZXcuZ2V0VGFiQ29udGVudElkKGlkKVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhc2VsZWN0ZWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYlZpZXcuZ2V0VGFiSGVhZGVyQWN0aW9uSWQoaWQpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtbmFtZV09XCIndGFicGFuZWwnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihjb250ZW50VGVtcGxhdGUgfHwgX2NvbnRlbnRUZW1wbGF0ZSkgJiYgKGNhY2hlID8gbG9hZGVkIDogc2VsZWN0ZWQpXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZSB8fCBfY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcblxuICAgIHByb3ZpZGVyczogW1RhYnNTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGFiUGFuZWwgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGlmIHRhYiBjYW4gYmUgcmVtb3ZlZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY2xvc2FibGU6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIHRhYiBoZWFkZXIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGhlYWRlclN0eWxlKCk6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5faGVhZGVyU3R5bGU7XG4gICAgfVxuICAgIHNldCBoZWFkZXJTdHlsZShoZWFkZXJTdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9oZWFkZXJTdHlsZSA9IGhlYWRlclN0eWxlO1xuICAgICAgICB0aGlzLnRhYlZpZXcuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSB0YWIgaGVhZGVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBoZWFkZXJTdHlsZUNsYXNzKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWFkZXJTdHlsZUNsYXNzO1xuICAgIH1cbiAgICBzZXQgaGVhZGVyU3R5bGVDbGFzcyhoZWFkZXJTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5faGVhZGVyU3R5bGVDbGFzcyA9IGhlYWRlclN0eWxlQ2xhc3M7XG4gICAgICAgIHRoaXMudGFiVmlldy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogV2hldGhlciBhIGxhenkgbG9hZGVkIHBhbmVsIHNob3VsZCBhdm9pZCBnZXR0aW5nIGxvYWRlZCBhZ2FpbiBvbiByZXNlbGVjdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY2FjaGU6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIEFkdmlzb3J5IGluZm9ybWF0aW9uIHRvIGRpc3BsYXkgaW4gYSB0b29sdGlwIG9uIGhvdmVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbScgfCAnbGVmdCcgfCAncmlnaHQnIHwgdW5kZWZpbmVkID0gJ3RvcCc7XG4gICAgLyoqXG4gICAgICogVHlwZSBvZiBDU1MgcG9zaXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdG9vbHRpcFBvc2l0aW9uU3R5bGU6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICdhYnNvbHV0ZSc7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIHRvb2x0aXAuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdG9vbHRpcFN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGlmIHRhYiBpcyBhY3RpdmUuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuICAgIHNldCBzZWxlY3RlZCh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWw7XG5cbiAgICAgICAgaWYgKCF0aGlzLmxvYWRlZCkge1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsKSB0aGlzLmxvYWRlZCA9IHRydWU7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFdoZW4gdHJ1ZSwgdGFiIGNhbm5vdCBiZSBhY3RpdmF0ZWQuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGRpc2FibGVkO1xuICAgICAgICB0aGlzLnRhYlZpZXcuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRpdGxlIG9mIHRoZSB0YWJQYW5lbC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgaGVhZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWFkZXI7XG4gICAgfVxuICAgIHNldCBoZWFkZXIoaGVhZGVyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faGVhZGVyID0gaGVhZGVyO1xuXG4gICAgICAgIC8vIFdlIGhhdmUgdG8gd2FpdCBmb3IgdGhlIHJlbmRlcmluZyBhbmQgdGhlbiByZXRyaWV2ZSB0aGUgYWN0dWFsIHNpemUgZWxlbWVudCBmcm9tIHRoZSBET00uXG4gICAgICAgIC8vIGluIGZ1dHVyZSBgUHJvbWlzZS5yZXNvbHZlYCBjYW4gYmUgY2hhbmdlZCB0byBgcXVldWVNaWNyb3Rhc2tgIChpZiBpZTExIHN1cHBvcnQgd2lsbCBiZSBkcm9wcGVkKVxuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGFiVmlldy51cGRhdGVJbmtCYXIoKTtcbiAgICAgICAgICAgIHRoaXMudGFiVmlldy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExlZnQgaWNvbiBvZiB0aGUgdGFiUGFuZWwuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgdjE1LjQuMiwgdXNlIGBsZWZ0aWNvbmAgdGVtcGxhdGUgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgbGVmdEljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xlZnRJY29uO1xuICAgIH1cbiAgICBzZXQgbGVmdEljb24obGVmdEljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLl9sZWZ0SWNvbiA9IGxlZnRJY29uO1xuICAgICAgICB0aGlzLnRhYlZpZXcuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIExlZnQgaWNvbiBvZiB0aGUgdGFiUGFuZWwuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgdjE1LjQuMiwgdXNlIGByaWdodGljb25gIHRlbXBsYXRlIGluc3RlYWQuXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IHJpZ2h0SWNvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmlnaHRJY29uO1xuICAgIH1cbiAgICBzZXQgcmlnaHRJY29uKHJpZ2h0SWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3JpZ2h0SWNvbiA9IHJpZ2h0SWNvbjtcbiAgICAgICAgdGhpcy50YWJWaWV3LmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGNsb3NlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgX2hlYWRlclN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgX2hlYWRlclN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIF9zZWxlY3RlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIF9kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIF9oZWFkZXIhOiBzdHJpbmc7XG5cbiAgICBfbGVmdEljb24hOiBzdHJpbmc7XG5cbiAgICBfcmlnaHRJY29uOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdXVpZCgncG5faWRfJyk7XG5cbiAgICBAQ29udGVudENoaWxkKCdjb250ZW50JykgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJykgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBAQ29udGVudENoaWxkKCdsZWZ0aWNvbicpIGxlZnRJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBAQ29udGVudENoaWxkKCdyaWdodGljb24nKSByaWdodEljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2Nsb3NlaWNvbicpIGNsb3NlSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxQcmltZVRlbXBsYXRlPiB8IHVuZGVmaW5lZDtcblxuICAgIHRhYlZpZXc6IFRhYlZpZXcgPSBpbmplY3QoZm9yd2FyZFJlZigoKSA9PiBUYWJWaWV3KSkgYXMgVGFiVmlldztcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChUYWJzU3R5bGUpO1xuXG4gICAgX2hlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgX2NvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIF9yaWdodEljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIF9sZWZ0SWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgX2Nsb3NlSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICAodGhpcy50ZW1wbGF0ZXMgYXMgUXVlcnlMaXN0PFByaW1lVGVtcGxhdGU+KS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faGVhZGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbnRlbnQnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0aWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JpZ2h0SWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdsZWZ0aWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xlZnRJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Nsb3NlaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nsb3NlSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuLyoqXG4gKiBUYWJWaWV3IGlzIGEgY29udGFpbmVyIGNvbXBvbmVudCB0byBncm91cCBjb250ZW50IHdpdGggdGFicy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC10YWJWaWV3LCBwLXRhYnZpZXcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2hhcmVkTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBSaXBwbGUsIFRpbWVzSWNvbiwgQ2hldnJvbkxlZnRJY29uLCBDaGV2cm9uUmlnaHRJY29uXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2ICNlbGVtZW50VG9PYnNlcnZlIGNsYXNzPVwicC10YWJsaXN0XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzY3JvbGxhYmxlICYmICFiYWNrd2FyZElzRGlzYWJsZWQgJiYgYXV0b0hpZGVCdXR0b25zXCJcbiAgICAgICAgICAgICAgICAjcHJldkJ0blxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC10YWJsaXN0LXByZXYtYnV0dG9uIHAtdGFibGlzdC1uYXYtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2QmFja3dhcmQoKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicHJldkJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDaGV2cm9uTGVmdEljb24gKm5nSWY9XCIhcHJldmlvdXNJY29uVGVtcGxhdGUgJiYgIV9wcmV2aW91c0ljb25UZW1wbGF0ZVwiIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInByZXZpb3VzSWNvblRlbXBsYXRlICYmIF9wcmV2aW91c0ljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgI2NvbnRlbnQgY2xhc3M9XCJwLXRhYmxpc3QtY29udGVudFwiIFtuZ0NsYXNzXT1cInsgJ3AtdGFibGlzdC12aWV3cG9ydCc6IHNjcm9sbGFibGUgfVwiIChzY3JvbGwpPVwib25TY3JvbGwoJGV2ZW50KVwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInbmF2Y29udGVudCdcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICNuYXZiYXIgY2xhc3M9XCJwLXRhYmxpc3QtdGFiLWxpc3RcIiByb2xlPVwidGFibGlzdFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInbmF2J1wiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yICh0YWIgb2YgdGFiczsgdHJhY2sgdGFiOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghdGFiLmNsb3NlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3AtdGFiJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwLXRhYi1hY3RpdmUnOiB0YWIuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncC1kaXNhYmxlZCc6IHRhYi5kaXNhYmxlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCIndGFiJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJ0YWIuaGVhZGVyU3R5bGVDbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInRhYi5oZWFkZXJTdHlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCJ0YWIudG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwidGFiLnRvb2x0aXBQb3NpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvblN0eWxlXT1cInRhYi50b29sdGlwUG9zaXRpb25TdHlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwU3R5bGVDbGFzc109XCJ0YWIudG9vbHRpcFN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJnZXRUYWJIZWFkZXJBY3Rpb25JZCh0YWIuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRUYWJDb250ZW50SWQodGFiLmlkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidGFiLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiLmRpc2FibGVkIHx8ICF0YWIuc2VsZWN0ZWQgPyAnLTEnIDogdGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInRhYi5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBjLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXAtZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidoZWFkZXJhY3Rpb24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wLWFjdGl2ZV09XCJ0YWIuc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbigkZXZlbnQsIHRhYilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvblRhYktleURvd24oJGV2ZW50LCB0YWIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh0YWIuaGVhZGVyVGVtcGxhdGUgfHwgdGFiLl9oZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5oZWFkZXJUZW1wbGF0ZSB8fCB0YWIuX2hlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh0YWIubGVmdEljb25UZW1wbGF0ZSB8fCB0YWIuX2xlZnRJY29uVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIubGVmdEljb25UZW1wbGF0ZSB8fCB0YWIuX2xlZnRJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAodGFiLmxlZnRJY29uICYmICF0YWIubGVmdEljb25UZW1wbGF0ZSAmJiAhdGFiLl9sZWZ0SWNvblRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLXRhYnZpZXctbGVmdC1pY29uXCIgW25nQ2xhc3NdPVwidGFiLmxlZnRJY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGFiLmhlYWRlciB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh0YWIucmlnaHRJY29uVGVtcGxhdGUgfHwgdGFiLl9yaWdodEljb25UZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5yaWdodEljb25UZW1wbGF0ZSB8fCB0YWIuX3JpZ2h0SWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKHRhYi5yaWdodEljb24gJiYgIXRhYi5yaWdodEljb25UZW1wbGF0ZSAmJiAhdGFiLl9yaWdodEljb25UZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC10YWJ2aWV3LXJpZ2h0LWljb25cIiBbbmdDbGFzc109XCJ0YWIucmlnaHRJY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh0YWIuY2xvc2FibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHRhYi5jbG9zZUljb25UZW1wbGF0ZSB8fCB0YWIuX2Nsb3NlSWNvblRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5jbG9zZUljb25UZW1wbGF0ZSB8fCB0YWIuX2Nsb3NlSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRpbWVzSWNvbiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50LCB0YWIpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAjaW5rYmFyIGNsYXNzPVwicC10YWJsaXN0LWFjdGl2ZS1iYXJcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaW5rYmFyJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2Nyb2xsYWJsZSAmJiAhZm9yd2FyZElzRGlzYWJsZWQgJiYgYnV0dG9uVmlzaWJsZVwiICNuZXh0QnRuIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJuZXh0QnV0dG9uQXJpYUxhYmVsXCIgY2xhc3M9XCJwLXRhYmxpc3QtbmV4dC1idXR0b24gcC10YWJsaXN0LW5hdi1idXR0b25cIiAoY2xpY2spPVwibmF2Rm9yd2FyZCgpXCIgdHlwZT1cImJ1dHRvblwiIHBSaXBwbGU+XG4gICAgICAgICAgICAgICAgQGlmIChuZXh0SWNvblRlbXBsYXRlIHx8IF9uZXh0SWNvblRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm5leHRJY29uVGVtcGxhdGUgfHwgX25leHRJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8Q2hldnJvblJpZ2h0SWNvbiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLXRhYnBhbmVsc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnAtdGFic10nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MucC10YWJzLXNjcm9sbGFibGVdJzogJ3Njcm9sbGFibGUnLFxuICAgICAgICAnW2NsYXNzLnAtY29tcG9uZW50XSc6ICd0cnVlJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtcGMtbmFtZV0nOiAnXCJ0YWJ2aWV3XCInXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtUYWJzU3R5bGVdXG59KVxuZXhwb3J0IGNsYXNzIFRhYlZpZXcgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95LCBCbG9ja2FibGVVSSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBob3N0Q2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0eWxlQ2xhc3M7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIGdldCBob3N0U3R5bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0eWxlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRhYiBjbG9zZSBpcyBjb250cm9sbGVkIGF0IG9uQ2xvc2UgZXZlbnQgb3Igbm90LlxuICAgICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY29udHJvbENsb3NlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZW4gZW5hYmxlZCBkaXNwbGF5cyBidXR0b25zIGF0IGVhY2ggc2lkZSBvZiB0aGUgdGFiIGhlYWRlcnMgdG8gc2Nyb2xsIHRoZSB0YWIgbGlzdC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNjcm9sbGFibGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSW5kZXggb2YgdGhlIGFjdGl2ZSB0YWIgdG8gY2hhbmdlIHNlbGVjdGVkIHRhYiBwcm9ncmFtbWF0aWNhbGx5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBhY3RpdmVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlSW5kZXg7XG4gICAgfVxuICAgIHNldCBhY3RpdmVJbmRleCh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9hY3RpdmVJbmRleCA9IHZhbDtcbiAgICAgICAgaWYgKHRoaXMucHJldmVudEFjdGl2ZUluZGV4UHJvcGFnYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucHJldmVudEFjdGl2ZUluZGV4UHJvcGFnYXRpb24gPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnRhYnMgJiYgdGhpcy50YWJzLmxlbmd0aCAmJiB0aGlzLl9hY3RpdmVJbmRleCAhPSBudWxsICYmIHRoaXMudGFicy5sZW5ndGggPiB0aGlzLl9hY3RpdmVJbmRleCkge1xuICAgICAgICAgICAgKHRoaXMuZmluZFNlbGVjdGVkVGFiKCkgYXMgVGFiUGFuZWwpLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnRhYnNbdGhpcy5fYWN0aXZlSW5kZXhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudGFiQ2hhbmdlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2Nyb2xsQmFyKHZhbCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogV2hlbiBlbmFibGVkLCB0aGUgZm9jdXNlZCB0YWIgaXMgYWN0aXZhdGVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzZWxlY3RPbkZvY3VzOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVXNlZCB0byBkZWZpbmUgYSBzdHJpbmcgYXJpYSBsYWJlbCBhdHRyaWJ1dGUgdGhlIGZvcndhcmQgbmF2aWdhdGlvbiBidXR0b24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbmV4dEJ1dHRvbkFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gZGVmaW5lIGEgc3RyaW5nIGFyaWEgbGFiZWwgYXR0cmlidXRlIHRoZSBiYWNrd2FyZCBuYXZpZ2F0aW9uIGJ1dHRvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwcmV2QnV0dG9uQXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBhY3RpdmF0ZWQsIG5hdmlnYXRpb24gYnV0dG9ucyB3aWxsIGF1dG9tYXRpY2FsbHkgaGlkZSBvciBzaG93IGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgc3BhY2Ugd2l0aGluIHRoZSBjb250YWluZXIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9IaWRlQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogSW5kZXggb2YgdGhlIGVsZW1lbnQgaW4gdGFiYmluZyBvcmRlci5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0YWJpbmRleDogbnVtYmVyID0gMDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdGFiIGNoYW5nZS5cbiAgICAgKiBAcGFyYW0ge1RhYlZpZXdDaGFuZ2VFdmVudH0gZXZlbnQgLSBDdXN0b20gdGFiIGNoYW5nZSBldmVudFxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFRhYlZpZXdDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYlZpZXdDaGFuZ2VFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdGFiIGNsb3NlLlxuICAgICAqIEBwYXJhbSB7VGFiVmlld0Nsb3NlRXZlbnR9IGV2ZW50IC0gQ3VzdG9tIHRhYiBjbG9zZSBldmVudFxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8VGFiVmlld0Nsb3NlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJWaWV3Q2xvc2VFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdGhlIGFjdGl2ZSB0YWIgY2hhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCAtIE5ldyBhY3RpdmUgaW5kZXhcbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgYWN0aXZlSW5kZXhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50JykgY29udGVudD86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnbmF2YmFyJykgbmF2YmFyPzogRWxlbWVudFJlZjxIVE1MVUxpc3RFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3ByZXZCdG4nKSBwcmV2QnRuPzogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ25leHRCdG4nKSBuZXh0QnRuPzogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lua2JhcicpIGlua2Jhcj86IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFRhYlBhbmVsKSB0YWJQYW5lbHM6IFF1ZXJ5TGlzdDxUYWJQYW5lbD4gfCB1bmRlZmluZWQ7XG5cbiAgICBpbml0aWFsaXplZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIHRhYnMhOiBUYWJQYW5lbFtdO1xuXG4gICAgX2FjdGl2ZUluZGV4ITogbnVtYmVyO1xuXG4gICAgcHJldmVudEFjdGl2ZUluZGV4UHJvcGFnYXRpb24hOiBib29sZWFuO1xuXG4gICAgdGFiQ2hhbmdlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIGJhY2t3YXJkSXNEaXNhYmxlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBmb3J3YXJkSXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSB0YWJDaGFuZ2VzU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gICAgcmVzaXplT2JzZXJ2ZXI6IE51bGxhYmxlPFJlc2l6ZU9ic2VydmVyPjtcblxuICAgIGNvbnRhaW5lcjogSFRNTERpdkVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICBsaXN0OiBIVE1MVUxpc3RFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gICAgYnV0dG9uVmlzaWJsZTogYm9vbGVhbjtcblxuICAgIEBWaWV3Q2hpbGQoJ2VsZW1lbnRUb09ic2VydmUnKSBlbGVtZW50VG9PYnNlcnZlOiBFbGVtZW50UmVmO1xuXG4gICAgQENvbnRlbnRDaGlsZCgncHJldmlvdXNpY29uJykgcHJldmlvdXNJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBAQ29udGVudENoaWxkKCduZXh0aWNvbicpIG5leHRJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBfcHJldmlvdXNJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBfbmV4dEljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChUYWJzU3R5bGUpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxQcmltZVRlbXBsYXRlPiB8IHVuZGVmaW5lZDtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zb2xlLmxvZygnVGFiVmlldyBjb21wb25lbnQgaXMgZGVwcmVjYXRlZCBhcyBvZiB2MTguIFVzZSBUYWJzIGNvbXBvbmVudCBpbnN0ZWFkLicpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0VGFicygpO1xuICAgICAgICB0aGlzLnRhYkNoYW5nZXNTdWJzY3JpcHRpb24gPSAodGhpcy50YWJQYW5lbHMgYXMgUXVlcnlMaXN0PFRhYlBhbmVsPikuY2hhbmdlcy5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFRhYnMoKTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaEJ1dHRvblN0YXRlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICh0aGlzLnRlbXBsYXRlcyBhcyBRdWVyeUxpc3Q8UHJpbWVUZW1wbGF0ZT4pLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdwcmV2aW91c2ljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wcmV2aW91c0ljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnbmV4dGljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9uZXh0SWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hdXRvSGlkZUJ1dHRvbnMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJpbmRSZXNpemVPYnNlcnZlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZFJlc2l6ZU9ic2VydmVyKCkge1xuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IDxhbnk+ZmluZFNpbmdsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdbZGF0YS1wYy1zZWN0aW9uPVwibmF2Y29udGVudFwiXScpO1xuICAgICAgICB0aGlzLmxpc3QgPSA8YW55PmZpbmRTaW5nbGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnW2RhdGEtcGMtc2VjdGlvbj1cIm5hdlwiXScpO1xuXG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubGlzdC5vZmZzZXRXaWR0aCA+PSB0aGlzLmNvbnRhaW5lci5vZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVCdXR0b25TdGF0ZSgpO1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5jb250YWluZXIpO1xuICAgIH1cblxuICAgIHVuYmluZFJlc2l6ZU9ic2VydmVyKCkge1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzLmVsZW1lbnRUb09ic2VydmUubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBudWxsO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYkNoYW5nZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlua0JhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFiQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRhYkNoYW5nZXNTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudGFiQ2hhbmdlc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMudW5iaW5kUmVzaXplT2JzZXJ2ZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgZ2V0VGFiSGVhZGVyQWN0aW9uSWQodGFiSWQpIHtcbiAgICAgICAgcmV0dXJuIGAke3RhYklkfV9oZWFkZXJfYWN0aW9uYDtcbiAgICB9XG5cbiAgICBnZXRUYWJDb250ZW50SWQodGFiSWQpIHtcbiAgICAgICAgcmV0dXJuIGAke3RhYklkfV9jb250ZW50YDtcbiAgICB9XG5cbiAgICBpbml0VGFicygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJzID0gKHRoaXMudGFiUGFuZWxzIGFzIFF1ZXJ5TGlzdDxUYWJQYW5lbD4pLnRvQXJyYXkoKTtcbiAgICAgICAgbGV0IHNlbGVjdGVkVGFiOiBUYWJQYW5lbCA9IHRoaXMuZmluZFNlbGVjdGVkVGFiKCkgYXMgVGFiUGFuZWw7XG4gICAgICAgIGlmICghc2VsZWN0ZWRUYWIgJiYgdGhpcy50YWJzLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZlSW5kZXggIT0gbnVsbCAmJiB0aGlzLnRhYnMubGVuZ3RoID4gdGhpcy5hY3RpdmVJbmRleCkgdGhpcy50YWJzW3RoaXMuYWN0aXZlSW5kZXhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGVsc2UgdGhpcy50YWJzWzBdLnNlbGVjdGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy50YWJDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25UYWJLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCB0YWI6IFRhYlBhbmVsKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uVGFiQXJyb3dMZWZ0S2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblRhYkFycm93UmlnaHRLZXkoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uVGFiSG9tZUtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblRhYkVuZEtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ1BhZ2VEb3duJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uVGFiRW5kS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnUGFnZVVwJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uVGFiSG9tZUtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgIGNhc2UgJ1NwYWNlJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4oZXZlbnQsIHRhYik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhYkFycm93TGVmdEtleShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBwcmV2SGVhZGVyQWN0aW9uID0gdGhpcy5maW5kUHJldkhlYWRlckFjdGlvbig8SFRNTEVsZW1lbnQ+ZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZ2V0QXR0cmlidXRlKHByZXZIZWFkZXJBY3Rpb24sICdkYXRhLXBjLWluZGV4Jyk7XG5cbiAgICAgICAgcHJldkhlYWRlckFjdGlvbiA/IHRoaXMuY2hhbmdlRm9jdXNlZFRhYihldmVudCwgcHJldkhlYWRlckFjdGlvbiwgaW5kZXgpIDogdGhpcy5vblRhYkVuZEtleShldmVudCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25UYWJBcnJvd1JpZ2h0S2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IG5leHRIZWFkZXJBY3Rpb24gPSB0aGlzLmZpbmROZXh0SGVhZGVyQWN0aW9uKDxIVE1MRWxlbWVudD5ldmVudC5jdXJyZW50VGFyZ2V0KTtcblxuICAgICAgICBjb25zdCBpbmRleCA9IGdldEF0dHJpYnV0ZShuZXh0SGVhZGVyQWN0aW9uLCAnZGF0YS1wYy1pbmRleCcpO1xuICAgICAgICBuZXh0SGVhZGVyQWN0aW9uID8gdGhpcy5jaGFuZ2VGb2N1c2VkVGFiKGV2ZW50LCBuZXh0SGVhZGVyQWN0aW9uLCBpbmRleCkgOiB0aGlzLm9uVGFiSG9tZUtleShldmVudCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25UYWJIb21lS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGZpcnN0SGVhZGVyQWN0aW9uID0gdGhpcy5maW5kRmlyc3RIZWFkZXJBY3Rpb24oKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBnZXRBdHRyaWJ1dGUoZmlyc3RIZWFkZXJBY3Rpb24sICdkYXRhLXBjLWluZGV4Jyk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VGb2N1c2VkVGFiKGV2ZW50LCBmaXJzdEhlYWRlckFjdGlvbiwgaW5kZXgpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uVGFiRW5kS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGxhc3RIZWFkZXJBY3Rpb24gPSB0aGlzLmZpbmRMYXN0SGVhZGVyQWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gZ2V0QXR0cmlidXRlKGxhc3RIZWFkZXJBY3Rpb24sICdkYXRhLXBjLWluZGV4Jyk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VGb2N1c2VkVGFiKGV2ZW50LCBsYXN0SGVhZGVyQWN0aW9uLCBpbmRleCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlRm9jdXNlZFRhYihldmVudDogS2V5Ym9hcmRFdmVudCwgZWxlbWVudDogYW55LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBmb2N1cyhlbGVtZW50KTtcbiAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RPbkZvY3VzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFiID0gdGhpcy50YWJzW2luZGV4XTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4oZXZlbnQsIHRhYik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmaW5kTmV4dEhlYWRlckFjdGlvbih0YWJFbGVtZW50OiBhbnksIHNlbGZDaGVjayA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBzZWxmQ2hlY2sgPyB0YWJFbGVtZW50IDogdGFiRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmc7XG5cbiAgICAgICAgcmV0dXJuIGhlYWRlckVsZW1lbnQgPyAoZ2V0QXR0cmlidXRlKGhlYWRlckVsZW1lbnQsICdkYXRhLXAtZGlzYWJsZWQnKSB8fCBnZXRBdHRyaWJ1dGUoaGVhZGVyRWxlbWVudCwgJ2RhdGEtcGMtc2VjdGlvbicpID09PSAnaW5rYmFyJyA/IHRoaXMuZmluZE5leHRIZWFkZXJBY3Rpb24oaGVhZGVyRWxlbWVudCkgOiBoZWFkZXJFbGVtZW50KSA6IG51bGw7XG4gICAgfVxuXG4gICAgZmluZFByZXZIZWFkZXJBY3Rpb24odGFiRWxlbWVudDogYW55LCBzZWxmQ2hlY2sgPSBmYWxzZSkge1xuICAgICAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gc2VsZkNoZWNrID8gdGFiRWxlbWVudCA6IHRhYkVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZztcblxuICAgICAgICByZXR1cm4gaGVhZGVyRWxlbWVudCA/IChnZXRBdHRyaWJ1dGUoaGVhZGVyRWxlbWVudCwgJ2RhdGEtcC1kaXNhYmxlZCcpIHx8IGdldEF0dHJpYnV0ZShoZWFkZXJFbGVtZW50LCAnZGF0YS1wYy1zZWN0aW9uJykgPT09ICdpbmtiYXInID8gdGhpcy5maW5kUHJldkhlYWRlckFjdGlvbihoZWFkZXJFbGVtZW50KSA6IGhlYWRlckVsZW1lbnQpIDogbnVsbDtcbiAgICB9XG5cbiAgICBmaW5kRmlyc3RIZWFkZXJBY3Rpb24oKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0RWwgPSB0aGlzLm5hdmJhci5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgICByZXR1cm4gdGhpcy5maW5kTmV4dEhlYWRlckFjdGlvbihmaXJzdEVsLCB0cnVlKTtcbiAgICB9XG5cbiAgICBmaW5kTGFzdEhlYWRlckFjdGlvbigpIHtcbiAgICAgICAgY29uc3QgbGFzdEVsID0gdGhpcy5uYXZiYXIubmF0aXZlRWxlbWVudC5sYXN0RWxlbWVudENoaWxkO1xuICAgICAgICBjb25zdCBsYXN0SGVhZGVyQWN0aW9uID0gZ2V0QXR0cmlidXRlKGxhc3RFbCwgJ2RhdGEtcGMtc2VjdGlvbicpID09PSAnaW5rYmFyJyA/IGxhc3RFbC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIDogbGFzdEVsO1xuICAgICAgICByZXR1cm4gdGhpcy5maW5kUHJldkhlYWRlckFjdGlvbihsYXN0SGVhZGVyQWN0aW9uLCB0cnVlKTtcbiAgICB9XG5cbiAgICBvcGVuKGV2ZW50OiBFdmVudCwgdGFiOiBUYWJQYW5lbCkge1xuICAgICAgICBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0YWIuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZFRhYjogVGFiUGFuZWwgPSB0aGlzLmZpbmRTZWxlY3RlZFRhYigpIGFzIFRhYlBhbmVsO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkVGFiKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRUYWIuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy50YWJDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRhYi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICBsZXQgc2VsZWN0ZWRUYWJJbmRleCA9IHRoaXMuZmluZFRhYkluZGV4KHRhYik7XG4gICAgICAgICAgICB0aGlzLnByZXZlbnRBY3RpdmVJbmRleFByb3BhZ2F0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSW5kZXhDaGFuZ2UuZW1pdChzZWxlY3RlZFRhYkluZGV4KTtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBpbmRleDogc2VsZWN0ZWRUYWJJbmRleCB9KTtcblxuICAgICAgICAgICAgdGhpcy51cGRhdGVTY3JvbGxCYXIoc2VsZWN0ZWRUYWJJbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZShldmVudDogRXZlbnQsIHRhYjogVGFiUGFuZWwpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbENsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuZmluZFRhYkluZGV4KHRhYiksXG4gICAgICAgICAgICAgICAgY2xvc2U6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZVRhYih0YWIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRhYih0YWIpO1xuICAgICAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoe1xuICAgICAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgICAgIGluZGV4OiB0aGlzLmZpbmRUYWJJbmRleCh0YWIpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBjbG9zZVRhYih0YWI6IFRhYlBhbmVsKSB7XG4gICAgICAgIGlmICh0YWIuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFiLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRhYkNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGFiLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFicy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCB0YWJQYW5lbCA9IHRoaXMudGFic1tpXTtcbiAgICAgICAgICAgICAgICBpZiAoIXRhYlBhbmVsLmNsb3NlZCAmJiAhdGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhYlBhbmVsLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGFiLmNsb3NlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgZmluZFNlbGVjdGVkVGFiKCk6IFRhYlBhbmVsIHwgbnVsbCB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50YWJzW2ldLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudGFic1tpXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBmaW5kVGFiSW5kZXgodGFiOiBUYWJQYW5lbCkge1xuICAgICAgICBsZXQgaW5kZXggPSAtMTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYnNbaV0gPT0gdGFiKSB7XG4gICAgICAgICAgICAgICAgaW5kZXggPSBpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBnZXRCbG9ja2FibGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcbiAgICB9XG5cbiAgICB1cGRhdGVJbmtCYXIoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5uYXZiYXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWJIZWFkZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IDxhbnk+ZmluZFNpbmdsZSh0aGlzLm5hdmJhci5uYXRpdmVFbGVtZW50LCAnW2RhdGEtcGMtc2VjdGlvbj1cImhlYWRlcmFjdGlvblwiXVtkYXRhLXAtYWN0aXZlPVwidHJ1ZVwiXScpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF0YWJIZWFkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICh0aGlzLmlua2JhciBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gZ2V0T3V0ZXJXaWR0aCh0YWJIZWFkZXIpICsgJ3B4JztcbiAgICAgICAgICAgICAgICAodGhpcy5pbmtiYXIgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gPGFueT5nZXRPZmZzZXQodGFiSGVhZGVyKS5sZWZ0IC0gPGFueT5nZXRPZmZzZXQodGhpcy5uYXZiYXIubmF0aXZlRWxlbWVudCkubGVmdCArICdweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVTY3JvbGxCYXIoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBsZXQgdGFiSGVhZGVyID0gZmluZCh0aGlzLm5hdmJhci5uYXRpdmVFbGVtZW50LCAnW2RhdGEtcGMtc2VjdGlvbj1cImhlYWRlcmFjdGlvblwiXScpW2luZGV4XTtcblxuICAgICAgICBpZiAodGFiSGVhZGVyKSB7XG4gICAgICAgICAgICB0YWJIZWFkZXIuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlQnV0dG9uU3RhdGUoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSAodGhpcy5jb250ZW50IGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGggfSA9IGNvbnRlbnQ7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gZ2V0V2lkdGgoY29udGVudCk7XG5cbiAgICAgICAgdGhpcy5iYWNrd2FyZElzRGlzYWJsZWQgPSBzY3JvbGxMZWZ0ID09PSAwO1xuICAgICAgICB0aGlzLmZvcndhcmRJc0Rpc2FibGVkID0gTWF0aC5yb3VuZChzY3JvbGxMZWZ0KSA9PT0gc2Nyb2xsV2lkdGggLSB3aWR0aDtcbiAgICB9XG5cbiAgICByZWZyZXNoQnV0dG9uU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gPGFueT5maW5kU2luZ2xlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ1tkYXRhLXBjLXNlY3Rpb249XCJuYXZjb250ZW50XCJdJyk7XG4gICAgICAgIHRoaXMubGlzdCA9IDxhbnk+ZmluZFNpbmdsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdbZGF0YS1wYy1zZWN0aW9uPVwibmF2XCJdJyk7XG4gICAgICAgIGlmICh0aGlzLmxpc3Qub2Zmc2V0V2lkdGggPj0gdGhpcy5jb250YWluZXIub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxpc3Qub2Zmc2V0V2lkdGggPj0gdGhpcy5jb250YWluZXIub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlQnV0dG9uU3RhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNjcm9sbChldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zY3JvbGxhYmxlICYmIHRoaXMudXBkYXRlQnV0dG9uU3RhdGUoKTtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIGdldFZpc2libGVCdXR0b25XaWR0aHMoKSB7XG4gICAgICAgIHJldHVybiBbdGhpcy5wcmV2QnRuPy5uYXRpdmVFbGVtZW50LCB0aGlzLm5leHRCdG4/Lm5hdGl2ZUVsZW1lbnRdLnJlZHVjZSgoYWNjLCBlbCkgPT4gKGVsID8gYWNjICsgZ2V0V2lkdGgoZWwpIDogYWNjKSwgMCk7XG4gICAgfVxuXG4gICAgbmF2QmFja3dhcmQoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSAodGhpcy5jb250ZW50IGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gZ2V0V2lkdGgoY29udGVudCkgLSB0aGlzLmdldFZpc2libGVCdXR0b25XaWR0aHMoKTtcbiAgICAgICAgY29uc3QgcG9zID0gY29udGVudC5zY3JvbGxMZWZ0IC0gd2lkdGg7XG4gICAgICAgIGNvbnRlbnQuc2Nyb2xsTGVmdCA9IHBvcyA8PSAwID8gMCA6IHBvcztcbiAgICB9XG5cbiAgICBuYXZGb3J3YXJkKCkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gKHRoaXMuY29udGVudCBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB3aWR0aCA9IGdldFdpZHRoKGNvbnRlbnQpIC0gdGhpcy5nZXRWaXNpYmxlQnV0dG9uV2lkdGhzKCk7XG4gICAgICAgIGNvbnN0IHBvcyA9IGNvbnRlbnQuc2Nyb2xsTGVmdCArIHdpZHRoO1xuICAgICAgICBjb25zdCBsYXN0UG9zID0gY29udGVudC5zY3JvbGxXaWR0aCAtIHdpZHRoO1xuXG4gICAgICAgIGNvbnRlbnQuc2Nyb2xsTGVmdCA9IHBvcyA+PSBsYXN0UG9zID8gbGFzdFBvcyA6IHBvcztcbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1RhYlZpZXcsIFRhYlBhbmVsLCBTaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtUYWJWaWV3LCBUYWJQYW5lbCwgU2hhcmVkTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJWaWV3TW9kdWxlIHt9XG4iXX0=
|