primeng 20.1.1 → 20.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/index.d.ts +2 -2
- package/animateonscroll/index.d.ts +2 -2
- package/api/index.d.ts +4 -3
- package/autocomplete/index.d.ts +59 -13
- package/avatargroup/index.d.ts +2 -2
- package/badge/index.d.ts +5 -5
- package/base/index.d.ts +6 -6
- package/basecomponent/index.d.ts +1 -1
- package/baseeditableholder/index.d.ts +4 -4
- package/baseinput/index.d.ts +12 -12
- package/breadcrumb/index.d.ts +1 -2
- package/button/index.d.ts +10 -10
- package/card/index.d.ts +1 -1
- package/carousel/index.d.ts +6 -6
- package/cascadeselect/index.d.ts +9 -9
- package/checkbox/index.d.ts +3 -3
- package/chip/index.d.ts +14 -4
- package/classnames/index.d.ts +38 -0
- package/config/index.d.ts +2 -2
- package/confirmdialog/index.d.ts +3 -3
- package/contextmenu/index.d.ts +4 -4
- package/dataview/index.d.ts +1 -1
- package/datepicker/index.d.ts +1 -1
- package/dialog/index.d.ts +4 -3
- package/divider/index.d.ts +2 -2
- package/dock/index.d.ts +2 -2
- package/dom/index.d.ts +4 -4
- package/dynamicdialog/index.d.ts +14 -14
- package/editor/index.d.ts +92 -13
- package/fesm2022/primeng-accordion.mjs +33 -21
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +8 -8
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +180 -50
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-badge.mjs +15 -15
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +3 -3
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +6 -6
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +3 -3
- package/fesm2022/primeng-blockui.mjs +10 -10
- package/fesm2022/primeng-breadcrumb.mjs +21 -21
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +24 -23
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +10 -10
- package/fesm2022/primeng-card.mjs +10 -10
- package/fesm2022/primeng-carousel.mjs +23 -23
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +31 -25
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-checkbox.mjs +15 -14
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +48 -17
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +73 -0
- package/fesm2022/primeng-classnames.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +11 -11
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +8 -7
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +16 -10
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +24 -22
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +24 -22
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +11 -11
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +23 -23
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +35 -16
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-dock.mjs +27 -25
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +13 -10
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs +28 -19
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +48 -39
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +69 -11
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +12 -11
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +15 -15
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-fluid.mjs +10 -12
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +42 -38
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +10 -10
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterfill.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-iftalabel.mjs +10 -10
- package/fesm2022/primeng-image.mjs +19 -16
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +10 -10
- package/fesm2022/primeng-inplace.mjs +16 -16
- package/fesm2022/primeng-inputgroup.mjs +10 -10
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputicon.mjs +10 -10
- package/fesm2022/primeng-inputmask.mjs +22 -13
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +52 -31
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +11 -11
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +10 -10
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +19 -10
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +10 -10
- package/fesm2022/primeng-listbox.mjs +124 -43
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +22 -20
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +35 -44
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +28 -27
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +33 -30
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +27 -18
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +58 -48
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +149 -43
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +13 -13
- package/fesm2022/primeng-overlay.mjs +15 -11
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-paginator.mjs +11 -11
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +11 -11
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +27 -26
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +25 -21
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +129 -48
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +11 -11
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +10 -10
- package/fesm2022/primeng-progressspinner.mjs +10 -10
- package/fesm2022/primeng-radiobutton.mjs +15 -15
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +11 -11
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +10 -10
- package/fesm2022/primeng-scroller.mjs +48 -24
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +19 -19
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +10 -10
- package/fesm2022/primeng-select.mjs +56 -38
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +12 -12
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +14 -14
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +32 -24
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +15 -15
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +21 -21
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +43 -43
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +15 -15
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +8 -8
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +178 -158
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +99 -55
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +10 -10
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +13 -13
- package/fesm2022/primeng-textarea.mjs +11 -11
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +26 -25
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +10 -10
- package/fesm2022/primeng-toast.mjs +14 -13
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +20 -13
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +10 -10
- package/fesm2022/primeng-toolbar.mjs +10 -10
- package/fesm2022/primeng-tooltip.mjs +16 -15
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +170 -221
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +17 -17
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +84 -77
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +20 -18
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fieldset/index.d.ts +3 -2
- package/fileupload/index.d.ts +6 -6
- package/fluid/index.d.ts +0 -2
- package/galleria/index.d.ts +10 -10
- package/icons/baseicon/index.d.ts +1 -1
- package/image/index.d.ts +7 -7
- package/inputnumber/index.d.ts +7 -7
- package/inputotp/index.d.ts +3 -3
- package/inputtext/index.d.ts +6 -6
- package/keyfilter/index.d.ts +2 -2
- package/listbox/index.d.ts +31 -19
- package/megamenu/index.d.ts +1 -1
- package/menu/index.d.ts +1 -2
- package/message/index.d.ts +3 -2
- package/metergroup/index.d.ts +6 -6
- package/multiselect/index.d.ts +18 -17
- package/orderlist/index.d.ts +13 -7
- package/organizationchart/index.d.ts +2 -2
- package/overlay/index.d.ts +5 -5
- package/package.json +224 -220
- package/paginator/index.d.ts +1 -1
- package/panel/index.d.ts +2 -2
- package/panelmenu/index.d.ts +8 -8
- package/password/index.d.ts +6 -6
- package/picklist/index.d.ts +17 -12
- package/radiobutton/index.d.ts +3 -3
- package/rating/index.d.ts +1 -1
- package/scroller/index.d.ts +7 -3
- package/select/index.d.ts +11 -11
- package/selectbutton/index.d.ts +3 -3
- package/slider/index.d.ts +2 -2
- package/speeddial/index.d.ts +9 -9
- package/splitter/index.d.ts +3 -3
- package/stepper/index.d.ts +4 -4
- package/steps/index.d.ts +3 -3
- package/table/index.d.ts +39 -31
- package/tabs/index.d.ts +23 -8
- package/tag/index.d.ts +1 -1
- package/textarea/index.d.ts +6 -6
- package/tieredmenu/index.d.ts +1 -1
- package/toast/index.d.ts +5 -5
- package/togglebutton/index.d.ts +4 -3
- package/toggleswitch/index.d.ts +1 -1
- package/tooltip/index.d.ts +11 -11
- package/tree/index.d.ts +31 -46
- package/treeselect/index.d.ts +6 -6
- package/treetable/index.d.ts +10 -10
- package/usestyle/index.d.ts +2 -2
- package/utils/index.d.ts +2 -2
@@ -67,10 +67,10 @@ class InputNumberStyle extends BaseStyle {
|
|
67
67
|
name = 'inputnumber';
|
68
68
|
theme = theme;
|
69
69
|
classes = classes;
|
70
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
71
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: InputNumberStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
71
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: InputNumberStyle });
|
72
72
|
}
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: InputNumberStyle, decorators: [{
|
74
74
|
type: Injectable
|
75
75
|
}] });
|
76
76
|
/**
|
@@ -348,7 +348,7 @@ class InputNumber extends BaseInput {
|
|
348
348
|
_numeral;
|
349
349
|
numberFormat;
|
350
350
|
_decimal;
|
351
|
-
_decimalChar;
|
351
|
+
_decimalChar = '';
|
352
352
|
_group;
|
353
353
|
_minusSign;
|
354
354
|
_currency;
|
@@ -390,18 +390,33 @@ class InputNumber extends BaseInput {
|
|
390
390
|
});
|
391
391
|
}
|
392
392
|
getOptions() {
|
393
|
+
// Validate fraction digits according to Intl.NumberFormat specifications
|
394
|
+
// Handle potential NaN, Infinity, or invalid values
|
395
|
+
const validateFractionDigits = (value, min, max) => {
|
396
|
+
if (value == null || isNaN(value) || !isFinite(value)) {
|
397
|
+
return undefined;
|
398
|
+
}
|
399
|
+
return Math.max(min, Math.min(max, Math.floor(value)));
|
400
|
+
};
|
401
|
+
const minFractionDigits = validateFractionDigits(this.minFractionDigits, 0, 20);
|
402
|
+
const maxFractionDigits = validateFractionDigits(this.maxFractionDigits, 0, 100);
|
403
|
+
// Ensure minFractionDigits <= maxFractionDigits
|
404
|
+
const validatedMinFractionDigits = minFractionDigits != null && maxFractionDigits != null && minFractionDigits > maxFractionDigits ? maxFractionDigits : minFractionDigits;
|
393
405
|
return {
|
394
406
|
localeMatcher: this.localeMatcher,
|
395
407
|
style: this.mode,
|
396
408
|
currency: this.currency,
|
397
409
|
currencyDisplay: this.currencyDisplay,
|
398
410
|
useGrouping: this.useGrouping,
|
399
|
-
minimumFractionDigits:
|
400
|
-
maximumFractionDigits:
|
411
|
+
minimumFractionDigits: validatedMinFractionDigits,
|
412
|
+
maximumFractionDigits: maxFractionDigits
|
401
413
|
};
|
402
414
|
}
|
403
415
|
constructParser() {
|
404
|
-
|
416
|
+
const options = this.getOptions();
|
417
|
+
// Remove any properties with undefined or invalid values to let Intl.NumberFormat use defaults
|
418
|
+
const cleanOptions = Object.fromEntries(Object.entries(options).filter(([_key, value]) => value !== undefined));
|
419
|
+
this.numberFormat = new Intl.NumberFormat(this.locale, cleanOptions);
|
405
420
|
const numerals = [...new Intl.NumberFormat(this.locale, { useGrouping: false }).format(9876543210)].reverse();
|
406
421
|
const index = new Map(numerals.map((d, i) => [d, i]));
|
407
422
|
this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');
|
@@ -508,9 +523,9 @@ class InputNumber extends BaseInput {
|
|
508
523
|
return '';
|
509
524
|
}
|
510
525
|
parseValue(text) {
|
511
|
-
const suffixRegex = new RegExp(this._suffix, '')
|
512
|
-
const prefixRegex = new RegExp(this._prefix, '')
|
513
|
-
const currencyRegex = new RegExp(this._currency, '')
|
526
|
+
const suffixRegex = this._suffix ? new RegExp(this._suffix, '') : /(?:)/;
|
527
|
+
const prefixRegex = this._prefix ? new RegExp(this._prefix, '') : /(?:)/;
|
528
|
+
const currencyRegex = this._currency ? new RegExp(this._currency, '') : /(?:)/;
|
514
529
|
let filteredText = text
|
515
530
|
.replace(suffixRegex, '')
|
516
531
|
.replace(prefixRegex, '')
|
@@ -545,7 +560,8 @@ class InputNumber extends BaseInput {
|
|
545
560
|
let step = (this.step() ?? 1) * dir;
|
546
561
|
let currentValue = this.parseValue(this.input?.nativeElement.value) || 0;
|
547
562
|
let newValue = this.validateValue(currentValue + step);
|
548
|
-
|
563
|
+
const max = this.maxlength();
|
564
|
+
if (max && max < this.formatValue(newValue).length) {
|
549
565
|
return;
|
550
566
|
}
|
551
567
|
this.updateInput(newValue, null, 'spin', null);
|
@@ -712,7 +728,7 @@ class InputNumber extends BaseInput {
|
|
712
728
|
newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);
|
713
729
|
}
|
714
730
|
}
|
715
|
-
else if (this.mode === 'currency' && deleteChar.search(this._currency) != -1) {
|
731
|
+
else if (this.mode === 'currency' && this._currency && deleteChar.search(this._currency) != -1) {
|
716
732
|
newValueStr = inputValue.slice(1);
|
717
733
|
}
|
718
734
|
this.updateValue(event, newValueStr, null, 'delete-single');
|
@@ -808,7 +824,8 @@ class InputNumber extends BaseInput {
|
|
808
824
|
this.insert(event, char, { isDecimalSign, isMinusSign });
|
809
825
|
return;
|
810
826
|
}
|
811
|
-
|
827
|
+
const max = this.maxlength();
|
828
|
+
if (max && newValueStr.length > max) {
|
812
829
|
return;
|
813
830
|
}
|
814
831
|
if ((48 <= code && code <= 57) || isMinusSign || isDecimalSign) {
|
@@ -834,7 +851,8 @@ class InputNumber extends BaseInput {
|
|
834
851
|
}
|
835
852
|
}
|
836
853
|
allowMinusSign() {
|
837
|
-
|
854
|
+
const min = this.min();
|
855
|
+
return min == null || min < 0;
|
838
856
|
}
|
839
857
|
isMinusSign(char) {
|
840
858
|
if (this._minusSign.test(char) || char === '-') {
|
@@ -1059,11 +1077,13 @@ class InputNumber extends BaseInput {
|
|
1059
1077
|
if (value === '-' || value == null) {
|
1060
1078
|
return null;
|
1061
1079
|
}
|
1062
|
-
|
1080
|
+
const min = this.min();
|
1081
|
+
const max = this.max();
|
1082
|
+
if (min != null && value < min) {
|
1063
1083
|
return this.min();
|
1064
1084
|
}
|
1065
|
-
if (
|
1066
|
-
return
|
1085
|
+
if (max != null && value > max) {
|
1086
|
+
return max;
|
1067
1087
|
}
|
1068
1088
|
return value;
|
1069
1089
|
}
|
@@ -1085,12 +1105,13 @@ class InputNumber extends BaseInput {
|
|
1085
1105
|
else {
|
1086
1106
|
let selectionStart = this.input.nativeElement.selectionStart;
|
1087
1107
|
let selectionEnd = this.input.nativeElement.selectionEnd;
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1108
|
+
const maxlength = this.maxlength();
|
1109
|
+
if (maxlength && newValue.length > maxlength) {
|
1110
|
+
newValue = newValue.slice(0, maxlength);
|
1111
|
+
selectionStart = Math.min(selectionStart, maxlength);
|
1112
|
+
selectionEnd = Math.min(selectionEnd, maxlength);
|
1092
1113
|
}
|
1093
|
-
if (
|
1114
|
+
if (maxlength && maxlength < newValue.length) {
|
1094
1115
|
return;
|
1095
1116
|
}
|
1096
1117
|
this.input.nativeElement.value = newValue;
|
@@ -1214,8 +1235,8 @@ class InputNumber extends BaseInput {
|
|
1214
1235
|
clearInterval(this.timer);
|
1215
1236
|
}
|
1216
1237
|
}
|
1217
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
1218
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.2
|
1238
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: InputNumber, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
1239
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: InputNumber, isStandalone: true, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: { showButtons: ["showButtons", "showButtons", booleanAttribute], format: ["format", "format", booleanAttribute], buttonLayout: "buttonLayout", inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", tabindex: ["tabindex", "tabindex", numberAttribute], title: "title", ariaLabelledBy: "ariaLabelledBy", ariaDescribedBy: "ariaDescribedBy", ariaLabel: "ariaLabel", ariaRequired: ["ariaRequired", "ariaRequired", booleanAttribute], autocomplete: "autocomplete", incrementButtonClass: "incrementButtonClass", decrementButtonClass: "decrementButtonClass", incrementButtonIcon: "incrementButtonIcon", decrementButtonIcon: "decrementButtonIcon", readonly: ["readonly", "readonly", booleanAttribute], allowEmpty: ["allowEmpty", "allowEmpty", booleanAttribute], locale: "locale", localeMatcher: "localeMatcher", mode: "mode", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, undefined)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, undefined)], prefix: "prefix", suffix: "suffix", inputStyle: "inputStyle", inputStyleClass: "inputStyleClass", showClear: ["showClear", "showClear", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute] }, outputs: { onInput: "onInput", onFocus: "onFocus", onBlur: "onBlur", onKeyDown: "onKeyDown", onClear: "onClear" }, host: { properties: { "attr.data-pc-name": "'inputnumber'", "attr.data-pc-section": "'root'", "class": "cn(cx('root'), styleClass)" } }, providers: [INPUTNUMBER_VALUE_ACCESSOR, InputNumberStyle], queries: [{ propertyName: "clearIconTemplate", first: true, predicate: ["clearicon"] }, { propertyName: "incrementButtonIconTemplate", first: true, predicate: ["incrementbuttonicon"] }, { propertyName: "decrementButtonIconTemplate", first: true, predicate: ["decrementbuttonicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
1219
1240
|
<input
|
1220
1241
|
pInputText
|
1221
1242
|
#input
|
@@ -1349,7 +1370,7 @@ class InputNumber extends BaseInput {
|
|
1349
1370
|
</button>
|
1350
1371
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "component", type: TimesIcon, selector: "[data-p-icon=\"times\"]" }, { kind: "component", type: AngleUpIcon, selector: "[data-p-icon=\"angle-up\"]" }, { kind: "component", type: AngleDownIcon, selector: "[data-p-icon=\"angle-down\"]" }, { kind: "ngmodule", type: SharedModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
1351
1372
|
}
|
1352
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
1373
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: InputNumber, decorators: [{
|
1353
1374
|
type: Component,
|
1354
1375
|
args: [{
|
1355
1376
|
selector: 'p-inputNumber, p-inputnumber, p-input-number',
|
@@ -1556,10 +1577,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
1556
1577
|
args: [{ transform: booleanAttribute }]
|
1557
1578
|
}], minFractionDigits: [{
|
1558
1579
|
type: Input,
|
1559
|
-
args: [{ transform: (value) => numberAttribute(value,
|
1580
|
+
args: [{ transform: (value) => numberAttribute(value, undefined) }]
|
1560
1581
|
}], maxFractionDigits: [{
|
1561
1582
|
type: Input,
|
1562
|
-
args: [{ transform: (value) => numberAttribute(value,
|
1583
|
+
args: [{ transform: (value) => numberAttribute(value, undefined) }]
|
1563
1584
|
}], prefix: [{
|
1564
1585
|
type: Input
|
1565
1586
|
}], suffix: [{
|
@@ -1601,11 +1622,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
1601
1622
|
args: ['input']
|
1602
1623
|
}] } });
|
1603
1624
|
class InputNumberModule {
|
1604
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
1605
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2
|
1606
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2
|
1625
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: InputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
1626
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: InputNumberModule, imports: [InputNumber, SharedModule], exports: [InputNumber, SharedModule] });
|
1627
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: InputNumberModule, imports: [InputNumber, SharedModule, SharedModule] });
|
1607
1628
|
}
|
1608
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
1629
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: InputNumberModule, decorators: [{
|
1609
1630
|
type: NgModule,
|
1610
1631
|
args: [{
|
1611
1632
|
imports: [InputNumber, SharedModule],
|