cleavejs-rails 1.3.7

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 (258) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +16 -0
  3. data/lib/cleavejs-rails.rb +7 -0
  4. data/vendor/assets/javascripts/addons/cleave-phone.ac.js +51 -0
  5. data/vendor/assets/javascripts/addons/cleave-phone.ad.js +51 -0
  6. data/vendor/assets/javascripts/addons/cleave-phone.ae.js +51 -0
  7. data/vendor/assets/javascripts/addons/cleave-phone.af.js +51 -0
  8. data/vendor/assets/javascripts/addons/cleave-phone.ag.js +51 -0
  9. data/vendor/assets/javascripts/addons/cleave-phone.ai.js +51 -0
  10. data/vendor/assets/javascripts/addons/cleave-phone.al.js +51 -0
  11. data/vendor/assets/javascripts/addons/cleave-phone.am.js +51 -0
  12. data/vendor/assets/javascripts/addons/cleave-phone.ao.js +51 -0
  13. data/vendor/assets/javascripts/addons/cleave-phone.ar.js +51 -0
  14. data/vendor/assets/javascripts/addons/cleave-phone.as.js +51 -0
  15. data/vendor/assets/javascripts/addons/cleave-phone.at.js +51 -0
  16. data/vendor/assets/javascripts/addons/cleave-phone.au-cn.js +85 -0
  17. data/vendor/assets/javascripts/addons/cleave-phone.au.js +51 -0
  18. data/vendor/assets/javascripts/addons/cleave-phone.aw.js +51 -0
  19. data/vendor/assets/javascripts/addons/cleave-phone.ax.js +51 -0
  20. data/vendor/assets/javascripts/addons/cleave-phone.az.js +51 -0
  21. data/vendor/assets/javascripts/addons/cleave-phone.ba.js +51 -0
  22. data/vendor/assets/javascripts/addons/cleave-phone.bb.js +51 -0
  23. data/vendor/assets/javascripts/addons/cleave-phone.bd.js +51 -0
  24. data/vendor/assets/javascripts/addons/cleave-phone.be.js +51 -0
  25. data/vendor/assets/javascripts/addons/cleave-phone.bf.js +51 -0
  26. data/vendor/assets/javascripts/addons/cleave-phone.bg.js +51 -0
  27. data/vendor/assets/javascripts/addons/cleave-phone.bh.js +51 -0
  28. data/vendor/assets/javascripts/addons/cleave-phone.bi.js +51 -0
  29. data/vendor/assets/javascripts/addons/cleave-phone.bj.js +51 -0
  30. data/vendor/assets/javascripts/addons/cleave-phone.bl.js +51 -0
  31. data/vendor/assets/javascripts/addons/cleave-phone.bm.js +51 -0
  32. data/vendor/assets/javascripts/addons/cleave-phone.bn.js +51 -0
  33. data/vendor/assets/javascripts/addons/cleave-phone.bo.js +51 -0
  34. data/vendor/assets/javascripts/addons/cleave-phone.bq.js +51 -0
  35. data/vendor/assets/javascripts/addons/cleave-phone.br.js +51 -0
  36. data/vendor/assets/javascripts/addons/cleave-phone.bs.js +51 -0
  37. data/vendor/assets/javascripts/addons/cleave-phone.bt.js +51 -0
  38. data/vendor/assets/javascripts/addons/cleave-phone.bw.js +51 -0
  39. data/vendor/assets/javascripts/addons/cleave-phone.by.js +51 -0
  40. data/vendor/assets/javascripts/addons/cleave-phone.bz.js +51 -0
  41. data/vendor/assets/javascripts/addons/cleave-phone.ca.js +111 -0
  42. data/vendor/assets/javascripts/addons/cleave-phone.cc.js +51 -0
  43. data/vendor/assets/javascripts/addons/cleave-phone.cd.js +51 -0
  44. data/vendor/assets/javascripts/addons/cleave-phone.cf.js +51 -0
  45. data/vendor/assets/javascripts/addons/cleave-phone.cg.js +51 -0
  46. data/vendor/assets/javascripts/addons/cleave-phone.ch.js +51 -0
  47. data/vendor/assets/javascripts/addons/cleave-phone.ci.js +51 -0
  48. data/vendor/assets/javascripts/addons/cleave-phone.ck.js +51 -0
  49. data/vendor/assets/javascripts/addons/cleave-phone.cl.js +51 -0
  50. data/vendor/assets/javascripts/addons/cleave-phone.cm.js +51 -0
  51. data/vendor/assets/javascripts/addons/cleave-phone.cn.js +51 -0
  52. data/vendor/assets/javascripts/addons/cleave-phone.co.js +51 -0
  53. data/vendor/assets/javascripts/addons/cleave-phone.cr.js +51 -0
  54. data/vendor/assets/javascripts/addons/cleave-phone.cu.js +51 -0
  55. data/vendor/assets/javascripts/addons/cleave-phone.cv.js +51 -0
  56. data/vendor/assets/javascripts/addons/cleave-phone.cw.js +51 -0
  57. data/vendor/assets/javascripts/addons/cleave-phone.cx.js +51 -0
  58. data/vendor/assets/javascripts/addons/cleave-phone.cy.js +51 -0
  59. data/vendor/assets/javascripts/addons/cleave-phone.cz.js +51 -0
  60. data/vendor/assets/javascripts/addons/cleave-phone.de.js +51 -0
  61. data/vendor/assets/javascripts/addons/cleave-phone.dj.js +51 -0
  62. data/vendor/assets/javascripts/addons/cleave-phone.dk.js +51 -0
  63. data/vendor/assets/javascripts/addons/cleave-phone.dm.js +51 -0
  64. data/vendor/assets/javascripts/addons/cleave-phone.do.js +51 -0
  65. data/vendor/assets/javascripts/addons/cleave-phone.dz.js +51 -0
  66. data/vendor/assets/javascripts/addons/cleave-phone.ec.js +51 -0
  67. data/vendor/assets/javascripts/addons/cleave-phone.ee.js +51 -0
  68. data/vendor/assets/javascripts/addons/cleave-phone.eg.js +51 -0
  69. data/vendor/assets/javascripts/addons/cleave-phone.eh.js +51 -0
  70. data/vendor/assets/javascripts/addons/cleave-phone.er.js +51 -0
  71. data/vendor/assets/javascripts/addons/cleave-phone.es.js +51 -0
  72. data/vendor/assets/javascripts/addons/cleave-phone.et.js +51 -0
  73. data/vendor/assets/javascripts/addons/cleave-phone.fi.js +51 -0
  74. data/vendor/assets/javascripts/addons/cleave-phone.fj.js +51 -0
  75. data/vendor/assets/javascripts/addons/cleave-phone.fk.js +51 -0
  76. data/vendor/assets/javascripts/addons/cleave-phone.fm.js +51 -0
  77. data/vendor/assets/javascripts/addons/cleave-phone.fo.js +51 -0
  78. data/vendor/assets/javascripts/addons/cleave-phone.fr.js +51 -0
  79. data/vendor/assets/javascripts/addons/cleave-phone.ga.js +51 -0
  80. data/vendor/assets/javascripts/addons/cleave-phone.gb.js +51 -0
  81. data/vendor/assets/javascripts/addons/cleave-phone.gd.js +51 -0
  82. data/vendor/assets/javascripts/addons/cleave-phone.ge.js +51 -0
  83. data/vendor/assets/javascripts/addons/cleave-phone.gf.js +51 -0
  84. data/vendor/assets/javascripts/addons/cleave-phone.gg.js +51 -0
  85. data/vendor/assets/javascripts/addons/cleave-phone.gh.js +51 -0
  86. data/vendor/assets/javascripts/addons/cleave-phone.gi.js +51 -0
  87. data/vendor/assets/javascripts/addons/cleave-phone.gl.js +51 -0
  88. data/vendor/assets/javascripts/addons/cleave-phone.gm.js +51 -0
  89. data/vendor/assets/javascripts/addons/cleave-phone.gn.js +51 -0
  90. data/vendor/assets/javascripts/addons/cleave-phone.gp.js +51 -0
  91. data/vendor/assets/javascripts/addons/cleave-phone.gq.js +51 -0
  92. data/vendor/assets/javascripts/addons/cleave-phone.gr.js +51 -0
  93. data/vendor/assets/javascripts/addons/cleave-phone.gt.js +51 -0
  94. data/vendor/assets/javascripts/addons/cleave-phone.gu.js +51 -0
  95. data/vendor/assets/javascripts/addons/cleave-phone.gw.js +51 -0
  96. data/vendor/assets/javascripts/addons/cleave-phone.gy.js +51 -0
  97. data/vendor/assets/javascripts/addons/cleave-phone.hk.js +51 -0
  98. data/vendor/assets/javascripts/addons/cleave-phone.hn.js +51 -0
  99. data/vendor/assets/javascripts/addons/cleave-phone.hr.js +51 -0
  100. data/vendor/assets/javascripts/addons/cleave-phone.ht.js +51 -0
  101. data/vendor/assets/javascripts/addons/cleave-phone.hu.js +51 -0
  102. data/vendor/assets/javascripts/addons/cleave-phone.i18n.js +58 -0
  103. data/vendor/assets/javascripts/addons/cleave-phone.id.js +51 -0
  104. data/vendor/assets/javascripts/addons/cleave-phone.ie.js +51 -0
  105. data/vendor/assets/javascripts/addons/cleave-phone.il.js +51 -0
  106. data/vendor/assets/javascripts/addons/cleave-phone.im.js +51 -0
  107. data/vendor/assets/javascripts/addons/cleave-phone.in.js +51 -0
  108. data/vendor/assets/javascripts/addons/cleave-phone.io.js +51 -0
  109. data/vendor/assets/javascripts/addons/cleave-phone.iq.js +51 -0
  110. data/vendor/assets/javascripts/addons/cleave-phone.ir.js +51 -0
  111. data/vendor/assets/javascripts/addons/cleave-phone.is.js +51 -0
  112. data/vendor/assets/javascripts/addons/cleave-phone.it.js +51 -0
  113. data/vendor/assets/javascripts/addons/cleave-phone.je.js +51 -0
  114. data/vendor/assets/javascripts/addons/cleave-phone.jm.js +51 -0
  115. data/vendor/assets/javascripts/addons/cleave-phone.jo.js +51 -0
  116. data/vendor/assets/javascripts/addons/cleave-phone.jp.js +51 -0
  117. data/vendor/assets/javascripts/addons/cleave-phone.ke.js +51 -0
  118. data/vendor/assets/javascripts/addons/cleave-phone.kg.js +51 -0
  119. data/vendor/assets/javascripts/addons/cleave-phone.kh.js +51 -0
  120. data/vendor/assets/javascripts/addons/cleave-phone.ki.js +51 -0
  121. data/vendor/assets/javascripts/addons/cleave-phone.km.js +51 -0
  122. data/vendor/assets/javascripts/addons/cleave-phone.kn.js +51 -0
  123. data/vendor/assets/javascripts/addons/cleave-phone.kp.js +51 -0
  124. data/vendor/assets/javascripts/addons/cleave-phone.kr.js +51 -0
  125. data/vendor/assets/javascripts/addons/cleave-phone.kw.js +51 -0
  126. data/vendor/assets/javascripts/addons/cleave-phone.ky.js +51 -0
  127. data/vendor/assets/javascripts/addons/cleave-phone.kz.js +51 -0
  128. data/vendor/assets/javascripts/addons/cleave-phone.la.js +51 -0
  129. data/vendor/assets/javascripts/addons/cleave-phone.lb.js +51 -0
  130. data/vendor/assets/javascripts/addons/cleave-phone.lc.js +51 -0
  131. data/vendor/assets/javascripts/addons/cleave-phone.li.js +51 -0
  132. data/vendor/assets/javascripts/addons/cleave-phone.lk.js +51 -0
  133. data/vendor/assets/javascripts/addons/cleave-phone.lr.js +51 -0
  134. data/vendor/assets/javascripts/addons/cleave-phone.ls.js +51 -0
  135. data/vendor/assets/javascripts/addons/cleave-phone.lt.js +51 -0
  136. data/vendor/assets/javascripts/addons/cleave-phone.lu.js +51 -0
  137. data/vendor/assets/javascripts/addons/cleave-phone.lv.js +51 -0
  138. data/vendor/assets/javascripts/addons/cleave-phone.ly.js +51 -0
  139. data/vendor/assets/javascripts/addons/cleave-phone.ma.js +51 -0
  140. data/vendor/assets/javascripts/addons/cleave-phone.mc.js +51 -0
  141. data/vendor/assets/javascripts/addons/cleave-phone.md.js +51 -0
  142. data/vendor/assets/javascripts/addons/cleave-phone.me.js +51 -0
  143. data/vendor/assets/javascripts/addons/cleave-phone.mf.js +51 -0
  144. data/vendor/assets/javascripts/addons/cleave-phone.mg.js +51 -0
  145. data/vendor/assets/javascripts/addons/cleave-phone.mh.js +51 -0
  146. data/vendor/assets/javascripts/addons/cleave-phone.mk.js +51 -0
  147. data/vendor/assets/javascripts/addons/cleave-phone.ml.js +51 -0
  148. data/vendor/assets/javascripts/addons/cleave-phone.mm.js +51 -0
  149. data/vendor/assets/javascripts/addons/cleave-phone.mn.js +51 -0
  150. data/vendor/assets/javascripts/addons/cleave-phone.mo.js +51 -0
  151. data/vendor/assets/javascripts/addons/cleave-phone.mp.js +51 -0
  152. data/vendor/assets/javascripts/addons/cleave-phone.mq.js +51 -0
  153. data/vendor/assets/javascripts/addons/cleave-phone.mr.js +51 -0
  154. data/vendor/assets/javascripts/addons/cleave-phone.ms.js +51 -0
  155. data/vendor/assets/javascripts/addons/cleave-phone.mt.js +51 -0
  156. data/vendor/assets/javascripts/addons/cleave-phone.mu.js +51 -0
  157. data/vendor/assets/javascripts/addons/cleave-phone.mv.js +51 -0
  158. data/vendor/assets/javascripts/addons/cleave-phone.mw.js +51 -0
  159. data/vendor/assets/javascripts/addons/cleave-phone.mx.js +51 -0
  160. data/vendor/assets/javascripts/addons/cleave-phone.my.js +51 -0
  161. data/vendor/assets/javascripts/addons/cleave-phone.mz.js +51 -0
  162. data/vendor/assets/javascripts/addons/cleave-phone.na.js +51 -0
  163. data/vendor/assets/javascripts/addons/cleave-phone.nc.js +51 -0
  164. data/vendor/assets/javascripts/addons/cleave-phone.ne.js +51 -0
  165. data/vendor/assets/javascripts/addons/cleave-phone.nf.js +51 -0
  166. data/vendor/assets/javascripts/addons/cleave-phone.ng.js +51 -0
  167. data/vendor/assets/javascripts/addons/cleave-phone.ni.js +51 -0
  168. data/vendor/assets/javascripts/addons/cleave-phone.nl.js +51 -0
  169. data/vendor/assets/javascripts/addons/cleave-phone.no.js +51 -0
  170. data/vendor/assets/javascripts/addons/cleave-phone.np.js +51 -0
  171. data/vendor/assets/javascripts/addons/cleave-phone.nr.js +51 -0
  172. data/vendor/assets/javascripts/addons/cleave-phone.nu.js +51 -0
  173. data/vendor/assets/javascripts/addons/cleave-phone.nz.js +51 -0
  174. data/vendor/assets/javascripts/addons/cleave-phone.om.js +51 -0
  175. data/vendor/assets/javascripts/addons/cleave-phone.pa.js +51 -0
  176. data/vendor/assets/javascripts/addons/cleave-phone.pe.js +51 -0
  177. data/vendor/assets/javascripts/addons/cleave-phone.pf.js +51 -0
  178. data/vendor/assets/javascripts/addons/cleave-phone.pg.js +51 -0
  179. data/vendor/assets/javascripts/addons/cleave-phone.ph.js +51 -0
  180. data/vendor/assets/javascripts/addons/cleave-phone.pk.js +51 -0
  181. data/vendor/assets/javascripts/addons/cleave-phone.pl.js +51 -0
  182. data/vendor/assets/javascripts/addons/cleave-phone.pm.js +51 -0
  183. data/vendor/assets/javascripts/addons/cleave-phone.pr.js +51 -0
  184. data/vendor/assets/javascripts/addons/cleave-phone.ps.js +51 -0
  185. data/vendor/assets/javascripts/addons/cleave-phone.pt.js +51 -0
  186. data/vendor/assets/javascripts/addons/cleave-phone.pw.js +51 -0
  187. data/vendor/assets/javascripts/addons/cleave-phone.py.js +51 -0
  188. data/vendor/assets/javascripts/addons/cleave-phone.qa.js +51 -0
  189. data/vendor/assets/javascripts/addons/cleave-phone.re.js +51 -0
  190. data/vendor/assets/javascripts/addons/cleave-phone.ro.js +51 -0
  191. data/vendor/assets/javascripts/addons/cleave-phone.rs.js +51 -0
  192. data/vendor/assets/javascripts/addons/cleave-phone.ru.js +51 -0
  193. data/vendor/assets/javascripts/addons/cleave-phone.rw.js +51 -0
  194. data/vendor/assets/javascripts/addons/cleave-phone.sa.js +51 -0
  195. data/vendor/assets/javascripts/addons/cleave-phone.sb.js +51 -0
  196. data/vendor/assets/javascripts/addons/cleave-phone.sc.js +51 -0
  197. data/vendor/assets/javascripts/addons/cleave-phone.sd.js +51 -0
  198. data/vendor/assets/javascripts/addons/cleave-phone.se.js +51 -0
  199. data/vendor/assets/javascripts/addons/cleave-phone.sg.js +51 -0
  200. data/vendor/assets/javascripts/addons/cleave-phone.sh.js +51 -0
  201. data/vendor/assets/javascripts/addons/cleave-phone.si.js +51 -0
  202. data/vendor/assets/javascripts/addons/cleave-phone.sj.js +51 -0
  203. data/vendor/assets/javascripts/addons/cleave-phone.sk.js +51 -0
  204. data/vendor/assets/javascripts/addons/cleave-phone.sl.js +51 -0
  205. data/vendor/assets/javascripts/addons/cleave-phone.sm.js +51 -0
  206. data/vendor/assets/javascripts/addons/cleave-phone.sn.js +51 -0
  207. data/vendor/assets/javascripts/addons/cleave-phone.so.js +51 -0
  208. data/vendor/assets/javascripts/addons/cleave-phone.sr.js +51 -0
  209. data/vendor/assets/javascripts/addons/cleave-phone.ss.js +51 -0
  210. data/vendor/assets/javascripts/addons/cleave-phone.st.js +51 -0
  211. data/vendor/assets/javascripts/addons/cleave-phone.sv.js +51 -0
  212. data/vendor/assets/javascripts/addons/cleave-phone.sx.js +51 -0
  213. data/vendor/assets/javascripts/addons/cleave-phone.sy.js +51 -0
  214. data/vendor/assets/javascripts/addons/cleave-phone.sz.js +51 -0
  215. data/vendor/assets/javascripts/addons/cleave-phone.ta.js +51 -0
  216. data/vendor/assets/javascripts/addons/cleave-phone.tc.js +51 -0
  217. data/vendor/assets/javascripts/addons/cleave-phone.td.js +51 -0
  218. data/vendor/assets/javascripts/addons/cleave-phone.tg.js +51 -0
  219. data/vendor/assets/javascripts/addons/cleave-phone.th.js +51 -0
  220. data/vendor/assets/javascripts/addons/cleave-phone.tj.js +51 -0
  221. data/vendor/assets/javascripts/addons/cleave-phone.tk.js +51 -0
  222. data/vendor/assets/javascripts/addons/cleave-phone.tl.js +51 -0
  223. data/vendor/assets/javascripts/addons/cleave-phone.tm.js +51 -0
  224. data/vendor/assets/javascripts/addons/cleave-phone.tn.js +51 -0
  225. data/vendor/assets/javascripts/addons/cleave-phone.to.js +51 -0
  226. data/vendor/assets/javascripts/addons/cleave-phone.tr.js +51 -0
  227. data/vendor/assets/javascripts/addons/cleave-phone.tt.js +51 -0
  228. data/vendor/assets/javascripts/addons/cleave-phone.tv.js +51 -0
  229. data/vendor/assets/javascripts/addons/cleave-phone.tw.js +51 -0
  230. data/vendor/assets/javascripts/addons/cleave-phone.tz.js +51 -0
  231. data/vendor/assets/javascripts/addons/cleave-phone.ua.js +51 -0
  232. data/vendor/assets/javascripts/addons/cleave-phone.ug.js +51 -0
  233. data/vendor/assets/javascripts/addons/cleave-phone.us.js +51 -0
  234. data/vendor/assets/javascripts/addons/cleave-phone.uy.js +51 -0
  235. data/vendor/assets/javascripts/addons/cleave-phone.uz.js +51 -0
  236. data/vendor/assets/javascripts/addons/cleave-phone.va.js +51 -0
  237. data/vendor/assets/javascripts/addons/cleave-phone.vc.js +51 -0
  238. data/vendor/assets/javascripts/addons/cleave-phone.ve.js +51 -0
  239. data/vendor/assets/javascripts/addons/cleave-phone.vg.js +51 -0
  240. data/vendor/assets/javascripts/addons/cleave-phone.vi.js +51 -0
  241. data/vendor/assets/javascripts/addons/cleave-phone.vn.js +51 -0
  242. data/vendor/assets/javascripts/addons/cleave-phone.vu.js +51 -0
  243. data/vendor/assets/javascripts/addons/cleave-phone.wf.js +51 -0
  244. data/vendor/assets/javascripts/addons/cleave-phone.ws.js +51 -0
  245. data/vendor/assets/javascripts/addons/cleave-phone.ye.js +51 -0
  246. data/vendor/assets/javascripts/addons/cleave-phone.yt.js +51 -0
  247. data/vendor/assets/javascripts/addons/cleave-phone.za.js +51 -0
  248. data/vendor/assets/javascripts/addons/cleave-phone.zm.js +51 -0
  249. data/vendor/assets/javascripts/addons/cleave-phone.zw.js +51 -0
  250. data/vendor/assets/javascripts/cleave-angular.js +1292 -0
  251. data/vendor/assets/javascripts/cleave-angular.min.js +8 -0
  252. data/vendor/assets/javascripts/cleave-react-node.js +2443 -0
  253. data/vendor/assets/javascripts/cleave-react-node.min.js +8 -0
  254. data/vendor/assets/javascripts/cleave-react.js +2638 -0
  255. data/vendor/assets/javascripts/cleave-react.min.js +8 -0
  256. data/vendor/assets/javascripts/cleave.js +1235 -0
  257. data/vendor/assets/javascripts/cleave.min.js +8 -0
  258. metadata +343 -0
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * cleave.js - 1.3.7
3
+ * https://github.com/nosir/cleave.js
4
+ * Apache License Version 2.0
5
+ *
6
+ * Copyright (C) 2012-2018 Max Huang https://github.com/nosir/
7
+ */
8
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.Cleave=t(require("react")):e.Cleave=t(e.React)}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=n(2),s=n(10),u=n(11),c=n(12),l=n(13),p=n(14),d=n(15),m=a({componentDidMount:function(){this.init()},componentDidUpdate:function(){var e=this,t=e.properties;p.setSelection(e.element,e.state.cursorPosition,t.document)},componentWillReceiveProps:function(e){var t=this,n=(e.options||{}).phoneRegionCode,r=e.value;void 0!==r&&(r=r.toString(),r!==t.properties.initValue&&r!==t.properties.result&&(t.properties.initValue=r,t.onInput(r,!0))),n&&n!==t.properties.phoneRegionCode&&(t.properties.phoneRegionCode=n,t.initPhoneFormatter(),t.onInput(t.properties.result))},getInitialState:function(){var e=this,t=e.props,n=t.value,r=t.options,o=t.onKeyDown,i=t.onChange,a=t.onFocus,s=t.onBlur,u=t.onInit;return e.registeredEvents={onInit:u||p.noop,onChange:i||p.noop,onFocus:a||p.noop,onBlur:s||p.noop,onKeyDown:o||p.noop},r||(r={}),r.initValue=n,e.properties=d.assign({},r),{value:e.properties.result,cursorPosition:0}},init:function(){var e=this,t=e.properties;return t.numeral||t.phone||t.creditCard||t.date||0!==t.blocksLength||t.prefix?(t.maxLength=p.getMaxLength(t.blocks),e.isAndroid=p.isAndroid(),e.initPhoneFormatter(),e.initDateFormatter(),e.initNumeralFormatter(),(t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue),void e.registeredEvents.onInit(e)):(e.onInput(t.initValue),void e.registeredEvents.onInit(e))},initNumeralFormatter:function(){var e=this,t=e.properties;t.numeral&&(t.numeralFormatter=new s(t.numeralDecimalMark,t.numeralIntegerScale,t.numeralDecimalScale,t.numeralThousandsGroupStyle,t.numeralPositiveOnly,t.stripLeadingZeroes,t.delimiter))},initDateFormatter:function(){var e=this,t=e.properties;t.date&&(t.dateFormatter=new u(t.datePattern),t.blocks=t.dateFormatter.getBlocks(),t.blocksLength=t.blocks.length,t.maxLength=p.getMaxLength(t.blocks))},initPhoneFormatter:function(){var e=this,t=e.properties;if(t.phone)try{t.phoneFormatter=new c(new t.root.Cleave.AsYouTypeFormatter(t.phoneRegionCode),t.delimiter)}catch(n){throw new Error("Please include phone-type-formatter.{country}.js lib")}},setRawValue:function(e){var t=this,n=t.properties;e=void 0!==e&&null!==e?e.toString():"",n.numeral&&(e=e.replace(".",n.numeralDecimalMark)),n.backspace=!1,t.onChange({target:{value:e},stopPropagation:p.noop,preventDefault:p.noop,persist:p.noop})},getRawValue:function(){var e=this,t=e.properties,n=t.result;return t.rawValueTrimPrefix&&(n=p.getPrefixStrippedValue(n,t.prefix,t.prefixLength,t.result)),n=t.numeral?t.numeralFormatter?t.numeralFormatter.getRawValue(n):"":p.stripDelimiters(n,t.delimiter,t.delimiters)},getISOFormatDate:function(){var e=this,t=e.properties;return t.date?t.dateFormatter.getISOFormatDate():""},onInit:function(e){return e},onKeyDown:function(e){var t=this,n=t.properties,r=e.which||e.keyCode;8===r&&p.isDelimiter(n.result.slice(-n.delimiterLength),n.delimiter,n.delimiters)?n.backspace=!0:n.backspace=!1,t.registeredEvents.onKeyDown(e)},onFocus:function(e){var t=this,n=t.properties;e.target.rawValue=t.getRawValue(),e.target.value=n.result,t.registeredEvents.onFocus(e),p.fixPrefixCursor(t.element,n.prefix,n.delimiter,n.delimiters)},onBlur:function(e){var t=this,n=t.properties;e.target.rawValue=t.getRawValue(),e.target.value=n.result,t.registeredEvents.onBlur(e)},onChange:function(e){var t=this,n=t.properties;t.onInput(e.target.value),e.target.rawValue=t.getRawValue(),e.target.value=n.result,t.registeredEvents.onChange(e)},onInput:function(e,t){var n=this,r=n.properties;return p.isAndroidBackspaceKeydown(n.lastInputValue,n.element.value)&&p.isDelimiter(r.result.slice(-r.delimiterLength),r.delimiter,r.delimiters)&&(r.backspace=!0),t||r.numeral||!r.backspace||p.isDelimiter(e.slice(-r.delimiterLength),r.delimiter,r.delimiters)||(e=p.headStr(e,e.length-r.delimiterLength)),r.phone?(r.result=r.phoneFormatter.format(e),void n.updateValueState()):r.numeral?(!r.prefix||r.noImmediatePrefix&&!e.length?r.result=r.numeralFormatter.format(e):r.result=r.prefix+r.numeralFormatter.format(e),void n.updateValueState()):(r.date&&(e=r.dateFormatter.getValidatedDate(e)),e=p.stripDelimiters(e,r.delimiter,r.delimiters),e=p.getPrefixStrippedValue(e,r.prefix,r.prefixLength,r.result),e=r.numericOnly?p.strip(e,/[^\d]/g):e,e=r.uppercase?e.toUpperCase():e,e=r.lowercase?e.toLowerCase():e,!r.prefix||r.noImmediatePrefix&&!e.length||(e=r.prefix+e,0!==r.blocksLength)?(r.creditCard&&n.updateCreditCardPropsByValue(e),e=r.maxLength>0?p.headStr(e,r.maxLength):e,r.result=p.getFormattedValue(e,r.blocks,r.blocksLength,r.delimiter,r.delimiters,r.delimiterLazyShow),void n.updateValueState()):(r.result=e,void n.updateValueState()))},updateCreditCardPropsByValue:function(e){var t,n=this,r=n.properties;p.headStr(r.result,4)!==p.headStr(e,4)&&(t=l.getInfo(e,r.creditCardStrictMode),r.blocks=t.blocks,r.blocksLength=r.blocks.length,r.maxLength=p.getMaxLength(r.blocks),r.creditCardType!==t.type&&(r.creditCardType=t.type,r.onCreditCardTypeChanged.call(n,r.creditCardType)))},updateValueState:function(){var e=this,t=e.properties;e.element||e.setState({value:t.result});var n=e.element.selectionEnd,r=e.element.value,o=t.result;return e.lastInputValue=o,n=p.getNextCursorPosition(n,r,o,t.delimiter,t.delimiters),e.isAndroid?void window.setTimeout(function(){e.setState({value:o,cursorPosition:n})},1):void e.setState({value:o,cursorPosition:n})},render:function(){var e=this,t=e.props,n=(t.value,t.options,t.onKeyDown,t.onFocus,t.onBlur,t.onChange,t.onInit,t.htmlRef),a=r(t,["value","options","onKeyDown","onFocus","onBlur","onChange","onInit","htmlRef"]);return i.createElement("input",o({type:"text",ref:function(t){e.element=t,n&&n.apply(this,arguments)},value:e.state.value,onKeyDown:e.onKeyDown,onChange:e.onChange,onFocus:e.onFocus,onBlur:e.onBlur},a))}});e.exports=m},function(t,n){t.exports=e},function(e,t,n){"use strict";var r=n(1),o=n(3);if("undefined"==typeof r)throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var i=(new r.Component).updater;e.exports=o(r.Component,r.isValidElement,i)},function(e,t,n){(function(t){"use strict";function r(e){return e}function o(e,n,o){function p(e,n,r){for(var o in n)n.hasOwnProperty(o)&&"production"!==t.env.NODE_ENV&&u("function"==typeof n[o],"%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.",e.displayName||"ReactClass",c[r],o)}function d(e,t){var n=x.hasOwnProperty(t)?x[t]:null;S.hasOwnProperty(t)&&s("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&s("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function m(e,r){if(r){s("function"!=typeof r,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),s(!n(r),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var o=e.prototype,i=o.__reactAutoBindPairs;r.hasOwnProperty(l)&&w.mixins(e,r.mixins);for(var a in r)if(r.hasOwnProperty(a)&&a!==l){var c=r[a],p=o.hasOwnProperty(a);if(d(p,a),w.hasOwnProperty(a))w[a](e,c);else{var m=x.hasOwnProperty(a),f="function"==typeof c,h=f&&!m&&!p&&r.autobind!==!1;if(h)i.push(a,c),o[a]=c;else if(p){var v=x[a];s(m&&("DEFINE_MANY_MERGED"===v||"DEFINE_MANY"===v),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",v,a),"DEFINE_MANY_MERGED"===v?o[a]=g(o[a],c):"DEFINE_MANY"===v&&(o[a]=y(o[a],c))}else o[a]=c,"production"!==t.env.NODE_ENV&&"function"==typeof c&&r.displayName&&(o[a].displayName=r.displayName+"_"+a)}}}else if("production"!==t.env.NODE_ENV){var E=typeof r,D="object"===E&&null!==r;"production"!==t.env.NODE_ENV&&u(D,"%s: You're attempting to include a mixin that is either null or not an object. Check the mixins included by the component, as well as any mixins they include themselves. Expected object but got %s.",e.displayName||"ReactClass",null===r?null:E)}}function f(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in w;s(!o,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n);var i=n in e;s(!i,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=r}}}function h(e,t){s(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var n in t)t.hasOwnProperty(n)&&(s(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function g(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return h(o,n),h(o,r),o}}function y(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function v(e,n){var r=n.bind(e);if("production"!==t.env.NODE_ENV){r.__reactBoundContext=e,r.__reactBoundMethod=n,r.__reactBoundArguments=null;var o=e.constructor.displayName,i=r.bind;r.bind=function(a){for(var s=arguments.length,c=Array(s>1?s-1:0),l=1;l<s;l++)c[l-1]=arguments[l];if(a!==e&&null!==a)"production"!==t.env.NODE_ENV&&u(!1,"bind(): React component methods may only be bound to the component instance. See %s",o);else if(!c.length)return"production"!==t.env.NODE_ENV&&u(!1,"bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See %s",o),r;var p=i.apply(r,arguments);return p.__reactBoundContext=e,p.__reactBoundMethod=n,p.__reactBoundArguments=c,p}}return r}function E(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=v(e,o)}}function D(e){var n=r(function(e,r,i){"production"!==t.env.NODE_ENV&&u(this instanceof n,"Something is calling a React component directly. Use a factory or JSX instead. See: https://fb.me/react-legacyfactory"),this.__reactAutoBindPairs.length&&E(this),this.props=e,this.context=r,this.refs=a,this.updater=i||o,this.state=null;var c=this.getInitialState?this.getInitialState():null;"production"!==t.env.NODE_ENV&&void 0===c&&this.getInitialState._isMockFunction&&(c=null),s("object"==typeof c&&!Array.isArray(c),"%s.getInitialState(): must return an object or null",n.displayName||"ReactCompositeComponent"),this.state=c});n.prototype=new I,n.prototype.constructor=n,n.prototype.__reactAutoBindPairs=[],b.forEach(m.bind(null,n)),m(n,N),m(n,e),m(n,C),n.getDefaultProps&&(n.defaultProps=n.getDefaultProps()),"production"!==t.env.NODE_ENV&&(n.getDefaultProps&&(n.getDefaultProps.isReactClassApproved={}),n.prototype.getInitialState&&(n.prototype.getInitialState.isReactClassApproved={})),s(n.prototype.render,"createClass(...): Class specification must implement a `render` method."),"production"!==t.env.NODE_ENV&&(u(!n.prototype.componentShouldUpdate,"%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.",e.displayName||"A component"),u(!n.prototype.componentWillRecieveProps,"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",e.displayName||"A component"));for(var i in x)n.prototype[i]||(n.prototype[i]=null);return n}var b=[],x={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},w={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)m(e,t[n])},childContextTypes:function(e,n){"production"!==t.env.NODE_ENV&&p(e,n,"childContext"),e.childContextTypes=i({},e.childContextTypes,n)},contextTypes:function(e,n){"production"!==t.env.NODE_ENV&&p(e,n,"context"),e.contextTypes=i({},e.contextTypes,n)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=g(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,n){"production"!==t.env.NODE_ENV&&p(e,n,"prop"),e.propTypes=i({},e.propTypes,n)},statics:function(e,t){f(e,t)},autobind:function(){}},N={componentDidMount:function(){this.__isMounted=!0}},C={componentWillUnmount:function(){this.__isMounted=!1}},S={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return"production"!==t.env.NODE_ENV&&(u(this.__didWarnIsMounted,"%s: isMounted is deprecated. Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.",this.constructor&&this.constructor.displayName||this.name||"Component"),this.__didWarnIsMounted=!0),!!this.__isMounted}},I=function(){};return i(I.prototype,e.prototype,S),D}var i=n(5),a=n(6),s=n(7);if("production"!==t.env.NODE_ENV)var u=n(8);var c,l="mixins";c="production"!==t.env.NODE_ENV?{prop:"prop",context:"context",childContext:"child context"}:{},e.exports=o}).call(t,n(4))},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function i(e){if(p===clearTimeout)return clearTimeout(e);if((p===r||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){h&&m&&(h=!1,m.length?f=m.concat(f):g=-1,f.length&&s())}function s(){if(!h){var e=o(a);h=!0;for(var t=f.length;t;){for(m=f,f=[];++g<t;)m&&m[g].run();g=-1,t=f.length}m=null,h=!1,i(e)}}function u(e,t){this.fun=e,this.array=t}function c(){}var l,p,d=e.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:n}catch(e){l=n}try{p="function"==typeof clearTimeout?clearTimeout:r}catch(e){p=r}}();var m,f=[],h=!1,g=-1;d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];f.push(new u(e,t)),1!==f.length||h||o(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},d.title="browser",d.browser=!0,d.env={},d.argv=[],d.version="",d.versions={},d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.prependListener=c,d.prependOnceListener=c,d.listeners=function(e){return[]},d.binding=function(e){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(e){throw new Error("process.chdir is not supported")},d.umask=function(){return 0}},function(e,t){"use strict";function n(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function r(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(i){return!1}}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=r()?Object.assign:function(e,t){for(var r,s,u=n(e),c=1;c<arguments.length;c++){r=Object(arguments[c]);for(var l in r)i.call(r,l)&&(u[l]=r[l]);if(o){s=o(r);for(var p=0;p<s.length;p++)a.call(r,s[p])&&(u[s[p]]=r[s[p]])}}return u}},function(e,t,n){(function(t){"use strict";var n={};"production"!==t.env.NODE_ENV&&Object.freeze(n),e.exports=n}).call(t,n(4))},function(e,t,n){(function(t){"use strict";function n(e,t,n,o,i,a,s,u){if(r(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,o,i,a,s,u],p=0;c=new Error(t.replace(/%s/g,function(){return l[p++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(e){};"production"!==t.env.NODE_ENV&&(r=function(e){if(void 0===e)throw new Error("invariant requires an error message argument")}),e.exports=n}).call(t,n(4))},function(e,t,n){(function(t){"use strict";var r=n(9),o=r;if("production"!==t.env.NODE_ENV){var i=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=0,i="Warning: "+e.replace(/%s/g,function(){return n[o++]});"undefined"!=typeof console&&console.error(i);try{throw new Error(i)}catch(a){}};o=function(e,t){if(void 0===t)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==t.indexOf("Failed Composite propType: ")&&!e){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];i.apply(void 0,[t].concat(r))}}}e.exports=o}).call(t,n(4))},function(e,t){"use strict";function n(e){return function(){return e}}var r=function(){};r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t){"use strict";var n=function r(e,t,n,o,i,a,s){var u=this;u.numeralDecimalMark=e||".",u.numeralIntegerScale=t>0?t:0,u.numeralDecimalScale=n>=0?n:2,u.numeralThousandsGroupStyle=o||r.groupStyle.thousand,u.numeralPositiveOnly=!!i,u.stripLeadingZeroes=a!==!1,u.delimiter=s||""===s?s:",",u.delimiterRE=s?new RegExp("\\"+s,"g"):""};n.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan",none:"none"},n.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var t,r,o=this,i="";switch(e=e.replace(/[A-Za-z]/g,"").replace(o.numeralDecimalMark,"M").replace(/[^\dM-]/g,"").replace(/^\-/,"N").replace(/\-/g,"").replace("N",o.numeralPositiveOnly?"":"-").replace("M",o.numeralDecimalMark),o.stripLeadingZeroes&&(e=e.replace(/^(-)?0+(?=\d)/,"$1")),r=e,e.indexOf(o.numeralDecimalMark)>=0&&(t=e.split(o.numeralDecimalMark),r=t[0],i=o.numeralDecimalMark+t[1].slice(0,o.numeralDecimalScale)),o.numeralIntegerScale>0&&(r=r.slice(0,o.numeralIntegerScale+("-"===e.slice(0,1)?1:0))),o.numeralThousandsGroupStyle){case n.groupStyle.lakh:r=r.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+o.delimiter);break;case n.groupStyle.wan:r=r.replace(/(\d)(?=(\d{4})+$)/g,"$1"+o.delimiter);break;case n.groupStyle.thousand:r=r.replace(/(\d)(?=(\d{3})+$)/g,"$1"+o.delimiter)}return r.toString()+(o.numeralDecimalScale>0?i.toString():"")}},e.exports=n},function(e,t){"use strict";var n=function(e){var t=this;t.date=[],t.blocks=[],t.datePattern=e,t.initBlocks()};n.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+"-"+e.addLeadingZero(t[1])+"-"+e.addLeadingZero(t[0]):""},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,n="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(r,o){if(e.length>0){var i=e.slice(0,r),a=i.slice(0,1),s=e.slice(r);switch(t.datePattern[o]){case"d":"00"===i?i="01":parseInt(a,10)>3?i="0"+a:parseInt(i,10)>31&&(i="31");break;case"m":"00"===i?i="01":parseInt(a,10)>1?i="0"+a:parseInt(i,10)>12&&(i="12")}n+=i,e=s}}),this.getFixedDateString(n)},getFixedDateString:function(e){var t,n,r,o=this,i=o.datePattern,a=[],s=0,u=0,c=0,l=0,p=0,d=0,m=!1;return 4===e.length&&"y"!==i[0].toLowerCase()&&"y"!==i[1].toLowerCase()&&(l="d"===i[0]?0:2,p=2-l,t=parseInt(e.slice(l,l+2),10),n=parseInt(e.slice(p,p+2),10),a=this.getFixedDate(t,n,0)),8===e.length&&(i.forEach(function(e,t){switch(e){case"d":s=t;break;case"m":u=t;break;default:c=t}}),d=2*c,l=s<=c?2*s:2*s+2,p=u<=c?2*u:2*u+2,t=parseInt(e.slice(l,l+2),10),n=parseInt(e.slice(p,p+2),10),r=parseInt(e.slice(d,d+4),10),m=4===e.slice(d,d+4).length,a=this.getFixedDate(t,n,r)),o.date=a,0===a.length?e:i.reduce(function(e,t){switch(t){case"d":return e+o.addLeadingZero(a[0]);case"m":return e+o.addLeadingZero(a[1]);default:return e+(m?o.addLeadingZeroForYear(a[2]):"")}},"")},getFixedDate:function(e,t,n){return e=Math.min(e,31),t=Math.min(t,12),n=parseInt(n||0,10),(t<7&&t%2===0||t>8&&t%2===1)&&(e=Math.min(e,2===t?this.isLeapYear(n)?29:28:30)),[e,t,n]},isLeapYear:function(e){return e%4===0&&e%100!==0||e%400===0},addLeadingZero:function(e){return(e<10?"0":"")+e},addLeadingZeroForYear:function(e){return(e<10?"000":e<100?"00":e<1e3?"0":"")+e}},e.exports=n},function(e,t){"use strict";var n=function(e,t){var n=this;n.delimiter=t||""===t?t:" ",n.delimiterRE=t?new RegExp("\\"+t,"g"):"",n.formatter=e};n.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear(),e=e.replace(/[^\d+]/g,""),e=e.replace(t.delimiterRE,"");for(var n,r="",o=!1,i=0,a=e.length;i<a;i++)n=t.formatter.inputDigit(e.charAt(i)),/[\s()-]/g.test(n)?(r=n,o=!0):o||(r=n);return r=r.replace(/[()]/g,""),r=r.replace(/[\s-]/g,t.delimiter)}},e.exports=n},function(e,t){"use strict";var n={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb15:[4,6,5],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],unionPay:[4,4,4,4],general:[4,4,4,4],generalStrict:[4,4,4,7]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb15:/^(?:2131|1800)\d{0,11}/,jcb:/^(?:35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^62\d{0,14}/},getInfo:function(e,t){var r=n.blocks,o=n.re;t=!!t;for(var i in o)if(o[i].test(e)){var a;return a=t?r.generalStrict:r[i],{type:i,blocks:a}}return{type:"unknown",blocks:t?r.generalStrict:r.general}}};e.exports=n},function(e,t){"use strict";var n={noop:function(){},strip:function(e,t){return e.replace(t,"")},isDelimiter:function(e,t,n){return 0===n.length?e===t:n.some(function(t){if(e===t)return!0})},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"g")},getNextCursorPosition:function(e,t,n,r,o){return t.length===e?n.length:e+this.getPositionOffset(e,t,n,r,o)},getPositionOffset:function(e,t,n,r,o){var i,a,s;return i=this.stripDelimiters(t.slice(0,e),r,o),a=this.stripDelimiters(n.slice(0,e),r,o),s=i.length-a.length,0!==s?s/Math.abs(s):0},stripDelimiters:function(e,t,n){var r=this;if(0===n.length){var o=t?r.getDelimiterREByDelimiter(t):"";return e.replace(o,"")}return n.forEach(function(t){e=e.replace(r.getDelimiterREByDelimiter(t),"")}),e},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,n,r){if(e.slice(0,n)!==t)if(e.length<r.length)e=e.length>n?r:t;else{var o=this.getFirstDiffIndex(t,e.slice(0,n));e=t+e.slice(o,o+1)+e.slice(n+1)}return e.slice(n)},getFirstDiffIndex:function(e,t){for(var n=0;e.charAt(n)===t.charAt(n);)if(""===e.charAt(n++))return-1;return n},getFormattedValue:function(e,t,n,r,o,i){var a,s="",u=o.length>0;return 0===n?e:(t.forEach(function(t,c){if(e.length>0){var l=e.slice(0,t),p=e.slice(t);a=u?o[i?c-1:c]||a:r,i?(c>0&&(s+=a),s+=l):(s+=l,l.length===t&&c<n-1&&(s+=a)),e=p}}),s)},fixPrefixCursor:function(e,t,n,r){if(e){var o=e.value,i=n||r[0]||" ";if(e.setSelectionRange&&t&&!(t.length+i.length<o.length)){var a=2*o.length;setTimeout(function(){e.setSelectionRange(a,a)},1)}}},setSelection:function(e,t,n){if(e===n.activeElement&&!(e&&e.value.length<=t))if(e.createTextRange){var r=e.createTextRange();r.move("character",t),r.select()}else try{e.setSelectionRange(t,t)}catch(o){console.warn("The input element type does not support selection")}},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}};e.exports=n},function(e,t){(function(t){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r={assign:function(e,r){return e=e||{},r=r||{},e.creditCard=!!r.creditCard,e.creditCardStrictMode=!!r.creditCardStrictMode,e.creditCardType="",e.onCreditCardTypeChanged=r.onCreditCardTypeChanged||function(){},e.phone=!!r.phone,e.phoneRegionCode=r.phoneRegionCode||"AU",e.phoneFormatter={},e.date=!!r.date,e.datePattern=r.datePattern||["d","m","Y"],e.dateFormatter={},e.numeral=!!r.numeral,e.numeralIntegerScale=r.numeralIntegerScale>0?r.numeralIntegerScale:0,e.numeralDecimalScale=r.numeralDecimalScale>=0?r.numeralDecimalScale:2,e.numeralDecimalMark=r.numeralDecimalMark||".",e.numeralThousandsGroupStyle=r.numeralThousandsGroupStyle||"thousand",e.numeralPositiveOnly=!!r.numeralPositiveOnly,e.stripLeadingZeroes=r.stripLeadingZeroes!==!1,e.numericOnly=e.creditCard||e.date||!!r.numericOnly,e.uppercase=!!r.uppercase,e.lowercase=!!r.lowercase,e.prefix=e.creditCard||e.date?"":r.prefix||"",e.noImmediatePrefix=!!r.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!r.rawValueTrimPrefix,e.copyDelimiter=!!r.copyDelimiter,e.initValue=void 0!==r.initValue&&null!==r.initValue?r.initValue.toString():"",e.delimiter=r.delimiter||""===r.delimiter?r.delimiter:r.date?"/":r.numeral?",":(r.phone," "),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!r.delimiterLazyShow,e.delimiters=r.delimiters||[],e.blocks=r.blocks||[],e.blocksLength=e.blocks.length,e.document=r.document||document,e.root="object"===("undefined"==typeof t?"undefined":n(t))&&t?t:window,e.maxLength=0,e.backspace=!1,e.result="",e.onValueChanged=r.onValueChanged||function(){},e}};e.exports=r}).call(t,function(){return this}())}])});
@@ -0,0 +1,1235 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if(typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if(typeof define === 'function' && define.amd)
5
+ define([], factory);
6
+ else if(typeof exports === 'object')
7
+ exports["Cleave"] = factory();
8
+ else
9
+ root["Cleave"] = factory();
10
+ })(this, function() {
11
+ return /******/ (function(modules) { // webpackBootstrap
12
+ /******/ // The module cache
13
+ /******/ var installedModules = {};
14
+
15
+ /******/ // The require function
16
+ /******/ function __webpack_require__(moduleId) {
17
+
18
+ /******/ // Check if module is in cache
19
+ /******/ if(installedModules[moduleId])
20
+ /******/ return installedModules[moduleId].exports;
21
+
22
+ /******/ // Create a new module (and put it into the cache)
23
+ /******/ var module = installedModules[moduleId] = {
24
+ /******/ exports: {},
25
+ /******/ id: moduleId,
26
+ /******/ loaded: false
27
+ /******/ };
28
+
29
+ /******/ // Execute the module function
30
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31
+
32
+ /******/ // Flag the module as loaded
33
+ /******/ module.loaded = true;
34
+
35
+ /******/ // Return the exports of the module
36
+ /******/ return module.exports;
37
+ /******/ }
38
+
39
+
40
+ /******/ // expose the modules object (__webpack_modules__)
41
+ /******/ __webpack_require__.m = modules;
42
+
43
+ /******/ // expose the module cache
44
+ /******/ __webpack_require__.c = installedModules;
45
+
46
+ /******/ // __webpack_public_path__
47
+ /******/ __webpack_require__.p = "";
48
+
49
+ /******/ // Load entry module and return exports
50
+ /******/ return __webpack_require__(0);
51
+ /******/ })
52
+ /************************************************************************/
53
+ /******/ ([
54
+ /* 0 */
55
+ /***/ (function(module, exports, __webpack_require__) {
56
+
57
+ /* WEBPACK VAR INJECTION */(function(global) {'use strict';
58
+
59
+ /**
60
+ * Construct a new Cleave instance by passing the configuration object
61
+ *
62
+ * @param {String | HTMLElement} element
63
+ * @param {Object} opts
64
+ */
65
+ var Cleave = function (element, opts) {
66
+ var owner = this;
67
+
68
+ if (typeof element === 'string') {
69
+ owner.element = document.querySelector(element);
70
+ } else {
71
+ owner.element = ((typeof element.length !== 'undefined') && element.length > 0) ? element[0] : element;
72
+ }
73
+
74
+ if (!owner.element) {
75
+ throw new Error('[cleave.js] Please check the element');
76
+ }
77
+
78
+ opts.initValue = owner.element.value;
79
+
80
+ owner.properties = Cleave.DefaultProperties.assign({}, opts);
81
+
82
+ owner.init();
83
+ };
84
+
85
+ Cleave.prototype = {
86
+ init: function () {
87
+ var owner = this, pps = owner.properties;
88
+
89
+ // no need to use this lib
90
+ if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.date && (pps.blocksLength === 0 && !pps.prefix)) {
91
+ owner.onInput(pps.initValue);
92
+
93
+ return;
94
+ }
95
+
96
+ pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);
97
+
98
+ owner.isAndroid = Cleave.Util.isAndroid();
99
+ owner.lastInputValue = '';
100
+
101
+ owner.onChangeListener = owner.onChange.bind(owner);
102
+ owner.onKeyDownListener = owner.onKeyDown.bind(owner);
103
+ owner.onFocusListener = owner.onFocus.bind(owner);
104
+ owner.onCutListener = owner.onCut.bind(owner);
105
+ owner.onCopyListener = owner.onCopy.bind(owner);
106
+
107
+ owner.element.addEventListener('input', owner.onChangeListener);
108
+ owner.element.addEventListener('keydown', owner.onKeyDownListener);
109
+ owner.element.addEventListener('focus', owner.onFocusListener);
110
+ owner.element.addEventListener('cut', owner.onCutListener);
111
+ owner.element.addEventListener('copy', owner.onCopyListener);
112
+
113
+
114
+ owner.initPhoneFormatter();
115
+ owner.initDateFormatter();
116
+ owner.initNumeralFormatter();
117
+
118
+ // avoid touch input field if value is null
119
+ // otherwise Firefox will add red box-shadow for <input required />
120
+ if (pps.initValue || (pps.prefix && !pps.noImmediatePrefix)) {
121
+ owner.onInput(pps.initValue);
122
+ }
123
+ },
124
+
125
+ initNumeralFormatter: function () {
126
+ var owner = this, pps = owner.properties;
127
+
128
+ if (!pps.numeral) {
129
+ return;
130
+ }
131
+
132
+ pps.numeralFormatter = new Cleave.NumeralFormatter(
133
+ pps.numeralDecimalMark,
134
+ pps.numeralIntegerScale,
135
+ pps.numeralDecimalScale,
136
+ pps.numeralThousandsGroupStyle,
137
+ pps.numeralPositiveOnly,
138
+ pps.stripLeadingZeroes,
139
+ pps.delimiter
140
+ );
141
+ },
142
+
143
+ initDateFormatter: function () {
144
+ var owner = this, pps = owner.properties;
145
+
146
+ if (!pps.date) {
147
+ return;
148
+ }
149
+
150
+ pps.dateFormatter = new Cleave.DateFormatter(pps.datePattern);
151
+ pps.blocks = pps.dateFormatter.getBlocks();
152
+ pps.blocksLength = pps.blocks.length;
153
+ pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);
154
+ },
155
+
156
+ initPhoneFormatter: function () {
157
+ var owner = this, pps = owner.properties;
158
+
159
+ if (!pps.phone) {
160
+ return;
161
+ }
162
+
163
+ // Cleave.AsYouTypeFormatter should be provided by
164
+ // external google closure lib
165
+ try {
166
+ pps.phoneFormatter = new Cleave.PhoneFormatter(
167
+ new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode),
168
+ pps.delimiter
169
+ );
170
+ } catch (ex) {
171
+ throw new Error('[cleave.js] Please include phone-type-formatter.{country}.js lib');
172
+ }
173
+ },
174
+
175
+ onKeyDown: function (event) {
176
+ var owner = this, pps = owner.properties,
177
+ charCode = event.which || event.keyCode,
178
+ Util = Cleave.Util,
179
+ currentValue = owner.element.value;
180
+
181
+ if (Util.isAndroidBackspaceKeydown(owner.lastInputValue, currentValue)) {
182
+ charCode = 8;
183
+ }
184
+
185
+ owner.lastInputValue = currentValue;
186
+
187
+ // hit backspace when last character is delimiter
188
+ if (charCode === 8 && Util.isDelimiter(currentValue.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
189
+ pps.backspace = true;
190
+
191
+ return;
192
+ }
193
+
194
+ pps.backspace = false;
195
+ },
196
+
197
+ onChange: function () {
198
+ this.onInput(this.element.value);
199
+ },
200
+
201
+ onFocus: function () {
202
+ var owner = this,
203
+ pps = owner.properties;
204
+
205
+ Cleave.Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);
206
+ },
207
+
208
+ onCut: function (e) {
209
+ this.copyClipboardData(e);
210
+ this.onInput('');
211
+ },
212
+
213
+ onCopy: function (e) {
214
+ this.copyClipboardData(e);
215
+ },
216
+
217
+ copyClipboardData: function (e) {
218
+ var owner = this,
219
+ pps = owner.properties,
220
+ Util = Cleave.Util,
221
+ inputValue = owner.element.value,
222
+ textToCopy = '';
223
+
224
+ if (!pps.copyDelimiter) {
225
+ textToCopy = Util.stripDelimiters(inputValue, pps.delimiter, pps.delimiters);
226
+ } else {
227
+ textToCopy = inputValue;
228
+ }
229
+
230
+ try {
231
+ if (e.clipboardData) {
232
+ e.clipboardData.setData('Text', textToCopy);
233
+ } else {
234
+ window.clipboardData.setData('Text', textToCopy);
235
+ }
236
+
237
+ e.preventDefault();
238
+ } catch (ex) {
239
+ // empty
240
+ }
241
+ },
242
+
243
+ onInput: function (value) {
244
+ var owner = this, pps = owner.properties,
245
+ Util = Cleave.Util;
246
+
247
+ // case 1: delete one more character "4"
248
+ // 1234*| -> hit backspace -> 123|
249
+ // case 2: last character is not delimiter which is:
250
+ // 12|34* -> hit backspace -> 1|34*
251
+ // note: no need to apply this for numeral mode
252
+ if (!pps.numeral && pps.backspace && !Util.isDelimiter(value.slice(-pps.delimiterLength), pps.delimiter, pps.delimiters)) {
253
+ value = Util.headStr(value, value.length - pps.delimiterLength);
254
+ }
255
+
256
+ // phone formatter
257
+ if (pps.phone) {
258
+ if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {
259
+ pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);
260
+ } else {
261
+ pps.result = pps.phoneFormatter.format(value);
262
+ }
263
+ owner.updateValueState();
264
+
265
+ return;
266
+ }
267
+
268
+ // numeral formatter
269
+ if (pps.numeral) {
270
+ if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {
271
+ pps.result = pps.prefix + pps.numeralFormatter.format(value);
272
+ } else {
273
+ pps.result = pps.numeralFormatter.format(value);
274
+ }
275
+ owner.updateValueState();
276
+
277
+ return;
278
+ }
279
+
280
+ // date
281
+ if (pps.date) {
282
+ value = pps.dateFormatter.getValidatedDate(value);
283
+ }
284
+
285
+ // strip delimiters
286
+ value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);
287
+
288
+ // strip prefix
289
+ value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result);
290
+
291
+ // strip non-numeric characters
292
+ value = pps.numericOnly ? Util.strip(value, /[^\d]/g) : value;
293
+
294
+ // convert case
295
+ value = pps.uppercase ? value.toUpperCase() : value;
296
+ value = pps.lowercase ? value.toLowerCase() : value;
297
+
298
+ // prefix
299
+ if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {
300
+ value = pps.prefix + value;
301
+
302
+ // no blocks specified, no need to do formatting
303
+ if (pps.blocksLength === 0) {
304
+ pps.result = value;
305
+ owner.updateValueState();
306
+
307
+ return;
308
+ }
309
+ }
310
+
311
+ // update credit card props
312
+ if (pps.creditCard) {
313
+ owner.updateCreditCardPropsByValue(value);
314
+ }
315
+
316
+ // strip over length characters
317
+ value = Util.headStr(value, pps.maxLength);
318
+
319
+ // apply blocks
320
+ pps.result = Util.getFormattedValue(
321
+ value,
322
+ pps.blocks, pps.blocksLength,
323
+ pps.delimiter, pps.delimiters, pps.delimiterLazyShow
324
+ );
325
+
326
+ owner.updateValueState();
327
+ },
328
+
329
+ updateCreditCardPropsByValue: function (value) {
330
+ var owner = this, pps = owner.properties,
331
+ Util = Cleave.Util,
332
+ creditCardInfo;
333
+
334
+ // At least one of the first 4 characters has changed
335
+ if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {
336
+ return;
337
+ }
338
+
339
+ creditCardInfo = Cleave.CreditCardDetector.getInfo(value, pps.creditCardStrictMode);
340
+
341
+ pps.blocks = creditCardInfo.blocks;
342
+ pps.blocksLength = pps.blocks.length;
343
+ pps.maxLength = Util.getMaxLength(pps.blocks);
344
+
345
+ // credit card type changed
346
+ if (pps.creditCardType !== creditCardInfo.type) {
347
+ pps.creditCardType = creditCardInfo.type;
348
+
349
+ pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);
350
+ }
351
+ },
352
+
353
+ updateValueState: function () {
354
+ var owner = this,
355
+ Util = Cleave.Util,
356
+ pps = owner.properties;
357
+
358
+ if (!owner.element) {
359
+ return;
360
+ }
361
+
362
+ var endPos = owner.element.selectionEnd;
363
+ var oldValue = owner.element.value;
364
+ var newValue = pps.result;
365
+
366
+ endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);
367
+
368
+ // fix Android browser type="text" input field
369
+ // cursor not jumping issue
370
+ if (owner.isAndroid) {
371
+ window.setTimeout(function () {
372
+ owner.element.value = newValue;
373
+ Util.setSelection(owner.element, endPos, pps.document, false);
374
+ owner.callOnValueChanged();
375
+ }, 1);
376
+
377
+ return;
378
+ }
379
+
380
+ owner.element.value = newValue;
381
+ Util.setSelection(owner.element, endPos, pps.document, false);
382
+ owner.callOnValueChanged();
383
+ },
384
+
385
+ callOnValueChanged: function () {
386
+ var owner = this,
387
+ pps = owner.properties;
388
+
389
+ pps.onValueChanged.call(owner, {
390
+ target: {
391
+ value: pps.result,
392
+ rawValue: owner.getRawValue()
393
+ }
394
+ });
395
+ },
396
+
397
+ setPhoneRegionCode: function (phoneRegionCode) {
398
+ var owner = this, pps = owner.properties;
399
+
400
+ pps.phoneRegionCode = phoneRegionCode;
401
+ owner.initPhoneFormatter();
402
+ owner.onChange();
403
+ },
404
+
405
+ setRawValue: function (value) {
406
+ var owner = this, pps = owner.properties;
407
+
408
+ value = value !== undefined && value !== null ? value.toString() : '';
409
+
410
+ if (pps.numeral) {
411
+ value = value.replace('.', pps.numeralDecimalMark);
412
+ }
413
+
414
+ pps.backspace = false;
415
+
416
+ owner.element.value = value;
417
+ owner.onInput(value);
418
+ },
419
+
420
+ getRawValue: function () {
421
+ var owner = this,
422
+ pps = owner.properties,
423
+ Util = Cleave.Util,
424
+ rawValue = owner.element.value;
425
+
426
+ if (pps.rawValueTrimPrefix) {
427
+ rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result);
428
+ }
429
+
430
+ if (pps.numeral) {
431
+ rawValue = pps.numeralFormatter.getRawValue(rawValue);
432
+ } else {
433
+ rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);
434
+ }
435
+
436
+ return rawValue;
437
+ },
438
+
439
+ getISOFormatDate: function () {
440
+ var owner = this,
441
+ pps = owner.properties;
442
+
443
+ return pps.date ? pps.dateFormatter.getISOFormatDate() : '';
444
+ },
445
+
446
+ getFormattedValue: function () {
447
+ return this.element.value;
448
+ },
449
+
450
+ destroy: function () {
451
+ var owner = this;
452
+
453
+ owner.element.removeEventListener('input', owner.onChangeListener);
454
+ owner.element.removeEventListener('keydown', owner.onKeyDownListener);
455
+ owner.element.removeEventListener('focus', owner.onFocusListener);
456
+ owner.element.removeEventListener('cut', owner.onCutListener);
457
+ owner.element.removeEventListener('copy', owner.onCopyListener);
458
+ },
459
+
460
+ toString: function () {
461
+ return '[Cleave Object]';
462
+ }
463
+ };
464
+
465
+ Cleave.NumeralFormatter = __webpack_require__(1);
466
+ Cleave.DateFormatter = __webpack_require__(2);
467
+ Cleave.PhoneFormatter = __webpack_require__(3);
468
+ Cleave.CreditCardDetector = __webpack_require__(4);
469
+ Cleave.Util = __webpack_require__(5);
470
+ Cleave.DefaultProperties = __webpack_require__(6);
471
+
472
+ // for angular directive
473
+ ((typeof global === 'object' && global) ? global : window)['Cleave'] = Cleave;
474
+
475
+ // CommonJS
476
+ module.exports = Cleave;
477
+
478
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
479
+
480
+ /***/ }),
481
+ /* 1 */
482
+ /***/ (function(module, exports) {
483
+
484
+ 'use strict';
485
+
486
+ var NumeralFormatter = function (numeralDecimalMark,
487
+ numeralIntegerScale,
488
+ numeralDecimalScale,
489
+ numeralThousandsGroupStyle,
490
+ numeralPositiveOnly,
491
+ stripLeadingZeroes,
492
+ delimiter) {
493
+ var owner = this;
494
+
495
+ owner.numeralDecimalMark = numeralDecimalMark || '.';
496
+ owner.numeralIntegerScale = numeralIntegerScale > 0 ? numeralIntegerScale : 0;
497
+ owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;
498
+ owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;
499
+ owner.numeralPositiveOnly = !!numeralPositiveOnly;
500
+ owner.stripLeadingZeroes = stripLeadingZeroes !== false;
501
+ owner.delimiter = (delimiter || delimiter === '') ? delimiter : ',';
502
+ owner.delimiterRE = delimiter ? new RegExp('\\' + delimiter, 'g') : '';
503
+ };
504
+
505
+ NumeralFormatter.groupStyle = {
506
+ thousand: 'thousand',
507
+ lakh: 'lakh',
508
+ wan: 'wan',
509
+ none: 'none'
510
+ };
511
+
512
+ NumeralFormatter.prototype = {
513
+ getRawValue: function (value) {
514
+ return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');
515
+ },
516
+
517
+ format: function (value) {
518
+ var owner = this, parts, partInteger, partDecimal = '';
519
+
520
+ // strip alphabet letters
521
+ value = value.replace(/[A-Za-z]/g, '')
522
+ // replace the first decimal mark with reserved placeholder
523
+ .replace(owner.numeralDecimalMark, 'M')
524
+
525
+ // strip non numeric letters except minus and "M"
526
+ // this is to ensure prefix has been stripped
527
+ .replace(/[^\dM-]/g, '')
528
+
529
+ // replace the leading minus with reserved placeholder
530
+ .replace(/^\-/, 'N')
531
+
532
+ // strip the other minus sign (if present)
533
+ .replace(/\-/g, '')
534
+
535
+ // replace the minus sign (if present)
536
+ .replace('N', owner.numeralPositiveOnly ? '' : '-')
537
+
538
+ // replace decimal mark
539
+ .replace('M', owner.numeralDecimalMark);
540
+
541
+ // strip any leading zeros
542
+ if (owner.stripLeadingZeroes) {
543
+ value = value.replace(/^(-)?0+(?=\d)/, '$1');
544
+ }
545
+
546
+ partInteger = value;
547
+
548
+ if (value.indexOf(owner.numeralDecimalMark) >= 0) {
549
+ parts = value.split(owner.numeralDecimalMark);
550
+ partInteger = parts[0];
551
+ partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);
552
+ }
553
+
554
+ if (owner.numeralIntegerScale > 0) {
555
+ partInteger = partInteger.slice(0, owner.numeralIntegerScale + (value.slice(0, 1) === '-' ? 1 : 0));
556
+ }
557
+
558
+ switch (owner.numeralThousandsGroupStyle) {
559
+ case NumeralFormatter.groupStyle.lakh:
560
+ partInteger = partInteger.replace(/(\d)(?=(\d\d)+\d$)/g, '$1' + owner.delimiter);
561
+
562
+ break;
563
+
564
+ case NumeralFormatter.groupStyle.wan:
565
+ partInteger = partInteger.replace(/(\d)(?=(\d{4})+$)/g, '$1' + owner.delimiter);
566
+
567
+ break;
568
+
569
+ case NumeralFormatter.groupStyle.thousand:
570
+ partInteger = partInteger.replace(/(\d)(?=(\d{3})+$)/g, '$1' + owner.delimiter);
571
+
572
+ break;
573
+ }
574
+
575
+ return partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');
576
+ }
577
+ };
578
+
579
+ module.exports = NumeralFormatter;
580
+
581
+
582
+ /***/ }),
583
+ /* 2 */
584
+ /***/ (function(module, exports) {
585
+
586
+ 'use strict';
587
+
588
+ var DateFormatter = function (datePattern) {
589
+ var owner = this;
590
+
591
+ owner.date = [];
592
+ owner.blocks = [];
593
+ owner.datePattern = datePattern;
594
+ owner.initBlocks();
595
+ };
596
+
597
+ DateFormatter.prototype = {
598
+ initBlocks: function () {
599
+ var owner = this;
600
+ owner.datePattern.forEach(function (value) {
601
+ if (value === 'Y') {
602
+ owner.blocks.push(4);
603
+ } else {
604
+ owner.blocks.push(2);
605
+ }
606
+ });
607
+ },
608
+
609
+ getISOFormatDate: function () {
610
+ var owner = this,
611
+ date = owner.date;
612
+
613
+ return date[2] ? (
614
+ date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0])
615
+ ) : '';
616
+ },
617
+
618
+ getBlocks: function () {
619
+ return this.blocks;
620
+ },
621
+
622
+ getValidatedDate: function (value) {
623
+ var owner = this, result = '';
624
+
625
+ value = value.replace(/[^\d]/g, '');
626
+
627
+ owner.blocks.forEach(function (length, index) {
628
+ if (value.length > 0) {
629
+ var sub = value.slice(0, length),
630
+ sub0 = sub.slice(0, 1),
631
+ rest = value.slice(length);
632
+
633
+ switch (owner.datePattern[index]) {
634
+ case 'd':
635
+ if (sub === '00') {
636
+ sub = '01';
637
+ } else if (parseInt(sub0, 10) > 3) {
638
+ sub = '0' + sub0;
639
+ } else if (parseInt(sub, 10) > 31) {
640
+ sub = '31';
641
+ }
642
+
643
+ break;
644
+
645
+ case 'm':
646
+ if (sub === '00') {
647
+ sub = '01';
648
+ } else if (parseInt(sub0, 10) > 1) {
649
+ sub = '0' + sub0;
650
+ } else if (parseInt(sub, 10) > 12) {
651
+ sub = '12';
652
+ }
653
+
654
+ break;
655
+ }
656
+
657
+ result += sub;
658
+
659
+ // update remaining string
660
+ value = rest;
661
+ }
662
+ });
663
+
664
+ return this.getFixedDateString(result);
665
+ },
666
+
667
+ getFixedDateString: function (value) {
668
+ var owner = this, datePattern = owner.datePattern, date = [],
669
+ dayIndex = 0, monthIndex = 0, yearIndex = 0,
670
+ dayStartIndex = 0, monthStartIndex = 0, yearStartIndex = 0,
671
+ day, month, year, fullYearDone = false;
672
+
673
+ // mm-dd || dd-mm
674
+ if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {
675
+ dayStartIndex = datePattern[0] === 'd' ? 0 : 2;
676
+ monthStartIndex = 2 - dayStartIndex;
677
+ day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);
678
+ month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);
679
+
680
+ date = this.getFixedDate(day, month, 0);
681
+ }
682
+
683
+ // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd
684
+ if (value.length === 8) {
685
+ datePattern.forEach(function (type, index) {
686
+ switch (type) {
687
+ case 'd':
688
+ dayIndex = index;
689
+ break;
690
+ case 'm':
691
+ monthIndex = index;
692
+ break;
693
+ default:
694
+ yearIndex = index;
695
+ break;
696
+ }
697
+ });
698
+
699
+ yearStartIndex = yearIndex * 2;
700
+ dayStartIndex = (dayIndex <= yearIndex) ? dayIndex * 2 : (dayIndex * 2 + 2);
701
+ monthStartIndex = (monthIndex <= yearIndex) ? monthIndex * 2 : (monthIndex * 2 + 2);
702
+
703
+ day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);
704
+ month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);
705
+ year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);
706
+
707
+ fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;
708
+
709
+ date = this.getFixedDate(day, month, year);
710
+ }
711
+
712
+ owner.date = date;
713
+
714
+ return date.length === 0 ? value : datePattern.reduce(function (previous, current) {
715
+ switch (current) {
716
+ case 'd':
717
+ return previous + owner.addLeadingZero(date[0]);
718
+ case 'm':
719
+ return previous + owner.addLeadingZero(date[1]);
720
+ default:
721
+ return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2]) : '');
722
+ }
723
+ }, '');
724
+ },
725
+
726
+ getFixedDate: function (day, month, year) {
727
+ day = Math.min(day, 31);
728
+ month = Math.min(month, 12);
729
+ year = parseInt((year || 0), 10);
730
+
731
+ if ((month < 7 && month % 2 === 0) || (month > 8 && month % 2 === 1)) {
732
+ day = Math.min(day, month === 2 ? (this.isLeapYear(year) ? 29 : 28) : 30);
733
+ }
734
+
735
+ return [day, month, year];
736
+ },
737
+
738
+ isLeapYear: function (year) {
739
+ return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);
740
+ },
741
+
742
+ addLeadingZero: function (number) {
743
+ return (number < 10 ? '0' : '') + number;
744
+ },
745
+
746
+ addLeadingZeroForYear: function (number) {
747
+ return (number < 10 ? '000' : (number < 100 ? '00' : (number < 1000 ? '0' : ''))) + number;
748
+ }
749
+ };
750
+
751
+ module.exports = DateFormatter;
752
+
753
+
754
+
755
+ /***/ }),
756
+ /* 3 */
757
+ /***/ (function(module, exports) {
758
+
759
+ 'use strict';
760
+
761
+ var PhoneFormatter = function (formatter, delimiter) {
762
+ var owner = this;
763
+
764
+ owner.delimiter = (delimiter || delimiter === '') ? delimiter : ' ';
765
+ owner.delimiterRE = delimiter ? new RegExp('\\' + delimiter, 'g') : '';
766
+
767
+ owner.formatter = formatter;
768
+ };
769
+
770
+ PhoneFormatter.prototype = {
771
+ setFormatter: function (formatter) {
772
+ this.formatter = formatter;
773
+ },
774
+
775
+ format: function (phoneNumber) {
776
+ var owner = this;
777
+
778
+ owner.formatter.clear();
779
+
780
+ // only keep number and +
781
+ phoneNumber = phoneNumber.replace(/[^\d+]/g, '');
782
+
783
+ // strip delimiter
784
+ phoneNumber = phoneNumber.replace(owner.delimiterRE, '');
785
+
786
+ var result = '', current, validated = false;
787
+
788
+ for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {
789
+ current = owner.formatter.inputDigit(phoneNumber.charAt(i));
790
+
791
+ // has ()- or space inside
792
+ if (/[\s()-]/g.test(current)) {
793
+ result = current;
794
+
795
+ validated = true;
796
+ } else {
797
+ if (!validated) {
798
+ result = current;
799
+ }
800
+ // else: over length input
801
+ // it turns to invalid number again
802
+ }
803
+ }
804
+
805
+ // strip ()
806
+ // e.g. US: 7161234567 returns (716) 123-4567
807
+ result = result.replace(/[()]/g, '');
808
+ // replace library delimiter with user customized delimiter
809
+ result = result.replace(/[\s-]/g, owner.delimiter);
810
+
811
+ return result;
812
+ }
813
+ };
814
+
815
+ module.exports = PhoneFormatter;
816
+
817
+
818
+
819
+ /***/ }),
820
+ /* 4 */
821
+ /***/ (function(module, exports) {
822
+
823
+ 'use strict';
824
+
825
+ var CreditCardDetector = {
826
+ blocks: {
827
+ uatp: [4, 5, 6],
828
+ amex: [4, 6, 5],
829
+ diners: [4, 6, 4],
830
+ discover: [4, 4, 4, 4],
831
+ mastercard: [4, 4, 4, 4],
832
+ dankort: [4, 4, 4, 4],
833
+ instapayment: [4, 4, 4, 4],
834
+ jcb15: [4, 6, 5],
835
+ jcb: [4, 4, 4, 4],
836
+ maestro: [4, 4, 4, 4],
837
+ visa: [4, 4, 4, 4],
838
+ mir: [4, 4, 4, 4],
839
+ unionPay: [4, 4, 4, 4],
840
+ general: [4, 4, 4, 4],
841
+ generalStrict: [4, 4, 4, 7]
842
+ },
843
+
844
+ re: {
845
+ // starts with 1; 15 digits, not starts with 1800 (jcb card)
846
+ uatp: /^(?!1800)1\d{0,14}/,
847
+
848
+ // starts with 34/37; 15 digits
849
+ amex: /^3[47]\d{0,13}/,
850
+
851
+ // starts with 6011/65/644-649; 16 digits
852
+ discover: /^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,
853
+
854
+ // starts with 300-305/309 or 36/38/39; 14 digits
855
+ diners: /^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,
856
+
857
+ // starts with 51-55/2221–2720; 16 digits
858
+ mastercard: /^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,
859
+
860
+ // starts with 5019/4175/4571; 16 digits
861
+ dankort: /^(5019|4175|4571)\d{0,12}/,
862
+
863
+ // starts with 637-639; 16 digits
864
+ instapayment: /^63[7-9]\d{0,13}/,
865
+
866
+ // starts with 2131/1800; 15 digits
867
+ jcb15: /^(?:2131|1800)\d{0,11}/,
868
+
869
+ // starts with 2131/1800/35; 16 digits
870
+ jcb: /^(?:35\d{0,2})\d{0,12}/,
871
+
872
+ // starts with 50/56-58/6304/67; 16 digits
873
+ maestro: /^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,
874
+
875
+ // starts with 22; 16 digits
876
+ mir: /^220[0-4]\d{0,12}/,
877
+
878
+ // starts with 4; 16 digits
879
+ visa: /^4\d{0,15}/,
880
+
881
+ // starts with 62; 16 digits
882
+ unionPay: /^62\d{0,14}/
883
+ },
884
+
885
+ getInfo: function (value, strictMode) {
886
+ var blocks = CreditCardDetector.blocks,
887
+ re = CreditCardDetector.re;
888
+
889
+ // Some credit card can have up to 19 digits number.
890
+ // Set strictMode to true will remove the 16 max-length restrain,
891
+ // however, I never found any website validate card number like
892
+ // this, hence probably you don't want to enable this option.
893
+ strictMode = !!strictMode;
894
+
895
+ for (var key in re) {
896
+ if (re[key].test(value)) {
897
+ var block;
898
+
899
+ if (strictMode) {
900
+ block = blocks.generalStrict;
901
+ } else {
902
+ block = blocks[key];
903
+ }
904
+
905
+ return {
906
+ type: key,
907
+ blocks: block
908
+ };
909
+ }
910
+ }
911
+
912
+ return {
913
+ type: 'unknown',
914
+ blocks: strictMode ? blocks.generalStrict : blocks.general
915
+ };
916
+ }
917
+ };
918
+
919
+ module.exports = CreditCardDetector;
920
+
921
+
922
+ /***/ }),
923
+ /* 5 */
924
+ /***/ (function(module, exports) {
925
+
926
+ 'use strict';
927
+
928
+ var Util = {
929
+ noop: function () {
930
+ },
931
+
932
+ strip: function (value, re) {
933
+ return value.replace(re, '');
934
+ },
935
+
936
+ isDelimiter: function (letter, delimiter, delimiters) {
937
+ // single delimiter
938
+ if (delimiters.length === 0) {
939
+ return letter === delimiter;
940
+ }
941
+
942
+ // multiple delimiters
943
+ return delimiters.some(function (current) {
944
+ if (letter === current) {
945
+ return true;
946
+ }
947
+ });
948
+ },
949
+
950
+ getDelimiterREByDelimiter: function (delimiter) {
951
+ return new RegExp(delimiter.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1'), 'g');
952
+ },
953
+
954
+ getNextCursorPosition: function (prevPos, oldValue, newValue, delimiter, delimiters) {
955
+ // If cursor was at the end of value, just place it back.
956
+ // Because new value could contain additional chars.
957
+ if (oldValue.length === prevPos) {
958
+ return newValue.length;
959
+ }
960
+
961
+ return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter ,delimiters);
962
+ },
963
+
964
+ getPositionOffset: function (prevPos, oldValue, newValue, delimiter, delimiters) {
965
+ var oldRawValue, newRawValue, lengthOffset;
966
+
967
+ oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);
968
+ newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);
969
+ lengthOffset = oldRawValue.length - newRawValue.length;
970
+
971
+ return (lengthOffset !== 0) ? (lengthOffset / Math.abs(lengthOffset)) : 0;
972
+ },
973
+
974
+ stripDelimiters: function (value, delimiter, delimiters) {
975
+ var owner = this;
976
+
977
+ // single delimiter
978
+ if (delimiters.length === 0) {
979
+ var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';
980
+
981
+ return value.replace(delimiterRE, '');
982
+ }
983
+
984
+ // multiple delimiters
985
+ delimiters.forEach(function (current) {
986
+ value = value.replace(owner.getDelimiterREByDelimiter(current), '');
987
+ });
988
+
989
+ return value;
990
+ },
991
+
992
+ headStr: function (str, length) {
993
+ return str.slice(0, length);
994
+ },
995
+
996
+ getMaxLength: function (blocks) {
997
+ return blocks.reduce(function (previous, current) {
998
+ return previous + current;
999
+ }, 0);
1000
+ },
1001
+
1002
+ // strip value by prefix length
1003
+ // for prefix: PRE
1004
+ // (PRE123, 3) -> 123
1005
+ // (PR123, 3) -> 23 this happens when user hits backspace in front of "PRE"
1006
+ getPrefixStrippedValue: function (value, prefix, prefixLength, prevValue) {
1007
+ if (value.slice(0, prefixLength) !== prefix) {
1008
+
1009
+ // Check whether if it is a deletion
1010
+ if (value.length < prevValue.length) {
1011
+ value = value.length > prefixLength ? prevValue : prefix;
1012
+ } else {
1013
+ var diffIndex = this.getFirstDiffIndex(prefix, value.slice(0, prefixLength));
1014
+ value = prefix + value.slice(diffIndex, diffIndex + 1) + value.slice(prefixLength + 1);
1015
+ }
1016
+ }
1017
+
1018
+ return value.slice(prefixLength);
1019
+ },
1020
+
1021
+ getFirstDiffIndex: function (prev, current) {
1022
+ var index = 0;
1023
+
1024
+ while (prev.charAt(index) === current.charAt(index)) {
1025
+ if (prev.charAt(index++) === '') {
1026
+ return -1;
1027
+ }
1028
+ }
1029
+
1030
+ return index;
1031
+ },
1032
+
1033
+ getFormattedValue: function (value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {
1034
+ var result = '',
1035
+ multipleDelimiters = delimiters.length > 0,
1036
+ currentDelimiter;
1037
+
1038
+ // no options, normal input
1039
+ if (blocksLength === 0) {
1040
+ return value;
1041
+ }
1042
+
1043
+ blocks.forEach(function (length, index) {
1044
+ if (value.length > 0) {
1045
+ var sub = value.slice(0, length),
1046
+ rest = value.slice(length);
1047
+
1048
+ if (multipleDelimiters) {
1049
+ currentDelimiter = delimiters[delimiterLazyShow ? (index - 1) : index] || currentDelimiter;
1050
+ } else {
1051
+ currentDelimiter = delimiter;
1052
+ }
1053
+
1054
+ if (delimiterLazyShow) {
1055
+ if (index > 0) {
1056
+ result += currentDelimiter;
1057
+ }
1058
+
1059
+ result += sub;
1060
+ } else {
1061
+ result += sub;
1062
+
1063
+ if (sub.length === length && index < blocksLength - 1) {
1064
+ result += currentDelimiter;
1065
+ }
1066
+ }
1067
+
1068
+ // update remaining string
1069
+ value = rest;
1070
+ }
1071
+ });
1072
+
1073
+ return result;
1074
+ },
1075
+
1076
+ // move cursor to the end
1077
+ // the first time user focuses on an input with prefix
1078
+ fixPrefixCursor: function (el, prefix, delimiter, delimiters) {
1079
+ if (!el) {
1080
+ return;
1081
+ }
1082
+
1083
+ var val = el.value,
1084
+ appendix = delimiter || (delimiters[0] || ' ');
1085
+
1086
+ if (!el.setSelectionRange || !prefix || (prefix.length + appendix.length) < val.length) {
1087
+ return;
1088
+ }
1089
+
1090
+ var len = val.length * 2;
1091
+
1092
+ // set timeout to avoid blink
1093
+ setTimeout(function () {
1094
+ el.setSelectionRange(len, len);
1095
+ }, 1);
1096
+ },
1097
+
1098
+ setSelection: function (element, position, doc) {
1099
+ if (element !== doc.activeElement) {
1100
+ return;
1101
+ }
1102
+
1103
+ // cursor is already in the end
1104
+ if (element && element.value.length <= position) {
1105
+ return;
1106
+ }
1107
+
1108
+ if (element.createTextRange) {
1109
+ var range = element.createTextRange();
1110
+
1111
+ range.move('character', position);
1112
+ range.select();
1113
+ } else {
1114
+ try {
1115
+ element.setSelectionRange(position, position);
1116
+ } catch (e) {
1117
+ // eslint-disable-next-line
1118
+ console.warn('The input element type does not support selection');
1119
+ }
1120
+ }
1121
+ },
1122
+
1123
+ isAndroid: function () {
1124
+ return navigator && /android/i.test(navigator.userAgent);
1125
+ },
1126
+
1127
+ // On Android chrome, the keyup and keydown events
1128
+ // always return key code 229 as a composition that
1129
+ // buffers the user’s keystrokes
1130
+ // see https://github.com/nosir/cleave.js/issues/147
1131
+ isAndroidBackspaceKeydown: function (lastInputValue, currentInputValue) {
1132
+ if (!this.isAndroid() || !lastInputValue || !currentInputValue) {
1133
+ return false;
1134
+ }
1135
+
1136
+ return currentInputValue === lastInputValue.slice(0, -1);
1137
+ }
1138
+ };
1139
+
1140
+ module.exports = Util;
1141
+
1142
+
1143
+ /***/ }),
1144
+ /* 6 */
1145
+ /***/ (function(module, exports) {
1146
+
1147
+ /* WEBPACK VAR INJECTION */(function(global) {'use strict';
1148
+
1149
+ /**
1150
+ * Props Assignment
1151
+ *
1152
+ * Separate this, so react module can share the usage
1153
+ */
1154
+ var DefaultProperties = {
1155
+ // Maybe change to object-assign
1156
+ // for now just keep it as simple
1157
+ assign: function (target, opts) {
1158
+ target = target || {};
1159
+ opts = opts || {};
1160
+
1161
+ // credit card
1162
+ target.creditCard = !!opts.creditCard;
1163
+ target.creditCardStrictMode = !!opts.creditCardStrictMode;
1164
+ target.creditCardType = '';
1165
+ target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {});
1166
+
1167
+ // phone
1168
+ target.phone = !!opts.phone;
1169
+ target.phoneRegionCode = opts.phoneRegionCode || 'AU';
1170
+ target.phoneFormatter = {};
1171
+
1172
+ // date
1173
+ target.date = !!opts.date;
1174
+ target.datePattern = opts.datePattern || ['d', 'm', 'Y'];
1175
+ target.dateFormatter = {};
1176
+
1177
+ // numeral
1178
+ target.numeral = !!opts.numeral;
1179
+ target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;
1180
+ target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;
1181
+ target.numeralDecimalMark = opts.numeralDecimalMark || '.';
1182
+ target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';
1183
+ target.numeralPositiveOnly = !!opts.numeralPositiveOnly;
1184
+ target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;
1185
+
1186
+ // others
1187
+ target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;
1188
+
1189
+ target.uppercase = !!opts.uppercase;
1190
+ target.lowercase = !!opts.lowercase;
1191
+
1192
+ target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || '');
1193
+ target.noImmediatePrefix = !!opts.noImmediatePrefix;
1194
+ target.prefixLength = target.prefix.length;
1195
+ target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;
1196
+ target.copyDelimiter = !!opts.copyDelimiter;
1197
+
1198
+ target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : '';
1199
+
1200
+ target.delimiter =
1201
+ (opts.delimiter || opts.delimiter === '') ? opts.delimiter :
1202
+ (opts.date ? '/' :
1203
+ (opts.numeral ? ',' :
1204
+ (opts.phone ? ' ' :
1205
+ ' ')));
1206
+ target.delimiterLength = target.delimiter.length;
1207
+ target.delimiterLazyShow = !!opts.delimiterLazyShow;
1208
+ target.delimiters = opts.delimiters || [];
1209
+
1210
+ target.blocks = opts.blocks || [];
1211
+ target.blocksLength = target.blocks.length;
1212
+
1213
+ target.document = opts.document || document;
1214
+ target.root = (typeof global === 'object' && global) ? global : window;
1215
+
1216
+ target.maxLength = 0;
1217
+
1218
+ target.backspace = false;
1219
+ target.result = '';
1220
+
1221
+ target.onValueChanged = opts.onValueChanged || (function () {});
1222
+
1223
+ return target;
1224
+ }
1225
+ };
1226
+
1227
+ module.exports = DefaultProperties;
1228
+
1229
+
1230
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1231
+
1232
+ /***/ })
1233
+ /******/ ])
1234
+ });
1235
+ ;