liftie 3.56.5 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/Makefile +2 -2
  2. package/app.js +33 -25
  3. package/lib/checker.js +1 -1
  4. package/lib/cli/curl.js +8 -8
  5. package/lib/cli/dirs.js +8 -6
  6. package/lib/cli/fetch.js +16 -17
  7. package/lib/cli/for-each-resort.js +4 -11
  8. package/lib/cli/generate.js +11 -11
  9. package/lib/cli/noaa.js +28 -42
  10. package/lib/client/about/index.js +2 -6
  11. package/lib/client/boot/height.js +2 -6
  12. package/lib/client/boot/index.js +8 -11
  13. package/lib/client/boot/service-worker.js +1 -5
  14. package/lib/client/minimax/index.js +1 -3
  15. package/lib/client/resort/dom.js +2 -7
  16. package/lib/client/resort/index.js +7 -10
  17. package/lib/client/resort/lifts.js +4 -5
  18. package/lib/client/resort/snow.js +3 -4
  19. package/lib/client/resort/weather.js +3 -4
  20. package/lib/client/resort/webcams.js +5 -8
  21. package/lib/client/state/index.js +4 -7
  22. package/lib/client/stats/index.js +1 -5
  23. package/lib/client/tag/index.js +1 -3
  24. package/lib/embed/index.js +0 -2
  25. package/lib/lifts/index.js +12 -12
  26. package/lib/lifts/parse.js +5 -5
  27. package/lib/lifts/parser.js +6 -10
  28. package/lib/lifts/pipe.js +3 -3
  29. package/lib/lifts/request.js +1 -3
  30. package/lib/lifts/rest.js +2 -4
  31. package/lib/lifts/stats.js +2 -5
  32. package/lib/loader.js +9 -12
  33. package/lib/loaders.js +7 -8
  34. package/lib/opening.js +6 -5
  35. package/lib/plugins.js +3 -8
  36. package/lib/resorts/3cime/index.js +1 -1
  37. package/lib/resorts/3cime/resort.json +1 -1
  38. package/lib/resorts/49-degrees-north/index.js +1 -1
  39. package/lib/resorts/abasin/index.js +2 -2
  40. package/lib/resorts/alpe-lusia-san-pellegrino/index.js +1 -1
  41. package/lib/resorts/alpe-lusia-san-pellegrino/resort.json +1 -1
  42. package/lib/resorts/alpine/index.js +1 -1
  43. package/lib/resorts/alta/index.js +6 -7
  44. package/lib/resorts/alta-badia/index.js +1 -1
  45. package/lib/resorts/alta-badia/resort.json +1 -1
  46. package/lib/resorts/alyeska/index.js +1 -1
  47. package/lib/resorts/alyeska/resort.json +1 -1
  48. package/lib/resorts/angel-fire/index.js +1 -1
  49. package/lib/resorts/arabba/index.js +1 -1
  50. package/lib/resorts/arabba/resort.json +1 -1
  51. package/lib/resorts/aspen-highlands/index.js +1 -1
  52. package/lib/resorts/aspen-mountain/index.js +1 -1
  53. package/lib/resorts/attitash/index.js +1 -1
  54. package/lib/resorts/attitash/resort.json +1 -1
  55. package/lib/resorts/beavercreek/index.js +1 -1
  56. package/lib/resorts/berkshire-east/index.js +1 -1
  57. package/lib/resorts/big-sky/index.js +1 -1
  58. package/lib/resorts/big-white/index.js +1 -1
  59. package/lib/resorts/big-white/resort.json +1 -1
  60. package/lib/resorts/blue-mountain-pa/index.js +1 -1
  61. package/lib/resorts/bluemountain/index.js +1 -1
  62. package/lib/resorts/bogusbasin/index.js +5 -4
  63. package/lib/resorts/bolton-valley/index.js +2 -3
  64. package/lib/resorts/boreal/index.js +1 -1
  65. package/lib/resorts/breck/index.js +1 -1
  66. package/lib/resorts/brettonwoods/index.js +7 -5
  67. package/lib/resorts/brettonwoods/resort.json +1 -1
  68. package/lib/resorts/brianhead/index.js +1 -1
  69. package/lib/resorts/bridger-bowl/index.js +4 -3
  70. package/lib/resorts/brighton/index.js +1 -1
  71. package/lib/resorts/bromley-mountain/index.js +1 -1
  72. package/lib/resorts/burke-mountain/index.js +1 -1
  73. package/lib/resorts/buttermilk/index.js +1 -1
  74. package/lib/resorts/caberfae-peaks/index.js +1 -1
  75. package/lib/resorts/camelback/index.js +1 -1
  76. package/lib/resorts/campo-felice/index.js +1 -1
  77. package/lib/resorts/campo-felice/resort.json +1 -1
  78. package/lib/resorts/canada-olympic-park/index.js +1 -1
  79. package/lib/resorts/cannon/index.js +1 -1
  80. package/lib/resorts/cannon/resort.json +1 -1
  81. package/lib/resorts/cataloochee/index.js +1 -1
  82. package/lib/resorts/catedral/index.js +1 -1
  83. package/lib/resorts/cervino/index.js +2 -2
  84. package/lib/resorts/chamonix/index.js +2 -2
  85. package/lib/resorts/chamonix/resort.json +1 -1
  86. package/lib/resorts/chinapeak/index.js +1 -1
  87. package/lib/resorts/civetta/index.js +1 -1
  88. package/lib/resorts/civetta/resort.json +1 -1
  89. package/lib/resorts/claviere/index.js +1 -1
  90. package/lib/resorts/copper/index.js +1 -1
  91. package/lib/resorts/coronetpeak/index.js +1 -1
  92. package/lib/resorts/coronetpeak/resort.json +1 -1
  93. package/lib/resorts/cortina-d-ampezzo/index.js +1 -1
  94. package/lib/resorts/cortina-d-ampezzo/resort.json +1 -1
  95. package/lib/resorts/courchevel/index.js +1 -1
  96. package/lib/resorts/courchevel/resort.json +2 -1
  97. package/lib/resorts/cranmore-mountain/index.js +1 -1
  98. package/lib/resorts/cranmore-mountain/resort.json +1 -1
  99. package/lib/resorts/cransmontana/index.js +2 -2
  100. package/lib/resorts/crested-butte/index.js +1 -1
  101. package/lib/resorts/crystal-mountain/index.js +1 -1
  102. package/lib/resorts/cypress-mountain/index.js +1 -1
  103. package/lib/resorts/deer-valley/index.js +1 -1
  104. package/lib/resorts/devils-head/index.js +1 -1
  105. package/lib/resorts/diamondpeak/index.js +1 -1
  106. package/lib/resorts/falls-creek/index.js +5 -3
  107. package/lib/resorts/falls-creek/resort.json +1 -1
  108. package/lib/resorts/flims-laax-falera/index.js +1 -1
  109. package/lib/resorts/flims-laax-falera/resort.json +1 -1
  110. package/lib/resorts/folgaria/index.js +1 -1
  111. package/lib/resorts/folgaria/resort.json +1 -1
  112. package/lib/resorts/folgarida-marilleva/index.js +2 -1
  113. package/lib/resorts/forni/index.js +1 -1
  114. package/lib/resorts/forni/resort.json +1 -1
  115. package/lib/resorts/gore-mountain/index.js +1 -1
  116. package/lib/resorts/grand-targhee/index.js +1 -1
  117. package/lib/resorts/grouse/index.js +1 -1
  118. package/lib/resorts/gunstock/index.js +1 -1
  119. package/lib/resorts/gunstock/resort.json +1 -1
  120. package/lib/resorts/heavenly/index.js +1 -1
  121. package/lib/resorts/hochfuegen/index.js +2 -2
  122. package/lib/resorts/homewood/index.js +1 -1
  123. package/lib/resorts/hoodoo/index.js +1 -1
  124. package/lib/resorts/hunter/index.js +1 -1
  125. package/lib/resorts/ischgl-silvretta-arena/index.js +1 -1
  126. package/lib/resorts/jackson-hole/index.js +5 -3
  127. package/lib/resorts/jay-peak/index.js +1 -1
  128. package/lib/resorts/jiminypeak/index.js +1 -1
  129. package/lib/resorts/june-mountain/index.js +1 -1
  130. package/lib/resorts/keystone/index.js +1 -1
  131. package/lib/resorts/killington/index.js +1 -1
  132. package/lib/resorts/king-pine/index.js +5 -3
  133. package/lib/resorts/king-pine/resort.json +1 -1
  134. package/lib/resorts/kirkwood/index.js +1 -1
  135. package/lib/resorts/kitzbuehel/index.js +1 -1
  136. package/lib/resorts/lamolina/index.js +1 -1
  137. package/lib/resorts/lamolina/resort.json +1 -1
  138. package/lib/resorts/laplagne/index.js +1 -1
  139. package/lib/resorts/laplagne/resort.json +2 -1
  140. package/lib/resorts/larosiere/index.js +1 -1
  141. package/lib/resorts/lavarone/index.js +1 -1
  142. package/lib/resorts/lavarone/resort.json +1 -1
  143. package/lib/resorts/lesarcs/index.js +1 -1
  144. package/lib/resorts/lesmenuires/index.js +1 -1
  145. package/lib/resorts/lesmenuires/resort.json +2 -1
  146. package/lib/resorts/loon/index.js +1 -1
  147. package/lib/resorts/loon/resort.json +1 -1
  148. package/lib/resorts/loveland/index.js +2 -2
  149. package/lib/resorts/mad-river-glen/index.js +2 -2
  150. package/lib/resorts/madonna-di-campiglio/index.js +2 -1
  151. package/lib/resorts/mammoth-lakes/index.js +1 -1
  152. package/lib/resorts/manning-park/index.js +1 -1
  153. package/lib/resorts/manning-park/resort.json +1 -1
  154. package/lib/resorts/megeve/index.js +1 -1
  155. package/lib/resorts/megeve/resort.json +2 -1
  156. package/lib/resorts/meribel/index.js +1 -1
  157. package/lib/resorts/meribel/resort.json +2 -1
  158. package/lib/resorts/monarch/index.js +2 -2
  159. package/lib/resorts/monte-amiata/index.js +1 -1
  160. package/lib/resorts/monte-amiata/resort.json +1 -1
  161. package/lib/resorts/monte-bondone/index.js +1 -1
  162. package/lib/resorts/montegenevre/index.js +1 -1
  163. package/lib/resorts/monterosa/index.js +1 -1
  164. package/lib/resorts/morzine/index.js +1 -1
  165. package/lib/resorts/morzine/resort.json +6 -2
  166. package/lib/resorts/mount-sunapee/index.js +1 -1
  167. package/lib/resorts/mount-sunapee/resort.json +1 -1
  168. package/lib/resorts/mountsnow/index.js +1 -1
  169. package/lib/resorts/mt-buller/index.js +1 -1
  170. package/lib/resorts/mt-hotham/index.js +5 -3
  171. package/lib/resorts/mt-seymour/index.js +1 -1
  172. package/lib/resorts/mt-spokane/index.js +1 -1
  173. package/lib/resorts/mtbachelor/index.js +1 -1
  174. package/lib/resorts/mtbrighton/index.js +1 -1
  175. package/lib/resorts/mthigh/index.js +1 -1
  176. package/lib/resorts/mthood/index.js +1 -1
  177. package/lib/resorts/mtpeter/index.js +1 -1
  178. package/lib/resorts/mtpeter/resort.json +1 -1
  179. package/lib/resorts/mtrose/index.js +1 -1
  180. package/lib/resorts/niseko/index.js +1 -1
  181. package/lib/resorts/niseko/resort.json +1 -1
  182. package/lib/resorts/northstar/index.js +1 -1
  183. package/lib/resorts/okemo/index.js +1 -1
  184. package/lib/resorts/ovindoli/index.js +1 -1
  185. package/lib/resorts/ovindoli/resort.json +1 -1
  186. package/lib/resorts/owlshead/index.js +1 -1
  187. package/lib/resorts/paganella/index.js +1 -1
  188. package/lib/resorts/paganella/resort.json +1 -1
  189. package/lib/resorts/palisades/index.js +1 -1
  190. package/lib/resorts/parkcity/index.js +1 -1
  191. package/lib/resorts/pats-peak/index.js +4 -2
  192. package/lib/resorts/pats-peak/resort.json +1 -1
  193. package/lib/resorts/peio/index.js +2 -2
  194. package/lib/resorts/perisher/index.js +1 -1
  195. package/lib/resorts/perisher/resort.json +1 -1
  196. package/lib/resorts/piancavallo/index.js +1 -1
  197. package/lib/resorts/piancavallo/resort.json +1 -1
  198. package/lib/resorts/pico/index.js +1 -1
  199. package/lib/resorts/pinzolo/index.js +2 -1
  200. package/lib/resorts/plan-de-corones/index.js +1 -1
  201. package/lib/resorts/plan-de-corones/resort.json +1 -1
  202. package/lib/resorts/pleasant-mountain/index.js +1 -1
  203. package/lib/resorts/pleasant-mountain/resort.json +1 -1
  204. package/lib/resorts/pontedilegno-tonale/index.js +1 -1
  205. package/lib/resorts/ragged-mountain/index.js +1 -1
  206. package/lib/resorts/ragged-mountain/resort.json +1 -1
  207. package/lib/resorts/ravascletto-zoncolan/index.js +1 -1
  208. package/lib/resorts/ravascletto-zoncolan/resort.json +1 -1
  209. package/lib/resorts/red-lodge-mountain/index.js +1 -1
  210. package/lib/resorts/red-mountain/index.js +2 -3
  211. package/lib/resorts/rio-pusteria-bressanone/index.js +1 -1
  212. package/lib/resorts/rio-pusteria-bressanone/resort.json +1 -1
  213. package/lib/resorts/roccaraso/index.js +1 -1
  214. package/lib/resorts/roccaraso/resort.json +1 -1
  215. package/lib/resorts/saddleback/index.js +1 -1
  216. package/lib/resorts/saddleback/resort.json +1 -1
  217. package/lib/resorts/san-martino-di-castrozza-passo-rolle/index.js +1 -1
  218. package/lib/resorts/san-martino-di-castrozza-passo-rolle/resort.json +1 -1
  219. package/lib/resorts/sansicario/index.js +1 -1
  220. package/lib/resorts/sappada/index.js +1 -1
  221. package/lib/resorts/sappada/resort.json +1 -1
  222. package/lib/resorts/sasquatch-mountain/index.js +1 -1
  223. package/lib/resorts/sauris/index.js +1 -1
  224. package/lib/resorts/sauris/resort.json +1 -1
  225. package/lib/resorts/sauze/index.js +1 -1
  226. package/lib/resorts/schweitzer/index.js +1 -1
  227. package/lib/resorts/sella/index.js +1 -1
  228. package/lib/resorts/sella/resort.json +1 -1
  229. package/lib/resorts/serfaus-fiss-ladis/index.js +1 -1
  230. package/lib/resorts/sestriere/index.js +1 -1
  231. package/lib/resorts/sestriere/resort.json +1 -1
  232. package/lib/resorts/shawnee-mountain/index.js +4 -2
  233. package/lib/resorts/sierra/index.js +1 -1
  234. package/lib/resorts/silver-star/index.js +2 -2
  235. package/lib/resorts/skiwelt/index.js +1 -1
  236. package/lib/resorts/smuggs/index.js +1 -1
  237. package/lib/resorts/snow-valley/index.js +2 -2
  238. package/lib/resorts/snowbasin/index.js +1 -1
  239. package/lib/resorts/snowbird/index.js +2 -3
  240. package/lib/resorts/snowmass/index.js +1 -1
  241. package/lib/resorts/snowshoe/index.js +1 -1
  242. package/lib/resorts/soelden/index.js +1 -1
  243. package/lib/resorts/solitude/index.js +1 -1
  244. package/lib/resorts/st-anton-am-arlberg/index.js +1 -1
  245. package/lib/resorts/steamboat/index.js +1 -1
  246. package/lib/resorts/stevens/index.js +1 -1
  247. package/lib/resorts/stowe/index.js +1 -1
  248. package/lib/resorts/stratton/index.js +1 -1
  249. package/lib/resorts/sugarbowl/index.js +1 -1
  250. package/lib/resorts/sugarbush/index.js +1 -1
  251. package/lib/resorts/sugarloaf/index.js +1 -1
  252. package/lib/resorts/sugarloaf/resort.json +1 -1
  253. package/lib/resorts/sun-peaks/index.js +1 -1
  254. package/lib/resorts/sun-peaks/resort.json +1 -1
  255. package/lib/resorts/sunday-river/index.js +1 -1
  256. package/lib/resorts/sunday-river/resort.json +1 -1
  257. package/lib/resorts/sunshine-village/index.js +6 -3
  258. package/lib/resorts/sunvalley/index.js +1 -1
  259. package/lib/resorts/tahoe-donner/index.js +1 -1
  260. package/lib/resorts/taos/index.js +1 -1
  261. package/lib/resorts/tarvisio/index.js +1 -1
  262. package/lib/resorts/tarvisio/resort.json +1 -1
  263. package/lib/resorts/telluride/index.js +1 -1
  264. package/lib/resorts/thredbo/index.js +1 -1
  265. package/lib/resorts/tignes/index.js +1 -1
  266. package/lib/resorts/tignes/resort.json +1 -1
  267. package/lib/resorts/timberline-lodge/index.js +1 -1
  268. package/lib/resorts/tremblant/index.js +1 -1
  269. package/lib/resorts/vail/index.js +1 -1
  270. package/lib/resorts/val-di-fassa/index.js +1 -1
  271. package/lib/resorts/val-di-fassa/resort.json +1 -1
  272. package/lib/resorts/val-di-fiemme/index.js +1 -1
  273. package/lib/resorts/val-di-fiemme/resort.json +1 -1
  274. package/lib/resorts/val-gardena/index.js +1 -1
  275. package/lib/resorts/val-gardena/resort.json +1 -1
  276. package/lib/resorts/valdisere/index.js +1 -1
  277. package/lib/resorts/valdisere/resort.json +1 -1
  278. package/lib/resorts/verbier/index.js +1 -1
  279. package/lib/resorts/waterville/index.js +1 -1
  280. package/lib/resorts/waterville/resort.json +1 -1
  281. package/lib/resorts/whistler-blackcomb/index.js +2 -2
  282. package/lib/resorts/whistler-blackcomb/resort.json +1 -1
  283. package/lib/resorts/whiteface/index.js +1 -1
  284. package/lib/resorts/whitefish/index.js +1 -1
  285. package/lib/resorts/wildcat/index.js +1 -1
  286. package/lib/resorts/wildcat/resort.json +1 -1
  287. package/lib/resorts/windham/index.js +1 -1
  288. package/lib/resorts/winter-park/index.js +1 -1
  289. package/lib/resorts/winterplace/index.js +1 -1
  290. package/lib/routes/cache.js +4 -4
  291. package/lib/routes/canonical.js +1 -3
  292. package/lib/routes/data.js +10 -12
  293. package/lib/routes/database.js +6 -7
  294. package/lib/routes/headers.js +2 -2
  295. package/lib/routes/index.js +9 -11
  296. package/lib/routes/plan.js +2 -4
  297. package/lib/routes/service-worker.js +6 -7
  298. package/lib/routes/sorter.js +2 -4
  299. package/lib/routes/tags.js +2 -4
  300. package/lib/select.js +3 -5
  301. package/lib/tools/aspen.js +4 -4
  302. package/lib/tools/boyne.js +4 -4
  303. package/lib/tools/campiglio-dolomiti.js +1 -1
  304. package/lib/tools/coerce.js +4 -4
  305. package/lib/tools/dolomitisuperski.js +1 -1
  306. package/lib/tools/domutil.js +11 -18
  307. package/lib/tools/infosnow.js +6 -6
  308. package/lib/tools/intrawest.js +3 -3
  309. package/lib/tools/limiter.js +2 -4
  310. package/lib/tools/lumiplan.js +2 -2
  311. package/lib/tools/millis.js +4 -11
  312. package/lib/tools/powdr.js +4 -4
  313. package/lib/tools/prism.js +5 -5
  314. package/lib/tools/skiplan.js +1 -1
  315. package/lib/tools/turismofvg.js +2 -2
  316. package/lib/tools/vail.js +8 -10
  317. package/lib/tools/vialattea.js +1 -1
  318. package/lib/weather/icons.js +3 -8
  319. package/lib/weather/index.js +5 -6
  320. package/lib/weather/noaa.js +5 -3
  321. package/lib/weather/openweather.js +6 -7
  322. package/lib/webcams.js +6 -6
  323. package/package.json +4 -3
  324. package/public/scripts/liftie-embed.js +41 -0
  325. package/public/scripts/liftie-embed.js.map +7 -0
  326. package/public/scripts/liftie.js +1561 -0
  327. package/public/scripts/liftie.js.map +7 -0
  328. package/public/stylesheets/style.css +864 -0
  329. package/public/stylesheets/style.mix.css +0 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../node_modules/.pnpm/transform-property@0.0.1/node_modules/transform-property/index.js", "../../node_modules/.pnpm/has-translate3d@0.0.3/node_modules/has-translate3d/index.js", "../../node_modules/.pnpm/component-emitter@1.3.1/node_modules/component-emitter/index.js", "../../node_modules/.pnpm/@pirxpilot+events@1.0.1/node_modules/@pirxpilot/events/index.js", "../../node_modules/.pnpm/@pirxpilot+swipe@2.0.2/node_modules/@pirxpilot/swipe/index.js", "../../node_modules/.pnpm/el-component@1.0.1/node_modules/el-component/index.js", "../../node_modules/.pnpm/tiny-pager@1.0.0/node_modules/tiny-pager/index.js", "../../node_modules/.pnpm/yields-keycode@1.1.0/node_modules/yields-keycode/index.js", "../../node_modules/.pnpm/yields-k-sequence@0.1.0/node_modules/yields-k-sequence/index.js", "../../node_modules/.pnpm/component-os@0.0.1/node_modules/component-os/index.js", "../../node_modules/.pnpm/@pirxpilot+k@1.0.1/node_modules/@pirxpilot/k/lib/proto.js", "../../node_modules/.pnpm/@pirxpilot+k@1.0.1/node_modules/@pirxpilot/k/lib/index.js", "../../node_modules/.pnpm/debounce@2.2.0/node_modules/debounce/index.js", "../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-cookie/dist/js.cookie.mjs", "../../lib/client/about/index.js", "../../lib/client/minimax/index.js", "../../lib/client/resort/dom.js", "../../lib/client/resort/lifts.js", "../../lib/client/resort/snow.js", "../../lib/client/resort/weather.js", "../../lib/client/resort/webcams.js", "../../lib/client/resort/index.js", "../../lib/client/state/index.js", "../../lib/client/stats/index.js", "../../lib/client/tag/index.js", "../../lib/client/boot/height.js", "../../lib/client/boot/service-worker.js", "../../lib/client/boot/index.js"],
4
+ "sourcesContent": ["\nvar styles = [\n 'webkitTransform',\n 'MozTransform',\n 'msTransform',\n 'OTransform',\n 'transform'\n];\n\nvar el = document.createElement('p');\nvar style;\n\nfor (var i = 0; i < styles.length; i++) {\n style = styles[i];\n if (null != el.style[style]) {\n module.exports = style;\n break;\n }\n}\n", "\nvar prop = require('transform-property');\n\n// IE <=8 doesn't have `getComputedStyle`\nif (!prop || !window.getComputedStyle) {\n module.exports = false;\n\n} else {\n var map = {\n webkitTransform: '-webkit-transform',\n OTransform: '-o-transform',\n msTransform: '-ms-transform',\n MozTransform: '-moz-transform',\n transform: 'transform'\n };\n\n // from: https://gist.github.com/lorenzopolidori/3794226\n var el = document.createElement('div');\n el.style[prop] = 'translate3d(1px,1px,1px)';\n document.body.insertBefore(el, null);\n var val = getComputedStyle(el).getPropertyValue(map[prop]);\n document.body.removeChild(el);\n module.exports = null != val && val.length && 'none' != val;\n}\n", "\n/**\n * Expose `Emitter`.\n */\n\nif (typeof module !== 'undefined') {\n module.exports = Emitter;\n}\n\n/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nfunction Emitter(obj) {\n if (obj) return mixin(obj);\n};\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n", "module.exports = events;\n\nfunction events(el, obj) {\n var handlers = {};\n\n function bind(name, handler, opts) {\n if (!handler) {\n handler = name;\n }\n if (typeof(handler) === 'string') {\n handler = obj[handler].bind(obj);\n }\n el.addEventListener(name, handler, opts);\n handlers[name] = {\n handler: handler,\n opts: opts\n };\n }\n\n function do_unbind(name) {\n var h = handlers[name];\n if (!h) { return; }\n el.removeEventListener(name, h.handler, h.opts);\n delete handlers[name];\n }\n\n function unbind(name) {\n if (!name) { return unbindAll(); }\n do_unbind(name);\n }\n\n function unbindAll() {\n Object.keys(handlers).forEach(do_unbind);\n }\n\n return {\n bind: bind,\n unbind: unbind\n };\n}\n", "\n/**\n * Module dependencies.\n */\n\nvar has3d = require('has-translate3d');\nvar Emitter = require('emitter');\nvar events = require('@pirxpilot/events');\nvar min = Math.min;\nvar max = Math.max;\n\n/**\n * Expose `Swipe`.\n */\n\nmodule.exports = Swipe;\n\n/**\n * Turn `el` into a swipeable list.\n *\n * @param {Element} el\n * @api public\n */\n\nfunction Swipe(el) {\n if (!(this instanceof Swipe)) return new Swipe(el);\n if (!el) throw new TypeError('Swipe() requires an element');\n this.child = el.children[0];\n this.touchAction('none');\n this.currentEl = this.children().visible[0];\n this.currentVisible = 0;\n this.current = 0;\n this.el = el;\n this.refresh();\n this.interval(5000);\n this.duration(300);\n this.fastThreshold(200);\n this.threshold(0.5);\n this.show(0, 0, { silent: true });\n this.bind();\n}\n\n/**\n * Mixin `Emitter`.\n */\n\nEmitter(Swipe.prototype);\n\n/**\n * Set the swipe threshold to `n`.\n *\n * This is the factor required for swipe\n * to detect when a slide has passed the\n * given threshold, and may display the next\n * or previous slide. For example the default\n * of `.5` means that the user must swipe _beyond_\n * half of the side width.\n *\n * @param {Number} n\n * @api public\n */\n\nSwipe.prototype.threshold = function(n){\n this._threshold = n;\n};\n\n/**\n * Set the \"fast\" swipe threshold to `ms`.\n *\n * This is the amount of time in milliseconds\n * which determines if a swipe was \"fast\" or not. When\n * the swipe's duration is less than `ms` only 1/10th of\n * the slide's width must be exceeded to display the previous\n * or next slide.\n *\n * @param {Number} n\n * @api public\n */\n\nSwipe.prototype.fastThreshold = function(ms){\n this._fastThreshold = ms;\n};\n\n/**\n * Refresh sizing data.\n *\n * @api public\n */\n\nSwipe.prototype.refresh = function(){\n var children = this.children();\n var visible = children.visible.length;\n var prev = this.visible || visible;\n\n var i = indexOf(children.visible, this.currentEl);\n\n // we removed/added item(s), update current\n if (visible < prev && i <= this.currentVisible && i >= 0) {\n this.currentVisible -= this.currentVisible - i;\n } else if (visible > prev && i > this.currentVisible) {\n this.currentVisible += i - this.currentVisible;\n }\n\n this.visible = visible;\n this.childWidth = this.el.getBoundingClientRect().width;\n this.width = Math.ceil(this.childWidth * visible);\n this.child.style.width = this.width + 'px';\n this.child.style.height = this.height + 'px';\n this.show(this.currentVisible, 0, { silent: true });\n};\n\n/**\n * Bind event handlers.\n *\n * @api public\n */\n\nSwipe.prototype.bind = function(){\n this.events = events(this.child, this);\n this.docEvents = events(document, this);\n\n if ('PointerEvent' in window) {\n // MS IE touch events\n this.events.bind('pointerdown', 'ontouchstart');\n this.events.bind('pointermove', 'ontouchmove');\n this.events.bind('pointerup', 'ontouchend');\n this.events.bind('pointercancel', 'ontouchend');\n } else {\n // standard mouse click events\n this.events.bind('mousedown', 'ontouchstart');\n this.events.bind('mousemove', 'ontouchmove');\n this.docEvents.bind('mouseup', 'ontouchend');\n\n // W3C touch events\n this.events.bind('touchstart', 'ontouchstart');\n this.events.bind('touchmove', 'ontouchmove');\n this.docEvents.bind('touchend', 'ontouchend');\n }\n};\n\n/**\n * Unbind event handlers.\n *\n * @api public\n */\n\nSwipe.prototype.unbind = function(){\n this.events.unbind();\n this.docEvents.unbind();\n};\n\n/**\n * Handle touchstart.\n *\n * @api private\n */\n\nSwipe.prototype.ontouchstart = function(e){\n this.transitionDuration(0);\n this.dx = 0;\n this.updown = null;\n\n if ('PointerEvent' in window) {\n e.target.setPointerCapture(e.pointerId);\n }\n var touch = this.getTouch(e);\n this.down = {\n x: touch.pageX,\n y: touch.pageY,\n at: new Date()\n };\n};\n\n/**\n * Handle touchmove.\n *\n * For the first and last slides\n * we apply some resistence to help\n * indicate that you're at the edges.\n *\n * @api private\n */\n\nSwipe.prototype.ontouchmove = function(e){\n if (!this.down || this.updown) return;\n var touch = this.getTouch(e);\n\n // TODO: ignore more than one finger\n if (!touch) return;\n\n var down = this.down;\n var x = touch.pageX;\n var w = this.childWidth;\n var i = this.currentVisible;\n this.dx = x - down.x;\n\n // determine dy and the slope\n if (null == this.updown) {\n var y = touch.pageY;\n var dy = y - down.y;\n var slope = dy / this.dx;\n\n // if is greater than 1 or -1, we're swiping up/down\n if (slope > 1 || slope < -1) {\n this.updown = true;\n return;\n } else {\n this.updown = false;\n }\n }\n\n e.preventDefault();\n\n var dir = this.dx < 0 ? 1 : 0;\n if (this.isFirst() && 0 === dir) this.dx /= 2;\n if (this.isLast() && 1 === dir) this.dx /= 2;\n this.translate((i * w) + -this.dx);\n};\n\n/**\n * Handle touchend.\n *\n * @api private\n */\n\nSwipe.prototype.ontouchend = function(e){\n e.stopPropagation();\n if (!this.down) return;\n\n if ('PointerEvent' in window) {\n e.target.releasePointerCapture(e.pointerId);\n }\n // setup\n var dx = this.dx;\n var w = this.childWidth;\n\n // < 200ms swipe\n var ms = new Date() - this.down.at;\n var threshold = ms < this._fastThreshold ? w / 10 : w * this._threshold;\n var dir = dx < 0 ? 1 : 0;\n var half = Math.abs(dx) >= threshold;\n\n // clear\n this.down = null;\n\n // first -> next\n if (this.isFirst() && 1 == dir && half) return this.next();\n\n // first -> first\n if (this.isFirst()) return this.prev();\n\n // last -> last\n if (this.isLast() && 1 == dir) return this.next();\n\n // N -> N + 1\n if (1 === dir && half) return this.next();\n\n // N -> N - 1\n if (0 === dir && half) return this.prev();\n\n // N -> N\n this.show(this.currentVisible);\n};\n\n/**\n * Set transition duration to `ms`.\n *\n * @param {Number} ms\n * @return {Swipe} self\n * @api public\n */\n\nSwipe.prototype.duration = function(ms){\n this._duration = ms;\n return this;\n};\n\n/**\n * Set cycle interval to `ms`.\n *\n * @param {Number} ms\n * @return {Swipe} self\n * @api public\n */\n\nSwipe.prototype.interval = function(ms){\n this._interval = ms;\n return this;\n};\n\n/**\n * Play through all the elements.\n *\n * @return {Swipe} self\n * @api public\n */\n\nSwipe.prototype.play = function(){\n if (this.timer) return;\n this.timer = setInterval(this.cycle.bind(this), this._interval);\n return this;\n};\n\n/**\n * Stop playing.\n *\n * @return {Swipe} self\n * @api public\n */\n\nSwipe.prototype.stop = function(){\n clearInterval(this.timer);\n this.timer = null;\n return this;\n};\n\n/**\n * Show the next slide, when the end\n * is reached start from the beginning.\n *\n * @api public\n */\n\nSwipe.prototype.cycle = function(){\n if (this.isLast()) {\n this.currentVisible = -1;\n this.next();\n } else {\n this.next();\n }\n};\n\n/**\n * Check if we're on the first visible slide.\n *\n * @return {Boolean}\n * @api public\n */\n\nSwipe.prototype.isFirst = function(){\n return this.currentVisible === 0;\n};\n\n/**\n * Check if we're on the last visible slide.\n *\n * @return {Boolean}\n * @api public\n */\n\nSwipe.prototype.isLast = function(){\n return this.currentVisible == this.visible - 1;\n};\n\n/**\n * Show the previous slide, if any.\n *\n * @return {Swipe} self\n * @api public\n */\n\nSwipe.prototype.prev = function(){\n this.show(this.currentVisible - 1);\n return this;\n};\n\n/**\n * Show the next slide, if any.\n *\n * @return {Swipe} self\n * @api public\n */\n\nSwipe.prototype.next = function(){\n this.show(this.currentVisible + 1);\n return this;\n};\n\n/**\n * Show slide `i`.\n *\n * Emits `show `event\n *\n * @param {Number} i\n * @return {Swipe} self\n * @api public\n */\n\nSwipe.prototype.show = function(i, ms, options){\n options = options || {};\n if (null == ms) ms = this._duration;\n var self = this;\n var children = this.children();\n i = max(0, min(i, children.visible.length - 1));\n this.currentVisible = i;\n this.currentEl = children.visible[i];\n this.current = indexOf(children.all, this.currentEl);\n this.transitionDuration(ms);\n this.translate(this.childWidth * i);\n\n if (!options.silent) {\n this.emit('showing', this.current, this.currentEl);\n if (!ms) return this;\n this.child.addEventListener('transitionend', function shown() {\n if (self.current == i) self.emit('show', self.current, self.currentEl);\n self.child.removeEventListener('transitionend', shown);\n });\n }\n return this;\n};\n\n/**\n * Return children categorized by visibility.\n *\n * @return {Object}\n * @api private\n */\n\nSwipe.prototype.children = function(){\n var els = this.child.children;\n\n var ret = {\n all: els,\n visible: [],\n hidden: []\n };\n\n for (var i = 0; i < els.length; i++) {\n var el = els[i];\n if (visible(el)) {\n ret.visible.push(el);\n } else {\n ret.hidden.push(el);\n }\n }\n\n return ret;\n};\n\n/**\n * Set transition duration.\n *\n * @api private\n */\n\nSwipe.prototype.transitionDuration = function(ms){\n var s = this.child.style;\n s.transition = ms + 'ms transform';\n};\n\n/**\n * Translate to `x`.\n *\n * TODO: use translate component\n *\n * @api private\n */\n\nSwipe.prototype.translate = function(x){\n var s = this.child.style;\n x = -x;\n if (has3d) {\n s.transform = 'translate3d(' + x + 'px, 0, 0)';\n } else {\n s.transform = 'translateX(' + x + 'px)';\n }\n};\n\n/**\n * Sets the \"touchAction\" CSS style property to `value`.\n *\n * @api private\n */\n\nSwipe.prototype.touchAction = function(value){\n var s = this.child.style;\n s.touchAction = value;\n};\n\n/**\n * Gets the appropriate \"touch\" object for the `e` event. The event may be from\n * a \"mouse\", \"touch\", or \"Pointer\" event, so the normalization happens here.\n *\n * @api private\n */\n\nSwipe.prototype.getTouch = function(e){\n // \"mouse\" and \"Pointer\" events just use the event object itself\n var touch = e;\n if (e.changedTouches && e.changedTouches.length > 0) {\n // W3C \"touch\" events use the `changedTouches` array\n touch = e.changedTouches[0];\n }\n return touch;\n};\n\n/**\n * Return index of `el` in `els`.\n *\n * @param {Array} els\n * @param {Element} el\n * @return {Number}\n * @api private\n */\n\nfunction indexOf(els, el) {\n for (var i = 0; i < els.length; i++) {\n if (els[i] == el) return i;\n }\n return -1;\n}\n\n/**\n * Check if `el` is visible.\n *\n * @param {Element} el\n * @return {Boolean}\n * @api private\n */\n\nfunction visible(el) {\n return getComputedStyle(el).display != 'none';\n}\n", "// see: http://www.w3.org/html/wg/drafts/html/master/single-page.html#void-elements\nvar voids = [\n 'area', 'base', 'br', 'col', 'embed',\n 'hr', 'img', 'input', 'keygen', 'link',\n 'menuitem', 'meta', 'param', 'source', 'track', 'wbr'\n].reduce(function(o, v) {\n o[v] = true;\n return o;\n}, Object.create(null));\n\nfunction htmlTag(tag, content, attrStr) {\n var text = ['<',\n tag,\n attrStr ? ' ' + attrStr : '',\n '>'\n ];\n if(!voids[tag]) {\n text = text.concat([\n content || '',\n '</',\n tag,\n '>'\n ]);\n }\n return text;\n}\n\nfunction xmlTag(tag, content, attrStr) {\n var text = ['<',\n tag,\n attrStr ? ' ' + attrStr : '',\n ];\n if (!content || !content.length) {\n text.push('/>');\n } else {\n text = text.concat([\n '>',\n content,\n '</',\n tag,\n '>'\n ]);\n }\n return text;\n}\n\nfunction toStr(tagFn, tag, content, attrs) {\n var attrStr, classes, ids;\n\n if (typeof content !== 'string') {\n attrs = content;\n content = '';\n }\n\n tag = tag || '';\n attrs = attrs || {};\n\n classes = tag.split('.');\n tag = classes.shift() || 'div';\n if (classes.length) {\n classes = classes.join(' ');\n if (attrs['class']) {\n attrs['class'] += ' ' + classes;\n } else {\n attrs['class'] = classes;\n }\n }\n ids = tag.split('#');\n if (ids.length > 1) {\n tag = ids[0] || 'div';\n attrs.id = ids[1];\n }\n\n attrStr = Object.keys(attrs).map(function(attr) {\n return attr + '=\"' + attrs[attr] + '\"';\n }).join(' ');\n\n return tagFn(tag, content, attrStr).join('');\n}\n\nmodule.exports = toStr.bind(null, htmlTag);\nmodule.exports.xml = toStr.bind(null, xmlTag);", "var Emitter = require('emitter');\nvar el = require('el');\n\nmodule.exports = Pager;\n\nfunction Pager(el) {\n if (!(this instanceof Pager)) {\n return new Pager(el);\n }\n this._total = 0;\n this._current = 0;\n this.el = el;\n el.addEventListener('click', this.onclick.bind(this));\n}\n\nEmitter(Pager.prototype);\n\n\nPager.prototype.total = function total(t) {\n this._total = t;\n return this;\n};\n\nPager.prototype.onclick = function onclick(e) {\n var page, target = e.target || e.srcElement;\n page = Array.prototype.indexOf.call(this.el.children, target);\n if (page < 0) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n this.select(page);\n};\n\nPager.prototype.select = function select(page, opts) {\n var silent = opts && opts.silent;\n if (page === this._current) {\n return;\n }\n Array.prototype.forEach.call(this.el.children, function(a, i) {\n a.className = (i == page) ? 'active' : 'inactive';\n });\n this._current = page;\n if (!silent) {\n this.emit('show', this._current);\n }\n return this;\n};\n\nPager.prototype.render = function render() {\n var i, html = [];\n for(i = 0; i < this._total; i++) {\n html.push(i !== this._current ? 'a.inactive' : 'a.active');\n }\n this.el.innerHTML = html.map(function(item) {\n return el(item);\n }).join('');\n return this;\n};\n\n\n\n\n\n\n\n\n", "\n/**\n * map\n */\n\nvar map = {\n backspace: 8\n , command: 91\n , tab: 9\n , clear: 12\n , enter: 13\n , shift: 16\n , ctrl: 17\n , alt: 18\n , capslock: 20\n , escape: 27\n , esc: 27\n , space: 32\n , pageup: 33\n , pagedown: 34\n , end: 35\n , home: 36\n , left: 37\n , up: 38\n , right: 39\n , down: 40\n , del: 46\n , comma: 188\n , f1: 112\n , f2: 113\n , f3: 114\n , f4: 115\n , f5: 116\n , f6: 117\n , f7: 118\n , f8: 119\n , f9: 120\n , f10: 121\n , f11: 122\n , f12: 123\n , ',': 188\n , '.': 190\n , '/': 191\n , '`': 192\n , '-': 189\n , '=': 187\n , ';': 186\n , '[': 219\n , '\\\\': 220\n , ']': 221\n , '\\'': 222\n};\n\n/**\n * find a keycode.\n *\n * @param {String} name\n * @return {Number}\n */\n\nmodule.exports = function(name){\n return map[name.toLowerCase()] || name.toUpperCase().charCodeAt(0);\n};\n", "\n/**\n * dependencies\n */\n\nvar keycode = require('keycode');\n\n/**\n * Export `sequence`\n */\n\nmodule.exports = sequence;\n\n/**\n * Create sequence fn with `keys`.\n * optional `ms` which defaults\n * to `500ms` and `fn`.\n *\n * Example:\n *\n * seq = sequence('a b c', fn);\n * el.addEventListener('keydown', seq);\n *\n * @param {String} keys\n * @param {Number} ms\n * @param {Function} fn\n * @return {Function}\n * @api public\n */\n\nfunction sequence(keys, ms, fn){\n var codes = keys.split(/ +/).map(keycode)\n , clen = codes.length\n , seq = []\n , i = 0\n , prev;\n\n if (2 == arguments.length) {\n fn = ms;\n ms = 500;\n }\n\n return function(e){\n var code = codes[i++];\n if (42 != code && code != e.which) return reset();\n if (prev && new Date - prev > ms) return reset();\n var len = seq.push(e.which);\n prev = new Date;\n if (len != clen) return;\n reset();\n fn(e);\n };\n\n function reset(){\n prev = null;\n seq = [];\n i = 0;\n }\n};\n", "\n\nmodule.exports = os();\n\nfunction os() {\n var ua = navigator.userAgent;\n if (/mac/i.test(ua)) return 'mac';\n if (/win/i.test(ua)) return 'windows';\n if (/linux/i.test(ua)) return 'linux';\n}\n", "\n/**\n * Module Dependencies.\n */\n\nvar sequence = require('yields-k-sequence');\nvar keycode = require('yields-keycode');\nvar os = require('component-os');\n\n/**\n * modifiers.\n */\n\nvar modifiers = {\n 224: 'command',\n 91: 'command',\n 93: 'command',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt'\n};\n\n/**\n * Super key.\n * (must use subscript vs. dot notation to avoid issues with older browsers)\n */\n\nexports['super'] = 'mac' == os\n ? 'command'\n : 'ctrl';\n\n/**\n * Handle the given `KeyboardEvent` or bind\n * a new `keys` handler.\n *\n * @param {String|KeyboardEvent} e\n * @param {Function} fn\n * @api private\n */\n\nexports.handle = function(e, fn){\n var ignore = this.ignore;\n var event = e.type;\n var code = e.which;\n\n // bind\n if (fn) return this.bind(e, fn);\n\n // modifiers\n var mod = modifiers[code];\n if ('keydown' == event && mod) {\n this['super'] = exports['super'] == mod;\n this[mod] = true;\n this.modifiers = true;\n this.active++;\n return;\n }\n\n // ignore\n if (ignore && ignore(e)) return;\n\n // listeners\n var all = this.listeners;\n\n // match\n for (var i = 0; i < all.length; ++i) {\n var invoke = true;\n var obj = all[i];\n var seq = obj.seq;\n var mods = obj.mods;\n fn = seq || obj.fn;\n\n if (!seq && code != obj.code) continue;\n if (event != obj.event) continue;\n if (this.active != obj.mods.length) continue;\n\n for (var j = 0; j < mods.length; ++j) {\n if (!this[mods[j]]) {\n invoke = null;\n break;\n }\n }\n\n if (invoke) {\n fn(e);\n }\n }\n};\n\n/**\n * Destroy this `k` dispatcher instance.\n *\n * @api public\n */\n\nexports.destroy = function(){\n this.el.removeEventListener('keydown', this._handle);\n this.el.removeEventListener('keyup', this._handle);\n this.el.removeEventListener('keyup', this._clear);\n this.el.removeEventListener('focus', this._clear);\n this.listeners = [];\n};\n\n/**\n * Unbind the given `keys` with optional `fn`.\n *\n * Example:\n *\n * k.unbind('enter, tab', myListener); // unbind `myListener` from `enter, tab` keys\n * k.unbind('enter, tab'); // unbind all `enter, tab` listeners\n * k.unbind(); // unbind all listeners\n *\n * @param {String} keys\n * @param {Function} fn\n * @return {k}\n * @api public\n */\n\nexports.unbind = function(keys, fn){\n var fns = this.listeners;\n var len = fns.length;\n var all;\n\n // unbind all\n if (0 === arguments.length) {\n this.listeners = [];\n return this;\n }\n\n // parse\n all = parseKeys(keys);\n\n // unbind\n for (var i = 0; i < all.length; ++i) {\n for (var j = 0, obj; j < len; ++j) {\n obj = fns[j];\n if (!obj) continue;\n if (fn && obj.fn != fn) continue;\n if (obj.key != all[i].key) continue;\n if (!matches(obj, all[i])) continue;\n fns.splice(j--, 1);\n }\n }\n\n return this;\n};\n\n/**\n * Bind the given `keys` to `fn` with optional `event`\n *\n * Example:\n *\n * k.bind('shift + tab, ctrl + a', function(e){});\n *\n * @param {String} event\n * @param {String} keys\n * @param {Function} fn\n * @return {k}\n * @api public\n */\n\nexports.bind = function(event, keys, fn){\n var fns = this.listeners;\n var len;\n var all;\n\n if (2 == arguments.length) {\n fn = keys;\n keys = event;\n event = 'keydown';\n }\n\n all = parseKeys(keys);\n len = all.length;\n\n for (var i = 0; i < len; ++i) {\n var obj = all[i];\n obj.seq = obj.seq && sequence(obj.key, fn);\n obj.event = event;\n obj.fn = fn;\n fns.push(obj);\n }\n\n return this;\n};\n\n/**\n * Bind keyup with `keys` and `fn`.\n *\n * @param {String} keys\n * @param {Function} fn\n * @return {k}\n * @api public\n */\n\nexports.up = function(keys, fn){\n return this.bind('keyup', keys, fn);\n};\n\n/**\n * Bind keydown with `keys` and `fn`.\n *\n * @param {String} keys\n * @param {Function} fn\n * @return {k}\n * @api public\n */\n\nexports.down = function(keys, fn){\n return this.bind('keydown', keys, fn);\n};\n\n/**\n * Clear all modifiers on `keyup`.\n *\n * @api private\n */\n\nexports.clear = function(e){\n var code = e.keyCode || e.which;\n if (!(code in modifiers)) return;\n this.active--;\n this[modifiers[code]] = null;\n this.modifiers = this.command\n || this.shift\n || this.ctrl\n || this.alt;\n};\n\n/**\n * Clear all modifiers on `focus`.\n *\n * @api private\n */\n\nexports.reset = function(){\n this.active = 0;\n this.modifiers =\n this.command =\n this.shift =\n this.ctrl =\n this.alt = null;\n};\n\n/**\n * Ignore all input elements by default.\n *\n * @param {Event} e\n * @return {Boolean}\n * @api private\n */\n\nexports.ignore = function(e){\n var el = e.target || e.srcElement;\n var name = el.tagName.toLowerCase();\n return 'textarea' == name\n || 'select' == name\n || 'input' == name;\n};\n\n/**\n * Parse the given `keys`.\n *\n * @param {String} keys\n * @return {Array}\n * @api private\n */\n\nfunction parseKeys(keys){\n keys = keys.replace('super', exports['super']);\n\n var all = ',' != keys\n ? keys.split(/ *, */)\n : [','];\n\n var ret = [];\n for (var i = 0; i < all.length; ++i) {\n if ('' === all[i]) continue;\n var mods = all[i].split(/ *\\+ */);\n var key = mods.pop() || ',';\n\n ret.push({\n seq: !! (~key.indexOf(' ') || ~key.indexOf('*')),\n code: keycode(key),\n mods: mods,\n key: key\n });\n }\n\n return ret;\n}\n\n/**\n * Check if the given `a` matches `b`.\n *\n * @param {Object} a\n * @param {Object} b\n * @return {Boolean}\n * @api private\n */\n\nfunction matches(a, b){\n return 0 === b.mods.length || eql(a, b);\n}\n\n/**\n * Shallow eql util.\n *\n * TODO: move to yields/eql\n *\n * @param {Array} a\n * @param {Array} b\n * @return {Boolean}\n * @api private\n */\n\nfunction eql(a, b){\n a = a.mods.sort().toString();\n b = b.mods.sort().toString();\n return a == b;\n}\n", "\n/**\n * Module Dependencies.\n */\n\nvar proto = require('./proto');\n\n/**\n * Create a new dispatcher with `el`.\n *\n * example:\n *\n * var k = require('k')(window);\n * k('shift + tab', function(){});\n *\n * @param {Element} el\n * @return {Function}\n * @api public\n */\n\nmodule.exports = function(el){\n function k(e, fn){ k.handle(e, fn); }\n k._handle = proto.handle.bind(k);\n k._clear = proto.clear.bind(k);\n k._reset = proto.reset.bind(k);\n el.addEventListener('keydown', k._handle, false);\n el.addEventListener('keyup', k._handle, false);\n el.addEventListener('keyup', k._clear, false);\n el.addEventListener('focus', k._reset, false);\n for (var p in proto) k[p] = proto[p];\n k.listeners = [];\n k.active = 0;\n k.el = el;\n return k;\n};\n", "function debounce(function_, wait = 100, options = {}) {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError(`Expected the first parameter to be a function, got \\`${typeof function_}\\`.`);\n\t}\n\n\tif (wait < 0) {\n\t\tthrow new RangeError('`wait` must not be negative.');\n\t}\n\n\t// TODO: Deprecate the boolean parameter at some point.\n\tconst {immediate} = typeof options === 'boolean' ? {immediate: options} : options;\n\n\tlet storedContext;\n\tlet storedArguments;\n\tlet timeoutId;\n\tlet timestamp;\n\tlet result;\n\n\tfunction run() {\n\t\tconst callContext = storedContext;\n\t\tconst callArguments = storedArguments;\n\t\tstoredContext = undefined;\n\t\tstoredArguments = undefined;\n\t\tresult = function_.apply(callContext, callArguments);\n\t\treturn result;\n\t}\n\n\tfunction later() {\n\t\tconst last = Date.now() - timestamp;\n\n\t\tif (last < wait && last >= 0) {\n\t\t\ttimeoutId = setTimeout(later, wait - last);\n\t\t} else {\n\t\t\ttimeoutId = undefined;\n\n\t\t\tif (!immediate) {\n\t\t\t\tresult = run();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst debounced = function (...arguments_) {\n\t\tif (\n\t\t\tstoredContext\n\t\t\t&& this !== storedContext\n\t\t\t&& Object.getPrototypeOf(this) === Object.getPrototypeOf(storedContext)\n\t\t) {\n\t\t\tthrow new Error('Debounced method called with different contexts of the same prototype.');\n\t\t}\n\n\t\tstoredContext = this; // eslint-disable-line unicorn/no-this-assignment\n\t\tstoredArguments = arguments_;\n\t\ttimestamp = Date.now();\n\n\t\tconst callNow = immediate && !timeoutId;\n\n\t\tif (!timeoutId) {\n\t\t\ttimeoutId = setTimeout(later, wait);\n\t\t}\n\n\t\tif (callNow) {\n\t\t\tresult = run();\n\t\t}\n\n\t\treturn result;\n\t};\n\n\tObject.defineProperty(debounced, 'isPending', {\n\t\tget() {\n\t\t\treturn timeoutId !== undefined;\n\t\t},\n\t});\n\n\tdebounced.clear = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout(timeoutId);\n\t\ttimeoutId = undefined;\n\t};\n\n\tdebounced.flush = () => {\n\t\tif (!timeoutId) {\n\t\t\treturn;\n\t\t}\n\n\t\tdebounced.trigger();\n\t};\n\n\tdebounced.trigger = () => {\n\t\tresult = run();\n\n\t\tdebounced.clear();\n\t};\n\n\treturn debounced;\n}\n\n// Adds compatibility for ES modules\nmodule.exports.debounce = debounce;\n\nmodule.exports = debounce;\n", "/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n", "import cookie from 'js-cookie';\n\nexport default function about() {\n const s = document.querySelector('.hidden .about');\n if (!s) {\n // no hidden 'about' section - nothing to do\n return;\n }\n if (!check()) {\n // we already have a cookie\n return;\n }\n const section = s.parentNode;\n const trigger = s.querySelector('a.close');\n trigger.addEventListener('click', e => {\n close();\n e.preventDefault();\n });\n open();\n\n function check() {\n return window.parent === window && typeof cookie.get('resorts-open') === 'undefined';\n }\n\n function close() {\n section.classList.add('hidden');\n }\n\n function open() {\n section.classList.remove('hidden');\n }\n}\n", "/**\n * @param {Array} elements list of affected element\n * @param {Element} trigger button|link that flips min, max state\n */\nexport default function minimax(node, selector) {\n const my = {\n trigger: node.querySelector(selector),\n state: 'open', // by default trigger 'open' state\n fn() {}\n };\n\n const self = {\n state,\n on\n };\n\n function onclick(e) {\n e.preventDefault();\n const state = node.classList.toggle(my.state);\n my.fn.call(null, state);\n }\n\n function state(s) {\n my.state = s;\n return self;\n }\n\n function on(fn) {\n my.fn = fn;\n return self;\n }\n\n if (my.trigger) {\n my.trigger.addEventListener('click', onclick);\n }\n\n return self;\n}\n", "export function removeAllChildren(node) {\n while (node.hasChildNodes()) {\n node.removeChild(node.lastChild);\n }\n}\n\nexport function next({ nextElementSibling, nextSibling }) {\n return nextElementSibling || nextSibling;\n}\n", "import * as dom from './dom.js';\n\nrender.section = 0;\nrender.type = 'lifts';\n\nconst states = ['open', 'hold', 'scheduled', 'closed'];\n\nfunction renderStatus(node, status) {\n dom.removeAllChildren(node);\n if (status) {\n node.innerHTML = Object.keys(status)\n .map(name => {\n const klass = `status ls-${status[name]}`;\n return `<li class=\"lift\"><span class=\"name\">${name}</span><span class=\"${klass}\"></span></li>`;\n })\n .join('');\n }\n}\n\nfunction renderStats(node, stats) {\n states.forEach(s => (node.querySelector(`.ls-${s}`).innerHTML = stats ? stats[s] : 0));\n}\n\nfunction renderColorBar(node, percentage) {\n states.forEach(state => {\n const width = `width:${percentage ? percentage[state] : 25}%;`;\n node.querySelector(`.${state}`).setAttribute('style', width);\n });\n}\n\nexport default function render(node, { status, stats }) {\n renderStatus(node.querySelector('.lifts'), status);\n renderStats(node.querySelector('.summary'), stats);\n renderColorBar(node.querySelector('.summary-color-bar'), stats.percentage);\n}\n", "const day = 24 * 60 * 60 * 1000;\n\nrender.section = 1;\nrender.type = 'snow';\n\n// .snow\n// .snowfall= resort.snow.snowfall\n// .depth= resort.snow.depth\n// .condition= resort.snow.condition\n// .notice= resort.snow.notice\n\nfunction renderField(div, field, snow) {\n const el = div.querySelector(`.${field}`);\n const value = snow[field];\n el.querySelector('.value').innerHTML = value || '';\n el.classList.toggle('hidden', !value);\n}\n\nexport default function render(div, snow) {\n if (Date.now() - snow.timestamp > day) {\n return false;\n }\n renderField(div, 'snowfall', snow);\n renderField(div, 'depth', snow);\n renderField(div, 'condition', snow);\n div.querySelector('.notice').innerHTML = snow.notice || '';\n return true;\n}\n", "const day = 24 * 60 * 60 * 1000;\n\nrender.section = 1;\nrender.type = 'weather';\n\n// .weather\n// .weather-icon\n// ul\n// li(class=#{resort.weather.icon[0]}\n// li(class=#{resort.weather.icon[1]}\n// .snowforecast!= resort.weather.snow + '\"'\n// .temperature!= resort.weather.temperature.max + '&deg;F'\n// .conditions= resort.weather.conditions\n// .text= resort.weather.text\n// .notice Forecast by&nbsp;\n// a(target=\"_blank\")\n// img\n\nfunction renderIcon(li, icon) {\n if (Array.isArray(icon)) {\n icon.forEach((cl, i) => li.item(i).setAttribute('class', cl));\n }\n}\n\nfunction renderNotice(el, notice) {\n if (!notice) {\n return el.classList.add('hidden');\n }\n el.classList.remove('hidden');\n el = el.querySelector('a');\n el.setAttribute('href', notice.href);\n el.setAttribute('title', `Go to ${notice.site}`);\n el = el.querySelector('img');\n el.setAttribute('src', notice.img);\n el.setAttribute('style', `width:${notice.width}px;`);\n el.setAttribute('alt', notice.site);\n}\n\nexport default function render(div, weather) {\n if (Date.now() - weather.timestamp > day) {\n return false;\n }\n renderIcon(div.querySelectorAll('.weather-icon > ul > li'), weather.icon);\n div.querySelector('.temperature').innerHTML = `${weather.temperature.max}&deg;F`;\n const snowforecast = div.querySelector('.snowforecast');\n snowforecast.classList.toggle('hidden', !weather.snow);\n if (weather.snow) {\n snowforecast.innerHTML = `${weather.snow}\"`;\n }\n div.querySelector('.conditions').innerHTML = weather.conditions;\n div.querySelector('.text').innerHTML = weather.text;\n renderNotice(div.querySelector('.notice'), weather.notice);\n return true;\n}\n", "import swipe from '@pirxpilot/swipe';\nimport pager from 'tiny-pager';\n\nrender.section = 1;\nrender.type = 'webcams';\n\nconst DELAY = 15 * 60 * 1000; // update every 15 minutes\n\nfunction swiper(el) {\n const ui = {\n swipe: swipe(el.swipe),\n pager: pager(el.pager)\n };\n\n function refresh(count) {\n ui.swipe.refresh();\n ui.pager.total(count).render();\n\n // hide/show pager\n el.pager.classList.toggle('hidden', count < 2);\n }\n\n function current() {\n return ui.swipe.currentVisible;\n }\n\n ui.pager.on('show', n => {\n ui.swipe.show(n, null, {\n silent: true\n });\n });\n ui.swipe.on('show', n => {\n ui.pager.select(n, {\n silent: true\n });\n });\n\n return {\n refresh,\n current\n };\n}\n\nexport default function render(div, webcams) {\n let cams;\n let timer;\n let ui;\n\n function refresh() {\n cams.forEach(it => {\n const imgs = it.node.querySelectorAll('img');\n const fn = swap.bind(null, imgs, it);\n for (let i = 0; i < imgs.length; i++) {\n imgs[i].onload = fn;\n }\n imgs[it.inactive].setAttribute('src', imgs[it.active].getAttribute('src'));\n });\n }\n\n // div.webcam\n // a\n // img.active\n // img.inactive\n // .title\n // .notice\n\n function initCam(cam, { source, image, name, notice }) {\n cam.querySelector('a').setAttribute('href', source);\n cam.querySelector('img.active').setAttribute('src', image);\n cam.querySelector('img.inactive').setAttribute('src', '');\n cam.querySelector('.title').innerHTML = name;\n cam.querySelector('.notice').innerHTML = notice || '';\n cams.push({\n node: cam,\n active: 0,\n inactive: 1\n });\n }\n\n function init() {\n if (timer) {\n clearInterval(timer);\n timer = undefined;\n }\n cams = [];\n const ul = div.querySelector('ul');\n const li = ul.querySelectorAll('li');\n webcams.forEach((webcam, i) => {\n let cam;\n if (i < li.length) {\n cam = li[i];\n } else {\n cam = ul.appendChild(li[0].cloneNode(true));\n }\n initCam(cam.querySelector('.webcam'), webcam);\n });\n for (let i = Math.max(1, webcams.length); i < li.length; i++) {\n ul.removeChild(li[i]);\n }\n if (!ui) {\n ui = swiper({\n swipe: div.querySelector('.swipe'),\n pager: div.querySelector('.pager')\n });\n }\n ui.refresh(webcams.length);\n\n if (!cams.length) {\n return false;\n }\n\n timer = setInterval(refresh, DELAY);\n return true;\n }\n\n function swap(imgs, it) {\n it.active = (it.active + 1) % 2;\n it.inactive = (it.inactive + 1) % 2;\n imgs[it.inactive].setAttribute('class', 'inactive');\n imgs[it.active].setAttribute('class', 'active');\n imgs[it.inactive].setAttribute('src', '');\n }\n\n // called every minute\n init();\n}\n", "import * as dom from './dom.js';\nimport lifts from './lifts.js';\nimport snow from './snow.js';\nimport weather from './weather.js';\nimport webcams from './webcams.js';\n\nfunction renderOpening(node, opening) {\n if (opening) {\n opening = opening.split('-');\n if (new Date(opening[0], opening[1] - 1, opening[2]).getTime() <= Date.now()) {\n node.dataset.opening = '';\n node = node.querySelector('.opening-date');\n node.parentNode.removeChild(node);\n }\n }\n}\n\nconst plugins = [lifts, weather, webcams, snow];\n\nfunction renderPlugins(node, getData) {\n const sec = dom.next(node); // extras section\n plugins.forEach(plugin => {\n const data = getData(plugin.type);\n if (!data) {\n return;\n }\n const el = plugin.section ? sec.querySelector(`.${plugin.type}`) : node;\n if (!el) {\n return;\n }\n const show = plugin(el, data);\n if (typeof show === 'boolean') {\n el.classList.toggle('visible', show);\n el.classList.toggle('hiddent', !show);\n }\n });\n}\n\nfunction render(node, resort) {\n const tsPrev = JSON.parse(node.dataset.timestamp);\n const tsCurr = resort.timestamp;\n\n renderPlugins(node, plugin => {\n if (!resort[plugin] || !tsCurr[plugin]) {\n // no data for a plugin\n return;\n }\n if (tsPrev[plugin] && tsCurr[plugin] <= tsPrev[plugin]) {\n // no new data - skip update\n return;\n }\n return resort[plugin];\n });\n renderOpening(node, node.dataset.opening);\n node.dataset.timestamp = JSON.stringify(tsCurr);\n}\n\nconst MAX = 12; // update every 12th time\n\nexport default function resort(node) {\n let updateCounter = MAX;\n\n function updateTimeToRefresh(counter) {\n const ttr = node.querySelector('.time-to-refresh');\n ttr.innerHTML = counter * 5;\n }\n\n function refresh(now) {\n const id = node.dataset.resort;\n\n if (!node.classList.contains('open')) {\n // skip closed resorts\n return;\n }\n if (now) {\n updateCounter = 0;\n } else {\n updateCounter -= 1;\n }\n\n if (updateCounter > 0) {\n updateTimeToRefresh(updateCounter);\n return;\n }\n updateCounter = MAX;\n updateTimeToRefresh(updateCounter);\n\n fetch(`/api/resort/${id}`)\n .then(res => res.json())\n .then(resort => render(node, resort));\n }\n\n function init() {\n const ds = node.dataset;\n\n updateTimeToRefresh(MAX);\n\n renderPlugins(node, plugin => {\n const data = ds[plugin];\n return data && JSON.parse(data);\n });\n }\n\n return {\n init,\n refresh,\n node\n };\n}\n", "import K from '@pirxpilot/k';\nimport cookie from 'js-cookie';\n\nconst k = K(window);\n\nexport default function state(nodes, st, keys) {\n const cookieName = `resorts-${st}`;\n\n const self = {\n load,\n save,\n update,\n read\n };\n\n function find(id) {\n return nodes.find(n => n.dataset.resort === id);\n }\n\n function read() {\n const text = cookie.get(cookieName);\n return text?.length ? text.split(',') : [];\n }\n\n function write(arr) {\n cookie.set(cookieName, arr.join(','), {\n expires: 30,\n path: '/',\n secure: window.location.protocol === 'https:',\n sameSite: 'strict'\n });\n }\n\n function update() {\n const state = read().reduce((memo, id) => {\n memo[id] = true;\n return memo;\n }, {});\n\n nodes.forEach(({ dataset, classList }) => {\n const id = dataset.resort;\n state[id] = classList.contains(st);\n });\n\n const selected = Object.keys(state).filter(id => state[id]);\n\n write(selected);\n return selected;\n }\n\n function save() {\n const selected = nodes.filter(n => n.classList.contains(st)).map(n => n.dataset.resort);\n\n write(selected);\n return selected;\n }\n\n function load() {\n const selected = read();\n selected.forEach(id => {\n const node = find(id);\n if (node) {\n node.classList.add(st);\n }\n });\n return selected;\n }\n\n function all(on) {\n nodes.forEach(n => n.classList.toggle(st, on));\n update();\n }\n\n if (keys) {\n k(keys.on, all.bind(null, true));\n k(keys.off, all.bind(null, false));\n }\n\n return self;\n}\n", "export default function stats() {\n const pie = document.querySelector('.stats .pie');\n if (!pie) {\n return;\n }\n const data = JSON.parse(pie.dataset.stats);\n let ac = 0;\n const { style } = pie;\n Object.entries(data.percentage).forEach(([key, value]) => style.setProperty(`--${key}`, `${(ac += value)}%`));\n}\n", "export default function tag(node) {\n let count;\n\n function update(c) {\n if (!count) {\n return;\n }\n count.innerHTML = c;\n node.classList.toggle('hidden', c <= 0);\n }\n\n if (node) {\n count = node.querySelector('.count');\n }\n\n return {\n update\n };\n}\n", "import debounce from 'debounce';\n\nfunction notify() {\n const widget = document.querySelector('.widget');\n if (!widget) {\n return;\n }\n window.parent.postMessage(\n {\n height: widget.scrollHeight,\n resort: window.location.pathname.split('/').pop()\n },\n '*'\n );\n}\n\nexport default function postHeight() {\n if (window === window.parent) {\n // we are not embedded - nothing to do\n return;\n }\n notify();\n window.addEventListener('resize', debounce(notify, 300), true);\n}\n", "function registrationHandler({ scope, installing, waiting, active }) {\n console.log('SW', scope);\n\n if (installing) {\n console.log('installing', installing.state);\n }\n if (waiting) {\n console.log('waiting', waiting.state);\n }\n if (active) {\n console.log('active', active.state);\n }\n}\n\nexport default function register(url = '/sw.js') {\n if (navigator.serviceWorker && document.documentElement.hasAttribute('data-service-worker')) {\n return navigator.serviceWorker\n .register(url)\n .then(registrationHandler)\n .catch(reason => console.log('SW registration failed!', reason));\n }\n}\n", "import about from '../about/index.js';\nimport minimax from '../minimax/index.js';\nimport resort from '../resort/index.js';\nimport state from '../state/index.js';\nimport stats from '../stats/index.js';\nimport tag from '../tag/index.js';\nimport height from './height.js';\nimport serviceWorker from './service-worker.js';\n\nserviceWorker();\ninit();\n\nfunction init() {\n const rnodes = Array.from(document.querySelectorAll('.resort'));\n\n const opens = state(rnodes, 'open', {\n on: 'shift + o',\n off: 'shift + x'\n });\n\n const starred = state(rnodes, 'starred');\n const starredTag = tag(document.querySelector('.tags .starred'));\n\n const resorts = rnodes.map(r => resort(r));\n\n resorts.forEach(r => {\n minimax(r.node, '.minimax')\n .state('open')\n .on(open => {\n if (open) {\n r.refresh(true);\n }\n opens.update();\n });\n minimax(r.node, '.star')\n .state('starred')\n .on(() => starredTag.update(starred.update().length));\n r.init();\n });\n window.setInterval(() => resorts.forEach(r => r.refresh()), 5 * 1000);\n about();\n opens.update();\n starredTag.update(starred.load().length);\n\n stats();\n height();\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["visible", "tag", "el", "render", "k", "debounce", "converter", "state", "stats", "state", "render", "day", "render", "render", "swipe", "pager", "init", "render", "resort", "init", "K", "state", "debounce", "init"]
7
+ }