cax-design-system 2.7.12 → 2.8.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 (285) hide show
  1. package/README.md +46 -46
  2. package/esm2022/accordion/accordion.mjs +3 -3
  3. package/esm2022/autocomplete/autocomplete.mjs +3 -3
  4. package/esm2022/avatar/avatar.mjs +3 -3
  5. package/esm2022/avatargroup/avatargroup.mjs +3 -3
  6. package/esm2022/badge/badge.mjs +3 -3
  7. package/esm2022/breadcrumb/breadcrumb.mjs +3 -3
  8. package/esm2022/button/button.mjs +3 -3
  9. package/esm2022/calendar/calendar.mjs +3 -3
  10. package/esm2022/card/card.mjs +3 -3
  11. package/esm2022/cascadeselect/cascadeselect.mjs +5 -5
  12. package/esm2022/checkbox/checkbox.mjs +3 -3
  13. package/esm2022/chip/chip.mjs +3 -3
  14. package/esm2022/chips/chips.mjs +3 -3
  15. package/esm2022/colorpicker/colorpicker.mjs +3 -3
  16. package/esm2022/commentbox/commentbox.mjs +3 -3
  17. package/esm2022/confirmdialog/confirmdialog.mjs +3 -3
  18. package/esm2022/dialog/dialog.mjs +3 -3
  19. package/esm2022/divider/divider.mjs +3 -3
  20. package/esm2022/dropdown/dropdown-item.mjs +3 -3
  21. package/esm2022/dropdown/dropdown.mjs +3 -3
  22. package/esm2022/editor/editor.mjs +3 -3
  23. package/esm2022/image/image.mjs +3 -3
  24. package/esm2022/inputgroup/inputgroup.mjs +3 -3
  25. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +3 -3
  26. package/esm2022/inputmask/inputmask.mjs +3 -3
  27. package/esm2022/inputnumber/inputnumber.mjs +3 -3
  28. package/esm2022/inputtext/inputtext.component.mjs +3 -3
  29. package/esm2022/inputtextarea/inputtextarea.component.mjs +3 -3
  30. package/esm2022/logo/logo.mjs +3 -3
  31. package/esm2022/menu/menu.mjs +5 -5
  32. package/esm2022/messages/messages.mjs +3 -3
  33. package/esm2022/multiselect/multiselect.mjs +5 -5
  34. package/esm2022/navigation/navigation.mjs +3 -3
  35. package/esm2022/overlay/overlay.mjs +3 -3
  36. package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
  37. package/esm2022/paginator/paginator.mjs +3 -3
  38. package/esm2022/progressbar/progressbar.mjs +3 -3
  39. package/esm2022/progressspinner/progressspinner.mjs +3 -3
  40. package/esm2022/radiobutton/radiobutton.mjs +3 -3
  41. package/esm2022/scroller/scroller.mjs +3 -3
  42. package/esm2022/selectbutton/selectbutton.mjs +3 -3
  43. package/esm2022/sidebar/sidebar.mjs +3 -3
  44. package/esm2022/skeleton/skeleton.mjs +3 -3
  45. package/esm2022/speeddial/speeddial.mjs +3 -3
  46. package/esm2022/splitbutton/splitbutton.mjs +3 -3
  47. package/esm2022/splitter/splitter.mjs +3 -3
  48. package/esm2022/steps/steps.mjs +3 -3
  49. package/esm2022/table/components/cell-editor/cell-editor.mjs +3 -3
  50. package/esm2022/table/components/column-filter/column-filter.mjs +3 -3
  51. package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +3 -3
  52. package/esm2022/table/components/sort-icon/sort-icon.mjs +3 -3
  53. package/esm2022/table/components/table-body/table-body.mjs +3 -3
  54. package/esm2022/table/components/table-checkbox/table-checkbox.mjs +3 -3
  55. package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +3 -3
  56. package/esm2022/table/components/table-radio-button/table-radio-button.mjs +3 -3
  57. package/esm2022/table/table.mjs +3 -3
  58. package/esm2022/tableconfiguration/tableconfiguration.mjs +3 -3
  59. package/esm2022/tabview/tabview.mjs +5 -5
  60. package/esm2022/tag/tag.mjs +3 -3
  61. package/esm2022/timeline/timeline.mjs +3 -3
  62. package/esm2022/toast/toast.mjs +3 -3
  63. package/esm2022/toast/toastitem.mjs +3 -3
  64. package/esm2022/toggleswitch/toggleswitch.mjs +3 -3
  65. package/esm2022/tree/tree.mjs +5 -5
  66. package/esm2022/treeselect/treeselect.mjs +3 -3
  67. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +3 -3
  68. package/esm2022/upload/upload.component.mjs +3 -3
  69. package/fesm2022/cax-design-system-accordion.mjs +2 -2
  70. package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
  71. package/fesm2022/cax-design-system-autocomplete.mjs +2 -2
  72. package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
  73. package/fesm2022/cax-design-system-avatar.mjs +2 -2
  74. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  75. package/fesm2022/cax-design-system-avatargroup.mjs +2 -2
  76. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  77. package/fesm2022/cax-design-system-badge.mjs +2 -2
  78. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  79. package/fesm2022/cax-design-system-breadcrumb.mjs +2 -2
  80. package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
  81. package/fesm2022/cax-design-system-button.mjs +2 -2
  82. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  83. package/fesm2022/cax-design-system-calendar.mjs +2 -2
  84. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  85. package/fesm2022/cax-design-system-card.mjs +2 -2
  86. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  87. package/fesm2022/cax-design-system-cascadeselect.mjs +4 -4
  88. package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
  89. package/fesm2022/cax-design-system-checkbox.mjs +2 -2
  90. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  91. package/fesm2022/cax-design-system-chip.mjs +2 -2
  92. package/fesm2022/cax-design-system-chip.mjs.map +1 -1
  93. package/fesm2022/cax-design-system-chips.mjs +2 -2
  94. package/fesm2022/cax-design-system-chips.mjs.map +1 -1
  95. package/fesm2022/cax-design-system-colorpicker.mjs +2 -2
  96. package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
  97. package/fesm2022/cax-design-system-commentbox.mjs +2 -2
  98. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
  99. package/fesm2022/cax-design-system-confirmdialog.mjs +2 -2
  100. package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
  101. package/fesm2022/cax-design-system-dialog.mjs +2 -2
  102. package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
  103. package/fesm2022/cax-design-system-divider.mjs +2 -2
  104. package/fesm2022/cax-design-system-divider.mjs.map +1 -1
  105. package/fesm2022/cax-design-system-dropdown.mjs +4 -4
  106. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  107. package/fesm2022/cax-design-system-editor.mjs +2 -2
  108. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  109. package/fesm2022/cax-design-system-image.mjs +2 -2
  110. package/fesm2022/cax-design-system-image.mjs.map +1 -1
  111. package/fesm2022/cax-design-system-inputgroup.mjs +2 -2
  112. package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
  113. package/fesm2022/cax-design-system-inputgroupaddon.mjs +2 -2
  114. package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
  115. package/fesm2022/cax-design-system-inputmask.mjs +2 -2
  116. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  117. package/fesm2022/cax-design-system-inputnumber.mjs +2 -2
  118. package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
  119. package/fesm2022/cax-design-system-inputtext.mjs +2 -2
  120. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  121. package/fesm2022/cax-design-system-inputtextarea.mjs +2 -2
  122. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  123. package/fesm2022/cax-design-system-logo.mjs +2 -2
  124. package/fesm2022/cax-design-system-logo.mjs.map +1 -1
  125. package/fesm2022/cax-design-system-menu.mjs +4 -4
  126. package/fesm2022/cax-design-system-menu.mjs.map +1 -1
  127. package/fesm2022/cax-design-system-messages.mjs +2 -2
  128. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  129. package/fesm2022/cax-design-system-multiselect.mjs +4 -4
  130. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  131. package/fesm2022/cax-design-system-navigation.mjs +2 -2
  132. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  133. package/fesm2022/cax-design-system-overlay.mjs +2 -2
  134. package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
  135. package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
  136. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  137. package/fesm2022/cax-design-system-paginator.mjs +2 -2
  138. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  139. package/fesm2022/cax-design-system-progressbar.mjs +2 -2
  140. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  141. package/fesm2022/cax-design-system-progressspinner.mjs +2 -2
  142. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  143. package/fesm2022/cax-design-system-radiobutton.mjs +2 -2
  144. package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
  145. package/fesm2022/cax-design-system-scroller.mjs +2 -2
  146. package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
  147. package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
  148. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  149. package/fesm2022/cax-design-system-sidebar.mjs +2 -2
  150. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  151. package/fesm2022/cax-design-system-skeleton.mjs +2 -2
  152. package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
  153. package/fesm2022/cax-design-system-speeddial.mjs +2 -2
  154. package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
  155. package/fesm2022/cax-design-system-splitbutton.mjs +2 -2
  156. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  157. package/fesm2022/cax-design-system-splitter.mjs +2 -2
  158. package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
  159. package/fesm2022/cax-design-system-steps.mjs +2 -2
  160. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  161. package/fesm2022/cax-design-system-table.mjs +18 -18
  162. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  163. package/fesm2022/cax-design-system-tableconfiguration.mjs +2 -2
  164. package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
  165. package/fesm2022/cax-design-system-tabview.mjs +4 -4
  166. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  167. package/fesm2022/cax-design-system-tag.mjs +2 -2
  168. package/fesm2022/cax-design-system-tag.mjs.map +1 -1
  169. package/fesm2022/cax-design-system-timeline.mjs +2 -2
  170. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  171. package/fesm2022/cax-design-system-toast.mjs +4 -4
  172. package/fesm2022/cax-design-system-toast.mjs.map +1 -1
  173. package/fesm2022/cax-design-system-toggleswitch.mjs +2 -2
  174. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  175. package/fesm2022/cax-design-system-tree.mjs +4 -4
  176. package/fesm2022/cax-design-system-tree.mjs.map +1 -1
  177. package/fesm2022/cax-design-system-treeselect.mjs +2 -2
  178. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  179. package/fesm2022/cax-design-system-tristatecheckbox.mjs +2 -2
  180. package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
  181. package/fesm2022/cax-design-system-upload.mjs +2 -2
  182. package/fesm2022/cax-design-system-upload.mjs.map +1 -1
  183. package/package.json +138 -138
  184. package/resources/cax.min.scss +1 -1
  185. package/resources/cax.scss +12518 -12488
  186. package/resources/components/accordion/accordion.scss +46 -46
  187. package/resources/components/autocomplete/autocomplete.scss +183 -183
  188. package/resources/components/avatar/avatar.scss +34 -34
  189. package/resources/components/avatargroup/avatargroup.scss +10 -10
  190. package/resources/components/badge/badge.scss +67 -67
  191. package/resources/components/blockui/blockui.css +26 -26
  192. package/resources/components/breadcrumb/breadcrumb.scss +33 -33
  193. package/resources/components/button/button.scss +163 -163
  194. package/resources/components/calendar/calendar.scss +235 -235
  195. package/resources/components/card/card.scss +50 -50
  196. package/resources/components/carousel/carousel.css +71 -71
  197. package/resources/components/cascadeselect/cascadeselect.scss +105 -105
  198. package/resources/components/checkbox/checkbox.scss +30 -30
  199. package/resources/components/chip/chip.scss +6 -6
  200. package/resources/components/chips/chips.scss +205 -205
  201. package/resources/components/colorpicker/colorpicker-images.scss +6 -6
  202. package/resources/components/colorpicker/colorpicker.scss +82 -82
  203. package/resources/components/commentbox/commentbox.scss +611 -611
  204. package/resources/components/common/common.scss +183 -183
  205. package/resources/components/confirmpopup/confirmpopup.css +53 -53
  206. package/resources/components/contextmenu/contextmenu.css +42 -42
  207. package/resources/components/dataview/dataview.css +13 -13
  208. package/resources/components/dialog/dialog.scss +171 -171
  209. package/resources/components/divider/divider.scss +86 -86
  210. package/resources/components/dock/dock.css +107 -107
  211. package/resources/components/dropdown/dropdown.scss +94 -94
  212. package/resources/components/editor/editor.scss +3 -3
  213. package/resources/components/fieldset/fieldset.css +30 -30
  214. package/resources/components/fileupload/fileupload.css +47 -47
  215. package/resources/components/galleria/galleria.css +281 -281
  216. package/resources/components/iconfield/iconfield.css +5 -5
  217. package/resources/components/image/image.scss +92 -92
  218. package/resources/components/inplace/inplace.css +19 -19
  219. package/resources/components/inputicon/inputicon.css +6 -6
  220. package/resources/components/inputmask/inputmask.scss +12 -12
  221. package/resources/components/inputnumber/inputnumber.scss +109 -109
  222. package/resources/components/inputotp/inputotp.css +2 -2
  223. package/resources/components/inputswitch/inputswitch.css +23 -23
  224. package/resources/components/inputtext/inputtext.scss +145 -145
  225. package/resources/components/inputtextarea/inputtextarea.scss +10 -10
  226. package/resources/components/knob/knob.css +20 -20
  227. package/resources/components/listbox/listbox.css +40 -40
  228. package/resources/components/megamenu/megamenu.css +108 -108
  229. package/resources/components/menu/menu.scss +30 -30
  230. package/resources/components/menubar/menubar.css +81 -81
  231. package/resources/components/message/message.css +17 -17
  232. package/resources/components/messages/messages.scss +55 -55
  233. package/resources/components/multiselect/multiselect.scss +132 -132
  234. package/resources/components/navigation/navigation.scss +196 -196
  235. package/resources/components/orderlist/orderlist.css +78 -78
  236. package/resources/components/organizationchart/organizationchart.css +62 -62
  237. package/resources/components/overlay/overlay.scss +80 -80
  238. package/resources/components/overlaypanel/overlaypanel.scss +66 -66
  239. package/resources/components/paginator/paginator.scss +41 -41
  240. package/resources/components/panel/panel.css +29 -29
  241. package/resources/components/panelmenu/panelmenu.css +45 -45
  242. package/resources/components/password/password.css +54 -54
  243. package/resources/components/picklist/picklist.css +60 -60
  244. package/resources/components/progressbar/progressbar.scss +107 -107
  245. package/resources/components/progressspinner/progressspinner.scss +94 -94
  246. package/resources/components/radiobutton/radiobutton.scss +34 -34
  247. package/resources/components/rating/rating.css +15 -15
  248. package/resources/components/ripple/ripple.scss +29 -29
  249. package/resources/components/scroller/scroller.scss +58 -58
  250. package/resources/components/scrollpanel/scrollpanel.css +50 -50
  251. package/resources/components/scrolltop/scrolltop.css +18 -18
  252. package/resources/components/sidebar/sidebar.scss +117 -117
  253. package/resources/components/skeleton/skeleton.scss +24 -24
  254. package/resources/components/slidemenu/slidemenu.css +100 -100
  255. package/resources/components/slider/slider.css +41 -41
  256. package/resources/components/speeddial/speeddial.scss +122 -122
  257. package/resources/components/spinner/spinner.css +63 -63
  258. package/resources/components/splitbutton/splitbutton.scss +53 -53
  259. package/resources/components/splitter/splitter.scss +73 -73
  260. package/resources/components/stepper/stepper.css +9 -9
  261. package/resources/components/steps/steps.scss +50 -50
  262. package/resources/components/table/table.scss +451 -451
  263. package/resources/components/tableconfiguration/tableconfiguration.scss +115 -115
  264. package/resources/components/tabmenu/tabmenu.css +80 -80
  265. package/resources/components/tabview/tabview.scss +198 -198
  266. package/resources/components/tag/tag.scss +23 -23
  267. package/resources/components/terminal/terminal.css +24 -24
  268. package/resources/components/tieredmenu/tieredmenu.scss +55 -55
  269. package/resources/components/timeline/timeline.scss +128 -128
  270. package/resources/components/toast/toast.scss +87 -87
  271. package/resources/components/toggleswitch/toggleswitch.scss +36 -36
  272. package/resources/components/toolbar/toolbar.css +19 -19
  273. package/resources/components/tooltip/tooltip.scss +124 -124
  274. package/resources/components/tree/tree.scss +154 -154
  275. package/resources/components/treeselect/treeselect.scss +114 -114
  276. package/resources/components/treetable/treetable.css +205 -205
  277. package/resources/components/upload/upload.component.scss +145 -145
  278. package/resources/logo/dataX-dark.svg +12 -12
  279. package/resources/logo/dataX-icon-dark.svg +5 -5
  280. package/resources/logo/dataX-icon.svg +5 -5
  281. package/resources/logo/dataX.svg +12 -12
  282. package/resources/styles/colors.scss +397 -397
  283. package/resources/styles/shadow-blur.scss +21 -21
  284. package/resources/styles/space-radius-border.scss +49 -49
  285. package/resources/styles/typography.scss +116 -135
@@ -1 +1 @@
1
- {"version":3,"file":"cax-design-system-inputmask.mjs","sources":["../../src/app/components/inputmask/inputmask.ts","../../src/app/components/inputmask/inputmask.html","../../src/app/components/inputmask/inputmask.module.ts","../../src/app/components/inputmask/cax-design-system-inputmask.ts"],"sourcesContent":["/*\n Port of jQuery MaskedInput by DigitalBush as a Native Angular2 Component in Typescript without jQuery\n https://github.com/digitalBush/jquery.maskedinput/\n\n Copyright (c) 2007-2014 Josh Bush (digitalbush.com)\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation\n files (the \"Software\"), to deal in the Software without\n restriction, including without limitation the rights to use,\n copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the\n Software is furnished to do so, subject to the following\n conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n OTHER DEALINGS IN THE SOFTWARE.\n*/\nimport { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { InputTextModule } from 'cax-design-system/inputtext';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { Caret } from './inputmask.interface';\n\nexport const INPUTMASK_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputMask),\n multi: true\n};\n/**\n * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.\n * @group Components\n */\n@Component({\n selector: 'cax-inputMask',\n templateUrl: './inputmask.html',\n host: {\n class: 'cax-element',\n '[class.cax-inputwrapper-filled]': 'filled',\n '[class.cax-inputwrapper-focus]': 'focused',\n '[class.cax-inputmask-clearable]': 'showClear && !disabled'\n },\n providers: [INPUTMASK_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./inputmask.scss']\n})\nexport class InputMask implements OnInit, ControlValueAccessor {\n /**\n * HTML5 input type.\n * @group Props\n */\n @Input() type: string = 'text';\n /**\n * Placeholder character in mask, default is underscore.\n * @group Props\n */\n @Input() slotChar: string = '_';\n /**\n * Clears the incomplete value on blur.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoClear: boolean = true;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Style class of the input field.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Size of the input field.\n * @group Props\n */\n @Input({ transform: numberAttribute }) size: number | undefined;\n /**\n * Maximum number of character allows in the input field.\n * @group Props\n */\n @Input({ transform: numberAttribute }) maxlength: number | undefined;\n /**\n * Specifies tab order of the element.\n * @group Props\n */\n @Input() tabindex: string | undefined;\n /**\n * Title text of the input text.\n * @group Props\n */\n @Input() title: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to indicate that user input is required on an element before a form can be submitted.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) ariaRequired: boolean | undefined;\n /**\n * When present, it specifies that the element value cannot be altered.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Defines if ngModel sets the raw unmasked value to bound value or the formatted mask value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unmask: boolean | undefined;\n /**\n * Name of the input field.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * Regex pattern for alpha characters\n * @group Props\n */\n @Input() characterPattern: string = '[A-Za-z]';\n /**\n * When present, the input gets a focus automatically on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * When present, the input gets a focus automatically on load.\n * @group Props\n * @deprecated Use autofocus property instead.\n */\n @Input({ transform: booleanAttribute }) set autoFocus(value: boolean | undefined) {\n this.autofocus = value;\n console.warn('autoFocus is deprecated. Use autofocus property instead.');\n }\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() autocomplete: string | undefined;\n /**\n * When present, it specifies that whether to clean buffer value from model.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) keepBuffer: boolean = false;\n /**\n * Mask pattern.\n * @group Props\n */\n @Input() get mask(): string | undefined | null {\n return this._mask;\n }\n set mask(val: string | undefined | null) {\n this._mask = val;\n\n this.initMask();\n this.writeValue('');\n this.onModelChange(this.value);\n }\n /**\n * Callback to invoke when the mask is completed.\n * @group Emits\n */\n @Output() onComplete: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on input.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onInput: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on input key press.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onKeydown: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('input', { static: true }) inputViewChild: Nullable<ElementRef>;\n\n @ContentChildren(CaxTemplate) templates!: QueryList<CaxTemplate>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n value: Nullable<string>;\n\n _mask: Nullable<string>;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n input: Nullable<HTMLInputElement>;\n\n filled: Nullable<boolean>;\n\n defs: Nullable<{ [klass: string]: any }>;\n\n tests: RegExp[] | any;\n\n partialPosition: Nullable<number>;\n\n firstNonMaskPos: Nullable<number>;\n\n lastRequiredNonMaskPos: Nullable<number>;\n\n len: Nullable<number>;\n\n oldVal: Nullable<string>;\n\n buffer: string[] | any;\n\n defaultBuffer: Nullable<string>;\n\n focusText: Nullable<string>;\n\n caretTimeoutId: any;\n\n androidChrome: boolean = true;\n\n focused: Nullable<boolean>;\n\n _variant: 'filled' | 'outlined' = 'outlined';\n\n @Input() label?: string;\n @Input() leftIcon?: boolean = false;\n @Input() rightIcon?: boolean = false;\n @Input() clearIcon: boolean = false;\n @Input() leftIconClass: string = '';\n @Input() rightIconClass: string = '';\n @Input() invalid: boolean = false;\n @Input() errorText?: string;\n @Input() successText?: string;\n @Input() heightsize: 'sm' | 'md' | 'lg' = 'md';\n\n get inputClass() {\n return {\n 'cax-inputmask': true\n };\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef,\n public cd: ChangeDetectorRef,\n public config: caxConfig\n ) {}\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId)) {\n let ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n }\n\n this.initMask();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n }\n });\n }\n\n initMask() {\n this.tests = [];\n this.partialPosition = (this.mask as string).length;\n this.len = (this.mask as string).length;\n this.firstNonMaskPos = null;\n this.defs = {\n '9': '[0-9]',\n a: this.characterPattern,\n '*': `${this.characterPattern}|[0-9]`\n };\n\n let maskTokens = (this.mask as string).split('');\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n if (c == '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n if (c != '?') {\n if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));\n else this.buffer.push(c);\n }\n }\n this.defaultBuffer = this.buffer.join('');\n }\n\n writeValue(value: any): void {\n this.value = value;\n\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n if (this.value == undefined || this.value == null) this.inputViewChild.nativeElement.value = '';\n else this.inputViewChild.nativeElement.value = this.value;\n\n this.checkVal();\n this.focusText = this.inputViewChild.nativeElement.value;\n this.updateFilledState();\n }\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n caret(first?: number, last?: number): Caret | undefined {\n let range, begin, end;\n\n if (!this.inputViewChild?.nativeElement.offsetParent || this.inputViewChild.nativeElement !== this.inputViewChild.nativeElement.ownerDocument.activeElement) {\n return;\n }\n\n if (typeof first == 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n if (this.inputViewChild.nativeElement.setSelectionRange) {\n this.inputViewChild.nativeElement.setSelectionRange(begin, end);\n } else if (this.inputViewChild.nativeElement['createTextRange']) {\n range = this.inputViewChild.nativeElement['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (this.inputViewChild.nativeElement.setSelectionRange) {\n begin = this.inputViewChild.nativeElement.selectionStart;\n end = this.inputViewChild.nativeElement.selectionEnd;\n } else if ((this.document as any['selection']) && (this.document as any)['selection'].createRange) {\n range = (this.document as any['selection']).createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n }\n\n isCompleted(): boolean {\n let completed: boolean;\n for (let i = this.firstNonMaskPos as number; i <= (this.lastRequiredNonMaskPos as number); i++) {\n if (this.tests[i] && (this.buffer as string[])[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n getPlaceholder(i: number) {\n if (i < this.slotChar.length) {\n return this.slotChar.charAt(i);\n }\n return this.slotChar.charAt(0);\n }\n\n seekNext(pos: number) {\n while (++pos < (this.len as number) && !this.tests[pos]);\n return pos;\n }\n\n seekPrev(pos: number) {\n while (--pos >= 0 && !this.tests[pos]);\n return pos;\n }\n\n shiftL(begin: number, end: number) {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = this.seekNext(end); i < (this.len as number); i++) {\n if (this.tests[i]) {\n if (j < (this.len as number) && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else {\n break;\n }\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos as number, begin));\n }\n\n shiftR(pos: number) {\n let i, c, j, t;\n\n for (i = pos, c = this.getPlaceholder(pos); i < (this.len as number); i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n if (j < (this.len as number) && this.tests[j].test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n }\n\n handleAndroidInput(e: Event) {\n var curVal = this.inputViewChild?.nativeElement.value;\n var pos = this.caret() as Caret;\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // a deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;\n if (pos.begin === 0) {\n while (pos.begin < (this.firstNonMaskPos as number) && !this.tests[pos.begin]) pos.begin++;\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n this.updateModel(e);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n } else {\n this.checkVal(true);\n while (pos.begin < (this.len as number) && !this.tests[pos.begin]) pos.begin++;\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n this.updateModel(e);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n }\n }\n\n onInputBlur(e: Event) {\n this.focused = false;\n this.onModelTouched();\n if (!this.keepBuffer) {\n this.checkVal();\n }\n this.updateFilledState();\n this.onBlur.emit(e);\n\n if (this.inputViewChild?.nativeElement.value != this.focusText || this.inputViewChild?.nativeElement.value != this.value) {\n this.updateModel(e);\n let event = this.document.createEvent('HTMLEvents');\n event.initEvent('change', true, false);\n this.inputViewChild?.nativeElement.dispatchEvent(event);\n }\n }\n\n onInputKeydown(e: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n\n let k = e.which || e.keyCode,\n pos,\n begin,\n end;\n let iPhone;\n if (isPlatformBrowser(this.platformId)) {\n iPhone = /iphone/i.test(DomHandler.getUserAgent());\n }\n this.oldVal = this.inputViewChild?.nativeElement.value;\n\n this.onKeydown.emit(e);\n\n //backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret() as Caret;\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n if (this.keepBuffer) {\n this.shiftL(begin, end - 2);\n } else {\n this.shiftL(begin, end - 1);\n }\n this.updateModel(e);\n this.onInput.emit(e);\n\n e.preventDefault();\n } else if (k === 13) {\n // enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // escape\n (this.inputViewChild as ElementRef).nativeElement.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModel(e);\n\n e.preventDefault();\n }\n }\n\n onKeyPress(e: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n\n var k = e.which || e.keyCode,\n pos = this.caret() as Caret,\n p: number,\n c: string,\n next: number,\n completed!: boolean;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n //Ignore\n return;\n } else if (k && k !== 13) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n if (p < (this.len as number)) {\n c = String.fromCharCode(k);\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (DomHandler.isClient() && /android/i.test(DomHandler.getUserAgent())) {\n let proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n\n if (pos.begin <= (this.lastRequiredNonMaskPos as number)) {\n completed = this.isCompleted();\n }\n\n this.onInput.emit(e);\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n\n this.updateFilledState();\n\n if (completed) {\n this.onComplete.emit();\n }\n }\n\n clearBuffer(start: number, end: number) {\n if (!this.keepBuffer) {\n let i;\n for (i = start; i < end && i < (this.len as number); i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n }\n\n writeBuffer() {\n (this.inputViewChild as ElementRef).nativeElement.value = this.buffer.join('');\n }\n\n checkVal(allow?: boolean): number {\n //try to place characters where they belong\n let test = this.inputViewChild?.nativeElement.value,\n lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < (this.len as number); i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n if (!this.keepBuffer) {\n this.buffer[i] = c;\n }\n lastMatch = i;\n break;\n }\n }\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len as number);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n if (i < (this.partialPosition as number)) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < (this.partialPosition as number)) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.inputViewChild?.nativeElement.value) this.inputViewChild.nativeElement.value = '';\n this.clearBuffer(0, this.len as number);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n (this.inputViewChild as ElementRef).nativeElement.value = this.inputViewChild?.nativeElement.value.substring(0, lastMatch + 1);\n }\n return (this.partialPosition ? i : this.firstNonMaskPos) as number;\n }\n\n onInputFocus(event: Event) {\n if (this.readonly) {\n return;\n }\n\n this.focused = true;\n\n clearTimeout(this.caretTimeoutId);\n let pos: number;\n\n this.focusText = this.inputViewChild?.nativeElement.value;\n\n pos = this.keepBuffer ? this.inputViewChild?.nativeElement.value.length : this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.inputViewChild?.nativeElement !== this.inputViewChild?.nativeElement.ownerDocument.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask?.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n\n this.onFocus.emit(event);\n }\n\n onInputChange(event: Event) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n\n this.onInput.emit(event);\n }\n\n handleInputChange(event: Event) {\n if (this.readonly || this.disabled) {\n return;\n }\n\n setTimeout(() => {\n var pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n }\n\n getUnmaskedValue() {\n let unmaskedBuffer = [];\n for (let i = 0; i < this.buffer.length; i++) {\n let c = this.buffer[i];\n if (this.tests[i] && c != this.getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n }\n\n updateModel(e: Event) {\n const updatedValue = this.unmask ? this.getUnmaskedValue() : (e.target as HTMLInputElement).value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.onModelChange(this.value);\n }\n }\n\n updateFilledState() {\n this.filled = this.inputViewChild?.nativeElement && this.inputViewChild.nativeElement.value != '';\n }\n\n focus() {\n this.inputViewChild?.nativeElement.focus();\n }\n\n clear() {\n (this.inputViewChild as ElementRef).nativeElement.value = '';\n this.value = null;\n this.onModelChange(this.value);\n this.onClear.emit();\n }\n}\n","<div class=\"cax-input-container\"\r\n [class]=\"styleClass\"\r\n [ngClass]=\"'cax-input-size-' + heightsize\"\r\n [ngStyle]=\"style\">\r\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\">{{ label }}</label>\r\n\r\n <div class=\"cax-input-wrapper\"\r\n [ngClass]=\"{\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon,\r\n 'with-clear-icon': clearIcon && value,\r\n 'input-disabled': disabled\r\n }\"\r\n >\r\n <!-- Left Icon -->\r\n <span *ngIf=\"leftIcon\"\r\n class=\"cax-icon-container cax-icon-left\">\r\n <i [ngClass]=\"leftIconClass\"></i>\r\n </span>\r\n\r\n <input\r\n #input\r\n [class]=\"styleClass\"\r\n [ngClass]=\"{\r\n 'cax-inputtext': true,\r\n 'cax-inputmask': true,\r\n 'cax-input-invalid': invalid,\r\n 'input-disabled': disabled,\r\n 'with-left-icon': leftIcon,\r\n 'with-right-icon': rightIcon || (clearIcon && value)\r\n }\"\r\n [attr.id]=\"inputId\"\r\n [attr.type]=\"type\"\r\n [attr.name]=\"name\"\r\n [ngStyle]=\"style\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.size]=\"size\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\r\n [attr.aria-required]=\"ariaRequired\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.required]=\"required\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n (keydown)=\"onInputKeydown($event)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n (input)=\"onInputChange($event)\"\r\n (paste)=\"handleInputChange($event)\"\r\n [attr.data-pc-name]=\"'inputmask'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n [attr.aria-describedby]=\"successText || invalid ? 'helper-text' : null\"\r\n />\r\n\r\n <!-- Clear Icon (before right icon) -->\r\n <span *ngIf=\"clearIcon && value\"\r\n class=\"cax-icon-container cax-clear-icon clickable-icon\"\r\n [ngClass]=\"{'no-right-icon': !rightIcon}\"\r\n (click)=\"clear()\">\r\n <i class=\"cax cax-close-circle\"></i>\r\n</span>\r\n\r\n<!-- Right Icon -->\r\n<span *ngIf=\"rightIcon\"\r\n class=\"cax-icon-container cax-icon-right\">\r\n <i [ngClass]=\"rightIconClass\"></i>\r\n</span>\r\n</div>\r\n\r\n<!-- Error Message with conditional opacity -->\r\n<small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\r\n\r\n<!-- Helper Text with conditional opacity -->\r\n<small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\r\n</div>\r\n\r\n<ng-container *ngIf=\"value != null && filled && showClear && !disabled\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-inputmask-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\r\n <span *ngIf=\"clearIconTemplate\" class=\"p-inputmask-clear-icon\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n</ng-container>\r\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { InputTextModule } from 'cax-design-system/inputtext';\nimport { InputMask } from './inputmask';\n\n@NgModule({\n imports: [CommonModule, InputTextModule, AutoFocusModule, TimesIcon],\n exports: [InputMask, SharedModule],\n declarations: [InputMask]\n})\nexport class InputMaskModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cax-design-system-inputmask.mjs","sources":["../../src/app/components/inputmask/inputmask.ts","../../src/app/components/inputmask/inputmask.html","../../src/app/components/inputmask/inputmask.module.ts","../../src/app/components/inputmask/cax-design-system-inputmask.ts"],"sourcesContent":["/*\n Port of jQuery MaskedInput by DigitalBush as a Native Angular2 Component in Typescript without jQuery\n https://github.com/digitalBush/jquery.maskedinput/\n\n Copyright (c) 2007-2014 Josh Bush (digitalbush.com)\n\n Permission is hereby granted, free of charge, to any person\n obtaining a copy of this software and associated documentation\n files (the \"Software\"), to deal in the Software without\n restriction, including without limitation the rights to use,\n copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the\n Software is furnished to do so, subject to the following\n conditions:\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n OTHER DEALINGS IN THE SOFTWARE.\n*/\nimport { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgModule,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n forwardRef,\n numberAttribute\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { caxConfig, CaxTemplate, SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { DomHandler } from 'cax-design-system/dom';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { InputTextModule } from 'cax-design-system/inputtext';\nimport { Nullable } from 'cax-design-system/ts-helpers';\nimport { Caret } from './inputmask.interface';\n\nexport const INPUTMASK_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputMask),\n multi: true\n};\n/**\n * InputMask component is used to enter input in a certain format such as numeric, date, currency, email and phone.\n * @group Components\n */\n@Component({\n selector: 'cax-inputMask',\n templateUrl: './inputmask.html',\n host: {\n class: 'cax-element',\n '[class.cax-inputwrapper-filled]': 'filled',\n '[class.cax-inputwrapper-focus]': 'focused',\n '[class.cax-inputmask-clearable]': 'showClear && !disabled'\n },\n providers: [INPUTMASK_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./inputmask.scss']\n})\nexport class InputMask implements OnInit, ControlValueAccessor {\n /**\n * HTML5 input type.\n * @group Props\n */\n @Input() type: string = 'text';\n /**\n * Placeholder character in mask, default is underscore.\n * @group Props\n */\n @Input() slotChar: string = '_';\n /**\n * Clears the incomplete value on blur.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoClear: boolean = true;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Style class of the input field.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * Size of the input field.\n * @group Props\n */\n @Input({ transform: numberAttribute }) size: number | undefined;\n /**\n * Maximum number of character allows in the input field.\n * @group Props\n */\n @Input({ transform: numberAttribute }) maxlength: number | undefined;\n /**\n * Specifies tab order of the element.\n * @group Props\n */\n @Input() tabindex: string | undefined;\n /**\n * Title text of the input text.\n * @group Props\n */\n @Input() title: string | undefined;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined' = 'outlined';\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Used to indicate that user input is required on an element before a form can be submitted.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) ariaRequired: boolean | undefined;\n /**\n * When present, it specifies that the element value cannot be altered.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Defines if ngModel sets the raw unmasked value to bound value or the formatted mask value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unmask: boolean | undefined;\n /**\n * Name of the input field.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * Regex pattern for alpha characters\n * @group Props\n */\n @Input() characterPattern: string = '[A-Za-z]';\n /**\n * When present, the input gets a focus automatically on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * When present, the input gets a focus automatically on load.\n * @group Props\n * @deprecated Use autofocus property instead.\n */\n @Input({ transform: booleanAttribute }) set autoFocus(value: boolean | undefined) {\n this.autofocus = value;\n console.warn('autoFocus is deprecated. Use autofocus property instead.');\n }\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() autocomplete: string | undefined;\n /**\n * When present, it specifies that whether to clean buffer value from model.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) keepBuffer: boolean = false;\n /**\n * Mask pattern.\n * @group Props\n */\n @Input() get mask(): string | undefined | null {\n return this._mask;\n }\n set mask(val: string | undefined | null) {\n this._mask = val;\n\n this.initMask();\n this.writeValue('');\n this.onModelChange(this.value);\n }\n /**\n * Callback to invoke when the mask is completed.\n * @group Emits\n */\n @Output() onComplete: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on input.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onInput: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on input key press.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onKeydown: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when input field is cleared.\n * @group Emits\n */\n @Output() onClear: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('input', { static: true }) inputViewChild: Nullable<ElementRef>;\n\n @ContentChildren(CaxTemplate) templates!: QueryList<CaxTemplate>;\n\n clearIconTemplate: Nullable<TemplateRef<any>>;\n\n value: Nullable<string>;\n\n _mask: Nullable<string>;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n input: Nullable<HTMLInputElement>;\n\n filled: Nullable<boolean>;\n\n defs: Nullable<{ [klass: string]: any }>;\n\n tests: RegExp[] | any;\n\n partialPosition: Nullable<number>;\n\n firstNonMaskPos: Nullable<number>;\n\n lastRequiredNonMaskPos: Nullable<number>;\n\n len: Nullable<number>;\n\n oldVal: Nullable<string>;\n\n buffer: string[] | any;\n\n defaultBuffer: Nullable<string>;\n\n focusText: Nullable<string>;\n\n caretTimeoutId: any;\n\n androidChrome: boolean = true;\n\n focused: Nullable<boolean>;\n\n _variant: 'filled' | 'outlined' = 'outlined';\n\n @Input() label?: string;\n @Input() leftIcon?: boolean = false;\n @Input() rightIcon?: boolean = false;\n @Input() clearIcon: boolean = false;\n @Input() leftIconClass: string = '';\n @Input() rightIconClass: string = '';\n @Input() invalid: boolean = false;\n @Input() errorText?: string;\n @Input() successText?: string;\n @Input() heightsize: 'sm' | 'md' | 'lg' = 'md';\n\n get inputClass() {\n return {\n 'cax-inputmask': true\n };\n }\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: any,\n public el: ElementRef,\n public cd: ChangeDetectorRef,\n public config: caxConfig\n ) {}\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId)) {\n let ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n }\n\n this.initMask();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'clearicon':\n this.clearIconTemplate = item.template;\n break;\n }\n });\n }\n\n initMask() {\n this.tests = [];\n this.partialPosition = (this.mask as string).length;\n this.len = (this.mask as string).length;\n this.firstNonMaskPos = null;\n this.defs = {\n '9': '[0-9]',\n a: this.characterPattern,\n '*': `${this.characterPattern}|[0-9]`\n };\n\n let maskTokens = (this.mask as string).split('');\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n if (c == '?') {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n for (let i = 0; i < maskTokens.length; i++) {\n let c = maskTokens[i];\n if (c != '?') {\n if (this.defs[c]) this.buffer.push(this.getPlaceholder(i));\n else this.buffer.push(c);\n }\n }\n this.defaultBuffer = this.buffer.join('');\n }\n\n writeValue(value: any): void {\n this.value = value;\n\n if (this.inputViewChild && this.inputViewChild.nativeElement) {\n if (this.value == undefined || this.value == null) this.inputViewChild.nativeElement.value = '';\n else this.inputViewChild.nativeElement.value = this.value;\n\n this.checkVal();\n this.focusText = this.inputViewChild.nativeElement.value;\n this.updateFilledState();\n }\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n caret(first?: number, last?: number): Caret | undefined {\n let range, begin, end;\n\n if (!this.inputViewChild?.nativeElement.offsetParent || this.inputViewChild.nativeElement !== this.inputViewChild.nativeElement.ownerDocument.activeElement) {\n return;\n }\n\n if (typeof first == 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n if (this.inputViewChild.nativeElement.setSelectionRange) {\n this.inputViewChild.nativeElement.setSelectionRange(begin, end);\n } else if (this.inputViewChild.nativeElement['createTextRange']) {\n range = this.inputViewChild.nativeElement['createTextRange']();\n range.collapse(true);\n range.moveEnd('character', end);\n range.moveStart('character', begin);\n range.select();\n }\n } else {\n if (this.inputViewChild.nativeElement.setSelectionRange) {\n begin = this.inputViewChild.nativeElement.selectionStart;\n end = this.inputViewChild.nativeElement.selectionEnd;\n } else if ((this.document as any['selection']) && (this.document as any)['selection'].createRange) {\n range = (this.document as any['selection']).createRange();\n begin = 0 - range.duplicate().moveStart('character', -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n }\n\n isCompleted(): boolean {\n let completed: boolean;\n for (let i = this.firstNonMaskPos as number; i <= (this.lastRequiredNonMaskPos as number); i++) {\n if (this.tests[i] && (this.buffer as string[])[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n getPlaceholder(i: number) {\n if (i < this.slotChar.length) {\n return this.slotChar.charAt(i);\n }\n return this.slotChar.charAt(0);\n }\n\n seekNext(pos: number) {\n while (++pos < (this.len as number) && !this.tests[pos]);\n return pos;\n }\n\n seekPrev(pos: number) {\n while (--pos >= 0 && !this.tests[pos]);\n return pos;\n }\n\n shiftL(begin: number, end: number) {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = this.seekNext(end); i < (this.len as number); i++) {\n if (this.tests[i]) {\n if (j < (this.len as number) && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else {\n break;\n }\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos as number, begin));\n }\n\n shiftR(pos: number) {\n let i, c, j, t;\n\n for (i = pos, c = this.getPlaceholder(pos); i < (this.len as number); i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n if (j < (this.len as number) && this.tests[j].test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n }\n\n handleAndroidInput(e: Event) {\n var curVal = this.inputViewChild?.nativeElement.value;\n var pos = this.caret() as Caret;\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // a deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) pos.begin--;\n if (pos.begin === 0) {\n while (pos.begin < (this.firstNonMaskPos as number) && !this.tests[pos.begin]) pos.begin++;\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n this.updateModel(e);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n } else {\n this.checkVal(true);\n while (pos.begin < (this.len as number) && !this.tests[pos.begin]) pos.begin++;\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n this.updateModel(e);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n }\n }\n\n onInputBlur(e: Event) {\n this.focused = false;\n this.onModelTouched();\n if (!this.keepBuffer) {\n this.checkVal();\n }\n this.updateFilledState();\n this.onBlur.emit(e);\n\n if (this.inputViewChild?.nativeElement.value != this.focusText || this.inputViewChild?.nativeElement.value != this.value) {\n this.updateModel(e);\n let event = this.document.createEvent('HTMLEvents');\n event.initEvent('change', true, false);\n this.inputViewChild?.nativeElement.dispatchEvent(event);\n }\n }\n\n onInputKeydown(e: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n\n let k = e.which || e.keyCode,\n pos,\n begin,\n end;\n let iPhone;\n if (isPlatformBrowser(this.platformId)) {\n iPhone = /iphone/i.test(DomHandler.getUserAgent());\n }\n this.oldVal = this.inputViewChild?.nativeElement.value;\n\n this.onKeydown.emit(e);\n\n //backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret() as Caret;\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n if (this.keepBuffer) {\n this.shiftL(begin, end - 2);\n } else {\n this.shiftL(begin, end - 1);\n }\n this.updateModel(e);\n this.onInput.emit(e);\n\n e.preventDefault();\n } else if (k === 13) {\n // enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // escape\n (this.inputViewChild as ElementRef).nativeElement.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModel(e);\n\n e.preventDefault();\n }\n }\n\n onKeyPress(e: KeyboardEvent) {\n if (this.readonly) {\n return;\n }\n\n var k = e.which || e.keyCode,\n pos = this.caret() as Caret,\n p: number,\n c: string,\n next: number,\n completed!: boolean;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n //Ignore\n return;\n } else if (k && k !== 13) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n if (p < (this.len as number)) {\n c = String.fromCharCode(k);\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (DomHandler.isClient() && /android/i.test(DomHandler.getUserAgent())) {\n let proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n\n if (pos.begin <= (this.lastRequiredNonMaskPos as number)) {\n completed = this.isCompleted();\n }\n\n this.onInput.emit(e);\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n\n this.updateFilledState();\n\n if (completed) {\n this.onComplete.emit();\n }\n }\n\n clearBuffer(start: number, end: number) {\n if (!this.keepBuffer) {\n let i;\n for (i = start; i < end && i < (this.len as number); i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n }\n\n writeBuffer() {\n (this.inputViewChild as ElementRef).nativeElement.value = this.buffer.join('');\n }\n\n checkVal(allow?: boolean): number {\n //try to place characters where they belong\n let test = this.inputViewChild?.nativeElement.value,\n lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < (this.len as number); i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n if (!this.keepBuffer) {\n this.buffer[i] = c;\n }\n lastMatch = i;\n break;\n }\n }\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len as number);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n if (i < (this.partialPosition as number)) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < (this.partialPosition as number)) {\n if (this.autoClear || this.buffer.join('') === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.inputViewChild?.nativeElement.value) this.inputViewChild.nativeElement.value = '';\n this.clearBuffer(0, this.len as number);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n (this.inputViewChild as ElementRef).nativeElement.value = this.inputViewChild?.nativeElement.value.substring(0, lastMatch + 1);\n }\n return (this.partialPosition ? i : this.firstNonMaskPos) as number;\n }\n\n onInputFocus(event: Event) {\n if (this.readonly) {\n return;\n }\n\n this.focused = true;\n\n clearTimeout(this.caretTimeoutId);\n let pos: number;\n\n this.focusText = this.inputViewChild?.nativeElement.value;\n\n pos = this.keepBuffer ? this.inputViewChild?.nativeElement.value.length : this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.inputViewChild?.nativeElement !== this.inputViewChild?.nativeElement.ownerDocument.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask?.replace('?', '').length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n\n this.onFocus.emit(event);\n }\n\n onInputChange(event: Event) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n\n this.onInput.emit(event);\n }\n\n handleInputChange(event: Event) {\n if (this.readonly || this.disabled) {\n return;\n }\n\n setTimeout(() => {\n var pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n if (this.isCompleted()) {\n this.onComplete.emit();\n }\n }, 0);\n }\n\n getUnmaskedValue() {\n let unmaskedBuffer = [];\n for (let i = 0; i < this.buffer.length; i++) {\n let c = this.buffer[i];\n if (this.tests[i] && c != this.getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n }\n\n updateModel(e: Event) {\n const updatedValue = this.unmask ? this.getUnmaskedValue() : (e.target as HTMLInputElement).value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.onModelChange(this.value);\n }\n }\n\n updateFilledState() {\n this.filled = this.inputViewChild?.nativeElement && this.inputViewChild.nativeElement.value != '';\n }\n\n focus() {\n this.inputViewChild?.nativeElement.focus();\n }\n\n clear() {\n (this.inputViewChild as ElementRef).nativeElement.value = '';\n this.value = null;\n this.onModelChange(this.value);\n this.onClear.emit();\n }\n}\n","<div class=\"cax-input-container\"\n [class]=\"styleClass\"\n [ngClass]=\"'cax-input-size-' + heightsize\"\n [ngStyle]=\"style\">\n <label *ngIf=\"label\" class=\"cax-label\" [ngClass]=\"{'disabled-opacity': disabled}\">{{ label }}</label>\n\n <div class=\"cax-input-wrapper\"\n [ngClass]=\"{\n 'with-left-icon': leftIcon,\n 'with-right-icon': rightIcon,\n 'with-clear-icon': clearIcon && value,\n 'input-disabled': disabled\n }\"\n >\n <!-- Left Icon -->\n <span *ngIf=\"leftIcon\"\n class=\"cax-icon-container cax-icon-left\">\n <i [ngClass]=\"leftIconClass\"></i>\n </span>\n\n <input\n #input\n [class]=\"styleClass\"\n [ngClass]=\"{\n 'cax-inputtext': true,\n 'cax-inputmask': true,\n 'cax-input-invalid': invalid,\n 'input-disabled': disabled,\n 'with-left-icon': leftIcon,\n 'with-right-icon': rightIcon || (clearIcon && value)\n }\"\n [attr.id]=\"inputId\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [ngStyle]=\"style\"\n [attr.placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledBy]=\"ariaLabelledBy\"\n [attr.aria-required]=\"ariaRequired\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.required]=\"required\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onInputKeydown($event)\"\n (keypress)=\"onKeyPress($event)\"\n (input)=\"onInputChange($event)\"\n (paste)=\"handleInputChange($event)\"\n [attr.data-pc-name]=\"'inputmask'\"\n [attr.data-pc-section]=\"'root'\"\n [attr.aria-describedby]=\"successText || invalid ? 'helper-text' : null\"\n />\n\n <!-- Clear Icon (before right icon) -->\n <span *ngIf=\"clearIcon && value\"\n class=\"cax-icon-container cax-clear-icon clickable-icon\"\n [ngClass]=\"{'no-right-icon': !rightIcon}\"\n (click)=\"clear()\">\n <i class=\"cax cax-close-circle\"></i>\n</span>\n\n<!-- Right Icon -->\n<span *ngIf=\"rightIcon\"\n class=\"cax-icon-container cax-icon-right\">\n <i [ngClass]=\"rightIconClass\"></i>\n</span>\n</div>\n\n<!-- Error Message with conditional opacity -->\n<small *ngIf=\"invalid\" id=\"helper-text\" class=\"cax-error disabled-opacity\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ errorText }} </small>\n\n<!-- Helper Text with conditional opacity -->\n<small *ngIf=\"successText && !invalid\" id=\"helper-text\" class=\"cax-helper-text\" [ngClass]=\"{'disabled-opacity': disabled}\"> {{ successText }} </small>\n</div>\n\n<ng-container *ngIf=\"value != null && filled && showClear && !disabled\">\n <TimesIcon *ngIf=\"!clearIconTemplate\" [styleClass]=\"'cax-inputmask-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\n <span *ngIf=\"clearIconTemplate\" class=\"p-inputmask-clear-icon\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\n </span>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SharedModule } from 'cax-design-system/api';\nimport { AutoFocusModule } from 'cax-design-system/autofocus';\nimport { TimesIcon } from 'cax-design-system/icons/times';\nimport { InputTextModule } from 'cax-design-system/inputtext';\nimport { InputMask } from './inputmask';\n\n@NgModule({\n imports: [CommonModule, InputTextModule, AutoFocusModule, TimesIcon],\n exports: [InputMask, SharedModule],\n declarations: [InputMask]\n})\nexport class InputMaskModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1161,7 +1161,7 @@ class InputNumber {
1161
1161
  }
1162
1162
  }
1163
1163
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputNumber, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
1164
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: InputNumber, isStandalone: true, selector: "cax-inputNumber", inputs: { showButtons: ["showButtons", "showButtons", booleanAttribute], format: ["format", "format", booleanAttribute], buttonLayout: "buttonLayout", inputId: "inputId", styleClass: "styleClass", style: "style", placeholder: "placeholder", size: ["size", "size", numberAttribute], maxlength: ["maxlength", "maxlength", numberAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], title: "title", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", ariaRequired: ["ariaRequired", "ariaRequired", booleanAttribute], name: "name", required: ["required", "required", booleanAttribute], autocomplete: "autocomplete", min: ["min", "min", numberAttribute], max: ["max", "max", numberAttribute], incrementButtonClass: "incrementButtonClass", decrementButtonClass: "decrementButtonClass", incrementButtonIcon: "incrementButtonIcon", decrementButtonIcon: "decrementButtonIcon", readonly: ["readonly", "readonly", booleanAttribute], step: ["step", "step", numberAttribute], allowEmpty: ["allowEmpty", "allowEmpty", booleanAttribute], locale: "locale", localeMatcher: "localeMatcher", mode: "mode", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], variant: "variant", minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefixIcon: "prefixIcon", prefix: "prefix", suffix: "suffix", inputStyle: "inputStyle", inputStyleClass: "inputStyleClass", showClear: ["showClear", "showClear", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], disabled: "disabled" }, outputs: { onInput: "onInput", onFocus: "onFocus", onBlur: "onBlur", onKeyDown: "onKeyDown", onClear: "onClear" }, host: { properties: { "class.cax-inputwrapper-filled": "filled", "class.cax-inputwrapper-focus": "focused", "class.cax-inputnumber-clearable": "showClear && buttonLayout != \"vertical\"" }, classAttribute: "cax-element cax-inputwrapper" }, providers: [INPUTNUMBER_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<span\r\n [ngClass]=\"{\r\n 'cax-inputnumber cax-component': true,\r\n 'cax-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',\r\n 'cax-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal',\r\n 'cax-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical',\r\n 'cax-input-icon-left': (prefix || prefixIcon) && buttonLayout === 'stacked',\r\n 'cax-input-icon-right': suffix,\r\n 'cax-disabled': disabled\r\n }\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'inputnumber'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n>\r\n <!-- Only show prefix/icon in stacked layout -->\r\n <ng-container *ngIf=\"(prefix || prefixIcon) && buttonLayout === 'stacked'\">\r\n <i *ngIf=\"prefixIcon\" class=\"cax-input-prefix-icon\" [ngClass]=\"prefixIcon\"></i>\r\n </ng-container>\r\n <!-- Down button for horizontal layout -->\r\n <button *ngIf=\"showButtons && buttonLayout === 'horizontal'\"\r\n type=\"button\" caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n class=\"cax-inputnumber-button cax-inputnumber-button-down\"\r\n [disabled]=\"disabled\"\r\n (mousedown)=\"onDownButtonMouseDown($event)\"\r\n (mouseup)=\"onDownButtonMouseUp()\"\r\n (mouseleave)=\"onDownButtonMouseLeave()\"\r\n (keydown)=\"onDownButtonKeyDown($event)\"\r\n (keyup)=\"onDownButtonKeyUp()\"\r\n [attr.aria-hidden]=\"true\"\r\n [attr.data-pc-section]=\"'decrementbutton'\">\r\n <ng-container *ngIf=\"!decrementButtonIcon\">\r\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\"></span>\r\n </button>\r\n <input\r\n caxInputText\r\n #input\r\n [attr.id]=\"inputId\"\r\n role=\"spinbutton\"\r\n [ngClass]=\"'cax-inputnumber-input'\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [value]=\"formattedValue()\"\r\n [attr.variant]=\"variant\"\r\n [attr.aria-valuemin]=\"min\"\r\n [attr.aria-valuemax]=\"max\"\r\n [attr.aria-valuenow]=\"value\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.title]=\"title\"\r\n [attr.size]=\"size\"\r\n [attr.name]=\"name\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-required]=\"ariaRequired\"\r\n [attr.required]=\"required\"\r\n [attr.min]=\"min\"\r\n [attr.max]=\"max\"\r\n inputmode=\"decimal\"\r\n (input)=\"onUserInput($event)\"\r\n (keydown)=\"onInputKeyDown($event)\"\r\n (keypress)=\"onInputKeyPress($event)\"\r\n (paste)=\"onPaste($event)\"\r\n (click)=\"onInputClick()\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'input'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [class.cax-variant-filled]=\"variant === 'filled' || config.inputStyle() === 'filled'\"\r\n />\r\n <!-- Up button for horizontal layout -->\r\n <button *ngIf=\"showButtons && buttonLayout === 'horizontal'\"\r\n type=\"button\" caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n class=\"cax-inputnumber-button cax-inputnumber-button-up\"\r\n [disabled]=\"disabled\"\r\n (mousedown)=\"onUpButtonMouseDown($event)\"\r\n (mouseup)=\"onUpButtonMouseUp()\"\r\n (mouseleave)=\"onUpButtonMouseLeave()\"\r\n (keydown)=\"onUpButtonKeyDown($event)\"\r\n (keyup)=\"onUpButtonKeyUp()\"\r\n [attr.aria-hidden]=\"true\"\r\n [attr.data-pc-section]=\"'incrementbutton'\">\r\n <ng-container *ngIf=\"!incrementButtonIcon\">\r\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\"></span>\r\n </button>\r\n <i *ngIf=\"suffix\" class=\"cax-input-suffix\" [innerHTML]=\"suffix\"></i>\r\n <ng-container *ngIf=\"buttonLayout != 'vertical' && showClear && value\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [ngClass]=\"'cax-inputnumber-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\r\n <span *ngIf=\"clearIconTemplate\" (click)=\"clear()\" class=\"cax-inputnumber-clear-icon\" [attr.data-pc-section]=\"'clearIcon'\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <span class=\"cax-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\" [attr.data-pc-section]=\"'buttonGroup'\">\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-up': true }\"\r\n class=\"cax-button-icon-only\"\r\n [class]=\"incrementButtonClass\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n (mousedown)=\"onUpButtonMouseDown($event)\"\r\n (mouseup)=\"onUpButtonMouseUp()\"\r\n (mouseleave)=\"onUpButtonMouseLeave()\"\r\n (keydown)=\"onUpButtonKeyDown($event)\"\r\n (keyup)=\"onUpButtonKeyUp()\"\r\n [attr.aria-hidden]=\"true\"\r\n [attr.data-pc-section]=\"'incrementbutton'\"\r\n >\r\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\r\n <ng-container *ngIf=\"!incrementButtonIcon\">\r\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-down': true }\"\r\n class=\"cax-button-icon-only\"\r\n [class]=\"decrementButtonClass\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n [attr.aria-hidden]=\"true\"\r\n (mousedown)=\"onDownButtonMouseDown($event)\"\r\n (mouseup)=\"onDownButtonMouseUp()\"\r\n (mouseleave)=\"onDownButtonMouseLeave()\"\r\n (keydown)=\"onDownButtonKeyDown($event)\"\r\n (keyup)=\"onDownButtonKeyUp()\"\r\n [attr.data-pc-section]=\"'decrementbutton'\"\r\n >\r\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\r\n <ng-container *ngIf=\"!decrementButtonIcon\">\r\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n </span>\r\n <button\r\n *ngIf=\"showButtons && buttonLayout !== 'stacked' && buttonLayout !== 'horizontal'\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-up': true }\"\r\n [class]=\"incrementButtonClass\"\r\n class=\"cax-button-icon-only\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n [attr.aria-hidden]=\"true\"\r\n (mousedown)=\"onUpButtonMouseDown($event)\"\r\n (mouseup)=\"onUpButtonMouseUp()\"\r\n (mouseleave)=\"onUpButtonMouseLeave()\"\r\n (keydown)=\"onUpButtonKeyDown($event)\"\r\n (keyup)=\"onUpButtonKeyUp()\"\r\n [attr.data-pc-section]=\"'incrementbutton'\"\r\n >\r\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\r\n <ng-container *ngIf=\"!incrementButtonIcon\">\r\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n <button\r\n *ngIf=\"showButtons && buttonLayout !== 'stacked' && buttonLayout !== 'horizontal'\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-down': true }\"\r\n class=\"cax-button-icon-only\"\r\n [class]=\"decrementButtonClass\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n [attr.aria-hidden]=\"true\"\r\n (mousedown)=\"onDownButtonMouseDown($event)\"\r\n (mouseup)=\"onDownButtonMouseUp()\"\r\n (mouseleave)=\"onDownButtonMouseLeave()\"\r\n (keydown)=\"onDownButtonKeyDown($event)\"\r\n (keyup)=\"onDownButtonKeyUp()\"\r\n [attr.data-pc-section]=\"'decrementbutton'\"\r\n >\r\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\r\n <ng-container *ngIf=\"!decrementButtonIcon\">\r\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n</span>\r\n", styles: ["@layer cax{cax-inputnumber,.cax-inputnumber{display:inline-flex}.cax-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button .cax-button-label,.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button .cax-button-label{display:none}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button-up{border-radius:0 8px 0 0;padding:0}.cax-inputnumber-buttons-stacked .cax-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button-down{border-radius:0 0 8px;padding:0}.cax-inputnumber-buttons-stacked .cax-inputnumber-button-group{display:flex;flex-direction:column}.cax-inputnumber-buttons-stacked .cax-inputnumber-button-group .cax-button.cax-inputnumber-button{flex:1 1 auto}.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.cax-inputnumber-buttons-horizontal .cax-inputnumber-input{order:2;border-radius:0}.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.cax-inputnumber-buttons-vertical{flex-direction:column}.cax-inputnumber-buttons-vertical .cax-button.cax-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.cax-inputnumber-buttons-vertical .cax-inputnumber-input{order:2;border-radius:0;text-align:center}.cax-inputnumber-buttons-vertical .cax-button.cax-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.cax-inputnumber-input{flex:1 1 auto}.cax-fluid cax-inputnumber,.cax-fluid .cax-inputnumber{width:100%}.cax-fluid .cax-inputnumber .cax-inputnumber-input{width:1%}.cax-fluid .cax-inputnumber-buttons-vertical .cax-inputnumber-input{width:100%}.cax-inputnumber-clear-icon{position:absolute;cursor:pointer}.cax-inputnumber-clearable{position:relative}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputtextDirective, selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "ngmodule", type: AutoFocusModule }, { kind: "directive", type: i5.AutoFocus, selector: "[caxAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "component", type: AngleUpIcon, selector: "AngleUpIcon" }, { kind: "component", type: AngleDownIcon, selector: "AngleDownIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1164
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: InputNumber, isStandalone: true, selector: "cax-inputNumber", inputs: { showButtons: ["showButtons", "showButtons", booleanAttribute], format: ["format", "format", booleanAttribute], buttonLayout: "buttonLayout", inputId: "inputId", styleClass: "styleClass", style: "style", placeholder: "placeholder", size: ["size", "size", numberAttribute], maxlength: ["maxlength", "maxlength", numberAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], title: "title", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", ariaRequired: ["ariaRequired", "ariaRequired", booleanAttribute], name: "name", required: ["required", "required", booleanAttribute], autocomplete: "autocomplete", min: ["min", "min", numberAttribute], max: ["max", "max", numberAttribute], incrementButtonClass: "incrementButtonClass", decrementButtonClass: "decrementButtonClass", incrementButtonIcon: "incrementButtonIcon", decrementButtonIcon: "decrementButtonIcon", readonly: ["readonly", "readonly", booleanAttribute], step: ["step", "step", numberAttribute], allowEmpty: ["allowEmpty", "allowEmpty", booleanAttribute], locale: "locale", localeMatcher: "localeMatcher", mode: "mode", currency: "currency", currencyDisplay: "currencyDisplay", useGrouping: ["useGrouping", "useGrouping", booleanAttribute], variant: "variant", minFractionDigits: ["minFractionDigits", "minFractionDigits", (value) => numberAttribute(value, null)], maxFractionDigits: ["maxFractionDigits", "maxFractionDigits", (value) => numberAttribute(value, null)], prefixIcon: "prefixIcon", prefix: "prefix", suffix: "suffix", inputStyle: "inputStyle", inputStyleClass: "inputStyleClass", showClear: ["showClear", "showClear", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], disabled: "disabled" }, outputs: { onInput: "onInput", onFocus: "onFocus", onBlur: "onBlur", onKeyDown: "onKeyDown", onClear: "onClear" }, host: { properties: { "class.cax-inputwrapper-filled": "filled", "class.cax-inputwrapper-focus": "focused", "class.cax-inputnumber-clearable": "showClear && buttonLayout != \"vertical\"" }, classAttribute: "cax-element cax-inputwrapper" }, providers: [INPUTNUMBER_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<span\n [ngClass]=\"{\n 'cax-inputnumber cax-component': true,\n 'cax-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',\n 'cax-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal',\n 'cax-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical',\n 'cax-input-icon-left': (prefix || prefixIcon) && buttonLayout === 'stacked',\n 'cax-input-icon-right': suffix,\n 'cax-disabled': disabled\n }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'inputnumber'\"\n [attr.data-pc-section]=\"'root'\"\n>\n <!-- Only show prefix/icon in stacked layout -->\n <ng-container *ngIf=\"(prefix || prefixIcon) && buttonLayout === 'stacked'\">\n <i *ngIf=\"prefixIcon\" class=\"cax-input-prefix-icon\" [ngClass]=\"prefixIcon\"></i>\n </ng-container>\n <!-- Down button for horizontal layout -->\n <button *ngIf=\"showButtons && buttonLayout === 'horizontal'\"\n type=\"button\" caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n class=\"cax-inputnumber-button cax-inputnumber-button-down\"\n [disabled]=\"disabled\"\n (mousedown)=\"onDownButtonMouseDown($event)\"\n (mouseup)=\"onDownButtonMouseUp()\"\n (mouseleave)=\"onDownButtonMouseLeave()\"\n (keydown)=\"onDownButtonKeyDown($event)\"\n (keyup)=\"onDownButtonKeyUp()\"\n [attr.aria-hidden]=\"true\"\n [attr.data-pc-section]=\"'decrementbutton'\">\n <ng-container *ngIf=\"!decrementButtonIcon\">\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\"></span>\n </button>\n <input\n caxInputText\n #input\n [attr.id]=\"inputId\"\n role=\"spinbutton\"\n [ngClass]=\"'cax-inputnumber-input'\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [value]=\"formattedValue()\"\n [attr.variant]=\"variant\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.title]=\"title\"\n [attr.size]=\"size\"\n [attr.name]=\"name\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.required]=\"required\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n inputmode=\"decimal\"\n (input)=\"onUserInput($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n (keypress)=\"onInputKeyPress($event)\"\n (paste)=\"onPaste($event)\"\n (click)=\"onInputClick()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'input'\"\n caxAutoFocus\n [autofocus]=\"autofocus\"\n [class.cax-variant-filled]=\"variant === 'filled' || config.inputStyle() === 'filled'\"\n />\n <!-- Up button for horizontal layout -->\n <button *ngIf=\"showButtons && buttonLayout === 'horizontal'\"\n type=\"button\" caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n class=\"cax-inputnumber-button cax-inputnumber-button-up\"\n [disabled]=\"disabled\"\n (mousedown)=\"onUpButtonMouseDown($event)\"\n (mouseup)=\"onUpButtonMouseUp()\"\n (mouseleave)=\"onUpButtonMouseLeave()\"\n (keydown)=\"onUpButtonKeyDown($event)\"\n (keyup)=\"onUpButtonKeyUp()\"\n [attr.aria-hidden]=\"true\"\n [attr.data-pc-section]=\"'incrementbutton'\">\n <ng-container *ngIf=\"!incrementButtonIcon\">\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\"></span>\n </button>\n <i *ngIf=\"suffix\" class=\"cax-input-suffix\" [innerHTML]=\"suffix\"></i>\n <ng-container *ngIf=\"buttonLayout != 'vertical' && showClear && value\">\n <TimesIcon *ngIf=\"!clearIconTemplate\" [ngClass]=\"'cax-inputnumber-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\n <span *ngIf=\"clearIconTemplate\" (click)=\"clear()\" class=\"cax-inputnumber-clear-icon\" [attr.data-pc-section]=\"'clearIcon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <span class=\"cax-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\" [attr.data-pc-section]=\"'buttonGroup'\">\n <button\n type=\"button\"\n caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-up': true }\"\n class=\"cax-button-icon-only\"\n [class]=\"incrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n (mousedown)=\"onUpButtonMouseDown($event)\"\n (mouseup)=\"onUpButtonMouseUp()\"\n (mouseleave)=\"onUpButtonMouseLeave()\"\n (keydown)=\"onUpButtonKeyDown($event)\"\n (keyup)=\"onUpButtonKeyUp()\"\n [attr.aria-hidden]=\"true\"\n [attr.data-pc-section]=\"'incrementbutton'\"\n >\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!incrementButtonIcon\">\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n <button\n type=\"button\"\n caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-down': true }\"\n class=\"cax-button-icon-only\"\n [class]=\"decrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onDownButtonMouseDown($event)\"\n (mouseup)=\"onDownButtonMouseUp()\"\n (mouseleave)=\"onDownButtonMouseLeave()\"\n (keydown)=\"onDownButtonKeyDown($event)\"\n (keyup)=\"onDownButtonKeyUp()\"\n [attr.data-pc-section]=\"'decrementbutton'\"\n >\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!decrementButtonIcon\">\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n </span>\n <button\n *ngIf=\"showButtons && buttonLayout !== 'stacked' && buttonLayout !== 'horizontal'\"\n type=\"button\"\n caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-up': true }\"\n [class]=\"incrementButtonClass\"\n class=\"cax-button-icon-only\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onUpButtonMouseDown($event)\"\n (mouseup)=\"onUpButtonMouseUp()\"\n (mouseleave)=\"onUpButtonMouseLeave()\"\n (keydown)=\"onUpButtonKeyDown($event)\"\n (keyup)=\"onUpButtonKeyUp()\"\n [attr.data-pc-section]=\"'incrementbutton'\"\n >\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!incrementButtonIcon\">\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n <button\n *ngIf=\"showButtons && buttonLayout !== 'stacked' && buttonLayout !== 'horizontal'\"\n type=\"button\"\n caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-down': true }\"\n class=\"cax-button-icon-only\"\n [class]=\"decrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onDownButtonMouseDown($event)\"\n (mouseup)=\"onDownButtonMouseUp()\"\n (mouseleave)=\"onDownButtonMouseLeave()\"\n (keydown)=\"onDownButtonKeyDown($event)\"\n (keyup)=\"onDownButtonKeyUp()\"\n [attr.data-pc-section]=\"'decrementbutton'\"\n >\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!decrementButtonIcon\">\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n</span>\n", styles: ["@layer cax{cax-inputnumber,.cax-inputnumber{display:inline-flex}.cax-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button .cax-button-label,.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button .cax-button-label{display:none}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button-up{border-radius:0 8px 0 0;padding:0}.cax-inputnumber-buttons-stacked .cax-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button-down{border-radius:0 0 8px;padding:0}.cax-inputnumber-buttons-stacked .cax-inputnumber-button-group{display:flex;flex-direction:column}.cax-inputnumber-buttons-stacked .cax-inputnumber-button-group .cax-button.cax-inputnumber-button{flex:1 1 auto}.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.cax-inputnumber-buttons-horizontal .cax-inputnumber-input{order:2;border-radius:0}.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.cax-inputnumber-buttons-vertical{flex-direction:column}.cax-inputnumber-buttons-vertical .cax-button.cax-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.cax-inputnumber-buttons-vertical .cax-inputnumber-input{order:2;border-radius:0;text-align:center}.cax-inputnumber-buttons-vertical .cax-button.cax-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.cax-inputnumber-input{flex:1 1 auto}.cax-fluid cax-inputnumber,.cax-fluid .cax-inputnumber{width:100%}.cax-fluid .cax-inputnumber .cax-inputnumber-input{width:1%}.cax-fluid .cax-inputnumber-buttons-vertical .cax-inputnumber-input{width:100%}.cax-inputnumber-clear-icon{position:absolute;cursor:pointer}.cax-inputnumber-clearable{position:relative}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputtextDirective, selector: "[caxInputText]", inputs: ["placeholder", "disabled", "variant"], outputs: ["valueChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i4.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }, { kind: "ngmodule", type: AutoFocusModule }, { kind: "directive", type: i5.AutoFocus, selector: "[caxAutoFocus]", inputs: ["autofocus"] }, { kind: "component", type: TimesIcon, selector: "TimesIcon" }, { kind: "component", type: AngleUpIcon, selector: "AngleUpIcon" }, { kind: "component", type: AngleDownIcon, selector: "AngleDownIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1165
1165
  }
1166
1166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputNumber, decorators: [{
1167
1167
  type: Component,
@@ -1170,7 +1170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1170
1170
  '[class.cax-inputwrapper-filled]': 'filled',
1171
1171
  '[class.cax-inputwrapper-focus]': 'focused',
1172
1172
  '[class.cax-inputnumber-clearable]': 'showClear && buttonLayout != "vertical"'
1173
- }, template: "<span\r\n [ngClass]=\"{\r\n 'cax-inputnumber cax-component': true,\r\n 'cax-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',\r\n 'cax-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal',\r\n 'cax-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical',\r\n 'cax-input-icon-left': (prefix || prefixIcon) && buttonLayout === 'stacked',\r\n 'cax-input-icon-right': suffix,\r\n 'cax-disabled': disabled\r\n }\"\r\n [ngStyle]=\"style\"\r\n [class]=\"styleClass\"\r\n [attr.data-pc-name]=\"'inputnumber'\"\r\n [attr.data-pc-section]=\"'root'\"\r\n>\r\n <!-- Only show prefix/icon in stacked layout -->\r\n <ng-container *ngIf=\"(prefix || prefixIcon) && buttonLayout === 'stacked'\">\r\n <i *ngIf=\"prefixIcon\" class=\"cax-input-prefix-icon\" [ngClass]=\"prefixIcon\"></i>\r\n </ng-container>\r\n <!-- Down button for horizontal layout -->\r\n <button *ngIf=\"showButtons && buttonLayout === 'horizontal'\"\r\n type=\"button\" caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n class=\"cax-inputnumber-button cax-inputnumber-button-down\"\r\n [disabled]=\"disabled\"\r\n (mousedown)=\"onDownButtonMouseDown($event)\"\r\n (mouseup)=\"onDownButtonMouseUp()\"\r\n (mouseleave)=\"onDownButtonMouseLeave()\"\r\n (keydown)=\"onDownButtonKeyDown($event)\"\r\n (keyup)=\"onDownButtonKeyUp()\"\r\n [attr.aria-hidden]=\"true\"\r\n [attr.data-pc-section]=\"'decrementbutton'\">\r\n <ng-container *ngIf=\"!decrementButtonIcon\">\r\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\"></span>\r\n </button>\r\n <input\r\n caxInputText\r\n #input\r\n [attr.id]=\"inputId\"\r\n role=\"spinbutton\"\r\n [ngClass]=\"'cax-inputnumber-input'\"\r\n [ngStyle]=\"inputStyle\"\r\n [class]=\"inputStyleClass\"\r\n [value]=\"formattedValue()\"\r\n [attr.variant]=\"variant\"\r\n [attr.aria-valuemin]=\"min\"\r\n [attr.aria-valuemax]=\"max\"\r\n [attr.aria-valuenow]=\"value\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy\"\r\n [attr.title]=\"title\"\r\n [attr.size]=\"size\"\r\n [attr.name]=\"name\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-required]=\"ariaRequired\"\r\n [attr.required]=\"required\"\r\n [attr.min]=\"min\"\r\n [attr.max]=\"max\"\r\n inputmode=\"decimal\"\r\n (input)=\"onUserInput($event)\"\r\n (keydown)=\"onInputKeyDown($event)\"\r\n (keypress)=\"onInputKeyPress($event)\"\r\n (paste)=\"onPaste($event)\"\r\n (click)=\"onInputClick()\"\r\n (focus)=\"onInputFocus($event)\"\r\n (blur)=\"onInputBlur($event)\"\r\n [attr.data-pc-section]=\"'input'\"\r\n caxAutoFocus\r\n [autofocus]=\"autofocus\"\r\n [class.cax-variant-filled]=\"variant === 'filled' || config.inputStyle() === 'filled'\"\r\n />\r\n <!-- Up button for horizontal layout -->\r\n <button *ngIf=\"showButtons && buttonLayout === 'horizontal'\"\r\n type=\"button\" caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n class=\"cax-inputnumber-button cax-inputnumber-button-up\"\r\n [disabled]=\"disabled\"\r\n (mousedown)=\"onUpButtonMouseDown($event)\"\r\n (mouseup)=\"onUpButtonMouseUp()\"\r\n (mouseleave)=\"onUpButtonMouseLeave()\"\r\n (keydown)=\"onUpButtonKeyDown($event)\"\r\n (keyup)=\"onUpButtonKeyUp()\"\r\n [attr.aria-hidden]=\"true\"\r\n [attr.data-pc-section]=\"'incrementbutton'\">\r\n <ng-container *ngIf=\"!incrementButtonIcon\">\r\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\"></span>\r\n </button>\r\n <i *ngIf=\"suffix\" class=\"cax-input-suffix\" [innerHTML]=\"suffix\"></i>\r\n <ng-container *ngIf=\"buttonLayout != 'vertical' && showClear && value\">\r\n <TimesIcon *ngIf=\"!clearIconTemplate\" [ngClass]=\"'cax-inputnumber-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\r\n <span *ngIf=\"clearIconTemplate\" (click)=\"clear()\" class=\"cax-inputnumber-clear-icon\" [attr.data-pc-section]=\"'clearIcon'\">\r\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <span class=\"cax-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\" [attr.data-pc-section]=\"'buttonGroup'\">\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-up': true }\"\r\n class=\"cax-button-icon-only\"\r\n [class]=\"incrementButtonClass\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n (mousedown)=\"onUpButtonMouseDown($event)\"\r\n (mouseup)=\"onUpButtonMouseUp()\"\r\n (mouseleave)=\"onUpButtonMouseLeave()\"\r\n (keydown)=\"onUpButtonKeyDown($event)\"\r\n (keyup)=\"onUpButtonKeyUp()\"\r\n [attr.aria-hidden]=\"true\"\r\n [attr.data-pc-section]=\"'incrementbutton'\"\r\n >\r\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\r\n <ng-container *ngIf=\"!incrementButtonIcon\">\r\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n <button\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-down': true }\"\r\n class=\"cax-button-icon-only\"\r\n [class]=\"decrementButtonClass\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n [attr.aria-hidden]=\"true\"\r\n (mousedown)=\"onDownButtonMouseDown($event)\"\r\n (mouseup)=\"onDownButtonMouseUp()\"\r\n (mouseleave)=\"onDownButtonMouseLeave()\"\r\n (keydown)=\"onDownButtonKeyDown($event)\"\r\n (keyup)=\"onDownButtonKeyUp()\"\r\n [attr.data-pc-section]=\"'decrementbutton'\"\r\n >\r\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\r\n <ng-container *ngIf=\"!decrementButtonIcon\">\r\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n </span>\r\n <button\r\n *ngIf=\"showButtons && buttonLayout !== 'stacked' && buttonLayout !== 'horizontal'\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-up': true }\"\r\n [class]=\"incrementButtonClass\"\r\n class=\"cax-button-icon-only\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n [attr.aria-hidden]=\"true\"\r\n (mousedown)=\"onUpButtonMouseDown($event)\"\r\n (mouseup)=\"onUpButtonMouseUp()\"\r\n (mouseleave)=\"onUpButtonMouseLeave()\"\r\n (keydown)=\"onUpButtonKeyDown($event)\"\r\n (keyup)=\"onUpButtonKeyUp()\"\r\n [attr.data-pc-section]=\"'incrementbutton'\"\r\n >\r\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\r\n <ng-container *ngIf=\"!incrementButtonIcon\">\r\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n <button\r\n *ngIf=\"showButtons && buttonLayout !== 'stacked' && buttonLayout !== 'horizontal'\"\r\n type=\"button\"\r\n caxButton\r\n [severity]=\"'secondary'\"\r\n [size]=\"'small'\"\r\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-down': true }\"\r\n class=\"cax-button-icon-only\"\r\n [class]=\"decrementButtonClass\"\r\n [disabled]=\"disabled\"\r\n tabindex=\"-1\"\r\n [attr.aria-hidden]=\"true\"\r\n (mousedown)=\"onDownButtonMouseDown($event)\"\r\n (mouseup)=\"onDownButtonMouseUp()\"\r\n (mouseleave)=\"onDownButtonMouseLeave()\"\r\n (keydown)=\"onDownButtonKeyDown($event)\"\r\n (keyup)=\"onDownButtonKeyUp()\"\r\n [attr.data-pc-section]=\"'decrementbutton'\"\r\n >\r\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\r\n <ng-container *ngIf=\"!decrementButtonIcon\">\r\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\r\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\r\n </ng-container>\r\n </button>\r\n</span>\r\n", styles: ["@layer cax{cax-inputnumber,.cax-inputnumber{display:inline-flex}.cax-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button .cax-button-label,.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button .cax-button-label{display:none}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button-up{border-radius:0 8px 0 0;padding:0}.cax-inputnumber-buttons-stacked .cax-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button-down{border-radius:0 0 8px;padding:0}.cax-inputnumber-buttons-stacked .cax-inputnumber-button-group{display:flex;flex-direction:column}.cax-inputnumber-buttons-stacked .cax-inputnumber-button-group .cax-button.cax-inputnumber-button{flex:1 1 auto}.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.cax-inputnumber-buttons-horizontal .cax-inputnumber-input{order:2;border-radius:0}.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.cax-inputnumber-buttons-vertical{flex-direction:column}.cax-inputnumber-buttons-vertical .cax-button.cax-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.cax-inputnumber-buttons-vertical .cax-inputnumber-input{order:2;border-radius:0;text-align:center}.cax-inputnumber-buttons-vertical .cax-button.cax-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.cax-inputnumber-input{flex:1 1 auto}.cax-fluid cax-inputnumber,.cax-fluid .cax-inputnumber{width:100%}.cax-fluid .cax-inputnumber .cax-inputnumber-input{width:1%}.cax-fluid .cax-inputnumber-buttons-vertical .cax-inputnumber-input{width:100%}.cax-inputnumber-clear-icon{position:absolute;cursor:pointer}.cax-inputnumber-clearable{position:relative}}\n"] }]
1173
+ }, template: "<span\n [ngClass]=\"{\n 'cax-inputnumber cax-component': true,\n 'cax-inputnumber-buttons-stacked': this.showButtons && this.buttonLayout === 'stacked',\n 'cax-inputnumber-buttons-horizontal': this.showButtons && this.buttonLayout === 'horizontal',\n 'cax-inputnumber-buttons-vertical': this.showButtons && this.buttonLayout === 'vertical',\n 'cax-input-icon-left': (prefix || prefixIcon) && buttonLayout === 'stacked',\n 'cax-input-icon-right': suffix,\n 'cax-disabled': disabled\n }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'inputnumber'\"\n [attr.data-pc-section]=\"'root'\"\n>\n <!-- Only show prefix/icon in stacked layout -->\n <ng-container *ngIf=\"(prefix || prefixIcon) && buttonLayout === 'stacked'\">\n <i *ngIf=\"prefixIcon\" class=\"cax-input-prefix-icon\" [ngClass]=\"prefixIcon\"></i>\n </ng-container>\n <!-- Down button for horizontal layout -->\n <button *ngIf=\"showButtons && buttonLayout === 'horizontal'\"\n type=\"button\" caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n class=\"cax-inputnumber-button cax-inputnumber-button-down\"\n [disabled]=\"disabled\"\n (mousedown)=\"onDownButtonMouseDown($event)\"\n (mouseup)=\"onDownButtonMouseUp()\"\n (mouseleave)=\"onDownButtonMouseLeave()\"\n (keydown)=\"onDownButtonKeyDown($event)\"\n (keyup)=\"onDownButtonKeyUp()\"\n [attr.aria-hidden]=\"true\"\n [attr.data-pc-section]=\"'decrementbutton'\">\n <ng-container *ngIf=\"!decrementButtonIcon\">\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\"></span>\n </button>\n <input\n caxInputText\n #input\n [attr.id]=\"inputId\"\n role=\"spinbutton\"\n [ngClass]=\"'cax-inputnumber-input'\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [value]=\"formattedValue()\"\n [attr.variant]=\"variant\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.title]=\"title\"\n [attr.size]=\"size\"\n [attr.name]=\"name\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.required]=\"required\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n inputmode=\"decimal\"\n (input)=\"onUserInput($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n (keypress)=\"onInputKeyPress($event)\"\n (paste)=\"onPaste($event)\"\n (click)=\"onInputClick()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'input'\"\n caxAutoFocus\n [autofocus]=\"autofocus\"\n [class.cax-variant-filled]=\"variant === 'filled' || config.inputStyle() === 'filled'\"\n />\n <!-- Up button for horizontal layout -->\n <button *ngIf=\"showButtons && buttonLayout === 'horizontal'\"\n type=\"button\" caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n class=\"cax-inputnumber-button cax-inputnumber-button-up\"\n [disabled]=\"disabled\"\n (mousedown)=\"onUpButtonMouseDown($event)\"\n (mouseup)=\"onUpButtonMouseUp()\"\n (mouseleave)=\"onUpButtonMouseLeave()\"\n (keydown)=\"onUpButtonKeyDown($event)\"\n (keyup)=\"onUpButtonKeyUp()\"\n [attr.aria-hidden]=\"true\"\n [attr.data-pc-section]=\"'incrementbutton'\">\n <ng-container *ngIf=\"!incrementButtonIcon\">\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\"></span>\n </button>\n <i *ngIf=\"suffix\" class=\"cax-input-suffix\" [innerHTML]=\"suffix\"></i>\n <ng-container *ngIf=\"buttonLayout != 'vertical' && showClear && value\">\n <TimesIcon *ngIf=\"!clearIconTemplate\" [ngClass]=\"'cax-inputnumber-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\n <span *ngIf=\"clearIconTemplate\" (click)=\"clear()\" class=\"cax-inputnumber-clear-icon\" [attr.data-pc-section]=\"'clearIcon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <span class=\"cax-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\" [attr.data-pc-section]=\"'buttonGroup'\">\n <button\n type=\"button\"\n caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-up': true }\"\n class=\"cax-button-icon-only\"\n [class]=\"incrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n (mousedown)=\"onUpButtonMouseDown($event)\"\n (mouseup)=\"onUpButtonMouseUp()\"\n (mouseleave)=\"onUpButtonMouseLeave()\"\n (keydown)=\"onUpButtonKeyDown($event)\"\n (keyup)=\"onUpButtonKeyUp()\"\n [attr.aria-hidden]=\"true\"\n [attr.data-pc-section]=\"'incrementbutton'\"\n >\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!incrementButtonIcon\">\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n <button\n type=\"button\"\n caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-down': true }\"\n class=\"cax-button-icon-only\"\n [class]=\"decrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onDownButtonMouseDown($event)\"\n (mouseup)=\"onDownButtonMouseUp()\"\n (mouseleave)=\"onDownButtonMouseLeave()\"\n (keydown)=\"onDownButtonKeyDown($event)\"\n (keyup)=\"onDownButtonKeyUp()\"\n [attr.data-pc-section]=\"'decrementbutton'\"\n >\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!decrementButtonIcon\">\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n </span>\n <button\n *ngIf=\"showButtons && buttonLayout !== 'stacked' && buttonLayout !== 'horizontal'\"\n type=\"button\"\n caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-up': true }\"\n [class]=\"incrementButtonClass\"\n class=\"cax-button-icon-only\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onUpButtonMouseDown($event)\"\n (mouseup)=\"onUpButtonMouseUp()\"\n (mouseleave)=\"onUpButtonMouseLeave()\"\n (keydown)=\"onUpButtonKeyDown($event)\"\n (keyup)=\"onUpButtonKeyUp()\"\n [attr.data-pc-section]=\"'incrementbutton'\"\n >\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!incrementButtonIcon\">\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n <button\n *ngIf=\"showButtons && buttonLayout !== 'stacked' && buttonLayout !== 'horizontal'\"\n type=\"button\"\n caxButton\n [severity]=\"'secondary'\"\n [size]=\"'small'\"\n [ngClass]=\"{ 'cax-inputnumber-button cax-inputnumber-button-down': true }\"\n class=\"cax-button-icon-only\"\n [class]=\"decrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onDownButtonMouseDown($event)\"\n (mouseup)=\"onDownButtonMouseUp()\"\n (mouseleave)=\"onDownButtonMouseLeave()\"\n (keydown)=\"onDownButtonKeyDown($event)\"\n (keyup)=\"onDownButtonKeyUp()\"\n [attr.data-pc-section]=\"'decrementbutton'\"\n >\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!decrementButtonIcon\">\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n</span>\n", styles: ["@layer cax{cax-inputnumber,.cax-inputnumber{display:inline-flex}.cax-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button .cax-button-label,.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button .cax-button-label{display:none}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button-up{border-radius:0 8px 0 0;padding:0}.cax-inputnumber-buttons-stacked .cax-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.cax-inputnumber-buttons-stacked .cax-button.cax-inputnumber-button-down{border-radius:0 0 8px;padding:0}.cax-inputnumber-buttons-stacked .cax-inputnumber-button-group{display:flex;flex-direction:column}.cax-inputnumber-buttons-stacked .cax-inputnumber-button-group .cax-button.cax-inputnumber-button{flex:1 1 auto}.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.cax-inputnumber-buttons-horizontal .cax-inputnumber-input{order:2;border-radius:0}.cax-inputnumber-buttons-horizontal .cax-button.cax-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.cax-inputnumber-buttons-vertical{flex-direction:column}.cax-inputnumber-buttons-vertical .cax-button.cax-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.cax-inputnumber-buttons-vertical .cax-inputnumber-input{order:2;border-radius:0;text-align:center}.cax-inputnumber-buttons-vertical .cax-button.cax-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.cax-inputnumber-input{flex:1 1 auto}.cax-fluid cax-inputnumber,.cax-fluid .cax-inputnumber{width:100%}.cax-fluid .cax-inputnumber .cax-inputnumber-input{width:1%}.cax-fluid .cax-inputnumber-buttons-vertical .cax-inputnumber-input{width:100%}.cax-inputnumber-clear-icon{position:absolute;cursor:pointer}.cax-inputnumber-clearable{position:relative}}\n"] }]
1174
1174
  }], ctorParameters: () => [{ type: Document, decorators: [{
1175
1175
  type: Inject,
1176
1176
  args: [DOCUMENT]