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,9 +1,9 @@
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, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChild, NgModule } from '@angular/core';
4
+ import { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ContentChild, ContentChildren, NgModule } from '@angular/core';
5
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import { SharedModule } from 'primeng/api';
6
+ import { PrimeTemplate, SharedModule } from 'primeng/api';
7
7
  import { AutoFocus } from 'primeng/autofocus';
8
8
  import { BaseComponent } from 'primeng/basecomponent';
9
9
  import { InputText } from 'primeng/inputtext';
@@ -92,7 +92,7 @@ function InputOtp_ng_container_0_ng_container_2_Template(rf, ctx) { if (rf & 1)
92
92
  const i_r2 = i0.ɵɵnextContext().$implicit;
93
93
  const ctx_r2 = i0.ɵɵnextContext();
94
94
  i0.ɵɵadvance();
95
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.inputTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction3(2, _c1, ctx_r2.getToken(i_r2 - 1), ctx_r2.getTemplateEvents(i_r2 - 1), i_r2));
95
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.inputTemplate || ctx_r2._inputTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction3(2, _c1, ctx_r2.getToken(i_r2 - 1), ctx_r2.getTemplateEvents(i_r2 - 1), i_r2));
96
96
  } }
97
97
  function InputOtp_ng_container_0_Template(rf, ctx) { if (rf & 1) {
98
98
  i0.ɵɵelementContainerStart(0);
@@ -101,9 +101,9 @@ function InputOtp_ng_container_0_Template(rf, ctx) { if (rf & 1) {
101
101
  } if (rf & 2) {
102
102
  const ctx_r2 = i0.ɵɵnextContext();
103
103
  i0.ɵɵadvance();
104
- i0.ɵɵproperty("ngIf", !ctx_r2.inputTemplate);
104
+ i0.ɵɵproperty("ngIf", !ctx_r2.inputTemplate && !ctx_r2._inputTemplate);
105
105
  i0.ɵɵadvance();
106
- i0.ɵɵproperty("ngIf", ctx_r2.inputTemplate);
106
+ i0.ɵɵproperty("ngIf", ctx_r2.inputTemplate || ctx_r2._inputTemplate);
107
107
  } }
108
108
  const INPUT_OTP_VALUE_ACCESSOR = {
109
109
  provide: NG_VALUE_ACCESSOR,
@@ -194,6 +194,8 @@ class InputOtp extends BaseComponent {
194
194
  * @group Templates
195
195
  */
196
196
  inputTemplate;
197
+ templates;
198
+ _inputTemplate;
197
199
  tokens = [];
198
200
  onModelChange = () => { };
199
201
  onModelTouched = () => { };
@@ -205,6 +207,18 @@ class InputOtp extends BaseComponent {
205
207
  return this.mask ? 'password' : 'text';
206
208
  }
207
209
  _componentStyle = inject(InputOtpStyle);
210
+ ngAfterContentInit() {
211
+ this.templates.forEach((item) => {
212
+ switch (item.getType()) {
213
+ case 'input':
214
+ this._inputTemplate = item.template;
215
+ break;
216
+ default:
217
+ this._inputTemplate = item.template;
218
+ break;
219
+ }
220
+ });
221
+ }
208
222
  getToken(index) {
209
223
  return this.tokens[index];
210
224
  }
@@ -362,10 +376,12 @@ class InputOtp extends BaseComponent {
362
376
  }
363
377
  static ɵfac = /*@__PURE__*/ (() => { let ɵInputOtp_BaseFactory; return function InputOtp_Factory(__ngFactoryType__) { return (ɵInputOtp_BaseFactory || (ɵInputOtp_BaseFactory = i0.ɵɵgetInheritedFactory(InputOtp)))(__ngFactoryType__ || InputOtp); }; })();
364
378
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InputOtp, selectors: [["p-inputOtp"], ["p-inputotp"], ["p-input-otp"]], contentQueries: function InputOtp_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
365
- i0.ɵɵcontentQuery(dirIndex, _c0, 5);
379
+ i0.ɵɵcontentQuery(dirIndex, _c0, 4);
380
+ i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
366
381
  } if (rf & 2) {
367
382
  let _t;
368
383
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputTemplate = _t.first);
384
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
369
385
  } }, hostAttrs: [1, "p-inputotp", "p-component"], inputs: { invalid: "invalid", disabled: "disabled", readonly: "readonly", variant: "variant", tabindex: "tabindex", length: "length", styleClass: "styleClass", mask: "mask", integerOnly: "integerOnly", autofocus: [2, "autofocus", "autofocus", booleanAttribute], size: "size" }, outputs: { onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur" }, features: [i0.ɵɵProvidersFeature([INPUT_OTP_VALUE_ACCESSOR, InputOtpStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 2, consts: [[4, "ngFor", "ngForOf", "ngForTrackBy"], [4, "ngIf"], ["type", "text", "pInputText", "", 1, "p-inputotp-input", 3, "input", "focus", "blur", "paste", "keydown", "value", "maxLength", "type", "pSize", "variant", "readonly", "disabled", "tabindex", "pAutoFocus", "ngClass"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function InputOtp_Template(rf, ctx) { if (rf & 1) {
370
386
  i0.ɵɵtemplate(0, InputOtp_ng_container_0_Template, 3, 2, "ng-container", 0);
371
387
  } if (rf & 2) {
@@ -380,7 +396,7 @@ class InputOtp extends BaseComponent {
380
396
  imports: [CommonModule, InputText, AutoFocus, SharedModule],
381
397
  template: `
382
398
  <ng-container *ngFor="let i of getRange(length); trackBy: trackByFn">
383
- <ng-container *ngIf="!inputTemplate">
399
+ <ng-container *ngIf="!inputTemplate && !_inputTemplate">
384
400
  <input
385
401
  type="text"
386
402
  pInputText
@@ -402,8 +418,8 @@ class InputOtp extends BaseComponent {
402
418
  [ngClass]="styleClass"
403
419
  />
404
420
  </ng-container>
405
- <ng-container *ngIf="inputTemplate">
406
- <ng-container *ngTemplateOutlet="inputTemplate; context: { $implicit: getToken(i - 1), events: getTemplateEvents(i - 1), index: i }"> </ng-container>
421
+ <ng-container *ngIf="inputTemplate || _inputTemplate">
422
+ <ng-container *ngTemplateOutlet="inputTemplate || _inputTemplate; context: { $implicit: getToken(i - 1), events: getTemplateEvents(i - 1), index: i }"> </ng-container>
407
423
  </ng-container>
408
424
  </ng-container>
409
425
  `,
@@ -445,9 +461,12 @@ class InputOtp extends BaseComponent {
445
461
  type: Output
446
462
  }], inputTemplate: [{
447
463
  type: ContentChild,
448
- args: ['input']
464
+ args: ['input', { descendants: false }]
465
+ }], templates: [{
466
+ type: ContentChildren,
467
+ args: [PrimeTemplate]
449
468
  }] }); })();
450
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InputOtp, { className: "InputOtp", filePath: "inputotp.ts", lineNumber: 101 }); })();
469
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InputOtp, { className: "InputOtp", filePath: "inputotp.ts", lineNumber: 102 }); })();
451
470
  class InputOtpModule {
452
471
  static ɵfac = function InputOtpModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InputOtpModule)(); };
453
472
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: InputOtpModule });
@@ -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';\n\nconst theme = ({ dt }) => `\n.p-inputotp {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.p-inputotp-input {\n text-align: center;\n width: 2.5rem;\n}\n\n.p-inputotp-input.p-inputtext-sm {\n text-align: center;\n width: ${dt('inputotp.input.sm.width')};\n}\n\n.p-inputotp-input.p-inputtext-lg {\n text-align: center;\n width: ${dt('inputotp.input.lg.width')};\n}\n`;\n\nconst classes = {\n root: 'p-inputotp p-component',\n pcInput: 'p-inputotp-input'\n};\n\n@Injectable()\nexport class InputOtpStyle extends BaseStyle {\n name = 'inputotp';\n\n theme = theme;\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 pcInput = 'p-inputotp-input'\n}\n\nexport interface InputOtpStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, forwardRef, inject, Input, NgModule, Output, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { InputText } from 'primeng/inputtext';\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\">\n <input\n type=\"text\"\n pInputText\n [value]=\"getModelValue(i)\"\n [maxLength]=\"1\"\n [type]=\"inputType\"\n class=\"p-inputotp-input\"\n [pSize]=\"size\"\n [variant]=\"variant\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [tabindex]=\"tabindex\"\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 [ngClass]=\"styleClass\"\n />\n </ng-container>\n <ng-container *ngIf=\"inputTemplate\">\n <ng-container *ngTemplateOutlet=\"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: 'p-inputotp p-component'\n }\n})\nexport class InputOtp extends BaseComponent implements AfterContentInit {\n /**\n * When present, it specifies that the component should have invalid state style.\n * @group Props\n */\n @Input() invalid: boolean = false;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input() disabled: boolean = false;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input() readonly: boolean = false;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\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 * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\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 /**\n * Input template.\n * @param {InputOtpInputTemplateContext} context - Context of the template\n * @see {@link InputOtpInputTemplateContext}\n * @group Templates\n */\n @ContentChild('input') inputTemplate: TemplateRef<any>;\n\n tokens: any = [];\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n value: any;\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 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 this.tokens[index] = event.target.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.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.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 && !((event.code.startsWith('Digit') || event.code.startsWith('Numpad')) && 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 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 event.preventDefault();\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":"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"}
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';\n\nconst theme = ({ dt }) => `\n.p-inputotp {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n\n.p-inputotp-input {\n text-align: center;\n width: 2.5rem;\n}\n\n.p-inputotp-input.p-inputtext-sm {\n text-align: center;\n width: ${dt('inputotp.input.sm.width')};\n}\n\n.p-inputotp-input.p-inputtext-lg {\n text-align: center;\n width: ${dt('inputotp.input.lg.width')};\n}\n`;\n\nconst classes = {\n root: 'p-inputotp p-component',\n pcInput: 'p-inputotp-input'\n};\n\n@Injectable()\nexport class InputOtpStyle extends BaseStyle {\n name = 'inputotp';\n\n theme = theme;\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 pcInput = 'p-inputotp-input'\n}\n\nexport interface InputOtpStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport { AfterContentInit, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, forwardRef, inject, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { InputText } from 'primeng/inputtext';\nimport { InputOtpStyle } from './style/inputotpstyle';\nimport { Nullable } from 'primeng/ts-helpers';\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 [maxLength]=\"1\"\n [type]=\"inputType\"\n class=\"p-inputotp-input\"\n [pSize]=\"size\"\n [variant]=\"variant\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [tabindex]=\"tabindex\"\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 [ngClass]=\"styleClass\"\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: 'p-inputotp p-component'\n }\n})\nexport class InputOtp extends BaseComponent implements AfterContentInit {\n /**\n * When present, it specifies that the component should have invalid state style.\n * @group Props\n */\n @Input() invalid: boolean = false;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input() disabled: boolean = false;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input() readonly: boolean = false;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\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 * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\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 /**\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 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 this.tokens[index] = event.target.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.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.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 && !((event.code.startsWith('Digit') || event.code.startsWith('Numpad')) && 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 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 event.preventDefault();\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":"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"}