phcthemes_admin_panel_pack 4.0.7 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -20
  3. data/README.md +2 -0
  4. data/Rakefile +8 -8
  5. data/app/assets/config/phcthemes_admin_panel_pack_manifest.js +9 -9
  6. data/app/assets/javascripts/common/backstretch/jquery.backstretch.js +1602 -1602
  7. data/app/assets/javascripts/common/bootstrap/bootstrap.bundle.js +7023 -7023
  8. data/app/assets/javascripts/common/bootstrap/bootstrap.three.js +2377 -2377
  9. data/app/assets/javascripts/common/bootstrap-datepicker/bootstrap-datepicker.js +2039 -2039
  10. data/app/assets/javascripts/common/bootstrap-markdown/bootstrap-markdown.js +1390 -1390
  11. data/app/assets/javascripts/common/bootstrap-select/bootstrap-select.js +0 -0
  12. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-am_ET.js +0 -0
  13. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-am_ET.js.map +0 -0
  14. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-am_ET.min.js +7 -7
  15. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ar_AR.js +0 -0
  16. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ar_AR.js.map +0 -0
  17. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ar_AR.min.js +7 -7
  18. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-bg_BG.js +0 -0
  19. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-bg_BG.js.map +0 -0
  20. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-bg_BG.min.js +7 -7
  21. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-cs_CZ.js +0 -0
  22. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-cs_CZ.js.map +0 -0
  23. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-cs_CZ.min.js +7 -7
  24. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-da_DK.js +0 -0
  25. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-da_DK.js.map +0 -0
  26. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-da_DK.min.js +7 -7
  27. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-de_DE.js +0 -0
  28. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-de_DE.js.map +0 -0
  29. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-de_DE.min.js +7 -7
  30. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-en_US.js +0 -0
  31. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-en_US.js.map +0 -0
  32. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-en_US.min.js +7 -7
  33. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_CL.js +0 -0
  34. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_CL.js.map +0 -0
  35. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_CL.min.js +7 -7
  36. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_ES.js +0 -0
  37. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_ES.js.map +0 -0
  38. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-es_ES.min.js +7 -7
  39. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-et_EE.js +0 -0
  40. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-et_EE.js.map +0 -0
  41. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-et_EE.min.js +7 -7
  42. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-eu.js +0 -0
  43. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-eu.js.map +0 -0
  44. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-eu.min.js +7 -7
  45. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fa_IR.js +0 -0
  46. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fa_IR.js.map +0 -0
  47. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fa_IR.min.js +7 -7
  48. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fi_FI.js +0 -0
  49. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fi_FI.js.map +0 -0
  50. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fi_FI.min.js +7 -7
  51. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fr_FR.js +0 -0
  52. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fr_FR.js.map +0 -0
  53. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-fr_FR.min.js +7 -7
  54. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hr_HR.js +0 -0
  55. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hr_HR.js.map +0 -0
  56. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hr_HR.min.js +7 -7
  57. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hu_HU.js +0 -0
  58. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hu_HU.js.map +0 -0
  59. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-hu_HU.min.js +7 -7
  60. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-id_ID.js +0 -0
  61. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-id_ID.js.map +0 -0
  62. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-id_ID.min.js +7 -7
  63. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-it_IT.js +0 -0
  64. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-it_IT.js.map +0 -0
  65. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-it_IT.min.js +7 -7
  66. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ja_JP.js +0 -0
  67. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ja_JP.js.map +0 -0
  68. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ja_JP.min.js +7 -7
  69. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-kh_KM.js +0 -0
  70. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-kh_KM.js.map +0 -0
  71. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-kh_KM.min.js +7 -7
  72. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ko_KR.js +0 -0
  73. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ko_KR.js.map +0 -0
  74. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ko_KR.min.js +7 -7
  75. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lt_LT.js +0 -0
  76. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lt_LT.js.map +0 -0
  77. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lt_LT.min.js +7 -7
  78. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lv_LV.js +0 -0
  79. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lv_LV.js.map +0 -0
  80. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-lv_LV.min.js +7 -7
  81. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nb_NO.js +0 -0
  82. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nb_NO.js.map +0 -0
  83. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nb_NO.min.js +7 -7
  84. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nl_NL.js +0 -0
  85. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nl_NL.js.map +0 -0
  86. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-nl_NL.min.js +7 -7
  87. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pl_PL.js +0 -0
  88. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pl_PL.js.map +0 -0
  89. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pl_PL.min.js +7 -7
  90. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_BR.js +0 -0
  91. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_BR.js.map +0 -0
  92. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_BR.min.js +7 -7
  93. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_PT.js +0 -0
  94. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_PT.js.map +0 -0
  95. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-pt_PT.min.js +7 -7
  96. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ro_RO.js +0 -0
  97. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ro_RO.js.map +0 -0
  98. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ro_RO.min.js +7 -7
  99. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ru_RU.js +0 -0
  100. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ru_RU.js.map +0 -0
  101. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ru_RU.min.js +7 -7
  102. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sk_SK.js +0 -0
  103. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sk_SK.js.map +0 -0
  104. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sk_SK.min.js +7 -7
  105. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sl_SI.js +0 -0
  106. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sl_SI.js.map +0 -0
  107. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sl_SI.min.js +7 -7
  108. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sv_SE.js +0 -0
  109. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sv_SE.js.map +0 -0
  110. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-sv_SE.min.js +7 -7
  111. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-tr_TR.js +0 -0
  112. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-tr_TR.js.map +0 -0
  113. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-tr_TR.min.js +7 -7
  114. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ua_UA.js +0 -0
  115. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ua_UA.js.map +0 -0
  116. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-ua_UA.min.js +7 -7
  117. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-vi_VN.js +0 -0
  118. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-vi_VN.js.map +0 -0
  119. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-vi_VN.min.js +7 -7
  120. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_CN.js +0 -0
  121. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_CN.js.map +0 -0
  122. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_CN.min.js +7 -7
  123. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_TW.js +0 -0
  124. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_TW.js.map +0 -0
  125. data/app/assets/javascripts/common/bootstrap-select/i18n/defaults-zh_TW.min.js +7 -7
  126. data/app/assets/javascripts/common/chartjs/chart.js +0 -0
  127. data/app/assets/javascripts/common/ckeditor/ckeditor.js +6 -6
  128. data/app/assets/javascripts/common/ckeditor/ckeditor.js.map +0 -0
  129. data/app/assets/javascripts/common/ckeditor/translations/af.js +0 -0
  130. data/app/assets/javascripts/common/ckeditor/translations/ar.js +0 -0
  131. data/app/assets/javascripts/common/ckeditor/translations/ast.js +0 -0
  132. data/app/assets/javascripts/common/ckeditor/translations/az.js +0 -0
  133. data/app/assets/javascripts/common/ckeditor/translations/bg.js +0 -0
  134. data/app/assets/javascripts/common/ckeditor/translations/ca.js +0 -0
  135. data/app/assets/javascripts/common/ckeditor/translations/cs.js +0 -0
  136. data/app/assets/javascripts/common/ckeditor/translations/da.js +0 -0
  137. data/app/assets/javascripts/common/ckeditor/translations/de-ch.js +0 -0
  138. data/app/assets/javascripts/common/ckeditor/translations/de.js +0 -0
  139. data/app/assets/javascripts/common/ckeditor/translations/el.js +0 -0
  140. data/app/assets/javascripts/common/ckeditor/translations/en-au.js +0 -0
  141. data/app/assets/javascripts/common/ckeditor/translations/en-gb.js +0 -0
  142. data/app/assets/javascripts/common/ckeditor/translations/eo.js +0 -0
  143. data/app/assets/javascripts/common/ckeditor/translations/es.js +0 -0
  144. data/app/assets/javascripts/common/ckeditor/translations/et.js +0 -0
  145. data/app/assets/javascripts/common/ckeditor/translations/eu.js +0 -0
  146. data/app/assets/javascripts/common/ckeditor/translations/fa.js +0 -0
  147. data/app/assets/javascripts/common/ckeditor/translations/fi.js +0 -0
  148. data/app/assets/javascripts/common/ckeditor/translations/fr.js +0 -0
  149. data/app/assets/javascripts/common/ckeditor/translations/gl.js +0 -0
  150. data/app/assets/javascripts/common/ckeditor/translations/gu.js +0 -0
  151. data/app/assets/javascripts/common/ckeditor/translations/he.js +0 -0
  152. data/app/assets/javascripts/common/ckeditor/translations/hr.js +0 -0
  153. data/app/assets/javascripts/common/ckeditor/translations/hu.js +0 -0
  154. data/app/assets/javascripts/common/ckeditor/translations/id.js +0 -0
  155. data/app/assets/javascripts/common/ckeditor/translations/it.js +0 -0
  156. data/app/assets/javascripts/common/ckeditor/translations/ja.js +0 -0
  157. data/app/assets/javascripts/common/ckeditor/translations/km.js +0 -0
  158. data/app/assets/javascripts/common/ckeditor/translations/kn.js +0 -0
  159. data/app/assets/javascripts/common/ckeditor/translations/ko.js +0 -0
  160. data/app/assets/javascripts/common/ckeditor/translations/ku.js +0 -0
  161. data/app/assets/javascripts/common/ckeditor/translations/lt.js +0 -0
  162. data/app/assets/javascripts/common/ckeditor/translations/lv.js +0 -0
  163. data/app/assets/javascripts/common/ckeditor/translations/nb.js +0 -0
  164. data/app/assets/javascripts/common/ckeditor/translations/ne.js +0 -0
  165. data/app/assets/javascripts/common/ckeditor/translations/nl.js +0 -0
  166. data/app/assets/javascripts/common/ckeditor/translations/no.js +0 -0
  167. data/app/assets/javascripts/common/ckeditor/translations/oc.js +0 -0
  168. data/app/assets/javascripts/common/ckeditor/translations/pl.js +0 -0
  169. data/app/assets/javascripts/common/ckeditor/translations/pt-br.js +0 -0
  170. data/app/assets/javascripts/common/ckeditor/translations/pt.js +0 -0
  171. data/app/assets/javascripts/common/ckeditor/translations/ro.js +0 -0
  172. data/app/assets/javascripts/common/ckeditor/translations/ru.js +0 -0
  173. data/app/assets/javascripts/common/ckeditor/translations/si.js +0 -0
  174. data/app/assets/javascripts/common/ckeditor/translations/sk.js +0 -0
  175. data/app/assets/javascripts/common/ckeditor/translations/sl.js +0 -0
  176. data/app/assets/javascripts/common/ckeditor/translations/sq.js +0 -0
  177. data/app/assets/javascripts/common/ckeditor/translations/sr-latn.js +0 -0
  178. data/app/assets/javascripts/common/ckeditor/translations/sr.js +0 -0
  179. data/app/assets/javascripts/common/ckeditor/translations/sv.js +0 -0
  180. data/app/assets/javascripts/common/ckeditor/translations/th.js +0 -0
  181. data/app/assets/javascripts/common/ckeditor/translations/tr.js +0 -0
  182. data/app/assets/javascripts/common/ckeditor/translations/tt.js +0 -0
  183. data/app/assets/javascripts/common/ckeditor/translations/ug.js +0 -0
  184. data/app/assets/javascripts/common/ckeditor/translations/uk.js +0 -0
  185. data/app/assets/javascripts/common/ckeditor/translations/vi.js +0 -0
  186. data/app/assets/javascripts/common/ckeditor/translations/zh-cn.js +0 -0
  187. data/app/assets/javascripts/common/ckeditor/translations/zh.js +0 -0
  188. data/app/assets/javascripts/common/clipboardjs/clipboard.js +977 -977
  189. data/app/assets/javascripts/common/covervid/covervid.js +94 -94
  190. data/app/assets/javascripts/common/custom/custom.js +0 -0
  191. data/app/assets/javascripts/common/datatables/datatables.js +15310 -15310
  192. data/app/assets/javascripts/common/daterangepicker/daterangepicker.js +1565 -1565
  193. data/app/assets/javascripts/common/fastclick/fastclick.js +841 -841
  194. data/app/assets/javascripts/common/flexslider/jquery.flexslider.js +1252 -1252
  195. data/app/assets/javascripts/common/greenstock/greensock.js +35 -35
  196. data/app/assets/javascripts/common/html5sortable/jquery.sortable.js +98 -98
  197. data/app/assets/javascripts/common/icheck/icheck.js +509 -509
  198. data/app/assets/javascripts/common/imagesloaded/imagesloaded.pkgd.js +497 -497
  199. data/app/assets/javascripts/common/isotope/isotope.pkgd.js +3563 -3563
  200. data/app/assets/javascripts/common/jquery/jquery-3.4.1.js +10598 -10598
  201. data/app/assets/javascripts/common/jquery-countdown/jquery.countdown.js +245 -245
  202. data/app/assets/javascripts/common/jquery-filterizer/jquery.filterizr.min.js +0 -0
  203. data/app/assets/javascripts/common/jquery-jeditable/jquery.jeditable.autogrow.js +37 -37
  204. data/app/assets/javascripts/common/jquery-jeditable/jquery.jeditable.charcounter.js +53 -53
  205. data/app/assets/javascripts/common/jquery-jeditable/jquery.jeditable.checkbox.js +54 -54
  206. data/app/assets/javascripts/common/jquery-jeditable/jquery.jeditable.datepicker.js +59 -59
  207. data/app/assets/javascripts/common/jquery-jeditable/jquery.jeditable.js +823 -823
  208. data/app/assets/javascripts/common/jquery-jeditable/jquery.jeditable.masked.js +46 -46
  209. data/app/assets/javascripts/common/jquery-jeditable/jquery.jeditable.time.js +71 -71
  210. data/app/assets/javascripts/common/jquery-jvectormap/jquery-jvectormap.js +44 -44
  211. data/app/assets/javascripts/common/jquery-placeholder/jquery.placeholder.js +281 -281
  212. data/app/assets/javascripts/common/jquery-slimscroll/jquery.slimscroll.js +474 -474
  213. data/app/assets/javascripts/common/jquery-sparkline/jquery.sparkline.js +3054 -3054
  214. data/app/assets/javascripts/common/jquery-ui/jquery-ui.js +18705 -18705
  215. data/app/assets/javascripts/common/jquery-validation/jquery.validate.js +0 -0
  216. data/app/assets/javascripts/common/jqvmap/jquery.vmap.js +1281 -1281
  217. data/app/assets/javascripts/common/jqvmap/jquery.vmap.min.js +9 -9
  218. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.africa.js +2 -2
  219. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.asia.js +2 -2
  220. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.australia.js +2 -2
  221. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.europe.js +2 -2
  222. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.north-america.js +2 -2
  223. data/app/assets/javascripts/common/jqvmap/maps/continents/jquery.vmap.south-america.js +2 -2
  224. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.algeria.js +2 -2
  225. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.argentina.js +1 -1
  226. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.brazil.js +2 -2
  227. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.canada.js +1 -1
  228. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.europe.js +2 -2
  229. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.france.js +1 -1
  230. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.germany.js +2 -2
  231. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.greece.js +1 -1
  232. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.iran.js +6 -6
  233. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.iraq.js +1 -1
  234. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.russia.js +2 -2
  235. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.tunisia.js +2 -2
  236. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.turkey.js +11 -11
  237. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.usa.js +2 -2
  238. data/app/assets/javascripts/common/jqvmap/maps/jquery.vmap.world.js +2 -2
  239. data/app/assets/javascripts/common/js-cookie/js.cookie.js +165 -165
  240. data/app/assets/javascripts/common/layerslider/layerslider.kreaturamedia.jquery.js +12 -12
  241. data/app/assets/javascripts/common/layerslider/layerslider.origami.js +12 -12
  242. data/app/assets/javascripts/common/layerslider/layerslider.timeline.js +12 -12
  243. data/app/assets/javascripts/common/layerslider/layerslider.transitions.js +12 -12
  244. data/app/assets/javascripts/common/lazysizes/lazysizes.js +754 -754
  245. data/app/assets/javascripts/common/leaflet/leaflet.js +4 -4
  246. data/app/assets/javascripts/common/magnific-popup/jquery.magnific-popup.js +1859 -1859
  247. data/app/assets/javascripts/common/mapbox/mapbox.js +51 -51
  248. data/app/assets/javascripts/common/metismenu/metisMenu.js +340 -340
  249. data/app/assets/javascripts/common/moderizer/modernizr.js +11 -11
  250. data/app/assets/javascripts/common/nouislider/nouislider.js +2637 -2637
  251. data/app/assets/javascripts/common/owl-carousel/owl.carousel.js +3448 -3448
  252. data/app/assets/javascripts/common/pace/pace.js +935 -935
  253. data/app/assets/javascripts/common/paroller/jquery.paroller.js +228 -228
  254. data/app/assets/javascripts/common/particlejs/particles.js +1540 -1540
  255. data/app/assets/javascripts/common/perfect-scrollbar/perfect-scrollbar.common.js +1318 -1318
  256. data/app/assets/javascripts/common/perfect-scrollbar/perfect-scrollbar.esm.js +1316 -1316
  257. data/app/assets/javascripts/common/perfect-scrollbar/perfect-scrollbar.js +1324 -1324
  258. data/app/assets/javascripts/common/plyr/plyr.js +9137 -9137
  259. data/app/assets/javascripts/common/rangeslider/rangeslider.js +498 -498
  260. data/app/assets/javascripts/common/retina/retina.js +100 -100
  261. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.actions.js +0 -0
  262. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.carousel.js +0 -0
  263. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.kenburn.js +0 -0
  264. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.layeranimation.js +0 -0
  265. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.migration.js +0 -0
  266. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.navigation.js +0 -0
  267. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.parallax.js +0 -0
  268. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.slideanims.js +0 -0
  269. data/app/assets/javascripts/common/rev-slider/extensions/revolution.extension.video.js +0 -0
  270. data/app/assets/javascripts/common/rev-slider/jquery.themepunch.revolution.js +0 -0
  271. data/app/assets/javascripts/common/rev-slider/jquery.themepunch.tools.min.js +0 -0
  272. data/app/assets/javascripts/common/scrollme/jquery.scrollme.js +455 -455
  273. data/app/assets/javascripts/common/scrollup/jquery.scrollUp.js +168 -168
  274. data/app/assets/javascripts/common/select2/select2.full.js +6597 -6597
  275. data/app/assets/javascripts/common/selectbox/jquery.selectBox.js +1091 -1091
  276. data/app/assets/javascripts/common/slick/slick.js +3004 -3004
  277. data/app/assets/javascripts/common/smooth-scroll/SmoothScroll.js +788 -788
  278. data/app/assets/javascripts/common/spectrum/spectrum.js +2323 -2323
  279. data/app/assets/javascripts/common/stepper/jquery.fs.stepper.js +339 -339
  280. data/app/assets/javascripts/common/swiper/swiper.js +8124 -8124
  281. data/app/assets/javascripts/common/toaster/toastr.js +476 -476
  282. data/app/assets/javascripts/common/typed/typed.js +1044 -1044
  283. data/app/assets/javascripts/common/visable/jquery.visible.js +68 -68
  284. data/app/assets/javascripts/common/waypoints/jquery.waypoints.js +661 -661
  285. data/app/assets/javascripts/common/wow/wow.js +508 -508
  286. data/app/assets/javascripts/phcthemes_admin_panel_pack_adminlte.js +12 -12
  287. data/app/assets/javascripts/phcthemes_admin_panel_pack_boomerang.js +0 -0
  288. data/app/assets/javascripts/phcthemes_admin_panel_pack_coloradmin.js +5 -5
  289. data/app/assets/javascripts/phcthemes_admin_panel_pack_inspinia.js +10 -10
  290. data/app/assets/javascripts/phcthemes_admin_panel_pack_metronic.js +6 -6
  291. data/app/assets/javascripts/phcthemes_admin_panel_pack_quilpro.js +5 -5
  292. data/app/assets/javascripts/phcthemes_admin_panel_pack_starlight.js +5 -5
  293. data/app/assets/javascripts/themes/adminlte/theme/adminlte.js +1141 -1141
  294. data/app/assets/javascripts/themes/coloradmin/theme/color_admin_app.min.js +0 -0
  295. data/app/assets/javascripts/themes/coloradmin/theme/color_admin_default.js +0 -0
  296. data/app/assets/javascripts/themes/inspinia/theme/inspinia.js +279 -279
  297. data/app/assets/javascripts/themes/metronic/theme/plugins.bundle.js +0 -0
  298. data/app/assets/javascripts/themes/metronic/theme/prismjs.bundle.js +1922 -1922
  299. data/app/assets/javascripts/themes/metronic/theme/scripts.bundle.js +0 -0
  300. data/app/assets/javascripts/themes/metronic/theme/widgets.js +0 -0
  301. data/app/assets/stylesheets/common/hanna_hearts/hanna_hearts.scss +0 -0
  302. data/app/assets/stylesheets/phcthemes_admin_panel_pack_adminlte.scss +16 -16
  303. data/app/assets/stylesheets/phcthemes_admin_panel_pack_boomerang.scss +27 -27
  304. data/app/assets/stylesheets/phcthemes_admin_panel_pack_coloradmin.scss +11 -11
  305. data/app/assets/stylesheets/phcthemes_admin_panel_pack_inspinia.scss +18 -18
  306. data/app/assets/stylesheets/phcthemes_admin_panel_pack_metronic.scss +15 -15
  307. data/app/assets/stylesheets/phcthemes_admin_panel_pack_quilpro.scss +19 -19
  308. data/app/assets/stylesheets/phcthemes_admin_panel_pack_starlight.scss +15 -15
  309. data/lib/phcthemes_admin_panel_pack/engine.rb +20 -20
  310. data/lib/phcthemes_admin_panel_pack/version.rb +3 -3
  311. data/lib/phcthemes_admin_panel_pack.rb +6 -6
  312. data/lib/tasks/phcthemes_admin_panel_pack_tasks.rake +4 -4
  313. metadata +3 -3
@@ -1,1045 +1,1045 @@
1
- /*!
2
- *
3
- * typed.js - A JavaScript Typing Animation Library
4
- * Author: Matt Boldt <me@mattboldt.com>
5
- * Version: v2.0.9
6
- * Url: https://github.com/mattboldt/typed.js
7
- * License(s): MIT
8
- *
9
- */
10
- (function webpackUniversalModuleDefinition(root, factory) {
11
- if(typeof exports === 'object' && typeof module === 'object')
12
- module.exports = factory();
13
- else if(typeof define === 'function' && define.amd)
14
- define([], factory);
15
- else if(typeof exports === 'object')
16
- exports["Typed"] = factory();
17
- else
18
- root["Typed"] = factory();
19
- })(this, function() {
20
- return /******/ (function(modules) { // webpackBootstrap
21
- /******/ // The module cache
22
- /******/ var installedModules = {};
23
- /******/
24
- /******/ // The require function
25
- /******/ function __webpack_require__(moduleId) {
26
- /******/
27
- /******/ // Check if module is in cache
28
- /******/ if(installedModules[moduleId])
29
- /******/ return installedModules[moduleId].exports;
30
- /******/
31
- /******/ // Create a new module (and put it into the cache)
32
- /******/ var module = installedModules[moduleId] = {
33
- /******/ exports: {},
34
- /******/ id: moduleId,
35
- /******/ loaded: false
36
- /******/ };
37
- /******/
38
- /******/ // Execute the module function
39
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
40
- /******/
41
- /******/ // Flag the module as loaded
42
- /******/ module.loaded = true;
43
- /******/
44
- /******/ // Return the exports of the module
45
- /******/ return module.exports;
46
- /******/ }
47
- /******/
48
- /******/
49
- /******/ // expose the modules object (__webpack_modules__)
50
- /******/ __webpack_require__.m = modules;
51
- /******/
52
- /******/ // expose the module cache
53
- /******/ __webpack_require__.c = installedModules;
54
- /******/
55
- /******/ // __webpack_public_path__
56
- /******/ __webpack_require__.p = "";
57
- /******/
58
- /******/ // Load entry module and return exports
59
- /******/ return __webpack_require__(0);
60
- /******/ })
61
- /************************************************************************/
62
- /******/ ([
63
- /* 0 */
64
- /***/ (function(module, exports, __webpack_require__) {
65
-
66
- 'use strict';
67
-
68
- Object.defineProperty(exports, '__esModule', {
69
- value: true
70
- });
71
-
72
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
73
-
74
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
75
-
76
- var _initializerJs = __webpack_require__(1);
77
-
78
- var _htmlParserJs = __webpack_require__(3);
79
-
80
- /**
81
- * Welcome to Typed.js!
82
- * @param {string} elementId HTML element ID _OR_ HTML element
83
- * @param {object} options options object
84
- * @returns {object} a new Typed object
85
- */
86
-
87
- var Typed = (function () {
88
- function Typed(elementId, options) {
89
- _classCallCheck(this, Typed);
90
-
91
- // Initialize it up
92
- _initializerJs.initializer.load(this, options, elementId);
93
- // All systems go!
94
- this.begin();
95
- }
96
-
97
- /**
98
- * Toggle start() and stop() of the Typed instance
99
- * @public
100
- */
101
-
102
- _createClass(Typed, [{
103
- key: 'toggle',
104
- value: function toggle() {
105
- this.pause.status ? this.start() : this.stop();
106
- }
107
-
108
- /**
109
- * Stop typing / backspacing and enable cursor blinking
110
- * @public
111
- */
112
- }, {
113
- key: 'stop',
114
- value: function stop() {
115
- if (this.typingComplete) return;
116
- if (this.pause.status) return;
117
- this.toggleBlinking(true);
118
- this.pause.status = true;
119
- this.options.onStop(this.arrayPos, this);
120
- }
121
-
122
- /**
123
- * Start typing / backspacing after being stopped
124
- * @public
125
- */
126
- }, {
127
- key: 'start',
128
- value: function start() {
129
- if (this.typingComplete) return;
130
- if (!this.pause.status) return;
131
- this.pause.status = false;
132
- if (this.pause.typewrite) {
133
- this.typewrite(this.pause.curString, this.pause.curStrPos);
134
- } else {
135
- this.backspace(this.pause.curString, this.pause.curStrPos);
136
- }
137
- this.options.onStart(this.arrayPos, this);
138
- }
139
-
140
- /**
141
- * Destroy this instance of Typed
142
- * @public
143
- */
144
- }, {
145
- key: 'destroy',
146
- value: function destroy() {
147
- this.reset(false);
148
- this.options.onDestroy(this);
149
- }
150
-
151
- /**
152
- * Reset Typed and optionally restarts
153
- * @param {boolean} restart
154
- * @public
155
- */
156
- }, {
157
- key: 'reset',
158
- value: function reset() {
159
- var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
160
-
161
- clearInterval(this.timeout);
162
- this.replaceText('');
163
- if (this.cursor && this.cursor.parentNode) {
164
- this.cursor.parentNode.removeChild(this.cursor);
165
- this.cursor = null;
166
- }
167
- this.strPos = 0;
168
- this.arrayPos = 0;
169
- this.curLoop = 0;
170
- if (restart) {
171
- this.insertCursor();
172
- this.options.onReset(this);
173
- this.begin();
174
- }
175
- }
176
-
177
- /**
178
- * Begins the typing animation
179
- * @private
180
- */
181
- }, {
182
- key: 'begin',
183
- value: function begin() {
184
- var _this = this;
185
-
186
- this.typingComplete = false;
187
- this.shuffleStringsIfNeeded(this);
188
- this.insertCursor();
189
- if (this.bindInputFocusEvents) this.bindFocusEvents();
190
- this.timeout = setTimeout(function () {
191
- // Check if there is some text in the element, if yes start by backspacing the default message
192
- if (!_this.currentElContent || _this.currentElContent.length === 0) {
193
- _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);
194
- } else {
195
- // Start typing
196
- _this.backspace(_this.currentElContent, _this.currentElContent.length);
197
- }
198
- }, this.startDelay);
199
- }
200
-
201
- /**
202
- * Called for each character typed
203
- * @param {string} curString the current string in the strings array
204
- * @param {number} curStrPos the current position in the curString
205
- * @private
206
- */
207
- }, {
208
- key: 'typewrite',
209
- value: function typewrite(curString, curStrPos) {
210
- var _this2 = this;
211
-
212
- if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {
213
- this.el.classList.remove(this.fadeOutClass);
214
- if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);
215
- }
216
-
217
- var humanize = this.humanizer(this.typeSpeed);
218
- var numChars = 1;
219
-
220
- if (this.pause.status === true) {
221
- this.setPauseStatus(curString, curStrPos, true);
222
- return;
223
- }
224
-
225
- // contain typing function in a timeout humanize'd delay
226
- this.timeout = setTimeout(function () {
227
- // skip over any HTML chars
228
- curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);
229
-
230
- var pauseTime = 0;
231
- var substr = curString.substr(curStrPos);
232
- // check for an escape character before a pause value
233
- // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^
234
- // single ^ are removed from string
235
- if (substr.charAt(0) === '^') {
236
- if (/^\^\d+/.test(substr)) {
237
- var skip = 1; // skip at least 1
238
- substr = /\d+/.exec(substr)[0];
239
- skip += substr.length;
240
- pauseTime = parseInt(substr);
241
- _this2.temporaryPause = true;
242
- _this2.options.onTypingPaused(_this2.arrayPos, _this2);
243
- // strip out the escape character and pause value so they're not printed
244
- curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);
245
- _this2.toggleBlinking(true);
246
- }
247
- }
248
-
249
- // check for skip characters formatted as
250
- // "this is a `string to print NOW` ..."
251
- if (substr.charAt(0) === '`') {
252
- while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {
253
- numChars++;
254
- if (curStrPos + numChars > curString.length) break;
255
- }
256
- // strip out the escape characters and append all the string in between
257
- var stringBeforeSkip = curString.substring(0, curStrPos);
258
- var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);
259
- var stringAfterSkip = curString.substring(curStrPos + numChars + 1);
260
- curString = stringBeforeSkip + stringSkipped + stringAfterSkip;
261
- numChars--;
262
- }
263
-
264
- // timeout for any pause after a character
265
- _this2.timeout = setTimeout(function () {
266
- // Accounts for blinking while paused
267
- _this2.toggleBlinking(false);
268
-
269
- // We're done with this sentence!
270
- if (curStrPos === curString.length) {
271
- _this2.doneTyping(curString, curStrPos);
272
- } else {
273
- _this2.keepTyping(curString, curStrPos, numChars);
274
- }
275
- // end of character pause
276
- if (_this2.temporaryPause) {
277
- _this2.temporaryPause = false;
278
- _this2.options.onTypingResumed(_this2.arrayPos, _this2);
279
- }
280
- }, pauseTime);
281
-
282
- // humanized value for typing
283
- }, humanize);
284
- }
285
-
286
- /**
287
- * Continue to the next string & begin typing
288
- * @param {string} curString the current string in the strings array
289
- * @param {number} curStrPos the current position in the curString
290
- * @private
291
- */
292
- }, {
293
- key: 'keepTyping',
294
- value: function keepTyping(curString, curStrPos, numChars) {
295
- // call before functions if applicable
296
- if (curStrPos === 0) {
297
- this.toggleBlinking(false);
298
- this.options.preStringTyped(this.arrayPos, this);
299
- }
300
- // start typing each new char into existing string
301
- // curString: arg, this.el.html: original text inside element
302
- curStrPos += numChars;
303
- var nextString = curString.substr(0, curStrPos);
304
- this.replaceText(nextString);
305
- // loop the function
306
- this.typewrite(curString, curStrPos);
307
- }
308
-
309
- /**
310
- * We're done typing all strings
311
- * @param {string} curString the current string in the strings array
312
- * @param {number} curStrPos the current position in the curString
313
- * @private
314
- */
315
- }, {
316
- key: 'doneTyping',
317
- value: function doneTyping(curString, curStrPos) {
318
- var _this3 = this;
319
-
320
- // fires callback function
321
- this.options.onStringTyped(this.arrayPos, this);
322
- this.toggleBlinking(true);
323
- // is this the final string
324
- if (this.arrayPos === this.strings.length - 1) {
325
- // callback that occurs on the last typed string
326
- this.complete();
327
- // quit if we wont loop back
328
- if (this.loop === false || this.curLoop === this.loopCount) {
329
- return;
330
- }
331
- }
332
- this.timeout = setTimeout(function () {
333
- _this3.backspace(curString, curStrPos);
334
- }, this.backDelay);
335
- }
336
-
337
- /**
338
- * Backspaces 1 character at a time
339
- * @param {string} curString the current string in the strings array
340
- * @param {number} curStrPos the current position in the curString
341
- * @private
342
- */
343
- }, {
344
- key: 'backspace',
345
- value: function backspace(curString, curStrPos) {
346
- var _this4 = this;
347
-
348
- if (this.pause.status === true) {
349
- this.setPauseStatus(curString, curStrPos, true);
350
- return;
351
- }
352
- if (this.fadeOut) return this.initFadeOut();
353
-
354
- this.toggleBlinking(false);
355
- var humanize = this.humanizer(this.backSpeed);
356
-
357
- this.timeout = setTimeout(function () {
358
- curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);
359
- // replace text with base text + typed characters
360
- var curStringAtPosition = curString.substr(0, curStrPos);
361
- _this4.replaceText(curStringAtPosition);
362
-
363
- // if smartBack is enabled
364
- if (_this4.smartBackspace) {
365
- // the remaining part of the current string is equal of the same part of the new string
366
- var nextString = _this4.strings[_this4.arrayPos + 1];
367
- if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {
368
- _this4.stopNum = curStrPos;
369
- } else {
370
- _this4.stopNum = 0;
371
- }
372
- }
373
-
374
- // if the number (id of character in current string) is
375
- // less than the stop number, keep going
376
- if (curStrPos > _this4.stopNum) {
377
- // subtract characters one by one
378
- curStrPos--;
379
- // loop the function
380
- _this4.backspace(curString, curStrPos);
381
- } else if (curStrPos <= _this4.stopNum) {
382
- // if the stop number has been reached, increase
383
- // array position to next string
384
- _this4.arrayPos++;
385
- // When looping, begin at the beginning after backspace complete
386
- if (_this4.arrayPos === _this4.strings.length) {
387
- _this4.arrayPos = 0;
388
- _this4.options.onLastStringBackspaced();
389
- _this4.shuffleStringsIfNeeded();
390
- _this4.begin();
391
- } else {
392
- _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);
393
- }
394
- }
395
- // humanized value for typing
396
- }, humanize);
397
- }
398
-
399
- /**
400
- * Full animation is complete
401
- * @private
402
- */
403
- }, {
404
- key: 'complete',
405
- value: function complete() {
406
- this.options.onComplete(this);
407
- if (this.loop) {
408
- this.curLoop++;
409
- } else {
410
- this.typingComplete = true;
411
- }
412
- }
413
-
414
- /**
415
- * Has the typing been stopped
416
- * @param {string} curString the current string in the strings array
417
- * @param {number} curStrPos the current position in the curString
418
- * @param {boolean} isTyping
419
- * @private
420
- */
421
- }, {
422
- key: 'setPauseStatus',
423
- value: function setPauseStatus(curString, curStrPos, isTyping) {
424
- this.pause.typewrite = isTyping;
425
- this.pause.curString = curString;
426
- this.pause.curStrPos = curStrPos;
427
- }
428
-
429
- /**
430
- * Toggle the blinking cursor
431
- * @param {boolean} isBlinking
432
- * @private
433
- */
434
- }, {
435
- key: 'toggleBlinking',
436
- value: function toggleBlinking(isBlinking) {
437
- if (!this.cursor) return;
438
- // if in paused state, don't toggle blinking a 2nd time
439
- if (this.pause.status) return;
440
- if (this.cursorBlinking === isBlinking) return;
441
- this.cursorBlinking = isBlinking;
442
- if (isBlinking) {
443
- this.cursor.classList.add('typed-cursor--blink');
444
- } else {
445
- this.cursor.classList.remove('typed-cursor--blink');
446
- }
447
- }
448
-
449
- /**
450
- * Speed in MS to type
451
- * @param {number} speed
452
- * @private
453
- */
454
- }, {
455
- key: 'humanizer',
456
- value: function humanizer(speed) {
457
- return Math.round(Math.random() * speed / 2) + speed;
458
- }
459
-
460
- /**
461
- * Shuffle the sequence of the strings array
462
- * @private
463
- */
464
- }, {
465
- key: 'shuffleStringsIfNeeded',
466
- value: function shuffleStringsIfNeeded() {
467
- if (!this.shuffle) return;
468
- this.sequence = this.sequence.sort(function () {
469
- return Math.random() - 0.5;
470
- });
471
- }
472
-
473
- /**
474
- * Adds a CSS class to fade out current string
475
- * @private
476
- */
477
- }, {
478
- key: 'initFadeOut',
479
- value: function initFadeOut() {
480
- var _this5 = this;
481
-
482
- this.el.className += ' ' + this.fadeOutClass;
483
- if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;
484
- return setTimeout(function () {
485
- _this5.arrayPos++;
486
- _this5.replaceText('');
487
-
488
- // Resets current string if end of loop reached
489
- if (_this5.strings.length > _this5.arrayPos) {
490
- _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);
491
- } else {
492
- _this5.typewrite(_this5.strings[0], 0);
493
- _this5.arrayPos = 0;
494
- }
495
- }, this.fadeOutDelay);
496
- }
497
-
498
- /**
499
- * Replaces current text in the HTML element
500
- * depending on element type
501
- * @param {string} str
502
- * @private
503
- */
504
- }, {
505
- key: 'replaceText',
506
- value: function replaceText(str) {
507
- if (this.attr) {
508
- this.el.setAttribute(this.attr, str);
509
- } else {
510
- if (this.isInput) {
511
- this.el.value = str;
512
- } else if (this.contentType === 'html') {
513
- this.el.innerHTML = str;
514
- } else {
515
- this.el.textContent = str;
516
- }
517
- }
518
- }
519
-
520
- /**
521
- * If using input elements, bind focus in order to
522
- * start and stop the animation
523
- * @private
524
- */
525
- }, {
526
- key: 'bindFocusEvents',
527
- value: function bindFocusEvents() {
528
- var _this6 = this;
529
-
530
- if (!this.isInput) return;
531
- this.el.addEventListener('focus', function (e) {
532
- _this6.stop();
533
- });
534
- this.el.addEventListener('blur', function (e) {
535
- if (_this6.el.value && _this6.el.value.length !== 0) {
536
- return;
537
- }
538
- _this6.start();
539
- });
540
- }
541
-
542
- /**
543
- * On init, insert the cursor element
544
- * @private
545
- */
546
- }, {
547
- key: 'insertCursor',
548
- value: function insertCursor() {
549
- if (!this.showCursor) return;
550
- if (this.cursor) return;
551
- this.cursor = document.createElement('span');
552
- this.cursor.className = 'typed-cursor';
553
- this.cursor.innerHTML = this.cursorChar;
554
- this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);
555
- }
556
- }]);
557
-
558
- return Typed;
559
- })();
560
-
561
- exports['default'] = Typed;
562
- module.exports = exports['default'];
563
-
564
- /***/ }),
565
- /* 1 */
566
- /***/ (function(module, exports, __webpack_require__) {
567
-
568
- 'use strict';
569
-
570
- Object.defineProperty(exports, '__esModule', {
571
- value: true
572
- });
573
-
574
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
575
-
576
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
577
-
578
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
579
-
580
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
581
-
582
- var _defaultsJs = __webpack_require__(2);
583
-
584
- var _defaultsJs2 = _interopRequireDefault(_defaultsJs);
585
-
586
- /**
587
- * Initialize the Typed object
588
- */
589
-
590
- var Initializer = (function () {
591
- function Initializer() {
592
- _classCallCheck(this, Initializer);
593
- }
594
-
595
- _createClass(Initializer, [{
596
- key: 'load',
597
-
598
- /**
599
- * Load up defaults & options on the Typed instance
600
- * @param {Typed} self instance of Typed
601
- * @param {object} options options object
602
- * @param {string} elementId HTML element ID _OR_ instance of HTML element
603
- * @private
604
- */
605
-
606
- value: function load(self, options, elementId) {
607
- // chosen element to manipulate text
608
- if (typeof elementId === 'string') {
609
- self.el = document.querySelector(elementId);
610
- } else {
611
- self.el = elementId;
612
- }
613
-
614
- self.options = _extends({}, _defaultsJs2['default'], options);
615
-
616
- // attribute to type into
617
- self.isInput = self.el.tagName.toLowerCase() === 'input';
618
- self.attr = self.options.attr;
619
- self.bindInputFocusEvents = self.options.bindInputFocusEvents;
620
-
621
- // show cursor
622
- self.showCursor = self.isInput ? false : self.options.showCursor;
623
-
624
- // custom cursor
625
- self.cursorChar = self.options.cursorChar;
626
-
627
- // Is the cursor blinking
628
- self.cursorBlinking = true;
629
-
630
- // text content of element
631
- self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;
632
-
633
- // html or plain text
634
- self.contentType = self.options.contentType;
635
-
636
- // typing speed
637
- self.typeSpeed = self.options.typeSpeed;
638
-
639
- // add a delay before typing starts
640
- self.startDelay = self.options.startDelay;
641
-
642
- // backspacing speed
643
- self.backSpeed = self.options.backSpeed;
644
-
645
- // only backspace what doesn't match the previous string
646
- self.smartBackspace = self.options.smartBackspace;
647
-
648
- // amount of time to wait before backspacing
649
- self.backDelay = self.options.backDelay;
650
-
651
- // Fade out instead of backspace
652
- self.fadeOut = self.options.fadeOut;
653
- self.fadeOutClass = self.options.fadeOutClass;
654
- self.fadeOutDelay = self.options.fadeOutDelay;
655
-
656
- // variable to check whether typing is currently paused
657
- self.isPaused = false;
658
-
659
- // input strings of text
660
- self.strings = self.options.strings.map(function (s) {
661
- return s.trim();
662
- });
663
-
664
- // div containing strings
665
- if (typeof self.options.stringsElement === 'string') {
666
- self.stringsElement = document.querySelector(self.options.stringsElement);
667
- } else {
668
- self.stringsElement = self.options.stringsElement;
669
- }
670
-
671
- if (self.stringsElement) {
672
- self.strings = [];
673
- self.stringsElement.style.display = 'none';
674
- var strings = Array.prototype.slice.apply(self.stringsElement.children);
675
- var stringsLength = strings.length;
676
-
677
- if (stringsLength) {
678
- for (var i = 0; i < stringsLength; i += 1) {
679
- var stringEl = strings[i];
680
- self.strings.push(stringEl.innerHTML.trim());
681
- }
682
- }
683
- }
684
-
685
- // character number position of current string
686
- self.strPos = 0;
687
-
688
- // current array position
689
- self.arrayPos = 0;
690
-
691
- // index of string to stop backspacing on
692
- self.stopNum = 0;
693
-
694
- // Looping logic
695
- self.loop = self.options.loop;
696
- self.loopCount = self.options.loopCount;
697
- self.curLoop = 0;
698
-
699
- // shuffle the strings
700
- self.shuffle = self.options.shuffle;
701
- // the order of strings
702
- self.sequence = [];
703
-
704
- self.pause = {
705
- status: false,
706
- typewrite: true,
707
- curString: '',
708
- curStrPos: 0
709
- };
710
-
711
- // When the typing is complete (when not looped)
712
- self.typingComplete = false;
713
-
714
- // Set the order in which the strings are typed
715
- for (var i in self.strings) {
716
- self.sequence[i] = i;
717
- }
718
-
719
- // If there is some text in the element
720
- self.currentElContent = this.getCurrentElContent(self);
721
-
722
- self.autoInsertCss = self.options.autoInsertCss;
723
-
724
- this.appendAnimationCss(self);
725
- }
726
- }, {
727
- key: 'getCurrentElContent',
728
- value: function getCurrentElContent(self) {
729
- var elContent = '';
730
- if (self.attr) {
731
- elContent = self.el.getAttribute(self.attr);
732
- } else if (self.isInput) {
733
- elContent = self.el.value;
734
- } else if (self.contentType === 'html') {
735
- elContent = self.el.innerHTML;
736
- } else {
737
- elContent = self.el.textContent;
738
- }
739
- return elContent;
740
- }
741
- }, {
742
- key: 'appendAnimationCss',
743
- value: function appendAnimationCss(self) {
744
- var cssDataName = 'data-typed-js-css';
745
- if (!self.autoInsertCss) {
746
- return;
747
- }
748
- if (!self.showCursor && !self.fadeOut) {
749
- return;
750
- }
751
- if (document.querySelector('[' + cssDataName + ']')) {
752
- return;
753
- }
754
-
755
- var css = document.createElement('style');
756
- css.type = 'text/css';
757
- css.setAttribute(cssDataName, true);
758
-
759
- var innerCss = '';
760
- if (self.showCursor) {
761
- innerCss += '\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n ';
762
- }
763
- if (self.fadeOut) {
764
- innerCss += '\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n ';
765
- }
766
- if (css.length === 0) {
767
- return;
768
- }
769
- css.innerHTML = innerCss;
770
- document.body.appendChild(css);
771
- }
772
- }]);
773
-
774
- return Initializer;
775
- })();
776
-
777
- exports['default'] = Initializer;
778
- var initializer = new Initializer();
779
- exports.initializer = initializer;
780
-
781
- /***/ }),
782
- /* 2 */
783
- /***/ (function(module, exports) {
784
-
785
- /**
786
- * Defaults & options
787
- * @returns {object} Typed defaults & options
788
- * @public
789
- */
790
-
791
- 'use strict';
792
-
793
- Object.defineProperty(exports, '__esModule', {
794
- value: true
795
- });
796
- var defaults = {
797
- /**
798
- * @property {array} strings strings to be typed
799
- * @property {string} stringsElement ID of element containing string children
800
- */
801
- strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],
802
- stringsElement: null,
803
-
804
- /**
805
- * @property {number} typeSpeed type speed in milliseconds
806
- */
807
- typeSpeed: 0,
808
-
809
- /**
810
- * @property {number} startDelay time before typing starts in milliseconds
811
- */
812
- startDelay: 0,
813
-
814
- /**
815
- * @property {number} backSpeed backspacing speed in milliseconds
816
- */
817
- backSpeed: 0,
818
-
819
- /**
820
- * @property {boolean} smartBackspace only backspace what doesn't match the previous string
821
- */
822
- smartBackspace: true,
823
-
824
- /**
825
- * @property {boolean} shuffle shuffle the strings
826
- */
827
- shuffle: false,
828
-
829
- /**
830
- * @property {number} backDelay time before backspacing in milliseconds
831
- */
832
- backDelay: 700,
833
-
834
- /**
835
- * @property {boolean} fadeOut Fade out instead of backspace
836
- * @property {string} fadeOutClass css class for fade animation
837
- * @property {boolean} fadeOutDelay Fade out delay in milliseconds
838
- */
839
- fadeOut: false,
840
- fadeOutClass: 'typed-fade-out',
841
- fadeOutDelay: 500,
842
-
843
- /**
844
- * @property {boolean} loop loop strings
845
- * @property {number} loopCount amount of loops
846
- */
847
- loop: false,
848
- loopCount: Infinity,
849
-
850
- /**
851
- * @property {boolean} showCursor show cursor
852
- * @property {string} cursorChar character for cursor
853
- * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML <head>
854
- */
855
- showCursor: true,
856
- cursorChar: '|',
857
- autoInsertCss: true,
858
-
859
- /**
860
- * @property {string} attr attribute for typing
861
- * Ex: input placeholder, value, or just HTML text
862
- */
863
- attr: null,
864
-
865
- /**
866
- * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input
867
- */
868
- bindInputFocusEvents: false,
869
-
870
- /**
871
- * @property {string} contentType 'html' or 'null' for plaintext
872
- */
873
- contentType: 'html',
874
-
875
- /**
876
- * All typing is complete
877
- * @param {Typed} self
878
- */
879
- onComplete: function onComplete(self) {},
880
-
881
- /**
882
- * Before each string is typed
883
- * @param {number} arrayPos
884
- * @param {Typed} self
885
- */
886
- preStringTyped: function preStringTyped(arrayPos, self) {},
887
-
888
- /**
889
- * After each string is typed
890
- * @param {number} arrayPos
891
- * @param {Typed} self
892
- */
893
- onStringTyped: function onStringTyped(arrayPos, self) {},
894
-
895
- /**
896
- * During looping, after last string is typed
897
- * @param {Typed} self
898
- */
899
- onLastStringBackspaced: function onLastStringBackspaced(self) {},
900
-
901
- /**
902
- * Typing has been stopped
903
- * @param {number} arrayPos
904
- * @param {Typed} self
905
- */
906
- onTypingPaused: function onTypingPaused(arrayPos, self) {},
907
-
908
- /**
909
- * Typing has been started after being stopped
910
- * @param {number} arrayPos
911
- * @param {Typed} self
912
- */
913
- onTypingResumed: function onTypingResumed(arrayPos, self) {},
914
-
915
- /**
916
- * After reset
917
- * @param {Typed} self
918
- */
919
- onReset: function onReset(self) {},
920
-
921
- /**
922
- * After stop
923
- * @param {number} arrayPos
924
- * @param {Typed} self
925
- */
926
- onStop: function onStop(arrayPos, self) {},
927
-
928
- /**
929
- * After start
930
- * @param {number} arrayPos
931
- * @param {Typed} self
932
- */
933
- onStart: function onStart(arrayPos, self) {},
934
-
935
- /**
936
- * After destroy
937
- * @param {Typed} self
938
- */
939
- onDestroy: function onDestroy(self) {}
940
- };
941
-
942
- exports['default'] = defaults;
943
- module.exports = exports['default'];
944
-
945
- /***/ }),
946
- /* 3 */
947
- /***/ (function(module, exports) {
948
-
949
-
950
- /**
951
- * TODO: These methods can probably be combined somehow
952
- * Parse HTML tags & HTML Characters
953
- */
954
-
955
- 'use strict';
956
-
957
- Object.defineProperty(exports, '__esModule', {
958
- value: true
959
- });
960
-
961
- var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
962
-
963
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
964
-
965
- var HTMLParser = (function () {
966
- function HTMLParser() {
967
- _classCallCheck(this, HTMLParser);
968
- }
969
-
970
- _createClass(HTMLParser, [{
971
- key: 'typeHtmlChars',
972
-
973
- /**
974
- * Type HTML tags & HTML Characters
975
- * @param {string} curString Current string
976
- * @param {number} curStrPos Position in current string
977
- * @param {Typed} self instance of Typed
978
- * @returns {number} a new string position
979
- * @private
980
- */
981
-
982
- value: function typeHtmlChars(curString, curStrPos, self) {
983
- if (self.contentType !== 'html') return curStrPos;
984
- var curChar = curString.substr(curStrPos).charAt(0);
985
- if (curChar === '<' || curChar === '&') {
986
- var endTag = '';
987
- if (curChar === '<') {
988
- endTag = '>';
989
- } else {
990
- endTag = ';';
991
- }
992
- while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {
993
- curStrPos++;
994
- if (curStrPos + 1 > curString.length) {
995
- break;
996
- }
997
- }
998
- curStrPos++;
999
- }
1000
- return curStrPos;
1001
- }
1002
-
1003
- /**
1004
- * Backspace HTML tags and HTML Characters
1005
- * @param {string} curString Current string
1006
- * @param {number} curStrPos Position in current string
1007
- * @param {Typed} self instance of Typed
1008
- * @returns {number} a new string position
1009
- * @private
1010
- */
1011
- }, {
1012
- key: 'backSpaceHtmlChars',
1013
- value: function backSpaceHtmlChars(curString, curStrPos, self) {
1014
- if (self.contentType !== 'html') return curStrPos;
1015
- var curChar = curString.substr(curStrPos).charAt(0);
1016
- if (curChar === '>' || curChar === ';') {
1017
- var endTag = '';
1018
- if (curChar === '>') {
1019
- endTag = '<';
1020
- } else {
1021
- endTag = '&';
1022
- }
1023
- while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {
1024
- curStrPos--;
1025
- if (curStrPos < 0) {
1026
- break;
1027
- }
1028
- }
1029
- curStrPos--;
1030
- }
1031
- return curStrPos;
1032
- }
1033
- }]);
1034
-
1035
- return HTMLParser;
1036
- })();
1037
-
1038
- exports['default'] = HTMLParser;
1039
- var htmlParser = new HTMLParser();
1040
- exports.htmlParser = htmlParser;
1041
-
1042
- /***/ })
1043
- /******/ ])
1044
- });
1
+ /*!
2
+ *
3
+ * typed.js - A JavaScript Typing Animation Library
4
+ * Author: Matt Boldt <me@mattboldt.com>
5
+ * Version: v2.0.9
6
+ * Url: https://github.com/mattboldt/typed.js
7
+ * License(s): MIT
8
+ *
9
+ */
10
+ (function webpackUniversalModuleDefinition(root, factory) {
11
+ if(typeof exports === 'object' && typeof module === 'object')
12
+ module.exports = factory();
13
+ else if(typeof define === 'function' && define.amd)
14
+ define([], factory);
15
+ else if(typeof exports === 'object')
16
+ exports["Typed"] = factory();
17
+ else
18
+ root["Typed"] = factory();
19
+ })(this, function() {
20
+ return /******/ (function(modules) { // webpackBootstrap
21
+ /******/ // The module cache
22
+ /******/ var installedModules = {};
23
+ /******/
24
+ /******/ // The require function
25
+ /******/ function __webpack_require__(moduleId) {
26
+ /******/
27
+ /******/ // Check if module is in cache
28
+ /******/ if(installedModules[moduleId])
29
+ /******/ return installedModules[moduleId].exports;
30
+ /******/
31
+ /******/ // Create a new module (and put it into the cache)
32
+ /******/ var module = installedModules[moduleId] = {
33
+ /******/ exports: {},
34
+ /******/ id: moduleId,
35
+ /******/ loaded: false
36
+ /******/ };
37
+ /******/
38
+ /******/ // Execute the module function
39
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
40
+ /******/
41
+ /******/ // Flag the module as loaded
42
+ /******/ module.loaded = true;
43
+ /******/
44
+ /******/ // Return the exports of the module
45
+ /******/ return module.exports;
46
+ /******/ }
47
+ /******/
48
+ /******/
49
+ /******/ // expose the modules object (__webpack_modules__)
50
+ /******/ __webpack_require__.m = modules;
51
+ /******/
52
+ /******/ // expose the module cache
53
+ /******/ __webpack_require__.c = installedModules;
54
+ /******/
55
+ /******/ // __webpack_public_path__
56
+ /******/ __webpack_require__.p = "";
57
+ /******/
58
+ /******/ // Load entry module and return exports
59
+ /******/ return __webpack_require__(0);
60
+ /******/ })
61
+ /************************************************************************/
62
+ /******/ ([
63
+ /* 0 */
64
+ /***/ (function(module, exports, __webpack_require__) {
65
+
66
+ 'use strict';
67
+
68
+ Object.defineProperty(exports, '__esModule', {
69
+ value: true
70
+ });
71
+
72
+ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
73
+
74
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
75
+
76
+ var _initializerJs = __webpack_require__(1);
77
+
78
+ var _htmlParserJs = __webpack_require__(3);
79
+
80
+ /**
81
+ * Welcome to Typed.js!
82
+ * @param {string} elementId HTML element ID _OR_ HTML element
83
+ * @param {object} options options object
84
+ * @returns {object} a new Typed object
85
+ */
86
+
87
+ var Typed = (function () {
88
+ function Typed(elementId, options) {
89
+ _classCallCheck(this, Typed);
90
+
91
+ // Initialize it up
92
+ _initializerJs.initializer.load(this, options, elementId);
93
+ // All systems go!
94
+ this.begin();
95
+ }
96
+
97
+ /**
98
+ * Toggle start() and stop() of the Typed instance
99
+ * @public
100
+ */
101
+
102
+ _createClass(Typed, [{
103
+ key: 'toggle',
104
+ value: function toggle() {
105
+ this.pause.status ? this.start() : this.stop();
106
+ }
107
+
108
+ /**
109
+ * Stop typing / backspacing and enable cursor blinking
110
+ * @public
111
+ */
112
+ }, {
113
+ key: 'stop',
114
+ value: function stop() {
115
+ if (this.typingComplete) return;
116
+ if (this.pause.status) return;
117
+ this.toggleBlinking(true);
118
+ this.pause.status = true;
119
+ this.options.onStop(this.arrayPos, this);
120
+ }
121
+
122
+ /**
123
+ * Start typing / backspacing after being stopped
124
+ * @public
125
+ */
126
+ }, {
127
+ key: 'start',
128
+ value: function start() {
129
+ if (this.typingComplete) return;
130
+ if (!this.pause.status) return;
131
+ this.pause.status = false;
132
+ if (this.pause.typewrite) {
133
+ this.typewrite(this.pause.curString, this.pause.curStrPos);
134
+ } else {
135
+ this.backspace(this.pause.curString, this.pause.curStrPos);
136
+ }
137
+ this.options.onStart(this.arrayPos, this);
138
+ }
139
+
140
+ /**
141
+ * Destroy this instance of Typed
142
+ * @public
143
+ */
144
+ }, {
145
+ key: 'destroy',
146
+ value: function destroy() {
147
+ this.reset(false);
148
+ this.options.onDestroy(this);
149
+ }
150
+
151
+ /**
152
+ * Reset Typed and optionally restarts
153
+ * @param {boolean} restart
154
+ * @public
155
+ */
156
+ }, {
157
+ key: 'reset',
158
+ value: function reset() {
159
+ var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
160
+
161
+ clearInterval(this.timeout);
162
+ this.replaceText('');
163
+ if (this.cursor && this.cursor.parentNode) {
164
+ this.cursor.parentNode.removeChild(this.cursor);
165
+ this.cursor = null;
166
+ }
167
+ this.strPos = 0;
168
+ this.arrayPos = 0;
169
+ this.curLoop = 0;
170
+ if (restart) {
171
+ this.insertCursor();
172
+ this.options.onReset(this);
173
+ this.begin();
174
+ }
175
+ }
176
+
177
+ /**
178
+ * Begins the typing animation
179
+ * @private
180
+ */
181
+ }, {
182
+ key: 'begin',
183
+ value: function begin() {
184
+ var _this = this;
185
+
186
+ this.typingComplete = false;
187
+ this.shuffleStringsIfNeeded(this);
188
+ this.insertCursor();
189
+ if (this.bindInputFocusEvents) this.bindFocusEvents();
190
+ this.timeout = setTimeout(function () {
191
+ // Check if there is some text in the element, if yes start by backspacing the default message
192
+ if (!_this.currentElContent || _this.currentElContent.length === 0) {
193
+ _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos);
194
+ } else {
195
+ // Start typing
196
+ _this.backspace(_this.currentElContent, _this.currentElContent.length);
197
+ }
198
+ }, this.startDelay);
199
+ }
200
+
201
+ /**
202
+ * Called for each character typed
203
+ * @param {string} curString the current string in the strings array
204
+ * @param {number} curStrPos the current position in the curString
205
+ * @private
206
+ */
207
+ }, {
208
+ key: 'typewrite',
209
+ value: function typewrite(curString, curStrPos) {
210
+ var _this2 = this;
211
+
212
+ if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) {
213
+ this.el.classList.remove(this.fadeOutClass);
214
+ if (this.cursor) this.cursor.classList.remove(this.fadeOutClass);
215
+ }
216
+
217
+ var humanize = this.humanizer(this.typeSpeed);
218
+ var numChars = 1;
219
+
220
+ if (this.pause.status === true) {
221
+ this.setPauseStatus(curString, curStrPos, true);
222
+ return;
223
+ }
224
+
225
+ // contain typing function in a timeout humanize'd delay
226
+ this.timeout = setTimeout(function () {
227
+ // skip over any HTML chars
228
+ curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2);
229
+
230
+ var pauseTime = 0;
231
+ var substr = curString.substr(curStrPos);
232
+ // check for an escape character before a pause value
233
+ // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^
234
+ // single ^ are removed from string
235
+ if (substr.charAt(0) === '^') {
236
+ if (/^\^\d+/.test(substr)) {
237
+ var skip = 1; // skip at least 1
238
+ substr = /\d+/.exec(substr)[0];
239
+ skip += substr.length;
240
+ pauseTime = parseInt(substr);
241
+ _this2.temporaryPause = true;
242
+ _this2.options.onTypingPaused(_this2.arrayPos, _this2);
243
+ // strip out the escape character and pause value so they're not printed
244
+ curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip);
245
+ _this2.toggleBlinking(true);
246
+ }
247
+ }
248
+
249
+ // check for skip characters formatted as
250
+ // "this is a `string to print NOW` ..."
251
+ if (substr.charAt(0) === '`') {
252
+ while (curString.substr(curStrPos + numChars).charAt(0) !== '`') {
253
+ numChars++;
254
+ if (curStrPos + numChars > curString.length) break;
255
+ }
256
+ // strip out the escape characters and append all the string in between
257
+ var stringBeforeSkip = curString.substring(0, curStrPos);
258
+ var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars);
259
+ var stringAfterSkip = curString.substring(curStrPos + numChars + 1);
260
+ curString = stringBeforeSkip + stringSkipped + stringAfterSkip;
261
+ numChars--;
262
+ }
263
+
264
+ // timeout for any pause after a character
265
+ _this2.timeout = setTimeout(function () {
266
+ // Accounts for blinking while paused
267
+ _this2.toggleBlinking(false);
268
+
269
+ // We're done with this sentence!
270
+ if (curStrPos === curString.length) {
271
+ _this2.doneTyping(curString, curStrPos);
272
+ } else {
273
+ _this2.keepTyping(curString, curStrPos, numChars);
274
+ }
275
+ // end of character pause
276
+ if (_this2.temporaryPause) {
277
+ _this2.temporaryPause = false;
278
+ _this2.options.onTypingResumed(_this2.arrayPos, _this2);
279
+ }
280
+ }, pauseTime);
281
+
282
+ // humanized value for typing
283
+ }, humanize);
284
+ }
285
+
286
+ /**
287
+ * Continue to the next string & begin typing
288
+ * @param {string} curString the current string in the strings array
289
+ * @param {number} curStrPos the current position in the curString
290
+ * @private
291
+ */
292
+ }, {
293
+ key: 'keepTyping',
294
+ value: function keepTyping(curString, curStrPos, numChars) {
295
+ // call before functions if applicable
296
+ if (curStrPos === 0) {
297
+ this.toggleBlinking(false);
298
+ this.options.preStringTyped(this.arrayPos, this);
299
+ }
300
+ // start typing each new char into existing string
301
+ // curString: arg, this.el.html: original text inside element
302
+ curStrPos += numChars;
303
+ var nextString = curString.substr(0, curStrPos);
304
+ this.replaceText(nextString);
305
+ // loop the function
306
+ this.typewrite(curString, curStrPos);
307
+ }
308
+
309
+ /**
310
+ * We're done typing all strings
311
+ * @param {string} curString the current string in the strings array
312
+ * @param {number} curStrPos the current position in the curString
313
+ * @private
314
+ */
315
+ }, {
316
+ key: 'doneTyping',
317
+ value: function doneTyping(curString, curStrPos) {
318
+ var _this3 = this;
319
+
320
+ // fires callback function
321
+ this.options.onStringTyped(this.arrayPos, this);
322
+ this.toggleBlinking(true);
323
+ // is this the final string
324
+ if (this.arrayPos === this.strings.length - 1) {
325
+ // callback that occurs on the last typed string
326
+ this.complete();
327
+ // quit if we wont loop back
328
+ if (this.loop === false || this.curLoop === this.loopCount) {
329
+ return;
330
+ }
331
+ }
332
+ this.timeout = setTimeout(function () {
333
+ _this3.backspace(curString, curStrPos);
334
+ }, this.backDelay);
335
+ }
336
+
337
+ /**
338
+ * Backspaces 1 character at a time
339
+ * @param {string} curString the current string in the strings array
340
+ * @param {number} curStrPos the current position in the curString
341
+ * @private
342
+ */
343
+ }, {
344
+ key: 'backspace',
345
+ value: function backspace(curString, curStrPos) {
346
+ var _this4 = this;
347
+
348
+ if (this.pause.status === true) {
349
+ this.setPauseStatus(curString, curStrPos, true);
350
+ return;
351
+ }
352
+ if (this.fadeOut) return this.initFadeOut();
353
+
354
+ this.toggleBlinking(false);
355
+ var humanize = this.humanizer(this.backSpeed);
356
+
357
+ this.timeout = setTimeout(function () {
358
+ curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4);
359
+ // replace text with base text + typed characters
360
+ var curStringAtPosition = curString.substr(0, curStrPos);
361
+ _this4.replaceText(curStringAtPosition);
362
+
363
+ // if smartBack is enabled
364
+ if (_this4.smartBackspace) {
365
+ // the remaining part of the current string is equal of the same part of the new string
366
+ var nextString = _this4.strings[_this4.arrayPos + 1];
367
+ if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) {
368
+ _this4.stopNum = curStrPos;
369
+ } else {
370
+ _this4.stopNum = 0;
371
+ }
372
+ }
373
+
374
+ // if the number (id of character in current string) is
375
+ // less than the stop number, keep going
376
+ if (curStrPos > _this4.stopNum) {
377
+ // subtract characters one by one
378
+ curStrPos--;
379
+ // loop the function
380
+ _this4.backspace(curString, curStrPos);
381
+ } else if (curStrPos <= _this4.stopNum) {
382
+ // if the stop number has been reached, increase
383
+ // array position to next string
384
+ _this4.arrayPos++;
385
+ // When looping, begin at the beginning after backspace complete
386
+ if (_this4.arrayPos === _this4.strings.length) {
387
+ _this4.arrayPos = 0;
388
+ _this4.options.onLastStringBackspaced();
389
+ _this4.shuffleStringsIfNeeded();
390
+ _this4.begin();
391
+ } else {
392
+ _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos);
393
+ }
394
+ }
395
+ // humanized value for typing
396
+ }, humanize);
397
+ }
398
+
399
+ /**
400
+ * Full animation is complete
401
+ * @private
402
+ */
403
+ }, {
404
+ key: 'complete',
405
+ value: function complete() {
406
+ this.options.onComplete(this);
407
+ if (this.loop) {
408
+ this.curLoop++;
409
+ } else {
410
+ this.typingComplete = true;
411
+ }
412
+ }
413
+
414
+ /**
415
+ * Has the typing been stopped
416
+ * @param {string} curString the current string in the strings array
417
+ * @param {number} curStrPos the current position in the curString
418
+ * @param {boolean} isTyping
419
+ * @private
420
+ */
421
+ }, {
422
+ key: 'setPauseStatus',
423
+ value: function setPauseStatus(curString, curStrPos, isTyping) {
424
+ this.pause.typewrite = isTyping;
425
+ this.pause.curString = curString;
426
+ this.pause.curStrPos = curStrPos;
427
+ }
428
+
429
+ /**
430
+ * Toggle the blinking cursor
431
+ * @param {boolean} isBlinking
432
+ * @private
433
+ */
434
+ }, {
435
+ key: 'toggleBlinking',
436
+ value: function toggleBlinking(isBlinking) {
437
+ if (!this.cursor) return;
438
+ // if in paused state, don't toggle blinking a 2nd time
439
+ if (this.pause.status) return;
440
+ if (this.cursorBlinking === isBlinking) return;
441
+ this.cursorBlinking = isBlinking;
442
+ if (isBlinking) {
443
+ this.cursor.classList.add('typed-cursor--blink');
444
+ } else {
445
+ this.cursor.classList.remove('typed-cursor--blink');
446
+ }
447
+ }
448
+
449
+ /**
450
+ * Speed in MS to type
451
+ * @param {number} speed
452
+ * @private
453
+ */
454
+ }, {
455
+ key: 'humanizer',
456
+ value: function humanizer(speed) {
457
+ return Math.round(Math.random() * speed / 2) + speed;
458
+ }
459
+
460
+ /**
461
+ * Shuffle the sequence of the strings array
462
+ * @private
463
+ */
464
+ }, {
465
+ key: 'shuffleStringsIfNeeded',
466
+ value: function shuffleStringsIfNeeded() {
467
+ if (!this.shuffle) return;
468
+ this.sequence = this.sequence.sort(function () {
469
+ return Math.random() - 0.5;
470
+ });
471
+ }
472
+
473
+ /**
474
+ * Adds a CSS class to fade out current string
475
+ * @private
476
+ */
477
+ }, {
478
+ key: 'initFadeOut',
479
+ value: function initFadeOut() {
480
+ var _this5 = this;
481
+
482
+ this.el.className += ' ' + this.fadeOutClass;
483
+ if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass;
484
+ return setTimeout(function () {
485
+ _this5.arrayPos++;
486
+ _this5.replaceText('');
487
+
488
+ // Resets current string if end of loop reached
489
+ if (_this5.strings.length > _this5.arrayPos) {
490
+ _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0);
491
+ } else {
492
+ _this5.typewrite(_this5.strings[0], 0);
493
+ _this5.arrayPos = 0;
494
+ }
495
+ }, this.fadeOutDelay);
496
+ }
497
+
498
+ /**
499
+ * Replaces current text in the HTML element
500
+ * depending on element type
501
+ * @param {string} str
502
+ * @private
503
+ */
504
+ }, {
505
+ key: 'replaceText',
506
+ value: function replaceText(str) {
507
+ if (this.attr) {
508
+ this.el.setAttribute(this.attr, str);
509
+ } else {
510
+ if (this.isInput) {
511
+ this.el.value = str;
512
+ } else if (this.contentType === 'html') {
513
+ this.el.innerHTML = str;
514
+ } else {
515
+ this.el.textContent = str;
516
+ }
517
+ }
518
+ }
519
+
520
+ /**
521
+ * If using input elements, bind focus in order to
522
+ * start and stop the animation
523
+ * @private
524
+ */
525
+ }, {
526
+ key: 'bindFocusEvents',
527
+ value: function bindFocusEvents() {
528
+ var _this6 = this;
529
+
530
+ if (!this.isInput) return;
531
+ this.el.addEventListener('focus', function (e) {
532
+ _this6.stop();
533
+ });
534
+ this.el.addEventListener('blur', function (e) {
535
+ if (_this6.el.value && _this6.el.value.length !== 0) {
536
+ return;
537
+ }
538
+ _this6.start();
539
+ });
540
+ }
541
+
542
+ /**
543
+ * On init, insert the cursor element
544
+ * @private
545
+ */
546
+ }, {
547
+ key: 'insertCursor',
548
+ value: function insertCursor() {
549
+ if (!this.showCursor) return;
550
+ if (this.cursor) return;
551
+ this.cursor = document.createElement('span');
552
+ this.cursor.className = 'typed-cursor';
553
+ this.cursor.innerHTML = this.cursorChar;
554
+ this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling);
555
+ }
556
+ }]);
557
+
558
+ return Typed;
559
+ })();
560
+
561
+ exports['default'] = Typed;
562
+ module.exports = exports['default'];
563
+
564
+ /***/ }),
565
+ /* 1 */
566
+ /***/ (function(module, exports, __webpack_require__) {
567
+
568
+ 'use strict';
569
+
570
+ Object.defineProperty(exports, '__esModule', {
571
+ value: true
572
+ });
573
+
574
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
575
+
576
+ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
577
+
578
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
579
+
580
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
581
+
582
+ var _defaultsJs = __webpack_require__(2);
583
+
584
+ var _defaultsJs2 = _interopRequireDefault(_defaultsJs);
585
+
586
+ /**
587
+ * Initialize the Typed object
588
+ */
589
+
590
+ var Initializer = (function () {
591
+ function Initializer() {
592
+ _classCallCheck(this, Initializer);
593
+ }
594
+
595
+ _createClass(Initializer, [{
596
+ key: 'load',
597
+
598
+ /**
599
+ * Load up defaults & options on the Typed instance
600
+ * @param {Typed} self instance of Typed
601
+ * @param {object} options options object
602
+ * @param {string} elementId HTML element ID _OR_ instance of HTML element
603
+ * @private
604
+ */
605
+
606
+ value: function load(self, options, elementId) {
607
+ // chosen element to manipulate text
608
+ if (typeof elementId === 'string') {
609
+ self.el = document.querySelector(elementId);
610
+ } else {
611
+ self.el = elementId;
612
+ }
613
+
614
+ self.options = _extends({}, _defaultsJs2['default'], options);
615
+
616
+ // attribute to type into
617
+ self.isInput = self.el.tagName.toLowerCase() === 'input';
618
+ self.attr = self.options.attr;
619
+ self.bindInputFocusEvents = self.options.bindInputFocusEvents;
620
+
621
+ // show cursor
622
+ self.showCursor = self.isInput ? false : self.options.showCursor;
623
+
624
+ // custom cursor
625
+ self.cursorChar = self.options.cursorChar;
626
+
627
+ // Is the cursor blinking
628
+ self.cursorBlinking = true;
629
+
630
+ // text content of element
631
+ self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent;
632
+
633
+ // html or plain text
634
+ self.contentType = self.options.contentType;
635
+
636
+ // typing speed
637
+ self.typeSpeed = self.options.typeSpeed;
638
+
639
+ // add a delay before typing starts
640
+ self.startDelay = self.options.startDelay;
641
+
642
+ // backspacing speed
643
+ self.backSpeed = self.options.backSpeed;
644
+
645
+ // only backspace what doesn't match the previous string
646
+ self.smartBackspace = self.options.smartBackspace;
647
+
648
+ // amount of time to wait before backspacing
649
+ self.backDelay = self.options.backDelay;
650
+
651
+ // Fade out instead of backspace
652
+ self.fadeOut = self.options.fadeOut;
653
+ self.fadeOutClass = self.options.fadeOutClass;
654
+ self.fadeOutDelay = self.options.fadeOutDelay;
655
+
656
+ // variable to check whether typing is currently paused
657
+ self.isPaused = false;
658
+
659
+ // input strings of text
660
+ self.strings = self.options.strings.map(function (s) {
661
+ return s.trim();
662
+ });
663
+
664
+ // div containing strings
665
+ if (typeof self.options.stringsElement === 'string') {
666
+ self.stringsElement = document.querySelector(self.options.stringsElement);
667
+ } else {
668
+ self.stringsElement = self.options.stringsElement;
669
+ }
670
+
671
+ if (self.stringsElement) {
672
+ self.strings = [];
673
+ self.stringsElement.style.display = 'none';
674
+ var strings = Array.prototype.slice.apply(self.stringsElement.children);
675
+ var stringsLength = strings.length;
676
+
677
+ if (stringsLength) {
678
+ for (var i = 0; i < stringsLength; i += 1) {
679
+ var stringEl = strings[i];
680
+ self.strings.push(stringEl.innerHTML.trim());
681
+ }
682
+ }
683
+ }
684
+
685
+ // character number position of current string
686
+ self.strPos = 0;
687
+
688
+ // current array position
689
+ self.arrayPos = 0;
690
+
691
+ // index of string to stop backspacing on
692
+ self.stopNum = 0;
693
+
694
+ // Looping logic
695
+ self.loop = self.options.loop;
696
+ self.loopCount = self.options.loopCount;
697
+ self.curLoop = 0;
698
+
699
+ // shuffle the strings
700
+ self.shuffle = self.options.shuffle;
701
+ // the order of strings
702
+ self.sequence = [];
703
+
704
+ self.pause = {
705
+ status: false,
706
+ typewrite: true,
707
+ curString: '',
708
+ curStrPos: 0
709
+ };
710
+
711
+ // When the typing is complete (when not looped)
712
+ self.typingComplete = false;
713
+
714
+ // Set the order in which the strings are typed
715
+ for (var i in self.strings) {
716
+ self.sequence[i] = i;
717
+ }
718
+
719
+ // If there is some text in the element
720
+ self.currentElContent = this.getCurrentElContent(self);
721
+
722
+ self.autoInsertCss = self.options.autoInsertCss;
723
+
724
+ this.appendAnimationCss(self);
725
+ }
726
+ }, {
727
+ key: 'getCurrentElContent',
728
+ value: function getCurrentElContent(self) {
729
+ var elContent = '';
730
+ if (self.attr) {
731
+ elContent = self.el.getAttribute(self.attr);
732
+ } else if (self.isInput) {
733
+ elContent = self.el.value;
734
+ } else if (self.contentType === 'html') {
735
+ elContent = self.el.innerHTML;
736
+ } else {
737
+ elContent = self.el.textContent;
738
+ }
739
+ return elContent;
740
+ }
741
+ }, {
742
+ key: 'appendAnimationCss',
743
+ value: function appendAnimationCss(self) {
744
+ var cssDataName = 'data-typed-js-css';
745
+ if (!self.autoInsertCss) {
746
+ return;
747
+ }
748
+ if (!self.showCursor && !self.fadeOut) {
749
+ return;
750
+ }
751
+ if (document.querySelector('[' + cssDataName + ']')) {
752
+ return;
753
+ }
754
+
755
+ var css = document.createElement('style');
756
+ css.type = 'text/css';
757
+ css.setAttribute(cssDataName, true);
758
+
759
+ var innerCss = '';
760
+ if (self.showCursor) {
761
+ innerCss += '\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n ';
762
+ }
763
+ if (self.fadeOut) {
764
+ innerCss += '\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n ';
765
+ }
766
+ if (css.length === 0) {
767
+ return;
768
+ }
769
+ css.innerHTML = innerCss;
770
+ document.body.appendChild(css);
771
+ }
772
+ }]);
773
+
774
+ return Initializer;
775
+ })();
776
+
777
+ exports['default'] = Initializer;
778
+ var initializer = new Initializer();
779
+ exports.initializer = initializer;
780
+
781
+ /***/ }),
782
+ /* 2 */
783
+ /***/ (function(module, exports) {
784
+
785
+ /**
786
+ * Defaults & options
787
+ * @returns {object} Typed defaults & options
788
+ * @public
789
+ */
790
+
791
+ 'use strict';
792
+
793
+ Object.defineProperty(exports, '__esModule', {
794
+ value: true
795
+ });
796
+ var defaults = {
797
+ /**
798
+ * @property {array} strings strings to be typed
799
+ * @property {string} stringsElement ID of element containing string children
800
+ */
801
+ strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'],
802
+ stringsElement: null,
803
+
804
+ /**
805
+ * @property {number} typeSpeed type speed in milliseconds
806
+ */
807
+ typeSpeed: 0,
808
+
809
+ /**
810
+ * @property {number} startDelay time before typing starts in milliseconds
811
+ */
812
+ startDelay: 0,
813
+
814
+ /**
815
+ * @property {number} backSpeed backspacing speed in milliseconds
816
+ */
817
+ backSpeed: 0,
818
+
819
+ /**
820
+ * @property {boolean} smartBackspace only backspace what doesn't match the previous string
821
+ */
822
+ smartBackspace: true,
823
+
824
+ /**
825
+ * @property {boolean} shuffle shuffle the strings
826
+ */
827
+ shuffle: false,
828
+
829
+ /**
830
+ * @property {number} backDelay time before backspacing in milliseconds
831
+ */
832
+ backDelay: 700,
833
+
834
+ /**
835
+ * @property {boolean} fadeOut Fade out instead of backspace
836
+ * @property {string} fadeOutClass css class for fade animation
837
+ * @property {boolean} fadeOutDelay Fade out delay in milliseconds
838
+ */
839
+ fadeOut: false,
840
+ fadeOutClass: 'typed-fade-out',
841
+ fadeOutDelay: 500,
842
+
843
+ /**
844
+ * @property {boolean} loop loop strings
845
+ * @property {number} loopCount amount of loops
846
+ */
847
+ loop: false,
848
+ loopCount: Infinity,
849
+
850
+ /**
851
+ * @property {boolean} showCursor show cursor
852
+ * @property {string} cursorChar character for cursor
853
+ * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML <head>
854
+ */
855
+ showCursor: true,
856
+ cursorChar: '|',
857
+ autoInsertCss: true,
858
+
859
+ /**
860
+ * @property {string} attr attribute for typing
861
+ * Ex: input placeholder, value, or just HTML text
862
+ */
863
+ attr: null,
864
+
865
+ /**
866
+ * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input
867
+ */
868
+ bindInputFocusEvents: false,
869
+
870
+ /**
871
+ * @property {string} contentType 'html' or 'null' for plaintext
872
+ */
873
+ contentType: 'html',
874
+
875
+ /**
876
+ * All typing is complete
877
+ * @param {Typed} self
878
+ */
879
+ onComplete: function onComplete(self) {},
880
+
881
+ /**
882
+ * Before each string is typed
883
+ * @param {number} arrayPos
884
+ * @param {Typed} self
885
+ */
886
+ preStringTyped: function preStringTyped(arrayPos, self) {},
887
+
888
+ /**
889
+ * After each string is typed
890
+ * @param {number} arrayPos
891
+ * @param {Typed} self
892
+ */
893
+ onStringTyped: function onStringTyped(arrayPos, self) {},
894
+
895
+ /**
896
+ * During looping, after last string is typed
897
+ * @param {Typed} self
898
+ */
899
+ onLastStringBackspaced: function onLastStringBackspaced(self) {},
900
+
901
+ /**
902
+ * Typing has been stopped
903
+ * @param {number} arrayPos
904
+ * @param {Typed} self
905
+ */
906
+ onTypingPaused: function onTypingPaused(arrayPos, self) {},
907
+
908
+ /**
909
+ * Typing has been started after being stopped
910
+ * @param {number} arrayPos
911
+ * @param {Typed} self
912
+ */
913
+ onTypingResumed: function onTypingResumed(arrayPos, self) {},
914
+
915
+ /**
916
+ * After reset
917
+ * @param {Typed} self
918
+ */
919
+ onReset: function onReset(self) {},
920
+
921
+ /**
922
+ * After stop
923
+ * @param {number} arrayPos
924
+ * @param {Typed} self
925
+ */
926
+ onStop: function onStop(arrayPos, self) {},
927
+
928
+ /**
929
+ * After start
930
+ * @param {number} arrayPos
931
+ * @param {Typed} self
932
+ */
933
+ onStart: function onStart(arrayPos, self) {},
934
+
935
+ /**
936
+ * After destroy
937
+ * @param {Typed} self
938
+ */
939
+ onDestroy: function onDestroy(self) {}
940
+ };
941
+
942
+ exports['default'] = defaults;
943
+ module.exports = exports['default'];
944
+
945
+ /***/ }),
946
+ /* 3 */
947
+ /***/ (function(module, exports) {
948
+
949
+
950
+ /**
951
+ * TODO: These methods can probably be combined somehow
952
+ * Parse HTML tags & HTML Characters
953
+ */
954
+
955
+ 'use strict';
956
+
957
+ Object.defineProperty(exports, '__esModule', {
958
+ value: true
959
+ });
960
+
961
+ var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
962
+
963
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
964
+
965
+ var HTMLParser = (function () {
966
+ function HTMLParser() {
967
+ _classCallCheck(this, HTMLParser);
968
+ }
969
+
970
+ _createClass(HTMLParser, [{
971
+ key: 'typeHtmlChars',
972
+
973
+ /**
974
+ * Type HTML tags & HTML Characters
975
+ * @param {string} curString Current string
976
+ * @param {number} curStrPos Position in current string
977
+ * @param {Typed} self instance of Typed
978
+ * @returns {number} a new string position
979
+ * @private
980
+ */
981
+
982
+ value: function typeHtmlChars(curString, curStrPos, self) {
983
+ if (self.contentType !== 'html') return curStrPos;
984
+ var curChar = curString.substr(curStrPos).charAt(0);
985
+ if (curChar === '<' || curChar === '&') {
986
+ var endTag = '';
987
+ if (curChar === '<') {
988
+ endTag = '>';
989
+ } else {
990
+ endTag = ';';
991
+ }
992
+ while (curString.substr(curStrPos + 1).charAt(0) !== endTag) {
993
+ curStrPos++;
994
+ if (curStrPos + 1 > curString.length) {
995
+ break;
996
+ }
997
+ }
998
+ curStrPos++;
999
+ }
1000
+ return curStrPos;
1001
+ }
1002
+
1003
+ /**
1004
+ * Backspace HTML tags and HTML Characters
1005
+ * @param {string} curString Current string
1006
+ * @param {number} curStrPos Position in current string
1007
+ * @param {Typed} self instance of Typed
1008
+ * @returns {number} a new string position
1009
+ * @private
1010
+ */
1011
+ }, {
1012
+ key: 'backSpaceHtmlChars',
1013
+ value: function backSpaceHtmlChars(curString, curStrPos, self) {
1014
+ if (self.contentType !== 'html') return curStrPos;
1015
+ var curChar = curString.substr(curStrPos).charAt(0);
1016
+ if (curChar === '>' || curChar === ';') {
1017
+ var endTag = '';
1018
+ if (curChar === '>') {
1019
+ endTag = '<';
1020
+ } else {
1021
+ endTag = '&';
1022
+ }
1023
+ while (curString.substr(curStrPos - 1).charAt(0) !== endTag) {
1024
+ curStrPos--;
1025
+ if (curStrPos < 0) {
1026
+ break;
1027
+ }
1028
+ }
1029
+ curStrPos--;
1030
+ }
1031
+ return curStrPos;
1032
+ }
1033
+ }]);
1034
+
1035
+ return HTMLParser;
1036
+ })();
1037
+
1038
+ exports['default'] = HTMLParser;
1039
+ var htmlParser = new HTMLParser();
1040
+ exports.htmlParser = htmlParser;
1041
+
1042
+ /***/ })
1043
+ /******/ ])
1044
+ });
1045
1045
  ;