primeng 0.0.0-watch
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/LICENSE.md +77 -0
- package/README.md +11 -0
- package/accordion/index.d.ts +255 -0
- package/animateonscroll/index.d.ts +71 -0
- package/api/index.d.ts +1820 -0
- package/autocomplete/index.d.ts +925 -0
- package/autofocus/index.d.ts +31 -0
- package/avatar/index.d.ts +115 -0
- package/avatargroup/index.d.ts +60 -0
- package/badge/index.d.ts +156 -0
- package/base/index.d.ts +63 -0
- package/basecomponent/index.d.ts +54 -0
- package/baseeditableholder/index.d.ts +45 -0
- package/baseinput/index.d.ts +73 -0
- package/basemodelholder/index.d.ts +12 -0
- package/blockui/index.d.ts +114 -0
- package/breadcrumb/index.d.ts +179 -0
- package/button/index.d.ts +478 -0
- package/buttongroup/index.d.ts +43 -0
- package/card/index.d.ts +154 -0
- package/carousel/index.d.ts +443 -0
- package/cascadeselect/index.d.ts +729 -0
- package/chart/index.d.ts +128 -0
- package/checkbox/index.d.ts +248 -0
- package/chip/index.d.ts +165 -0
- package/colorpicker/index.d.ts +329 -0
- package/config/index.d.ts +89 -0
- package/confirmdialog/index.d.ts +358 -0
- package/confirmpopup/index.d.ts +218 -0
- package/contextmenu/index.d.ts +356 -0
- package/dataview/index.d.ts +539 -0
- package/datepicker/index.d.ts +1191 -0
- package/dialog/index.d.ts +531 -0
- package/divider/index.d.ts +114 -0
- package/dock/index.d.ts +201 -0
- package/dom/index.d.ts +109 -0
- package/dragdrop/index.d.ts +121 -0
- package/drawer/index.d.ts +309 -0
- package/dynamicdialog/index.d.ts +544 -0
- package/editor/index.d.ts +306 -0
- package/fesm2022/primeng-accordion.mjs +593 -0
- package/fesm2022/primeng-accordion.mjs.map +1 -0
- package/fesm2022/primeng-animateonscroll.mjs +178 -0
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -0
- package/fesm2022/primeng-api.mjs +836 -0
- package/fesm2022/primeng-api.mjs.map +1 -0
- package/fesm2022/primeng-autocomplete.mjs +2073 -0
- package/fesm2022/primeng-autocomplete.mjs.map +1 -0
- package/fesm2022/primeng-autofocus.mjs +83 -0
- package/fesm2022/primeng-autofocus.mjs.map +1 -0
- package/fesm2022/primeng-avatar.mjs +181 -0
- package/fesm2022/primeng-avatar.mjs.map +1 -0
- package/fesm2022/primeng-avatargroup.mjs +103 -0
- package/fesm2022/primeng-avatargroup.mjs.map +1 -0
- package/fesm2022/primeng-badge.mjs +366 -0
- package/fesm2022/primeng-badge.mjs.map +1 -0
- package/fesm2022/primeng-base.mjs +127 -0
- package/fesm2022/primeng-base.mjs.map +1 -0
- package/fesm2022/primeng-basecomponent.mjs +173 -0
- package/fesm2022/primeng-basecomponent.mjs.map +1 -0
- package/fesm2022/primeng-baseeditableholder.mjs +67 -0
- package/fesm2022/primeng-baseeditableholder.mjs.map +1 -0
- package/fesm2022/primeng-baseinput.mjs +85 -0
- package/fesm2022/primeng-baseinput.mjs.map +1 -0
- package/fesm2022/primeng-basemodelholder.mjs +25 -0
- package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
- package/fesm2022/primeng-blockui.mjs +237 -0
- package/fesm2022/primeng-blockui.mjs.map +1 -0
- package/fesm2022/primeng-breadcrumb.mjs +457 -0
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -0
- package/fesm2022/primeng-button.mjs +864 -0
- package/fesm2022/primeng-button.mjs.map +1 -0
- package/fesm2022/primeng-buttongroup.mjs +109 -0
- package/fesm2022/primeng-buttongroup.mjs.map +1 -0
- package/fesm2022/primeng-card.mjs +271 -0
- package/fesm2022/primeng-card.mjs.map +1 -0
- package/fesm2022/primeng-carousel.mjs +1101 -0
- package/fesm2022/primeng-carousel.mjs.map +1 -0
- package/fesm2022/primeng-cascadeselect.mjs +1778 -0
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -0
- package/fesm2022/primeng-chart.mjs +246 -0
- package/fesm2022/primeng-chart.mjs.map +1 -0
- package/fesm2022/primeng-checkbox.mjs +441 -0
- package/fesm2022/primeng-checkbox.mjs.map +1 -0
- package/fesm2022/primeng-chip.mjs +323 -0
- package/fesm2022/primeng-chip.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +865 -0
- package/fesm2022/primeng-colorpicker.mjs.map +1 -0
- package/fesm2022/primeng-config.mjs +289 -0
- package/fesm2022/primeng-config.mjs.map +1 -0
- package/fesm2022/primeng-confirmdialog.mjs +823 -0
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -0
- package/fesm2022/primeng-confirmpopup.mjs +630 -0
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -0
- package/fesm2022/primeng-contextmenu.mjs +1410 -0
- package/fesm2022/primeng-contextmenu.mjs.map +1 -0
- package/fesm2022/primeng-dataview.mjs +812 -0
- package/fesm2022/primeng-dataview.mjs.map +1 -0
- package/fesm2022/primeng-datepicker.mjs +4373 -0
- package/fesm2022/primeng-datepicker.mjs.map +1 -0
- package/fesm2022/primeng-dialog.mjs +1278 -0
- package/fesm2022/primeng-dialog.mjs.map +1 -0
- package/fesm2022/primeng-divider.mjs +145 -0
- package/fesm2022/primeng-divider.mjs.map +1 -0
- package/fesm2022/primeng-dock.mjs +540 -0
- package/fesm2022/primeng-dock.mjs.map +1 -0
- package/fesm2022/primeng-dom.mjs +775 -0
- package/fesm2022/primeng-dom.mjs.map +1 -0
- package/fesm2022/primeng-dragdrop.mjs +336 -0
- package/fesm2022/primeng-dragdrop.mjs.map +1 -0
- package/fesm2022/primeng-drawer.mjs +738 -0
- package/fesm2022/primeng-drawer.mjs.map +1 -0
- package/fesm2022/primeng-dynamicdialog.mjs +1242 -0
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -0
- package/fesm2022/primeng-editor.mjs +511 -0
- package/fesm2022/primeng-editor.mjs.map +1 -0
- package/fesm2022/primeng-fieldset.mjs +417 -0
- package/fesm2022/primeng-fieldset.mjs.map +1 -0
- package/fesm2022/primeng-fileupload.mjs +1561 -0
- package/fesm2022/primeng-fileupload.mjs.map +1 -0
- package/fesm2022/primeng-floatlabel.mjs +103 -0
- package/fesm2022/primeng-floatlabel.mjs.map +1 -0
- package/fesm2022/primeng-fluid.mjs +80 -0
- package/fesm2022/primeng-fluid.mjs.map +1 -0
- package/fesm2022/primeng-focustrap.mjs +110 -0
- package/fesm2022/primeng-focustrap.mjs.map +1 -0
- package/fesm2022/primeng-galleria.mjs +1874 -0
- package/fesm2022/primeng-galleria.mjs.map +1 -0
- package/fesm2022/primeng-iconfield.mjs +101 -0
- package/fesm2022/primeng-iconfield.mjs.map +1 -0
- package/fesm2022/primeng-icons-angledoubledown.mjs +37 -0
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -0
- package/fesm2022/primeng-icons-angledoubleleft.mjs +37 -0
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -0
- package/fesm2022/primeng-icons-angledoubleright.mjs +37 -0
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -0
- package/fesm2022/primeng-icons-angledoubleup.mjs +37 -0
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -0
- package/fesm2022/primeng-icons-angledown.mjs +33 -0
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -0
- package/fesm2022/primeng-icons-angleleft.mjs +33 -0
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -0
- package/fesm2022/primeng-icons-angleright.mjs +33 -0
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -0
- package/fesm2022/primeng-icons-angleup.mjs +33 -0
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -0
- package/fesm2022/primeng-icons-arrowdown.mjs +57 -0
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -0
- package/fesm2022/primeng-icons-arrowdownleft.mjs +33 -0
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -0
- package/fesm2022/primeng-icons-arrowdownright.mjs +33 -0
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -0
- package/fesm2022/primeng-icons-arrowleft.mjs +57 -0
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -0
- package/fesm2022/primeng-icons-arrowright.mjs +37 -0
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -0
- package/fesm2022/primeng-icons-arrowup.mjs +57 -0
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -0
- package/fesm2022/primeng-icons-ban.mjs +53 -0
- package/fesm2022/primeng-icons-ban.mjs.map +1 -0
- package/fesm2022/primeng-icons-bars.mjs +37 -0
- package/fesm2022/primeng-icons-bars.mjs.map +1 -0
- package/fesm2022/primeng-icons-baseicon.mjs +102 -0
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -0
- package/fesm2022/primeng-icons-blank.mjs +23 -0
- package/fesm2022/primeng-icons-blank.mjs.map +1 -0
- package/fesm2022/primeng-icons-calendar.mjs +33 -0
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -0
- package/fesm2022/primeng-icons-caretleft.mjs +33 -0
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -0
- package/fesm2022/primeng-icons-caretright.mjs +33 -0
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -0
- package/fesm2022/primeng-icons-check.mjs +33 -0
- package/fesm2022/primeng-icons-check.mjs.map +1 -0
- package/fesm2022/primeng-icons-chevrondown.mjs +33 -0
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -0
- package/fesm2022/primeng-icons-chevronleft.mjs +33 -0
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -0
- package/fesm2022/primeng-icons-chevronright.mjs +33 -0
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -0
- package/fesm2022/primeng-icons-chevronup.mjs +33 -0
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -0
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +69 -0
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -0
- package/fesm2022/primeng-icons-eye.mjs +37 -0
- package/fesm2022/primeng-icons-eye.mjs.map +1 -0
- package/fesm2022/primeng-icons-eyeslash.mjs +57 -0
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -0
- package/fesm2022/primeng-icons-filter.mjs +53 -0
- package/fesm2022/primeng-icons-filter.mjs.map +1 -0
- package/fesm2022/primeng-icons-filterfill.mjs +33 -0
- package/fesm2022/primeng-icons-filterfill.mjs.map +1 -0
- package/fesm2022/primeng-icons-filterslash.mjs +57 -0
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -0
- package/fesm2022/primeng-icons-home.mjs +57 -0
- package/fesm2022/primeng-icons-home.mjs.map +1 -0
- package/fesm2022/primeng-icons-infocircle.mjs +57 -0
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -0
- package/fesm2022/primeng-icons-minus.mjs +33 -0
- package/fesm2022/primeng-icons-minus.mjs.map +1 -0
- package/fesm2022/primeng-icons-pencil.mjs +53 -0
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -0
- package/fesm2022/primeng-icons-plus.mjs +53 -0
- package/fesm2022/primeng-icons-plus.mjs.map +1 -0
- package/fesm2022/primeng-icons-refresh.mjs +57 -0
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -0
- package/fesm2022/primeng-icons-search.mjs +57 -0
- package/fesm2022/primeng-icons-search.mjs.map +1 -0
- package/fesm2022/primeng-icons-searchminus.mjs +57 -0
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -0
- package/fesm2022/primeng-icons-searchplus.mjs +57 -0
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -0
- package/fesm2022/primeng-icons-sortalt.mjs +65 -0
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -0
- package/fesm2022/primeng-icons-sortamountdown.mjs +53 -0
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -0
- package/fesm2022/primeng-icons-sortamountupalt.mjs +53 -0
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -0
- package/fesm2022/primeng-icons-spinner.mjs +53 -0
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -0
- package/fesm2022/primeng-icons-star.mjs +53 -0
- package/fesm2022/primeng-icons-star.mjs.map +1 -0
- package/fesm2022/primeng-icons-starfill.mjs +53 -0
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -0
- package/fesm2022/primeng-icons-thlarge.mjs +57 -0
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -0
- package/fesm2022/primeng-icons-times.mjs +33 -0
- package/fesm2022/primeng-icons-times.mjs.map +1 -0
- package/fesm2022/primeng-icons-timescircle.mjs +57 -0
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -0
- package/fesm2022/primeng-icons-trash.mjs +57 -0
- package/fesm2022/primeng-icons-trash.mjs.map +1 -0
- package/fesm2022/primeng-icons-undo.mjs +57 -0
- package/fesm2022/primeng-icons-undo.mjs.map +1 -0
- package/fesm2022/primeng-icons-upload.mjs +57 -0
- package/fesm2022/primeng-icons-upload.mjs.map +1 -0
- package/fesm2022/primeng-icons-windowmaximize.mjs +57 -0
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -0
- package/fesm2022/primeng-icons-windowminimize.mjs +57 -0
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -0
- package/fesm2022/primeng-icons.mjs +63 -0
- package/fesm2022/primeng-icons.mjs.map +1 -0
- package/fesm2022/primeng-iftalabel.mjs +89 -0
- package/fesm2022/primeng-iftalabel.mjs.map +1 -0
- package/fesm2022/primeng-image.mjs +705 -0
- package/fesm2022/primeng-image.mjs.map +1 -0
- package/fesm2022/primeng-imagecompare.mjs +192 -0
- package/fesm2022/primeng-imagecompare.mjs.map +1 -0
- package/fesm2022/primeng-inplace.mjs +319 -0
- package/fesm2022/primeng-inplace.mjs.map +1 -0
- package/fesm2022/primeng-inputgroup.mjs +128 -0
- package/fesm2022/primeng-inputgroup.mjs.map +1 -0
- package/fesm2022/primeng-inputgroupaddon.mjs +83 -0
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -0
- package/fesm2022/primeng-inputicon.mjs +71 -0
- package/fesm2022/primeng-inputicon.mjs.map +1 -0
- package/fesm2022/primeng-inputmask.mjs +926 -0
- package/fesm2022/primeng-inputmask.mjs.map +1 -0
- package/fesm2022/primeng-inputnumber.mjs +1621 -0
- package/fesm2022/primeng-inputnumber.mjs.map +1 -0
- package/fesm2022/primeng-inputotp.mjs +443 -0
- package/fesm2022/primeng-inputotp.mjs.map +1 -0
- package/fesm2022/primeng-inputtext.mjs +145 -0
- package/fesm2022/primeng-inputtext.mjs.map +1 -0
- package/fesm2022/primeng-keyfilter.mjs +267 -0
- package/fesm2022/primeng-keyfilter.mjs.map +1 -0
- package/fesm2022/primeng-knob.mjs +491 -0
- package/fesm2022/primeng-knob.mjs.map +1 -0
- package/fesm2022/primeng-listbox.mjs +1925 -0
- package/fesm2022/primeng-listbox.mjs.map +1 -0
- package/fesm2022/primeng-megamenu.mjs +1493 -0
- package/fesm2022/primeng-megamenu.mjs.map +1 -0
- package/fesm2022/primeng-menu.mjs +1069 -0
- package/fesm2022/primeng-menu.mjs.map +1 -0
- package/fesm2022/primeng-menubar.mjs +1391 -0
- package/fesm2022/primeng-menubar.mjs.map +1 -0
- package/fesm2022/primeng-message.mjs +420 -0
- package/fesm2022/primeng-message.mjs.map +1 -0
- package/fesm2022/primeng-metergroup.mjs +393 -0
- package/fesm2022/primeng-metergroup.mjs.map +1 -0
- package/fesm2022/primeng-multiselect.mjs +2519 -0
- package/fesm2022/primeng-multiselect.mjs.map +1 -0
- package/fesm2022/primeng-orderlist.mjs +890 -0
- package/fesm2022/primeng-orderlist.mjs.map +1 -0
- package/fesm2022/primeng-organizationchart.mjs +520 -0
- package/fesm2022/primeng-organizationchart.mjs.map +1 -0
- package/fesm2022/primeng-overlay.mjs +776 -0
- package/fesm2022/primeng-overlay.mjs.map +1 -0
- package/fesm2022/primeng-overlaybadge.mjs +151 -0
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -0
- package/fesm2022/primeng-paginator.mjs +802 -0
- package/fesm2022/primeng-paginator.mjs.map +1 -0
- package/fesm2022/primeng-panel.mjs +595 -0
- package/fesm2022/primeng-panel.mjs.map +1 -0
- package/fesm2022/primeng-panelmenu.mjs +1442 -0
- package/fesm2022/primeng-panelmenu.mjs.map +1 -0
- package/fesm2022/primeng-password.mjs +1156 -0
- package/fesm2022/primeng-password.mjs.map +1 -0
- package/fesm2022/primeng-picklist.mjs +2057 -0
- package/fesm2022/primeng-picklist.mjs.map +1 -0
- package/fesm2022/primeng-popover.mjs +611 -0
- package/fesm2022/primeng-popover.mjs.map +1 -0
- package/fesm2022/primeng-progressbar.mjs +196 -0
- package/fesm2022/primeng-progressbar.mjs.map +1 -0
- package/fesm2022/primeng-progressspinner.mjs +140 -0
- package/fesm2022/primeng-progressspinner.mjs.map +1 -0
- package/fesm2022/primeng-radiobutton.mjs +358 -0
- package/fesm2022/primeng-radiobutton.mjs.map +1 -0
- package/fesm2022/primeng-rating.mjs +388 -0
- package/fesm2022/primeng-rating.mjs.map +1 -0
- package/fesm2022/primeng-ripple.mjs +190 -0
- package/fesm2022/primeng-ripple.mjs.map +1 -0
- package/fesm2022/primeng-scroller.mjs +1306 -0
- package/fesm2022/primeng-scroller.mjs.map +1 -0
- package/fesm2022/primeng-scrollpanel.mjs +560 -0
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -0
- package/fesm2022/primeng-scrolltop.mjs +339 -0
- package/fesm2022/primeng-scrolltop.mjs.map +1 -0
- package/fesm2022/primeng-select.mjs +2250 -0
- package/fesm2022/primeng-select.mjs.map +1 -0
- package/fesm2022/primeng-selectbutton.mjs +413 -0
- package/fesm2022/primeng-selectbutton.mjs.map +1 -0
- package/fesm2022/primeng-skeleton.mjs +154 -0
- package/fesm2022/primeng-skeleton.mjs.map +1 -0
- package/fesm2022/primeng-slider.mjs +843 -0
- package/fesm2022/primeng-slider.mjs.map +1 -0
- package/fesm2022/primeng-speeddial.mjs +901 -0
- package/fesm2022/primeng-speeddial.mjs.map +1 -0
- package/fesm2022/primeng-splitbutton.mjs +598 -0
- package/fesm2022/primeng-splitbutton.mjs.map +1 -0
- package/fesm2022/primeng-splitter.mjs +587 -0
- package/fesm2022/primeng-splitter.mjs.map +1 -0
- package/fesm2022/primeng-stepper.mjs +683 -0
- package/fesm2022/primeng-stepper.mjs.map +1 -0
- package/fesm2022/primeng-steps.mjs +424 -0
- package/fesm2022/primeng-steps.mjs.map +1 -0
- package/fesm2022/primeng-styleclass.mjs +354 -0
- package/fesm2022/primeng-styleclass.mjs.map +1 -0
- package/fesm2022/primeng-table.mjs +7540 -0
- package/fesm2022/primeng-table.mjs.map +1 -0
- package/fesm2022/primeng-tabs.mjs +794 -0
- package/fesm2022/primeng-tabs.mjs.map +1 -0
- package/fesm2022/primeng-tag.mjs +176 -0
- package/fesm2022/primeng-tag.mjs.map +1 -0
- package/fesm2022/primeng-terminal.mjs +254 -0
- package/fesm2022/primeng-terminal.mjs.map +1 -0
- package/fesm2022/primeng-textarea.mjs +197 -0
- package/fesm2022/primeng-textarea.mjs.map +1 -0
- package/fesm2022/primeng-tieredmenu.mjs +1457 -0
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -0
- package/fesm2022/primeng-timeline.mjs +228 -0
- package/fesm2022/primeng-timeline.mjs.map +1 -0
- package/fesm2022/primeng-toast.mjs +751 -0
- package/fesm2022/primeng-toast.mjs.map +1 -0
- package/fesm2022/primeng-togglebutton.mjs +361 -0
- package/fesm2022/primeng-togglebutton.mjs.map +1 -0
- package/fesm2022/primeng-toggleswitch.mjs +330 -0
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -0
- package/fesm2022/primeng-toolbar.mjs +189 -0
- package/fesm2022/primeng-toolbar.mjs.map +1 -0
- package/fesm2022/primeng-tooltip.mjs +757 -0
- package/fesm2022/primeng-tooltip.mjs.map +1 -0
- package/fesm2022/primeng-tree.mjs +2188 -0
- package/fesm2022/primeng-tree.mjs.map +1 -0
- package/fesm2022/primeng-treeselect.mjs +1328 -0
- package/fesm2022/primeng-treeselect.mjs.map +1 -0
- package/fesm2022/primeng-treetable.mjs +5080 -0
- package/fesm2022/primeng-treetable.mjs.map +1 -0
- package/fesm2022/primeng-ts-helpers.mjs +4 -0
- package/fesm2022/primeng-ts-helpers.mjs.map +1 -0
- package/fesm2022/primeng-usestyle.mjs +52 -0
- package/fesm2022/primeng-usestyle.mjs.map +1 -0
- package/fesm2022/primeng-utils.mjs +332 -0
- package/fesm2022/primeng-utils.mjs.map +1 -0
- package/fesm2022/primeng.mjs +6 -0
- package/fesm2022/primeng.mjs.map +1 -0
- package/fieldset/index.d.ts +217 -0
- package/fileupload/index.d.ts +786 -0
- package/floatlabel/index.d.ts +59 -0
- package/fluid/index.d.ts +48 -0
- package/focustrap/index.d.ts +36 -0
- package/galleria/index.d.ts +710 -0
- package/iconfield/index.d.ts +64 -0
- package/icons/angledoubledown/index.d.ts +9 -0
- package/icons/angledoubleleft/index.d.ts +9 -0
- package/icons/angledoubleright/index.d.ts +9 -0
- package/icons/angledoubleup/index.d.ts +9 -0
- package/icons/angledown/index.d.ts +9 -0
- package/icons/angleleft/index.d.ts +9 -0
- package/icons/angleright/index.d.ts +9 -0
- package/icons/angleup/index.d.ts +9 -0
- package/icons/arrowdown/index.d.ts +12 -0
- package/icons/arrowdownleft/index.d.ts +9 -0
- package/icons/arrowdownright/index.d.ts +9 -0
- package/icons/arrowleft/index.d.ts +11 -0
- package/icons/arrowright/index.d.ts +9 -0
- package/icons/arrowup/index.d.ts +11 -0
- package/icons/ban/index.d.ts +11 -0
- package/icons/bars/index.d.ts +9 -0
- package/icons/baseicon/index.d.ts +33 -0
- package/icons/blank/index.d.ts +9 -0
- package/icons/calendar/index.d.ts +9 -0
- package/icons/caretleft/index.d.ts +9 -0
- package/icons/caretright/index.d.ts +9 -0
- package/icons/check/index.d.ts +9 -0
- package/icons/chevrondown/index.d.ts +9 -0
- package/icons/chevronleft/index.d.ts +9 -0
- package/icons/chevronright/index.d.ts +9 -0
- package/icons/chevronup/index.d.ts +9 -0
- package/icons/exclamationtriangle/index.d.ts +12 -0
- package/icons/eye/index.d.ts +9 -0
- package/icons/eyeslash/index.d.ts +11 -0
- package/icons/filter/index.d.ts +11 -0
- package/icons/filterfill/index.d.ts +9 -0
- package/icons/filterslash/index.d.ts +11 -0
- package/icons/home/index.d.ts +11 -0
- package/icons/index.d.ts +53 -0
- package/icons/infocircle/index.d.ts +11 -0
- package/icons/minus/index.d.ts +9 -0
- package/icons/pencil/index.d.ts +11 -0
- package/icons/plus/index.d.ts +11 -0
- package/icons/refresh/index.d.ts +11 -0
- package/icons/search/index.d.ts +11 -0
- package/icons/searchminus/index.d.ts +11 -0
- package/icons/searchplus/index.d.ts +11 -0
- package/icons/sortalt/index.d.ts +11 -0
- package/icons/sortamountdown/index.d.ts +11 -0
- package/icons/sortamountupalt/index.d.ts +11 -0
- package/icons/spinner/index.d.ts +11 -0
- package/icons/star/index.d.ts +11 -0
- package/icons/starfill/index.d.ts +11 -0
- package/icons/thlarge/index.d.ts +11 -0
- package/icons/times/index.d.ts +9 -0
- package/icons/timescircle/index.d.ts +11 -0
- package/icons/trash/index.d.ts +11 -0
- package/icons/undo/index.d.ts +11 -0
- package/icons/upload/index.d.ts +11 -0
- package/icons/windowmaximize/index.d.ts +11 -0
- package/icons/windowminimize/index.d.ts +11 -0
- package/iftalabel/index.d.ts +50 -0
- package/image/index.d.ts +376 -0
- package/imagecompare/index.d.ts +93 -0
- package/index.d.ts +2 -0
- package/inplace/index.d.ts +183 -0
- package/inputgroup/index.d.ts +58 -0
- package/inputgroupaddon/index.d.ts +45 -0
- package/inputicon/index.d.ts +36 -0
- package/inputmask/index.d.ts +282 -0
- package/inputnumber/index.d.ts +466 -0
- package/inputotp/index.d.ts +209 -0
- package/inputtext/index.d.ts +89 -0
- package/keyfilter/index.d.ts +66 -0
- package/knob/index.d.ts +206 -0
- package/listbox/index.d.ts +802 -0
- package/megamenu/index.d.ts +408 -0
- package/menu/index.d.ts +341 -0
- package/menubar/index.d.ts +418 -0
- package/message/index.d.ts +195 -0
- package/metergroup/index.d.ts +291 -0
- package/multiselect/index.d.ts +1060 -0
- package/orderlist/index.d.ts +464 -0
- package/organizationchart/index.d.ts +285 -0
- package/overlay/index.d.ts +255 -0
- package/overlaybadge/index.d.ts +73 -0
- package/package.json +725 -0
- package/paginator/index.d.ts +393 -0
- package/panel/index.d.ts +266 -0
- package/panelmenu/index.d.ts +380 -0
- package/password/index.d.ts +436 -0
- package/picklist/index.d.ts +906 -0
- package/popover/index.d.ts +176 -0
- package/progressbar/index.d.ts +112 -0
- package/progressspinner/index.d.ts +85 -0
- package/radiobutton/index.d.ts +201 -0
- package/rating/index.d.ts +218 -0
- package/ripple/index.d.ts +62 -0
- package/scroller/index.d.ts +614 -0
- package/scrollpanel/index.d.ts +161 -0
- package/scrolltop/index.d.ts +158 -0
- package/select/index.d.ts +923 -0
- package/selectbutton/index.d.ts +221 -0
- package/skeleton/index.d.ts +96 -0
- package/slider/index.d.ts +255 -0
- package/speeddial/index.d.ts +454 -0
- package/splitbutton/index.d.ts +306 -0
- package/splitter/index.d.ts +239 -0
- package/stepper/index.d.ts +297 -0
- package/steps/index.d.ts +152 -0
- package/styleclass/index.d.ts +115 -0
- package/table/index.d.ts +2700 -0
- package/tabs/index.d.ts +321 -0
- package/tag/index.d.ts +114 -0
- package/terminal/index.d.ts +134 -0
- package/textarea/index.d.ts +108 -0
- package/tieredmenu/index.d.ts +430 -0
- package/timeline/index.d.ts +170 -0
- package/toast/index.d.ts +320 -0
- package/togglebutton/index.d.ts +243 -0
- package/toggleswitch/index.d.ts +188 -0
- package/toolbar/index.d.ts +118 -0
- package/tooltip/index.d.ts +247 -0
- package/tree/index.d.ts +847 -0
- package/treeselect/index.d.ts +655 -0
- package/treetable/index.d.ts +1727 -0
- package/ts-helpers/index.d.ts +6 -0
- package/usestyle/index.d.ts +15 -0
- package/utils/index.d.ts +43 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"primeng-cascadeselect.mjs","sources":["../../src/cascadeselect/style/cascadeselectstyle.ts","../../src/cascadeselect/cascadeselect.ts","../../src/cascadeselect/primeng-cascadeselect.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/cascadeselect';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${style}\n\n /* For PrimeNG */\n .p-cascadeselect.ng-invalid.ng-dirty:not(.ng-untouched):not(.ng-pristine) {\n border-color: dt('cascadeselect.invalid.border.color');\n }\n\n .p-cascadeselect.ng-invalid.ng-dirty:not(.ng-untouched):not(.ng-pristine) .p-cascadeselect-label.p-placeholder {\n color: dt('cascadeselect.invalid.placeholder.color');\n }\n`;\nconst inlineStyles = {\n root: ({ instance }) => ({ position: instance.$appendTo() === 'self' ? 'relative' : undefined })\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-cascadeselect p-component p-inputwrapper',\n {\n 'p-cascadeselect p-component p-inputwrapper': true,\n 'p-cascadeselect-clearable': instance.showClear && !instance.$disabled(),\n 'p-cascadeselect-mobile': instance.queryMatches(),\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': instance.modelValue(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-inputwrapper-focus': instance.focused || instance.overlayVisible,\n 'p-cascadeselect-open': instance.overlayVisible,\n 'p-cascadeselect-fluid': instance.hasFluid,\n 'p-cascadeselect-sm p-inputfield-sm': instance.size() === 'small',\n 'p-cascadeselect-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n label: ({ instance }) => [\n 'p-cascadeselect-label',\n {\n 'p-placeholder': instance.label() === instance.placeholder,\n 'p-cascadeselect-label-empty': !instance.value && (instance.label() === 'p-emptylabel' || instance.label().length === 0)\n }\n ],\n clearIcon: 'p-cascadeselect-clear-icon',\n dropdown: 'p-cascadeselect-dropdown',\n loadingIcon: 'p-cascadeselect-loading-icon',\n dropdownIcon: 'p-cascadeselect-dropdown-icon',\n overlay: ({ instance }) => [\n 'p-cascadeselect-overlay p-component-overlay p-component',\n {\n 'p-cascadeselect-mobile-active': instance.queryMatches()\n }\n ],\n listContainer: 'p-cascadeselect-list-container',\n list: 'p-cascadeselect-list',\n option: ({ instance, processedOption }) => [\n 'p-cascadeselect-option',\n {\n 'p-cascadeselect-option-group': instance.isOptionGroup(processedOption),\n 'p-cascadeselect-option-active': instance.isOptionActive(processedOption),\n 'p-cascadeselect-option-selected': instance.isOptionSelected(processedOption),\n 'p-focus': instance.isOptionFocused(processedOption),\n 'p-disabled': instance.isOptionDisabled(processedOption)\n }\n ],\n optionContent: 'p-cascadeselect-option-content',\n optionText: 'p-cascadeselect-option-text',\n groupIcon: 'p-cascadeselect-group-icon',\n optionList: 'p-cascadeselect-list p-cascadeselect-overlay p-cascadeselect-option-list'\n};\n\n@Injectable()\nexport class CascadeSelectStyle extends BaseStyle {\n name = 'cascadeselect';\n\n theme = theme;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * CascadeSelect is a form component to select a value from a nested structure of options.\n *\n * [Live Demo](https://www.primeng.org/cascadeselect/)\n *\n * @module cascadeselectstyle\n *\n */\nexport enum CascadeSelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-cascadeselect',\n /**\n * Class name of the label element\n */\n label = 'p-cascadeselect-label',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-cascadeselect-dropdown',\n /**\n * Class name of the loading icon element\n */\n loadingIcon = 'p-cascadeselect-loading-icon',\n /**\n * Class name of the dropdown icon element\n */\n clearIcon = 'p-cascadeselect-clear-icon',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-cascadeselect-dropdown-icon',\n /**\n * Class name of the overlay element\n */\n overlay = 'p-cascadeselect-overlay',\n /**\n * Class name of the list container element\n */\n listContainer = 'p-cascadeselect-list-container',\n /**\n * Class name of the list element\n */\n list = 'p-cascadeselect-list',\n /**\n * Class name of the item element\n */\n item = 'p-cascadeselect-item',\n /**\n * Class name of the item content element\n */\n itemContent = 'p-cascadeselect-item-content',\n /**\n * Class name of the item text element\n */\n itemText = 'p-cascadeselect-item-text',\n /**\n * Class name of the group icon element\n */\n groupIcon = 'p-cascadeselect-group-icon',\n /**\n * Class name of the item list element\n */\n itemList = 'p-cascadeselect-item-list'\n}\n\nexport interface CascadeSelectStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n input,\n Input,\n NgModule,\n numberAttribute,\n OnInit,\n Output,\n QueryList,\n signal,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { calculateScrollbarWidth, equals, findLastIndex, findSingle, focus, getHiddenElementOuterWidth, getOffset, getOuterWidth, getViewport, isEmpty, isNotEmpty, isPrintableCharacter, resolveFieldData, uuid } from '@primeuix/utils';\nimport { OverlayOptions, OverlayService, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Fluid } from 'primeng/fluid';\nimport { AngleRightIcon, ChevronDownIcon, TimesIcon } from 'primeng/icons';\nimport { Overlay } from 'primeng/overlay';\nimport { Ripple } from 'primeng/ripple';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { CascadeSelectBeforeHideEvent, CascadeSelectBeforeShowEvent, CascadeSelectChangeEvent, CascadeSelectHideEvent, CascadeSelectShowEvent } from './cascadeselect.interface';\nimport { CascadeSelectStyle } from './style/cascadeselectstyle';\n\nexport const CASCADESELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CascadeSelect),\n multi: true\n};\n\n@Component({\n selector: 'p-cascadeSelectSub, p-cascadeselect-sub',\n standalone: true,\n imports: [CommonModule, Ripple, AngleRightIcon, SharedModule],\n template: `\n <ul [class]=\"cx('list')\" [attr.role]=\"role\" aria-orientation=\"horizontal\" [attr.data-pc-section]=\"level === 0 ? 'list' : 'sublist'\" [attr.aria-label]=\"listLabel\">\n <ng-template ngFor let-processedOption [ngForOf]=\"options\" let-i=\"index\">\n <li\n [class]=\"cx('option', { processedOption })\"\n role=\"treeitem\"\n [attr.aria-level]=\"level + 1\"\n [attr.aria-setsize]=\"options.length\"\n [attr.data-pc-section]=\"'item'\"\n [id]=\"getOptionId(processedOption)\"\n [attr.aria-label]=\"getOptionLabelToRender(processedOption)\"\n [attr.aria-selected]=\"isOptionGroup(processedOption) ? undefined : isOptionSelected(processedOption)\"\n [attr.aria-posinset]=\"i + 1\"\n >\n <div\n [class]=\"cx('optionContent')\"\n (click)=\"onOptionClick($event, processedOption)\"\n (mouseenter)=\"onOptionMouseEnter($event, processedOption)\"\n (mousemove)=\"onOptionMouseMove($event, processedOption)\"\n pRipple\n [attr.data-pc-section]=\"'content'\"\n >\n <ng-container *ngIf=\"optionTemplate; else defaultOptionTemplate\">\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: { $implicit: processedOption?.option }\"></ng-container>\n </ng-container>\n <ng-template #defaultOptionTemplate>\n <span [class]=\"cx('optionText')\" [attr.data-pc-section]=\"'text'\">{{ getOptionLabelToRender(processedOption) }}</span>\n </ng-template>\n <span [class]=\"cx('groupIcon')\" *ngIf=\"isOptionGroup(processedOption)\" [attr.data-pc-section]=\"'groupIcon'\">\n <svg data-p-icon=\"angle-right\" *ngIf=\"!groupicon\" />\n <ng-template *ngTemplateOutlet=\"groupicon\"></ng-template>\n </span>\n </div>\n <p-cascadeselect-sub\n *ngIf=\"isOptionGroup(processedOption) && isOptionActive(processedOption)\"\n [role]=\"'group'\"\n [class]=\"cx('optionList')\"\n [selectId]=\"selectId\"\n [focusedOptionId]=\"focusedOptionId\"\n [activeOptionPath]=\"activeOptionPath\"\n [options]=\"getOptionGroupChildren(processedOption)\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [level]=\"level + 1\"\n (onChange)=\"onChange.emit($event)\"\n (onFocusChange)=\"onFocusChange.emit($event)\"\n (onFocusEnterChange)=\"onFocusEnterChange.emit($event)\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [optionGroupChildren]=\"optionGroupChildren\"\n [dirty]=\"dirty\"\n [optionTemplate]=\"optionTemplate\"\n >\n </p-cascadeselect-sub>\n </li>\n </ng-template>\n </ul>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CascadeSelectStyle]\n})\nexport class CascadeSelectSub extends BaseComponent implements OnInit {\n @Input() role: string | undefined;\n\n @Input() selectId: string | undefined;\n\n @Input() activeOptionPath: any[];\n\n @Input() optionDisabled: any[];\n\n @Input() focusedOptionId: string | undefined;\n\n @Input() options: any[] | string[] | string | undefined | null;\n\n @Input() optionGroupChildren: string[] | string | undefined | null;\n\n @Input() optionTemplate: Nullable<TemplateRef<any>>;\n\n @Input() groupicon: Nullable<TemplateRef<any>>;\n\n @Input({ transform: numberAttribute }) level: number = 0;\n\n @Input() optionLabel: string | undefined;\n\n @Input() optionValue: string | undefined;\n\n @Input() optionGroupLabel: string | undefined;\n\n @Input({ transform: booleanAttribute }) dirty: boolean | undefined;\n\n @Input({ transform: booleanAttribute }) root: boolean | undefined;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocusChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocusEnterChange: EventEmitter<any> = new EventEmitter();\n\n _componentStyle = inject(CascadeSelectStyle);\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n constructor(public cascadeselect: CascadeSelect) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (!this.root) {\n this.position();\n }\n }\n\n onOptionClick(event, processedOption: any) {\n this.onChange.emit({\n originalEvent: event,\n processedOption,\n isFocus: true\n });\n }\n\n onOptionMouseEnter(event, processedOption) {\n this.onFocusEnterChange.emit({ originalEvent: event, processedOption });\n }\n\n onOptionMouseMove(event, processedOption) {\n this.onFocusChange.emit({ originalEvent: event, processedOption });\n }\n\n getOptionId(processedOption) {\n return `${this.selectId}_${processedOption.key}`;\n }\n\n getOptionLabel(processedOption) {\n return this.optionLabel ? resolveFieldData(processedOption.option, this.optionLabel) : processedOption.option;\n }\n\n getOptionValue(processedOption) {\n return this.optionValue ? resolveFieldData(processedOption.option, this.optionValue) : processedOption.option;\n }\n\n getOptionLabelToRender(processedOption) {\n return this.isOptionGroup(processedOption) ? this.getOptionGroupLabel(processedOption) : this.getOptionLabel(processedOption);\n }\n\n isOptionDisabled(processedOption) {\n return this.optionDisabled ? resolveFieldData(processedOption.option, this.optionDisabled) : false;\n }\n\n getOptionGroupLabel(processedOption) {\n return this.optionGroupLabel ? resolveFieldData(processedOption.option, this.optionGroupLabel) : null;\n }\n\n getOptionGroupChildren(processedOption) {\n return processedOption.children;\n }\n\n isOptionGroup(processedOption) {\n return isNotEmpty(processedOption.children);\n }\n\n isOptionSelected(processedOption) {\n return equals(this.cascadeselect?.modelValue(), processedOption?.option);\n }\n\n isOptionActive(processedOption) {\n return this.activeOptionPath.some((path) => path.key === processedOption.key);\n }\n\n isOptionFocused(processedOption) {\n return this.focusedOptionId === this.getOptionId(processedOption);\n }\n\n position() {\n const parentItem = this.el.nativeElement.parentElement;\n const containerOffset = <any>getOffset(parentItem);\n const viewport = <any>getViewport();\n const sublistWidth = this.el.nativeElement.children[0].offsetParent ? this.el.nativeElement.children[0].offsetWidth : getHiddenElementOuterWidth(this.el.nativeElement.children[0]);\n const itemOuterWidth = <any>getOuterWidth(parentItem.children[0]);\n if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {\n this.el.nativeElement.children[0].style.left = '-200%';\n }\n }\n}\n/**\n * CascadeSelect is a form component to select a value from a nested structure of options.\n * @group Components\n */\n@Component({\n selector: 'p-cascadeSelect, p-cascadeselect, p-cascade-select',\n standalone: true,\n imports: [CommonModule, Overlay, AutoFocus, CascadeSelectSub, ChevronDownIcon, TimesIcon, SharedModule],\n template: `\n <div class=\"p-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\">\n <input\n #focusInput\n readonly\n type=\"text\"\n role=\"combobox\"\n [attr.name]=\"name()\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabindex]=\"!$disabled() ? tabindex : -1\"\n [attr.id]=\"inputId\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-haspopup]=\"'tree'\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id + '_tree' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n [pAutoFocus]=\"autofocus\"\n />\n </div>\n <span [class]=\"cx('label')\" [attr.data-pc-section]=\"'label'\">\n <ng-container *ngIf=\"valueTemplate || _valueTemplate; else defaultValueTemplate\">\n <ng-container *ngTemplateOutlet=\"valueTemplate || _valueTemplate; context: { $implicit: value, placeholder: placeholder }\"></ng-container>\n </ng-container>\n <ng-template #defaultValueTemplate>\n {{ label() }}\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"$filled() && !$disabled() && showClear\">\n <svg data-p-icon=\"times\" *ngIf=\"!clearIconTemplate && !_clearIconTemplate\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"clearIconTemplate || _clearIconTemplate\" [class]=\"cx('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n\n <div [class]=\"cx('dropdown')\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible ?? false\" [attr.data-pc-section]=\"'dropdownIcon'\" [attr.aria-hidden]=\"true\">\n <ng-container *ngIf=\"loading; else elseBlock\">\n <ng-container *ngIf=\"loadingIconTemplate || _loadingIconTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate || _loadingIconTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!loadingIconTemplate && !_loadingIconTemplate\">\n <span *ngIf=\"loadingIcon\" [class]=\"cn(cx('loadingIcon'), loadingIcon + 'pi-spin')\" aria-hidden=\"true\"></span>\n <span *ngIf=\"!loadingIcon\" [class]=\"cn(cx('loadingIcon'), loadingIcon + ' pi pi-spinner pi-spin')\" aria-hidden=\"true\"></span>\n </ng-container>\n </ng-container>\n <ng-template #elseBlock>\n <svg data-p-icon=\"chevron-down\" *ngIf=\"!triggerIconTemplate && !_triggerIconTemplate\" [class]=\"cx('dropdownIcon')\" />\n <span *ngIf=\"triggerIconTemplate || _triggerIconTemplate\" [class]=\"cx('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"triggerIconTemplate || _triggerIconTemplate\"></ng-template>\n </span>\n </ng-template>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ searchResultMessageText }}\n </span>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n (onAnimationDone)=\"onOverlayAnimationDone($event)\"\n (onBeforeShow)=\"onBeforeShow.emit($event)\"\n (onShow)=\"show($event)\"\n (onBeforeHide)=\"onBeforeHide.emit($event)\"\n (onHide)=\"hide($event)\"\n >\n <ng-template #content>\n <div #panel [class]=\"cn(cx('overlay'), panelStyleClass)\" [ngStyle]=\"panelStyle\" [attr.data-pc-section]=\"'panel'\">\n <ng-template *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-template>\n <div [class]=\"cx('listContainer')\" [attr.data-pc-section]=\"'wrapper'\">\n <p-cascadeselect-sub\n [options]=\"processedOptions\"\n [selectId]=\"id\"\n [focusedOptionId]=\"focused ? focusedOptionId : undefined\"\n [activeOptionPath]=\"activeOptionPath()\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue\"\n [level]=\"0\"\n [optionTemplate]=\"optionTemplate || _optionTemplate\"\n [groupicon]=\"groupIconTemplate || groupIconTemplate\"\n [optionGroupLabel]=\"optionGroupLabel\"\n [optionGroupChildren]=\"optionGroupChildren\"\n [optionDisabled]=\"optionDisabled\"\n [root]=\"true\"\n (onChange)=\"onOptionClick($event)\"\n (onFocusChange)=\"onOptionMouseMove($event)\"\n (onFocusEnterChange)=\"onOptionMouseEnter($event)\"\n [dirty]=\"dirty\"\n [role]=\"'tree'\"\n >\n </p-cascadeselect-sub>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n <ng-template *ngTemplateOutlet=\"footerTemplate || _footerTemplate\"></ng-template>\n </div>\n </ng-template>\n </p-overlay>\n `,\n providers: [CASCADESELECT_VALUE_ACCESSOR, CascadeSelectStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass)\",\n '[style]': \"sx('root')\",\n '[attr.data-pc-name]': \"'cascadeselect'\",\n '[attr.data-pc-section]': \"'root'\"\n }\n})\nexport class CascadeSelect extends BaseEditableHolder implements OnInit, AfterContentInit {\n /**\n * Unique identifier of the component\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n @Input() searchMessage: string | undefined;\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string | undefined;\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n @Input() selectionMessage: string | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to value from PrimeNG locale configuration.\n * @group Props\n * @defaultValue 'No available options'\n */\n @Input() emptySearchMessage: string | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n @Input() emptySelectionMessage: string | undefined;\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input() searchLocale: string | undefined;\n /**\n * Name of the disabled field of an option.\n * @group Props\n */\n @Input() optionDisabled: any;\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean = true;\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean = false;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean = false;\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * An array of selectitems to display as the available options.\n * @group Props\n */\n @Input() options: string[] | string | undefined;\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n @Input() optionLabel: string | undefined;\n /**\n * Property name or getter function to use as the value of an option, defaults to the option itself when not defined.\n * @group Props\n */\n @Input() optionValue: string | undefined;\n /**\n * Property name or getter function to use as the label of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined;\n /**\n * Property name or getter function to retrieve the items of a group.\n * @group Props\n */\n @Input() optionGroupChildren: string[] | string | undefined | null;\n /**\n * Default text to display when no option is selected.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Selected value of the component.\n * @group Props\n */\n @Input() value: string | undefined | null;\n /**\n * A property to uniquely identify an option.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined = 0;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Label of the input for accessibility.\n * @group Props\n */\n @Input() inputLabel: string | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Style class of the overlay panel.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the overlay panel.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Whether the dropdown is in loading state.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) loading: boolean | undefined = false;\n /**\n * Icon to display in loading state.\n * @group Props\n */\n @Input() loadingIcon: string | undefined;\n /**\n * The breakpoint to define the maximum width boundary.\n * @group Props\n */\n @Input() breakpoint: string = '960px';\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<'filled' | 'outlined' | undefined>();\n /**\n * Spans 100% width of the container when enabled.\n * @defaultValue undefined\n * @group Props\n */\n fluid = input(undefined, { transform: booleanAttribute });\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * Callback to invoke on value change.\n * @param {CascadeSelectChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<CascadeSelectChangeEvent> = new EventEmitter<CascadeSelectChangeEvent>();\n /**\n * Callback to invoke when a group changes.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onGroupChange: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the overlay is shown.\n * @param {CascadeSelectShowEvent} event - Custom overlay show event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<CascadeSelectShowEvent> = new EventEmitter<CascadeSelectShowEvent>();\n /**\n * Callback to invoke when the overlay is hidden.\n * @param {CascadeSelectHideEvent} event - Custom overlay hide event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<CascadeSelectHideEvent> = new EventEmitter<CascadeSelectHideEvent>();\n /**\n * Callback to invoke when the clear token is clicked.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter();\n /**\n * Callback to invoke before overlay is shown.\n * @param {CascadeSelectBeforeShowEvent} event - Custom overlay show event.\n * @group Emits\n */\n @Output() onBeforeShow: EventEmitter<CascadeSelectBeforeShowEvent> = new EventEmitter<CascadeSelectBeforeShowEvent>();\n /**\n * Callback to invoke before overlay is hidden.\n * @param {CascadeSelectBeforeHideEvent} event - Custom overlay hide event.\n * @group Emits\n */\n @Output() onBeforeHide: EventEmitter<CascadeSelectBeforeHideEvent> = new EventEmitter<CascadeSelectBeforeHideEvent>();\n /**\n * Callback to invoke when input receives focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n /**\n * Callback to invoke when input loses focus.\n * @param {FocusEvent} event - Focus event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n\n @ViewChild('focusInput') focusInputViewChild: Nullable<ElementRef>;\n\n @ViewChild('panel') panelViewChild: Nullable<ElementRef>;\n\n @ViewChild('overlay') overlayViewChild: Nullable<Overlay>;\n /**\n * Content template for displaying the selected value.\n * @group Templates\n */\n @ContentChild('value', { descendants: false }) valueTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Content template for customizing the option display.\n * @group Templates\n */\n @ContentChild('option', { descendants: false }) optionTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Content template for customizing the header.\n * @group Templates\n */\n @ContentChild('header', { descendants: false }) headerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Content template for customizing the footer.\n * @group Templates\n */\n @ContentChild('footer', { descendants: false }) footerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Content template for customizing the trigger icon.\n * @group Templates\n */\n @ContentChild('triggericon', { descendants: false }) triggerIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Content template for customizing the loading icon.\n * @group Templates\n */\n @ContentChild('loadingicon', { descendants: false }) loadingIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Content template for customizing the group icon.\n * @group Templates\n */\n @ContentChild('optiongroupicon', { descendants: false }) groupIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Content template for customizing the clear icon.\n * @group Templates\n */\n @ContentChild('clearicon', { descendants: false }) clearIconTemplate: Nullable<TemplateRef<any>>;\n\n _valueTemplate: TemplateRef<any> | undefined;\n\n _optionTemplate: TemplateRef<any> | undefined;\n\n _headerTemplate: TemplateRef<any> | undefined;\n\n _footerTemplate: TemplateRef<any> | undefined;\n\n _triggerIconTemplate: TemplateRef<any> | undefined;\n\n _loadingIconTemplate: TemplateRef<any> | undefined;\n\n _groupIconTemplate: TemplateRef<any> | undefined;\n\n _clearIconTemplate: TemplateRef<any> | undefined;\n\n selectionPath: any = null;\n\n focused: boolean = false;\n\n overlayVisible: boolean = false;\n\n clicked: boolean = false;\n\n dirty: boolean = false;\n\n searchValue: string | undefined;\n\n searchTimeout: any;\n\n focusedOptionInfo = signal<any>({ index: -1, level: 0, parentKey: '' });\n\n activeOptionPath = signal<any>([]);\n\n processedOptions: string[] | string | undefined = [];\n\n _componentStyle = inject(CascadeSelectStyle);\n\n initialized: boolean = false;\n\n $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n pcFluid: Fluid = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n\n @HostListener('click', ['$event'])\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n get focusedOptionId() {\n return this.focusedOptionInfo().index !== -1 ? `${this.id}${isNotEmpty(this.focusedOptionInfo().parentKey) ? '_' + this.focusedOptionInfo().parentKey : ''}_${this.focusedOptionInfo().index}` : null;\n }\n\n get searchResultMessageText() {\n return isNotEmpty(this.visibleOptions()) ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptySearchMessage || this.config.translation.emptySearchMessage || '';\n }\n\n get emptyMessageText() {\n return this.emptyMessage || this.config.translation.emptyMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n }\n\n visibleOptions = computed(() => {\n const processedOption = this.activeOptionPath().find((p) => p.key === this.focusedOptionInfo().parentKey);\n\n return processedOption ? processedOption.children : this.processedOptions;\n });\n\n label = computed(() => {\n const label = this.placeholder || 'p-emptylabel';\n\n if (this.hasSelectedOption()) {\n const activeOptionPath = this.findOptionPathByValue(this.modelValue(), null);\n const processedOption = isNotEmpty(activeOptionPath) ? activeOptionPath[activeOptionPath.length - 1] : null;\n\n return processedOption ? this.getOptionLabel(processedOption.option) : label;\n }\n return label;\n });\n\n get _label() {\n const label = this.placeholder || 'p-emptylabel';\n\n if (this.hasSelectedOption()) {\n const activeOptionPath = this.findOptionPathByValue(this.modelValue(), null);\n const processedOption = isNotEmpty(activeOptionPath) ? activeOptionPath[activeOptionPath.length - 1] : null;\n\n return processedOption ? this.getOptionLabel(processedOption.option) : label;\n }\n return label;\n }\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'value':\n this._valueTemplate = item.template;\n break;\n\n case 'option':\n this._optionTemplate = item.template;\n break;\n\n case 'triggericon':\n this._triggerIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'optiongroupicon':\n this._groupIconTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n if (changes.options) {\n this.processedOptions = this.createProcessedOptions(changes.options.currentValue || []);\n this.updateModel(null);\n }\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n createProcessedOptions(options, level = 0, parent = {}, parentKey = '') {\n const processedOptions = [];\n\n options &&\n options.forEach((option, index) => {\n const key = (parentKey !== '' ? parentKey + '_' : '') + index;\n const newOption = {\n option,\n index,\n level,\n key,\n parent,\n parentKey\n };\n\n newOption['children'] = this.createProcessedOptions(this.getOptionGroupChildren(option, level), level + 1, newOption, key);\n processedOptions.push(newOption);\n });\n\n return processedOptions;\n }\n\n onInputFocus(event: FocusEvent) {\n if (this.$disabled()) {\n // For screenreaders\n return;\n }\n\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: FocusEvent) {\n this.focused = false;\n this.focusedOptionInfo.set({ indeX: -1, level: 0, parentKey: '' });\n this.searchValue = '';\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputKeyDown(event: KeyboardEvent) {\n if (this.$disabled() || this.loading) {\n event.preventDefault();\n\n return;\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'PageDown':\n case 'PageUp':\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n this.searchOptions(event, event.key);\n }\n\n break;\n }\n\n this.clicked = false;\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n this.show();\n } else {\n const optionIndex = this.focusedOptionInfo().index !== -1 ? this.findNextOptionIndex(this.focusedOptionInfo().index) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex, true);\n }\n\n event.preventDefault();\n }\n\n onArrowUpKey(event) {\n if (event.altKey) {\n if (this.focusedOptionInfo().index !== -1) {\n const processedOption = this.visibleOptions[this.focusedOptionInfo().index];\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n !grouped && this.onOptionChange({ originalEvent: event, processedOption });\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionInfo().index !== -1 ? this.findPrevOptionIndex(this.focusedOptionInfo().index) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex, true);\n\n !this.overlayVisible && this.show();\n event.preventDefault();\n }\n }\n\n onArrowLeftKey(event) {\n if (this.overlayVisible) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const parentOption = this.activeOptionPath().find((p) => p.key === processedOption.parentKey);\n const matched = this.focusedOptionInfo().parentKey === '' || (parentOption && parentOption.key === this.focusedOptionInfo().parentKey);\n const root = isEmpty(processedOption.parent);\n\n if (matched) {\n const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== this.focusedOptionInfo().parentKey);\n this.activeOptionPath.set(activeOptionPath);\n }\n\n if (!root) {\n this.focusedOptionInfo.set({ index: -1, parentKey: parentOption ? parentOption.parentKey : '' });\n this.searchValue = '';\n this.onArrowDownKey(event);\n }\n\n event.preventDefault();\n }\n }\n\n onArrowRightKey(event) {\n if (this.overlayVisible) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n if (grouped) {\n const matched = this.activeOptionPath().some((p) => processedOption.key === p.key);\n\n if (matched) {\n this.focusedOptionInfo.set({ index: -1, parentKey: processedOption.key });\n this.searchValue = '';\n this.onArrowDownKey(event);\n } else {\n this.onOptionChange({ originalEvent: event, processedOption });\n }\n }\n\n event.preventDefault();\n }\n }\n\n onHomeKey(event) {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n !this.overlayVisible && this.show();\n event.preventDefault();\n }\n\n onEndKey(event) {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n !this.overlayVisible && this.show();\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.overlayVisible) {\n this.focusedOptionInfo.set({ ...this.focusedOptionInfo(), index: -1 }); // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionInfo().index !== -1) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n this.onOptionClick({ originalEvent: event, processedOption });\n !grouped && this.hide();\n }\n }\n\n event.preventDefault();\n }\n\n onSpaceKey(event) {\n this.onEnterKey(event);\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(event, true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n if (this.focusedOptionInfo().index !== -1) {\n const processedOption = this.visibleOptions()[this.focusedOptionInfo().index];\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n !grouped && this.onOptionChange({ originalEvent: event, processedOption });\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (isNotEmpty(this.modelValue()) && this.showClear) {\n this.clear();\n }\n\n event.stopPropagation();\n }\n\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n\n updateModel(value, event?) {\n this.value = value;\n this.onModelChange(value);\n this.writeModelValue(value);\n\n if (this.initialized) {\n this.onChange.emit({\n originalEvent: event,\n value: value\n });\n }\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption()) {\n this.focusedOptionInfo().index = this.findFirstFocusedOptionIndex();\n this.onOptionChange({\n originalEvent: null,\n processedOption: this.visibleOptions()[this.focusedOptionInfo().index],\n isHide: false\n });\n\n !this.overlayVisible && this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n const element = findSingle(this.panelViewChild?.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });\n }\n }\n\n changeFocusedOptionIndex(event, index, preventSelection?: boolean) {\n const focusedOptionInfo = this.focusedOptionInfo();\n\n if (focusedOptionInfo.index !== index) {\n this.focusedOptionInfo.set({ ...focusedOptionInfo, index });\n this.scrollInView();\n\n if (this.focusOnHover) {\n this.onOptionClick({ originalEvent: event, processedOption: this.visibleOptions()[index], isHide: false, preventSelection });\n }\n\n if (this.selectOnFocus) {\n this.onOptionChange({ originalEvent: event, processedOption: this.visibleOptions()[index], isHide: false });\n }\n }\n }\n matchMediaListener: VoidListener;\n\n onOptionSelect(event) {\n const { originalEvent, value, isHide } = event;\n const newValue = this.getOptionValue(value);\n\n const activeOptionPath = this.activeOptionPath();\n activeOptionPath.forEach((p) => (p.selected = true));\n\n this.activeOptionPath.set(activeOptionPath);\n this.updateModel(newValue, originalEvent);\n isHide && this.hide(event, true);\n }\n\n onOptionGroupSelect(event) {\n this.dirty = true;\n this.onGroupChange.emit(event);\n }\n\n onContainerClick(event: MouseEvent) {\n if (this.$disabled() || this.loading) {\n return;\n }\n\n if (!this.overlayViewChild?.el?.nativeElement?.contains(event.target)) {\n if (this.overlayVisible) {\n this.hide();\n } else {\n this.show();\n }\n\n this.focusInputViewChild?.nativeElement.focus();\n }\n\n this.clicked = true;\n }\n\n isOptionMatched(processedOption) {\n return this.isValidOption(processedOption) && this.getProccessedOptionLabel(processedOption).toLocaleLowerCase(this.searchLocale).startsWith(this.searchValue.toLocaleLowerCase(this.searchLocale));\n }\n\n isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n }\n\n isValidOption(processedOption) {\n return !!processedOption && !this.isOptionDisabled(processedOption.option);\n }\n\n isValidSelectedOption(processedOption) {\n return this.isValidOption(processedOption) && this.isSelected(processedOption);\n }\n\n isSelected(processedOption) {\n return this.activeOptionPath().some((p) => p.key === processedOption.key);\n }\n\n findOptionPathByValue(value, processedOptions?, level = 0) {\n processedOptions = processedOptions || (level === 0 && this.processedOptions);\n\n if (!processedOptions) return null;\n if (isEmpty(value)) return [];\n\n for (let i = 0; i < processedOptions.length; i++) {\n const processedOption = processedOptions[i];\n\n if (equals(value, this.getOptionValue(processedOption.option), this.equalityKey())) {\n return [processedOption];\n }\n\n const matchedOptions = this.findOptionPathByValue(value, processedOption.children, level + 1);\n\n if (matchedOptions) {\n matchedOptions.unshift(processedOption);\n\n return matchedOptions;\n }\n }\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((processedOption) => this.isValidOption(processedOption));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (processedOption) => this.isValidOption(processedOption));\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((processedOption) => this.isValidOption(processedOption))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (processedOption) => this.isValidOption(processedOption)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findSelectedOptionIndex() {\n return this.visibleOptions().findIndex((processedOption) => this.isValidSelectedOption(processedOption));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n const focusedOptionInfo = this.focusedOptionInfo();\n\n if (focusedOptionInfo.index !== -1) {\n optionIndex = this.visibleOptions()\n .slice(focusedOptionInfo.index)\n .findIndex((processedOption) => this.isOptionMatched(processedOption));\n optionIndex =\n optionIndex === -1\n ? this.visibleOptions()\n .slice(0, focusedOptionInfo.index)\n .findIndex((processedOption) => this.isOptionMatched(processedOption))\n : optionIndex + focusedOptionInfo.index;\n } else {\n optionIndex = this.visibleOptions().findIndex((processedOption) => this.isOptionMatched(processedOption));\n }\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && focusedOptionInfo.index === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n hide(event?, isFocus = false) {\n const _hide = () => {\n this.overlayVisible = false;\n this.clicked = false;\n this.activeOptionPath.set([]);\n this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });\n\n isFocus && focus(this.focusInputViewChild.nativeElement);\n this.onHide.emit(event);\n this.cd.markForCheck();\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n show(event?, isFocus = false) {\n this.onShow.emit(event);\n this.overlayVisible = true;\n const activeOptionPath = this.hasSelectedOption() ? this.findOptionPathByValue(this.modelValue()) : this.activeOptionPath();\n this.activeOptionPath.set(activeOptionPath);\n let focusedOptionInfo;\n\n if (this.hasSelectedOption() && isNotEmpty(this.activeOptionPath())) {\n const processedOption = this.activeOptionPath()[this.activeOptionPath().length - 1];\n\n focusedOptionInfo = {\n index: processedOption.index,\n level: processedOption.level,\n parentKey: processedOption.parentKey\n };\n } else {\n focusedOptionInfo = { index: this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.findSelectedOptionIndex(), level: 0, parentKey: '' };\n }\n\n this.focusedOptionInfo.set(focusedOptionInfo);\n\n isFocus && focus(this.focusInputViewChild.nativeElement);\n }\n\n clear(event?: MouseEvent) {\n if (isNotEmpty(this.modelValue()) && this.showClear) {\n this.updateModel(null);\n this.focusedOptionInfo.set({ index: -1, level: 0, parentKey: '' });\n this.activeOptionPath.set([]);\n this.onClear.emit();\n }\n\n event && event.stopPropagation();\n }\n\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n }\n\n getOptionGroupLabel(optionGroup) {\n return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : null;\n }\n\n getOptionGroupChildren(optionGroup, level) {\n return resolveFieldData(optionGroup, this.optionGroupChildren[level]);\n }\n\n isOptionGroup(option, level) {\n return Object.prototype.hasOwnProperty.call(option, this.optionGroupChildren[level]);\n }\n\n isProccessedOptionGroup(processedOption) {\n return isNotEmpty(processedOption?.children);\n }\n\n getProccessedOptionLabel(processedOption) {\n const grouped = this.isProccessedOptionGroup(processedOption);\n\n return grouped ? this.getOptionGroupLabel(processedOption.option) : this.getOptionLabel(processedOption.option);\n }\n\n constructor(public overlayService: OverlayService) {\n super();\n effect(() => {\n const activeOptionPath = this.activeOptionPath();\n if (isNotEmpty(activeOptionPath)) {\n this.overlayViewChild.alignOverlay();\n }\n });\n }\n query: any;\n queryMatches = signal<boolean>(false);\n mobileActive = signal<boolean>(false);\n\n onOptionChange(event) {\n const { processedOption, type } = event;\n\n if (isEmpty(processedOption)) return;\n\n const { index, key, level, parentKey, children } = processedOption;\n const grouped = isNotEmpty(children);\n const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== parentKey && p.parentKey !== key);\n\n this.focusedOptionInfo.set({ index, level, parentKey });\n\n if (type == 'hover' && this.queryMatches()) {\n return;\n }\n\n if (grouped) {\n activeOptionPath.push(processedOption);\n }\n\n this.activeOptionPath.set([...activeOptionPath]);\n }\n\n onOptionClick(event) {\n const { originalEvent, processedOption, isFocus, isHide, preventSelection } = event;\n const { index, key, level, parentKey } = processedOption;\n const grouped = this.isProccessedOptionGroup(processedOption);\n const selected = this.isSelected(processedOption);\n\n if (selected) {\n const activeOptionPath = this.activeOptionPath().filter((p) => key !== p.key && key.startsWith(p.key));\n this.activeOptionPath.set([...activeOptionPath]);\n this.focusedOptionInfo.set({ index, level, parentKey });\n } else {\n if (grouped) {\n this.onOptionChange(event);\n this.onOptionGroupSelect({ originalEvent, value: processedOption.option, isFocus: false });\n } else {\n const activeOptionPath = this.activeOptionPath().filter((p) => p.parentKey !== parentKey);\n\n activeOptionPath.push(processedOption);\n\n this.focusedOptionInfo.set({ index, level, parentKey });\n\n if (!preventSelection || processedOption?.children.length !== 0) {\n this.activeOptionPath.set([...activeOptionPath]);\n this.onOptionSelect({ originalEvent, value: processedOption.option, isHide: isFocus });\n }\n }\n }\n\n isFocus && focus(this.focusInputViewChild.nativeElement);\n }\n\n onOptionMouseEnter(event) {\n if (this.focusOnHover) {\n if (this.dirty || (!this.dirty && isNotEmpty(this.modelValue()))) {\n this.onOptionChange({ ...event, type: 'hover' });\n } else if (!this.dirty && event.processedOption.level === 0) {\n this.onOptionClick({ ...event, type: 'hover' });\n }\n }\n }\n\n onOptionMouseMove(event) {\n if (this.focused && this.focusOnHover) {\n this.changeFocusedOptionIndex(event, event.processedOption.index);\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.id = this.id || uuid('pn_id_');\n this.autoUpdateModel();\n this.bindMatchMediaListener();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.initialized = true;\n }\n\n bindMatchMediaListener() {\n if (!this.matchMediaListener) {\n const window: Window = this.document.defaultView;\n if (window && window.matchMedia) {\n const query = window.matchMedia(`(max-width: ${this.breakpoint})`);\n this.query = query;\n this.queryMatches.set(query?.matches);\n\n this.matchMediaListener = () => {\n this.queryMatches.set(query?.matches);\n this.mobileActive.set(false);\n };\n\n this.query.addEventListener('change', this.matchMediaListener);\n }\n }\n }\n\n unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n }\n\n onOverlayAnimationDone(event: any) {\n switch (event.toState) {\n case 'void':\n this.dirty = false;\n break;\n }\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n this.value = value;\n setModelValue(value);\n this.cd.markForCheck();\n }\n\n ngOnDestroy() {\n if (this.matchMediaListener) {\n this.unbindMatchMediaListener();\n }\n }\n}\n\n@NgModule({\n imports: [CascadeSelect, SharedModule],\n exports: [CascadeSelect, SharedModule]\n})\nexport class CascadeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,246 @@
|
|
1
|
+
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
2
|
+
import * as i0 from '@angular/core';
|
3
|
+
import { Injectable, EventEmitter, inject, booleanAttribute, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
4
|
+
import Chart from 'chart.js/auto';
|
5
|
+
import { SharedModule } from 'primeng/api';
|
6
|
+
import { BaseComponent } from 'primeng/basecomponent';
|
7
|
+
import { BaseStyle } from 'primeng/base';
|
8
|
+
|
9
|
+
const inlineStyles = {
|
10
|
+
root: ({ instance }) => ({ display: 'block', position: 'relative', width: instance.width, height: instance.height })
|
11
|
+
};
|
12
|
+
const classes = {
|
13
|
+
root: 'p-chart'
|
14
|
+
};
|
15
|
+
class ChartStyle extends BaseStyle {
|
16
|
+
name = 'chart';
|
17
|
+
classes = classes;
|
18
|
+
inlineStyles = inlineStyles;
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ChartStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
20
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ChartStyle });
|
21
|
+
}
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ChartStyle, decorators: [{
|
23
|
+
type: Injectable
|
24
|
+
}] });
|
25
|
+
/**
|
26
|
+
*
|
27
|
+
* Chart groups a collection of contents in tabs.
|
28
|
+
*
|
29
|
+
* [Live Demo](https://www.primeng.org/chart/)
|
30
|
+
*
|
31
|
+
* @module chartstyle
|
32
|
+
*
|
33
|
+
*/
|
34
|
+
var ChartClasses;
|
35
|
+
(function (ChartClasses) {
|
36
|
+
/**
|
37
|
+
* Class name of the root element
|
38
|
+
*/
|
39
|
+
ChartClasses["root"] = "p-chart";
|
40
|
+
})(ChartClasses || (ChartClasses = {}));
|
41
|
+
|
42
|
+
/**
|
43
|
+
* Chart groups a collection of contents in tabs.
|
44
|
+
* @group Components
|
45
|
+
*/
|
46
|
+
class UIChart extends BaseComponent {
|
47
|
+
el;
|
48
|
+
zone;
|
49
|
+
/**
|
50
|
+
* Type of the chart.
|
51
|
+
* @group Props
|
52
|
+
*/
|
53
|
+
type;
|
54
|
+
/**
|
55
|
+
* Array of per-chart plugins to customize the chart behaviour.
|
56
|
+
* @group Props
|
57
|
+
*/
|
58
|
+
plugins = [];
|
59
|
+
/**
|
60
|
+
* Width of the chart.
|
61
|
+
* @group Props
|
62
|
+
*/
|
63
|
+
width;
|
64
|
+
/**
|
65
|
+
* Height of the chart.
|
66
|
+
* @group Props
|
67
|
+
*/
|
68
|
+
height;
|
69
|
+
/**
|
70
|
+
* Whether the chart is redrawn on screen size change.
|
71
|
+
* @group Props
|
72
|
+
*/
|
73
|
+
responsive = true;
|
74
|
+
/**
|
75
|
+
* Used to define a string that autocomplete attribute the current element.
|
76
|
+
* @group Props
|
77
|
+
*/
|
78
|
+
ariaLabel;
|
79
|
+
/**
|
80
|
+
* Establishes relationships between the component and label(s) where its value should be one or more element IDs.
|
81
|
+
* @group Props
|
82
|
+
*/
|
83
|
+
ariaLabelledBy;
|
84
|
+
/**
|
85
|
+
* Data to display.
|
86
|
+
* @group Props
|
87
|
+
*/
|
88
|
+
get data() {
|
89
|
+
return this._data;
|
90
|
+
}
|
91
|
+
set data(val) {
|
92
|
+
this._data = val;
|
93
|
+
this.reinit();
|
94
|
+
}
|
95
|
+
/**
|
96
|
+
* Options to customize the chart.
|
97
|
+
* @group Props
|
98
|
+
*/
|
99
|
+
get options() {
|
100
|
+
return this._options;
|
101
|
+
}
|
102
|
+
set options(val) {
|
103
|
+
this._options = val;
|
104
|
+
this.reinit();
|
105
|
+
}
|
106
|
+
/**
|
107
|
+
* Callback to execute when an element on chart is clicked.
|
108
|
+
* @group Emits
|
109
|
+
*/
|
110
|
+
onDataSelect = new EventEmitter();
|
111
|
+
isBrowser = false;
|
112
|
+
initialized;
|
113
|
+
_data;
|
114
|
+
_options = {};
|
115
|
+
chart;
|
116
|
+
_componentStyle = inject(ChartStyle);
|
117
|
+
constructor(el, zone) {
|
118
|
+
super();
|
119
|
+
this.el = el;
|
120
|
+
this.zone = zone;
|
121
|
+
}
|
122
|
+
ngAfterViewInit() {
|
123
|
+
super.ngAfterViewInit();
|
124
|
+
this.initChart();
|
125
|
+
this.initialized = true;
|
126
|
+
}
|
127
|
+
onCanvasClick(event) {
|
128
|
+
if (this.chart) {
|
129
|
+
const element = this.chart.getElementsAtEventForMode(event, 'nearest', { intersect: true }, false);
|
130
|
+
const dataset = this.chart.getElementsAtEventForMode(event, 'dataset', { intersect: true }, false);
|
131
|
+
if (element && element[0] && dataset) {
|
132
|
+
this.onDataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
initChart() {
|
137
|
+
if (isPlatformBrowser(this.platformId)) {
|
138
|
+
let opts = this.options || {};
|
139
|
+
opts.responsive = this.responsive;
|
140
|
+
// allows chart to resize in responsive mode
|
141
|
+
if (opts.responsive && (this.height || this.width)) {
|
142
|
+
opts.maintainAspectRatio = false;
|
143
|
+
}
|
144
|
+
this.zone.runOutsideAngular(() => {
|
145
|
+
this.chart = new Chart(this.el.nativeElement.children[0], {
|
146
|
+
type: this.type,
|
147
|
+
data: this.data,
|
148
|
+
options: this.options,
|
149
|
+
plugins: this.plugins
|
150
|
+
});
|
151
|
+
});
|
152
|
+
}
|
153
|
+
}
|
154
|
+
getCanvas() {
|
155
|
+
return this.el.nativeElement.children[0];
|
156
|
+
}
|
157
|
+
getBase64Image() {
|
158
|
+
return this.chart.toBase64Image();
|
159
|
+
}
|
160
|
+
generateLegend() {
|
161
|
+
if (this.chart) {
|
162
|
+
return this.chart.generateLegend();
|
163
|
+
}
|
164
|
+
}
|
165
|
+
refresh() {
|
166
|
+
if (this.chart) {
|
167
|
+
this.chart.update();
|
168
|
+
}
|
169
|
+
}
|
170
|
+
reinit() {
|
171
|
+
if (this.chart) {
|
172
|
+
this.chart.destroy();
|
173
|
+
this.initChart();
|
174
|
+
}
|
175
|
+
}
|
176
|
+
ngOnDestroy() {
|
177
|
+
super.ngOnDestroy();
|
178
|
+
if (this.chart) {
|
179
|
+
this.chart.destroy();
|
180
|
+
this.initialized = false;
|
181
|
+
this.chart = null;
|
182
|
+
}
|
183
|
+
}
|
184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: UIChart, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
185
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2.4", type: UIChart, isStandalone: true, selector: "p-chart", inputs: { type: "type", plugins: "plugins", width: "width", height: "height", responsive: ["responsive", "responsive", booleanAttribute], ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", data: "data", options: "options" }, outputs: { onDataSelect: "onDataSelect" }, host: { properties: { "class": "cx('root')", "style": "sx('root')" } }, providers: [ChartStyle], usesInheritance: true, ngImport: i0, template: `
|
186
|
+
<canvas role="img" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy" [attr.width]="responsive && !width ? null : width" [attr.height]="responsive && !height ? null : height" (click)="onCanvasClick($event)"></canvas>
|
187
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
188
|
+
}
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: UIChart, decorators: [{
|
190
|
+
type: Component,
|
191
|
+
args: [{
|
192
|
+
selector: 'p-chart',
|
193
|
+
standalone: true,
|
194
|
+
imports: [CommonModule, SharedModule],
|
195
|
+
template: `
|
196
|
+
<canvas role="img" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy" [attr.width]="responsive && !width ? null : width" [attr.height]="responsive && !height ? null : height" (click)="onCanvasClick($event)"></canvas>
|
197
|
+
`,
|
198
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
199
|
+
encapsulation: ViewEncapsulation.None,
|
200
|
+
host: {
|
201
|
+
'[class]': "cx('root')",
|
202
|
+
'[style]': "sx('root')"
|
203
|
+
},
|
204
|
+
providers: [ChartStyle]
|
205
|
+
}]
|
206
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { type: [{
|
207
|
+
type: Input
|
208
|
+
}], plugins: [{
|
209
|
+
type: Input
|
210
|
+
}], width: [{
|
211
|
+
type: Input
|
212
|
+
}], height: [{
|
213
|
+
type: Input
|
214
|
+
}], responsive: [{
|
215
|
+
type: Input,
|
216
|
+
args: [{ transform: booleanAttribute }]
|
217
|
+
}], ariaLabel: [{
|
218
|
+
type: Input
|
219
|
+
}], ariaLabelledBy: [{
|
220
|
+
type: Input
|
221
|
+
}], data: [{
|
222
|
+
type: Input
|
223
|
+
}], options: [{
|
224
|
+
type: Input
|
225
|
+
}], onDataSelect: [{
|
226
|
+
type: Output
|
227
|
+
}] } });
|
228
|
+
class ChartModule {
|
229
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
230
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: ChartModule, imports: [UIChart, SharedModule], exports: [UIChart, SharedModule] });
|
231
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ChartModule, imports: [UIChart, SharedModule, SharedModule] });
|
232
|
+
}
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: ChartModule, decorators: [{
|
234
|
+
type: NgModule,
|
235
|
+
args: [{
|
236
|
+
imports: [UIChart, SharedModule],
|
237
|
+
exports: [UIChart, SharedModule]
|
238
|
+
}]
|
239
|
+
}] });
|
240
|
+
|
241
|
+
/**
|
242
|
+
* Generated bundle index. Do not edit.
|
243
|
+
*/
|
244
|
+
|
245
|
+
export { ChartClasses, ChartModule, ChartStyle, UIChart };
|
246
|
+
//# sourceMappingURL=primeng-chart.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"primeng-chart.mjs","sources":["../../src/chart/style/chartstyle.ts","../../src/chart/chart.ts","../../src/chart/primeng-chart.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst inlineStyles = {\n root: ({ instance }) => ({ display: 'block', position: 'relative', width: instance.width, height: instance.height })\n};\n\nconst classes = {\n root: 'p-chart'\n};\n\n@Injectable()\nexport class ChartStyle extends BaseStyle {\n name = 'chart';\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * Chart groups a collection of contents in tabs.\n *\n * [Live Demo](https://www.primeng.org/chart/)\n *\n * @module chartstyle\n *\n */\nexport enum ChartClasses {\n /**\n * Class name of the root element\n */\n root = 'p-chart'\n}\n\nexport interface ChartStyle extends BaseStyle {}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Inject, Input, NgModule, NgZone, OnDestroy, Output, PLATFORM_ID, ViewEncapsulation } from '@angular/core';\nimport Chart from 'chart.js/auto';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ChartStyle } from './style/chartstyle';\n\n/**\n * Chart groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-chart',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <canvas role=\"img\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\" [attr.width]=\"responsive && !width ? null : width\" [attr.height]=\"responsive && !height ? null : height\" (click)=\"onCanvasClick($event)\"></canvas>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cx('root')\",\n '[style]': \"sx('root')\"\n },\n providers: [ChartStyle]\n})\nexport class UIChart extends BaseComponent implements AfterViewInit, OnDestroy {\n /**\n * Type of the chart.\n * @group Props\n */\n @Input() type: 'bar' | 'line' | 'scatter' | 'bubble' | 'pie' | 'doughnut' | 'polarArea' | 'radar' | undefined;\n /**\n * Array of per-chart plugins to customize the chart behaviour.\n * @group Props\n */\n @Input() plugins: any[] = [];\n /**\n * Width of the chart.\n * @group Props\n */\n @Input() width: string | undefined;\n /**\n * Height of the chart.\n * @group Props\n */\n @Input() height: string | undefined;\n /**\n * Whether the chart is redrawn on screen size change.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) responsive: boolean = true;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Data to display.\n * @group Props\n */\n @Input() get data(): any {\n return this._data;\n }\n set data(val: any) {\n this._data = val;\n this.reinit();\n }\n /**\n * Options to customize the chart.\n * @group Props\n */\n @Input() get options(): any {\n return this._options;\n }\n set options(val: any) {\n this._options = val;\n this.reinit();\n }\n /**\n * Callback to execute when an element on chart is clicked.\n * @group Emits\n */\n @Output() onDataSelect: EventEmitter<any> = new EventEmitter<any>();\n\n isBrowser: boolean = false;\n\n initialized: boolean | undefined;\n\n _data: any;\n\n _options: any = {};\n\n chart: any;\n\n _componentStyle = inject(ChartStyle);\n\n constructor(\n public el: ElementRef,\n private zone: NgZone\n ) {\n super();\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.initChart();\n this.initialized = true;\n }\n\n onCanvasClick(event: Event) {\n if (this.chart) {\n const element = this.chart.getElementsAtEventForMode(event, 'nearest', { intersect: true }, false);\n const dataset = this.chart.getElementsAtEventForMode(event, 'dataset', { intersect: true }, false);\n\n if (element && element[0] && dataset) {\n this.onDataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });\n }\n }\n }\n\n initChart() {\n if (isPlatformBrowser(this.platformId)) {\n let opts = this.options || {};\n opts.responsive = this.responsive;\n\n // allows chart to resize in responsive mode\n if (opts.responsive && (this.height || this.width)) {\n opts.maintainAspectRatio = false;\n }\n\n this.zone.runOutsideAngular(() => {\n this.chart = new Chart(this.el.nativeElement.children[0], {\n type: this.type,\n data: this.data,\n options: this.options,\n plugins: this.plugins\n });\n });\n }\n }\n\n getCanvas() {\n return this.el.nativeElement.children[0];\n }\n\n getBase64Image() {\n return this.chart.toBase64Image();\n }\n\n generateLegend() {\n if (this.chart) {\n return this.chart.generateLegend();\n }\n }\n\n refresh() {\n if (this.chart) {\n this.chart.update();\n }\n }\n\n reinit() {\n if (this.chart) {\n this.chart.destroy();\n this.initChart();\n }\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this.chart) {\n this.chart.destroy();\n this.initialized = false;\n this.chart = null;\n }\n }\n}\n\n@NgModule({\n imports: [UIChart, SharedModule],\n exports: [UIChart, SharedModule]\n})\nexport class ChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;AAGA,MAAM,YAAY,GAAG;AACjB,IAAA,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;CACtH;AAED,MAAM,OAAO,GAAG;AACZ,IAAA,IAAI,EAAE;CACT;AAGK,MAAO,UAAW,SAAQ,SAAS,CAAA;IACrC,IAAI,GAAG,OAAO;IAEd,OAAO,GAAG,OAAO;IAEjB,YAAY,GAAG,YAAY;uGALlB,UAAU,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAV,UAAU,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB;;AASD;;;;;;;;AAQG;IACS;AAAZ,CAAA,UAAY,YAAY,EAAA;AACpB;;AAEG;AACH,IAAA,YAAA,CAAA,MAAA,CAAA,GAAA,SAAgB;AACpB,CAAC,EALW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;ACtBxB;;;AAGG;AAgBG,MAAO,OAAQ,SAAQ,aAAa,CAAA;AA6E3B,IAAA,EAAA;AACC,IAAA,IAAA;AA7EZ;;;AAGG;AACM,IAAA,IAAI;AACb;;;AAGG;IACM,OAAO,GAAU,EAAE;AAC5B;;;AAGG;AACM,IAAA,KAAK;AACd;;;AAGG;AACM,IAAA,MAAM;AACf;;;AAGG;IACqC,UAAU,GAAY,IAAI;AAClE;;;AAGG;AACM,IAAA,SAAS;AAClB;;;AAGG;AACM,IAAA,cAAc;AACvB;;;AAGG;AACH,IAAA,IAAa,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;IACrB;IACA,IAAI,IAAI,CAAC,GAAQ,EAAA;AACb,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG;QAChB,IAAI,CAAC,MAAM,EAAE;IACjB;AACA;;;AAGG;AACH,IAAA,IAAa,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ;IACxB;IACA,IAAI,OAAO,CAAC,GAAQ,EAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;QACnB,IAAI,CAAC,MAAM,EAAE;IACjB;AACA;;;AAGG;AACO,IAAA,YAAY,GAAsB,IAAI,YAAY,EAAO;IAEnE,SAAS,GAAY,KAAK;AAE1B,IAAA,WAAW;AAEX,IAAA,KAAK;IAEL,QAAQ,GAAQ,EAAE;AAElB,IAAA,KAAK;AAEL,IAAA,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;IAEpC,WAAA,CACW,EAAc,EACb,IAAY,EAAA;AAEpB,QAAA,KAAK,EAAE;QAHA,IAAA,CAAA,EAAE,GAAF,EAAE;QACD,IAAA,CAAA,IAAI,GAAJ,IAAI;IAGhB;IAEA,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE;QACvB,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;IAC3B;AAEA,IAAA,aAAa,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC;YAClG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC;YAElG,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;gBAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3F;QACJ;IACJ;IAEA,SAAS,GAAA;AACL,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACpC,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;;AAGjC,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;AAChD,gBAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;YACpC;AAEA,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;AAC7B,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;oBACtD,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,IAAI,CAAC;AACjB,iBAAA,CAAC;AACN,YAAA,CAAC,CAAC;QACN;IACJ;IAEA,SAAS,GAAA;QACL,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C;IAEA,cAAc,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;IACrC;IAEA,cAAc,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;QACtC;IACJ;IAEA,OAAO,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACvB;IACJ;IAEA,MAAM,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACpB,IAAI,CAAC,SAAS,EAAE;QACpB;IACJ;IAEA,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE;AACnB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;QACrB;IACJ;uGA3JS,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,kKAyBI,gBAAgB,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EA3BzB,CAAC,UAAU,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EATb;;KAET,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAHS,YAAY,8BAAE,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAY3B,OAAO,EAAA,UAAA,EAAA,CAAA;kBAfnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;AACrC,oBAAA,QAAQ,EAAE;;AAET,IAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,SAAS,EAAE;AACd,qBAAA;oBACD,SAAS,EAAE,CAAC,UAAU;AACzB,iBAAA;oGAMY,IAAI,EAAA,CAAA;sBAAZ;gBAKQ,OAAO,EAAA,CAAA;sBAAf;gBAKQ,KAAK,EAAA,CAAA;sBAAb;gBAKQ,MAAM,EAAA,CAAA;sBAAd;gBAKuC,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,cAAc,EAAA,CAAA;sBAAtB;gBAKY,IAAI,EAAA,CAAA;sBAAhB;gBAWY,OAAO,EAAA,CAAA;sBAAnB;gBAWS,YAAY,EAAA,CAAA;sBAArB;;MAoGQ,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAlKX,OAAO,EA+JG,YAAY,CAAA,EAAA,OAAA,EAAA,CA/JtB,OAAO,EAgKG,YAAY,CAAA,EAAA,CAAA;AAEtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAAA,OAAA,EAAA,CAHV,OAAO,EAAE,YAAY,EACZ,YAAY,CAAA,EAAA,CAAA;;2FAEtB,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;AAChC,oBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY;AAClC,iBAAA;;;AC3LD;;AAEG;;;;"}
|