j1-template 2020.0.19 → 2020.0.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (506) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/ads/ad.html +2 -2
  3. data/_includes/themes/j1/blocks/footer/boxes/about_box.proc +1 -1
  4. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +3 -3
  5. data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +1 -1
  6. data/_includes/themes/j1/blocks/footer/generator.html +2 -2
  7. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +11 -11
  8. data/_includes/themes/j1/layouts/content_generator_collection.html +2 -2
  9. data/_includes/themes/j1/layouts/content_generator_page.html +4 -4
  10. data/_includes/themes/j1/layouts/content_generator_post.html +64 -162
  11. data/_includes/themes/j1/layouts/layout_metadata_generator.html +2 -2
  12. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +15 -1
  13. data/_includes/themes/j1/modules/connectors/ads +2 -2
  14. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +2 -4
  15. data/_includes/themes/j1/modules/connectors/analytics +2 -2
  16. data/_includes/themes/j1/modules/connectors/comment/disqus.html +38 -25
  17. data/_includes/themes/j1/modules/connectors/comments +2 -2
  18. data/_includes/themes/j1/modules/connectors/translator +2 -2
  19. data/_includes/themes/j1/modules/navigator/generator.html +17 -8
  20. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +36 -26
  21. data/_includes/themes/j1/procedures/global/attributes_loader.proc +117 -0
  22. data/_includes/themes/j1/procedures/global/create_bs_button.proc +4 -3
  23. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +17 -13
  24. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +1 -1
  25. data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +3 -3
  26. data/_includes/themes/j1/procedures/global/setup.proc +9 -9
  27. data/_includes/themes/j1/procedures/layouts/content_writer.proc +1 -2
  28. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  29. data/_includes/themes/j1/procedures/posts/collate_calendar.proc +1 -1
  30. data/_includes/themes/j1/procedures/posts/collate_list.proc +1 -1
  31. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +18 -17
  32. data/_includes/themes/j1/procedures/posts/create_series_header.proc +9 -5
  33. data/_layouts/default.html +3 -3
  34. data/_layouts/home.html +2 -2
  35. data/apps/public/cc/cc.yml +37 -38
  36. data/assets/data/authclient.html +2 -2
  37. data/assets/data/banner.html +25 -21
  38. data/assets/data/carousel.json +1 -1
  39. data/assets/data/cookiebar.html +17 -13
  40. data/assets/data/fam.html +124 -0
  41. data/assets/data/footer.html +1 -1
  42. data/assets/data/galleries.json +1 -1
  43. data/assets/data/gallery_customizer.html +19 -7
  44. data/assets/data/mdi_icons.json +1 -1
  45. data/assets/data/menu.html +2 -2
  46. data/assets/data/mmenu.html +2 -2
  47. data/assets/data/mmenu_sidebar.html +4 -4
  48. data/assets/data/mmenu_toc.html +1 -1
  49. data/assets/data/panel.html +113 -67
  50. data/assets/data/quicklinks.html +16 -16
  51. data/assets/data/themes.json +9 -9
  52. data/assets/data/twa_v1.json +1 -1
  53. data/assets/error_pages/HTTP204.html +1 -0
  54. data/assets/error_pages/HTTP400.html +3 -2
  55. data/assets/error_pages/HTTP401.html +3 -2
  56. data/assets/error_pages/HTTP403.html +3 -2
  57. data/assets/error_pages/HTTP404.html +3 -2
  58. data/assets/error_pages/HTTP500.html +3 -2
  59. data/assets/error_pages/HTTP501.html +3 -2
  60. data/assets/error_pages/HTTP502.html +3 -2
  61. data/assets/error_pages/HTTP503.html +3 -2
  62. data/assets/error_pages/HTTP520.html +3 -2
  63. data/assets/error_pages/HTTP521.html +3 -2
  64. data/assets/error_pages/HTTP533.html +3 -2
  65. data/assets/themes/j1/adapter/js/algolia.js +2 -2
  66. data/assets/themes/j1/adapter/js/attic.js +2 -2
  67. data/assets/themes/j1/adapter/js/{mdb.js → bmd.js} +11 -11
  68. data/assets/themes/j1/adapter/js/carousel.js +6 -6
  69. data/assets/themes/j1/adapter/js/clipboard.js +3 -3
  70. data/assets/themes/j1/adapter/js/cookiebar.js +1 -1
  71. data/assets/themes/j1/adapter/js/{ssm.js → fam.js} +275 -148
  72. data/assets/themes/j1/adapter/js/framer.js +74 -62
  73. data/assets/themes/j1/adapter/js/gallery_customizer.js +4 -3
  74. data/assets/themes/j1/adapter/js/j1.js +25 -19
  75. data/assets/themes/j1/adapter/js/jf_gallery.js +4 -4
  76. data/assets/themes/j1/adapter/js/lightbox.js +2 -2
  77. data/assets/themes/j1/adapter/js/logger.js +2 -2
  78. data/assets/themes/j1/adapter/js/{searcher.js → lunr_search.js} +68 -65
  79. data/assets/themes/j1/adapter/js/mmenu.js +16 -10
  80. data/assets/themes/j1/adapter/js/navigator.js +81 -60
  81. data/assets/themes/j1/adapter/js/rouge.js +246 -0
  82. data/assets/themes/j1/adapter/js/rtable.js +181 -0
  83. data/assets/themes/j1/adapter/js/themer.js +63 -110
  84. data/assets/themes/j1/adapter/js/toccer.js +72 -32
  85. data/assets/themes/j1/core/css/animate.css +15 -15
  86. data/assets/themes/j1/core/css/bootstrap.css +0 -14
  87. data/assets/themes/j1/core/css/custom.scss +28 -0
  88. data/assets/themes/j1/core/css/globals.css +14523 -0
  89. data/assets/themes/j1/core/css/globals.min.css +1 -0
  90. data/assets/themes/j1/core/css/globals.scss +28 -0
  91. data/assets/themes/j1/core/css/{icons-fontawesome.css → icon-fonts/fontawesome.css} +17 -17
  92. data/assets/themes/j1/core/css/{icons-fontawesome.min.css → icon-fonts/fontawesome.min.css} +0 -0
  93. data/assets/themes/j1/core/css/{icons-iconify.css → icon-fonts/iconify.css} +15 -15
  94. data/assets/themes/j1/core/css/{icons-iconify.min.css → icon-fonts/iconify.min.css} +0 -0
  95. data/assets/themes/j1/core/css/{icons-materialdesign.css → icon-fonts/materialdesign.css} +17 -17
  96. data/assets/themes/j1/core/css/{icons-materialdesign.min.css → icon-fonts/materialdesign.min.css} +0 -0
  97. data/assets/themes/j1/core/css/{icons-twemoji.css → icon-fonts/twemoji.css} +18 -18
  98. data/assets/themes/j1/core/css/{icons-twemoji.min.css → icon-fonts/twemoji.min.css} +0 -0
  99. data/assets/themes/j1/core/css/{theme-extensions.css → theme_extensions.css} +3625 -1816
  100. data/assets/themes/j1/core/css/theme_extensions.min.css +1 -0
  101. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +7171 -0
  102. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +6 -0
  103. data/assets/themes/j1/core/css/{uno-dark.css → themes/uno-dark/bootstrap.css} +548 -316
  104. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +6 -0
  105. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +22519 -0
  106. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +8 -0
  107. data/assets/themes/j1/core/css/uno.css +5284 -15518
  108. data/assets/themes/j1/core/css/uno.min.css +1 -8
  109. data/assets/themes/j1/core/css/uno.scss +28 -0
  110. data/assets/themes/j1/core/css/vendor.css +102 -73
  111. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  112. data/assets/themes/j1/core/css/vendor.scss +28 -0
  113. data/assets/themes/j1/core/js/template.js +6 -11
  114. data/assets/themes/j1/core/js/template.js.map +1 -1
  115. data/assets/themes/j1/core/js/template.min.js +1 -1
  116. data/assets/themes/j1/modules/backstretch/js/backstretch.js +12 -13
  117. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +12 -13
  118. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.full.js +6930 -0
  119. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js +6 -0
  120. data/assets/themes/j1/modules/carousel/css/carousel.css +8 -9
  121. data/assets/themes/j1/modules/carousel/css/carousel.min.css +7 -9
  122. data/assets/themes/j1/modules/carousel/css/carousel_transitions.css +7 -8
  123. data/assets/themes/j1/modules/carousel/css/carousel_transitions.min.css +7 -9
  124. data/assets/themes/j1/modules/carousel/css/theme/uno.css +39 -48
  125. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +8 -9
  126. data/assets/themes/j1/modules/cash/js/cash.js +1374 -0
  127. data/assets/themes/j1/modules/cash/js/cash.min.js +42 -0
  128. data/assets/themes/j1/modules/clipboard/css/theme/uno.css +9 -9
  129. data/assets/themes/j1/modules/clipboard/css/theme/uno.min.css +8 -45
  130. data/assets/themes/j1/modules/fam/css/uno/fam.css +369 -0
  131. data/assets/themes/j1/modules/fam/js/fam.js +477 -0
  132. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +1 -1
  133. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.js → resizer.js} +0 -0
  134. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.map → resizer.map} +0 -0
  135. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.min.js → resizer.min.js} +0 -0
  136. data/assets/themes/j1/modules/jquery/js/jquery.js +7 -4
  137. data/assets/themes/j1/modules/jquery/js/jquery.min.js +2 -2
  138. data/assets/themes/j1/modules/jquery/js/require.js +2145 -0
  139. data/assets/themes/j1/modules/jquery/js/require.min.js +5 -0
  140. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.css +13 -13
  141. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.min.css +8 -31
  142. data/assets/themes/j1/modules/lightGallery/css/themes/uno.css +7 -8
  143. data/assets/themes/j1/modules/lightGallery/css/themes/uno.min.css +8 -10
  144. data/assets/themes/j1/modules/lightbox/css/lightbox.css +11 -12
  145. data/assets/themes/j1/modules/lightbox/css/lightbox.min.css +11 -12
  146. data/assets/themes/j1/modules/lightbox/css/theme/uno.css +7 -7
  147. data/assets/themes/j1/modules/lightbox/css/theme/uno.min.css +7 -8
  148. data/assets/themes/j1/modules/lightbox/js/lightbox.js +12 -13
  149. data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +11 -27
  150. data/assets/themes/j1/modules/lunrSearch/css/lunr_search.css +32 -0
  151. data/assets/themes/j1/modules/lunrSearch/css/lunr_search.min.css +25 -0
  152. data/assets/themes/j1/modules/lunrSearch/js/dateformat.js +125 -0
  153. data/assets/themes/j1/modules/lunrSearch/js/dateformat.min.js +14 -0
  154. data/assets/themes/j1/modules/lunrSearch/js/lunr.js +3475 -0
  155. data/assets/themes/j1/modules/lunrSearch/js/lunr.min.js +51 -0
  156. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.js +184 -0
  157. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.min.js +17 -0
  158. data/assets/themes/j1/modules/lunrSearch/js/mustache.js +772 -0
  159. data/assets/themes/j1/modules/lunrSearch/js/mustache.min.js +772 -0
  160. data/assets/themes/j1/modules/lunrSearch/js/uri.js +2340 -0
  161. data/assets/themes/j1/modules/lunrSearch/js/uri.min.js +93 -0
  162. data/assets/themes/j1/modules/materialize/js/anime.js +1283 -0
  163. data/assets/themes/j1/modules/materialize/js/anime.min.js +34 -0
  164. data/assets/themes/j1/modules/materialize/js/autocomplete.js +450 -0
  165. data/assets/themes/j1/modules/materialize/js/buttons.js +409 -0
  166. data/assets/themes/j1/modules/materialize/js/cards.js +40 -0
  167. data/assets/themes/j1/modules/materialize/js/carousel.js +717 -0
  168. data/assets/themes/j1/modules/materialize/js/cash-dom.js +1044 -0
  169. data/assets/themes/j1/modules/materialize/js/cash.js +960 -0
  170. data/assets/themes/j1/modules/materialize/js/characterCounter.js +136 -0
  171. data/assets/themes/j1/modules/materialize/js/chips.js +481 -0
  172. data/assets/themes/j1/modules/materialize/js/collapsible.js +275 -0
  173. data/assets/themes/j1/modules/materialize/js/component.js +44 -0
  174. data/assets/themes/j1/modules/materialize/js/datepicker.js +975 -0
  175. data/assets/themes/j1/modules/materialize/js/dropdown.js +617 -0
  176. data/assets/themes/j1/modules/materialize/js/forms.js +275 -0
  177. data/assets/themes/j1/modules/materialize/js/global.js +427 -0
  178. data/assets/themes/j1/modules/materialize/js/materialbox.js +453 -0
  179. data/assets/themes/j1/modules/materialize/js/modal.js +382 -0
  180. data/assets/themes/j1/modules/materialize/js/parallax.js +138 -0
  181. data/assets/themes/j1/modules/materialize/js/pushpin.js +145 -0
  182. data/assets/themes/j1/modules/materialize/js/range.js +263 -0
  183. data/assets/themes/j1/modules/materialize/js/ripple.js +335 -0
  184. data/assets/themes/j1/modules/materialize/js/scrollspy.js +295 -0
  185. data/assets/themes/j1/modules/materialize/js/select.js +432 -0
  186. data/assets/themes/j1/modules/materialize/js/sidenav.js +580 -0
  187. data/assets/themes/j1/modules/materialize/js/slider.js +359 -0
  188. data/assets/themes/j1/modules/materialize/js/tabs.js +402 -0
  189. data/assets/themes/j1/modules/materialize/js/tapTarget.js +314 -0
  190. data/assets/themes/j1/modules/materialize/js/timepicker.js +647 -0
  191. data/assets/themes/j1/modules/materialize/js/toasts.js +310 -0
  192. data/assets/themes/j1/modules/materialize/js/tooltip.js +303 -0
  193. data/assets/themes/j1/modules/materialize/js/waves.js +335 -0
  194. data/assets/themes/j1/modules/materialize/scss/components/_badges.scss +55 -0
  195. data/assets/themes/j1/modules/materialize/scss/components/_buttons.scss +322 -0
  196. data/assets/themes/j1/modules/materialize/scss/components/_cards.scss +195 -0
  197. data/assets/themes/j1/modules/materialize/scss/components/_carousel.scss +90 -0
  198. data/assets/themes/j1/modules/materialize/scss/components/_chips.scss +90 -0
  199. data/assets/themes/j1/modules/materialize/scss/components/_collapsible.scss +91 -0
  200. data/assets/themes/j1/modules/materialize/scss/components/_color-classes.scss +32 -0
  201. data/assets/themes/j1/modules/materialize/scss/components/_color-variables.scss +370 -0
  202. data/assets/themes/j1/modules/materialize/scss/components/_datepicker.scss +191 -0
  203. data/assets/themes/j1/modules/materialize/scss/components/_dropdown.scss +85 -0
  204. data/assets/themes/j1/modules/materialize/scss/components/_global.scss +769 -0
  205. data/assets/themes/j1/modules/materialize/scss/components/_grid.scss +156 -0
  206. data/assets/themes/j1/modules/materialize/scss/components/_icons-material-design.scss +5 -0
  207. data/assets/themes/j1/modules/materialize/scss/components/_materialbox.scss +43 -0
  208. data/assets/themes/j1/modules/materialize/scss/components/_modal.scss +94 -0
  209. data/assets/themes/j1/modules/materialize/scss/components/_navbar.scss +208 -0
  210. data/assets/themes/j1/modules/materialize/scss/components/_normalize.scss +447 -0
  211. data/assets/themes/j1/modules/materialize/scss/components/_preloader.scss +334 -0
  212. data/assets/themes/j1/modules/materialize/scss/components/_pulse.scss +34 -0
  213. data/assets/themes/j1/modules/materialize/scss/components/_sidenav.scss +216 -0
  214. data/assets/themes/j1/modules/materialize/scss/components/_slider.scss +92 -0
  215. data/assets/themes/j1/modules/materialize/scss/components/_table_of_contents.scss +33 -0
  216. data/assets/themes/j1/modules/materialize/scss/components/_tabs.scss +99 -0
  217. data/assets/themes/j1/modules/materialize/scss/components/_tapTarget.scss +103 -0
  218. data/assets/themes/j1/modules/materialize/scss/components/_timepicker.scss +183 -0
  219. data/assets/themes/j1/modules/materialize/scss/components/_toast.scss +58 -0
  220. data/assets/themes/j1/modules/materialize/scss/components/_tooltip.scss +32 -0
  221. data/assets/themes/j1/modules/materialize/scss/components/_transitions.scss +13 -0
  222. data/assets/themes/j1/modules/materialize/scss/components/_typography.scss +60 -0
  223. data/assets/themes/j1/modules/materialize/scss/components/_variables.scss +349 -0
  224. data/assets/themes/j1/modules/materialize/scss/components/_waves.scss +114 -0
  225. data/assets/themes/j1/modules/materialize/scss/components/forms/_checkboxes.scss +200 -0
  226. data/assets/themes/j1/modules/materialize/scss/components/forms/_file-input.scss +44 -0
  227. data/assets/themes/j1/modules/materialize/scss/components/forms/_forms.scss +22 -0
  228. data/assets/themes/j1/modules/materialize/scss/components/forms/_input-fields.scss +354 -0
  229. data/assets/themes/j1/modules/materialize/scss/components/forms/_radio-buttons.scss +115 -0
  230. data/assets/themes/j1/modules/materialize/scss/components/forms/_range.scss +161 -0
  231. data/assets/themes/j1/modules/materialize/scss/components/forms/_select.scss +180 -0
  232. data/assets/themes/j1/modules/materialize/scss/components/forms/_switches.scss +89 -0
  233. data/assets/themes/j1/modules/materialize/scss/materialize.scss +41 -0
  234. data/assets/themes/j1/modules/mmenuLight/css/mmenu.css +11 -11
  235. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.min.css +37 -11
  236. data/assets/themes/j1/modules/popper/js/popper.js +1 -1
  237. data/assets/themes/j1/modules/popper/js/popper.js.map +1 -1
  238. data/assets/themes/j1/modules/popper/js/popper.min.js.map +1 -1
  239. data/assets/themes/j1/modules/rouge/js/select.js +25 -0
  240. data/assets/themes/j1/modules/rtable/LICENSE +22 -0
  241. data/assets/themes/j1/modules/rtable/README.md +418 -0
  242. data/assets/themes/j1/modules/rtable/css/tablesaw.stackonly.css +148 -0
  243. data/assets/themes/j1/modules/rtable/css/theme/uno.css +191 -0
  244. data/assets/themes/j1/modules/rtable/css/theme/uno.min.css +191 -0
  245. data/assets/themes/j1/modules/rtable/js/rtable.js +692 -0
  246. data/assets/themes/j1/modules/rtable/js/rtable.min.js +690 -0
  247. data/assets/themes/j1/modules/rtable/js/tablesaw-init.js +18 -0
  248. data/assets/themes/j1/modules/rtable/js/tablesaw.stackonly.js +2371 -0
  249. data/assets/themes/j1/modules/{bsThemeSwitcher → themeSwitcher}/js/switcher.js +15 -17
  250. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +26 -0
  251. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +1 -1
  252. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.min.css +1 -1
  253. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +2 -2
  254. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +2 -257
  255. data/assets/themes/j1/modules/twemoji/js/twemoji.js +11 -11
  256. data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +11 -12
  257. data/lib/j1/commands/generate.rb +6 -6
  258. data/lib/j1/version.rb +1 -1
  259. data/lib/j1_app/j1_auth_manager/config.rb +2 -2
  260. data/lib/starter_web/Gemfile +12 -16
  261. data/lib/starter_web/_config.yml +162 -22
  262. data/lib/starter_web/_data/apps/carousel.yml +10 -10
  263. data/lib/starter_web/_data/apps/justified_gallery.yml +44 -10
  264. data/lib/starter_web/_data/blocks/banner.yml +32 -27
  265. data/lib/starter_web/_data/blocks/defaults/banner.yml +14 -13
  266. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  267. data/lib/starter_web/_data/blocks/defaults/panel.yml +3 -2
  268. data/lib/starter_web/_data/blocks/footer.yml +1 -1
  269. data/lib/starter_web/_data/blocks/panel.yml +24 -25
  270. data/lib/starter_web/_data/{template_settings.yml → j1_config.yml} +64 -11
  271. data/lib/starter_web/_data/layouts/home.yml +20 -10
  272. data/lib/starter_web/_data/layouts/page.yml +10 -0
  273. data/lib/starter_web/_data/layouts/post.yml +10 -0
  274. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +3 -1
  275. data/lib/starter_web/_data/modules/defaults/{ssm.yml → fam.yml} +12 -15
  276. data/lib/starter_web/_data/modules/defaults/lunr_search.yml +171 -0
  277. data/lib/starter_web/_data/modules/defaults/navigator.yml +5 -5
  278. data/lib/starter_web/_data/modules/defaults/themer.yml +8 -13
  279. data/lib/starter_web/_data/modules/defaults/toccer.yml +4 -2
  280. data/lib/starter_web/_data/modules/fam.yml +158 -0
  281. data/lib/starter_web/_data/modules/{back2top.yml → lunr_search.yml} +15 -9
  282. data/lib/starter_web/_data/modules/navigator.yml +2 -2
  283. data/lib/starter_web/_data/modules/navigator_menu.yml +16 -10
  284. data/lib/starter_web/_data/modules/themer.yml +0 -18
  285. data/lib/starter_web/_data/modules/toccer.yml +0 -73
  286. data/lib/starter_web/_data/resources.yml +195 -67
  287. data/lib/starter_web/_includes/attributes.asciidoc +194 -0
  288. data/lib/starter_web/_includes/breadcrumbs.html +11 -0
  289. data/lib/starter_web/_includes/documents/licenses/mit.asciidoc +19 -0
  290. data/lib/starter_web/{collections/posts/private → _includes/documents}/readme +0 -0
  291. data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +45 -0
  292. data/lib/starter_web/_includes/tables/template_variables.asciidoc +46 -0
  293. data/lib/starter_web/_plugins/debug.rb +0 -1
  294. data/lib/starter_web/_plugins/filters.rb +0 -1
  295. data/lib/starter_web/_plugins/{lorem-inline.rb → lorem_inline.rb} +1 -2
  296. data/lib/starter_web/_plugins/lunr_index.rb +313 -0
  297. data/lib/starter_web/_plugins/prettify.rb +0 -3
  298. data/lib/starter_web/_plugins/simple_search_filter.rb +0 -1
  299. data/lib/starter_web/_plugins/symlink_watcher.rb +2 -3
  300. data/lib/starter_web/assets/images/modules/attics/banner/lunr-banner-1280x800.jpg +0 -0
  301. data/lib/starter_web/assets/images/modules/attics/katie-moum-1920x1280.jpg +0 -0
  302. data/lib/starter_web/assets/images/modules/attics/tldr-1920x800.jpg +0 -0
  303. data/lib/starter_web/assets/images/pages/winlogbeat/coordinate-map.png +0 -0
  304. data/lib/starter_web/assets/images/pages/winlogbeat/kibana-powershell.jpg +0 -0
  305. data/lib/starter_web/assets/images/pages/winlogbeat/option_ignore_outgoing.png +0 -0
  306. data/lib/starter_web/assets/images/pages/winlogbeat/winlogbeat-dashboard.png +0 -0
  307. data/lib/starter_web/collections/posts/{protected → private/_posts}/readme +0 -0
  308. data/{assets/README.md → lib/starter_web/collections/posts/protected/_posts/readme} +0 -0
  309. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +77 -80
  310. data/lib/starter_web/collections/posts/public/featured/_posts/2018-05-01-confusion-about-base-url.adoc +21 -10
  311. data/lib/starter_web/collections/posts/public/featured/_posts/2019-05-01-top-open-source-static-site-generators.adoc +41 -31
  312. data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +32 -27
  313. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +38 -0
  314. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/readme +0 -0
  315. data/lib/starter_web/collections/posts/public/featured/_posts/{000_includes → _includes/documents}/unsplash-badge.asciidoc +0 -0
  316. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/tables/readme +0 -0
  317. data/lib/starter_web/collections/posts/public/series/_posts/2018-11-01-docker-using-shared-folders.adoc +494 -502
  318. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +144 -0
  319. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +146 -0
  320. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +146 -0
  321. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +146 -0
  322. data/lib/starter_web/collections/posts/public/{featured/_posts/000_includes → series/_posts/_includes}/attributes.asciidoc +8 -18
  323. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/documents/100-docker-using-shared-folders.asciidoc +0 -0
  324. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/documents/loop.sh +0 -0
  325. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/tables/debug_variables.asciidoc +0 -0
  326. data/lib/starter_web/collections/posts/public/test_posts/_posts/2020-09-11-test_post.adoc +218 -0
  327. data/lib/starter_web/collections/posts/public/{wikipedia/_posts/000_includes → test_posts/_posts/_includes}/attributes.asciidoc +9 -21
  328. data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/documents/readme +0 -0
  329. data/lib/starter_web/collections/posts/public/{wikipedia/_posts/000_includes → test_posts/_posts/_includes}/tables/debug_variables.asciidoc +0 -0
  330. data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/tables/readme +0 -0
  331. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +16 -8
  332. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -7
  333. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -6
  334. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/attributes.asciidoc +37 -0
  335. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/documents/readme +0 -0
  336. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/tables/readme +0 -0
  337. data/lib/starter_web/index.html +16 -10
  338. data/lib/starter_web/package.json +5 -2
  339. data/lib/starter_web/pages/protected/site_search.adoc +8 -19
  340. data/lib/starter_web/pages/public/about/about_site.adoc +0 -2
  341. data/lib/starter_web/pages/public/about/become_a_patron.adoc +1 -3
  342. data/lib/starter_web/pages/public/blog/navigator/archive.html +34 -9
  343. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +40 -16
  344. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +32 -8
  345. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +8 -4
  346. data/lib/starter_web/pages/public/blog/navigator/index.html +6 -3
  347. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +15 -21
  348. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +32 -27
  349. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +32 -27
  350. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/attributes.asciidoc +15 -13
  351. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/100_meet_and_greet_jekyll.asciidoc +31 -0
  352. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/documents/200_preparations.asciidoc +0 -0
  353. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/documents/300_first_awesome_web.asciidoc +0 -0
  354. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/parts.asciidoc +1 -1
  355. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/debug_variables.asciidoc +48 -0
  356. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +0 -0
  357. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +76 -111
  358. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +37 -45
  359. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +51 -63
  360. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +74 -80
  361. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +64 -84
  362. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +34 -42
  363. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +281 -91
  364. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +138 -52
  365. data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +236 -0
  366. data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +294 -0
  367. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/attributes.asciidoc +10 -29
  368. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +28 -0
  369. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_info.asciidoc +2 -2
  370. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_left_warning.asciidoc +2 -2
  371. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_right_danger.asciidoc +2 -2
  372. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_central_success.asciidoc +2 -2
  373. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_full_height_left_info.asciidoc +2 -2
  374. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_full_height_right_success.asciidoc +2 -2
  375. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_table_3_column.asciidoc +1 -1
  376. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_info.asciidoc +2 -2
  377. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_left_info.asciidoc +2 -2
  378. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_right_success.asciidoc +2 -2
  379. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/419_advanced_modals_demo.asciidoc +16 -16
  380. data/lib/starter_web/pages/public/learn/roundtrip/_includes/tables/readme +0 -0
  381. data/lib/starter_web/pages/public/learn/{whats_up.adoc → where_to_go.adoc} +31 -46
  382. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -2
  383. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -1
  384. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +7 -12
  385. data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +2 -1
  386. data/lib/starter_web/pages/public/legal/de/500_support.adoc +2 -1
  387. data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +32 -28
  388. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +12 -8
  389. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +17 -12
  390. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +38 -36
  391. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +15 -6
  392. data/lib/starter_web/pages/public/legal/en/500_support.adoc +12 -4
  393. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +1 -1
  394. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +68 -68
  395. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/attributes.asciidoc +22 -8
  396. data/lib/starter_web/pages/public/previewer/_includes/documents/licenses/mit.asciidoc +19 -0
  397. data/lib/starter_web/pages/public/previewer/_includes/documents/readme +0 -0
  398. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/100_absolute_sizes.asciidoc +1 -1
  399. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/110_bs_grid_sizes.asciidoc +1 -1
  400. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/120_relative_sizes.asciidoc +1 -1
  401. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/200_rotate.asciidoc +1 -1
  402. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/300_flip.asciidoc +1 -1
  403. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/400_spin_pulsed.asciidoc +1 -1
  404. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/500_bw_color_palette.asciidoc +1 -1
  405. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/510_bs_color_palette.asciidoc +1 -1
  406. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/600_md_color_palette.asciidoc +1 -1
  407. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +1 -1
  408. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/602_md_color_palette_pink.asciidoc +1 -1
  409. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/100_bs_sizes.asciidoc +1 -1
  410. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/100_relative_sizes.asciidoc +1 -1
  411. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/200_rotate.asciidoc +1 -1
  412. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/300_flip.asciidoc +1 -1
  413. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/400_spin_pulsed.asciidoc +1 -1
  414. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +860 -595
  415. data/lib/starter_web/pages/public/previewer/iframer.adoc +48 -41
  416. data/lib/starter_web/pages/public/previewer/justified_gallery.html +15 -7
  417. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +21 -26
  418. data/lib/starter_web/pages/public/previewer/rouge.adoc +205 -0
  419. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +21 -27
  420. data/lib/starter_web/pages/public/test_pages/_includes/attributes.asciidoc +49 -0
  421. data/lib/starter_web/pages/public/{learn/roundtrip/000_includes → test_pages/_includes}/documents/100_gistblock.asciidoc +0 -0
  422. data/lib/starter_web/pages/public/test_pages/_includes/tables/000_bem_specifiers.asciidoc +22 -0
  423. data/lib/starter_web/pages/public/test_pages/_includes/tables/000_specifier_examples.asciidoc +56 -0
  424. data/lib/starter_web/pages/public/test_pages/breadcrumbs_tester.adoc +62 -0
  425. data/lib/starter_web/pages/public/test_pages/carousel_captions.adoc +1045 -0
  426. data/lib/starter_web/pages/public/test_pages/deck_of_posts.adoc +165 -0
  427. data/lib/starter_web/pages/public/test_pages/floating_actions_button.adoc +523 -0
  428. data/lib/starter_web/pages/public/{learn/examples → test_pages}/floating_ad.adoc +8 -21
  429. data/lib/starter_web/pages/public/{learn/examples → test_pages}/floating_div.adoc +25 -38
  430. data/lib/starter_web/pages/public/test_pages/lunr_tester.adoc +89 -0
  431. data/lib/starter_web/pages/public/{000_nav_pagination_tester.adoc → test_pages/nav_pagination_tester.adoc} +9 -22
  432. data/lib/starter_web/pages/public/test_pages/page_attribute_tester.adoc +196 -0
  433. data/lib/starter_web/pages/public/test_pages/responsive_images.adoc +213 -0
  434. data/lib/starter_web/pages/public/test_pages/responsive_tables.adoc +210 -0
  435. data/lib/starter_web/pages/public/test_pages/toccer_tester.adoc +2245 -0
  436. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/attributes.asciidoc +0 -0
  437. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/100_gistblock.asciidoc +0 -0
  438. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_info.asciidoc +0 -0
  439. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_left_warning.asciidoc +0 -0
  440. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_right_danger.asciidoc +0 -0
  441. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_central_success.asciidoc +0 -0
  442. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_full_height_left_info.asciidoc +0 -0
  443. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_full_height_right_success.asciidoc +0 -0
  444. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_table_3_column.asciidoc +1 -1
  445. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_info.asciidoc +0 -0
  446. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_left_info.asciidoc +0 -0
  447. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_right_success.asciidoc +0 -0
  448. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/419_advanced_modals_html.asciidoc +0 -0
  449. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_test_youtube_video.adoc +0 -0
  450. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/100_basic_video.adoc +0 -0
  451. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  452. data/lib/starter_web/utilsrv/package.json +1 -1
  453. metadata +261 -146
  454. data/assets/data/jupyter/notebooks/_html/template.full.head.html +0 -75
  455. data/assets/data/jupyter/notebooks/_html/visualisation.html +0 -968
  456. data/assets/data/jupyter/notebooks/html/template.html +0 -50
  457. data/assets/data/jupyter/notebooks/html/visualisation.ok.html +0 -949
  458. data/assets/data/jupyter/notebooks/tutorial.ipynb +0 -169
  459. data/assets/data/jupyter/notebooks/visualisation.ipynb +0 -9413
  460. data/assets/data/search.json +0 -165
  461. data/assets/data/ssm.html +0 -242
  462. data/assets/themes/j1/adapter/js/back2top.js +0 -233
  463. data/assets/themes/j1/core/css/theme-extensions.min.css +0 -1
  464. data/assets/themes/j1/core/css/uno-dark.min.css +0 -6
  465. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js.org +0 -1
  466. data/assets/themes/j1/modules/bootstrap/css/bootstrap.css +0 -10278
  467. data/assets/themes/j1/modules/bootstrap/css/bootstrap.css.map +0 -1
  468. data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css +0 -7
  469. data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css.map +0 -1
  470. data/assets/themes/j1/modules/bootstrap/js/bootstrap.js +0 -4420
  471. data/assets/themes/j1/modules/bootstrap/js/bootstrap.js.map +0 -1
  472. data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js +0 -7
  473. data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js.map +0 -1
  474. data/assets/themes/j1/modules/bsDatepicker/css/datepicker.css +0 -203
  475. data/assets/themes/j1/modules/bsDatepicker/css/theme/uno.css +0 -235
  476. data/assets/themes/j1/modules/bsDatepicker/js/datepicker.js +0 -509
  477. data/assets/themes/j1/modules/bsDatepicker/less/datepicker.less +0 -122
  478. data/assets/themes/j1/modules/bsThemeSwitcher/js/switcher.min.js +0 -20
  479. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.js +0 -468
  480. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.min.js +0 -6
  481. data/assets/themes/j1/modules/jqMouseWheel/README.md +0 -76
  482. data/assets/themes/j1/modules/jqMouseWheel/js/jquery.mousewheel.js +0 -221
  483. data/assets/themes/j1/modules/jqMouseWheel/js/jquery.mousewheel.min.js +0 -9
  484. data/assets/themes/j1/modules/noUISlider/LICENSE +0 -13
  485. data/assets/themes/j1/modules/noUISlider/css/nouislider.css +0 -260
  486. data/assets/themes/j1/modules/noUISlider/css/nouislider.min.css +0 -1
  487. data/assets/themes/j1/modules/noUISlider/js/nouislider.js +0 -2312
  488. data/assets/themes/j1/modules/noUISlider/js/nouislider.min.js +0 -3
  489. data/assets/themes/j1/modules/polyfills/js/msie.js +0 -140
  490. data/assets/themes/j1/modules/tocbot/css/theme/uno.css +0 -89
  491. data/assets/themes/j1/modules/tocbot/css/theme/uno.min.css +0 -89
  492. data/assets/themes/j1/modules/tocbot/css/tocbot.css +0 -75
  493. data/assets/themes/j1/modules/tocbot/css/tocbot.min.css +0 -19
  494. data/assets/themes/j1/modules/tocbot/js/tocbot.js +0 -19
  495. data/assets/themes/j1/modules/tocbot/js/tocbot.min.js +0 -19
  496. data/lib/starter_web/_data/modules/defaults/back2top.yml +0 -146
  497. data/lib/starter_web/_data/modules/defaults/cookie_consent.yml +0 -132
  498. data/lib/starter_web/_data/modules/defaults/stickybits.yml +0 -36
  499. data/lib/starter_web/_data/modules/ssm.yml +0 -142
  500. data/lib/starter_web/assets/images/modules/attics/welcome-1920x1280-bw.jpg +0 -0
  501. data/lib/starter_web/collections/posts/public/series/_posts/000_includes/attributes.asciidoc +0 -66
  502. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/000_includes/documents/100_meet_and_greet_jekyll.asciidoc +0 -31
  503. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/000_includes/attributes.asciidoc +0 -69
  504. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/000_includes/documents/100_buttons.asciidoc +0 -170
  505. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/mdb_previewer.adoc +0 -52
  506. data/lib/starter_web/pages/public/learn/roundtrip/bs_tour.js +0 -98
@@ -0,0 +1,34 @@
1
+ /*
2
+ v2.2.0
3
+ 2017 Julian Garnier
4
+ Released under the MIT license
5
+ */
6
+ var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(e,r,p){if(p.get||p.set)throw new TypeError("ES3 does not support getters and setters.");e!=Array.prototype&&e!=Object.prototype&&(e[r]=p.value)};$jscomp.getGlobal=function(e){return"undefined"!=typeof window&&window===e?e:"undefined"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
7
+ $jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||"")+$jscomp.symbolCounter_++};
8
+ $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var r=0;return $jscomp.iteratorPrototype(function(){return r<e.length?{done:!1,value:e[r++]}:{done:!0}})};
9
+ $jscomp.iteratorPrototype=function(e){$jscomp.initSymbolIterator();e={next:e};e[$jscomp.global.Symbol.iterator]=function(){return this};return e};$jscomp.array=$jscomp.array||{};$jscomp.iteratorFromArray=function(e,r){$jscomp.initSymbolIterator();e instanceof String&&(e+="");var p=0,m={next:function(){if(p<e.length){var u=p++;return{value:r(u,e[u]),done:!1}}m.next=function(){return{done:!0,value:void 0}};return m.next()}};m[Symbol.iterator]=function(){return m};return m};
10
+ $jscomp.polyfill=function(e,r,p,m){if(r){p=$jscomp.global;e=e.split(".");for(m=0;m<e.length-1;m++){var u=e[m];u in p||(p[u]={});p=p[u]}e=e[e.length-1];m=p[e];r=r(m);r!=m&&null!=r&&$jscomp.defineProperty(p,e,{configurable:!0,writable:!0,value:r})}};$jscomp.polyfill("Array.prototype.keys",function(e){return e?e:function(){return $jscomp.iteratorFromArray(this,function(e){return e})}},"es6-impl","es3");var $jscomp$this=this;
11
+ (function(r){M.anime=r()})(function(){function e(a){if(!h.col(a))try{return document.querySelectorAll(a)}catch(c){}}function r(a,c){for(var d=a.length,b=2<=arguments.length?arguments[1]:void 0,f=[],n=0;n<d;n++)if(n in a){var k=a[n];c.call(b,k,n,a)&&f.push(k)}return f}function p(a){return a.reduce(function(a,d){return a.concat(h.arr(d)?p(d):d)},[])}function m(a){if(h.arr(a))return a;
12
+ h.str(a)&&(a=e(a)||a);return a instanceof NodeList||a instanceof HTMLCollection?[].slice.call(a):[a]}function u(a,c){return a.some(function(a){return a===c})}function C(a){var c={},d;for(d in a)c[d]=a[d];return c}function D(a,c){var d=C(a),b;for(b in a)d[b]=c.hasOwnProperty(b)?c[b]:a[b];return d}function z(a,c){var d=C(a),b;for(b in c)d[b]=h.und(a[b])?c[b]:a[b];return d}function T(a){a=a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,c,d,k){return c+c+d+d+k+k});var c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);
13
+ a=parseInt(c[1],16);var d=parseInt(c[2],16),c=parseInt(c[3],16);return"rgba("+a+","+d+","+c+",1)"}function U(a){function c(a,c,b){0>b&&(b+=1);1<b&&--b;return b<1/6?a+6*(c-a)*b:.5>b?c:b<2/3?a+(c-a)*(2/3-b)*6:a}var d=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(a);a=parseInt(d[1])/360;var b=parseInt(d[2])/100,f=parseInt(d[3])/100,d=d[4]||1;if(0==b)f=b=a=f;else{var n=.5>f?f*(1+b):f+b-f*b,k=2*f-n,f=c(k,n,a+1/3),b=c(k,n,a);a=c(k,n,a-1/3)}return"rgba("+
14
+ 255*f+","+255*b+","+255*a+","+d+")"}function y(a){if(a=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a))return a[2]}function V(a){if(-1<a.indexOf("translate")||"perspective"===a)return"px";if(-1<a.indexOf("rotate")||-1<a.indexOf("skew"))return"deg"}function I(a,c){return h.fnc(a)?a(c.target,c.id,c.total):a}function E(a,c){if(c in a.style)return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function J(a,c){if(h.dom(a)&&
15
+ u(W,c))return"transform";if(h.dom(a)&&(a.getAttribute(c)||h.svg(a)&&a[c]))return"attribute";if(h.dom(a)&&"transform"!==c&&E(a,c))return"css";if(null!=a[c])return"object"}function X(a,c){var d=V(c),d=-1<c.indexOf("scale")?1:0+d;a=a.style.transform;if(!a)return d;for(var b=[],f=[],n=[],k=/(\w+)\((.+?)\)/g;b=k.exec(a);)f.push(b[1]),n.push(b[2]);a=r(n,function(a,b){return f[b]===c});return a.length?a[0]:d}function K(a,c){switch(J(a,c)){case "transform":return X(a,c);case "css":return E(a,c);case "attribute":return a.getAttribute(c)}return a[c]||
16
+ 0}function L(a,c){var d=/^(\*=|\+=|-=)/.exec(a);if(!d)return a;var b=y(a)||0;c=parseFloat(c);a=parseFloat(a.replace(d[0],""));switch(d[0][0]){case "+":return c+a+b;case "-":return c-a+b;case "*":return c*a+b}}function F(a,c){return Math.sqrt(Math.pow(c.x-a.x,2)+Math.pow(c.y-a.y,2))}function M(a){a=a.points;for(var c=0,d,b=0;b<a.numberOfItems;b++){var f=a.getItem(b);0<b&&(c+=F(d,f));d=f}return c}function N(a){if(a.getTotalLength)return a.getTotalLength();switch(a.tagName.toLowerCase()){case "circle":return 2*
17
+ Math.PI*a.getAttribute("r");case "rect":return 2*a.getAttribute("width")+2*a.getAttribute("height");case "line":return F({x:a.getAttribute("x1"),y:a.getAttribute("y1")},{x:a.getAttribute("x2"),y:a.getAttribute("y2")});case "polyline":return M(a);case "polygon":var c=a.points;return M(a)+F(c.getItem(c.numberOfItems-1),c.getItem(0))}}function Y(a,c){function d(b){b=void 0===b?0:b;return a.el.getPointAtLength(1<=c+b?c+b:0)}var b=d(),f=d(-1),n=d(1);switch(a.property){case "x":return b.x;case "y":return b.y;
18
+ case "angle":return 180*Math.atan2(n.y-f.y,n.x-f.x)/Math.PI}}function O(a,c){var d=/-?\d*\.?\d+/g,b;b=h.pth(a)?a.totalLength:a;if(h.col(b))if(h.rgb(b)){var f=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(b);b=f?"rgba("+f[1]+",1)":b}else b=h.hex(b)?T(b):h.hsl(b)?U(b):void 0;else f=(f=y(b))?b.substr(0,b.length-f.length):b,b=c&&!/\s/g.test(b)?f+c:f;b+="";return{original:b,numbers:b.match(d)?b.match(d).map(Number):[0],strings:h.str(a)||c?b.split(d):[]}}function P(a){a=a?p(h.arr(a)?a.map(m):m(a)):[];return r(a,
19
+ function(a,d,b){return b.indexOf(a)===d})}function Z(a){var c=P(a);return c.map(function(a,b){return{target:a,id:b,total:c.length}})}function aa(a,c){var d=C(c);if(h.arr(a)){var b=a.length;2!==b||h.obj(a[0])?h.fnc(c.duration)||(d.duration=c.duration/b):a={value:a}}return m(a).map(function(a,b){b=b?0:c.delay;a=h.obj(a)&&!h.pth(a)?a:{value:a};h.und(a.delay)&&(a.delay=b);return a}).map(function(a){return z(a,d)})}function ba(a,c){var d={},b;for(b in a){var f=I(a[b],c);h.arr(f)&&(f=f.map(function(a){return I(a,
20
+ c)}),1===f.length&&(f=f[0]));d[b]=f}d.duration=parseFloat(d.duration);d.delay=parseFloat(d.delay);return d}function ca(a){return h.arr(a)?A.apply(this,a):Q[a]}function da(a,c){var d;return a.tweens.map(function(b){b=ba(b,c);var f=b.value,e=K(c.target,a.name),k=d?d.to.original:e,k=h.arr(f)?f[0]:k,w=L(h.arr(f)?f[1]:f,k),e=y(w)||y(k)||y(e);b.from=O(k,e);b.to=O(w,e);b.start=d?d.end:a.offset;b.end=b.start+b.delay+b.duration;b.easing=ca(b.easing);b.elasticity=(1E3-Math.min(Math.max(b.elasticity,1),999))/
21
+ 1E3;b.isPath=h.pth(f);b.isColor=h.col(b.from.original);b.isColor&&(b.round=1);return d=b})}function ea(a,c){return r(p(a.map(function(a){return c.map(function(b){var c=J(a.target,b.name);if(c){var d=da(b,a);b={type:c,property:b.name,animatable:a,tweens:d,duration:d[d.length-1].end,delay:d[0].delay}}else b=void 0;return b})})),function(a){return!h.und(a)})}function R(a,c,d,b){var f="delay"===a;return c.length?(f?Math.min:Math.max).apply(Math,c.map(function(b){return b[a]})):f?b.delay:d.offset+b.delay+
22
+ b.duration}function fa(a){var c=D(ga,a),d=D(S,a),b=Z(a.targets),f=[],e=z(c,d),k;for(k in a)e.hasOwnProperty(k)||"targets"===k||f.push({name:k,offset:e.offset,tweens:aa(a[k],d)});a=ea(b,f);return z(c,{children:[],animatables:b,animations:a,duration:R("duration",a,c,d),delay:R("delay",a,c,d)})}function q(a){function c(){return window.Promise&&new Promise(function(a){return p=a})}function d(a){return g.reversed?g.duration-a:a}function b(a){for(var b=0,c={},d=g.animations,f=d.length;b<f;){var e=d[b],
23
+ k=e.animatable,h=e.tweens,n=h.length-1,l=h[n];n&&(l=r(h,function(b){return a<b.end})[0]||l);for(var h=Math.min(Math.max(a-l.start-l.delay,0),l.duration)/l.duration,w=isNaN(h)?1:l.easing(h,l.elasticity),h=l.to.strings,p=l.round,n=[],m=void 0,m=l.to.numbers.length,t=0;t<m;t++){var x=void 0,x=l.to.numbers[t],q=l.from.numbers[t],x=l.isPath?Y(l.value,w*x):q+w*(x-q);p&&(l.isColor&&2<t||(x=Math.round(x*p)/p));n.push(x)}if(l=h.length)for(m=h[0],w=0;w<l;w++)p=h[w+1],t=n[w],isNaN(t)||(m=p?m+(t+p):m+(t+" "));
24
+ else m=n[0];ha[e.type](k.target,e.property,m,c,k.id);e.currentValue=m;b++}if(b=Object.keys(c).length)for(d=0;d<b;d++)H||(H=E(document.body,"transform")?"transform":"-webkit-transform"),g.animatables[d].target.style[H]=c[d].join(" ");g.currentTime=a;g.progress=a/g.duration*100}function f(a){if(g[a])g[a](g)}function e(){g.remaining&&!0!==g.remaining&&g.remaining--}function k(a){var k=g.duration,n=g.offset,w=n+g.delay,r=g.currentTime,x=g.reversed,q=d(a);if(g.children.length){var u=g.children,v=u.length;
25
+ if(q>=g.currentTime)for(var G=0;G<v;G++)u[G].seek(q);else for(;v--;)u[v].seek(q)}if(q>=w||!k)g.began||(g.began=!0,f("begin")),f("run");if(q>n&&q<k)b(q);else if(q<=n&&0!==r&&(b(0),x&&e()),q>=k&&r!==k||!k)b(k),x||e();f("update");a>=k&&(g.remaining?(t=h,"alternate"===g.direction&&(g.reversed=!g.reversed)):(g.pause(),g.completed||(g.completed=!0,f("complete"),"Promise"in window&&(p(),m=c()))),l=0)}a=void 0===a?{}:a;var h,t,l=0,p=null,m=c(),g=fa(a);g.reset=function(){var a=g.direction,c=g.loop;g.currentTime=
26
+ 0;g.progress=0;g.paused=!0;g.began=!1;g.completed=!1;g.reversed="reverse"===a;g.remaining="alternate"===a&&1===c?2:c;b(0);for(a=g.children.length;a--;)g.children[a].reset()};g.tick=function(a){h=a;t||(t=h);k((l+h-t)*q.speed)};g.seek=function(a){k(d(a))};g.pause=function(){var a=v.indexOf(g);-1<a&&v.splice(a,1);g.paused=!0};g.play=function(){g.paused&&(g.paused=!1,t=0,l=d(g.currentTime),v.push(g),B||ia())};g.reverse=function(){g.reversed=!g.reversed;t=0;l=d(g.currentTime)};g.restart=function(){g.pause();
27
+ g.reset();g.play()};g.finished=m;g.reset();g.autoplay&&g.play();return g}var ga={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},S={duration:1E3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},W="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),H,h={arr:function(a){return Array.isArray(a)},obj:function(a){return-1<Object.prototype.toString.call(a).indexOf("Object")},
28
+ pth:function(a){return h.obj(a)&&a.hasOwnProperty("totalLength")},svg:function(a){return a instanceof SVGElement},dom:function(a){return a.nodeType||h.svg(a)},str:function(a){return"string"===typeof a},fnc:function(a){return"function"===typeof a},und:function(a){return"undefined"===typeof a},hex:function(a){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)},rgb:function(a){return/^rgb/.test(a)},hsl:function(a){return/^hsl/.test(a)},col:function(a){return h.hex(a)||h.rgb(a)||h.hsl(a)}},A=function(){function a(a,
29
+ d,b){return(((1-3*b+3*d)*a+(3*b-6*d))*a+3*d)*a}return function(c,d,b,f){if(0<=c&&1>=c&&0<=b&&1>=b){var e=new Float32Array(11);if(c!==d||b!==f)for(var k=0;11>k;++k)e[k]=a(.1*k,c,b);return function(k){if(c===d&&b===f)return k;if(0===k)return 0;if(1===k)return 1;for(var h=0,l=1;10!==l&&e[l]<=k;++l)h+=.1;--l;var l=h+(k-e[l])/(e[l+1]-e[l])*.1,n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(.001<=n){for(h=0;4>h;++h){n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(0===n)break;var m=a(l,c,b)-k,l=l-m/n}k=l}else if(0===
30
+ n)k=l;else{var l=h,h=h+.1,g=0;do m=l+(h-l)/2,n=a(m,c,b)-k,0<n?h=m:l=m;while(1e-7<Math.abs(n)&&10>++g);k=m}return a(k,d,f)}}}}(),Q=function(){function a(a,b){return 0===a||1===a?a:-Math.pow(2,10*(a-1))*Math.sin(2*(a-1-b/(2*Math.PI)*Math.asin(1))*Math.PI/b)}var c="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),d={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],a],Out:[[.25,
31
+ .46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(b,c){return 1-a(1-b,c)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(b,c){return.5>b?a(2*b,c)/2:1-a(-2*b+2,c)/2}]},b={linear:A(.25,.25,.75,.75)},f={},e;for(e in d)f.type=e,d[f.type].forEach(function(a){return function(d,f){b["ease"+a.type+c[f]]=h.fnc(d)?
32
+ d:A.apply($jscomp$this,d)}}(f)),f={type:f.type};return b}(),ha={css:function(a,c,d){return a.style[c]=d},attribute:function(a,c,d){return a.setAttribute(c,d)},object:function(a,c,d){return a[c]=d},transform:function(a,c,d,b,f){b[f]||(b[f]=[]);b[f].push(c+"("+d+")")}},v=[],B=0,ia=function(){function a(){B=requestAnimationFrame(c)}function c(c){var b=v.length;if(b){for(var d=0;d<b;)v[d]&&v[d].tick(c),d++;a()}else cancelAnimationFrame(B),B=0}return a}();q.version="2.2.0";q.speed=1;q.running=v;q.remove=
33
+ function(a){a=P(a);for(var c=v.length;c--;)for(var d=v[c],b=d.animations,f=b.length;f--;)u(a,b[f].animatable.target)&&(b.splice(f,1),b.length||d.pause())};q.getValue=K;q.path=function(a,c){var d=h.str(a)?e(a)[0]:a,b=c||100;return function(a){return{el:d,property:a,totalLength:N(d)*(b/100)}}};q.setDashoffset=function(a){var c=N(a);a.setAttribute("stroke-dasharray",c);return c};q.bezier=A;q.easings=Q;q.timeline=function(a){var c=q(a);c.pause();c.duration=0;c.add=function(d){c.children.forEach(function(a){a.began=
34
+ !0;a.completed=!0});m(d).forEach(function(b){var d=z(b,D(S,a||{}));d.targets=d.targets||a.targets;b=c.duration;var e=d.offset;d.autoplay=!1;d.direction=c.direction;d.offset=h.und(e)?b:L(e,b);c.began=!0;c.completed=!0;c.seek(d.offset);d=q(d);d.began=!0;d.completed=!0;d.duration>b&&(c.duration=d.duration);c.children.push(d)});c.seek(0);c.reset();c.autoplay&&c.restart();return c};return c};q.random=function(a,c){return Math.floor(Math.random()*(c-a+1))+a};return q});
@@ -0,0 +1,450 @@
1
+ (function($) {
2
+ 'use strict';
3
+
4
+ let _defaults = {
5
+ data: {}, // Autocomplete data set
6
+ limit: Infinity, // Limit of results the autocomplete shows
7
+ onAutocomplete: null, // Callback for when autocompleted
8
+ minLength: 1, // Min characters before autocomplete starts
9
+ sortFunction: function(a, b, inputString) {
10
+ // Sort function for sorting autocomplete results
11
+ return a.indexOf(inputString) - b.indexOf(inputString);
12
+ }
13
+ };
14
+
15
+ /**
16
+ * @class
17
+ *
18
+ */
19
+ class Autocomplete extends Component {
20
+ /**
21
+ * Construct Autocomplete instance
22
+ * @constructor
23
+ * @param {Element} el
24
+ * @param {Object} options
25
+ */
26
+ constructor(el, options) {
27
+ super(Autocomplete, el, options);
28
+
29
+ this.el.M_Autocomplete = this;
30
+
31
+ /**
32
+ * Options for the autocomplete
33
+ * @member Autocomplete#options
34
+ * @prop {Number} duration
35
+ * @prop {Number} dist
36
+ * @prop {number} shift
37
+ * @prop {number} padding
38
+ * @prop {Boolean} fullWidth
39
+ * @prop {Boolean} indicators
40
+ * @prop {Boolean} noWrap
41
+ * @prop {Function} onCycleTo
42
+ */
43
+ this.options = $.extend({}, Autocomplete.defaults, options);
44
+
45
+ // Setup
46
+ this.isOpen = false;
47
+ this.count = 0;
48
+ this.activeIndex = -1;
49
+ this.oldVal;
50
+ this.$inputField = this.$el.closest('.input-field');
51
+ this.$active = $();
52
+ this._mousedown = false;
53
+ this._setupDropdown();
54
+
55
+ this._setupEventHandlers();
56
+ }
57
+
58
+ static get defaults() {
59
+ return _defaults;
60
+ }
61
+
62
+ static init(els, options) {
63
+ return super.init(this, els, options);
64
+ }
65
+
66
+ /**
67
+ * Get Instance
68
+ */
69
+ static getInstance(el) {
70
+ let domElem = !!el.jquery ? el[0] : el;
71
+ return domElem.M_Autocomplete;
72
+ }
73
+
74
+ /**
75
+ * Teardown component
76
+ */
77
+ destroy() {
78
+ this._removeEventHandlers();
79
+ this._removeDropdown();
80
+ this.el.M_Autocomplete = undefined;
81
+ }
82
+
83
+ /**
84
+ * Setup Event Handlers
85
+ */
86
+ _setupEventHandlers() {
87
+ this._handleInputBlurBound = this._handleInputBlur.bind(this);
88
+ this._handleInputKeyupAndFocusBound = this._handleInputKeyupAndFocus.bind(this);
89
+ this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
90
+ this._handleInputClickBound = this._handleInputClick.bind(this);
91
+ this._handleContainerMousedownAndTouchstartBound = this._handleContainerMousedownAndTouchstart.bind(
92
+ this
93
+ );
94
+ this._handleContainerMouseupAndTouchendBound = this._handleContainerMouseupAndTouchend.bind(
95
+ this
96
+ );
97
+
98
+ this.el.addEventListener('blur', this._handleInputBlurBound);
99
+ this.el.addEventListener('keyup', this._handleInputKeyupAndFocusBound);
100
+ this.el.addEventListener('focus', this._handleInputKeyupAndFocusBound);
101
+ this.el.addEventListener('keydown', this._handleInputKeydownBound);
102
+ this.el.addEventListener('click', this._handleInputClickBound);
103
+ this.container.addEventListener(
104
+ 'mousedown',
105
+ this._handleContainerMousedownAndTouchstartBound
106
+ );
107
+ this.container.addEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
108
+
109
+ if (typeof window.ontouchstart !== 'undefined') {
110
+ this.container.addEventListener(
111
+ 'touchstart',
112
+ this._handleContainerMousedownAndTouchstartBound
113
+ );
114
+ this.container.addEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Remove Event Handlers
120
+ */
121
+ _removeEventHandlers() {
122
+ this.el.removeEventListener('blur', this._handleInputBlurBound);
123
+ this.el.removeEventListener('keyup', this._handleInputKeyupAndFocusBound);
124
+ this.el.removeEventListener('focus', this._handleInputKeyupAndFocusBound);
125
+ this.el.removeEventListener('keydown', this._handleInputKeydownBound);
126
+ this.el.removeEventListener('click', this._handleInputClickBound);
127
+ this.container.removeEventListener(
128
+ 'mousedown',
129
+ this._handleContainerMousedownAndTouchstartBound
130
+ );
131
+ this.container.removeEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
132
+
133
+ if (typeof window.ontouchstart !== 'undefined') {
134
+ this.container.removeEventListener(
135
+ 'touchstart',
136
+ this._handleContainerMousedownAndTouchstartBound
137
+ );
138
+ this.container.removeEventListener(
139
+ 'touchend',
140
+ this._handleContainerMouseupAndTouchendBound
141
+ );
142
+ }
143
+ }
144
+
145
+ /**
146
+ * Setup dropdown
147
+ */
148
+ _setupDropdown() {
149
+ this.container = document.createElement('ul');
150
+ this.container.id = `autocomplete-options-${M.guid()}`;
151
+ $(this.container).addClass('autocomplete-content dropdown-content');
152
+ this.$inputField.append(this.container);
153
+ this.el.setAttribute('data-target', this.container.id);
154
+
155
+ this.dropdown = M.Dropdown.init(this.el, {
156
+ autoFocus: false,
157
+ closeOnClick: false,
158
+ coverTrigger: false,
159
+ onItemClick: (itemEl) => {
160
+ this.selectOption($(itemEl));
161
+ }
162
+ });
163
+
164
+ // Sketchy removal of dropdown click handler
165
+ this.el.removeEventListener('click', this.dropdown._handleClickBound);
166
+ }
167
+
168
+ /**
169
+ * Remove dropdown
170
+ */
171
+ _removeDropdown() {
172
+ this.container.parentNode.removeChild(this.container);
173
+ }
174
+
175
+ /**
176
+ * Handle Input Blur
177
+ */
178
+ _handleInputBlur() {
179
+ if (!this._mousedown) {
180
+ this.close();
181
+ this._resetAutocomplete();
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Handle Input Keyup and Focus
187
+ * @param {Event} e
188
+ */
189
+ _handleInputKeyupAndFocus(e) {
190
+ if (e.type === 'keyup') {
191
+ Autocomplete._keydown = false;
192
+ }
193
+
194
+ this.count = 0;
195
+ let val = this.el.value.toLowerCase();
196
+
197
+ // Don't capture enter or arrow key usage.
198
+ if (e.keyCode === 13 || e.keyCode === 38 || e.keyCode === 40) {
199
+ return;
200
+ }
201
+
202
+ // Check if the input isn't empty
203
+ // Check if focus triggered by tab
204
+ if (this.oldVal !== val && (M.tabPressed || e.type !== 'focus')) {
205
+ this.open();
206
+ }
207
+
208
+ // Update oldVal
209
+ this.oldVal = val;
210
+ }
211
+
212
+ /**
213
+ * Handle Input Keydown
214
+ * @param {Event} e
215
+ */
216
+ _handleInputKeydown(e) {
217
+ Autocomplete._keydown = true;
218
+
219
+ // Arrow keys and enter key usage
220
+ let keyCode = e.keyCode,
221
+ liElement,
222
+ numItems = $(this.container).children('li').length;
223
+
224
+ // select element on Enter
225
+ if (keyCode === M.keys.ENTER && this.activeIndex >= 0) {
226
+ liElement = $(this.container)
227
+ .children('li')
228
+ .eq(this.activeIndex);
229
+ if (liElement.length) {
230
+ this.selectOption(liElement);
231
+ e.preventDefault();
232
+ }
233
+ return;
234
+ }
235
+
236
+ // Capture up and down key
237
+ if (keyCode === M.keys.ARROW_UP || keyCode === M.keys.ARROW_DOWN) {
238
+ e.preventDefault();
239
+
240
+ if (keyCode === M.keys.ARROW_UP && this.activeIndex > 0) {
241
+ this.activeIndex--;
242
+ }
243
+
244
+ if (keyCode === M.keys.ARROW_DOWN && this.activeIndex < numItems - 1) {
245
+ this.activeIndex++;
246
+ }
247
+
248
+ this.$active.removeClass('active');
249
+ if (this.activeIndex >= 0) {
250
+ this.$active = $(this.container)
251
+ .children('li')
252
+ .eq(this.activeIndex);
253
+ this.$active.addClass('active');
254
+ }
255
+ }
256
+ }
257
+
258
+ /**
259
+ * Handle Input Click
260
+ * @param {Event} e
261
+ */
262
+ _handleInputClick(e) {
263
+ this.open();
264
+ }
265
+
266
+ /**
267
+ * Handle Container Mousedown and Touchstart
268
+ * @param {Event} e
269
+ */
270
+ _handleContainerMousedownAndTouchstart(e) {
271
+ this._mousedown = true;
272
+ }
273
+
274
+ /**
275
+ * Handle Container Mouseup and Touchend
276
+ * @param {Event} e
277
+ */
278
+ _handleContainerMouseupAndTouchend(e) {
279
+ this._mousedown = false;
280
+ }
281
+
282
+ /**
283
+ * Highlight partial match
284
+ */
285
+ _highlight(string, $el) {
286
+ let img = $el.find('img');
287
+ let matchStart = $el
288
+ .text()
289
+ .toLowerCase()
290
+ .indexOf('' + string.toLowerCase() + ''),
291
+ matchEnd = matchStart + string.length - 1,
292
+ beforeMatch = $el.text().slice(0, matchStart),
293
+ matchText = $el.text().slice(matchStart, matchEnd + 1),
294
+ afterMatch = $el.text().slice(matchEnd + 1);
295
+ $el.html(
296
+ `<span>${beforeMatch}<span class='highlight'>${matchText}</span>${afterMatch}</span>`
297
+ );
298
+ if (img.length) {
299
+ $el.prepend(img);
300
+ }
301
+ }
302
+
303
+ /**
304
+ * Reset current element position
305
+ */
306
+ _resetCurrentElement() {
307
+ this.activeIndex = -1;
308
+ this.$active.removeClass('active');
309
+ }
310
+
311
+ /**
312
+ * Reset autocomplete elements
313
+ */
314
+ _resetAutocomplete() {
315
+ $(this.container).empty();
316
+ this._resetCurrentElement();
317
+ this.oldVal = null;
318
+ this.isOpen = false;
319
+ this._mousedown = false;
320
+ }
321
+
322
+ /**
323
+ * Select autocomplete option
324
+ * @param {Element} el Autocomplete option list item element
325
+ */
326
+ selectOption(el) {
327
+ let text = el.text().trim();
328
+ this.el.value = text;
329
+ this.$el.trigger('change');
330
+ this._resetAutocomplete();
331
+ this.close();
332
+
333
+ // Handle onAutocomplete callback.
334
+ if (typeof this.options.onAutocomplete === 'function') {
335
+ this.options.onAutocomplete.call(this, text);
336
+ }
337
+ }
338
+
339
+ /**
340
+ * Render dropdown content
341
+ * @param {Object} data data set
342
+ * @param {String} val current input value
343
+ */
344
+ _renderDropdown(data, val) {
345
+ this._resetAutocomplete();
346
+
347
+ let matchingData = [];
348
+
349
+ // Gather all matching data
350
+ for (let key in data) {
351
+ if (data.hasOwnProperty(key) && key.toLowerCase().indexOf(val) !== -1) {
352
+ // Break if past limit
353
+ if (this.count >= this.options.limit) {
354
+ break;
355
+ }
356
+
357
+ let entry = {
358
+ data: data[key],
359
+ key: key
360
+ };
361
+ matchingData.push(entry);
362
+
363
+ this.count++;
364
+ }
365
+ }
366
+
367
+ // Sort
368
+ if (this.options.sortFunction) {
369
+ let sortFunctionBound = (a, b) => {
370
+ return this.options.sortFunction(
371
+ a.key.toLowerCase(),
372
+ b.key.toLowerCase(),
373
+ val.toLowerCase()
374
+ );
375
+ };
376
+ matchingData.sort(sortFunctionBound);
377
+ }
378
+
379
+ // Render
380
+ for (let i = 0; i < matchingData.length; i++) {
381
+ let entry = matchingData[i];
382
+ let $autocompleteOption = $('<li></li>');
383
+ if (!!entry.data) {
384
+ $autocompleteOption.append(
385
+ `<img src="${entry.data}" class="right circle"><span>${entry.key}</span>`
386
+ );
387
+ } else {
388
+ $autocompleteOption.append('<span>' + entry.key + '</span>');
389
+ }
390
+
391
+ $(this.container).append($autocompleteOption);
392
+ this._highlight(val, $autocompleteOption);
393
+ }
394
+ }
395
+
396
+ /**
397
+ * Open Autocomplete Dropdown
398
+ */
399
+ open() {
400
+ let val = this.el.value.toLowerCase();
401
+
402
+ this._resetAutocomplete();
403
+
404
+ if (val.length >= this.options.minLength) {
405
+ this.isOpen = true;
406
+ this._renderDropdown(this.options.data, val);
407
+ }
408
+
409
+ // Open dropdown
410
+ if (!this.dropdown.isOpen) {
411
+ this.dropdown.open();
412
+ } else {
413
+ // Recalculate dropdown when its already open
414
+ this.dropdown.recalculateDimensions();
415
+ }
416
+ }
417
+
418
+ /**
419
+ * Close Autocomplete Dropdown
420
+ */
421
+ close() {
422
+ this.dropdown.close();
423
+ }
424
+
425
+ /**
426
+ * Update Data
427
+ * @param {Object} data
428
+ */
429
+ updateData(data) {
430
+ let val = this.el.value.toLowerCase();
431
+ this.options.data = data;
432
+
433
+ if (this.isOpen) {
434
+ this._renderDropdown(data, val);
435
+ }
436
+ }
437
+ }
438
+
439
+ /**
440
+ * @static
441
+ * @memberof Autocomplete
442
+ */
443
+ Autocomplete._keydown = false;
444
+
445
+ M.Autocomplete = Autocomplete;
446
+
447
+ if (M.jQueryLoaded) {
448
+ M.initializeJqueryWrapper(Autocomplete, 'autocomplete', 'M_Autocomplete');
449
+ }
450
+ })(cash);