primeng 19.0.0-rc.1 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/accordion/accordion.d.ts +7 -7
  2. package/autocomplete/autocomplete.d.ts +21 -8
  3. package/badge/badge.d.ts +1 -3
  4. package/basecomponent/basecomponent.d.ts +2 -5
  5. package/blockui/blockui.d.ts +10 -5
  6. package/breadcrumb/breadcrumb.d.ts +9 -6
  7. package/button/button.d.ts +10 -4
  8. package/calendar/calendar.d.ts +29 -15
  9. package/card/card.d.ts +12 -5
  10. package/carousel/carousel.d.ts +10 -4
  11. package/cascadeselect/cascadeselect.d.ts +18 -8
  12. package/checkbox/checkbox.d.ts +8 -4
  13. package/chip/chip.d.ts +9 -7
  14. package/config/themeprovider.d.ts +6 -0
  15. package/confirmdialog/confirmdialog.d.ts +15 -5
  16. package/confirmpopup/confirmpopup.d.ts +11 -5
  17. package/contextmenu/contextmenu.d.ts +10 -6
  18. package/datepicker/datepicker.d.ts +25 -11
  19. package/dialog/dialog.d.ts +15 -4
  20. package/divider/divider.d.ts +1 -1
  21. package/dock/dock.d.ts +7 -4
  22. package/drawer/drawer.d.ts +18 -10
  23. package/dropdown/dropdown.d.ts +4 -3
  24. package/dynamicdialog/dynamicdialog.d.ts +3 -2
  25. package/editor/editor.d.ts +7 -3
  26. package/fesm2022/primeng-accordion.mjs +56 -41
  27. package/fesm2022/primeng-accordion.mjs.map +1 -1
  28. package/fesm2022/primeng-autocomplete.mjs +153 -92
  29. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  30. package/fesm2022/primeng-badge.mjs +39 -32
  31. package/fesm2022/primeng-badge.mjs.map +1 -1
  32. package/fesm2022/primeng-basecomponent.mjs +2 -25
  33. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  34. package/fesm2022/primeng-blockui.mjs +38 -18
  35. package/fesm2022/primeng-blockui.mjs.map +1 -1
  36. package/fesm2022/primeng-breadcrumb.mjs +49 -31
  37. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  38. package/fesm2022/primeng-button.mjs +55 -28
  39. package/fesm2022/primeng-button.mjs.map +1 -1
  40. package/fesm2022/primeng-calendar.mjs +199 -136
  41. package/fesm2022/primeng-calendar.mjs.map +1 -1
  42. package/fesm2022/primeng-card.mjs +95 -45
  43. package/fesm2022/primeng-card.mjs.map +1 -1
  44. package/fesm2022/primeng-carousel.mjs +74 -42
  45. package/fesm2022/primeng-carousel.mjs.map +1 -1
  46. package/fesm2022/primeng-cascadeselect.mjs +99 -61
  47. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  48. package/fesm2022/primeng-checkbox.mjs +31 -12
  49. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  50. package/fesm2022/primeng-chip.mjs +117 -96
  51. package/fesm2022/primeng-chip.mjs.map +1 -1
  52. package/fesm2022/primeng-config.mjs +13 -11
  53. package/fesm2022/primeng-config.mjs.map +1 -1
  54. package/fesm2022/primeng-confirmdialog.mjs +104 -60
  55. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  56. package/fesm2022/primeng-confirmpopup.mjs +57 -29
  57. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  58. package/fesm2022/primeng-contextmenu.mjs +52 -21
  59. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  60. package/fesm2022/primeng-datepicker.mjs +199 -158
  61. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  62. package/fesm2022/primeng-dialog.mjs +97 -50
  63. package/fesm2022/primeng-dialog.mjs.map +1 -1
  64. package/fesm2022/primeng-divider.mjs +2 -4
  65. package/fesm2022/primeng-divider.mjs.map +1 -1
  66. package/fesm2022/primeng-dock.mjs +29 -10
  67. package/fesm2022/primeng-dock.mjs.map +1 -1
  68. package/fesm2022/primeng-drawer.mjs +112 -70
  69. package/fesm2022/primeng-drawer.mjs.map +1 -1
  70. package/fesm2022/primeng-dropdown.mjs +14 -6
  71. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  72. package/fesm2022/primeng-dynamicdialog.mjs +25 -21
  73. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  74. package/fesm2022/primeng-editor.mjs +26 -10
  75. package/fesm2022/primeng-editor.mjs.map +1 -1
  76. package/fesm2022/primeng-fieldset.mjs +61 -33
  77. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  78. package/fesm2022/primeng-fileupload.mjs +138 -87
  79. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  80. package/fesm2022/primeng-galleria.mjs +22 -13
  81. package/fesm2022/primeng-galleria.mjs.map +1 -1
  82. package/fesm2022/primeng-image.mjs +113 -66
  83. package/fesm2022/primeng-image.mjs.map +1 -1
  84. package/fesm2022/primeng-imagecompare.mjs +30 -10
  85. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  86. package/fesm2022/primeng-inplace.mjs +51 -26
  87. package/fesm2022/primeng-inplace.mjs.map +1 -1
  88. package/fesm2022/primeng-inputmask.mjs +31 -15
  89. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  90. package/fesm2022/primeng-inputnumber.mjs +54 -45
  91. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  92. package/fesm2022/primeng-inputotp.mjs +30 -11
  93. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  94. package/fesm2022/primeng-listbox.mjs +137 -78
  95. package/fesm2022/primeng-listbox.mjs.map +1 -1
  96. package/fesm2022/primeng-megamenu.mjs +105 -59
  97. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  98. package/fesm2022/primeng-menu.mjs +26 -26
  99. package/fesm2022/primeng-menu.mjs.map +1 -1
  100. package/fesm2022/primeng-menubar.mjs +69 -34
  101. package/fesm2022/primeng-menubar.mjs.map +1 -1
  102. package/fesm2022/primeng-message.mjs +49 -25
  103. package/fesm2022/primeng-message.mjs.map +1 -1
  104. package/fesm2022/primeng-messages.mjs +12 -3
  105. package/fesm2022/primeng-messages.mjs.map +1 -1
  106. package/fesm2022/primeng-metergroup.mjs +62 -30
  107. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  108. package/fesm2022/primeng-multiselect.mjs +246 -155
  109. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  110. package/fesm2022/primeng-orderlist.mjs +123 -68
  111. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  112. package/fesm2022/primeng-organizationchart.mjs +31 -15
  113. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  114. package/fesm2022/primeng-overlay.mjs +26 -6
  115. package/fesm2022/primeng-overlay.mjs.map +1 -1
  116. package/fesm2022/primeng-overlaypanel.mjs +29 -9
  117. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  118. package/fesm2022/primeng-paginator.mjs +92 -60
  119. package/fesm2022/primeng-paginator.mjs.map +1 -1
  120. package/fesm2022/primeng-panel.mjs +159 -98
  121. package/fesm2022/primeng-panel.mjs.map +1 -1
  122. package/fesm2022/primeng-panelmenu.mjs +55 -32
  123. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  124. package/fesm2022/primeng-password.mjs +88 -49
  125. package/fesm2022/primeng-password.mjs.map +1 -1
  126. package/fesm2022/primeng-picklist.mjs +360 -228
  127. package/fesm2022/primeng-picklist.mjs.map +1 -1
  128. package/fesm2022/primeng-popover.mjs +23 -7
  129. package/fesm2022/primeng-popover.mjs.map +1 -1
  130. package/fesm2022/primeng-progressbar.mjs +26 -8
  131. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  132. package/fesm2022/primeng-rating.mjs +44 -20
  133. package/fesm2022/primeng-rating.mjs.map +1 -1
  134. package/fesm2022/primeng-scroller.mjs +47 -37
  135. package/fesm2022/primeng-scroller.mjs.map +1 -1
  136. package/fesm2022/primeng-scrollpanel.mjs +28 -9
  137. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  138. package/fesm2022/primeng-scrolltop.mjs +16 -9
  139. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  140. package/fesm2022/primeng-select.mjs +198 -119
  141. package/fesm2022/primeng-select.mjs.map +1 -1
  142. package/fesm2022/primeng-selectbutton.mjs +25 -9
  143. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  144. package/fesm2022/primeng-sidebar.mjs +81 -58
  145. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  146. package/fesm2022/primeng-speeddial.mjs +54 -29
  147. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  148. package/fesm2022/primeng-splitbutton.mjs +41 -18
  149. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  150. package/fesm2022/primeng-splitter.mjs +4 -4
  151. package/fesm2022/primeng-splitter.mjs.map +1 -1
  152. package/fesm2022/primeng-stepper.mjs +33 -19
  153. package/fesm2022/primeng-stepper.mjs.map +1 -1
  154. package/fesm2022/primeng-table.mjs +115 -103
  155. package/fesm2022/primeng-table.mjs.map +1 -1
  156. package/fesm2022/primeng-tabmenu.mjs +54 -27
  157. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  158. package/fesm2022/primeng-tabs.mjs +27 -19
  159. package/fesm2022/primeng-tabs.mjs.map +1 -1
  160. package/fesm2022/primeng-tabview.mjs +106 -54
  161. package/fesm2022/primeng-tabview.mjs.map +1 -1
  162. package/fesm2022/primeng-tag.mjs +68 -44
  163. package/fesm2022/primeng-tag.mjs.map +1 -1
  164. package/fesm2022/primeng-tieredmenu.mjs +44 -21
  165. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  166. package/fesm2022/primeng-timeline.mjs +40 -16
  167. package/fesm2022/primeng-timeline.mjs.map +1 -1
  168. package/fesm2022/primeng-toast.mjs +30 -7
  169. package/fesm2022/primeng-toast.mjs.map +1 -1
  170. package/fesm2022/primeng-togglebutton.mjs +44 -28
  171. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  172. package/fesm2022/primeng-toggleswitch.mjs +28 -9
  173. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  174. package/fesm2022/primeng-toolbar.mjs +46 -20
  175. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  176. package/fesm2022/primeng-tooltip.mjs +32 -69
  177. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  178. package/fesm2022/primeng-tree.mjs +113 -96
  179. package/fesm2022/primeng-tree.mjs.map +1 -1
  180. package/fesm2022/primeng-treeselect.mjs +154 -85
  181. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  182. package/fesm2022/primeng-treetable.mjs +31 -14
  183. package/fesm2022/primeng-treetable.mjs.map +1 -1
  184. package/fesm2022/primeng-usestyle.mjs +1 -1
  185. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  186. package/fieldset/fieldset.d.ts +12 -6
  187. package/fileupload/fileupload.d.ts +19 -8
  188. package/galleria/galleria.d.ts +3 -2
  189. package/image/image.d.ts +18 -7
  190. package/imagecompare/imagecompare.d.ts +7 -2
  191. package/inplace/inplace.d.ts +12 -6
  192. package/inputmask/inputmask.d.ts +8 -4
  193. package/inputnumber/inputnumber.d.ts +11 -6
  194. package/inputotp/inputotp.d.ts +7 -2
  195. package/listbox/listbox.d.ts +17 -4
  196. package/megamenu/megamenu.d.ts +16 -7
  197. package/menu/menu.d.ts +6 -6
  198. package/menubar/menubar.d.ts +13 -6
  199. package/message/message.d.ts +10 -4
  200. package/messages/messages.d.ts +4 -3
  201. package/metergroup/metergroup.d.ts +11 -3
  202. package/multiselect/multiselect.d.ts +36 -17
  203. package/orderlist/orderlist.d.ts +23 -11
  204. package/organizationchart/organizationchart.d.ts +6 -4
  205. package/overlay/overlay.d.ts +6 -3
  206. package/overlaypanel/overlaypanel.d.ts +6 -3
  207. package/package.json +180 -180
  208. package/paginator/paginator.d.ts +15 -8
  209. package/panel/panel.d.ts +14 -5
  210. package/panelmenu/panelmenu.d.ts +8 -4
  211. package/password/password.d.ts +15 -7
  212. package/picklist/picklist.d.ts +23 -3
  213. package/popover/popover.d.ts +7 -4
  214. package/progressbar/progressbar.d.ts +7 -3
  215. package/rating/rating.d.ts +11 -5
  216. package/scroller/scroller.d.ts +9 -4
  217. package/scrollpanel/scrollpanel.d.ts +7 -3
  218. package/scrolltop/scrolltop.d.ts +7 -4
  219. package/select/select.d.ts +31 -13
  220. package/selectbutton/selectbutton.d.ts +7 -3
  221. package/sidebar/sidebar.d.ts +9 -2
  222. package/speeddial/speeddial.d.ts +9 -4
  223. package/splitbutton/splitbutton.d.ts +9 -5
  224. package/splitter/splitter.d.ts +4 -4
  225. package/stepper/stepper.d.ts +8 -3
  226. package/table/table.d.ts +2 -2
  227. package/tabmenu/tabmenu.d.ts +12 -7
  228. package/tabs/tablist.d.ts +6 -2
  229. package/tabview/tabview.d.ts +16 -7
  230. package/tag/tag.d.ts +8 -9
  231. package/tieredmenu/tieredmenu.d.ts +10 -6
  232. package/timeline/timeline.d.ts +7 -2
  233. package/toast/toast.d.ts +7 -3
  234. package/togglebutton/togglebutton.d.ts +8 -3
  235. package/toggleswitch/toggleswitch.d.ts +6 -2
  236. package/toolbar/toolbar.d.ts +9 -4
  237. package/tooltip/tooltip.d.ts +2 -1
  238. package/tree/tree.d.ts +23 -10
  239. package/treeselect/treeselect.d.ts +26 -12
  240. package/treetable/treetable.d.ts +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-inputmask.mjs","sources":["../../src/inputmask/style/inputmaskstyle.ts","../../src/inputmask/inputmask.ts","../../src/inputmask/primeng-inputmask.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\np-inputmask {\n position: relative;\n}\n\n.p-icon-wrapper {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n cursor: pointer;\n inset-inline-end: ${dt('form.field.padding.x')};\n color: ${dt('form.field.icon.color')};\n}\n\np-inputmask.ng-invalid.ng-dirty > .p-inputtext {\n border-color: ${dt('inputtext.invalid.border.color')};\n}\n\np-inputmask.ng-invalid.ng-dirty > .p-inputtext:enabled:focus {\n border-color: ${dt('inputtext.focus.border.color')};\n}\n\np-inputmask.ng-invalid.ng-dirty > .p-inputtext::placeholder {\n color: ${dt('inputtext.invalid.placeholder.color')};\n}\n`;\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-inputmask': true,\n 'p-filled': instance.variant ? instance.variant === 'filled' : instance.config.inputStyle() === 'filled'\n })\n};\n\n@Injectable()\nexport class InputMaskStyle extends BaseStyle {\n name = 'inputmask';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.\n *\n * [Live Demo](https://www.primeng.org/inputmask/)\n *\n * @module inputmaskstyle\n *\n */\n\nexport enum InputMaskClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inputmask'\n}\n\nexport interface InputMaskStyle extends BaseStyle {}\n","/*\n Port of jQuery MaskedInput by DigitalBush as a Native Angular2 Component in Typescript without jQuery\n https://github.com/digitalBush/jquery.maskedinput/\n\n Copyright (c) 2007-2014 Josh Bush (digitalbush.com)\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation\n files (the \"Software\"), to deal in the Software without\n restriction, including without limitation the rights to use,\n copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the\n Software is furnished to do so, subject to the following\n conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n OTHER DEALINGS IN THE SOFTWARE.\n*/\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, forwardRef, inject, Input, NgModule, numberAttribute, OnInit, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getUserAgent, isClient } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { TimesIcon } from 'primeng/icons';\nimport { InputText } from 'primeng/inputtext';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { Caret } from './inputmask.interface';\nimport { InputMaskStyle } from './style/inputmaskstyle';\n\nexport const INPUTMASK_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputMask),\n multi: true\n};\n/**\n * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.\n * @group Components\n */\n@Component({\n selector: 'p-inputmask, p-inputMask, p-input-mask',\n standalone: true,\n imports: [CommonModule, InputText, AutoFocus, TimesIcon, SharedModule],\n template: `\n <input\n #input\n pInputText\n [class]=\"styleClass\"\n [ngClass]=\"inputClass\"\n [attr.id]=\"inputId\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [ngStyle]=\"style\"\n [attr.placeholder]=\"placeholder\"\n [attr.title]=\"title\"\n [pSize]=\"size\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\n [attr.aria-required]=\"ariaRequired\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.required]=\"required\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onInputKeydown($event)\"\n (keypress)=\"onKeyPress($event)\"\n [variant]=\"variant\"\n [pAutoFocus]=\"autofocus\"\n (input)=\"onInputChange($event)\"\n (paste)=\"handleInputChange($event)\"\n [attr.data-pc-name]=\"'inputmask'\"\n [attr.data-pc-section]=\"'root'\"\n />\n <ng-container *ngIf=\"value != null && filled && showClear && !disabled\">\n <TimesIcon *ngIf=\"!cleariconTemplate\" [styleClass]=\"'p-inputmask-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\n <span *ngIf=\"cleariconTemplate\" class=\"p-inputmask-clear-icon\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\">\n <ng-template *ngTemplateOutlet=\"cleariconTemplate\"></ng-template>\n </span>\n </ng-container>\n `,\n providers: [INPUTMASK_VALUE_ACCESSOR, InputMaskStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class InputMask extends BaseComponent implements OnInit, ControlValueAccessor {\n /**\n * HTML5 input type.\n * @group Props\n */\n @Input() type: string = 'text';\n /**\n * Placeholder character in mask, default is underscore.\n * @group Props\n */\n @Input() slotChar: string = '_';\n /**\n * Clears the incomplete value on blur.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoClear: boolean = true;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Style class of the input field.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Maximum number of character allows in the input field.\n * @group Props\n */\n @Input({ transform: numberAttribute }) maxlength: number | undefined;\n /**\n * Specifies tab order of the element.\n * @group Props\n */\n @Input() tabindex: string | undefined;\n /**\n * Title text of the input text.\n * @group Props\n */\n @Input() title: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to indicate that user input is required on an element before a form can be submitted.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) ariaRequired: boolean | undefined;\n /**\n * When present, it specifies that the element value cannot be altered.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Defines if ngModel sets the raw unmasked value to bound value or the formatted mask value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unmask: boolean | undefined;\n /**\n * Name of the input field.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * Regex pattern for alpha characters\n * @group Props\n */\n @Input() characterPattern: string = '[A-Za-z]';\n /**\n * When present, the input gets a focus automatically on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * When present, the input gets a focus automatically on load.\n * @group Props\n * @deprecated Use autofocus property instead.\n */\n @Input({ transform: booleanAttribute }) set autoFocus(value: boolean | undefined) {\n this.autofocus = value;\n console.log('autoFocus is deprecated. Use autofocus property instead.');\n }\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() autocomplete: string | undefined;\n /**\n * When present, it specifies that whether to clean buffer value from model.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) keepBuffer: boolean = false;\n /**\n * Mask pattern.\n * @group Props\n */\n @Input() get mask(): string | undefined | null {\n return this._mask;\n }\n set mask(val: string | undefined | null) {\n this._mask = val;\n\n this.initMask();\n this.writeValue('');\n this.onModelChange(this.value);\n }\n /**\n * Callback to invoke when the mask is completed.\n * @group Emits\n */\n @Output() onComplete: EventEmitter<any> = new EventEmitter<any>();\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<Event>();\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<Event>();\n /**\n * Callback to invoke on input.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onInput: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on input key press.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onKeydown: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Template of the clear icon.\n * @group Templates\n */\n @ContentChild('clearicon') cleariconTemplate: Nullable<TemplateRef<any>>;\n\n @ViewChild('input', { static: true }) inputViewChild: Nullable<ElementRef>;\n\n value: Nullable<string>;\n\n _mask: Nullable<string>;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n input: Nullable<HTMLInputElement>;\n\n filled: Nullable<boolean>;\n\n defs: Nullable<{ [klass: string]: any }>;\n\n tests: RegExp[] | any;\n\n partialPosition: Nullable<number>;\n\n firstNonMaskPos: Nullable<number>;\n\n lastRequiredNonMaskPos: Nullable<number>;\n\n len: Nullable<number>;\n\n oldVal: Nullable<string>;\n\n buffer: string[] | any;\n\n defaultBuffer: Nullable<string>;\n\n focusText: Nullable<string>;\n\n caretTimeoutId: any;\n\n androidChrome: boolean = true;\n\n focused: Nullable<boolean>;\n\n get inputClass() {\n return this._componentStyle.classes.root({ instance: this });\n }\n\n _componentStyle = inject(InputMaskStyle);\n\n ngOnInit() {\n super.ngOnInit();\n if (isPlatformBrowser(this.platformId)) {\n let ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n }\n\n this.initMask();\n }\n\n initMask() {\n this.tests = [];\n this.partialPosition = (this.mask as string).length;\n this.len = (this.mask as string).length;\n this.firstNonMaskPos = null;\n this.defs = {\n '9': '[0-9]',\n a: this.characterPattern,\n '*': `${this.characterPattern}|[0-9]`\n };\n\n let maskTokens = (this.mask as string).split('');\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n if (c == '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n if (c != '?') {\n if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));\n else this.buffer.push(c);\n }\n }\n this.defaultBuffer = this.buffer.join('');\n }\n\n writeValue(value: any): void {\n this.value = value;\n\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n if (this.value == undefined || this.value == null) this.inputViewChild.nativeElement.value = '';\n else this.inputViewChild.nativeElement.value = this.value;\n\n this.checkVal();\n this.focusText = this.inputViewChild.nativeElement.value;\n this.updateFilledState();\n }\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 setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n caret(first?: number, last?: number): Caret | undefined {\n let range, begin, end;\n\n if (!this.inputViewChild?.nativeElement.offsetParent || this.inputViewChild.nativeElement !== this.inputViewChild.nativeElement.ownerDocument.activeElement) {\n return;\n }\n\n if (typeof first == 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n if (this.inputViewChild.nativeElement.setSelectionRange) {\n this.inputViewChild.nativeElement.setSelectionRange(begin, end);\n } else if (this.inputViewChild.nativeElement['createTextRange']) {\n range = this.inputViewChild.nativeElement['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (this.inputViewChild.nativeElement.setSelectionRange) {\n begin = this.inputViewChild.nativeElement.selectionStart;\n end = this.inputViewChild.nativeElement.selectionEnd;\n } else if ((this.document as any['selection']) && (this.document as any)['selection'].createRange) {\n range = (this.document as any['selection']).createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n }\n\n isCompleted(): boolean {\n let completed: boolean;\n for (let i = this.firstNonMaskPos as number; i <= (this.lastRequiredNonMaskPos as number); i++) {\n if (this.tests[i] && (this.buffer as string[])[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n getPlaceholder(i: number) {\n if (i < this.slotChar.length) {\n return this.slotChar.charAt(i);\n }\n return this.slotChar.charAt(0);\n }\n\n seekNext(pos: number) {\n while (++pos < (this.len as number) && !this.tests[pos]);\n return pos;\n }\n\n seekPrev(pos: number) {\n while (--pos >= 0 && !this.tests[pos]);\n return pos;\n }\n\n shiftL(begin: number, end: number) {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = this.seekNext(end); i < (this.len as number); i++) {\n if (this.tests[i]) {\n if (j < (this.len as number) && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else {\n break;\n }\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos as number, begin));\n }\n\n shiftR(pos: number) {\n let i, c, j, t;\n\n for (i = pos, c = this.getPlaceholder(pos); i < (this.len as number); i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n if (j < (this.len as number) && this.tests[j].test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n }\n\n handleAndroidInput(e: Event) {\n var curVal = this.inputViewChild?.nativeElement.value;\n var pos = this.caret() as Caret;\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // a deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;\n if (pos.begin === 0) {\n while (pos.begin < (this.firstNonMaskPos as number) && !this.tests[pos.begin]) pos.begin++;\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n this.updateModel(e);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n } else {\n this.checkVal(true);\n while (pos.begin < (this.len as number) && !this.tests[pos.begin]) pos.begin++;\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n this.updateModel(e);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n }\n }\n\n onInputBlur(e: Event) {\n this.focused = false;\n this.onModelTouched();\n if (!this.keepBuffer) {\n this.checkVal();\n }\n this.updateFilledState();\n this.onBlur.emit(e);\n\n if (this.inputViewChild?.nativeElement.value != this.focusText || this.inputViewChild?.nativeElement.value != this.value) {\n this.updateModel(e);\n let event = this.document.createEvent('HTMLEvents');\n event.initEvent('change', true, false);\n this.inputViewChild?.nativeElement.dispatchEvent(event);\n }\n }\n\n onInputKeydown(e: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n\n let k = e.which || e.keyCode,\n pos,\n begin,\n end;\n let iPhone;\n if (isPlatformBrowser(this.platformId)) {\n iPhone = /iphone/i.test(getUserAgent());\n }\n this.oldVal = this.inputViewChild?.nativeElement.value;\n\n this.onKeydown.emit(e);\n\n //backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret() as Caret;\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n if (this.keepBuffer) {\n this.shiftL(begin, end - 2);\n } else {\n this.shiftL(begin, end - 1);\n }\n this.updateModel(e);\n this.onInput.emit(e);\n\n e.preventDefault();\n } else if (k === 13) {\n // enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // escape\n (this.inputViewChild as ElementRef).nativeElement.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModel(e);\n\n e.preventDefault();\n }\n }\n\n onKeyPress(e: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n\n var k = e.which || e.keyCode,\n pos = this.caret() as Caret,\n p: number,\n c: string,\n next: number,\n completed!: boolean;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n //Ignore\n return;\n } else if (k && k !== 13) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n if (p < (this.len as number)) {\n c = String.fromCharCode(k);\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (isClient() && /android/i.test(getUserAgent())) {\n let proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n\n if (pos.begin <= (this.lastRequiredNonMaskPos as number)) {\n completed = this.isCompleted();\n }\n\n this.onInput.emit(e);\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n\n this.updateFilledState();\n\n if (completed) {\n this.onComplete.emit();\n }\n }\n\n clearBuffer(start: number, end: number) {\n if (!this.keepBuffer) {\n let i;\n for (i = start; i < end && i < (this.len as number); i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n }\n\n writeBuffer() {\n (this.inputViewChild as ElementRef).nativeElement.value = this.buffer.join('');\n }\n\n checkVal(allow?: boolean): number {\n //try to place characters where they belong\n let test = this.inputViewChild?.nativeElement.value,\n lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < (this.len as number); i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n if (!this.keepBuffer) {\n this.buffer[i] = c;\n }\n lastMatch = i;\n break;\n }\n }\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len as number);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n if (i < (this.partialPosition as number)) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < (this.partialPosition as number)) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.inputViewChild?.nativeElement.value) this.inputViewChild.nativeElement.value = '';\n this.clearBuffer(0, this.len as number);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n (this.inputViewChild as ElementRef).nativeElement.value = this.inputViewChild?.nativeElement.value.substring(0, lastMatch + 1);\n }\n return (this.partialPosition ? i : this.firstNonMaskPos) as number;\n }\n\n onInputFocus(event: Event) {\n if (this.readonly) {\n return;\n }\n\n this.focused = true;\n\n clearTimeout(this.caretTimeoutId);\n let pos: number;\n\n this.focusText = this.inputViewChild?.nativeElement.value;\n\n pos = this.keepBuffer ? this.inputViewChild?.nativeElement.value.length : this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.inputViewChild?.nativeElement !== this.inputViewChild?.nativeElement.ownerDocument.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask?.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n\n this.onFocus.emit(event);\n }\n\n onInputChange(event: Event) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n\n this.onInput.emit(event);\n }\n\n handleInputChange(event: Event) {\n if (this.readonly) {\n return;\n }\n\n setTimeout(() => {\n var pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n }\n\n getUnmaskedValue() {\n let unmaskedBuffer = [];\n for (let i = 0; i < this.buffer.length; i++) {\n let c = this.buffer[i];\n if (this.tests[i] && c != this.getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n }\n\n updateModel(e: Event) {\n const updatedValue = this.unmask ? this.getUnmaskedValue() : (e.target as HTMLInputElement).value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.onModelChange(this.value);\n }\n }\n\n updateFilledState() {\n this.filled = this.inputViewChild?.nativeElement && this.inputViewChild.nativeElement.value != '';\n }\n\n focus() {\n this.inputViewChild?.nativeElement.focus();\n }\n\n clear() {\n (this.inputViewChild as ElementRef).nativeElement.value = '';\n this.value = null;\n this.onModelChange(this.value);\n this.onClear.emit();\n }\n}\n\n@NgModule({\n imports: [InputMask, SharedModule],\n exports: [InputMask, SharedModule]\n})\nexport class InputMaskModule {}\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-inputmask.mjs","sources":["../../src/inputmask/style/inputmaskstyle.ts","../../src/inputmask/inputmask.ts","../../src/inputmask/primeng-inputmask.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\np-inputmask {\n position: relative;\n}\n\n.p-inputmask-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n cursor: pointer;\n inset-inline-end: ${dt('form.field.padding.x')};\n color: ${dt('form.field.icon.color')};\n}\n\np-inputmask.ng-invalid.ng-dirty > .p-inputtext {\n border-color: ${dt('inputtext.invalid.border.color')};\n}\n\np-inputmask.ng-invalid.ng-dirty > .p-inputtext:enabled:focus {\n border-color: ${dt('inputtext.focus.border.color')};\n}\n\np-inputmask.ng-invalid.ng-dirty > .p-inputtext::placeholder {\n color: ${dt('inputtext.invalid.placeholder.color')};\n}\n`;\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-inputmask': true,\n 'p-filled': instance.variant ? instance.variant === 'filled' : instance.config.inputStyle() === 'filled'\n })\n};\n\n@Injectable()\nexport class InputMaskStyle extends BaseStyle {\n name = 'inputmask';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.\n *\n * [Live Demo](https://www.primeng.org/inputmask/)\n *\n * @module inputmaskstyle\n *\n */\n\nexport enum InputMaskClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inputmask'\n}\n\nexport interface InputMaskStyle extends BaseStyle {}\n","/*\n Port of jQuery MaskedInput by DigitalBush as a Native Angular2 Component in Typescript without jQuery\n https://github.com/digitalBush/jquery.maskedinput/\n\n Copyright (c) 2007-2014 Josh Bush (digitalbush.com)\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation\n files (the \"Software\"), to deal in the Software without\n restriction, including without limitation the rights to use,\n copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the\n Software is furnished to do so, subject to the following\n conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n OTHER DEALINGS IN THE SOFTWARE.\n*/\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n NgModule,\n numberAttribute,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getUserAgent, isClient } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { TimesIcon } from 'primeng/icons';\nimport { InputText } from 'primeng/inputtext';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { Caret } from './inputmask.interface';\nimport { InputMaskStyle } from './style/inputmaskstyle';\n\nexport const INPUTMASK_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputMask),\n multi: true\n};\n/**\n * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.\n * @group Components\n */\n@Component({\n selector: 'p-inputmask, p-inputMask, p-input-mask',\n standalone: true,\n imports: [CommonModule, InputText, AutoFocus, TimesIcon, SharedModule],\n template: `\n <input\n #input\n pInputText\n [class]=\"styleClass\"\n [ngClass]=\"inputClass\"\n [attr.id]=\"inputId\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [ngStyle]=\"style\"\n [attr.placeholder]=\"placeholder\"\n [attr.title]=\"title\"\n [pSize]=\"size\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\n [attr.aria-required]=\"ariaRequired\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.required]=\"required\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onInputKeydown($event)\"\n (keypress)=\"onKeyPress($event)\"\n [variant]=\"variant\"\n [pAutoFocus]=\"autofocus\"\n (input)=\"onInputChange($event)\"\n (paste)=\"handleInputChange($event)\"\n [attr.data-pc-name]=\"'inputmask'\"\n [attr.data-pc-section]=\"'root'\"\n />\n <ng-container *ngIf=\"value != null && filled && showClear && !disabled\">\n <TimesIcon *ngIf=\"!clearIconTemplate && !_clearIconTemplate\" [styleClass]=\"'p-inputmask-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\n <span *ngIf=\"clearIconTemplate || _clearIconTemplate\" class=\"p-inputmask-clear-icon\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n `,\n providers: [INPUTMASK_VALUE_ACCESSOR, InputMaskStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class InputMask extends BaseComponent implements OnInit, AfterContentInit, ControlValueAccessor {\n /**\n * HTML5 input type.\n * @group Props\n */\n @Input() type: string = 'text';\n /**\n * Placeholder character in mask, default is underscore.\n * @group Props\n */\n @Input() slotChar: string = '_';\n /**\n * Clears the incomplete value on blur.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoClear: boolean = true;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Style class of the input field.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Maximum number of character allows in the input field.\n * @group Props\n */\n @Input({ transform: numberAttribute }) maxlength: number | undefined;\n /**\n * Specifies tab order of the element.\n * @group Props\n */\n @Input() tabindex: string | undefined;\n /**\n * Title text of the input text.\n * @group Props\n */\n @Input() title: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to indicate that user input is required on an element before a form can be submitted.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) ariaRequired: boolean | undefined;\n /**\n * When present, it specifies that the element value cannot be altered.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Defines if ngModel sets the raw unmasked value to bound value or the formatted mask value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unmask: boolean | undefined;\n /**\n * Name of the input field.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * Regex pattern for alpha characters\n * @group Props\n */\n @Input() characterPattern: string = '[A-Za-z]';\n /**\n * When present, the input gets a focus automatically on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * When present, the input gets a focus automatically on load.\n * @group Props\n * @deprecated Use autofocus property instead.\n */\n @Input({ transform: booleanAttribute }) set autoFocus(value: boolean | undefined) {\n this.autofocus = value;\n console.log('autoFocus is deprecated. Use autofocus property instead.');\n }\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() autocomplete: string | undefined;\n /**\n * When present, it specifies that whether to clean buffer value from model.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) keepBuffer: boolean = false;\n /**\n * Mask pattern.\n * @group Props\n */\n @Input() get mask(): string | undefined | null {\n return this._mask;\n }\n set mask(val: string | undefined | null) {\n this._mask = val;\n\n this.initMask();\n this.writeValue('');\n this.onModelChange(this.value);\n }\n /**\n * Callback to invoke when the mask is completed.\n * @group Emits\n */\n @Output() onComplete: EventEmitter<any> = new EventEmitter<any>();\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<Event>();\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<Event>();\n /**\n * Callback to invoke on input.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onInput: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on input key press.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onKeydown: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Template of the clear icon.\n * @group Templates\n */\n @ContentChild('clearicon', { descendants: false }) clearIconTemplate: Nullable<TemplateRef<any>>;\n\n @ContentChildren(PrimeTemplate) templates!: QueryList<PrimeTemplate>;\n\n @ViewChild('input', { static: true }) inputViewChild: Nullable<ElementRef>;\n\n value: Nullable<string>;\n\n _mask: Nullable<string>;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n input: Nullable<HTMLInputElement>;\n\n filled: Nullable<boolean>;\n\n defs: Nullable<{ [klass: string]: any }>;\n\n tests: RegExp[] | any;\n\n partialPosition: Nullable<number>;\n\n firstNonMaskPos: Nullable<number>;\n\n lastRequiredNonMaskPos: Nullable<number>;\n\n len: Nullable<number>;\n\n oldVal: Nullable<string>;\n\n buffer: string[] | any;\n\n defaultBuffer: Nullable<string>;\n\n focusText: Nullable<string>;\n\n caretTimeoutId: any;\n\n androidChrome: boolean = true;\n\n focused: Nullable<boolean>;\n\n get inputClass() {\n return this._componentStyle.classes.root({ instance: this });\n }\n\n _componentStyle = inject(InputMaskStyle);\n\n ngOnInit() {\n super.ngOnInit();\n if (isPlatformBrowser(this.platformId)) {\n let ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n }\n\n this.initMask();\n }\n\n _clearIconTemplate: TemplateRef<any> | undefined;\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n }\n });\n }\n\n initMask() {\n this.tests = [];\n this.partialPosition = (this.mask as string).length;\n this.len = (this.mask as string).length;\n this.firstNonMaskPos = null;\n this.defs = {\n '9': '[0-9]',\n a: this.characterPattern,\n '*': `${this.characterPattern}|[0-9]`\n };\n\n let maskTokens = (this.mask as string).split('');\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n if (c == '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n if (c != '?') {\n if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));\n else this.buffer.push(c);\n }\n }\n this.defaultBuffer = this.buffer.join('');\n }\n\n writeValue(value: any): void {\n this.value = value;\n\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n if (this.value == undefined || this.value == null) this.inputViewChild.nativeElement.value = '';\n else this.inputViewChild.nativeElement.value = this.value;\n\n this.checkVal();\n this.focusText = this.inputViewChild.nativeElement.value;\n this.updateFilledState();\n }\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 setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n caret(first?: number, last?: number): Caret | undefined {\n let range, begin, end;\n\n if (!this.inputViewChild?.nativeElement.offsetParent || this.inputViewChild.nativeElement !== this.inputViewChild.nativeElement.ownerDocument.activeElement) {\n return;\n }\n\n if (typeof first == 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n if (this.inputViewChild.nativeElement.setSelectionRange) {\n this.inputViewChild.nativeElement.setSelectionRange(begin, end);\n } else if (this.inputViewChild.nativeElement['createTextRange']) {\n range = this.inputViewChild.nativeElement['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (this.inputViewChild.nativeElement.setSelectionRange) {\n begin = this.inputViewChild.nativeElement.selectionStart;\n end = this.inputViewChild.nativeElement.selectionEnd;\n } else if ((this.document as any['selection']) && (this.document as any)['selection'].createRange) {\n range = (this.document as any['selection']).createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n }\n\n isCompleted(): boolean {\n let completed: boolean;\n for (let i = this.firstNonMaskPos as number; i <= (this.lastRequiredNonMaskPos as number); i++) {\n if (this.tests[i] && (this.buffer as string[])[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n getPlaceholder(i: number) {\n if (i < this.slotChar.length) {\n return this.slotChar.charAt(i);\n }\n return this.slotChar.charAt(0);\n }\n\n seekNext(pos: number) {\n while (++pos < (this.len as number) && !this.tests[pos]);\n return pos;\n }\n\n seekPrev(pos: number) {\n while (--pos >= 0 && !this.tests[pos]);\n return pos;\n }\n\n shiftL(begin: number, end: number) {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = this.seekNext(end); i < (this.len as number); i++) {\n if (this.tests[i]) {\n if (j < (this.len as number) && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else {\n break;\n }\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos as number, begin));\n }\n\n shiftR(pos: number) {\n let i, c, j, t;\n\n for (i = pos, c = this.getPlaceholder(pos); i < (this.len as number); i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n if (j < (this.len as number) && this.tests[j].test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n }\n\n handleAndroidInput(e: Event) {\n var curVal = this.inputViewChild?.nativeElement.value;\n var pos = this.caret() as Caret;\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // a deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;\n if (pos.begin === 0) {\n while (pos.begin < (this.firstNonMaskPos as number) && !this.tests[pos.begin]) pos.begin++;\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n this.updateModel(e);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n } else {\n this.checkVal(true);\n while (pos.begin < (this.len as number) && !this.tests[pos.begin]) pos.begin++;\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n this.updateModel(e);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n }\n }\n\n onInputBlur(e: Event) {\n this.focused = false;\n this.onModelTouched();\n if (!this.keepBuffer) {\n this.checkVal();\n }\n this.updateFilledState();\n this.onBlur.emit(e);\n\n if (this.inputViewChild?.nativeElement.value != this.focusText || this.inputViewChild?.nativeElement.value != this.value) {\n this.updateModel(e);\n let event = this.document.createEvent('HTMLEvents');\n event.initEvent('change', true, false);\n this.inputViewChild?.nativeElement.dispatchEvent(event);\n }\n }\n\n onInputKeydown(e: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n\n let k = e.which || e.keyCode,\n pos,\n begin,\n end;\n let iPhone;\n if (isPlatformBrowser(this.platformId)) {\n iPhone = /iphone/i.test(getUserAgent());\n }\n this.oldVal = this.inputViewChild?.nativeElement.value;\n\n this.onKeydown.emit(e);\n\n //backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret() as Caret;\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n if (this.keepBuffer) {\n this.shiftL(begin, end - 2);\n } else {\n this.shiftL(begin, end - 1);\n }\n this.updateModel(e);\n this.onInput.emit(e);\n\n e.preventDefault();\n } else if (k === 13) {\n // enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // escape\n (this.inputViewChild as ElementRef).nativeElement.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModel(e);\n\n e.preventDefault();\n }\n }\n\n onKeyPress(e: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n\n var k = e.which || e.keyCode,\n pos = this.caret() as Caret,\n p: number,\n c: string,\n next: number,\n completed!: boolean;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n //Ignore\n return;\n } else if (k && k !== 13) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n if (p < (this.len as number)) {\n c = String.fromCharCode(k);\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (isClient() && /android/i.test(getUserAgent())) {\n let proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n\n if (pos.begin <= (this.lastRequiredNonMaskPos as number)) {\n completed = this.isCompleted();\n }\n\n this.onInput.emit(e);\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n\n this.updateFilledState();\n\n if (completed) {\n this.onComplete.emit();\n }\n }\n\n clearBuffer(start: number, end: number) {\n if (!this.keepBuffer) {\n let i;\n for (i = start; i < end && i < (this.len as number); i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n }\n\n writeBuffer() {\n (this.inputViewChild as ElementRef).nativeElement.value = this.buffer.join('');\n }\n\n checkVal(allow?: boolean): number {\n //try to place characters where they belong\n let test = this.inputViewChild?.nativeElement.value,\n lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < (this.len as number); i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n if (!this.keepBuffer) {\n this.buffer[i] = c;\n }\n lastMatch = i;\n break;\n }\n }\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len as number);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n if (i < (this.partialPosition as number)) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < (this.partialPosition as number)) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.inputViewChild?.nativeElement.value) this.inputViewChild.nativeElement.value = '';\n this.clearBuffer(0, this.len as number);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n (this.inputViewChild as ElementRef).nativeElement.value = this.inputViewChild?.nativeElement.value.substring(0, lastMatch + 1);\n }\n return (this.partialPosition ? i : this.firstNonMaskPos) as number;\n }\n\n onInputFocus(event: Event) {\n if (this.readonly) {\n return;\n }\n\n this.focused = true;\n\n clearTimeout(this.caretTimeoutId);\n let pos: number;\n\n this.focusText = this.inputViewChild?.nativeElement.value;\n\n pos = this.keepBuffer ? this.inputViewChild?.nativeElement.value.length : this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.inputViewChild?.nativeElement !== this.inputViewChild?.nativeElement.ownerDocument.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask?.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n\n this.onFocus.emit(event);\n }\n\n onInputChange(event: Event) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n\n this.onInput.emit(event);\n }\n\n handleInputChange(event: Event) {\n if (this.readonly) {\n return;\n }\n\n setTimeout(() => {\n var pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n }\n\n getUnmaskedValue() {\n let unmaskedBuffer = [];\n for (let i = 0; i < this.buffer.length; i++) {\n let c = this.buffer[i];\n if (this.tests[i] && c != this.getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n }\n\n updateModel(e: Event) {\n const updatedValue = this.unmask ? this.getUnmaskedValue() : (e.target as HTMLInputElement).value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.onModelChange(this.value);\n }\n }\n\n updateFilledState() {\n this.filled = this.inputViewChild?.nativeElement && this.inputViewChild.nativeElement.value != '';\n }\n\n focus() {\n this.inputViewChild?.nativeElement.focus();\n }\n\n clear() {\n (this.inputViewChild as ElementRef).nativeElement.value = '';\n this.value = null;\n this.onModelChange(this.value);\n this.onClear.emit();\n }\n}\n\n@NgModule({\n imports: [InputMask, SharedModule],\n exports: [InputMask, SharedModule]\n})\nexport class InputMaskModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChild, ViewChild, HostBinding, NgModule } from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChild, ContentChildren, ViewChild, HostBinding, NgModule } from '@angular/core';
5
5
  import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
6
6
  import { getSelection } from '@primeuix/utils';
7
- import { SharedModule } from 'primeng/api';
7
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
8
8
  import { AutoFocus } from 'primeng/autofocus';
9
9
  import { BaseComponent } from 'primeng/basecomponent';
10
10
  import { TimesIcon, AngleUpIcon, AngleDownIcon } from 'primeng/icons';
@@ -249,7 +249,7 @@ var InputNumberClasses;
249
249
  })(InputNumberClasses || (InputNumberClasses = {}));
250
250
 
251
251
  const _c0 = ["clearicon"];
252
- const _c1 = ["icrementbuttonicon"];
252
+ const _c1 = ["incrementbuttonicon"];
253
253
  const _c2 = ["decrementbuttonicon"];
254
254
  const _c3 = ["input"];
255
255
  function InputNumber_ng_container_2_TimesIcon_1_Template(rf, ctx) { if (rf & 1) {
@@ -275,7 +275,7 @@ function InputNumber_ng_container_2_span_2_Template(rf, ctx) { if (rf & 1) {
275
275
  const ctx_r2 = i0.ɵɵnextContext(2);
276
276
  i0.ɵɵattribute("data-pc-section", "clearIcon");
277
277
  i0.ɵɵadvance();
278
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.clearicon);
278
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.clearIconTemplate || ctx_r2._clearIconTemplate);
279
279
  } }
280
280
  function InputNumber_ng_container_2_Template(rf, ctx) { if (rf & 1) {
281
281
  i0.ɵɵelementContainerStart(0);
@@ -284,9 +284,9 @@ function InputNumber_ng_container_2_Template(rf, ctx) { if (rf & 1) {
284
284
  } if (rf & 2) {
285
285
  const ctx_r2 = i0.ɵɵnextContext();
286
286
  i0.ɵɵadvance();
287
- i0.ɵɵproperty("ngIf", !ctx_r2.clearicon);
287
+ i0.ɵɵproperty("ngIf", !ctx_r2.clearIconTemplate && !ctx_r2._clearIconTemplate);
288
288
  i0.ɵɵadvance();
289
- i0.ɵɵproperty("ngIf", ctx_r2.clearicon);
289
+ i0.ɵɵproperty("ngIf", ctx_r2.clearIconTemplate || ctx_r2._clearIconTemplate);
290
290
  } }
291
291
  function InputNumber_span_3_span_2_Template(rf, ctx) { if (rf & 1) {
292
292
  i0.ɵɵelement(0, "span", 13);
@@ -311,9 +311,9 @@ function InputNumber_span_3_ng_container_3_Template(rf, ctx) { if (rf & 1) {
311
311
  } if (rf & 2) {
312
312
  const ctx_r2 = i0.ɵɵnextContext(2);
313
313
  i0.ɵɵadvance();
314
- i0.ɵɵproperty("ngIf", !ctx_r2.incrementbuttonicon);
314
+ i0.ɵɵproperty("ngIf", !ctx_r2.incrementButtonIconTemplate && !ctx_r2._incrementButtonIconTemplate);
315
315
  i0.ɵɵadvance();
316
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.incrementbuttonicon);
316
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.incrementButtonIconTemplate || ctx_r2._incrementButtonIconTemplate);
317
317
  } }
318
318
  function InputNumber_span_3_span_5_Template(rf, ctx) { if (rf & 1) {
319
319
  i0.ɵɵelement(0, "span", 13);
@@ -338,9 +338,9 @@ function InputNumber_span_3_ng_container_6_Template(rf, ctx) { if (rf & 1) {
338
338
  } if (rf & 2) {
339
339
  const ctx_r2 = i0.ɵɵnextContext(2);
340
340
  i0.ɵɵadvance();
341
- i0.ɵɵproperty("ngIf", !ctx_r2.decrementbuttonicon);
341
+ i0.ɵɵproperty("ngIf", !ctx_r2.decrementButtonIconTemplate && !ctx_r2._decrementButtonIconTemplate);
342
342
  i0.ɵɵadvance();
343
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.decrementbuttonicon);
343
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.decrementButtonIconTemplate || ctx_r2._decrementButtonIconTemplate);
344
344
  } }
345
345
  function InputNumber_span_3_Template(rf, ctx) { if (rf & 1) {
346
346
  const _r5 = i0.ɵɵgetCurrentView();
@@ -395,9 +395,9 @@ function InputNumber_button_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {
395
395
  } if (rf & 2) {
396
396
  const ctx_r2 = i0.ɵɵnextContext(2);
397
397
  i0.ɵɵadvance();
398
- i0.ɵɵproperty("ngIf", !ctx_r2.incrementbuttonicon);
398
+ i0.ɵɵproperty("ngIf", !ctx_r2.incrementButtonIconTemplate && !ctx_r2._incrementButtonIconTemplate);
399
399
  i0.ɵɵadvance();
400
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.incrementbuttonicon);
400
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.incrementButtonIconTemplate || ctx_r2._incrementButtonIconTemplate);
401
401
  } }
402
402
  function InputNumber_button_4_Template(rf, ctx) { if (rf & 1) {
403
403
  const _r6 = i0.ɵɵgetCurrentView();
@@ -438,9 +438,9 @@ function InputNumber_button_5_ng_container_2_Template(rf, ctx) { if (rf & 1) {
438
438
  } if (rf & 2) {
439
439
  const ctx_r2 = i0.ɵɵnextContext(2);
440
440
  i0.ɵɵadvance();
441
- i0.ɵɵproperty("ngIf", !ctx_r2.decrementbuttonicon);
441
+ i0.ɵɵproperty("ngIf", !ctx_r2.decrementButtonIconTemplate && !ctx_r2._decrementButtonIconTemplate);
442
442
  i0.ɵɵadvance();
443
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.decrementbuttonicon);
443
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.decrementButtonIconTemplate || ctx_r2._decrementButtonIconTemplate);
444
444
  } }
445
445
  function InputNumber_button_5_Template(rf, ctx) { if (rf & 1) {
446
446
  const _r7 = i0.ɵɵgetCurrentView();
@@ -726,18 +726,22 @@ class InputNumber extends BaseComponent {
726
726
  * Template of the clear icon.
727
727
  * @group Templates
728
728
  */
729
- clearicon;
729
+ clearIconTemplate;
730
730
  /**
731
- * Template of the icrement button icon.
731
+ * Template of the increment button icon.
732
732
  * @group Templates
733
733
  */
734
- incrementbuttonicon;
734
+ incrementButtonIconTemplate;
735
735
  /**
736
736
  * Template of the decrement button icon.
737
737
  * @group Templates
738
738
  */
739
- decrementbuttonicon;
739
+ decrementButtonIconTemplate;
740
+ templates;
740
741
  input;
742
+ _clearIconTemplate;
743
+ _incrementButtonIconTemplate;
744
+ _decrementButtonIconTemplate;
741
745
  value;
742
746
  onModelChange = () => { };
743
747
  onModelTouched = () => { };
@@ -811,13 +815,13 @@ class InputNumber extends BaseComponent {
811
815
  this.templates.forEach((item) => {
812
816
  switch (item.getType()) {
813
817
  case 'clearicon':
814
- this.clearicon = item.template;
818
+ this._clearIconTemplate = item.template;
815
819
  break;
816
820
  case 'incrementbuttonicon':
817
- this.incrementbuttonicon = item.template;
821
+ this._incrementButtonIconTemplate = item.template;
818
822
  break;
819
823
  case 'decrementbuttonicon':
820
- this.decrementbuttonicon = item.template;
824
+ this._decrementButtonIconTemplate = item.template;
821
825
  break;
822
826
  }
823
827
  });
@@ -1652,14 +1656,16 @@ class InputNumber extends BaseComponent {
1652
1656
  }
1653
1657
  static ɵfac = function InputNumber_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InputNumber)(i0.ɵɵdirectiveInject(i0.Injector)); };
1654
1658
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InputNumber, selectors: [["p-inputNumber"], ["p-inputnumber"], ["p-input-number"]], contentQueries: function InputNumber_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
1655
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
1656
- i0.ɵɵcontentQuery(dirIndex, _c1, 5);
1657
- i0.ɵɵcontentQuery(dirIndex, _c2, 5);
1659
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
1660
+ i0.ɵɵcontentQuery(dirIndex, _c1, 4);
1661
+ i0.ɵɵcontentQuery(dirIndex, _c2, 4);
1662
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
1658
1663
  } if (rf & 2) {
1659
1664
  let _t;
1660
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.clearicon = _t.first);
1661
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.incrementbuttonicon = _t.first);
1662
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.decrementbuttonicon = _t.first);
1665
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.clearIconTemplate = _t.first);
1666
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.incrementButtonIconTemplate = _t.first);
1667
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.decrementButtonIconTemplate = _t.first);
1668
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
1663
1669
  } }, viewQuery: function InputNumber_Query(rf, ctx) { if (rf & 1) {
1664
1670
  i0.ɵɵviewQuery(_c3, 5);
1665
1671
  } if (rf & 2) {
@@ -1736,9 +1742,9 @@ class InputNumber extends BaseComponent {
1736
1742
  [fluid]="hasFluid"
1737
1743
  />
1738
1744
  <ng-container *ngIf="buttonLayout != 'vertical' && showClear && value">
1739
- <TimesIcon *ngIf="!clearicon" [ngClass]="'p-inputnumber-clear-icon'" (click)="clear()" [attr.data-pc-section]="'clearIcon'" />
1740
- <span *ngIf="clearicon" (click)="clear()" class="p-inputnumber-clear-icon" [attr.data-pc-section]="'clearIcon'">
1741
- <ng-template *ngTemplateOutlet="clearicon"></ng-template>
1745
+ <TimesIcon *ngIf="!clearIconTemplate && !_clearIconTemplate" [ngClass]="'p-inputnumber-clear-icon'" (click)="clear()" [attr.data-pc-section]="'clearIcon'" />
1746
+ <span *ngIf="clearIconTemplate || _clearIconTemplate" (click)="clear()" class="p-inputnumber-clear-icon" [attr.data-pc-section]="'clearIcon'">
1747
+ <ng-template *ngTemplateOutlet="clearIconTemplate || _clearIconTemplate"></ng-template>
1742
1748
  </span>
1743
1749
  </ng-container>
1744
1750
  <span class="p-inputnumber-button-group" *ngIf="showButtons && buttonLayout === 'stacked'" [attr.data-pc-section]="'buttonGroup'">
@@ -1758,8 +1764,8 @@ class InputNumber extends BaseComponent {
1758
1764
  >
1759
1765
  <span *ngIf="incrementButtonIcon" [ngClass]="incrementButtonIcon" [attr.data-pc-section]="'incrementbuttonicon'"></span>
1760
1766
  <ng-container *ngIf="!incrementButtonIcon">
1761
- <AngleUpIcon *ngIf="!incrementbuttonicon" [attr.data-pc-section]="'incrementbuttonicon'" />
1762
- <ng-template *ngTemplateOutlet="incrementbuttonicon"></ng-template>
1767
+ <AngleUpIcon *ngIf="!incrementButtonIconTemplate && !_incrementButtonIconTemplate" [attr.data-pc-section]="'incrementbuttonicon'" />
1768
+ <ng-template *ngTemplateOutlet="incrementButtonIconTemplate || _incrementButtonIconTemplate"></ng-template>
1763
1769
  </ng-container>
1764
1770
  </button>
1765
1771
 
@@ -1779,8 +1785,8 @@ class InputNumber extends BaseComponent {
1779
1785
  >
1780
1786
  <span *ngIf="decrementButtonIcon" [ngClass]="decrementButtonIcon" [attr.data-pc-section]="'decrementbuttonicon'"></span>
1781
1787
  <ng-container *ngIf="!decrementButtonIcon">
1782
- <AngleDownIcon *ngIf="!decrementbuttonicon" [attr.data-pc-section]="'decrementbuttonicon'" />
1783
- <ng-template *ngTemplateOutlet="decrementbuttonicon"></ng-template>
1788
+ <AngleDownIcon *ngIf="!decrementButtonIconTemplate && !_decrementButtonIconTemplate" [attr.data-pc-section]="'decrementbuttonicon'" />
1789
+ <ng-template *ngTemplateOutlet="decrementButtonIconTemplate || _decrementButtonIconTemplate"></ng-template>
1784
1790
  </ng-container>
1785
1791
  </button>
1786
1792
  </span>
@@ -1801,8 +1807,8 @@ class InputNumber extends BaseComponent {
1801
1807
  >
1802
1808
  <span *ngIf="incrementButtonIcon" [ngClass]="incrementButtonIcon" [attr.data-pc-section]="'incrementbuttonicon'"></span>
1803
1809
  <ng-container *ngIf="!incrementButtonIcon">
1804
- <AngleUpIcon *ngIf="!incrementbuttonicon" [attr.data-pc-section]="'incrementbuttonicon'" />
1805
- <ng-template *ngTemplateOutlet="incrementbuttonicon"></ng-template>
1810
+ <AngleUpIcon *ngIf="!incrementButtonIconTemplate && !_incrementButtonIconTemplate" [attr.data-pc-section]="'incrementbuttonicon'" />
1811
+ <ng-template *ngTemplateOutlet="incrementButtonIconTemplate || _incrementButtonIconTemplate"></ng-template>
1806
1812
  </ng-container>
1807
1813
  </button>
1808
1814
  <button
@@ -1822,8 +1828,8 @@ class InputNumber extends BaseComponent {
1822
1828
  >
1823
1829
  <span *ngIf="decrementButtonIcon" [ngClass]="decrementButtonIcon" [attr.data-pc-section]="'decrementbuttonicon'"></span>
1824
1830
  <ng-container *ngIf="!decrementButtonIcon">
1825
- <AngleDownIcon *ngIf="!decrementbuttonicon" [attr.data-pc-section]="'decrementbuttonicon'" />
1826
- <ng-template *ngTemplateOutlet="decrementbuttonicon"></ng-template>
1831
+ <AngleDownIcon *ngIf="!decrementButtonIconTemplate && !_decrementButtonIconTemplate" [attr.data-pc-section]="'decrementbuttonicon'" />
1832
+ <ng-template *ngTemplateOutlet="decrementButtonIconTemplate || _decrementButtonIconTemplate"></ng-template>
1827
1833
  </ng-container>
1828
1834
  </button>
1829
1835
  `,
@@ -1949,15 +1955,18 @@ class InputNumber extends BaseComponent {
1949
1955
  type: Output
1950
1956
  }], onClear: [{
1951
1957
  type: Output
1952
- }], clearicon: [{
1958
+ }], clearIconTemplate: [{
1953
1959
  type: ContentChild,
1954
- args: ['clearicon']
1955
- }], incrementbuttonicon: [{
1960
+ args: ['clearicon', { descendants: false }]
1961
+ }], incrementButtonIconTemplate: [{
1956
1962
  type: ContentChild,
1957
- args: ['icrementbuttonicon']
1958
- }], decrementbuttonicon: [{
1963
+ args: ['incrementbuttonicon', { descendants: false }]
1964
+ }], decrementButtonIconTemplate: [{
1959
1965
  type: ContentChild,
1960
- args: ['decrementbuttonicon']
1966
+ args: ['decrementbuttonicon', { descendants: false }]
1967
+ }], templates: [{
1968
+ type: ContentChildren,
1969
+ args: [PrimeTemplate]
1961
1970
  }], input: [{
1962
1971
  type: ViewChild,
1963
1972
  args: ['input']
@@ -1965,7 +1974,7 @@ class InputNumber extends BaseComponent {
1965
1974
  type: HostBinding,
1966
1975
  args: ['class']
1967
1976
  }] }); })();
1968
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InputNumber, { className: "InputNumber", filePath: "inputnumber.ts", lineNumber: 192 }); })();
1977
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InputNumber, { className: "InputNumber", filePath: "inputnumber.ts", lineNumber: 193 }); })();
1969
1978
  class InputNumberModule {
1970
1979
  static ɵfac = function InputNumberModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InputNumberModule)(); };
1971
1980
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: InputNumberModule });