primeng 20.0.0-rc.1 → 20.0.0-rc.3
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 +1 -3
- package/autocomplete/index.d.ts +8 -7
- package/baseeditableholder/index.d.ts +14 -5
- package/basemodelholder/index.d.ts +12 -0
- package/button/index.d.ts +10 -13
- package/cascadeselect/index.d.ts +7 -5
- package/chart/index.d.ts +1 -0
- package/checkbox/index.d.ts +9 -7
- package/colorpicker/index.d.ts +8 -7
- package/datepicker/index.d.ts +8 -7
- package/editor/index.d.ts +9 -8
- package/fesm2022/primeng-accordion.mjs +15 -17
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +49 -52
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +1 -2
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +5 -170
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +2 -1
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +25 -7
- package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +25 -0
- package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
- package/fesm2022/primeng-breadcrumb.mjs +9 -9
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +45 -72
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +1 -2
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +3 -4
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +13 -13
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +33 -36
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +1 -1
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +20 -23
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +23 -3
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +35 -37
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +25 -17
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +17 -9
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +7 -15
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +3 -3
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +191 -142
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +13 -13
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +2 -2
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +10 -5
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +5 -6
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +27 -31
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +8 -10
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +7 -9
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +67 -55
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +2 -3
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +21 -21
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +14 -18
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs +14 -18
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs +14 -18
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs +14 -18
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs +10 -14
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs +10 -14
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs +10 -14
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs +10 -14
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs +29 -32
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +10 -14
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs +10 -14
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs +29 -32
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +14 -18
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs +29 -32
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +25 -28
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +14 -18
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +21 -29
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +3 -11
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs +10 -14
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs +10 -14
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs +10 -14
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs +10 -14
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs +10 -14
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs +10 -14
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs +10 -14
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs +10 -14
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +41 -44
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +14 -18
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs +29 -32
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +25 -28
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterfill.mjs +10 -14
- package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterslash.mjs +29 -32
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +29 -32
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +29 -32
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +10 -14
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs +25 -28
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +25 -28
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +29 -32
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +29 -32
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +29 -32
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +29 -32
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +37 -40
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +25 -28
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +25 -28
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +25 -28
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +25 -28
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +25 -28
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +29 -32
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +10 -14
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs +29 -32
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +29 -32
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +29 -32
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +29 -32
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +29 -32
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +29 -32
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-iftalabel.mjs +2 -3
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +13 -13
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +15 -10
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +6 -7
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +31 -34
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +45 -48
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +26 -28
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +14 -9
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +22 -24
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +44 -47
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +12 -12
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +14 -14
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +3 -3
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +50 -52
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +13 -12
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +5 -5
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +6 -1
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +3 -3
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +9 -9
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +6 -7
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +19 -20
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +29 -32
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +38 -37
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +19 -19
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +2 -2
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +21 -24
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +21 -24
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +2 -3
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +9 -9
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +1 -2
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +4 -4
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +48 -51
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +17 -20
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +28 -30
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +3 -3
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +3 -3
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +33 -9
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +83 -88
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +5 -5
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +13 -9
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +5 -5
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +21 -19
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +15 -18
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +16 -19
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +12 -12
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +32 -29
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +118 -117
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/galleria/index.d.ts +1 -1
- package/icons/angledoubledown/index.d.ts +1 -1
- package/icons/angledoubleleft/index.d.ts +1 -1
- package/icons/angledoubleright/index.d.ts +1 -1
- package/icons/angledoubleup/index.d.ts +1 -1
- package/icons/angledown/index.d.ts +1 -1
- package/icons/angleleft/index.d.ts +1 -1
- package/icons/angleright/index.d.ts +1 -1
- package/icons/angleup/index.d.ts +1 -1
- package/icons/arrowdown/index.d.ts +1 -1
- package/icons/arrowdownleft/index.d.ts +1 -1
- package/icons/arrowdownright/index.d.ts +1 -1
- package/icons/arrowleft/index.d.ts +1 -1
- package/icons/arrowright/index.d.ts +1 -1
- package/icons/arrowup/index.d.ts +1 -1
- package/icons/ban/index.d.ts +1 -1
- package/icons/bars/index.d.ts +1 -1
- package/icons/baseicon/index.d.ts +11 -18
- package/icons/blank/index.d.ts +1 -1
- package/icons/calendar/index.d.ts +1 -1
- package/icons/caretleft/index.d.ts +1 -1
- package/icons/caretright/index.d.ts +1 -1
- package/icons/check/index.d.ts +1 -1
- package/icons/chevrondown/index.d.ts +1 -1
- package/icons/chevronleft/index.d.ts +1 -1
- package/icons/chevronright/index.d.ts +1 -1
- package/icons/chevronup/index.d.ts +1 -1
- package/icons/exclamationtriangle/index.d.ts +1 -1
- package/icons/eye/index.d.ts +1 -1
- package/icons/eyeslash/index.d.ts +1 -1
- package/icons/filter/index.d.ts +1 -1
- package/icons/filterfill/index.d.ts +1 -1
- package/icons/filterslash/index.d.ts +1 -1
- package/icons/home/index.d.ts +1 -1
- package/icons/infocircle/index.d.ts +1 -1
- package/icons/minus/index.d.ts +1 -1
- package/icons/pencil/index.d.ts +1 -1
- package/icons/plus/index.d.ts +1 -1
- package/icons/refresh/index.d.ts +1 -1
- package/icons/search/index.d.ts +1 -1
- package/icons/searchminus/index.d.ts +1 -1
- package/icons/searchplus/index.d.ts +1 -1
- package/icons/sortalt/index.d.ts +1 -1
- package/icons/sortamountdown/index.d.ts +1 -1
- package/icons/sortamountupalt/index.d.ts +1 -1
- package/icons/spinner/index.d.ts +1 -1
- package/icons/star/index.d.ts +1 -1
- package/icons/starfill/index.d.ts +1 -1
- package/icons/thlarge/index.d.ts +1 -1
- package/icons/times/index.d.ts +1 -1
- package/icons/timescircle/index.d.ts +1 -1
- package/icons/trash/index.d.ts +1 -1
- package/icons/undo/index.d.ts +1 -1
- package/icons/upload/index.d.ts +1 -1
- package/icons/windowmaximize/index.d.ts +1 -1
- package/icons/windowminimize/index.d.ts +1 -1
- package/inplace/index.d.ts +1 -0
- package/inputmask/index.d.ts +9 -10
- package/inputnumber/index.d.ts +8 -7
- package/inputotp/index.d.ts +7 -5
- package/inputtext/index.d.ts +10 -4
- package/knob/index.d.ts +7 -5
- package/listbox/index.d.ts +8 -7
- package/multiselect/index.d.ts +8 -7
- package/overlay/index.d.ts +1 -3
- package/overlaybadge/index.d.ts +1 -3
- package/package.json +201 -197
- package/password/index.d.ts +7 -5
- package/popover/index.d.ts +1 -3
- package/radiobutton/index.d.ts +9 -7
- package/rating/index.d.ts +8 -7
- package/ripple/index.d.ts +1 -3
- package/scroller/index.d.ts +1 -3
- package/select/index.d.ts +8 -7
- package/selectbutton/index.d.ts +9 -8
- package/slider/index.d.ts +9 -8
- package/stepper/index.d.ts +4 -0
- package/table/index.d.ts +9 -14
- package/textarea/index.d.ts +9 -4
- package/togglebutton/index.d.ts +8 -7
- package/toggleswitch/index.d.ts +7 -5
- package/treeselect/index.d.ts +7 -5
- package/treetable/index.d.ts +2 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-inputotp.mjs","sources":["../../src/inputotp/style/inputotpstyle.ts","../../src/inputotp/inputotp.ts","../../src/inputotp/primeng-inputotp.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\nimport { style } from '@primeuix/styles/inputotp';\n\nconst classes = {\n root: 'p-inputotp p-component',\n pcInputText: 'p-inputotp-input'\n};\n\n@Injectable()\nexport class InputOtpStyle extends BaseStyle {\n name = 'inputotp';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * InputOtp is used to enter one time passwords.\n *\n * [Live Demo](https://www.primeng.org/inputotp/)\n *\n * @module inputotpstyle\n *\n */\n\nexport enum InputOtpClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inputotp',\n /**\n * Class name of the input element\n */\n pcInputText = 'p-inputotp-input'\n}\n\nexport interface InputOtpStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n inject,\n input,\n Input,\n NgModule,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { InputText } from 'primeng/inputtext';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { InputOtpStyle } from './style/inputotpstyle';\n\nexport const INPUT_OTP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputOtp),\n multi: true\n};\n\n/**\n * Input change event.\n * @property {Event} originalEvent - browser event.\n * @property {any} value - updated value.\n * @group Interface\n */\nexport interface InputOtpChangeEvent {\n originalEvent: Event;\n value: any;\n}\n\n/**\n * Context interface for the input template events.\n * @property {(event: Event, index: number) => void} input - input event.\n * @property {(event: Event)} keydown - keydown event.\n * @property {(event: Event)} focus - focus event.\n * @property {(event: Event)} blur - blur event.\n * @property {(event: Event)} paste - paste event.\n * @group Interface\n */\nexport interface InputOtpTemplateEvents {\n input: (event: Event, index: number) => void;\n keydown: (event: Event) => void;\n focus: (event: Event) => void;\n blur: (event: Event) => void;\n paste: (event: Event) => void;\n}\n\n/**\n * Context of the input template.\n * @property {number | string} $implicit - token value.\n * @property {InputOtpTemplateEvents} events - Browser events of the template.\n * @property {number} index - index of the token.\n * @group Interface\n */\nexport interface InputOtpInputTemplateContext {\n $implicit: number | string;\n events: InputOtpTemplateEvents;\n index: number;\n}\n\n/**\n * Input Otp is used to enter one time passwords.\n * @group Components\n */\n@Component({\n selector: 'p-inputOtp, p-inputotp, p-input-otp',\n standalone: true,\n imports: [CommonModule, InputText, AutoFocus, SharedModule],\n template: `\n <ng-container *ngFor=\"let i of getRange(length); trackBy: trackByFn\">\n <ng-container *ngIf=\"!inputTemplate && !_inputTemplate\">\n <input\n type=\"text\"\n pInputText\n [value]=\"getModelValue(i)\"\n [attr.maxlength]=\"i === 1 ? length : 1\"\n [attr.type]=\"inputType\"\n [class]=\"cn(cx('pcInputText'), styleClass)\"\n [pSize]=\"size()\"\n [variant]=\"$variant()\"\n [invalid]=\"invalid()\"\n [attr.name]=\"name()\"\n [attr.tabindex]=\"tabindex\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly ? '' : undefined\"\n [attr.disabled]=\"disabled() ? '' : undefined\"\n (input)=\"onInput($event, i - 1)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onPaste($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"getAutofocus(i)\"\n />\n </ng-container>\n <ng-container *ngIf=\"inputTemplate || _inputTemplate\">\n <ng-container *ngTemplateOutlet=\"inputTemplate || _inputTemplate; context: { $implicit: getToken(i - 1), events: getTemplateEvents(i - 1), index: i }\"> </ng-container>\n </ng-container>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [INPUT_OTP_VALUE_ACCESSOR, InputOtpStyle],\n host: {\n '[class]': \"cx('root')\"\n }\n})\nexport class InputOtp extends BaseEditableHolder implements AfterContentInit {\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | null = null;\n /**\n * Number of characters to initiate.\n * @group Props\n */\n @Input() length: number = 4;\n /**\n * Style class of the input element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Mask pattern.\n * @group Props\n */\n @Input() mask: boolean = false;\n /**\n * When present, it specifies that an input field is integer-only.\n * @group Props\n */\n @Input() integerOnly: boolean = false;\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 * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<'filled' | 'outlined' | undefined>();\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Callback to invoke on value change.\n * @group Emits\n */\n @Output() onChange: EventEmitter<InputOtpChangeEvent> = new EventEmitter<InputOtpChangeEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter();\n /**\n * Input template.\n * @param {InputOtpInputTemplateContext} context - Context of the template\n * @see {@link InputOtpInputTemplateContext}\n * @group Templates\n */\n @ContentChild('input', { descendants: false }) inputTemplate: TemplateRef<any>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _inputTemplate: TemplateRef<any> | undefined;\n\n tokens: any = [];\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n value: any;\n\n $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());\n\n get inputMode(): string {\n return this.integerOnly ? 'numeric' : 'text';\n }\n\n get inputType(): string {\n return this.mask ? 'password' : 'text';\n }\n\n _componentStyle = inject(InputOtpStyle);\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'input':\n this._inputTemplate = item.template;\n break;\n default:\n this._inputTemplate = item.template;\n break;\n }\n });\n }\n\n getToken(index) {\n return this.tokens[index];\n }\n\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus.emit(event),\n blur: (event) => this.onBlur.emit(event),\n paste: (event) => this.onPaste(event)\n };\n }\n\n onInput(event, index) {\n const value = event.target.value;\n if (index === 0 && value.length > 1) {\n this.handleOnPaste(value, event);\n event.stopPropagation();\n return;\n }\n this.tokens[index] = value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward') {\n this.moveToNext(event);\n }\n }\n\n updateModel(event: any) {\n const newValue = this.tokens.join('');\n this.writeModelValue(newValue);\n this.onModelChange(newValue);\n\n this.onChange.emit({\n originalEvent: event,\n value: newValue\n });\n }\n\n writeValue(value: any): void {\n if (value) {\n if (Array.isArray(value) && value.length > 0) {\n this.value = value.slice(0, this.length);\n } else {\n this.value = value.toString().split('').slice(0, this.length);\n }\n } else {\n this.value = value;\n }\n this.writeModelValue(this.value);\n this.updateTokens();\n this.cd.markForCheck();\n }\n\n updateTokens() {\n if (this.value !== null && this.value !== undefined) {\n if (Array.isArray(this.value)) {\n this.tokens = [...this.value];\n } else {\n this.tokens = this.value.toString().split('');\n }\n } else {\n this.tokens = [];\n }\n }\n\n getModelValue(i: number) {\n return this.tokens[i - 1] || '';\n }\n\n getAutofocus(i: number): boolean {\n if (i === 1) {\n return this.autofocus;\n }\n return false;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n }\n\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n }\n\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n }\n\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n }\n\n onInputFocus(event) {\n event.target.select();\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.onBlur.emit(event);\n }\n\n onKeyDown(event) {\n if (event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n default:\n if ((this.integerOnly && !(Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onPaste(event) {\n if (!this.disabled() && !this.readonly) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n this.handleOnPaste(paste, event);\n }\n\n event.preventDefault();\n }\n }\n\n handleOnPaste(paste, event) {\n let pastedCode = paste.substring(0, this.length + 1);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n getRange(n: number): number[] {\n return Array.from({ length: n }, (_, index) => index + 1);\n }\n\n trackByFn(index: number) {\n return index;\n }\n}\n\n@NgModule({\n imports: [InputOtp, SharedModule],\n exports: [InputOtp, SharedModule]\n})\nexport class InputOtpModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA,MAAM,OAAO,GAAG;AACZ,IAAA,IAAI,EAAE,wBAAwB;AAC9B,IAAA,WAAW,EAAE;CAChB;AAGK,MAAO,aAAc,SAAQ,SAAS,CAAA;IACxC,IAAI,GAAG,UAAU;IAEjB,KAAK,GAAG,KAAK;IAEb,OAAO,GAAG,OAAO;uGALR,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAb,aAAa,EAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB;;AASD;;;;;;;;AAQG;IAES;AAAZ,CAAA,UAAY,eAAe,EAAA;AACvB;;AAEG;AACH,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,YAAmB;AACnB;;AAEG;AACH,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,kBAAgC;AACpC,CAAC,EATW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;;ACApB,MAAM,wBAAwB,GAAQ;AACzC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC;AACvC,IAAA,KAAK,EAAE;;AA4CX;;;AAGG;AA2CG,MAAO,QAAS,SAAQ,kBAAkB,CAAA;AAC5C;;;AAGG;AACqC,IAAA,QAAQ;AAChD;;;AAGG;IACM,QAAQ,GAAkB,IAAI;AACvC;;;AAGG;IACM,MAAM,GAAW,CAAC;AAC3B;;;AAGG;AACM,IAAA,UAAU;AACnB;;;AAGG;IACM,IAAI,GAAY,KAAK;AAC9B;;;AAGG;IACM,WAAW,GAAY,KAAK;AACrC;;;AAGG;AACqC,IAAA,SAAS;AACjD;;;;AAIG;IACH,OAAO,GAAG,KAAK,EAAqC;AACpD;;;;AAIG;IACH,IAAI,GAAG,KAAK,EAAiC;AAC7C;;;AAGG;AACO,IAAA,QAAQ,GAAsC,IAAI,YAAY,EAAuB;AAC/F;;;;AAIG;AACO,IAAA,OAAO,GAAwB,IAAI,YAAY,EAAE;AAC3D;;;;AAIG;AACO,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAC1D;;;;;AAKG;AAC4C,IAAA,aAAa;AAE5B,IAAA,SAAS;AAEzC,IAAA,cAAc;IAEd,MAAM,GAAQ,EAAE;AAEhB,IAAA,aAAa,GAAa,MAAK,GAAG;AAElC,IAAA,cAAc,GAAa,MAAK,GAAG;AAEnC,IAAA,KAAK;IAEL,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAEnG,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,WAAW,GAAG,SAAS,GAAG,MAAM;;AAGhD,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,IAAI,GAAG,UAAU,GAAG,MAAM;;AAG1C,IAAA,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC;IAEvC,kBAAkB,GAAA;QACb,IAAI,CAAC,SAAsC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1D,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,OAAO;AACR,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;oBACnC;AACJ,gBAAA;AACI,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;oBACnC;;AAEZ,SAAC,CAAC;;AAGN,IAAA,QAAQ,CAAC,KAAK,EAAA;AACV,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;;AAG7B,IAAA,iBAAiB,CAAC,KAAK,EAAA;QACnB,OAAO;AACH,YAAA,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YAC5C,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACzC,YAAA,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1C,YAAA,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACxC,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK;SACvC;;IAGL,OAAO,CAAC,KAAK,EAAE,KAAK,EAAA;AAChB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;QAChC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;YAChC,KAAK,CAAC,eAAe,EAAE;YACvB;;AAEJ,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEvB,QAAA,IAAI,KAAK,CAAC,SAAS,KAAK,uBAAuB,EAAE;AAC7C,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;AACnB,aAAA,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,EAAE;AACvF,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;;AAI9B,IAAA,WAAW,CAAC,KAAU,EAAA;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AAC9B,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACf,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,KAAK,EAAE;AACV,SAAA,CAAC;;AAGN,IAAA,UAAU,CAAC,KAAU,EAAA;QACjB,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;;iBACrC;gBACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;;;aAE9D;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;AAEtB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;IAG1B,YAAY,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACjD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;;iBAC1B;AACH,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;;;aAE9C;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;;;AAIxB,IAAA,aAAa,CAAC,CAAS,EAAA;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAGnC,IAAA,YAAY,CAAC,CAAS,EAAA;AAClB,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE;YACT,OAAO,IAAI,CAAC,SAAS;;AAEzB,QAAA,OAAO,KAAK;;AAGhB,IAAA,gBAAgB,CAAC,EAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;;AAG3B,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;AAG5B,IAAA,UAAU,CAAC,KAAK,EAAA;QACZ,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAEhD,IAAI,SAAS,EAAE;YACX,SAAS,CAAC,KAAK,EAAE;YACjB,SAAS,CAAC,MAAM,EAAE;;;AAI1B,IAAA,UAAU,CAAC,KAAK,EAAA;QACZ,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAEhD,IAAI,SAAS,EAAE;YACX,SAAS,CAAC,KAAK,EAAE;YACjB,SAAS,CAAC,MAAM,EAAE;;;AAI1B,IAAA,aAAa,CAAC,OAAO,EAAA;AACjB,QAAA,IAAI,WAAW,GAAG,OAAO,CAAC,kBAAkB;AAE5C,QAAA,IAAI,CAAC,WAAW;YAAE;AAElB,QAAA,OAAO,WAAW,CAAC,QAAQ,KAAK,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;;AAG3F,IAAA,aAAa,CAAC,OAAO,EAAA;AACjB,QAAA,IAAI,WAAW,GAAG,OAAO,CAAC,sBAAsB;AAEhD,QAAA,IAAI,CAAC,WAAW;YAAE;AAElB,QAAA,OAAO,WAAW,CAAC,QAAQ,KAAK,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;;AAG3F,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG5B,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG3B,IAAA,SAAS,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;YAChD;;AAGJ,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,CAAC,cAAc,EAAE;gBAEtB;AAEJ,YAAA,KAAK,SAAS;AACd,YAAA,KAAK,WAAW;gBACZ,KAAK,CAAC,cAAc,EAAE;gBAEtB;AAEJ,YAAA,KAAK,WAAW;gBACZ,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;oBACtB,KAAK,CAAC,cAAc,EAAE;;gBAG1B;AAEJ,YAAA,KAAK,YAAY;AACb,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,CAAC,cAAc,EAAE;gBAEtB;AAEJ,YAAA;gBACI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;oBACtJ,KAAK,CAAC,cAAc,EAAE;;gBAG1B;;;AAIZ,IAAA,OAAO,CAAC,KAAK,EAAA;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;AAE/C,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;;YAGpC,KAAK,CAAC,cAAc,EAAE;;;IAI9B,aAAa,CAAC,KAAK,EAAE,KAAK,EAAA;AACtB,QAAA,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YACzC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAClC,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;;AAI/B,IAAA,QAAQ,CAAC,CAAS,EAAA;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC;;AAG7D,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,KAAK;;uGApTP,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKG,gBAAgB,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EA8BhB,gBAAgB,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAxCzB,CAAC,wBAAwB,EAAE,aAAa,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EA8EnC,aAAa,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA/GpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA/BS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,gFAAE,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAuCjD,QAAQ,EAAA,UAAA,EAAA,CAAA;kBA1CpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qCAAqC;AAC/C,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC;AAC3D,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,IAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,SAAS,EAAE,CAAC,wBAAwB,EAAE,aAAa,CAAC;AACpD,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE;AACd;AACJ,iBAAA;8BAM2C,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,QAAQ,EAAA,CAAA;sBAAhB;gBAKQ,MAAM,EAAA,CAAA;sBAAd;gBAKQ,UAAU,EAAA,CAAA;sBAAlB;gBAKQ,IAAI,EAAA,CAAA;sBAAZ;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAKuC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAiB5B,QAAQ,EAAA,CAAA;sBAAjB;gBAMS,OAAO,EAAA,CAAA;sBAAhB;gBAMS,MAAM,EAAA,CAAA;sBAAf;gBAO8C,aAAa,EAAA,CAAA;sBAA3D,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAEb,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa;;MAmPrB,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YA5Td,QAAQ,EAyTG,YAAY,CAAA,EAAA,OAAA,EAAA,CAzTvB,QAAQ,EA0TG,YAAY,CAAA,EAAA,CAAA;AAEvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAAA,OAAA,EAAA,CAHb,QAAQ,EAAE,YAAY,EACZ,YAAY,CAAA,EAAA,CAAA;;2FAEvB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;AACjC,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY;AACnC,iBAAA;;;ACpbD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"primeng-inputotp.mjs","sources":["../../src/inputotp/style/inputotpstyle.ts","../../src/inputotp/inputotp.ts","../../src/inputotp/primeng-inputotp.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\nimport { style } from '@primeuix/styles/inputotp';\n\nconst classes = {\n root: 'p-inputotp p-component',\n pcInputText: 'p-inputotp-input'\n};\n\n@Injectable()\nexport class InputOtpStyle extends BaseStyle {\n name = 'inputotp';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * InputOtp is used to enter one time passwords.\n *\n * [Live Demo](https://www.primeng.org/inputotp/)\n *\n * @module inputotpstyle\n *\n */\n\nexport enum InputOtpClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inputotp',\n /**\n * Class name of the input element\n */\n pcInputText = 'p-inputotp-input'\n}\n\nexport interface InputOtpStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n inject,\n input,\n Input,\n NgModule,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { InputText } from 'primeng/inputtext';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { InputOtpStyle } from './style/inputotpstyle';\n\nexport const INPUT_OTP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputOtp),\n multi: true\n};\n\n/**\n * Input change event.\n * @property {Event} originalEvent - browser event.\n * @property {any} value - updated value.\n * @group Interface\n */\nexport interface InputOtpChangeEvent {\n originalEvent: Event;\n value: any;\n}\n\n/**\n * Context interface for the input template events.\n * @property {(event: Event, index: number) => void} input - input event.\n * @property {(event: Event)} keydown - keydown event.\n * @property {(event: Event)} focus - focus event.\n * @property {(event: Event)} blur - blur event.\n * @property {(event: Event)} paste - paste event.\n * @group Interface\n */\nexport interface InputOtpTemplateEvents {\n input: (event: Event, index: number) => void;\n keydown: (event: Event) => void;\n focus: (event: Event) => void;\n blur: (event: Event) => void;\n paste: (event: Event) => void;\n}\n\n/**\n * Context of the input template.\n * @property {number | string} $implicit - token value.\n * @property {InputOtpTemplateEvents} events - Browser events of the template.\n * @property {number} index - index of the token.\n * @group Interface\n */\nexport interface InputOtpInputTemplateContext {\n $implicit: number | string;\n events: InputOtpTemplateEvents;\n index: number;\n}\n\n/**\n * Input Otp is used to enter one time passwords.\n * @group Components\n */\n@Component({\n selector: 'p-inputOtp, p-inputotp, p-input-otp',\n standalone: true,\n imports: [CommonModule, InputText, AutoFocus, SharedModule],\n template: `\n <ng-container *ngFor=\"let i of getRange(length); trackBy: trackByFn\">\n <ng-container *ngIf=\"!inputTemplate && !_inputTemplate\">\n <input\n type=\"text\"\n pInputText\n [value]=\"getModelValue(i)\"\n [attr.maxlength]=\"i === 1 ? length : 1\"\n [attr.type]=\"inputType\"\n [class]=\"cn(cx('pcInputText'), styleClass)\"\n [pSize]=\"size()\"\n [variant]=\"$variant()\"\n [invalid]=\"invalid()\"\n [attr.name]=\"name()\"\n [attr.tabindex]=\"tabindex\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n (input)=\"onInput($event, i - 1)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onPaste($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"getAutofocus(i)\"\n />\n </ng-container>\n <ng-container *ngIf=\"inputTemplate || _inputTemplate\">\n <ng-container *ngTemplateOutlet=\"inputTemplate || _inputTemplate; context: { $implicit: getToken(i - 1), events: getTemplateEvents(i - 1), index: i }\"> </ng-container>\n </ng-container>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [INPUT_OTP_VALUE_ACCESSOR, InputOtpStyle],\n host: {\n '[class]': \"cx('root')\"\n }\n})\nexport class InputOtp extends BaseEditableHolder implements AfterContentInit {\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | null = null;\n /**\n * Number of characters to initiate.\n * @group Props\n */\n @Input() length: number = 4;\n /**\n * Style class of the input element.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Mask pattern.\n * @group Props\n */\n @Input() mask: boolean = false;\n /**\n * When present, it specifies that an input field is integer-only.\n * @group Props\n */\n @Input() integerOnly: boolean = false;\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 * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<'filled' | 'outlined' | undefined>();\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Callback to invoke on value change.\n * @group Emits\n */\n @Output() onChange: EventEmitter<InputOtpChangeEvent> = new EventEmitter<InputOtpChangeEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter();\n /**\n * Input template.\n * @param {InputOtpInputTemplateContext} context - Context of the template\n * @see {@link InputOtpInputTemplateContext}\n * @group Templates\n */\n @ContentChild('input', { descendants: false }) inputTemplate: TemplateRef<any>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _inputTemplate: TemplateRef<any> | undefined;\n\n tokens: any = [];\n\n value: any;\n\n $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());\n\n get inputMode(): string {\n return this.integerOnly ? 'numeric' : 'text';\n }\n\n get inputType(): string {\n return this.mask ? 'password' : 'text';\n }\n\n _componentStyle = inject(InputOtpStyle);\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'input':\n this._inputTemplate = item.template;\n break;\n default:\n this._inputTemplate = item.template;\n break;\n }\n });\n }\n\n getToken(index) {\n return this.tokens[index];\n }\n\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus.emit(event),\n blur: (event) => this.onBlur.emit(event),\n paste: (event) => this.onPaste(event)\n };\n }\n\n onInput(event, index) {\n const value = event.target.value;\n if (index === 0 && value.length > 1) {\n this.handleOnPaste(value, event);\n event.stopPropagation();\n return;\n }\n this.tokens[index] = value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward') {\n this.moveToNext(event);\n }\n }\n\n updateModel(event: any) {\n const newValue = this.tokens.join('');\n this.writeModelValue(newValue);\n this.onModelChange(newValue);\n\n this.onChange.emit({\n originalEvent: event,\n value: newValue\n });\n }\n\n updateTokens() {\n if (this.value !== null && this.value !== undefined) {\n if (Array.isArray(this.value)) {\n this.tokens = [...this.value];\n } else {\n this.tokens = this.value.toString().split('');\n }\n } else {\n this.tokens = [];\n }\n }\n\n getModelValue(i: number) {\n return this.tokens[i - 1] || '';\n }\n\n getAutofocus(i: number): boolean {\n if (i === 1) {\n return this.autofocus;\n }\n return false;\n }\n\n moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n }\n\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n }\n\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n }\n\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n }\n\n onInputFocus(event) {\n event.target.select();\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.onBlur.emit(event);\n }\n\n onKeyDown(event) {\n if (event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n default:\n if ((this.integerOnly && !(Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n }\n\n onPaste(event) {\n if (!this.$disabled() && !this.readonly) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n this.handleOnPaste(paste, event);\n }\n\n event.preventDefault();\n }\n }\n\n handleOnPaste(paste, event) {\n let pastedCode = paste.substring(0, this.length + 1);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n getRange(n: number): number[] {\n return Array.from({ length: n }, (_, index) => index + 1);\n }\n\n trackByFn(index: number) {\n return index;\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 if (value) {\n if (Array.isArray(value) && value.length > 0) {\n this.value = value.slice(0, this.length);\n } else {\n this.value = value.toString().split('').slice(0, this.length);\n }\n } else {\n this.value = value;\n }\n setModelValue(this.value);\n this.updateTokens();\n this.cd.markForCheck();\n }\n}\n\n@NgModule({\n imports: [InputOtp, SharedModule],\n exports: [InputOtp, SharedModule]\n})\nexport class InputOtpModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA,MAAM,OAAO,GAAG;AACZ,IAAA,IAAI,EAAE,wBAAwB;AAC9B,IAAA,WAAW,EAAE;CAChB;AAGK,MAAO,aAAc,SAAQ,SAAS,CAAA;IACxC,IAAI,GAAG,UAAU;IAEjB,KAAK,GAAG,KAAK;IAEb,OAAO,GAAG,OAAO;uGALR,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAb,aAAa,EAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB;;AASD;;;;;;;;AAQG;IAES;AAAZ,CAAA,UAAY,eAAe,EAAA;AACvB;;AAEG;AACH,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,YAAmB;AACnB;;AAEG;AACH,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,kBAAgC;AACpC,CAAC,EATW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;;ACApB,MAAM,wBAAwB,GAAQ;AACzC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC;AACvC,IAAA,KAAK,EAAE;;AA4CX;;;AAGG;AA2CG,MAAO,QAAS,SAAQ,kBAAkB,CAAA;AAC5C;;;AAGG;AACqC,IAAA,QAAQ;AAChD;;;AAGG;IACM,QAAQ,GAAkB,IAAI;AACvC;;;AAGG;IACM,MAAM,GAAW,CAAC;AAC3B;;;AAGG;AACM,IAAA,UAAU;AACnB;;;AAGG;IACM,IAAI,GAAY,KAAK;AAC9B;;;AAGG;IACM,WAAW,GAAY,KAAK;AACrC;;;AAGG;AACqC,IAAA,SAAS;AACjD;;;;AAIG;IACH,OAAO,GAAG,KAAK,EAAqC;AACpD;;;;AAIG;IACH,IAAI,GAAG,KAAK,EAAiC;AAC7C;;;AAGG;AACO,IAAA,QAAQ,GAAsC,IAAI,YAAY,EAAuB;AAC/F;;;;AAIG;AACO,IAAA,OAAO,GAAwB,IAAI,YAAY,EAAE;AAC3D;;;;AAIG;AACO,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAC1D;;;;;AAKG;AAC4C,IAAA,aAAa;AAE5B,IAAA,SAAS;AAEzC,IAAA,cAAc;IAEd,MAAM,GAAQ,EAAE;AAEhB,IAAA,KAAK;IAEL,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;AAEnG,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,WAAW,GAAG,SAAS,GAAG,MAAM;;AAGhD,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,IAAI,GAAG,UAAU,GAAG,MAAM;;AAG1C,IAAA,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC;IAEvC,kBAAkB,GAAA;QACb,IAAI,CAAC,SAAsC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1D,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,OAAO;AACR,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;oBACnC;AACJ,gBAAA;AACI,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;oBACnC;;AAEZ,SAAC,CAAC;;AAGN,IAAA,QAAQ,CAAC,KAAK,EAAA;AACV,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;;AAG7B,IAAA,iBAAiB,CAAC,KAAK,EAAA;QACnB,OAAO;AACH,YAAA,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;YAC5C,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACzC,YAAA,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1C,YAAA,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACxC,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK;SACvC;;IAGL,OAAO,CAAC,KAAK,EAAE,KAAK,EAAA;AAChB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;QAChC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;YAChC,KAAK,CAAC,eAAe,EAAE;YACvB;;AAEJ,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEvB,QAAA,IAAI,KAAK,CAAC,SAAS,KAAK,uBAAuB,EAAE;AAC7C,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;AACnB,aAAA,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,IAAI,KAAK,CAAC,SAAS,KAAK,sBAAsB,EAAE;AACvF,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;;AAI9B,IAAA,WAAW,CAAC,KAAU,EAAA;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AAC9B,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACf,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,KAAK,EAAE;AACV,SAAA,CAAC;;IAGN,YAAY,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACjD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;;iBAC1B;AACH,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;;;aAE9C;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;;;AAIxB,IAAA,aAAa,CAAC,CAAS,EAAA;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAGnC,IAAA,YAAY,CAAC,CAAS,EAAA;AAClB,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE;YACT,OAAO,IAAI,CAAC,SAAS;;AAEzB,QAAA,OAAO,KAAK;;AAGhB,IAAA,UAAU,CAAC,KAAK,EAAA;QACZ,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAEhD,IAAI,SAAS,EAAE;YACX,SAAS,CAAC,KAAK,EAAE;YACjB,SAAS,CAAC,MAAM,EAAE;;;AAI1B,IAAA,UAAU,CAAC,KAAK,EAAA;QACZ,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAEhD,IAAI,SAAS,EAAE;YACX,SAAS,CAAC,KAAK,EAAE;YACjB,SAAS,CAAC,MAAM,EAAE;;;AAI1B,IAAA,aAAa,CAAC,OAAO,EAAA;AACjB,QAAA,IAAI,WAAW,GAAG,OAAO,CAAC,kBAAkB;AAE5C,QAAA,IAAI,CAAC,WAAW;YAAE;AAElB,QAAA,OAAO,WAAW,CAAC,QAAQ,KAAK,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;;AAG3F,IAAA,aAAa,CAAC,OAAO,EAAA;AACjB,QAAA,IAAI,WAAW,GAAG,OAAO,CAAC,sBAAsB;AAEhD,QAAA,IAAI,CAAC,WAAW;YAAE;AAElB,QAAA,OAAO,WAAW,CAAC,QAAQ,KAAK,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;;AAG3F,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG5B,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG3B,IAAA,SAAS,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;YAChD;;AAGJ,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,CAAC,cAAc,EAAE;gBAEtB;AAEJ,YAAA,KAAK,SAAS;AACd,YAAA,KAAK,WAAW;gBACZ,KAAK,CAAC,cAAc,EAAE;gBAEtB;AAEJ,YAAA,KAAK,WAAW;gBACZ,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;oBACtB,KAAK,CAAC,cAAc,EAAE;;gBAG1B;AAEJ,YAAA,KAAK,YAAY;AACb,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,CAAC,cAAc,EAAE;gBAEtB;AAEJ,YAAA;gBACI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;oBACtJ,KAAK,CAAC,cAAc,EAAE;;gBAG1B;;;AAIZ,IAAA,OAAO,CAAC,KAAK,EAAA;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrC,IAAI,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;AAE/C,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;AACd,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;;YAGpC,KAAK,CAAC,cAAc,EAAE;;;IAI9B,aAAa,CAAC,KAAK,EAAE,KAAK,EAAA;AACtB,QAAA,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YACzC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAClC,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;;AAI/B,IAAA,QAAQ,CAAC,CAAS,EAAA;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC;;AAG7D,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,KAAK;;AAGhB;;;;;AAKG;IACH,iBAAiB,CAAC,KAAU,EAAE,aAAmC,EAAA;QAC7D,IAAI,KAAK,EAAE;AACP,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;;iBACrC;gBACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;;;aAE9D;AACH,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;AAEtB,QAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;uGA9SjB,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKG,gBAAgB,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EA8BhB,gBAAgB,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAxCzB,CAAC,wBAAwB,EAAE,aAAa,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EA8EnC,aAAa,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA/GpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA/BS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,gFAAE,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAuCjD,QAAQ,EAAA,UAAA,EAAA,CAAA;kBA1CpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qCAAqC;AAC/C,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC;AAC3D,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,IAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,SAAS,EAAE,CAAC,wBAAwB,EAAE,aAAa,CAAC;AACpD,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE;AACd;AACJ,iBAAA;8BAM2C,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,QAAQ,EAAA,CAAA;sBAAhB;gBAKQ,MAAM,EAAA,CAAA;sBAAd;gBAKQ,UAAU,EAAA,CAAA;sBAAlB;gBAKQ,IAAI,EAAA,CAAA;sBAAZ;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAKuC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAiB5B,QAAQ,EAAA,CAAA;sBAAjB;gBAMS,OAAO,EAAA,CAAA;sBAAhB;gBAMS,MAAM,EAAA,CAAA;sBAAf;gBAO8C,aAAa,EAAA,CAAA;sBAA3D,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAEb,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa;;MA6OrB,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAtTd,QAAQ,EAmTG,YAAY,CAAA,EAAA,OAAA,EAAA,CAnTvB,QAAQ,EAoTG,YAAY,CAAA,EAAA,CAAA;AAEvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAAA,OAAA,EAAA,CAHb,QAAQ,EAAE,YAAY,EACZ,YAAY,CAAA,EAAA,CAAA;;2FAEvB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;AACjC,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY;AACnC,iBAAA;;;AC9aD;;AAEG;;;;"}
|
@@ -1,22 +1,21 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Injectable, inject, input, booleanAttribute, computed, HostListener, Input, Directive, NgModule } from '@angular/core';
|
3
3
|
import { NgControl } from '@angular/forms';
|
4
|
-
import {
|
4
|
+
import { BaseModelHolder } from 'primeng/basemodelholder';
|
5
5
|
import { Fluid } from 'primeng/fluid';
|
6
|
-
import { css, dt } from '@primeuix/styled';
|
7
6
|
import { style } from '@primeuix/styles/inputtext';
|
8
7
|
import { BaseStyle } from 'primeng/base';
|
9
8
|
|
10
|
-
const theme = css `
|
9
|
+
const theme = /*css*/ `
|
11
10
|
${style}
|
12
11
|
|
13
12
|
/* For PrimeNG */
|
14
13
|
.p-inputtext.ng-invalid.ng-dirty {
|
15
|
-
border-color:
|
14
|
+
border-color: dt('inputtext.invalid.border.color');
|
16
15
|
}
|
17
16
|
|
18
17
|
.p-inputtext.ng-invalid.ng-dirty::placeholder {
|
19
|
-
color:
|
18
|
+
color: dt('inputtext.invalid.placeholder.color');
|
20
19
|
}
|
21
20
|
`;
|
22
21
|
const classes = {
|
@@ -63,7 +62,7 @@ var InputTextClasses;
|
|
63
62
|
* InputText directive is an extension to standard input element with theming.
|
64
63
|
* @group Components
|
65
64
|
*/
|
66
|
-
class InputText extends
|
65
|
+
class InputText extends BaseModelHolder {
|
67
66
|
ngControl = inject(NgControl, { optional: true, self: true });
|
68
67
|
pcFluid = inject(Fluid, { optional: true, host: true, skipSelf: true });
|
69
68
|
/**
|
@@ -83,6 +82,12 @@ class InputText extends BaseEditableHolder {
|
|
83
82
|
* @group Props
|
84
83
|
*/
|
85
84
|
fluid = input(undefined, { transform: booleanAttribute });
|
85
|
+
/**
|
86
|
+
* When present, it specifies that the component should have invalid state style.
|
87
|
+
* @defaultValue false
|
88
|
+
* @group Props
|
89
|
+
*/
|
90
|
+
invalid = input(undefined, { transform: booleanAttribute });
|
86
91
|
$variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());
|
87
92
|
_componentStyle = inject(InputTextStyle);
|
88
93
|
ngAfterViewInit() {
|
@@ -93,14 +98,14 @@ class InputText extends BaseEditableHolder {
|
|
93
98
|
ngDoCheck() {
|
94
99
|
this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value);
|
95
100
|
}
|
96
|
-
onInput(
|
97
|
-
this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value
|
101
|
+
onInput() {
|
102
|
+
this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value);
|
98
103
|
}
|
99
104
|
get hasFluid() {
|
100
105
|
return this.fluid() ?? !!this.pcFluid;
|
101
106
|
}
|
102
107
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: InputText, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
103
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: InputText, isStandalone: true, selector: "[pInputText]", inputs: { pSize: { classPropertyName: "pSize", publicName: "pSize", isSignal: false, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onInput($event)" }, properties: { "class": "cx('root')" } }, providers: [InputTextStyle], usesInheritance: true, ngImport: i0 });
|
108
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: InputText, isStandalone: true, selector: "[pInputText]", inputs: { pSize: { classPropertyName: "pSize", publicName: "pSize", isSignal: false, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onInput($event)" }, properties: { "class": "cx('root')" } }, providers: [InputTextStyle], usesInheritance: true, ngImport: i0 });
|
104
109
|
}
|
105
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: InputText, decorators: [{
|
106
111
|
type: Directive,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-inputtext.mjs","sources":["../../src/inputtext/style/inputtextstyle.ts","../../src/inputtext/inputtext.ts","../../src/inputtext/primeng-inputtext.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {
|
1
|
+
{"version":3,"file":"primeng-inputtext.mjs","sources":["../../src/inputtext/style/inputtextstyle.ts","../../src/inputtext/inputtext.ts","../../src/inputtext/primeng-inputtext.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/inputtext';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${style}\n\n /* For PrimeNG */\n .p-inputtext.ng-invalid.ng-dirty {\n border-color: dt('inputtext.invalid.border.color');\n }\n\n .p-inputtext.ng-invalid.ng-dirty::placeholder {\n color: dt('inputtext.invalid.placeholder.color');\n }\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-inputtext p-component',\n {\n 'p-filled': instance.$filled(),\n 'p-inputtext-sm': instance.pSize === 'small',\n 'p-inputtext-lg': instance.pSize === 'large',\n 'p-invalid': instance.invalid(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-inputtext-fluid': instance.hasFluid\n }\n ]\n};\n\n@Injectable()\nexport class InputTextStyle extends BaseStyle {\n name = 'inputtext';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * InputText renders a text field to enter data.\n *\n * [Live Demo](https://www.primeng.org/inputtext/)\n *\n * @module inputtextstyle\n *\n */\nexport enum InputTextClasses {\n /**\n * The class of root element\n */\n root = 'p-inputtext'\n}\n\nexport interface InputTextStyle extends BaseStyle {}\n","import { AfterViewInit, booleanAttribute, computed, Directive, DoCheck, HostListener, inject, input, Input, NgModule } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { BaseModelHolder } from 'primeng/basemodelholder';\nimport { Fluid } from 'primeng/fluid';\nimport { InputTextStyle } from './style/inputtextstyle';\n\n/**\n * InputText directive is an extension to standard input element with theming.\n * @group Components\n */\n@Directive({\n selector: '[pInputText]',\n standalone: true,\n host: {\n '[class]': \"cx('root')\"\n },\n providers: [InputTextStyle]\n})\nexport class InputText extends BaseModelHolder implements DoCheck, AfterViewInit {\n ngControl = inject(NgControl, { optional: true, self: true });\n\n pcFluid: Fluid = inject(Fluid, { optional: true, host: true, skipSelf: true });\n\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input('pSize') pSize: 'large' | 'small';\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 * When present, it specifies that the component should have invalid state style.\n * @defaultValue false\n * @group Props\n */\n invalid = input(undefined, { transform: booleanAttribute });\n\n $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());\n\n _componentStyle = inject(InputTextStyle);\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value);\n this.cd.detectChanges();\n }\n\n ngDoCheck() {\n this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value);\n }\n\n @HostListener('input', ['$event'])\n onInput() {\n this.writeModelValue(this.ngControl?.value ?? this.el.nativeElement.value);\n }\n\n get hasFluid() {\n return this.fluid() ?? !!this.pcFluid;\n }\n}\n\n@NgModule({\n imports: [InputText],\n exports: [InputText]\n})\nexport class InputTextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -10,7 +10,7 @@ import { style } from '@primeuix/styles/knob';
|
|
10
10
|
import { BaseStyle } from 'primeng/base';
|
11
11
|
|
12
12
|
const classes = {
|
13
|
-
root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance
|
13
|
+
root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance.$disabled() }],
|
14
14
|
range: 'p-knob-range',
|
15
15
|
value: 'p-knob-value',
|
16
16
|
text: 'p-knob-text'
|
@@ -156,14 +156,12 @@ class Knob extends BaseEditableHolder {
|
|
156
156
|
windowMouseUpListener;
|
157
157
|
windowTouchMoveListener;
|
158
158
|
windowTouchEndListener;
|
159
|
-
onModelChange = () => { };
|
160
|
-
onModelTouched = () => { };
|
161
159
|
_componentStyle = inject(KnobStyle);
|
162
160
|
mapRange(x, inMin, inMax, outMin, outMax) {
|
163
161
|
return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;
|
164
162
|
}
|
165
163
|
onClick(event) {
|
166
|
-
if (!this
|
164
|
+
if (!this.$disabled() && !this.readonly) {
|
167
165
|
this.updateValue(event.offsetX, event.offsetY);
|
168
166
|
}
|
169
167
|
}
|
@@ -189,7 +187,7 @@ class Knob extends BaseEditableHolder {
|
|
189
187
|
this.onChange.emit(this.value);
|
190
188
|
}
|
191
189
|
onMouseDown(event) {
|
192
|
-
if (!this
|
190
|
+
if (!this.$disabled() && !this.readonly) {
|
193
191
|
const window = this.document.defaultView || 'window';
|
194
192
|
this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));
|
195
193
|
this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));
|
@@ -197,7 +195,7 @@ class Knob extends BaseEditableHolder {
|
|
197
195
|
}
|
198
196
|
}
|
199
197
|
onMouseUp(event) {
|
200
|
-
if (!this
|
198
|
+
if (!this.$disabled() && !this.readonly) {
|
201
199
|
if (this.windowMouseMoveListener) {
|
202
200
|
this.windowMouseMoveListener();
|
203
201
|
this.windowMouseUpListener = null;
|
@@ -210,7 +208,7 @@ class Knob extends BaseEditableHolder {
|
|
210
208
|
}
|
211
209
|
}
|
212
210
|
onTouchStart(event) {
|
213
|
-
if (!this
|
211
|
+
if (!this.$disabled() && !this.readonly) {
|
214
212
|
const window = this.document.defaultView || 'window';
|
215
213
|
this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));
|
216
214
|
this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));
|
@@ -218,7 +216,7 @@ class Knob extends BaseEditableHolder {
|
|
218
216
|
}
|
219
217
|
}
|
220
218
|
onTouchEnd(event) {
|
221
|
-
if (!this
|
219
|
+
if (!this.$disabled() && !this.readonly) {
|
222
220
|
if (this.windowTouchMoveListener) {
|
223
221
|
this.windowTouchMoveListener();
|
224
222
|
}
|
@@ -231,13 +229,13 @@ class Knob extends BaseEditableHolder {
|
|
231
229
|
}
|
232
230
|
}
|
233
231
|
onMouseMove(event) {
|
234
|
-
if (!this
|
232
|
+
if (!this.$disabled() && !this.readonly) {
|
235
233
|
this.updateValue(event.offsetX, event.offsetY);
|
236
234
|
event.preventDefault();
|
237
235
|
}
|
238
236
|
}
|
239
237
|
onTouchMove(event) {
|
240
|
-
if (!this
|
238
|
+
if (!this.$disabled() && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {
|
241
239
|
const rect = this.el.nativeElement.children[0].getBoundingClientRect();
|
242
240
|
const touch = event.targetTouches.item(0);
|
243
241
|
if (touch) {
|
@@ -259,7 +257,7 @@ class Knob extends BaseEditableHolder {
|
|
259
257
|
this.onChange.emit(this.value);
|
260
258
|
}
|
261
259
|
onKeyDown(event) {
|
262
|
-
if (!this
|
260
|
+
if (!this.$disabled() && !this.readonly) {
|
263
261
|
switch (event.code) {
|
264
262
|
case 'ArrowRight':
|
265
263
|
case 'ArrowUp': {
|
@@ -296,17 +294,6 @@ class Knob extends BaseEditableHolder {
|
|
296
294
|
}
|
297
295
|
}
|
298
296
|
}
|
299
|
-
writeValue(value) {
|
300
|
-
this.value = value;
|
301
|
-
this.writeModelValue(this.value);
|
302
|
-
this.cd.markForCheck();
|
303
|
-
}
|
304
|
-
registerOnChange(fn) {
|
305
|
-
this.onModelChange = fn;
|
306
|
-
}
|
307
|
-
registerOnTouched(fn) {
|
308
|
-
this.onModelTouched = fn;
|
309
|
-
}
|
310
297
|
rangePath() {
|
311
298
|
return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;
|
312
299
|
}
|
@@ -358,6 +345,17 @@ class Knob extends BaseEditableHolder {
|
|
358
345
|
get _value() {
|
359
346
|
return this.value != null ? this.value : this.min;
|
360
347
|
}
|
348
|
+
/**
|
349
|
+
* @override
|
350
|
+
*
|
351
|
+
* @see {@link BaseEditableHolder.writeControlValue}
|
352
|
+
* Writes the value to the control.
|
353
|
+
*/
|
354
|
+
writeControlValue(value, setModelValue) {
|
355
|
+
this.value = value;
|
356
|
+
setModelValue(this.value);
|
357
|
+
this.cd.markForCheck();
|
358
|
+
}
|
361
359
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Knob, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
362
360
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.0.6", type: Knob, isStandalone: true, selector: "p-knob", inputs: { styleClass: "styleClass", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", tabindex: ["tabindex", "tabindex", numberAttribute], valueColor: "valueColor", rangeColor: "rangeColor", textColor: "textColor", valueTemplate: "valueTemplate", size: ["size", "size", numberAttribute], min: ["min", "min", numberAttribute], max: ["max", "max", numberAttribute], step: ["step", "step", numberAttribute], strokeWidth: ["strokeWidth", "strokeWidth", numberAttribute], showValue: ["showValue", "showValue", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute] }, outputs: { onChange: "onChange" }, host: { properties: { "attr.data-pc-name": "'knob'", "attr.data-pc-section": "'root'", "class": "cn(cx('root'), styleClass)" } }, providers: [KNOB_VALUE_ACCESSOR, KnobStyle], usesInheritance: true, ngImport: i0, template: `
|
363
361
|
<svg
|
@@ -377,7 +375,7 @@ class Knob extends BaseEditableHolder {
|
|
377
375
|
[attr.aria-valuenow]="_value"
|
378
376
|
[attr.aria-labelledby]="ariaLabelledBy"
|
379
377
|
[attr.aria-label]="ariaLabel"
|
380
|
-
[attr.tabindex]="readonly || disabled() ? -1 : tabindex"
|
378
|
+
[attr.tabindex]="readonly || $disabled() ? -1 : tabindex"
|
381
379
|
[attr.data-pc-section]="'svg'"
|
382
380
|
>
|
383
381
|
<path [attr.d]="rangePath()" [attr.stroke-width]="strokeWidth" [attr.stroke]="rangeColor" [class]="cx('range')"></path>
|
@@ -412,7 +410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
412
410
|
[attr.aria-valuenow]="_value"
|
413
411
|
[attr.aria-labelledby]="ariaLabelledBy"
|
414
412
|
[attr.aria-label]="ariaLabel"
|
415
|
-
[attr.tabindex]="readonly || disabled() ? -1 : tabindex"
|
413
|
+
[attr.tabindex]="readonly || $disabled() ? -1 : tabindex"
|
416
414
|
[attr.data-pc-section]="'svg'"
|
417
415
|
>
|
418
416
|
<path [attr.d]="rangePath()" [attr.stroke-width]="strokeWidth" [attr.stroke]="rangeColor" [class]="cx('range')"></path>
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-knob.mjs","sources":["../../src/knob/style/knobstyle.ts","../../src/knob/knob.ts","../../src/knob/primeng-knob.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/knob';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance.disabled() }],\n range: 'p-knob-range',\n value: 'p-knob-value',\n text: 'p-knob-text'\n};\n\n@Injectable()\nexport class KnobStyle extends BaseStyle {\n name = 'knob';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * Knob is a form component to define number inputs with a dial.\n *\n * [Live Demo](https://www.primeng.org/knob/)\n *\n * @module knobstyle\n *\n */\nexport enum KnobClasses {\n /**\n * Class name of the root element\n */\n root = 'p-knob',\n /**\n * Class name of the range element\n */\n range = 'p-knob-range',\n /**\n * Class name of the value element\n */\n value = 'p-knob-value',\n /**\n * Class name of the text element\n */\n text = 'p-knob-text'\n}\n\nexport interface KnobStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, forwardRef, inject, Input, NgModule, numberAttribute, Output, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { $dt } from '@primeuix/styled';\nimport { SharedModule } from 'primeng/api';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { KnobStyle } from './style/knobstyle';\n\nexport const KNOB_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Knob),\n multi: true\n};\n/**\n * Knob is a form component to define number inputs with a dial.\n * @group Components\n */\n@Component({\n selector: 'p-knob',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n [style.width]=\"size + 'px'\"\n [style.height]=\"size + 'px'\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchend)=\"onTouchEnd($event)\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.aria-valuenow]=\"_value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"readonly || disabled() ? -1 : tabindex\"\n [attr.data-pc-section]=\"'svg'\"\n >\n <path [attr.d]=\"rangePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"rangeColor\" [class]=\"cx('range')\"></path>\n <path [attr.d]=\"valuePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"valueColor\" [class]=\"cx('value')\"></path>\n <text *ngIf=\"showValue\" [attr.x]=\"50\" [attr.y]=\"57\" text-anchor=\"middle\" [attr.fill]=\"textColor\" [class]=\"cx('text')\" [attr.name]=\"name()\">\n {{ valueToDisplay() }}\n </text>\n </svg>\n `,\n providers: [KNOB_VALUE_ACCESSOR, KnobStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.data-pc-name]': \"'knob'\",\n '[attr.data-pc-section]': \"'root'\",\n '[class]': \"cn(cx('root'), styleClass)\"\n }\n})\nexport class Knob extends BaseEditableHolder {\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 * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * Background of the value.\n * @group Props\n */\n @Input() valueColor: string = $dt('knob.value.background').variable;\n /**\n * Background color of the range.\n * @group Props\n */\n @Input() rangeColor: string = $dt('knob.range.background').variable;\n /**\n * Color of the value text.\n * @group Props\n */\n @Input() textColor: string = $dt('knob.text.color').variable;\n /**\n * Template string of the value.\n * @group Props\n */\n @Input() valueTemplate: string = '{value}';\n /**\n * Size of the component in pixels.\n * @group Props\n */\n @Input({ transform: numberAttribute }) size: number = 100;\n /**\n * Mininum boundary value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) min: number = 0;\n /**\n * Maximum boundary value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) max: number = 100;\n /**\n * Step factor to increment/decrement the value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) step: number = 1;\n /**\n * Width of the knob stroke.\n * @group Props\n */\n @Input({ transform: numberAttribute }) strokeWidth: number = 14;\n /**\n * Whether the show the value inside the knob.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showValue: boolean = true;\n /**\n * When present, it specifies that the component value cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean = false;\n /**\n * Callback to invoke on value change.\n * @param {number} value - New value.\n * @group Emits\n */\n @Output() onChange: EventEmitter<number> = new EventEmitter<number>();\n\n radius: number = 40;\n\n midX: number = 50;\n\n midY: number = 50;\n\n minRadians: number = (4 * Math.PI) / 3;\n\n maxRadians: number = -Math.PI / 3;\n\n value: number = 0;\n\n windowMouseMoveListener: VoidListener;\n\n windowMouseUpListener: VoidListener;\n\n windowTouchMoveListener: VoidListener;\n\n windowTouchEndListener: VoidListener;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n _componentStyle = inject(KnobStyle);\n\n mapRange(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n }\n\n onClick(event: MouseEvent) {\n if (!this.disabled() && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n }\n\n updateValue(offsetX: number, offsetY: number) {\n let dx = offsetX - this.size / 2;\n let dy = this.size / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math.PI / 2 - Math.PI / 6;\n this.updateModel(angle, start);\n }\n\n updateModel(angle: number, start: number) {\n let mappedValue;\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math.PI, this.minRadians, this.maxRadians, this.min, this.max);\n else return;\n\n let newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;\n this.value = newValue;\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (!this.disabled() && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));\n this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));\n event.preventDefault();\n }\n }\n\n onMouseUp(event: MouseEvent) {\n if (!this.disabled() && !this.readonly) {\n if (this.windowMouseMoveListener) {\n this.windowMouseMoveListener();\n this.windowMouseUpListener = null;\n }\n\n if (this.windowMouseUpListener) {\n this.windowMouseUpListener();\n this.windowMouseMoveListener = null;\n }\n event.preventDefault();\n }\n }\n\n onTouchStart(event: TouchEvent) {\n if (!this.disabled() && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));\n this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));\n event.preventDefault();\n }\n }\n\n onTouchEnd(event: TouchEvent) {\n if (!this.disabled() && !this.readonly) {\n if (this.windowTouchMoveListener) {\n this.windowTouchMoveListener();\n }\n if (this.windowTouchEndListener) {\n this.windowTouchEndListener();\n }\n this.windowTouchMoveListener = null;\n this.windowTouchEndListener = null;\n event.preventDefault();\n }\n }\n\n onMouseMove(event: MouseEvent) {\n if (!this.disabled() && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n }\n\n onTouchMove(event: Event) {\n if (!this.disabled() && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {\n const rect = this.el.nativeElement.children[0].getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n if (touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n this.updateValue(offsetX, offsetY);\n }\n }\n }\n\n updateModelValue(newValue) {\n if (newValue > this.max) this.value = this.max;\n else if (newValue < this.min) this.value = this.min;\n else this.value = newValue;\n\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (!this.disabled() && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 1);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 1);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.updateModelValue(this.min);\n\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.updateModelValue(this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 10);\n break;\n }\n }\n }\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.writeModelValue(this.value);\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n rangePath() {\n return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;\n }\n\n valuePath() {\n return `M ${this.zeroX()} ${this.zeroY()} A ${this.radius} ${this.radius} 0 ${this.largeArc()} ${this.sweep()} ${this.valueX()} ${this.valueY()}`;\n }\n\n zeroRadians() {\n if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n valueRadians() {\n return this.mapRange(this._value, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n }\n\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n }\n\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n }\n\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n }\n\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians()) * this.radius;\n }\n\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians()) * this.radius;\n }\n\n valueX() {\n return this.midX + Math.cos(this.valueRadians()) * this.radius;\n }\n\n valueY() {\n return this.midY - Math.sin(this.valueRadians()) * this.radius;\n }\n\n largeArc() {\n return Math.abs(this.zeroRadians() - this.valueRadians()) < Math.PI ? 0 : 1;\n }\n\n sweep() {\n return this.valueRadians() > this.zeroRadians() ? 0 : 1;\n }\n\n valueToDisplay() {\n return this.valueTemplate.replace('{value}', this._value.toString());\n }\n\n get _value(): number {\n return this.value != null ? this.value : this.min;\n }\n}\n\n@NgModule({\n imports: [Knob, SharedModule],\n exports: [Knob, SharedModule]\n})\nexport class KnobModule {}\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-knob.mjs","sources":["../../src/knob/style/knobstyle.ts","../../src/knob/knob.ts","../../src/knob/primeng-knob.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/knob';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-knob p-component', { 'p-disabled': instance.$disabled() }],\n range: 'p-knob-range',\n value: 'p-knob-value',\n text: 'p-knob-text'\n};\n\n@Injectable()\nexport class KnobStyle extends BaseStyle {\n name = 'knob';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * Knob is a form component to define number inputs with a dial.\n *\n * [Live Demo](https://www.primeng.org/knob/)\n *\n * @module knobstyle\n *\n */\nexport enum KnobClasses {\n /**\n * Class name of the root element\n */\n root = 'p-knob',\n /**\n * Class name of the range element\n */\n range = 'p-knob-range',\n /**\n * Class name of the value element\n */\n value = 'p-knob-value',\n /**\n * Class name of the text element\n */\n text = 'p-knob-text'\n}\n\nexport interface KnobStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, forwardRef, inject, Input, NgModule, numberAttribute, Output, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { $dt } from '@primeuix/styled';\nimport { SharedModule } from 'primeng/api';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { KnobStyle } from './style/knobstyle';\n\nexport const KNOB_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Knob),\n multi: true\n};\n/**\n * Knob is a form component to define number inputs with a dial.\n * @group Components\n */\n@Component({\n selector: 'p-knob',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: `\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n [style.width]=\"size + 'px'\"\n [style.height]=\"size + 'px'\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchend)=\"onTouchEnd($event)\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.aria-valuenow]=\"_value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"readonly || $disabled() ? -1 : tabindex\"\n [attr.data-pc-section]=\"'svg'\"\n >\n <path [attr.d]=\"rangePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"rangeColor\" [class]=\"cx('range')\"></path>\n <path [attr.d]=\"valuePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"valueColor\" [class]=\"cx('value')\"></path>\n <text *ngIf=\"showValue\" [attr.x]=\"50\" [attr.y]=\"57\" text-anchor=\"middle\" [attr.fill]=\"textColor\" [class]=\"cx('text')\" [attr.name]=\"name()\">\n {{ valueToDisplay() }}\n </text>\n </svg>\n `,\n providers: [KNOB_VALUE_ACCESSOR, KnobStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.data-pc-name]': \"'knob'\",\n '[attr.data-pc-section]': \"'root'\",\n '[class]': \"cn(cx('root'), styleClass)\"\n }\n})\nexport class Knob extends BaseEditableHolder {\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 * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number = 0;\n /**\n * Background of the value.\n * @group Props\n */\n @Input() valueColor: string = $dt('knob.value.background').variable;\n /**\n * Background color of the range.\n * @group Props\n */\n @Input() rangeColor: string = $dt('knob.range.background').variable;\n /**\n * Color of the value text.\n * @group Props\n */\n @Input() textColor: string = $dt('knob.text.color').variable;\n /**\n * Template string of the value.\n * @group Props\n */\n @Input() valueTemplate: string = '{value}';\n /**\n * Size of the component in pixels.\n * @group Props\n */\n @Input({ transform: numberAttribute }) size: number = 100;\n /**\n * Mininum boundary value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) min: number = 0;\n /**\n * Maximum boundary value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) max: number = 100;\n /**\n * Step factor to increment/decrement the value.\n * @group Props\n */\n @Input({ transform: numberAttribute }) step: number = 1;\n /**\n * Width of the knob stroke.\n * @group Props\n */\n @Input({ transform: numberAttribute }) strokeWidth: number = 14;\n /**\n * Whether the show the value inside the knob.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showValue: boolean = true;\n /**\n * When present, it specifies that the component value cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean = false;\n /**\n * Callback to invoke on value change.\n * @param {number} value - New value.\n * @group Emits\n */\n @Output() onChange: EventEmitter<number> = new EventEmitter<number>();\n\n radius: number = 40;\n\n midX: number = 50;\n\n midY: number = 50;\n\n minRadians: number = (4 * Math.PI) / 3;\n\n maxRadians: number = -Math.PI / 3;\n\n value: number = 0;\n\n windowMouseMoveListener: VoidListener;\n\n windowMouseUpListener: VoidListener;\n\n windowTouchMoveListener: VoidListener;\n\n windowTouchEndListener: VoidListener;\n\n _componentStyle = inject(KnobStyle);\n\n mapRange(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n }\n\n onClick(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n }\n\n updateValue(offsetX: number, offsetY: number) {\n let dx = offsetX - this.size / 2;\n let dy = this.size / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math.PI / 2 - Math.PI / 6;\n this.updateModel(angle, start);\n }\n\n updateModel(angle: number, start: number) {\n let mappedValue;\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math.PI, this.minRadians, this.maxRadians, this.min, this.max);\n else return;\n\n let newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;\n this.value = newValue;\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));\n this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));\n event.preventDefault();\n }\n }\n\n onMouseUp(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly) {\n if (this.windowMouseMoveListener) {\n this.windowMouseMoveListener();\n this.windowMouseUpListener = null;\n }\n\n if (this.windowMouseUpListener) {\n this.windowMouseUpListener();\n this.windowMouseMoveListener = null;\n }\n event.preventDefault();\n }\n }\n\n onTouchStart(event: TouchEvent) {\n if (!this.$disabled() && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));\n this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));\n event.preventDefault();\n }\n }\n\n onTouchEnd(event: TouchEvent) {\n if (!this.$disabled() && !this.readonly) {\n if (this.windowTouchMoveListener) {\n this.windowTouchMoveListener();\n }\n if (this.windowTouchEndListener) {\n this.windowTouchEndListener();\n }\n this.windowTouchMoveListener = null;\n this.windowTouchEndListener = null;\n event.preventDefault();\n }\n }\n\n onMouseMove(event: MouseEvent) {\n if (!this.$disabled() && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n }\n\n onTouchMove(event: Event) {\n if (!this.$disabled() && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {\n const rect = this.el.nativeElement.children[0].getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n if (touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n this.updateValue(offsetX, offsetY);\n }\n }\n }\n\n updateModelValue(newValue) {\n if (newValue > this.max) this.value = this.max;\n else if (newValue < this.min) this.value = this.min;\n else this.value = newValue;\n\n this.writeModelValue(this.value);\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (!this.$disabled() && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 1);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 1);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.updateModelValue(this.min);\n\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.updateModelValue(this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 10);\n break;\n }\n }\n }\n }\n\n rangePath() {\n return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;\n }\n\n valuePath() {\n return `M ${this.zeroX()} ${this.zeroY()} A ${this.radius} ${this.radius} 0 ${this.largeArc()} ${this.sweep()} ${this.valueX()} ${this.valueY()}`;\n }\n\n zeroRadians() {\n if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n valueRadians() {\n return this.mapRange(this._value, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n }\n\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n }\n\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n }\n\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n }\n\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians()) * this.radius;\n }\n\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians()) * this.radius;\n }\n\n valueX() {\n return this.midX + Math.cos(this.valueRadians()) * this.radius;\n }\n\n valueY() {\n return this.midY - Math.sin(this.valueRadians()) * this.radius;\n }\n\n largeArc() {\n return Math.abs(this.zeroRadians() - this.valueRadians()) < Math.PI ? 0 : 1;\n }\n\n sweep() {\n return this.valueRadians() > this.zeroRadians() ? 0 : 1;\n }\n\n valueToDisplay() {\n return this.valueTemplate.replace('{value}', this._value.toString());\n }\n\n get _value(): number {\n return this.value != null ? this.value : this.min;\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(this.value);\n this.cd.markForCheck();\n }\n}\n\n@NgModule({\n imports: [Knob, SharedModule],\n exports: [Knob, SharedModule]\n})\nexport class KnobModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|