primeng 19.0.6 → 19.0.7
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/dataview/dataview.interface.d.ts +9 -19
- package/dragdrop/dragdrop.d.ts +3 -2
- package/dynamicdialog/dynamicdialog.d.ts +1 -1
- package/fesm2022/primeng-accordion.mjs +347 -560
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +37 -40
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +79 -89
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +505 -786
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +26 -27
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +70 -120
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +44 -54
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +62 -71
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +6 -6
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +15 -15
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs +66 -87
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +175 -386
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +223 -328
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +36 -40
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs +727 -1127
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +88 -192
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +218 -405
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +392 -576
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +57 -63
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +131 -183
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +92 -188
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +142 -167
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +12 -12
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +220 -347
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +161 -251
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +336 -450
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +249 -352
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +740 -1136
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-defer.mjs +25 -31
- package/fesm2022/primeng-defer.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +277 -478
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +68 -77
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +138 -167
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +85 -79
- package/fesm2022/primeng-dragdrop.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +171 -268
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +529 -867
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +152 -301
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +118 -156
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +153 -247
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +370 -687
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +38 -46
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs +33 -41
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +23 -24
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +529 -761
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +42 -51
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +19 -19
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs +19 -19
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs +19 -19
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs +19 -19
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs +17 -19
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs +17 -19
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs +17 -19
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs +17 -19
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs +26 -26
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +17 -19
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs +17 -19
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs +26 -26
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +19 -19
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs +26 -26
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +24 -26
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +19 -19
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +28 -33
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +14 -16
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs +17 -19
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs +17 -19
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs +17 -19
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs +17 -19
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs +17 -19
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs +17 -19
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs +17 -19
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs +17 -19
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +32 -26
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +19 -19
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs +26 -26
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +24 -26
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterslash.mjs +26 -26
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +26 -26
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +26 -26
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +17 -19
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs +24 -26
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +24 -26
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +26 -26
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +26 -26
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +26 -26
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +26 -26
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +30 -26
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +24 -26
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +24 -26
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +24 -26
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +24 -26
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +24 -26
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +26 -26
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +17 -19
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs +26 -26
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +26 -26
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +26 -26
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +26 -26
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +26 -26
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +26 -26
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-iftalabel.mjs +32 -38
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +189 -370
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +57 -86
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +108 -206
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +40 -50
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +40 -51
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs +39 -48
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +156 -181
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +299 -416
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +97 -121
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputswitch.mjs +87 -92
- package/fesm2022/primeng-inputswitch.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +51 -57
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-inputtextarea.mjs +50 -55
- package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +44 -47
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +105 -111
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +473 -790
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +377 -611
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +289 -460
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +357 -549
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +156 -244
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-messages.mjs +162 -278
- package/fesm2022/primeng-messages.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +135 -264
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +655 -1132
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +228 -330
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +161 -311
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +135 -147
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +50 -58
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-overlaypanel.mjs +134 -154
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +212 -447
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +219 -317
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +439 -783
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +268 -408
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +560 -856
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +129 -148
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +81 -121
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +48 -58
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +115 -106
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +120 -208
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +28 -29
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +167 -295
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +96 -116
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +106 -150
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +579 -955
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +106 -133
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +151 -239
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +46 -54
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +186 -182
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +192 -254
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +211 -231
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +126 -159
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +227 -342
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +117 -170
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +50 -53
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +1808 -2584
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs +173 -319
- package/fesm2022/primeng-tabmenu.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +185 -300
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +263 -435
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +63 -110
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +60 -104
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +56 -61
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +338 -457
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +90 -156
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +251 -358
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +113 -150
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +98 -121
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +62 -121
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +73 -74
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +441 -730
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +342 -531
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +1026 -1583
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +6 -6
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/listbox/listbox.d.ts +2 -2
- package/package.json +178 -179
- package/password/password.d.ts +7 -1
- package/picklist/picklist.d.ts +11 -1
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { Injectable, EventEmitter, inject, booleanAttribute,
|
2
|
+
import { Injectable, EventEmitter, inject, booleanAttribute, HostListener, Output, Input, Optional, Directive, NgModule } from '@angular/core';
|
3
3
|
import { BaseComponent } from 'primeng/basecomponent';
|
4
4
|
import { BaseStyle } from 'primeng/base';
|
5
5
|
import * as i1 from '@angular/forms';
|
@@ -85,12 +85,12 @@ class TextareaStyle extends BaseStyle {
|
|
85
85
|
name = 'textarea';
|
86
86
|
theme = theme;
|
87
87
|
classes = classes;
|
88
|
-
static ɵfac =
|
89
|
-
static ɵprov =
|
88
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: TextareaStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
89
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: TextareaStyle });
|
90
90
|
}
|
91
|
-
(
|
92
|
-
|
93
|
-
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: TextareaStyle, decorators: [{
|
92
|
+
type: Injectable
|
93
|
+
}] });
|
94
94
|
/**
|
95
95
|
*
|
96
96
|
* Textarea is a multi-line text input element.
|
@@ -206,58 +206,53 @@ class InputTextarea extends BaseComponent {
|
|
206
206
|
}
|
207
207
|
super.ngOnDestroy();
|
208
208
|
}
|
209
|
-
static ɵfac =
|
210
|
-
static ɵdir =
|
211
|
-
i0.ɵɵlistener("input", function InputTextarea_input_HostBindingHandler($event) { return ctx.onInput($event); });
|
212
|
-
} if (rf & 2) {
|
213
|
-
i0.ɵɵclassProp("p-filled", ctx.filled)("p-textarea-resizable", ctx.autoResize)("p-variant-filled", ctx.variant === "filled" || ctx.config.inputStyle() === "filled" || ctx.config.inputVariant() === "filled")("p-textarea-fluid", ctx.hasFluid);
|
214
|
-
} }, inputs: { autoResize: [2, "autoResize", "autoResize", booleanAttribute], variant: "variant", fluid: [2, "fluid", "fluid", booleanAttribute] }, outputs: { onResize: "onResize" }, features: [i0.ɵɵProvidersFeature([TextareaStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature] });
|
209
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: InputTextarea, deps: [{ token: i1.NgModel, optional: true }, { token: i1.NgControl, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
210
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.7", type: InputTextarea, isStandalone: true, selector: "[pInputTextarea]", inputs: { autoResize: ["autoResize", "autoResize", booleanAttribute], variant: "variant", fluid: ["fluid", "fluid", booleanAttribute] }, outputs: { onResize: "onResize" }, host: { listeners: { "input": "onInput($event)" }, properties: { "class.p-filled": "filled", "class.p-textarea-resizable": "autoResize", "class.p-variant-filled": "variant === \"filled\" || config.inputStyle() === \"filled\" || config.inputVariant() === \"filled\"", "class.p-textarea-fluid": "hasFluid" }, classAttribute: "p-textarea p-component" }, providers: [TextareaStyle], usesInheritance: true, ngImport: i0 });
|
215
211
|
}
|
216
|
-
(
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: InputTextarea, decorators: [{
|
213
|
+
type: Directive,
|
214
|
+
args: [{
|
215
|
+
selector: '[pInputTextarea]',
|
216
|
+
standalone: true,
|
217
|
+
host: {
|
218
|
+
class: 'p-textarea p-component',
|
219
|
+
'[class.p-filled]': 'filled',
|
220
|
+
'[class.p-textarea-resizable]': 'autoResize',
|
221
|
+
'[class.p-variant-filled]': 'variant === "filled" || config.inputStyle() === "filled" || config.inputVariant() === "filled"',
|
222
|
+
'[class.p-textarea-fluid]': 'hasFluid'
|
223
|
+
},
|
224
|
+
providers: [TextareaStyle]
|
225
|
+
}]
|
226
|
+
}], ctorParameters: () => [{ type: i1.NgModel, decorators: [{
|
227
|
+
type: Optional
|
228
|
+
}] }, { type: i1.NgControl, decorators: [{
|
229
|
+
type: Optional
|
230
|
+
}] }], propDecorators: { autoResize: [{
|
231
|
+
type: Input,
|
232
|
+
args: [{ transform: booleanAttribute }]
|
233
|
+
}], variant: [{
|
234
|
+
type: Input
|
235
|
+
}], fluid: [{
|
236
|
+
type: Input,
|
237
|
+
args: [{ transform: booleanAttribute }]
|
238
|
+
}], onResize: [{
|
239
|
+
type: Output
|
240
|
+
}], onInput: [{
|
241
|
+
type: HostListener,
|
242
|
+
args: ['input', ['$event']]
|
243
|
+
}] } });
|
248
244
|
class Textarea {
|
249
|
-
static ɵfac =
|
250
|
-
static ɵmod =
|
251
|
-
static ɵinj =
|
245
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: Textarea, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
246
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.7", ngImport: i0, type: Textarea, imports: [InputTextarea], exports: [InputTextarea] });
|
247
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: Textarea });
|
252
248
|
}
|
253
|
-
(
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(Textarea, { imports: [InputTextarea], exports: [InputTextarea] }); })();
|
249
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: Textarea, decorators: [{
|
250
|
+
type: NgModule,
|
251
|
+
args: [{
|
252
|
+
imports: [InputTextarea],
|
253
|
+
exports: [InputTextarea]
|
254
|
+
}]
|
255
|
+
}] });
|
261
256
|
|
262
257
|
/**
|
263
258
|
* Generated bundle index. Do not edit.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-inputtextarea.mjs","sources":["../../src/inputtextarea/style/textareastyle.ts","../../src/inputtextarea/inputtextarea.ts","../../src/inputtextarea/primeng-inputtextarea.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-textarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: ${dt('textarea.color')};\n background: ${dt('textarea.background')};\n padding: ${dt('textarea.padding.y')} ${dt('textarea.padding.x')};\n border: 1px solid ${dt('textarea.border.color')};\n transition: background ${dt('textarea.transition.duration')}, color ${dt('textarea.transition.duration')}, border-color ${dt('textarea.transition.duration')}, outline-color ${dt('textarea.transition.duration')}, box-shadow ${dt(\n 'textarea.transition.duration'\n )};\n appearance: none;\n border-radius: ${dt('textarea.border.radius')};\n outline-color: transparent;\n box-shadow: ${dt('textarea.shadow')};\n}\n\n.p-textarea:enabled:hover {\n border-color: ${dt('textarea.hover.border.color')};\n}\n\n.p-textarea:enabled:focus {\n border-color: ${dt('textarea.focus.border.color')};\n box-shadow: ${dt('textarea.focus.ring.shadow')};\n outline: ${dt('textarea.focus.ring.width')} ${dt('textarea.focus.ring.style')} ${dt('textarea.focus.ring.color')};\n outline-offset: ${dt('textarea.focus.ring.offset')};\n}\n\n.p-textarea.p-invalid {\n border-color: ${dt('textarea.invalid.border.color')};\n}\n\n.p-textarea.p-variant-filled {\n background: ${dt('textarea.filled.background')};\n}\n\n.p-textarea.p-variant-filled:enabled:focus {\n background: ${dt('textarea.filled.focus.background')};\n}\n\n.p-textarea:disabled {\n opacity: 1;\n background: ${dt('textarea.disabled.background')};\n color: ${dt('textarea.disabled.color')};\n}\n\n.p-textarea::placeholder {\n color: ${dt('textarea.placeholder.color')};\n}\n\n.p-textarea-fluid {\n width: 100%;\n}\n\n.p-textarea-resizable {\n overflow: hidden;\n resize: none;\n}\n\n.p-textarea.ng-invalid.ng-dirty {\n border-color: ${dt('textarea.invalid.border.color')}\n}\n\n.p-textarea.ng-invalid.ng-dirty::placeholder {\n color: ${dt('textarea.invalid.placeholder.color')};\n}`;\n\nconst classes = {\n root: ({ instance, props }) => [\n 'p-textarea p-component',\n {\n 'p-filled': instance.filled,\n 'p-textarea-resizable ': props.autoResize,\n 'p-invalid': props.invalid,\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.config.inputStyle === 'filled' || instance.config.inputVariant === 'filled',\n 'p-textarea-fluid': props.fluid\n }\n ]\n};\n\n@Injectable()\nexport class TextareaStyle extends BaseStyle {\n name = 'textarea';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Textarea is a multi-line text input element.\n *\n * [Live Demo](https://www.primeng.org/textarea/)\n *\n * @module textareastyle\n *\n */\n\nexport enum TextareaClasses {\n /**\n * Class name of the root element\n */\n root = 'p-textarea'\n}\n\nexport interface TextareaStyle extends BaseStyle {}\n","import { AfterViewInit, booleanAttribute, Directive, EventEmitter, HostListener, inject, Input, NgModule, OnDestroy, OnInit, Optional, Output } from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Subscription } from 'rxjs';\nimport { TextareaStyle } from './style/textareastyle';\n\n/**\n * InputTextarea adds styling and autoResize functionality to standard textarea element.\n * @group Components\n * @deprecated Use Textarea directive instead.\n */\n@Directive({\n selector: '[pInputTextarea]',\n standalone: true,\n host: {\n class: 'p-textarea p-component',\n '[class.p-filled]': 'filled',\n '[class.p-textarea-resizable]': 'autoResize',\n '[class.p-variant-filled]': 'variant === \"filled\" || config.inputStyle() === \"filled\" || config.inputVariant() === \"filled\"',\n '[class.p-textarea-fluid]': 'hasFluid'\n },\n providers: [TextareaStyle]\n})\nexport class InputTextarea extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n /**\n * When present, textarea size changes as being typed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoResize: boolean | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined';\n /**\n * Spans 100% width of the container when enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fluid: boolean = false;\n /**\n * Callback to invoke on textarea resize.\n * @param {(Event | {})} event - Custom resize event.\n * @group Emits\n */\n @Output() onResize: EventEmitter<Event | {}> = new EventEmitter<Event | {}>();\n\n filled: boolean | undefined;\n\n cachedScrollHeight: number | undefined;\n\n ngModelSubscription: Subscription | undefined;\n\n ngControlSubscription: Subscription | undefined;\n\n _componentStyle = inject(TextareaStyle);\n\n constructor(\n @Optional() public ngModel: NgModel,\n @Optional() public control: NgControl\n ) {\n super();\n console.log('pInputTextarea directive is deprecated in v18. Use pTextarea directive instead');\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.ngModel) {\n this.ngModelSubscription = (this.ngModel as any).valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n\n if (this.control) {\n this.ngControlSubscription = (this.control as any).valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n }\n\n get hasFluid() {\n const nativeElement = this.el.nativeElement;\n const fluidComponent = nativeElement.closest('p-fluid');\n return this.fluid || !!fluidComponent;\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (this.autoResize) this.resize();\n\n this.updateFilledState();\n this.cd.detectChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(e: Event) {\n this.updateState();\n }\n\n updateFilledState() {\n this.filled = this.el.nativeElement.value && this.el.nativeElement.value.length;\n }\n\n resize(event?: Event) {\n this.el.nativeElement.style.height = 'auto';\n this.el.nativeElement.style.height = this.el.nativeElement.scrollHeight + 'px';\n\n if (parseFloat(this.el.nativeElement.style.height) >= parseFloat(this.el.nativeElement.style.maxHeight)) {\n this.el.nativeElement.style.overflowY = 'scroll';\n this.el.nativeElement.style.height = this.el.nativeElement.style.maxHeight;\n } else {\n this.el.nativeElement.style.overflow = 'hidden';\n }\n\n this.onResize.emit(event || {});\n }\n\n updateState() {\n this.updateFilledState();\n\n if (this.autoResize) {\n this.resize();\n }\n }\n\n ngOnDestroy() {\n if (this.ngModelSubscription) {\n this.ngModelSubscription.unsubscribe();\n }\n\n if (this.ngControlSubscription) {\n this.ngControlSubscription.unsubscribe();\n }\n\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [InputTextarea],\n exports: [InputTextarea]\n})\nexport class Textarea {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-inputtextarea.mjs","sources":["../../src/inputtextarea/style/textareastyle.ts","../../src/inputtextarea/inputtextarea.ts","../../src/inputtextarea/primeng-inputtextarea.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-textarea {\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: ${dt('textarea.color')};\n background: ${dt('textarea.background')};\n padding: ${dt('textarea.padding.y')} ${dt('textarea.padding.x')};\n border: 1px solid ${dt('textarea.border.color')};\n transition: background ${dt('textarea.transition.duration')}, color ${dt('textarea.transition.duration')}, border-color ${dt('textarea.transition.duration')}, outline-color ${dt('textarea.transition.duration')}, box-shadow ${dt(\n 'textarea.transition.duration'\n )};\n appearance: none;\n border-radius: ${dt('textarea.border.radius')};\n outline-color: transparent;\n box-shadow: ${dt('textarea.shadow')};\n}\n\n.p-textarea:enabled:hover {\n border-color: ${dt('textarea.hover.border.color')};\n}\n\n.p-textarea:enabled:focus {\n border-color: ${dt('textarea.focus.border.color')};\n box-shadow: ${dt('textarea.focus.ring.shadow')};\n outline: ${dt('textarea.focus.ring.width')} ${dt('textarea.focus.ring.style')} ${dt('textarea.focus.ring.color')};\n outline-offset: ${dt('textarea.focus.ring.offset')};\n}\n\n.p-textarea.p-invalid {\n border-color: ${dt('textarea.invalid.border.color')};\n}\n\n.p-textarea.p-variant-filled {\n background: ${dt('textarea.filled.background')};\n}\n\n.p-textarea.p-variant-filled:enabled:focus {\n background: ${dt('textarea.filled.focus.background')};\n}\n\n.p-textarea:disabled {\n opacity: 1;\n background: ${dt('textarea.disabled.background')};\n color: ${dt('textarea.disabled.color')};\n}\n\n.p-textarea::placeholder {\n color: ${dt('textarea.placeholder.color')};\n}\n\n.p-textarea-fluid {\n width: 100%;\n}\n\n.p-textarea-resizable {\n overflow: hidden;\n resize: none;\n}\n\n.p-textarea.ng-invalid.ng-dirty {\n border-color: ${dt('textarea.invalid.border.color')}\n}\n\n.p-textarea.ng-invalid.ng-dirty::placeholder {\n color: ${dt('textarea.invalid.placeholder.color')};\n}`;\n\nconst classes = {\n root: ({ instance, props }) => [\n 'p-textarea p-component',\n {\n 'p-filled': instance.filled,\n 'p-textarea-resizable ': props.autoResize,\n 'p-invalid': props.invalid,\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.config.inputStyle === 'filled' || instance.config.inputVariant === 'filled',\n 'p-textarea-fluid': props.fluid\n }\n ]\n};\n\n@Injectable()\nexport class TextareaStyle extends BaseStyle {\n name = 'textarea';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Textarea is a multi-line text input element.\n *\n * [Live Demo](https://www.primeng.org/textarea/)\n *\n * @module textareastyle\n *\n */\n\nexport enum TextareaClasses {\n /**\n * Class name of the root element\n */\n root = 'p-textarea'\n}\n\nexport interface TextareaStyle extends BaseStyle {}\n","import { AfterViewInit, booleanAttribute, Directive, EventEmitter, HostListener, inject, Input, NgModule, OnDestroy, OnInit, Optional, Output } from '@angular/core';\nimport { NgControl, NgModel } from '@angular/forms';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Subscription } from 'rxjs';\nimport { TextareaStyle } from './style/textareastyle';\n\n/**\n * InputTextarea adds styling and autoResize functionality to standard textarea element.\n * @group Components\n * @deprecated Use Textarea directive instead.\n */\n@Directive({\n selector: '[pInputTextarea]',\n standalone: true,\n host: {\n class: 'p-textarea p-component',\n '[class.p-filled]': 'filled',\n '[class.p-textarea-resizable]': 'autoResize',\n '[class.p-variant-filled]': 'variant === \"filled\" || config.inputStyle() === \"filled\" || config.inputVariant() === \"filled\"',\n '[class.p-textarea-fluid]': 'hasFluid'\n },\n providers: [TextareaStyle]\n})\nexport class InputTextarea extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n /**\n * When present, textarea size changes as being typed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoResize: boolean | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined';\n /**\n * Spans 100% width of the container when enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fluid: boolean = false;\n /**\n * Callback to invoke on textarea resize.\n * @param {(Event | {})} event - Custom resize event.\n * @group Emits\n */\n @Output() onResize: EventEmitter<Event | {}> = new EventEmitter<Event | {}>();\n\n filled: boolean | undefined;\n\n cachedScrollHeight: number | undefined;\n\n ngModelSubscription: Subscription | undefined;\n\n ngControlSubscription: Subscription | undefined;\n\n _componentStyle = inject(TextareaStyle);\n\n constructor(\n @Optional() public ngModel: NgModel,\n @Optional() public control: NgControl\n ) {\n super();\n console.log('pInputTextarea directive is deprecated in v18. Use pTextarea directive instead');\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (this.ngModel) {\n this.ngModelSubscription = (this.ngModel as any).valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n\n if (this.control) {\n this.ngControlSubscription = (this.control as any).valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n }\n\n get hasFluid() {\n const nativeElement = this.el.nativeElement;\n const fluidComponent = nativeElement.closest('p-fluid');\n return this.fluid || !!fluidComponent;\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n if (this.autoResize) this.resize();\n\n this.updateFilledState();\n this.cd.detectChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(e: Event) {\n this.updateState();\n }\n\n updateFilledState() {\n this.filled = this.el.nativeElement.value && this.el.nativeElement.value.length;\n }\n\n resize(event?: Event) {\n this.el.nativeElement.style.height = 'auto';\n this.el.nativeElement.style.height = this.el.nativeElement.scrollHeight + 'px';\n\n if (parseFloat(this.el.nativeElement.style.height) >= parseFloat(this.el.nativeElement.style.maxHeight)) {\n this.el.nativeElement.style.overflowY = 'scroll';\n this.el.nativeElement.style.height = this.el.nativeElement.style.maxHeight;\n } else {\n this.el.nativeElement.style.overflow = 'hidden';\n }\n\n this.onResize.emit(event || {});\n }\n\n updateState() {\n this.updateFilledState();\n\n if (this.autoResize) {\n this.resize();\n }\n }\n\n ngOnDestroy() {\n if (this.ngModelSubscription) {\n this.ngModelSubscription.unsubscribe();\n }\n\n if (this.ngControlSubscription) {\n this.ngControlSubscription.unsubscribe();\n }\n\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [InputTextarea],\n exports: [InputTextarea]\n})\nexport class Textarea {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { isPlatformBrowser, DOCUMENT } from '@angular/common';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import { forwardRef, EventEmitter, PLATFORM_ID, booleanAttribute,
|
3
|
+
import { forwardRef, EventEmitter, PLATFORM_ID, booleanAttribute, HostListener, Output, Input, Inject, Directive, NgModule } from '@angular/core';
|
4
4
|
import { NG_VALIDATORS } from '@angular/forms';
|
5
5
|
import { isAndroid, getBrowser } from '@primeuix/utils';
|
6
6
|
|
@@ -212,55 +212,52 @@ class KeyFilter {
|
|
212
212
|
}
|
213
213
|
}
|
214
214
|
}
|
215
|
-
static ɵfac =
|
216
|
-
static ɵdir =
|
217
|
-
i0.ɵɵlistener("input", function KeyFilter_input_HostBindingHandler($event) { return ctx.onInput($event); })("keypress", function KeyFilter_keypress_HostBindingHandler($event) { return ctx.onKeyPress($event); })("paste", function KeyFilter_paste_HostBindingHandler($event) { return ctx.onPaste($event); });
|
218
|
-
} }, inputs: { pValidateOnly: [2, "pValidateOnly", "pValidateOnly", booleanAttribute], pattern: [0, "pKeyFilter", "pattern"] }, outputs: { ngModelChange: "ngModelChange" }, features: [i0.ɵɵProvidersFeature([KEYFILTER_VALIDATOR]), i0.ɵɵInputTransformsFeature] });
|
215
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: KeyFilter, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
216
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.7", type: KeyFilter, isStandalone: true, selector: "[pKeyFilter]", inputs: { pValidateOnly: ["pValidateOnly", "pValidateOnly", booleanAttribute], pattern: ["pKeyFilter", "pattern"] }, outputs: { ngModelChange: "ngModelChange" }, host: { listeners: { "input": "onInput($event)", "keypress": "onKeyPress($event)", "paste": "onPaste($event)" } }, providers: [KEYFILTER_VALIDATOR], ngImport: i0 });
|
219
217
|
}
|
220
|
-
(
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: KeyFilter, decorators: [{
|
219
|
+
type: Directive,
|
220
|
+
args: [{
|
221
|
+
selector: '[pKeyFilter]',
|
222
|
+
standalone: true,
|
223
|
+
providers: [KEYFILTER_VALIDATOR]
|
224
|
+
}]
|
225
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
226
|
+
type: Inject,
|
227
|
+
args: [DOCUMENT]
|
228
|
+
}] }, { type: undefined, decorators: [{
|
229
|
+
type: Inject,
|
230
|
+
args: [PLATFORM_ID]
|
231
|
+
}] }, { type: i0.ElementRef }], propDecorators: { pValidateOnly: [{
|
232
|
+
type: Input,
|
233
|
+
args: [{ transform: booleanAttribute }]
|
234
|
+
}], pattern: [{
|
235
|
+
type: Input,
|
236
|
+
args: ['pKeyFilter']
|
237
|
+
}], ngModelChange: [{
|
238
|
+
type: Output
|
239
|
+
}], onInput: [{
|
240
|
+
type: HostListener,
|
241
|
+
args: ['input', ['$event']]
|
242
|
+
}], onKeyPress: [{
|
243
|
+
type: HostListener,
|
244
|
+
args: ['keypress', ['$event']]
|
245
|
+
}], onPaste: [{
|
246
|
+
type: HostListener,
|
247
|
+
args: ['paste', ['$event']]
|
248
|
+
}] } });
|
251
249
|
class KeyFilterModule {
|
252
|
-
static ɵfac =
|
253
|
-
static ɵmod =
|
254
|
-
static ɵinj =
|
250
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: KeyFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
251
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.7", ngImport: i0, type: KeyFilterModule, imports: [KeyFilter], exports: [KeyFilter] });
|
252
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: KeyFilterModule });
|
255
253
|
}
|
256
|
-
(
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(KeyFilterModule, { imports: [KeyFilter], exports: [KeyFilter] }); })();
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: KeyFilterModule, decorators: [{
|
255
|
+
type: NgModule,
|
256
|
+
args: [{
|
257
|
+
imports: [KeyFilter],
|
258
|
+
exports: [KeyFilter]
|
259
|
+
}]
|
260
|
+
}] });
|
264
261
|
|
265
262
|
/**
|
266
263
|
* Generated bundle index. Do not edit.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-keyfilter.mjs","sources":["../../src/keyfilter/keyfilter.ts","../../src/keyfilter/primeng-keyfilter.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, Directive, ElementRef, EventEmitter, forwardRef, HostListener, Inject, Input, NgModule, Output, PLATFORM_ID, Provider } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\nimport { getBrowser, isAndroid } from '@primeuix/utils';\nimport { KeyFilterPattern } from './keyfilter.interface';\n\nexport const KEYFILTER_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => KeyFilter),\n multi: true\n};\n\ntype SafariKeys = {\n 63234: number;\n 63235: number;\n 63232: number;\n 63233: number;\n 63276: number;\n 63277: number;\n 63272: number;\n 63273: number;\n 63275: number;\n};\n\ntype Keys = {\n TAB: number;\n RETURN: number;\n ESC: number;\n BACKSPACE: number;\n DELETE: number;\n};\n\nconst DEFAULT_MASKS: Record<KeyFilterPattern, RegExp> = {\n pint: /^[\\d]*$/,\n int: /^[-]?[\\d]*$/,\n pnum: /^[\\d\\.]*$/,\n money: /^[\\d\\.\\s,]*$/,\n num: /^[-]?[\\d\\.]*$/,\n hex: /^[0-9a-f]*$/i,\n email: /^[a-z0-9_\\.\\-@]*$/i,\n alpha: /^[a-z_]*$/i,\n alphanum: /^[a-z0-9_]*$/i\n};\n\nconst KEYS: Keys = {\n TAB: 9,\n RETURN: 13,\n ESC: 27,\n BACKSPACE: 8,\n DELETE: 46\n};\n\nconst SAFARI_KEYS: SafariKeys = {\n 63234: 37, // left\n 63235: 39, // right\n 63232: 38, // up\n 63233: 40, // down\n 63276: 33, // page up\n 63277: 34, // page down\n 63272: 46, // delete\n 63273: 36, // home\n 63275: 35 // end\n};\n/**\n * KeyFilter Directive is a built-in feature of InputText to restrict user input based on a regular expression.\n * @group Components\n */\n@Directive({\n selector: '[pKeyFilter]',\n standalone: true,\n providers: [KEYFILTER_VALIDATOR]\n})\nexport class KeyFilter implements Validator {\n /**\n * When enabled, instead of blocking keys, input is validated internally to test against the regular expression.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) pValidateOnly: boolean | undefined;\n /**\n * Sets the pattern for key filtering.\n * @group Props\n */\n\n @Input('pKeyFilter') set pattern(_pattern: RegExp | KeyFilterPattern | null | undefined) {\n this._pattern = _pattern;\n\n if (_pattern instanceof RegExp) {\n this.regex = _pattern;\n } else if (_pattern in DEFAULT_MASKS) {\n this.regex = DEFAULT_MASKS[_pattern];\n } else {\n this.regex = /./;\n }\n }\n get pattern(): RegExp | KeyFilterPattern | null | undefined {\n return this._pattern;\n }\n\n /**\n * Emits a value whenever the ngModel of the component changes.\n * @param {(string | number)} modelValue - Custom model change event.\n * @group Emits\n */\n @Output() ngModelChange: EventEmitter<string | number> = new EventEmitter<string | number>();\n\n regex: RegExp = /./;\n\n _pattern: RegExp | KeyFilterPattern | null | undefined;\n\n isAndroid: boolean;\n\n lastValue: any;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef\n ) {\n if (isPlatformBrowser(this.platformId)) {\n this.isAndroid = isAndroid();\n } else {\n this.isAndroid = false;\n }\n }\n\n isNavKeyPress(e: KeyboardEvent) {\n let k = e.keyCode;\n k = getBrowser().safari ? (SAFARI_KEYS as any)[k] || k : k;\n\n return (k >= 33 && k <= 40) || k == KEYS.RETURN || k == KEYS.TAB || k == KEYS.ESC;\n }\n\n isSpecialKey(e: KeyboardEvent) {\n let k = e.keyCode || e.charCode;\n\n return k == 9 || k == 13 || k == 27 || k == 16 || k == 17 || (k >= 18 && k <= 20) || (getBrowser().opera && !e.shiftKey && (k == 8 || (k >= 33 && k <= 35) || (k >= 36 && k <= 39) || (k >= 44 && k <= 45)));\n }\n\n getKey(e: KeyboardEvent) {\n let k = e.keyCode || e.charCode;\n return getBrowser().safari ? (SAFARI_KEYS as any)[k] || k : k;\n }\n\n getCharCode(e: KeyboardEvent) {\n return e.charCode || e.keyCode || e.which;\n }\n\n findDelta(value: string, prevValue: string) {\n let delta = '';\n\n for (let i = 0; i < value.length; i++) {\n let str = value.substr(0, i) + value.substr(i + value.length - prevValue.length);\n\n if (str === prevValue) delta = value.substr(i, value.length - prevValue.length);\n }\n\n return delta;\n }\n\n isValidChar(c: string) {\n return (<RegExp>this.regex).test(c);\n }\n\n isValidString(str: string) {\n for (let i = 0; i < str.length; i++) {\n if (!this.isValidChar(str.substr(i, 1))) {\n return false;\n }\n }\n\n return true;\n }\n\n @HostListener('input', ['$event'])\n onInput(e: KeyboardEvent) {\n if (this.isAndroid && !this.pValidateOnly) {\n let val = this.el.nativeElement.value;\n let lastVal = this.lastValue || '';\n\n let inserted = this.findDelta(val, lastVal);\n let removed = this.findDelta(lastVal, val);\n let pasted = inserted.length > 1 || (!inserted && !removed);\n\n if (pasted) {\n if (!this.isValidString(val)) {\n this.el.nativeElement.value = lastVal;\n this.ngModelChange.emit(lastVal);\n }\n } else if (!removed) {\n if (!this.isValidChar(inserted)) {\n this.el.nativeElement.value = lastVal;\n this.ngModelChange.emit(lastVal);\n }\n }\n\n val = this.el.nativeElement.value;\n if (this.isValidString(val)) {\n this.lastValue = val;\n }\n }\n }\n\n @HostListener('keypress', ['$event'])\n onKeyPress(e: KeyboardEvent) {\n if (this.isAndroid || this.pValidateOnly) {\n return;\n }\n\n let browser = getBrowser();\n let k = this.getKey(e);\n\n if (browser.mozilla && (e.ctrlKey || e.altKey)) {\n return;\n } else if (k == 17 || k == 18) {\n return;\n }\n\n // Enter key\n if (k == 13) {\n return;\n }\n\n let c = this.getCharCode(e);\n let cc = String.fromCharCode(c);\n let ok = true;\n\n if (!browser.mozilla && (this.isSpecialKey(e) || !cc)) {\n return;\n }\n\n let existingValue = this.el.nativeElement.value || '';\n let combinedValue = existingValue + cc;\n\n ok = (<RegExp>this.regex).test(combinedValue);\n\n if (!ok) {\n e.preventDefault();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(e: ClipboardEvent) {\n const clipboardData = e.clipboardData || (<any>this.document.defaultView).clipboardData.getData('text');\n if (clipboardData) {\n let pattern = /\\{[0-9]+\\}/;\n const pastedText = clipboardData.getData('text');\n if (pattern.test(this.regex.toString())) {\n if (!this.regex.test(pastedText)) {\n e.preventDefault();\n return;\n }\n } else {\n for (let char of pastedText.toString()) {\n if (!this.regex.test(char)) {\n e.preventDefault();\n return;\n }\n }\n }\n }\n }\n\n validate(c: AbstractControl): { [key: string]: any } | any {\n if (this.pValidateOnly) {\n let value = this.el.nativeElement.value;\n if (value && !this.regex.test(value)) {\n return {\n validatePattern: false\n };\n }\n }\n }\n}\n\n@NgModule({\n imports: [KeyFilter],\n exports: [KeyFilter]\n})\nexport class KeyFilterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-keyfilter.mjs","sources":["../../src/keyfilter/keyfilter.ts","../../src/keyfilter/primeng-keyfilter.ts"],"sourcesContent":["import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, Directive, ElementRef, EventEmitter, forwardRef, HostListener, Inject, Input, NgModule, Output, PLATFORM_ID, Provider } from '@angular/core';\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\nimport { getBrowser, isAndroid } from '@primeuix/utils';\nimport { KeyFilterPattern } from './keyfilter.interface';\n\nexport const KEYFILTER_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => KeyFilter),\n multi: true\n};\n\ntype SafariKeys = {\n 63234: number;\n 63235: number;\n 63232: number;\n 63233: number;\n 63276: number;\n 63277: number;\n 63272: number;\n 63273: number;\n 63275: number;\n};\n\ntype Keys = {\n TAB: number;\n RETURN: number;\n ESC: number;\n BACKSPACE: number;\n DELETE: number;\n};\n\nconst DEFAULT_MASKS: Record<KeyFilterPattern, RegExp> = {\n pint: /^[\\d]*$/,\n int: /^[-]?[\\d]*$/,\n pnum: /^[\\d\\.]*$/,\n money: /^[\\d\\.\\s,]*$/,\n num: /^[-]?[\\d\\.]*$/,\n hex: /^[0-9a-f]*$/i,\n email: /^[a-z0-9_\\.\\-@]*$/i,\n alpha: /^[a-z_]*$/i,\n alphanum: /^[a-z0-9_]*$/i\n};\n\nconst KEYS: Keys = {\n TAB: 9,\n RETURN: 13,\n ESC: 27,\n BACKSPACE: 8,\n DELETE: 46\n};\n\nconst SAFARI_KEYS: SafariKeys = {\n 63234: 37, // left\n 63235: 39, // right\n 63232: 38, // up\n 63233: 40, // down\n 63276: 33, // page up\n 63277: 34, // page down\n 63272: 46, // delete\n 63273: 36, // home\n 63275: 35 // end\n};\n/**\n * KeyFilter Directive is a built-in feature of InputText to restrict user input based on a regular expression.\n * @group Components\n */\n@Directive({\n selector: '[pKeyFilter]',\n standalone: true,\n providers: [KEYFILTER_VALIDATOR]\n})\nexport class KeyFilter implements Validator {\n /**\n * When enabled, instead of blocking keys, input is validated internally to test against the regular expression.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) pValidateOnly: boolean | undefined;\n /**\n * Sets the pattern for key filtering.\n * @group Props\n */\n\n @Input('pKeyFilter') set pattern(_pattern: RegExp | KeyFilterPattern | null | undefined) {\n this._pattern = _pattern;\n\n if (_pattern instanceof RegExp) {\n this.regex = _pattern;\n } else if (_pattern in DEFAULT_MASKS) {\n this.regex = DEFAULT_MASKS[_pattern];\n } else {\n this.regex = /./;\n }\n }\n get pattern(): RegExp | KeyFilterPattern | null | undefined {\n return this._pattern;\n }\n\n /**\n * Emits a value whenever the ngModel of the component changes.\n * @param {(string | number)} modelValue - Custom model change event.\n * @group Emits\n */\n @Output() ngModelChange: EventEmitter<string | number> = new EventEmitter<string | number>();\n\n regex: RegExp = /./;\n\n _pattern: RegExp | KeyFilterPattern | null | undefined;\n\n isAndroid: boolean;\n\n lastValue: any;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef\n ) {\n if (isPlatformBrowser(this.platformId)) {\n this.isAndroid = isAndroid();\n } else {\n this.isAndroid = false;\n }\n }\n\n isNavKeyPress(e: KeyboardEvent) {\n let k = e.keyCode;\n k = getBrowser().safari ? (SAFARI_KEYS as any)[k] || k : k;\n\n return (k >= 33 && k <= 40) || k == KEYS.RETURN || k == KEYS.TAB || k == KEYS.ESC;\n }\n\n isSpecialKey(e: KeyboardEvent) {\n let k = e.keyCode || e.charCode;\n\n return k == 9 || k == 13 || k == 27 || k == 16 || k == 17 || (k >= 18 && k <= 20) || (getBrowser().opera && !e.shiftKey && (k == 8 || (k >= 33 && k <= 35) || (k >= 36 && k <= 39) || (k >= 44 && k <= 45)));\n }\n\n getKey(e: KeyboardEvent) {\n let k = e.keyCode || e.charCode;\n return getBrowser().safari ? (SAFARI_KEYS as any)[k] || k : k;\n }\n\n getCharCode(e: KeyboardEvent) {\n return e.charCode || e.keyCode || e.which;\n }\n\n findDelta(value: string, prevValue: string) {\n let delta = '';\n\n for (let i = 0; i < value.length; i++) {\n let str = value.substr(0, i) + value.substr(i + value.length - prevValue.length);\n\n if (str === prevValue) delta = value.substr(i, value.length - prevValue.length);\n }\n\n return delta;\n }\n\n isValidChar(c: string) {\n return (<RegExp>this.regex).test(c);\n }\n\n isValidString(str: string) {\n for (let i = 0; i < str.length; i++) {\n if (!this.isValidChar(str.substr(i, 1))) {\n return false;\n }\n }\n\n return true;\n }\n\n @HostListener('input', ['$event'])\n onInput(e: KeyboardEvent) {\n if (this.isAndroid && !this.pValidateOnly) {\n let val = this.el.nativeElement.value;\n let lastVal = this.lastValue || '';\n\n let inserted = this.findDelta(val, lastVal);\n let removed = this.findDelta(lastVal, val);\n let pasted = inserted.length > 1 || (!inserted && !removed);\n\n if (pasted) {\n if (!this.isValidString(val)) {\n this.el.nativeElement.value = lastVal;\n this.ngModelChange.emit(lastVal);\n }\n } else if (!removed) {\n if (!this.isValidChar(inserted)) {\n this.el.nativeElement.value = lastVal;\n this.ngModelChange.emit(lastVal);\n }\n }\n\n val = this.el.nativeElement.value;\n if (this.isValidString(val)) {\n this.lastValue = val;\n }\n }\n }\n\n @HostListener('keypress', ['$event'])\n onKeyPress(e: KeyboardEvent) {\n if (this.isAndroid || this.pValidateOnly) {\n return;\n }\n\n let browser = getBrowser();\n let k = this.getKey(e);\n\n if (browser.mozilla && (e.ctrlKey || e.altKey)) {\n return;\n } else if (k == 17 || k == 18) {\n return;\n }\n\n // Enter key\n if (k == 13) {\n return;\n }\n\n let c = this.getCharCode(e);\n let cc = String.fromCharCode(c);\n let ok = true;\n\n if (!browser.mozilla && (this.isSpecialKey(e) || !cc)) {\n return;\n }\n\n let existingValue = this.el.nativeElement.value || '';\n let combinedValue = existingValue + cc;\n\n ok = (<RegExp>this.regex).test(combinedValue);\n\n if (!ok) {\n e.preventDefault();\n }\n }\n\n @HostListener('paste', ['$event'])\n onPaste(e: ClipboardEvent) {\n const clipboardData = e.clipboardData || (<any>this.document.defaultView).clipboardData.getData('text');\n if (clipboardData) {\n let pattern = /\\{[0-9]+\\}/;\n const pastedText = clipboardData.getData('text');\n if (pattern.test(this.regex.toString())) {\n if (!this.regex.test(pastedText)) {\n e.preventDefault();\n return;\n }\n } else {\n for (let char of pastedText.toString()) {\n if (!this.regex.test(char)) {\n e.preventDefault();\n return;\n }\n }\n }\n }\n }\n\n validate(c: AbstractControl): { [key: string]: any } | any {\n if (this.pValidateOnly) {\n let value = this.el.nativeElement.value;\n if (value && !this.regex.test(value)) {\n return {\n validatePattern: false\n };\n }\n }\n }\n}\n\n@NgModule({\n imports: [KeyFilter],\n exports: [KeyFilter]\n})\nexport class KeyFilterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|