primeng 11.1.0-rc.1 → 11.1.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 (215) hide show
  1. package/api/primeng-api.metadata.json +1 -1
  2. package/api/translation.d.ts +1 -0
  3. package/api/translationkeys.d.ts +1 -0
  4. package/autocomplete/primeng-autocomplete.metadata.json +1 -1
  5. package/bundles/primeng-api.umd.js +11 -1
  6. package/bundles/primeng-api.umd.js.map +1 -1
  7. package/bundles/primeng-api.umd.min.js +1 -1
  8. package/bundles/primeng-api.umd.min.js.map +1 -1
  9. package/bundles/primeng-autocomplete.umd.js +10 -1
  10. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  11. package/bundles/primeng-autocomplete.umd.min.js +1 -1
  12. package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
  13. package/bundles/primeng-calendar.umd.js +10 -2
  14. package/bundles/primeng-calendar.umd.js.map +1 -1
  15. package/bundles/primeng-calendar.umd.min.js +1 -1
  16. package/bundles/primeng-calendar.umd.min.js.map +1 -1
  17. package/bundles/primeng-carousel.umd.js +9 -1
  18. package/bundles/primeng-carousel.umd.js.map +1 -1
  19. package/bundles/primeng-carousel.umd.min.js.map +1 -1
  20. package/bundles/primeng-cascadeselect.umd.js +9 -1
  21. package/bundles/primeng-cascadeselect.umd.js.map +1 -1
  22. package/bundles/primeng-cascadeselect.umd.min.js.map +1 -1
  23. package/bundles/primeng-checkbox.umd.js +9 -1
  24. package/bundles/primeng-checkbox.umd.js.map +1 -1
  25. package/bundles/primeng-checkbox.umd.min.js.map +1 -1
  26. package/bundles/primeng-chip.umd.js +3 -3
  27. package/bundles/primeng-chip.umd.js.map +1 -1
  28. package/bundles/primeng-chip.umd.min.js +1 -1
  29. package/bundles/primeng-chip.umd.min.js.map +1 -1
  30. package/bundles/primeng-chips.umd.js +9 -1
  31. package/bundles/primeng-chips.umd.js.map +1 -1
  32. package/bundles/primeng-chips.umd.min.js.map +1 -1
  33. package/bundles/primeng-confirmpopup.umd.js +7 -1
  34. package/bundles/primeng-confirmpopup.umd.js.map +1 -1
  35. package/bundles/primeng-confirmpopup.umd.min.js +1 -1
  36. package/bundles/primeng-confirmpopup.umd.min.js.map +1 -1
  37. package/bundles/primeng-contextmenu.umd.js +9 -1
  38. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  39. package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
  40. package/bundles/primeng-dom.umd.js +9 -1
  41. package/bundles/primeng-dom.umd.js.map +1 -1
  42. package/bundles/primeng-dom.umd.min.js.map +1 -1
  43. package/bundles/primeng-dropdown.umd.js +9 -1
  44. package/bundles/primeng-dropdown.umd.js.map +1 -1
  45. package/bundles/primeng-dropdown.umd.min.js.map +1 -1
  46. package/bundles/primeng-editor.umd.js +4 -3
  47. package/bundles/primeng-editor.umd.js.map +1 -1
  48. package/bundles/primeng-editor.umd.min.js +1 -1
  49. package/bundles/primeng-editor.umd.min.js.map +1 -1
  50. package/bundles/primeng-fileupload.umd.js +10 -2
  51. package/bundles/primeng-fileupload.umd.js.map +1 -1
  52. package/bundles/primeng-fileupload.umd.min.js +1 -1
  53. package/bundles/primeng-fileupload.umd.min.js.map +1 -1
  54. package/bundles/primeng-galleria.umd.js +9 -1
  55. package/bundles/primeng-galleria.umd.js.map +1 -1
  56. package/bundles/primeng-galleria.umd.min.js.map +1 -1
  57. package/bundles/primeng-gmap.umd.js +9 -1
  58. package/bundles/primeng-gmap.umd.js.map +1 -1
  59. package/bundles/primeng-gmap.umd.min.js.map +1 -1
  60. package/bundles/primeng-inputnumber.umd.js +9 -1
  61. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  62. package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
  63. package/bundles/primeng-inputtextarea.umd.js +1 -1
  64. package/bundles/primeng-inputtextarea.umd.js.map +1 -1
  65. package/bundles/primeng-inputtextarea.umd.min.js +1 -1
  66. package/bundles/primeng-inputtextarea.umd.min.js.map +1 -1
  67. package/bundles/primeng-keyfilter.umd.js +9 -1
  68. package/bundles/primeng-keyfilter.umd.js.map +1 -1
  69. package/bundles/primeng-keyfilter.umd.min.js.map +1 -1
  70. package/bundles/primeng-listbox.umd.js +9 -1
  71. package/bundles/primeng-listbox.umd.js.map +1 -1
  72. package/bundles/primeng-listbox.umd.min.js.map +1 -1
  73. package/bundles/primeng-menu.umd.js +9 -1
  74. package/bundles/primeng-menu.umd.js.map +1 -1
  75. package/bundles/primeng-menu.umd.min.js.map +1 -1
  76. package/bundles/primeng-messages.umd.js +10 -1
  77. package/bundles/primeng-messages.umd.js.map +1 -1
  78. package/bundles/primeng-messages.umd.min.js +1 -1
  79. package/bundles/primeng-messages.umd.min.js.map +1 -1
  80. package/bundles/primeng-multiselect.umd.js +14 -3
  81. package/bundles/primeng-multiselect.umd.js.map +1 -1
  82. package/bundles/primeng-multiselect.umd.min.js +1 -1
  83. package/bundles/primeng-multiselect.umd.min.js.map +1 -1
  84. package/bundles/primeng-orderlist.umd.js +9 -1
  85. package/bundles/primeng-orderlist.umd.js.map +1 -1
  86. package/bundles/primeng-orderlist.umd.min.js.map +1 -1
  87. package/bundles/primeng-organizationchart.umd.js +9 -1
  88. package/bundles/primeng-organizationchart.umd.js.map +1 -1
  89. package/bundles/primeng-organizationchart.umd.min.js.map +1 -1
  90. package/bundles/primeng-paginator.umd.js +9 -1
  91. package/bundles/primeng-paginator.umd.js.map +1 -1
  92. package/bundles/primeng-paginator.umd.min.js.map +1 -1
  93. package/bundles/primeng-panelmenu.umd.js +9 -1
  94. package/bundles/primeng-panelmenu.umd.js.map +1 -1
  95. package/bundles/primeng-panelmenu.umd.min.js +1 -1
  96. package/bundles/primeng-panelmenu.umd.min.js.map +1 -1
  97. package/bundles/primeng-selectbutton.umd.js +9 -1
  98. package/bundles/primeng-selectbutton.umd.js.map +1 -1
  99. package/bundles/primeng-selectbutton.umd.min.js.map +1 -1
  100. package/bundles/primeng-splitter.umd.js +9 -1
  101. package/bundles/primeng-splitter.umd.js.map +1 -1
  102. package/bundles/primeng-splitter.umd.min.js.map +1 -1
  103. package/bundles/primeng-table.umd.js +24 -7
  104. package/bundles/primeng-table.umd.js.map +1 -1
  105. package/bundles/primeng-table.umd.min.js +1 -1
  106. package/bundles/primeng-table.umd.min.js.map +1 -1
  107. package/bundles/primeng-tabview.umd.js +15 -3
  108. package/bundles/primeng-tabview.umd.js.map +1 -1
  109. package/bundles/primeng-tabview.umd.min.js +1 -1
  110. package/bundles/primeng-tabview.umd.min.js.map +1 -1
  111. package/bundles/primeng-toast.umd.js +10 -2
  112. package/bundles/primeng-toast.umd.js.map +1 -1
  113. package/bundles/primeng-toast.umd.min.js +1 -1
  114. package/bundles/primeng-toast.umd.min.js.map +1 -1
  115. package/bundles/primeng-tree.umd.js +9 -1
  116. package/bundles/primeng-tree.umd.js.map +1 -1
  117. package/bundles/primeng-tree.umd.min.js.map +1 -1
  118. package/bundles/primeng-treetable.umd.js +12 -4
  119. package/bundles/primeng-treetable.umd.js.map +1 -1
  120. package/bundles/primeng-treetable.umd.min.js +1 -1
  121. package/bundles/primeng-treetable.umd.min.js.map +1 -1
  122. package/calendar/primeng-calendar.metadata.json +1 -1
  123. package/chip/chip.d.ts +1 -1
  124. package/chip/primeng-chip.metadata.json +1 -1
  125. package/confirmpopup/confirmpopup.d.ts +1 -0
  126. package/confirmpopup/primeng-confirmpopup.metadata.json +1 -1
  127. package/editor/primeng-editor.metadata.json +1 -1
  128. package/esm2015/api/primengconfig.js +2 -1
  129. package/esm2015/api/translation.js +1 -1
  130. package/esm2015/api/translationkeys.js +2 -1
  131. package/esm2015/autocomplete/autocomplete.js +2 -1
  132. package/esm2015/calendar/calendar.js +2 -2
  133. package/esm2015/chip/chip.js +4 -4
  134. package/esm2015/confirmpopup/confirmpopup.js +8 -2
  135. package/esm2015/editor/editor.js +5 -4
  136. package/esm2015/fileupload/fileupload.js +3 -3
  137. package/esm2015/inputtextarea/inputtextarea.js +2 -2
  138. package/esm2015/messages/messages.js +2 -1
  139. package/esm2015/multiselect/multiselect.js +6 -3
  140. package/esm2015/table/table.js +12 -7
  141. package/esm2015/tabview/tabview.js +12 -4
  142. package/esm2015/toast/toast.js +2 -2
  143. package/esm2015/treetable/treetable.js +4 -4
  144. package/fesm2015/primeng-api.js +2 -0
  145. package/fesm2015/primeng-api.js.map +1 -1
  146. package/fesm2015/primeng-autocomplete.js +1 -0
  147. package/fesm2015/primeng-autocomplete.js.map +1 -1
  148. package/fesm2015/primeng-calendar.js +1 -1
  149. package/fesm2015/primeng-calendar.js.map +1 -1
  150. package/fesm2015/primeng-chip.js +3 -3
  151. package/fesm2015/primeng-chip.js.map +1 -1
  152. package/fesm2015/primeng-confirmpopup.js +7 -1
  153. package/fesm2015/primeng-confirmpopup.js.map +1 -1
  154. package/fesm2015/primeng-editor.js +4 -3
  155. package/fesm2015/primeng-editor.js.map +1 -1
  156. package/fesm2015/primeng-fileupload.js +2 -2
  157. package/fesm2015/primeng-fileupload.js.map +1 -1
  158. package/fesm2015/primeng-inputtextarea.js +1 -1
  159. package/fesm2015/primeng-inputtextarea.js.map +1 -1
  160. package/fesm2015/primeng-messages.js +1 -0
  161. package/fesm2015/primeng-messages.js.map +1 -1
  162. package/fesm2015/primeng-multiselect.js +5 -2
  163. package/fesm2015/primeng-multiselect.js.map +1 -1
  164. package/fesm2015/primeng-table.js +11 -6
  165. package/fesm2015/primeng-table.js.map +1 -1
  166. package/fesm2015/primeng-tabview.js +11 -3
  167. package/fesm2015/primeng-tabview.js.map +1 -1
  168. package/fesm2015/primeng-toast.js +1 -1
  169. package/fesm2015/primeng-toast.js.map +1 -1
  170. package/fesm2015/primeng-treetable.js +3 -3
  171. package/fesm2015/primeng-treetable.js.map +1 -1
  172. package/fileupload/primeng-fileupload.metadata.json +1 -1
  173. package/messages/primeng-messages.metadata.json +1 -1
  174. package/multiselect/multiselect.d.ts +1 -1
  175. package/multiselect/primeng-multiselect.metadata.json +1 -1
  176. package/package.json +1 -1
  177. package/resources/components/editor/editor.css +4 -0
  178. package/resources/themes/arya-blue/theme.css +58 -11
  179. package/resources/themes/arya-green/theme.css +58 -11
  180. package/resources/themes/arya-orange/theme.css +58 -11
  181. package/resources/themes/arya-purple/theme.css +58 -11
  182. package/resources/themes/bootstrap4-dark-blue/theme.css +58 -11
  183. package/resources/themes/bootstrap4-dark-purple/theme.css +58 -11
  184. package/resources/themes/bootstrap4-light-blue/theme.css +58 -11
  185. package/resources/themes/bootstrap4-light-purple/theme.css +58 -11
  186. package/resources/themes/fluent-light/theme.css +58 -11
  187. package/resources/themes/luna-amber/theme.css +58 -11
  188. package/resources/themes/luna-blue/theme.css +58 -11
  189. package/resources/themes/luna-green/theme.css +58 -11
  190. package/resources/themes/luna-pink/theme.css +58 -11
  191. package/resources/themes/md-dark-deeppurple/theme.css +271 -50
  192. package/resources/themes/md-dark-indigo/theme.css +271 -50
  193. package/resources/themes/md-light-deeppurple/theme.css +278 -57
  194. package/resources/themes/md-light-indigo/theme.css +278 -57
  195. package/resources/themes/mdc-dark-deeppurple/theme.css +285 -64
  196. package/resources/themes/mdc-dark-indigo/theme.css +285 -64
  197. package/resources/themes/mdc-light-deeppurple/theme.css +287 -66
  198. package/resources/themes/mdc-light-indigo/theme.css +287 -66
  199. package/resources/themes/nova/theme.css +58 -11
  200. package/resources/themes/nova-accent/theme.css +58 -11
  201. package/resources/themes/nova-alt/theme.css +58 -11
  202. package/resources/themes/rhea/theme.css +58 -11
  203. package/resources/themes/saga-blue/theme.css +58 -11
  204. package/resources/themes/saga-green/theme.css +58 -11
  205. package/resources/themes/saga-orange/theme.css +58 -11
  206. package/resources/themes/saga-purple/theme.css +58 -11
  207. package/resources/themes/vela-blue/theme.css +58 -11
  208. package/resources/themes/vela-green/theme.css +58 -11
  209. package/resources/themes/vela-orange/theme.css +58 -11
  210. package/resources/themes/vela-purple/theme.css +58 -11
  211. package/table/primeng-table.metadata.json +1 -1
  212. package/table/table.d.ts +1 -0
  213. package/tabview/primeng-tabview.metadata.json +1 -1
  214. package/tabview/tabview.d.ts +3 -1
  215. package/toast/primeng-toast.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/inputnumber/inputnumber.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","INPUTNUMBER_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","InputNumber","multi","el","cd","this","showButtons","format","buttonLayout","incrementButtonIcon","decrementButtonIcon","step","onInput","EventEmitter","onFocus","onBlur","onKeyDown","onModelChange","onModelTouched","groupChar","prefixChar","suffixChar","_modeOption","_useGroupingOption","defineProperty","prototype","_localeOption","localeOption","updateConstructParser","_localeMatcherOption","localeMatcherOption","modeOption","_currencyOption","currencyOption","_currencyDisplayOption","currencyDisplayOption","useGroupingOption","_minFractionDigitsOption","minFractionDigitsOption","_maxFractionDigitsOption","maxFractionDigitsOption","_prefixOption","prefixOption","_suffixOption","suffixOption","ngOnInit","constructParser","initialized","getOptions","localeMatcher","style","mode","currency","currencyDisplay","useGrouping","minimumFractionDigits","minFractionDigits","maximumFractionDigits","maxFractionDigits","numberFormat","Intl","NumberFormat","locale","numerals","arguments","length","concat","__spread","reverse","index","Map","map","d","_numeral","RegExp","join","_decimal","getDecimalExpression","_group","getGroupingExpression","_minusSign","getMinusSignExpression","_currency","getCurrencyExpression","_suffix","getSuffixExpression","_prefix","getPrefixExpression","_index","get","escapeRegExp","text","replace","formatter","trim","charAt","prefix","split","suffix","formatValue","formattedValue","toString","parseValue","filteredText","parsedValue","isNaN","repeat","event","interval","dir","_this","clearTimer","timer","setTimeout","spin","currentValue","input","nativeElement","newValue","validateValue","maxlength","updateInput","updateModel","handleOnInput","onUpButtonMouseDown","focus","preventDefault","onUpButtonMouseUp","onUpButtonMouseLeave","onUpButtonKeyDown","keyCode","onUpButtonKeyUp","onDownButtonMouseDown","onDownButtonMouseUp","onDownButtonMouseLeave","onDownButtonKeyUp","onDownButtonKeyDown","onUserInput","isSpecialChar","target","lastValue","onInputKeyDown","shiftKey","altKey","selectionStart","selectionEnd","inputValue","newValueStr","which","isNumeralChar","setAttribute","deleteChar","decimalCharIndex","search","lastIndex","test","slice","setSelectionRange","updateValue","deleteRange","emit","onInputKeyPress","code","char","String","fromCharCode","isDecimalSign","isMinusSign","insert","onPaste","data","clipboardData","window","getData","filteredData","sign","minusCharIndex","insertText","resolvedOptions","operation","start","end","initCursor","valueLength","onInputClick","resetRegex","valueStr","insertedValueStr","isValueChanged","originalEvent","min","max","currentLength","newLength","startValue","startExpr","sRegex","tExpr","tRegex","prevChar","nextChar","diff","isGroupChar","onInputFocus","focused","onInputBlur","writeValue","markForCheck","registerOnChange","fn","registerOnTouched","setDisabledState","val","disabled","clearInterval","Component","args","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","encapsulation","ViewEncapsulation","None","host","[class.p-inputwrapper-filled]","[class.p-inputwrapper-focus]","ElementRef","ChangeDetectorRef","Input","ViewChild","Output","NgModule","imports","CommonModule","InputTextModule","ButtonModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\nimport {NgModule,Component,ChangeDetectionStrategy, Input, ElementRef, ViewChild, OnInit, EventEmitter, Output, forwardRef, ViewEncapsulation, ChangeDetectorRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {InputTextModule} from 'primeng/inputtext';\nimport { ButtonModule } from 'primeng/button';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const INPUTNUMBER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumber),\n multi: true\n};\n@Component({\n selector: 'p-inputNumber',\n template: `\n <span [ngClass]=\"{'p-inputnumber p-component': true,'p-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',\n 'p-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal', 'p-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical'}\"\n [ngStyle]=\"style\" [class]=\"styleClass\">\n <input #input [ngClass]=\"'p-inputnumber-input'\" [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" pInputText [value]=\"formattedValue()\" [attr.placeholder]=\"placeholder\" [attr.title]=\"title\" [attr.id]=\"inputId\"\n [attr.size]=\"size\" [attr.name]=\"name\" [attr.autocomplete]=\"autocomplete\" [attr.maxlength]=\"maxlength\" [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\" [disabled]=\"disabled\" [attr.required]=\"required\" [attr.aria-valumin]=\"min\" [attr.aria-valuemax]=\"max\"\n (input)=\"onUserInput($event)\" (keydown)=\"onInputKeyDown($event)\" (keypress)=\"onInputKeyPress($event)\" (paste)=\"onPaste($event)\" (click)=\"onInputClick()\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <span class=\"p-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\">\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-up': true}\" [class]=\"incrementButtonClass\" [icon]=\"incrementButtonIcon\" [disabled]=\"disabled\"\n (mousedown)=\"this.onUpButtonMouseDown($event)\" (mouseup)=\"onUpButtonMouseUp()\" (mouseleave)=\"onUpButtonMouseLeave()\" (keydown)=\"onUpButtonKeyDown($event)\" (keyup)=\"onUpButtonKeyUp()\"></button>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-down': true}\" [class]=\"decrementButtonClass\" [icon]=\"decrementButtonIcon\" [disabled]=\"disabled\"\n (mousedown)=\"this.onDownButtonMouseDown($event)\" (mouseup)=\"onDownButtonMouseUp()\" (mouseleave)=\"onDownButtonMouseLeave()\" (keydown)=\"onDownButtonKeyDown($event)\" (keyup)=\"onDownButtonKeyUp()\"></button>\n </span>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-up': true}\" [class]=\"incrementButtonClass\" [icon]=\"incrementButtonIcon\" *ngIf=\"showButtons && buttonLayout !== 'stacked'\" [disabled]=\"disabled\"\n (mousedown)=\"this.onUpButtonMouseDown($event)\" (mouseup)=\"onUpButtonMouseUp()\" (mouseleave)=\"onUpButtonMouseLeave()\" (keydown)=\"onUpButtonKeyDown($event)\" (keyup)=\"onUpButtonKeyUp()\"></button>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-down': true}\" [class]=\"decrementButtonClass\" [icon]=\"decrementButtonIcon\" *ngIf=\"showButtons && buttonLayout !== 'stacked'\" [disabled]=\"disabled\"\n (mousedown)=\"this.onDownButtonMouseDown($event)\" (mouseup)=\"onDownButtonMouseUp()\" (mouseleave)=\"onDownButtonMouseLeave()\" (keydown)=\"onDownButtonKeyDown($event)\" (keyup)=\"onDownButtonKeyUp()\"></button>\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [INPUTNUMBER_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./inputnumber.css'],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused'\n }\n})\nexport class InputNumber implements OnInit,ControlValueAccessor {\n\n @Input() showButtons: boolean = false;\n\n @Input() format: boolean = true;\n\n @Input() buttonLayout: string = \"stacked\";\n\n @Input() disabled: boolean;\n\n @Input() inputId: string;\n\n @Input() styleClass: string;\n\n @Input() style: any;\n\n @Input() placeholder: string;\n\n @Input() size: number;\n\n @Input() maxlength: number;\n\n @Input() tabindex: string;\n\n @Input() title: string;\n\n @Input() ariaLabel: string;\n\n @Input() ariaRequired: boolean;\n\n @Input() name: string;\n\n @Input() required: boolean;\n\n @Input() autocomplete: string;\n\n @Input() min: number;\n\n @Input() max: number;\n\n @Input() incrementButtonClass: string;\n\n @Input() decrementButtonClass: string;\n\n @Input() incrementButtonIcon: string = 'pi pi-angle-up';\n\n @Input() decrementButtonIcon: string = 'pi pi-angle-down';\n\n @Input() step: number = 1;\n\n @Input() inputStyle: any;\n\n @Input() inputStyleClass: string;\n\n @ViewChild('input') input: ElementRef;\n\n @Output() onInput: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onKeyDown: EventEmitter<any> = new EventEmitter();\n\n value: number;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean;\n\n initialized: boolean;\n\n groupChar: string = '';\n\n prefixChar: string = '';\n\n suffixChar: string = '';\n\n isSpecialChar: boolean;\n\n timer: any;\n\n lastValue: string;\n\n _numeral: any;\n\n numberFormat: any;\n\n _decimal: any;\n\n _group: any;\n\n _minusSign: any;\n\n _currency: any;\n\n _prefix: any;\n\n _suffix: any;\n\n _index: any;\n\n _localeOption: string;\n\n _localeMatcherOption: string;\n\n _modeOption: string = \"decimal\";\n\n _currencyOption: string;\n\n _currencyDisplayOption: string;\n\n _useGroupingOption: boolean = true;\n\n _minFractionDigitsOption: number;\n\n _maxFractionDigitsOption: number;\n\n _prefixOption: string;\n\n _suffixOption: string;\n\n @Input() get locale(): string {\n return this._localeOption;\n }\n\n set locale(localeOption: string) {\n this._localeOption = localeOption;\n this.updateConstructParser();\n }\n\n @Input() get localeMatcher(): string {\n return this._localeMatcherOption;\n }\n\n set localeMatcher(localeMatcherOption: string) {\n this._localeMatcherOption = localeMatcherOption;\n this.updateConstructParser();\n }\n\n @Input() get mode(): string {\n return this._modeOption;\n }\n\n set mode(modeOption: string) {\n this._modeOption = modeOption;\n this.updateConstructParser();\n }\n\n @Input() get currency(): string {\n return this._currencyOption;\n }\n\n set currency(currencyOption: string) {\n this._currencyOption = currencyOption;\n this.updateConstructParser();\n }\n\n @Input() get currencyDisplay(): string {\n return this._currencyDisplayOption;\n }\n\n set currencyDisplay(currencyDisplayOption: string) {\n this._currencyDisplayOption = currencyDisplayOption;\n this.updateConstructParser();\n }\n\n @Input() get useGrouping(): boolean {\n return this._useGroupingOption;\n }\n\n set useGrouping(useGroupingOption: boolean) {\n this._useGroupingOption = useGroupingOption;\n this.updateConstructParser();\n }\n\n @Input() get minFractionDigits(): number {\n return this._minFractionDigitsOption;\n }\n\n set minFractionDigits(minFractionDigitsOption: number) {\n this._minFractionDigitsOption = minFractionDigitsOption;\n this.updateConstructParser();\n }\n\n @Input() get maxFractionDigits(): number {\n return this._maxFractionDigitsOption;\n }\n\n set maxFractionDigits(maxFractionDigitsOption: number) {\n this._maxFractionDigitsOption = maxFractionDigitsOption;\n this.updateConstructParser();\n }\n\n @Input() get prefix(): string {\n return this._prefixOption;\n }\n\n set prefix(prefixOption: string) {\n this._prefixOption = prefixOption;\n this.updateConstructParser();\n }\n\n @Input() get suffix(): string {\n return this._suffixOption;\n }\n\n set suffix(suffixOption: string) {\n this._suffixOption = suffixOption;\n this.updateConstructParser();\n }\n\n constructor(public el: ElementRef, private cd: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.constructParser();\n\n this.initialized = true;\n }\n\n getOptions() {\n return {\n localeMatcher: this.localeMatcher,\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits,\n maximumFractionDigits: this.maxFractionDigits\n };\n }\n\n constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions());\n const numerals = [...new Intl.NumberFormat(this.locale, {useGrouping: false}).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [d, i]));\n this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');\n this._decimal = this.getDecimalExpression();\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n this._index = d => index.get(d);\n }\n\n updateConstructParser() {\n if (this.initialized) {\n this.constructParser();\n }\n }\n\n escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n getDecimalExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});\n return new RegExp(`[${formatter.format(1.1).trim().replace(this._numeral, '')}]`, 'g');\n }\n\n getGroupingExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: true});\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(`[${this.groupChar}]`, 'g');\n }\n\n getMinusSignExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});\n return new RegExp(`[${formatter.format(-1).trim().replace(this._numeral, '')}]`, 'g');\n }\n\n getCurrencyExpression() {\n if (this.currency) {\n const formatter = new Intl.NumberFormat(this.locale, {style: 'currency', currency: this.currency, currencyDisplay: this.currencyDisplay});\n return new RegExp(`[${formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._decimal, '').replace(this._group, '')}]`, 'g');\n }\n\n return new RegExp(`[]`,'g');\n }\n\n getPrefixExpression() {\n if (this.prefix) {\n this.prefixChar = this.prefix;\n }\n else {\n const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay});\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n\n return new RegExp(`${this.escapeRegExp(this.prefixChar||'')}`, 'g');\n }\n\n getSuffixExpression() {\n if (this.suffix) {\n this.suffixChar = this.suffix;\n }\n else {\n const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0, maximumFractionDigits: 0});\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n\n return new RegExp(`${this.escapeRegExp(this.suffixChar||'')}`, 'g');\n }\n\n formatValue(value) {\n if (value != null) {\n if (value === '-') { // Minus sign\n return value;\n }\n\n if (this.format) {\n let formatter = new Intl.NumberFormat(this.locale, this.getOptions());\n let formattedValue = formatter.format(value);\n if (this.prefix) {\n formattedValue = this.prefix + formattedValue;\n }\n\n if (this.suffix) {\n formattedValue = formattedValue + this.suffix;\n }\n\n return formattedValue;\n }\n\n return value.toString();\n }\n\n return '';\n }\n\n parseValue(text) {\n let filteredText = text\n .replace(this._suffix, '')\n .replace(this._prefix, '')\n .trim()\n .replace(/\\s/g, '')\n .replace(this._currency, '')\n .replace(this._group, '')\n .replace(this._minusSign, '-')\n .replace(this._decimal, '.')\n .replace(this._numeral, this._index);\n\n if (filteredText) {\n if (filteredText === '-') // Minus sign\n return filteredText;\n\n let parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n\n return null;\n }\n\n repeat(event, interval, dir) {\n let i = interval || 500;\n\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(event, 40, dir);\n }, i);\n\n this.spin(event, dir);\n }\n\n spin(event, dir) {\n let step = this.step * dir;\n let currentValue = this.parseValue(this.input.nativeElement.value) || 0;\n let newValue = this.validateValue(currentValue + step);\n if (this.maxlength && this.maxlength < this.formatValue(newValue).length) {\n return;\n }\n\n this.updateInput(newValue, null, 'spin');\n this.updateModel(event, newValue);\n\n this.handleOnInput(event, currentValue, newValue);\n }\n\n onUpButtonMouseDown(event) {\n this.input.nativeElement.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n\n onUpButtonMouseUp() {\n this.clearTimer();\n }\n\n onUpButtonMouseLeave() {\n this.clearTimer();\n }\n\n onUpButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, 1);\n }\n }\n\n onUpButtonKeyUp() {\n this.clearTimer();\n }\n\n onDownButtonMouseDown(event) {\n this.input.nativeElement.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n\n onDownButtonMouseUp() {\n this.clearTimer();\n }\n\n onDownButtonMouseLeave() {\n this.clearTimer();\n }\n\n onDownButtonKeyUp() {\n this.clearTimer();\n }\n\n onDownButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, -1);\n }\n }\n\n onUserInput(event) {\n if (this.isSpecialChar) {\n event.target.value = this.lastValue;\n }\n this.isSpecialChar = false;\n }\n\n onInputKeyDown(event) {\n this.lastValue = event.target.value;\n if (event.shiftKey || event.altKey) {\n this.isSpecialChar = true;\n return;\n }\n\n let selectionStart = event.target.selectionStart;\n let selectionEnd = event.target.selectionEnd;\n let inputValue = event.target.value;\n let newValueStr = null;\n\n if (event.altKey) {\n event.preventDefault();\n }\n\n switch (event.which) {\n //up\n case 38:\n this.spin(event, 1);\n event.preventDefault();\n break;\n\n //down\n case 40:\n this.spin(event, -1);\n event.preventDefault();\n break;\n\n //left\n case 37:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {\n event.preventDefault();\n }\n break;\n\n //right\n case 39:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {\n event.preventDefault();\n }\n break;\n\n //enter\n case 13:\n let newValue = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n break;\n\n //backspace\n case 8: {\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n let deleteChar = inputValue.charAt(selectionStart - 1);\n let decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n\n if (this.isNumeralChar(deleteChar)) {\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n }\n else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionStart - 1, selectionStart - 1);\n }\n else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n }\n else if (decimalCharIndex > 0 && decimalCharIndex === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n }\n else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-single');\n }\n else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n\n break;\n }\n\n // del\n case 46:\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n let deleteChar = inputValue.charAt(selectionStart);\n let decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n\n if (this.isNumeralChar(deleteChar)) {\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n }\n else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionStart + 1, selectionStart + 1);\n }\n else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n }\n else if (decimalCharIndex > 0 && decimalCharIndex === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n }\n else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n }\n else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n\n default:\n break;\n }\n\n this.onKeyDown.emit(event);\n }\n\n onInputKeyPress(event) {\n event.preventDefault();\n let code = event.which || event.keyCode;\n let char = String.fromCharCode(code);\n const isDecimalSign = this.isDecimalSign(char);\n const isMinusSign = this.isMinusSign(char);\n\n if ((48 <= code && code <= 57) || isMinusSign || isDecimalSign) {\n this.insert(event, char, { isDecimalSign, isMinusSign });\n }\n }\n\n onPaste(event) {\n event.preventDefault();\n let data = (event.clipboardData || window['clipboardData']).getData('Text');\n if (data) {\n let filteredData = this.parseValue(data);\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n }\n\n isMinusSign(char) {\n if (this._minusSign.test(char)) {\n this._minusSign.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n\n isDecimalSign(char) {\n if (this._decimal.test(char)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n\n insert(event, text, sign = { isDecimalSign: false, isMinusSign: false }) {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n let inputValue = this.input.nativeElement.value.trim();\n const decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n const minusCharIndex = inputValue.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n let newValueStr;\n\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n\n this.updateValue(event, newValueStr, text, 'insert');\n }\n }\n else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n }\n else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n }\n else {\n const maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n const operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if ((selectionStart + text.length - (decimalCharIndex + 1)) <= maxFractionDigits) {\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n }\n\n insertText(value, text, start, end) {\n let textSplit = text.split('.');\n\n if (textSplit.length == 2) {\n const decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return (decimalCharIndex > 0) ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : (value || this.formatValue(text));\n }\n else if ((end - start) === value.length) {\n return this.formatValue(text);\n }\n else if (start === 0) {\n return text + value.slice(end);\n }\n else if (end === value.length) {\n return value.slice(0, start) + text;\n }\n else {\n return value.slice(0, start) + text + value.slice(end);\n }\n }\n\n deleteRange(value, start, end) {\n let newValueStr;\n\n if ((end - start) === value.length)\n newValueStr = '';\n else if (start === 0)\n newValueStr = value.slice(end);\n else if (end === value.length)\n newValueStr = value.slice(0, start);\n else\n newValueStr = value.slice(0, start) + value.slice(end);\n\n return newValueStr;\n }\n\n initCursor() {\n let selectionStart = this.input.nativeElement.selectionStart;\n let inputValue = this.input.nativeElement.value;\n let valueLength = inputValue.length;\n let index = null;\n\n let char = inputValue.charAt(selectionStart);\n if (this.isNumeralChar(char)) {\n return;\n }\n\n //left\n let i = selectionStart - 1;\n while (i >= 0) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i;\n break;\n }\n else {\n i--;\n }\n }\n\n if (index !== null) {\n this.input.nativeElement.setSelectionRange(index + 1, index + 1);\n }\n else {\n i = selectionStart + 1;\n while (i < valueLength) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i;\n break;\n }\n else {\n i++;\n }\n }\n\n if (index !== null) {\n this.input.nativeElement.setSelectionRange(index, index);\n }\n }\n }\n\n onInputClick() {\n this.initCursor();\n }\n\n isNumeralChar(char) {\n if (char.length === 1 && (this._numeral.test(char) || this._decimal.test(char) || this._group.test(char) || this._minusSign.test(char))) {\n this.resetRegex();\n return true;\n }\n\n return false;\n }\n\n resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n }\n\n updateValue(event, valueStr, insertedValueStr, operation) {\n let currentValue = this.input.nativeElement.value;\n let newValue = null;\n\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n this.updateInput(newValue, insertedValueStr, operation);\n }\n\n this.handleOnInput(event, currentValue, newValue);\n }\n\n handleOnInput(event, currentValue, newValue) {\n if (this.isValueChanged(currentValue, newValue)) {\n this.onInput.emit({ originalEvent: event, value: newValue });\n }\n }\n\n isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n\n if (newValue != null) {\n let parsedCurrentValue = (typeof currentValue === 'string') ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n\n return false;\n }\n\n validateValue(value) {\n if (this.min !== null && value < this.min) {\n return this.min;\n }\n\n if (this.max !== null && value > this.max) {\n return this.max;\n }\n\n if (value === '-') { // Minus sign\n return null;\n }\n\n return value;\n }\n\n updateInput(value, insertedValueStr, operation) {\n insertedValueStr = insertedValueStr || '';\n\n let inputValue = this.input.nativeElement.value;\n let newValue = this.formatValue(value);\n let currentLength = inputValue.length;\n\n if (currentLength === 0) {\n this.input.nativeElement.value = newValue;\n this.input.nativeElement.setSelectionRange(0, 0);\n this.initCursor();\n const prefixLength = (this.prefixChar || '').length;\n const selectionEnd = prefixLength + insertedValueStr.length;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n if (this.maxlength && this.maxlength < newValue.length) {\n return;\n }\n\n this.input.nativeElement.value = newValue;\n let newLength = newValue.length;\n\n if (operation === 'range-insert') {\n const startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n const startValueStr = startValue !== null ? startValue.toString() : '';\n const startExpr = startValueStr.split('').join(`(${this.groupChar})?`);\n const sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n\n const tExpr = insertedValueStr.split('').join(`(${this.groupChar})?`);\n const tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n\n selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single')\n this.input.nativeElement.setSelectionRange(selectionEnd + 1, selectionEnd + 1);\n else if (operation === 'delete-single')\n this.input.nativeElement.setSelectionRange(selectionEnd - 1, selectionEnd - 1);\n else if (operation === 'delete-range' || operation === 'spin')\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else if (operation === 'delete-back-single') {\n let prevChar = inputValue.charAt(selectionEnd - 1);\n let nextChar = inputValue.charAt(selectionEnd);\n let diff = currentLength - newLength;\n let isGroupChar = this._group.test(nextChar);\n\n if (isGroupChar && diff === 1) {\n selectionEnd += 1;\n }\n else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n selectionEnd += (-1 * diff) + 1;\n }\n\n this._group.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else {\n selectionEnd = selectionEnd + (newLength - currentLength);\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n }\n\n this.input.nativeElement.setAttribute('aria-valuenow', value);\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n\n let newValue = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n\n this.onBlur.emit(event);\n }\n\n formattedValue() {\n return this.formatValue(this.value);\n }\n\n updateModel(event, value) {\n if (this.value !== value) {\n this.value = value;\n this.onModelChange(value);\n }\n\n this.onModelTouched();\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n get filled() {\n return (this.value != null && this.value.toString().length > 0)\n }\n\n clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,InputTextModule, ButtonModule],\n exports: [InputNumber],\n declarations: [InputNumber]\n})\nexport class InputNumberModule { }\n"]}
1
+ {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/inputnumber/inputnumber.ts"],"names":["Object","create","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","INPUTNUMBER_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","InputNumber","multi","el","cd","this","showButtons","format","buttonLayout","incrementButtonIcon","decrementButtonIcon","step","onInput","EventEmitter","onFocus","onBlur","onKeyDown","onModelChange","onModelTouched","groupChar","prefixChar","suffixChar","_modeOption","_useGroupingOption","defineProperty","prototype","_localeOption","localeOption","updateConstructParser","_localeMatcherOption","localeMatcherOption","modeOption","_currencyOption","currencyOption","_currencyDisplayOption","currencyDisplayOption","useGroupingOption","_minFractionDigitsOption","minFractionDigitsOption","_maxFractionDigitsOption","maxFractionDigitsOption","_prefixOption","prefixOption","_suffixOption","suffixOption","ngOnInit","constructParser","initialized","getOptions","localeMatcher","style","mode","currency","currencyDisplay","useGrouping","minimumFractionDigits","minFractionDigits","maximumFractionDigits","maxFractionDigits","numberFormat","Intl","NumberFormat","locale","numerals","arguments","length","concat","__spread","reverse","index","Map","map","d","_numeral","RegExp","join","_decimal","getDecimalExpression","_group","getGroupingExpression","_minusSign","getMinusSignExpression","_currency","getCurrencyExpression","_suffix","getSuffixExpression","_prefix","getPrefixExpression","_index","get","escapeRegExp","text","replace","formatter","trim","charAt","prefix","split","suffix","formatValue","formattedValue","toString","parseValue","filteredText","parsedValue","isNaN","repeat","event","interval","dir","_this","clearTimer","timer","setTimeout","spin","currentValue","input","nativeElement","newValue","validateValue","maxlength","updateInput","updateModel","handleOnInput","onUpButtonMouseDown","focus","preventDefault","onUpButtonMouseUp","onUpButtonMouseLeave","onUpButtonKeyDown","keyCode","onUpButtonKeyUp","onDownButtonMouseDown","onDownButtonMouseUp","onDownButtonMouseLeave","onDownButtonKeyUp","onDownButtonKeyDown","onUserInput","isSpecialChar","target","lastValue","onInputKeyDown","shiftKey","altKey","selectionStart","selectionEnd","inputValue","newValueStr","which","isNumeralChar","setAttribute","deleteChar","decimalCharIndex","search","lastIndex","test","slice","setSelectionRange","updateValue","deleteRange","emit","onInputKeyPress","code","char","String","fromCharCode","isDecimalSign","isMinusSign","insert","onPaste","data","clipboardData","window","getData","filteredData","sign","minusCharIndex","insertText","resolvedOptions","operation","start","end","initCursor","valueLength","onInputClick","resetRegex","valueStr","insertedValueStr","isValueChanged","originalEvent","min","max","currentLength","newLength","startValue","startExpr","sRegex","tExpr","tRegex","prevChar","nextChar","diff","isGroupChar","onInputFocus","focused","onInputBlur","writeValue","markForCheck","registerOnChange","fn","registerOnTouched","setDisabledState","val","disabled","clearInterval","Component","args","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","encapsulation","ViewEncapsulation","None","host","[class.p-inputwrapper-filled]","[class.p-inputwrapper-focus]","ElementRef","ChangeDetectorRef","Input","ViewChild","Output","NgModule","imports","CommonModule","InputTextModule","ButtonModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\nimport {NgModule,Component,ChangeDetectionStrategy, Input, ElementRef, ViewChild, OnInit, EventEmitter, Output, forwardRef, ViewEncapsulation, ChangeDetectorRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {InputTextModule} from 'primeng/inputtext';\nimport { ButtonModule } from 'primeng/button';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const INPUTNUMBER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumber),\n multi: true\n};\n@Component({\n selector: 'p-inputNumber',\n template: `\n <span [ngClass]=\"{'p-inputnumber p-component': true,'p-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',\n 'p-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal', 'p-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical'}\"\n [ngStyle]=\"style\" [class]=\"styleClass\">\n <input #input [ngClass]=\"'p-inputnumber-input'\" [ngStyle]=\"inputStyle\" [class]=\"inputStyleClass\" pInputText [value]=\"formattedValue()\" [attr.placeholder]=\"placeholder\" [attr.title]=\"title\" [attr.id]=\"inputId\"\n [attr.size]=\"size\" [attr.name]=\"name\" [attr.autocomplete]=\"autocomplete\" [attr.maxlength]=\"maxlength\" [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\" [disabled]=\"disabled\" [attr.required]=\"required\" [attr.aria-valumin]=\"min\" [attr.aria-valuemax]=\"max\"\n (input)=\"onUserInput($event)\" (keydown)=\"onInputKeyDown($event)\" (keypress)=\"onInputKeyPress($event)\" (paste)=\"onPaste($event)\" (click)=\"onInputClick()\"\n (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\">\n <span class=\"p-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\">\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-up': true}\" [class]=\"incrementButtonClass\" [icon]=\"incrementButtonIcon\" [disabled]=\"disabled\"\n (mousedown)=\"this.onUpButtonMouseDown($event)\" (mouseup)=\"onUpButtonMouseUp()\" (mouseleave)=\"onUpButtonMouseLeave()\" (keydown)=\"onUpButtonKeyDown($event)\" (keyup)=\"onUpButtonKeyUp()\"></button>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-down': true}\" [class]=\"decrementButtonClass\" [icon]=\"decrementButtonIcon\" [disabled]=\"disabled\"\n (mousedown)=\"this.onDownButtonMouseDown($event)\" (mouseup)=\"onDownButtonMouseUp()\" (mouseleave)=\"onDownButtonMouseLeave()\" (keydown)=\"onDownButtonKeyDown($event)\" (keyup)=\"onDownButtonKeyUp()\"></button>\n </span>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-up': true}\" [class]=\"incrementButtonClass\" [icon]=\"incrementButtonIcon\" *ngIf=\"showButtons && buttonLayout !== 'stacked'\" [disabled]=\"disabled\"\n (mousedown)=\"this.onUpButtonMouseDown($event)\" (mouseup)=\"onUpButtonMouseUp()\" (mouseleave)=\"onUpButtonMouseLeave()\" (keydown)=\"onUpButtonKeyDown($event)\" (keyup)=\"onUpButtonKeyUp()\"></button>\n <button type=\"button\" pButton [ngClass]=\"{'p-inputnumber-button p-inputnumber-button-down': true}\" [class]=\"decrementButtonClass\" [icon]=\"decrementButtonIcon\" *ngIf=\"showButtons && buttonLayout !== 'stacked'\" [disabled]=\"disabled\"\n (mousedown)=\"this.onDownButtonMouseDown($event)\" (mouseup)=\"onDownButtonMouseUp()\" (mouseleave)=\"onDownButtonMouseLeave()\" (keydown)=\"onDownButtonKeyDown($event)\" (keyup)=\"onDownButtonKeyUp()\"></button>\n </span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [INPUTNUMBER_VALUE_ACCESSOR],\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./inputnumber.css'],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused'\n }\n})\nexport class InputNumber implements OnInit,ControlValueAccessor {\n\n @Input() showButtons: boolean = false;\n\n @Input() format: boolean = true;\n\n @Input() buttonLayout: string = \"stacked\";\n\n @Input() disabled: boolean;\n\n @Input() inputId: string;\n\n @Input() styleClass: string;\n\n @Input() style: any;\n\n @Input() placeholder: string;\n\n @Input() size: number;\n\n @Input() maxlength: number;\n\n @Input() tabindex: string;\n\n @Input() title: string;\n\n @Input() ariaLabel: string;\n\n @Input() ariaRequired: boolean;\n\n @Input() name: string;\n\n @Input() required: boolean;\n\n @Input() autocomplete: string;\n\n @Input() min: number;\n\n @Input() max: number;\n\n @Input() incrementButtonClass: string;\n\n @Input() decrementButtonClass: string;\n\n @Input() incrementButtonIcon: string = 'pi pi-angle-up';\n\n @Input() decrementButtonIcon: string = 'pi pi-angle-down';\n\n @Input() step: number = 1;\n\n @Input() inputStyle: any;\n\n @Input() inputStyleClass: string;\n\n @ViewChild('input') input: ElementRef;\n\n @Output() onInput: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onKeyDown: EventEmitter<any> = new EventEmitter();\n\n value: number;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean;\n\n initialized: boolean;\n\n groupChar: string = '';\n\n prefixChar: string = '';\n\n suffixChar: string = '';\n\n isSpecialChar: boolean;\n\n timer: any;\n\n lastValue: string;\n\n _numeral: any;\n\n numberFormat: any;\n\n _decimal: any;\n\n _group: any;\n\n _minusSign: any;\n\n _currency: any;\n\n _prefix: any;\n\n _suffix: any;\n\n _index: any;\n\n _localeOption: string;\n\n _localeMatcherOption: string;\n\n _modeOption: string = \"decimal\";\n\n _currencyOption: string;\n\n _currencyDisplayOption: string;\n\n _useGroupingOption: boolean = true;\n\n _minFractionDigitsOption: number;\n\n _maxFractionDigitsOption: number;\n\n _prefixOption: string;\n\n _suffixOption: string;\n\n @Input() get locale(): string {\n return this._localeOption;\n }\n\n set locale(localeOption: string) {\n this._localeOption = localeOption;\n this.updateConstructParser();\n }\n\n @Input() get localeMatcher(): string {\n return this._localeMatcherOption;\n }\n\n set localeMatcher(localeMatcherOption: string) {\n this._localeMatcherOption = localeMatcherOption;\n this.updateConstructParser();\n }\n\n @Input() get mode(): string {\n return this._modeOption;\n }\n\n set mode(modeOption: string) {\n this._modeOption = modeOption;\n this.updateConstructParser();\n }\n\n @Input() get currency(): string {\n return this._currencyOption;\n }\n\n set currency(currencyOption: string) {\n this._currencyOption = currencyOption;\n this.updateConstructParser();\n }\n\n @Input() get currencyDisplay(): string {\n return this._currencyDisplayOption;\n }\n\n set currencyDisplay(currencyDisplayOption: string) {\n this._currencyDisplayOption = currencyDisplayOption;\n this.updateConstructParser();\n }\n\n @Input() get useGrouping(): boolean {\n return this._useGroupingOption;\n }\n\n set useGrouping(useGroupingOption: boolean) {\n this._useGroupingOption = useGroupingOption;\n this.updateConstructParser();\n }\n\n @Input() get minFractionDigits(): number {\n return this._minFractionDigitsOption;\n }\n\n set minFractionDigits(minFractionDigitsOption: number) {\n this._minFractionDigitsOption = minFractionDigitsOption;\n this.updateConstructParser();\n }\n\n @Input() get maxFractionDigits(): number {\n return this._maxFractionDigitsOption;\n }\n\n set maxFractionDigits(maxFractionDigitsOption: number) {\n this._maxFractionDigitsOption = maxFractionDigitsOption;\n this.updateConstructParser();\n }\n\n @Input() get prefix(): string {\n return this._prefixOption;\n }\n\n set prefix(prefixOption: string) {\n this._prefixOption = prefixOption;\n this.updateConstructParser();\n }\n\n @Input() get suffix(): string {\n return this._suffixOption;\n }\n\n set suffix(suffixOption: string) {\n this._suffixOption = suffixOption;\n this.updateConstructParser();\n }\n\n constructor(public el: ElementRef, private cd: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.constructParser();\n\n this.initialized = true;\n }\n\n getOptions() {\n return {\n localeMatcher: this.localeMatcher,\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits,\n maximumFractionDigits: this.maxFractionDigits\n };\n }\n\n constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions());\n const numerals = [...new Intl.NumberFormat(this.locale, {useGrouping: false}).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [d, i]));\n this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');\n this._decimal = this.getDecimalExpression();\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n this._index = d => index.get(d);\n }\n\n updateConstructParser() {\n if (this.initialized) {\n this.constructParser();\n }\n }\n\n escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n getDecimalExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});\n return new RegExp(`[${formatter.format(1.1).trim().replace(this._numeral, '')}]`, 'g');\n }\n\n getGroupingExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: true});\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(`[${this.groupChar}]`, 'g');\n }\n\n getMinusSignExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {useGrouping: false});\n return new RegExp(`[${formatter.format(-1).trim().replace(this._numeral, '')}]`, 'g');\n }\n\n getCurrencyExpression() {\n if (this.currency) {\n const formatter = new Intl.NumberFormat(this.locale, {style: 'currency', currency: this.currency, currencyDisplay: this.currencyDisplay});\n return new RegExp(`[${formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._decimal, '').replace(this._group, '')}]`, 'g');\n }\n\n return new RegExp(`[]`,'g');\n }\n\n getPrefixExpression() {\n if (this.prefix) {\n this.prefixChar = this.prefix;\n }\n else {\n const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay});\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n\n return new RegExp(`${this.escapeRegExp(this.prefixChar||'')}`, 'g');\n }\n\n getSuffixExpression() {\n if (this.suffix) {\n this.suffixChar = this.suffix;\n }\n else {\n const formatter = new Intl.NumberFormat(this.locale, {style: this.mode, currency: this.currency, currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0, maximumFractionDigits: 0});\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n\n return new RegExp(`${this.escapeRegExp(this.suffixChar||'')}`, 'g');\n }\n\n formatValue(value) {\n if (value != null) {\n if (value === '-') { // Minus sign\n return value;\n }\n\n if (this.format) {\n let formatter = new Intl.NumberFormat(this.locale, this.getOptions());\n let formattedValue = formatter.format(value);\n if (this.prefix) {\n formattedValue = this.prefix + formattedValue;\n }\n\n if (this.suffix) {\n formattedValue = formattedValue + this.suffix;\n }\n\n return formattedValue;\n }\n\n return value.toString();\n }\n\n return '';\n }\n\n parseValue(text) {\n let filteredText = text\n .replace(this._suffix, '')\n .replace(this._prefix, '')\n .trim()\n .replace(/\\s/g, '')\n .replace(this._currency, '')\n .replace(this._group, '')\n .replace(this._minusSign, '-')\n .replace(this._decimal, '.')\n .replace(this._numeral, this._index);\n\n if (filteredText) {\n if (filteredText === '-') // Minus sign\n return filteredText;\n\n let parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n\n return null;\n }\n\n repeat(event, interval, dir) {\n let i = interval || 500;\n\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(event, 40, dir);\n }, i);\n\n this.spin(event, dir);\n }\n\n spin(event, dir) {\n let step = this.step * dir;\n let currentValue = this.parseValue(this.input.nativeElement.value) || 0;\n let newValue = this.validateValue(currentValue + step);\n if (this.maxlength && this.maxlength < this.formatValue(newValue).length) {\n return;\n }\n\n this.updateInput(newValue, null, 'spin');\n this.updateModel(event, newValue);\n\n this.handleOnInput(event, currentValue, newValue);\n }\n\n onUpButtonMouseDown(event) {\n this.input.nativeElement.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n\n onUpButtonMouseUp() {\n this.clearTimer();\n }\n\n onUpButtonMouseLeave() {\n this.clearTimer();\n }\n\n onUpButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, 1);\n }\n }\n\n onUpButtonKeyUp() {\n this.clearTimer();\n }\n\n onDownButtonMouseDown(event) {\n this.input.nativeElement.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n\n onDownButtonMouseUp() {\n this.clearTimer();\n }\n\n onDownButtonMouseLeave() {\n this.clearTimer();\n }\n\n onDownButtonKeyUp() {\n this.clearTimer();\n }\n\n onDownButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, -1);\n }\n }\n\n onUserInput(event) {\n if (this.isSpecialChar) {\n event.target.value = this.lastValue;\n }\n this.isSpecialChar = false;\n }\n\n onInputKeyDown(event) {\n this.lastValue = event.target.value;\n if (event.shiftKey || event.altKey) {\n this.isSpecialChar = true;\n return;\n }\n\n let selectionStart = event.target.selectionStart;\n let selectionEnd = event.target.selectionEnd;\n let inputValue = event.target.value;\n let newValueStr = null;\n\n if (event.altKey) {\n event.preventDefault();\n }\n\n switch (event.which) {\n //up\n case 38:\n this.spin(event, 1);\n event.preventDefault();\n break;\n\n //down\n case 40:\n this.spin(event, -1);\n event.preventDefault();\n break;\n\n //left\n case 37:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {\n event.preventDefault();\n }\n break;\n\n //right\n case 39:\n if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {\n event.preventDefault();\n }\n break;\n\n //enter\n case 13:\n let newValue = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n break;\n\n //backspace\n case 8: {\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n let deleteChar = inputValue.charAt(selectionStart - 1);\n let decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n\n if (this.isNumeralChar(deleteChar)) {\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n }\n else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionStart - 1, selectionStart - 1);\n }\n else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n }\n else if (decimalCharIndex > 0 && decimalCharIndex === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n }\n else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-single');\n }\n else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n\n break;\n }\n\n // del\n case 46:\n event.preventDefault();\n\n if (selectionStart === selectionEnd) {\n let deleteChar = inputValue.charAt(selectionStart);\n let decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n\n if (this.isNumeralChar(deleteChar)) {\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n }\n else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionStart + 1, selectionStart + 1);\n }\n else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n }\n else if (decimalCharIndex > 0 && decimalCharIndex === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n }\n else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n }\n else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n\n default:\n break;\n }\n\n this.onKeyDown.emit(event);\n }\n\n onInputKeyPress(event) {\n event.preventDefault();\n let code = event.which || event.keyCode;\n let char = String.fromCharCode(code);\n const isDecimalSign = this.isDecimalSign(char);\n const isMinusSign = this.isMinusSign(char);\n\n if ((48 <= code && code <= 57) || isMinusSign || isDecimalSign) {\n this.insert(event, char, { isDecimalSign, isMinusSign });\n }\n }\n\n onPaste(event) {\n event.preventDefault();\n let data = (event.clipboardData || window['clipboardData']).getData('Text');\n if (data) {\n let filteredData = this.parseValue(data);\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n }\n\n isMinusSign(char) {\n if (this._minusSign.test(char)) {\n this._minusSign.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n\n isDecimalSign(char) {\n if (this._decimal.test(char)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n\n return false;\n }\n\n insert(event, text, sign = { isDecimalSign: false, isMinusSign: false }) {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n let inputValue = this.input.nativeElement.value.trim();\n const decimalCharIndex = inputValue.search(this._decimal);\n this._decimal.lastIndex = 0;\n const minusCharIndex = inputValue.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n let newValueStr;\n\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n\n this.updateValue(event, newValueStr, text, 'insert');\n }\n }\n else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n }\n else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n }\n else {\n const maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n const operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if ((selectionStart + text.length - (decimalCharIndex + 1)) <= maxFractionDigits) {\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n }\n\n insertText(value, text, start, end) {\n let textSplit = text.split('.');\n\n if (textSplit.length == 2) {\n const decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return (decimalCharIndex > 0) ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : (value || this.formatValue(text));\n }\n else if ((end - start) === value.length) {\n return this.formatValue(text);\n }\n else if (start === 0) {\n return text + value.slice(end);\n }\n else if (end === value.length) {\n return value.slice(0, start) + text;\n }\n else {\n return value.slice(0, start) + text + value.slice(end);\n }\n }\n\n deleteRange(value, start, end) {\n let newValueStr;\n\n if ((end - start) === value.length)\n newValueStr = '';\n else if (start === 0)\n newValueStr = value.slice(end);\n else if (end === value.length)\n newValueStr = value.slice(0, start);\n else\n newValueStr = value.slice(0, start) + value.slice(end);\n\n return newValueStr;\n }\n\n initCursor() {\n let selectionStart = this.input.nativeElement.selectionStart;\n let inputValue = this.input.nativeElement.value;\n let valueLength = inputValue.length;\n let index = null;\n\n let char = inputValue.charAt(selectionStart);\n if (this.isNumeralChar(char)) {\n return;\n }\n\n //left\n let i = selectionStart - 1;\n while (i >= 0) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i;\n break;\n }\n else {\n i--;\n }\n }\n\n if (index !== null) {\n this.input.nativeElement.setSelectionRange(index + 1, index + 1);\n }\n else {\n i = selectionStart + 1;\n while (i < valueLength) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i;\n break;\n }\n else {\n i++;\n }\n }\n\n if (index !== null) {\n this.input.nativeElement.setSelectionRange(index, index);\n }\n }\n }\n\n onInputClick() {\n this.initCursor();\n }\n\n isNumeralChar(char) {\n if (char.length === 1 && (this._numeral.test(char) || this._decimal.test(char) || this._group.test(char) || this._minusSign.test(char))) {\n this.resetRegex();\n return true;\n }\n\n return false;\n }\n\n resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n }\n\n updateValue(event, valueStr, insertedValueStr, operation) {\n let currentValue = this.input.nativeElement.value;\n let newValue = null;\n\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n this.updateInput(newValue, insertedValueStr, operation);\n }\n\n this.handleOnInput(event, currentValue, newValue);\n }\n\n handleOnInput(event, currentValue, newValue) {\n if (this.isValueChanged(currentValue, newValue)) {\n this.onInput.emit({ originalEvent: event, value: newValue });\n }\n }\n\n isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n\n if (newValue != null) {\n let parsedCurrentValue = (typeof currentValue === 'string') ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n\n return false;\n }\n\n validateValue(value) {\n if (this.min !== null && value < this.min) {\n return this.min;\n }\n\n if (this.max !== null && value > this.max) {\n return this.max;\n }\n\n if (value === '-') { // Minus sign\n return null;\n }\n\n return value;\n }\n\n updateInput(value, insertedValueStr, operation) {\n insertedValueStr = insertedValueStr || '';\n\n let inputValue = this.input.nativeElement.value;\n let newValue = this.formatValue(value);\n let currentLength = inputValue.length;\n\n if (currentLength === 0) {\n this.input.nativeElement.value = newValue;\n this.input.nativeElement.setSelectionRange(0, 0);\n this.initCursor();\n const prefixLength = (this.prefixChar || '').length;\n const selectionEnd = prefixLength + insertedValueStr.length;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n if (this.maxlength && this.maxlength < newValue.length) {\n return;\n }\n\n this.input.nativeElement.value = newValue;\n let newLength = newValue.length;\n\n if (operation === 'range-insert') {\n const startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n const startValueStr = startValue !== null ? startValue.toString() : '';\n const startExpr = startValueStr.split('').join(`(${this.groupChar})?`);\n const sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n\n const tExpr = insertedValueStr.split('').join(`(${this.groupChar})?`);\n const tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n\n selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single')\n this.input.nativeElement.setSelectionRange(selectionEnd + 1, selectionEnd + 1);\n else if (operation === 'delete-single')\n this.input.nativeElement.setSelectionRange(selectionEnd - 1, selectionEnd - 1);\n else if (operation === 'delete-range' || operation === 'spin')\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else if (operation === 'delete-back-single') {\n let prevChar = inputValue.charAt(selectionEnd - 1);\n let nextChar = inputValue.charAt(selectionEnd);\n let diff = currentLength - newLength;\n let isGroupChar = this._group.test(nextChar);\n\n if (isGroupChar && diff === 1) {\n selectionEnd += 1;\n }\n else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n selectionEnd += (-1 * diff) + 1;\n }\n\n this._group.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n else {\n selectionEnd = selectionEnd + (newLength - currentLength);\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n }\n\n this.input.nativeElement.setAttribute('aria-valuenow', value);\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n\n let newValue = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n\n this.onBlur.emit(event);\n }\n\n formattedValue() {\n return this.formatValue(this.value);\n }\n\n updateModel(event, value) {\n if (this.value !== value) {\n this.value = value;\n this.onModelChange(value);\n }\n\n this.onModelTouched();\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n get filled() {\n return (this.value != null && this.value.toString().length > 0)\n }\n\n clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,InputTextModule, ButtonModule],\n exports: [InputNumber],\n declarations: [InputNumber]\n})\nexport class InputNumberModule { }\n"]}
@@ -35,7 +35,7 @@
35
35
  this.updateState();
36
36
  };
37
37
  InputTextarea.prototype.updateFilledState = function () {
38
- this.filled = (this.el.nativeElement.value && this.el.nativeElement.value.length) || (this.ngModel && this.ngModel.model);
38
+ this.filled = this.el.nativeElement.value && this.el.nativeElement.value.length;
39
39
  };
40
40
  InputTextarea.prototype.onFocus = function (e) {
41
41
  if (this.autoResize) {
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-inputtextarea.umd.js","sources":["../../src/app/components/inputtextarea/inputtextarea.ts","../../src/app/components/inputtextarea/primeng-inputtextarea.ts"],"sourcesContent":["import {NgModule,Directive,ElementRef,HostListener,Input,Output, EventEmitter,Optional, AfterViewInit, OnInit, OnDestroy, ChangeDetectorRef} from '@angular/core';\nimport {NgModel, NgControl} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[pInputTextarea]',\n host: {\n '[class.p-inputtextarea]': 'true',\n '[class.p-inputtext]': 'true',\n '[class.p-component]': 'true',\n '[class.p-filled]': 'filled',\n '[class.p-inputtextarea-resizable]': 'autoResize'\n }\n})\nexport class InputTextarea implements OnInit, AfterViewInit, OnDestroy {\n \n @Input() autoResize: boolean;\n \n @Output() onResize: EventEmitter<any> = new EventEmitter();\n \n filled: boolean;\n\n cachedScrollHeight:number;\n\n ngModelSubscription: Subscription;\n\n ngControlSubscription: Subscription;\n\n constructor(public el: ElementRef, @Optional() public ngModel: NgModel, @Optional() public control : NgControl, private cd: ChangeDetectorRef) {}\n \n ngOnInit() {\n if (this.ngModel) {\n this.ngModelSubscription = this.ngModel.valueChanges.subscribe(() =>{\n this.updateState();\n })\n }\n\n if (this.control) {\n this.ngControlSubscription = this.control.valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n }\n\n ngAfterViewInit() {\n if (this.autoResize)\n this.resize();\n\n this.updateFilledState();\n this.cd.detectChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(e) {\n this.updateState();\n }\n \n updateFilledState() {\n this.filled = (this.el.nativeElement.value && this.el.nativeElement.value.length) || (this.ngModel && this.ngModel.model);\n }\n \n @HostListener('focus', ['$event'])\n onFocus(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n @HostListener('blur', ['$event'])\n onBlur(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n resize(event?: Event) {\n this.el.nativeElement.style.height = 'auto';\n this.el.nativeElement.style.height = this.el.nativeElement.scrollHeight + 'px';\n\n if (parseFloat(this.el.nativeElement.style.height) >= parseFloat(this.el.nativeElement.style.maxHeight)) {\n this.el.nativeElement.style.overflowY = \"scroll\";\n this.el.nativeElement.style.height = this.el.nativeElement.style.maxHeight;\n }\n else {\n this.el.nativeElement.style.overflow = \"hidden\";\n }\n\n this.onResize.emit(event||{});\n }\n\n updateState() {\n this.updateFilledState();\n \n if (this.autoResize) {\n this.resize();\n }\n }\n\n ngOnDestroy() {\n if (this.ngModelSubscription) {\n this.ngModelSubscription.unsubscribe();\n }\n\n if (this.ngControlSubscription) {\n this.ngControlSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [InputTextarea],\n declarations: [InputTextarea]\n})\nexport class InputTextareaModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","Directive","ElementRef","NgModel","Optional","NgControl","ChangeDetectorRef","Input","Output","HostListener","NgModule","CommonModule"],"mappings":"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"}
1
+ {"version":3,"file":"primeng-inputtextarea.umd.js","sources":["../../src/app/components/inputtextarea/inputtextarea.ts","../../src/app/components/inputtextarea/primeng-inputtextarea.ts"],"sourcesContent":["import {NgModule,Directive,ElementRef,HostListener,Input,Output, EventEmitter,Optional, AfterViewInit, OnInit, OnDestroy, ChangeDetectorRef} from '@angular/core';\nimport {NgModel, NgControl} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[pInputTextarea]',\n host: {\n '[class.p-inputtextarea]': 'true',\n '[class.p-inputtext]': 'true',\n '[class.p-component]': 'true',\n '[class.p-filled]': 'filled',\n '[class.p-inputtextarea-resizable]': 'autoResize'\n }\n})\nexport class InputTextarea implements OnInit, AfterViewInit, OnDestroy {\n \n @Input() autoResize: boolean;\n \n @Output() onResize: EventEmitter<any> = new EventEmitter();\n \n filled: boolean;\n\n cachedScrollHeight:number;\n\n ngModelSubscription: Subscription;\n\n ngControlSubscription: Subscription;\n\n constructor(public el: ElementRef, @Optional() public ngModel: NgModel, @Optional() public control : NgControl, private cd: ChangeDetectorRef) {}\n \n ngOnInit() {\n if (this.ngModel) {\n this.ngModelSubscription = this.ngModel.valueChanges.subscribe(() =>{\n this.updateState();\n })\n }\n\n if (this.control) {\n this.ngControlSubscription = this.control.valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n }\n\n ngAfterViewInit() {\n if (this.autoResize)\n this.resize();\n\n this.updateFilledState();\n this.cd.detectChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(e) {\n this.updateState();\n }\n \n updateFilledState() {\n this.filled = this.el.nativeElement.value && this.el.nativeElement.value.length;\n }\n \n @HostListener('focus', ['$event'])\n onFocus(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n @HostListener('blur', ['$event'])\n onBlur(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n resize(event?: Event) {\n this.el.nativeElement.style.height = 'auto';\n this.el.nativeElement.style.height = this.el.nativeElement.scrollHeight + 'px';\n\n if (parseFloat(this.el.nativeElement.style.height) >= parseFloat(this.el.nativeElement.style.maxHeight)) {\n this.el.nativeElement.style.overflowY = \"scroll\";\n this.el.nativeElement.style.height = this.el.nativeElement.style.maxHeight;\n }\n else {\n this.el.nativeElement.style.overflow = \"hidden\";\n }\n\n this.onResize.emit(event||{});\n }\n\n updateState() {\n this.updateFilledState();\n \n if (this.autoResize) {\n this.resize();\n }\n }\n\n ngOnDestroy() {\n if (this.ngModelSubscription) {\n this.ngModelSubscription.unsubscribe();\n }\n\n if (this.ngControlSubscription) {\n this.ngControlSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [InputTextarea],\n declarations: [InputTextarea]\n})\nexport class InputTextareaModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","Directive","ElementRef","NgModel","Optional","NgControl","ChangeDetectorRef","Input","Output","HostListener","NgModule","CommonModule"],"mappings":";;;;;;;QA6BI,uBAAmB,EAAc,EAAqB,OAAgB,EAAqB,OAAmB,EAAU,EAAqB;YAA1H,OAAE,GAAF,EAAE,CAAY;YAAqB,YAAO,GAAP,OAAO,CAAS;YAAqB,YAAO,GAAP,OAAO,CAAY;YAAU,OAAE,GAAF,EAAE,CAAmB;YAVnI,aAAQ,GAAsB,IAAIA,iBAAY,EAAE,CAAC;SAUsF;QAEjJ,gCAAQ,GAAR;YAAA,iBAYC;YAXG,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;oBAC3D,KAAI,CAAC,WAAW,EAAE,CAAC;iBACtB,CAAC,CAAA;aACL;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;oBAC7D,KAAI,CAAC,WAAW,EAAE,CAAC;iBACtB,CAAC,CAAC;aACN;SACJ;QAED,uCAAe,GAAf;YACI,IAAI,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,MAAM,EAAE,CAAC;YAElB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;SAC3B;QAGD,+BAAO,GAAP,UAAQ,CAAC;YACL,IAAI,CAAC,WAAW,EAAE,CAAC;SACtB;QAED,yCAAiB,GAAjB;YACI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;SACnF;QAGD,+BAAO,GAAP,UAAQ,CAAC;YACL,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClB;SACJ;QAGD,8BAAM,GAAN,UAAO,CAAC;YACJ,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAClB;SACJ;QAED,8BAAM,GAAN,UAAO,KAAa;YAChB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC5C,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC;YAE/E,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACrG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;gBACjD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC;aAC9E;iBACI;gBACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;aACnD;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAE,EAAE,CAAC,CAAC;SACjC;QAED,mCAAW,GAAX;YACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB;SACJ;QAED,mCAAW,GAAX;YACI,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;aAC1C;YAED,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC5B,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;aAC5C;SACJ;;;;gBAtGJC,cAAS,SAAC;oBACP,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE;wBACF,yBAAyB,EAAE,MAAM;wBACjC,qBAAqB,EAAE,MAAM;wBAC7B,qBAAqB,EAAE,MAAM;wBAC7B,kBAAkB,EAAE,QAAQ;wBAC5B,mCAAmC,EAAE,YAAY;qBACpD;iBACJ;;;gBAd0BC,eAAU;gBAC7BC,aAAO,uBA4ByBC,aAAQ;gBA5B/BC,eAAS,uBA4BmDD,aAAQ;gBA7BqCE,sBAAiB;;;6BAiBtIC,UAAK;2BAELC,WAAM;0BAkCNC,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;0BAShCA,iBAAY,SAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;yBAOhCA,iBAAY,SAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;;QA8CpC;;;;;gBALCC,aAAQ,SAAC;oBACN,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,YAAY,EAAE,CAAC,aAAa,CAAC;iBAChC;;;IClHD;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("primeng/inputtextarea",["exports","@angular/core","@angular/forms","@angular/common"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.inputtextarea={}),e.ng.core,e.ng.forms,e.ng.common)}(this,(function(e,t,n,i){"use strict";var o=function(){function e(e,n,i,o){this.el=e,this.ngModel=n,this.control=i,this.cd=o,this.onResize=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.ngModel&&(this.ngModelSubscription=this.ngModel.valueChanges.subscribe((function(){e.updateState()}))),this.control&&(this.ngControlSubscription=this.control.valueChanges.subscribe((function(){e.updateState()})))},e.prototype.ngAfterViewInit=function(){this.autoResize&&this.resize(),this.updateFilledState(),this.cd.detectChanges()},e.prototype.onInput=function(e){this.updateState()},e.prototype.updateFilledState=function(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model},e.prototype.onFocus=function(e){this.autoResize&&this.resize(e)},e.prototype.onBlur=function(e){this.autoResize&&this.resize(e)},e.prototype.resize=function(e){this.el.nativeElement.style.height="auto",this.el.nativeElement.style.height=this.el.nativeElement.scrollHeight+"px",parseFloat(this.el.nativeElement.style.height)>=parseFloat(this.el.nativeElement.style.maxHeight)?(this.el.nativeElement.style.overflowY="scroll",this.el.nativeElement.style.height=this.el.nativeElement.style.maxHeight):this.el.nativeElement.style.overflow="hidden",this.onResize.emit(e||{})},e.prototype.updateState=function(){this.updateFilledState(),this.autoResize&&this.resize()},e.prototype.ngOnDestroy=function(){this.ngModelSubscription&&this.ngModelSubscription.unsubscribe(),this.ngControlSubscription&&this.ngControlSubscription.unsubscribe()},e}();o.decorators=[{type:t.Directive,args:[{selector:"[pInputTextarea]",host:{"[class.p-inputtextarea]":"true","[class.p-inputtext]":"true","[class.p-component]":"true","[class.p-filled]":"filled","[class.p-inputtextarea-resizable]":"autoResize"}}]}],o.ctorParameters=function(){return[{type:t.ElementRef},{type:n.NgModel,decorators:[{type:t.Optional}]},{type:n.NgControl,decorators:[{type:t.Optional}]},{type:t.ChangeDetectorRef}]},o.propDecorators={autoResize:[{type:t.Input}],onResize:[{type:t.Output}],onInput:[{type:t.HostListener,args:["input",["$event"]]}],onFocus:[{type:t.HostListener,args:["focus",["$event"]]}],onBlur:[{type:t.HostListener,args:["blur",["$event"]]}]};var s=function(){};s.decorators=[{type:t.NgModule,args:[{imports:[i.CommonModule],exports:[o],declarations:[o]}]}],e.InputTextarea=o,e.InputTextareaModule=s,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("primeng/inputtextarea",["exports","@angular/core","@angular/forms","@angular/common"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.inputtextarea={}),e.ng.core,e.ng.forms,e.ng.common)}(this,(function(e,t,n,i){"use strict";var o=function(){function e(e,n,i,o){this.el=e,this.ngModel=n,this.control=i,this.cd=o,this.onResize=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.ngModel&&(this.ngModelSubscription=this.ngModel.valueChanges.subscribe((function(){e.updateState()}))),this.control&&(this.ngControlSubscription=this.control.valueChanges.subscribe((function(){e.updateState()})))},e.prototype.ngAfterViewInit=function(){this.autoResize&&this.resize(),this.updateFilledState(),this.cd.detectChanges()},e.prototype.onInput=function(e){this.updateState()},e.prototype.updateFilledState=function(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length},e.prototype.onFocus=function(e){this.autoResize&&this.resize(e)},e.prototype.onBlur=function(e){this.autoResize&&this.resize(e)},e.prototype.resize=function(e){this.el.nativeElement.style.height="auto",this.el.nativeElement.style.height=this.el.nativeElement.scrollHeight+"px",parseFloat(this.el.nativeElement.style.height)>=parseFloat(this.el.nativeElement.style.maxHeight)?(this.el.nativeElement.style.overflowY="scroll",this.el.nativeElement.style.height=this.el.nativeElement.style.maxHeight):this.el.nativeElement.style.overflow="hidden",this.onResize.emit(e||{})},e.prototype.updateState=function(){this.updateFilledState(),this.autoResize&&this.resize()},e.prototype.ngOnDestroy=function(){this.ngModelSubscription&&this.ngModelSubscription.unsubscribe(),this.ngControlSubscription&&this.ngControlSubscription.unsubscribe()},e}();o.decorators=[{type:t.Directive,args:[{selector:"[pInputTextarea]",host:{"[class.p-inputtextarea]":"true","[class.p-inputtext]":"true","[class.p-component]":"true","[class.p-filled]":"filled","[class.p-inputtextarea-resizable]":"autoResize"}}]}],o.ctorParameters=function(){return[{type:t.ElementRef},{type:n.NgModel,decorators:[{type:t.Optional}]},{type:n.NgControl,decorators:[{type:t.Optional}]},{type:t.ChangeDetectorRef}]},o.propDecorators={autoResize:[{type:t.Input}],onResize:[{type:t.Output}],onInput:[{type:t.HostListener,args:["input",["$event"]]}],onFocus:[{type:t.HostListener,args:["focus",["$event"]]}],onBlur:[{type:t.HostListener,args:["blur",["$event"]]}]};var s=function(){};s.decorators=[{type:t.NgModule,args:[{imports:[i.CommonModule],exports:[o],declarations:[o]}]}],e.InputTextarea=o,e.InputTextareaModule=s,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=primeng-inputtextarea.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/app/components/inputtextarea/inputtextarea.ts"],"names":["InputTextarea","el","ngModel","control","cd","this","onResize","EventEmitter","prototype","ngOnInit","_this","ngModelSubscription","valueChanges","subscribe","updateState","ngControlSubscription","ngAfterViewInit","autoResize","resize","updateFilledState","detectChanges","onInput","e","filled","nativeElement","value","length","model","onFocus","onBlur","event","style","height","scrollHeight","parseFloat","maxHeight","overflowY","overflow","emit","ngOnDestroy","unsubscribe","Directive","args","selector","host","[class.p-inputtextarea]","[class.p-inputtext]","[class.p-component]","[class.p-filled]","[class.p-inputtextarea-resizable]","ElementRef","NgModel","decorators","type","Optional","NgControl","ChangeDetectorRef","Input","Output","HostListener","NgModule","imports","CommonModule","exports","declarations"],"mappings":"weA6BI,SAAAA,EAAmBC,EAAmCC,EAAqCC,EAA6BC,GAArGC,KAAAJ,GAAAA,EAAmCI,KAAAH,QAAAA,EAAqCG,KAAAF,QAAAA,EAA6BE,KAAAD,GAAAA,EAV9GC,KAAAC,SAA8B,IAAIC,EAAAA,oBAY5CP,EAAAQ,UAAAC,SAAA,WAAA,IAAAC,EAAAL,KACQA,KAAKH,UACLG,KAAKM,oBAAsBN,KAAKH,QAAQU,aAAaC,WAAU,WAC3DH,EAAKI,kBAITT,KAAKF,UACLE,KAAKU,sBAAwBV,KAAKF,QAAQS,aAAaC,WAAU,WAC7DH,EAAKI,mBAKjBd,EAAAQ,UAAAQ,gBAAA,WACQX,KAAKY,YACLZ,KAAKa,SAETb,KAAKc,oBACLd,KAAKD,GAAGgB,iBAIZpB,EAAAQ,UAAAa,QAAA,SAAQC,GACJjB,KAAKS,eAGTd,EAAAQ,UAAAW,kBAAA,WACId,KAAKkB,OAAUlB,KAAKJ,GAAGuB,cAAcC,OAASpB,KAAKJ,GAAGuB,cAAcC,MAAMC,QAAYrB,KAAKH,SAAWG,KAAKH,QAAQyB,OAIvH3B,EAAAQ,UAAAoB,QAAA,SAAQN,GACAjB,KAAKY,YACLZ,KAAKa,OAAOI,IAKpBtB,EAAAQ,UAAAqB,OAAA,SAAOP,GACCjB,KAAKY,YACLZ,KAAKa,OAAOI,IAIpBtB,EAAAQ,UAAAU,OAAA,SAAOY,GACHzB,KAAKJ,GAAGuB,cAAcO,MAAMC,OAAS,OACrC3B,KAAKJ,GAAGuB,cAAcO,MAAMC,OAAS3B,KAAKJ,GAAGuB,cAAcS,aAAe,KAEtEC,WAAW7B,KAAKJ,GAAGuB,cAAcO,MAAMC,SAAWE,WAAW7B,KAAKJ,GAAGuB,cAAcO,MAAMI,YACzF9B,KAAKJ,GAAGuB,cAAcO,MAAMK,UAAY,SACxC/B,KAAKJ,GAAGuB,cAAcO,MAAMC,OAAS3B,KAAKJ,GAAGuB,cAAcO,MAAMI,WAGjE9B,KAAKJ,GAAGuB,cAAcO,MAAMM,SAAW,SAG3ChC,KAAKC,SAASgC,KAAKR,GAAO,KAG9B9B,EAAAQ,UAAAM,YAAA,WACIT,KAAKc,oBAEDd,KAAKY,YACLZ,KAAKa,UAIblB,EAAAQ,UAAA+B,YAAA,WACQlC,KAAKM,qBACLN,KAAKM,oBAAoB6B,cAGzBnC,KAAKU,uBACLV,KAAKU,sBAAsByB,wCApGtCC,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,mBACVC,KAAM,CACFC,0BAA2B,OAC3BC,sBAAuB,OACvBC,sBAAuB,OACvBC,mBAAoB,SACpBC,oCAAqC,2DAZlBC,EAAAA,kBACnBC,EAAAA,QAAOC,WAAA,CAAA,CAAAC,KA4ByBC,EAAAA,kBA5BvBC,EAAAA,UAASH,WAAA,CAAA,CAAAC,KA4BmDC,EAAAA,kBA7B6CE,EAAAA,yDAiBrHC,EAAAA,wBAEAC,EAAAA,wBAkCAC,EAAAA,aAAYjB,KAAA,CAAC,QAAS,CAAC,4BASvBiB,EAAAA,aAAYjB,KAAA,CAAC,QAAS,CAAC,2BAOvBiB,EAAAA,aAAYjB,KAAA,CAAC,OAAQ,CAAC,oBA8C3B,iCALCkB,EAAAA,SAAQlB,KAAA,CAAC,CACNmB,QAAS,CAACC,EAAAA,cACVC,QAAS,CAAC/D,GACVgE,aAAc,CAAChE","sourcesContent":["import {NgModule,Directive,ElementRef,HostListener,Input,Output, EventEmitter,Optional, AfterViewInit, OnInit, OnDestroy, ChangeDetectorRef} from '@angular/core';\nimport {NgModel, NgControl} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[pInputTextarea]',\n host: {\n '[class.p-inputtextarea]': 'true',\n '[class.p-inputtext]': 'true',\n '[class.p-component]': 'true',\n '[class.p-filled]': 'filled',\n '[class.p-inputtextarea-resizable]': 'autoResize'\n }\n})\nexport class InputTextarea implements OnInit, AfterViewInit, OnDestroy {\n \n @Input() autoResize: boolean;\n \n @Output() onResize: EventEmitter<any> = new EventEmitter();\n \n filled: boolean;\n\n cachedScrollHeight:number;\n\n ngModelSubscription: Subscription;\n\n ngControlSubscription: Subscription;\n\n constructor(public el: ElementRef, @Optional() public ngModel: NgModel, @Optional() public control : NgControl, private cd: ChangeDetectorRef) {}\n \n ngOnInit() {\n if (this.ngModel) {\n this.ngModelSubscription = this.ngModel.valueChanges.subscribe(() =>{\n this.updateState();\n })\n }\n\n if (this.control) {\n this.ngControlSubscription = this.control.valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n }\n\n ngAfterViewInit() {\n if (this.autoResize)\n this.resize();\n\n this.updateFilledState();\n this.cd.detectChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(e) {\n this.updateState();\n }\n \n updateFilledState() {\n this.filled = (this.el.nativeElement.value && this.el.nativeElement.value.length) || (this.ngModel && this.ngModel.model);\n }\n \n @HostListener('focus', ['$event'])\n onFocus(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n @HostListener('blur', ['$event'])\n onBlur(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n resize(event?: Event) {\n this.el.nativeElement.style.height = 'auto';\n this.el.nativeElement.style.height = this.el.nativeElement.scrollHeight + 'px';\n\n if (parseFloat(this.el.nativeElement.style.height) >= parseFloat(this.el.nativeElement.style.maxHeight)) {\n this.el.nativeElement.style.overflowY = \"scroll\";\n this.el.nativeElement.style.height = this.el.nativeElement.style.maxHeight;\n }\n else {\n this.el.nativeElement.style.overflow = \"hidden\";\n }\n\n this.onResize.emit(event||{});\n }\n\n updateState() {\n this.updateFilledState();\n \n if (this.autoResize) {\n this.resize();\n }\n }\n\n ngOnDestroy() {\n if (this.ngModelSubscription) {\n this.ngModelSubscription.unsubscribe();\n }\n\n if (this.ngControlSubscription) {\n this.ngControlSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [InputTextarea],\n declarations: [InputTextarea]\n})\nexport class InputTextareaModule { }\n"]}
1
+ {"version":3,"sources":["../../src/app/components/inputtextarea/inputtextarea.ts"],"names":["InputTextarea","el","ngModel","control","cd","this","onResize","EventEmitter","prototype","ngOnInit","_this","ngModelSubscription","valueChanges","subscribe","updateState","ngControlSubscription","ngAfterViewInit","autoResize","resize","updateFilledState","detectChanges","onInput","e","filled","nativeElement","value","length","onFocus","onBlur","event","style","height","scrollHeight","parseFloat","maxHeight","overflowY","overflow","emit","ngOnDestroy","unsubscribe","Directive","args","selector","host","[class.p-inputtextarea]","[class.p-inputtext]","[class.p-component]","[class.p-filled]","[class.p-inputtextarea-resizable]","ElementRef","NgModel","decorators","type","Optional","NgControl","ChangeDetectorRef","Input","Output","HostListener","NgModule","imports","CommonModule","exports","declarations"],"mappings":"weA6BI,SAAAA,EAAmBC,EAAmCC,EAAqCC,EAA6BC,GAArGC,KAAAJ,GAAAA,EAAmCI,KAAAH,QAAAA,EAAqCG,KAAAF,QAAAA,EAA6BE,KAAAD,GAAAA,EAV9GC,KAAAC,SAA8B,IAAIC,EAAAA,oBAY5CP,EAAAQ,UAAAC,SAAA,WAAA,IAAAC,EAAAL,KACQA,KAAKH,UACLG,KAAKM,oBAAsBN,KAAKH,QAAQU,aAAaC,WAAU,WAC3DH,EAAKI,kBAITT,KAAKF,UACLE,KAAKU,sBAAwBV,KAAKF,QAAQS,aAAaC,WAAU,WAC7DH,EAAKI,mBAKjBd,EAAAQ,UAAAQ,gBAAA,WACQX,KAAKY,YACLZ,KAAKa,SAETb,KAAKc,oBACLd,KAAKD,GAAGgB,iBAIZpB,EAAAQ,UAAAa,QAAA,SAAQC,GACJjB,KAAKS,eAGTd,EAAAQ,UAAAW,kBAAA,WACId,KAAKkB,OAASlB,KAAKJ,GAAGuB,cAAcC,OAASpB,KAAKJ,GAAGuB,cAAcC,MAAMC,QAI7E1B,EAAAQ,UAAAmB,QAAA,SAAQL,GACAjB,KAAKY,YACLZ,KAAKa,OAAOI,IAKpBtB,EAAAQ,UAAAoB,OAAA,SAAON,GACCjB,KAAKY,YACLZ,KAAKa,OAAOI,IAIpBtB,EAAAQ,UAAAU,OAAA,SAAOW,GACHxB,KAAKJ,GAAGuB,cAAcM,MAAMC,OAAS,OACrC1B,KAAKJ,GAAGuB,cAAcM,MAAMC,OAAS1B,KAAKJ,GAAGuB,cAAcQ,aAAe,KAEtEC,WAAW5B,KAAKJ,GAAGuB,cAAcM,MAAMC,SAAWE,WAAW5B,KAAKJ,GAAGuB,cAAcM,MAAMI,YACzF7B,KAAKJ,GAAGuB,cAAcM,MAAMK,UAAY,SACxC9B,KAAKJ,GAAGuB,cAAcM,MAAMC,OAAS1B,KAAKJ,GAAGuB,cAAcM,MAAMI,WAGjE7B,KAAKJ,GAAGuB,cAAcM,MAAMM,SAAW,SAG3C/B,KAAKC,SAAS+B,KAAKR,GAAO,KAG9B7B,EAAAQ,UAAAM,YAAA,WACIT,KAAKc,oBAEDd,KAAKY,YACLZ,KAAKa,UAIblB,EAAAQ,UAAA8B,YAAA,WACQjC,KAAKM,qBACLN,KAAKM,oBAAoB4B,cAGzBlC,KAAKU,uBACLV,KAAKU,sBAAsBwB,wCApGtCC,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,mBACVC,KAAM,CACFC,0BAA2B,OAC3BC,sBAAuB,OACvBC,sBAAuB,OACvBC,mBAAoB,SACpBC,oCAAqC,2DAZlBC,EAAAA,kBACnBC,EAAAA,QAAOC,WAAA,CAAA,CAAAC,KA4ByBC,EAAAA,kBA5BvBC,EAAAA,UAASH,WAAA,CAAA,CAAAC,KA4BmDC,EAAAA,kBA7B6CE,EAAAA,yDAiBrHC,EAAAA,wBAEAC,EAAAA,wBAkCAC,EAAAA,aAAYjB,KAAA,CAAC,QAAS,CAAC,4BASvBiB,EAAAA,aAAYjB,KAAA,CAAC,QAAS,CAAC,2BAOvBiB,EAAAA,aAAYjB,KAAA,CAAC,OAAQ,CAAC,oBA8C3B,iCALCkB,EAAAA,SAAQlB,KAAA,CAAC,CACNmB,QAAS,CAACC,EAAAA,cACVC,QAAS,CAAC9D,GACV+D,aAAc,CAAC/D","sourcesContent":["import {NgModule,Directive,ElementRef,HostListener,Input,Output, EventEmitter,Optional, AfterViewInit, OnInit, OnDestroy, ChangeDetectorRef} from '@angular/core';\nimport {NgModel, NgControl} from '@angular/forms';\nimport {CommonModule} from '@angular/common';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[pInputTextarea]',\n host: {\n '[class.p-inputtextarea]': 'true',\n '[class.p-inputtext]': 'true',\n '[class.p-component]': 'true',\n '[class.p-filled]': 'filled',\n '[class.p-inputtextarea-resizable]': 'autoResize'\n }\n})\nexport class InputTextarea implements OnInit, AfterViewInit, OnDestroy {\n \n @Input() autoResize: boolean;\n \n @Output() onResize: EventEmitter<any> = new EventEmitter();\n \n filled: boolean;\n\n cachedScrollHeight:number;\n\n ngModelSubscription: Subscription;\n\n ngControlSubscription: Subscription;\n\n constructor(public el: ElementRef, @Optional() public ngModel: NgModel, @Optional() public control : NgControl, private cd: ChangeDetectorRef) {}\n \n ngOnInit() {\n if (this.ngModel) {\n this.ngModelSubscription = this.ngModel.valueChanges.subscribe(() =>{\n this.updateState();\n })\n }\n\n if (this.control) {\n this.ngControlSubscription = this.control.valueChanges.subscribe(() => {\n this.updateState();\n });\n }\n }\n\n ngAfterViewInit() {\n if (this.autoResize)\n this.resize();\n\n this.updateFilledState();\n this.cd.detectChanges();\n }\n\n @HostListener('input', ['$event'])\n onInput(e) {\n this.updateState();\n }\n \n updateFilledState() {\n this.filled = this.el.nativeElement.value && this.el.nativeElement.value.length;\n }\n \n @HostListener('focus', ['$event'])\n onFocus(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n @HostListener('blur', ['$event'])\n onBlur(e) {\n if (this.autoResize) {\n this.resize(e);\n }\n }\n \n resize(event?: Event) {\n this.el.nativeElement.style.height = 'auto';\n this.el.nativeElement.style.height = this.el.nativeElement.scrollHeight + 'px';\n\n if (parseFloat(this.el.nativeElement.style.height) >= parseFloat(this.el.nativeElement.style.maxHeight)) {\n this.el.nativeElement.style.overflowY = \"scroll\";\n this.el.nativeElement.style.height = this.el.nativeElement.style.maxHeight;\n }\n else {\n this.el.nativeElement.style.overflow = \"hidden\";\n }\n\n this.onResize.emit(event||{});\n }\n\n updateState() {\n this.updateFilledState();\n \n if (this.autoResize) {\n this.resize();\n }\n }\n\n ngOnDestroy() {\n if (this.ngModelSubscription) {\n this.ngModelSubscription.unsubscribe();\n }\n\n if (this.ngControlSubscription) {\n this.ngControlSubscription.unsubscribe();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [InputTextarea],\n declarations: [InputTextarea]\n})\nexport class InputTextareaModule { }\n"]}
@@ -28,6 +28,8 @@
28
28
  return extendStatics(d, b);
29
29
  };
30
30
  function __extends(d, b) {
31
+ if (typeof b !== "function" && b !== null)
32
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
31
33
  extendStatics(d, b);
32
34
  function __() { this.constructor = d; }
33
35
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -213,11 +215,13 @@
213
215
  }
214
216
  return ar;
215
217
  }
218
+ /** @deprecated */
216
219
  function __spread() {
217
220
  for (var ar = [], i = 0; i < arguments.length; i++)
218
221
  ar = ar.concat(__read(arguments[i]));
219
222
  return ar;
220
223
  }
224
+ /** @deprecated */
221
225
  function __spreadArrays() {
222
226
  for (var s = 0, i = 0, il = arguments.length; i < il; i++)
223
227
  s += arguments[i].length;
@@ -226,7 +230,11 @@
226
230
  r[k] = a[j];
227
231
  return r;
228
232
  }
229
- ;
233
+ function __spreadArray(to, from) {
234
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
235
+ to[j] = from[i];
236
+ return to;
237
+ }
230
238
  function __await(v) {
231
239
  return this instanceof __await ? (this.v = v, this) : new __await(v);
232
240
  }