From b7c819f1705309244af58e5e068c10d9ff653795 Mon Sep 17 00:00:00 2001 From: Sardo Date: Thu, 1 Mar 2018 12:13:35 +0800 Subject: [PATCH] Fix the bug of cannot flip normally when only one page --- dist/lib/vue-booklet.min.css | 2 +- dist/lib/vue-booklet.min.css.map | 2 +- dist/lib/vue-booklet.min.js | 4 ++-- dist/lib/vue-booklet.min.js.map | 2 +- index.html | 2 +- package.json | 2 +- src/components/book.vue | 12 ++++++++++-- 7 files changed, 17 insertions(+), 9 deletions(-) diff --git a/dist/lib/vue-booklet.min.css b/dist/lib/vue-booklet.min.css index 217cef3..d9bb0ef 100644 --- a/dist/lib/vue-booklet.min.css +++ b/dist/lib/vue-booklet.min.css @@ -1 +1 @@ -.ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{height:15px;bottom:0}.ps__rail-x,.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;position:absolute}.ps__rail-y{width:15px;right:0}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps__rail-x:focus,.ps__rail-x:hover,.ps__rail-y:focus,.ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x{transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px}.ps__thumb-x,.ps__thumb-y{background-color:#aaa;border-radius:6px;position:absolute}.ps__thumb-y{transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px}.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.ps{overflow:auto!important}}.cover{background-color:#bca98a}.book-control-buttons{display:none}.book .page .content{border:1px solid #ddd;padding:5%;margin-bottom:.5em;text-align:left}@media (min-width:768px){.vue-booklet{height:100vh;max-height:650px;margin:.5em}.book,.vue-booklet{width:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.book{font-family:Book Antiqua,Palatino,Palatino Linotype,Palatino LT STD,Georgia,serif;position:relative;height:100%;transition:all .8s}.book-control-buttons{display:block;text-align:center}.book-control-button{width:75px;height:40px;border:0;border-radius:2px;color:#fff;background-color:#72b890;font-size:16px;transition:all .3s;margin-top:1em;margin-bottom:1em;margin-right:1em}.book-control-button:focus,.book-control-button:hover{color:#fff;background-color:#759c86;border-color:#72b890}.closed{-webkit-transform:translateX(-25%);transform:translateX(-25%)}.closed-back{-webkit-transform:translateX(25%);transform:translateX(25%)}.opened{-webkit-transform:translateX(-1vw);transform:translateX(-1vw)}.cover-before{display:none;background:none;left:0;border:0;opacity:0}.cover-before,.page{position:absolute;width:50%;height:100%;color:#222;top:0}.page{background-color:#fff;right:0;transform-origin:0 50%;border:1px solid #ddd;background:linear-gradient(90deg,#d9d9d9,#f9f9f9 3%,#fff 8%,#fff)}.page,.page .content{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.page .content{position:absolute;width:100%;max-width:100%;height:100%;padding:5%;border:none;transform-origin:center center;backface-visibility:hidden;overflow:auto}.page .content:first-child{-webkit-transform:translateZ(1px);transform:translateZ(1px)}.page .content:nth-child(2){-webkit-transform:rotateY(180deg) translateZ(1px);transform:rotateY(180deg) translateZ(1px)}.pages{position:relative;height:100%}.cover{background:none;background-color:#bca98a}.fliped{-webkit-transform:rotateY(-180deg) translateZ(1px);transform:rotateY(-180deg) translateZ(1px)}}.back{background:none;background-color:#bca98a} \ No newline at end of file +.ps{overflow:hidden!important;overflow-anchor:none;-ms-overflow-style:none;touch-action:auto;-ms-touch-action:auto}.ps__rail-x{height:15px;bottom:0}.ps__rail-x,.ps__rail-y{display:none;opacity:0;transition:background-color .2s linear,opacity .2s linear;-webkit-transition:background-color .2s linear,opacity .2s linear;position:absolute}.ps__rail-y{width:15px;right:0}.ps--active-x>.ps__rail-x,.ps--active-y>.ps__rail-y{display:block;background-color:transparent}.ps--focus>.ps__rail-x,.ps--focus>.ps__rail-y,.ps--scrolling-x>.ps__rail-x,.ps--scrolling-y>.ps__rail-y,.ps:hover>.ps__rail-x,.ps:hover>.ps__rail-y{opacity:.6}.ps__rail-x:focus,.ps__rail-x:hover,.ps__rail-y:focus,.ps__rail-y:hover{background-color:#eee;opacity:.9}.ps__thumb-x{transition:background-color .2s linear,height .2s ease-in-out;-webkit-transition:background-color .2s linear,height .2s ease-in-out;height:6px;bottom:2px}.ps__thumb-x,.ps__thumb-y{background-color:#aaa;border-radius:6px;position:absolute}.ps__thumb-y{transition:background-color .2s linear,width .2s ease-in-out;-webkit-transition:background-color .2s linear,width .2s ease-in-out;width:6px;right:2px}.ps__rail-x:focus>.ps__thumb-x,.ps__rail-x:hover>.ps__thumb-x{background-color:#999;height:11px}.ps__rail-y:focus>.ps__thumb-y,.ps__rail-y:hover>.ps__thumb-y{background-color:#999;width:11px}@supports (-ms-overflow-style:none){.ps{overflow:auto!important}}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.ps{overflow:auto!important}}.cover{background-color:#bca98a}.book-control-buttons{display:none}.book .page .content{border:1px solid #ddd;padding:5%;margin-bottom:.5em;text-align:left}@media (min-width:768px){.vue-booklet{height:100vh;max-height:650px;margin:.5em}.book,.vue-booklet{width:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.book{font-family:Book Antiqua,Palatino,Palatino Linotype,Palatino LT STD,Georgia,serif;position:relative;height:100%;transition:all .8s}.book-control-buttons{display:block;text-align:center}.book-control-button{width:75px;height:40px;border:0;border-radius:2px;color:#fff;background-color:#72b890;font-size:16px;transition:all .3s;margin-top:1em;margin-bottom:1em;margin-right:1em}.book-control-button:focus,.book-control-button:hover{color:#fff;background-color:#759c86;border-color:#72b890}.closed{-webkit-transform:translateX(-25%);transform:translateX(-25%)}.closed-back{-webkit-transform:translateX(25%);transform:translateX(25%)}.opened{-webkit-transform:translateX(-1vw);transform:translateX(-1vw)}.cover-before{display:none;background:none;left:0;border:0;opacity:0}.cover-before,.page{position:absolute;width:50%;height:100%;color:#222;top:0}.page{background-color:#fff;right:0;transform-origin:0 50%;border:1px solid #ddd;background:linear-gradient(90deg,#d9d9d9 0,#f9f9f9 3%,#fff 8%,#fff)}.page,.page .content{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.page .content{position:absolute;width:100%;max-width:100%;height:100%;padding:5%;border:none;transform-origin:center center;backface-visibility:hidden;overflow:auto}.page .content:first-child{-webkit-transform:translateZ(1px);transform:translateZ(1px)}.page .content:nth-child(2){-webkit-transform:rotateY(180deg) translateZ(1px);transform:rotateY(180deg) translateZ(1px)}.pages{position:relative;height:100%}.cover{background:none;background-color:#bca98a}.fliped{-webkit-transform:rotateY(-180deg) translateZ(1px);transform:rotateY(-180deg) translateZ(1px)}}.back{background:none;background-color:#bca98a} \ No newline at end of file diff --git a/dist/lib/vue-booklet.min.css.map b/dist/lib/vue-booklet.min.css.map index 942f50e..8149caf 100644 --- a/dist/lib/vue-booklet.min.css.map +++ b/dist/lib/vue-booklet.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./~/perfect-scrollbar/css/perfect-scrollbar.css","webpack:///./src/styles/src/styles/lib.scss"],"names":[],"mappings":"AAGA,IACE,0BACA,qBACA,wBACA,kBACA,qBAAuB,CAMzB,YAKE,YAEA,QAAY,CAKd,wBAXE,aACA,UACA,0DACA,kEAKA,iBAAmB,CAapB,YALC,WAEA,OAAS,CAKX,oDAEE,cACA,4BAA8B,CAGhC,oJAME,UAAa,CAGf,wEAIE,sBACA,UAAa,CAMf,aAGE,8DACA,sEACA,WAEA,UAAY,CAKd,0BAXE,sBACA,kBAOA,iBAAmB,CAapB,aAPC,6DACA,qEACA,UAEA,SAAW,CAKb,8DAEE,sBACA,WAAa,CAGf,8DAEE,sBACA,UAAY,CAId,oCACE,IACE,uBAA0B,CAC3B,CAGH,sEACE,IACE,uBAA0B,CAC3B,CC9GH,OACE,wBAAyB,CAG3B,sBACE,YAAa,CAGf,qBAGM,sBACA,WACA,mBACA,eAAgB,CAKtB,yBACE,aAEE,aACA,iBACA,WAAa,CAMf,mBATE,WAIA,oCACA,iCACA,2BAA4B,CAY7B,MARC,kFACA,kBAEA,YAIA,kBAAmB,CAGrB,sBACE,cACA,iBAAkB,CAGpB,qBACE,WACA,YACA,SACA,kBACA,WACA,yBACA,eACA,mBACA,eACA,kBACA,gBAAiB,CAOlB,sDAJG,WACA,yBACA,oBAAqB,CAIzB,QACE,mCACA,0BAA2B,CAG7B,aACE,kCACA,yBAA0B,CAG5B,QACE,mCACA,0BAA2B,CAG7B,cACE,aAKA,gBAEA,OACA,SACA,SAAU,CAGZ,oBAXE,kBACA,UACA,YACA,WAEA,KAAM,CA+CP,MApCC,sBAEA,QACA,uBACA,sBACA,mEAAoF,CA+BrF,qBA9BC,oCACA,iCACA,2BAA4B,CA2B3B,eAxBC,kBACA,WACA,eACA,YACA,WACA,YACA,+BACA,2BACA,aAAc,CAgBf,2BAVG,kCACA,+BACA,yBAA0B,CAC3B,4BAGC,kDACA,+CACA,yCAA0C,CAKhD,OACE,kBACA,WAAY,CAGd,OACE,gBACA,wBAAyB,CAG3B,QACE,mDACA,0CAA2C,CAC5C,CAGH,MACE,gBACA,wBAAyB","file":"lib/vue-booklet.min.css","sourcesContent":["/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps__rail-x:hover,\n.ps__rail-y:hover,\n.ps__rail-x:focus,\n.ps__rail-y:focus {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/perfect-scrollbar/css/perfect-scrollbar.css",".cover{\n background-color: #BCA98A;\n}\n\n.book-control-buttons{\n display: none;\n}\n\n.book{\n .page{\n .content{\n border: 1px solid #ddd;\n padding: 5%;\n margin-bottom: 0.5em;\n text-align: left;\n }\n }\n}\n\n@media (min-width: 768px) {\n .vue-booklet{\n width: 100%;\n height: 100vh;\n max-height: 650px;\n margin: 0.5em;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n }\n\n .book{\n font-family: Book Antiqua, Palatino, Palatino Linotype, Palatino LT STD, Georgia, serif;\n position: relative;\n width: 100%;\n height: 100%;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n transition: all .8s;\n }\n\n .book-control-buttons{\n display: block;\n text-align: center;\n }\n\n .book-control-button{\n width: 75px;\n height: 40px;\n border: 0;\n border-radius: 2px;\n color: #ffffff;\n background-color: #72B890;\n font-size: 16px;\n transition: all 0.3s;\n margin-top: 1em;\n margin-bottom: 1em;\n margin-right: 1em;\n\n &:hover, &:focus{\n color: #ffffff;\n background-color: #759C86;\n border-color: #72B890;\n }\n }\n\n .closed{\n -webkit-transform: translateX(-25%);\n transform: translateX(-25%);\n }\n\n .closed-back{\n -webkit-transform: translateX(25%);\n transform: translateX(25%);\n }\n\n .opened{\n -webkit-transform: translateX(-1vw);\n transform: translateX(-1vw);\n }\n\n .cover-before{\n display: none;\n position: absolute;\n width: 50%;\n height: 100%;\n color: #222;\n background: none;\n top: 0;\n left: 0;\n border: 0;\n opacity: 0;\n }\n\n .page{\n position: absolute;\n width: 50%;\n height: 100%;\n color: #222;\n background-color: white;\n top: 0;\n right: 0;\n transform-origin: 0 50%;\n border: 1px solid #ddd;\n background: linear-gradient(to right, #d9d9d9 0%,#f9f9f9 3%,#ffffff 8%,#ffffff 100%);\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n\n .content{\n position: absolute;\n width: 100%;\n max-width: 100%;\n height: 100%;\n padding: 5%;\n border: none;\n transform-origin: center center;\n backface-visibility: hidden;\n overflow: auto;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n\n &:nth-child(1){\n -webkit-transform: translateZ(1px);\n -moz-transform: translateZ(1px);\n transform: translateZ(1px);\n }\n\n &:nth-child(2){\n -webkit-transform: rotateY(180deg) translateZ(1px);\n -moz-transform: rotateY(180deg) translateZ(1px);\n transform: rotateY(180deg) translateZ(1px);\n }\n }\n }\n\n .pages{\n position: relative;\n height: 100%;\n }\n\n .cover{\n background: none;\n background-color: #BCA98A;\n }\n\n .fliped{\n -webkit-transform: rotateY(-180deg) translateZ(1px);\n transform: rotateY(-180deg) translateZ(1px);\n }\n}\n\n.back{\n background: none;\n background-color: #BCA98A;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/styles/src/styles/lib.scss"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./~/perfect-scrollbar/css/perfect-scrollbar.css","webpack:///./src/styles/src/styles/lib.scss"],"names":[],"mappings":"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","file":"lib/vue-booklet.min.css","sourcesContent":["/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps__rail-x:hover,\n.ps__rail-y:hover,\n.ps__rail-x:focus,\n.ps__rail-y:focus {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/perfect-scrollbar/css/perfect-scrollbar.css",".cover{\n background-color: #BCA98A;\n}\n\n.book-control-buttons{\n display: none;\n}\n\n.book{\n .page{\n .content{\n border: 1px solid #ddd;\n padding: 5%;\n margin-bottom: 0.5em;\n text-align: left;\n }\n }\n}\n\n@media (min-width: 768px) {\n .vue-booklet{\n width: 100%;\n height: 100vh;\n max-height: 650px;\n margin: 0.5em;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n }\n\n .book{\n font-family: Book Antiqua, Palatino, Palatino Linotype, Palatino LT STD, Georgia, serif;\n position: relative;\n width: 100%;\n height: 100%;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n transition: all .8s;\n }\n\n .book-control-buttons{\n display: block;\n text-align: center;\n }\n\n .book-control-button{\n width: 75px;\n height: 40px;\n border: 0;\n border-radius: 2px;\n color: #ffffff;\n background-color: #72B890;\n font-size: 16px;\n transition: all 0.3s;\n margin-top: 1em;\n margin-bottom: 1em;\n margin-right: 1em;\n\n &:hover, &:focus{\n color: #ffffff;\n background-color: #759C86;\n border-color: #72B890;\n }\n }\n\n .closed{\n -webkit-transform: translateX(-25%);\n transform: translateX(-25%);\n }\n\n .closed-back{\n -webkit-transform: translateX(25%);\n transform: translateX(25%);\n }\n\n .opened{\n -webkit-transform: translateX(-1vw);\n transform: translateX(-1vw);\n }\n\n .cover-before{\n display: none;\n position: absolute;\n width: 50%;\n height: 100%;\n color: #222;\n background: none;\n top: 0;\n left: 0;\n border: 0;\n opacity: 0;\n }\n\n .page{\n position: absolute;\n width: 50%;\n height: 100%;\n color: #222;\n background-color: white;\n top: 0;\n right: 0;\n transform-origin: 0 50%;\n border: 1px solid #ddd;\n background: linear-gradient(to right, #d9d9d9 0%,#f9f9f9 3%,#ffffff 8%,#ffffff 100%);\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n\n .content{\n position: absolute;\n width: 100%;\n max-width: 100%;\n height: 100%;\n padding: 5%;\n border: none;\n transform-origin: center center;\n backface-visibility: hidden;\n overflow: auto;\n -webkit-transform-style: preserve-3d;\n -moz-transform-style: preserve-3d;\n transform-style: preserve-3d;\n\n &:nth-child(1){\n -webkit-transform: translateZ(1px);\n -moz-transform: translateZ(1px);\n transform: translateZ(1px);\n }\n\n &:nth-child(2){\n -webkit-transform: rotateY(180deg) translateZ(1px);\n -moz-transform: rotateY(180deg) translateZ(1px);\n transform: rotateY(180deg) translateZ(1px);\n }\n }\n }\n\n .pages{\n position: relative;\n height: 100%;\n }\n\n .cover{\n background: none;\n background-color: #BCA98A;\n }\n\n .fliped{\n -webkit-transform: rotateY(-180deg) translateZ(1px);\n transform: rotateY(-180deg) translateZ(1px);\n }\n}\n\n.back{\n background: none;\n background-color: #BCA98A;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/styles/src/styles/lib.scss"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/lib/vue-booklet.min.js b/dist/lib/vue-booklet.min.js index 31622e5..28e45c8 100644 --- a/dist/lib/vue-booklet.min.js +++ b/dist/lib/vue-booklet.min.js @@ -1,7 +1,7 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["vue-booklet"]=e():t["vue-booklet"]=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist",e(e.s=5)}([function(t,e){t.exports=function(t,e,n,i,r){var o,l=t=t||{},s=typeof t.default;"object"!==s&&"function"!==s||(o=t,l=t.default);var a="function"==typeof l?l.options:l;e&&(a.render=e.render,a.staticRenderFns=e.staticRenderFns),i&&(a._scopeId=i);var c;if(r?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),n&&n.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},a._ssrRegister=c):n&&(c=n),c){var h=a.functional,u=h?a.render:a.beforeCreate;h?a.render=function(t,e){return c.call(e),u(t,e)}:a.beforeCreate=u?[].concat(u,c):[c]}return{esModule:o,exports:l,options:a}}},function(t,e){},function(t,e,n){var i=n(0)(n(3),n(10),null,null,null);t.exports=i.exports},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(8),r=n.n(i);e.default={name:"Book",components:{Pages:r.a},data:function(){return{opened:!1,front:!0,back:!1,clickable:!0}},props:{pageTransitionTime:{type:Number,default:.8},onOpened:{type:Function,default:function(){}},onFlipStart:{type:Function,default:function(){}},onFlipEnd:{type:Function,default:function(){}},onClosed:{type:Function,default:function(){}}},mounted:function(){var t=this,e=this.$refs.book;this.$on("onOpened",function(n){t.opened=!0,e.classList.add("opened"),e.classList.remove("closed"),t.onOpened(e,n)}),this.$on("onFlipStart",function(e){var n=document.getElementsByClassName("currentPage")[0];t.getAllNextPage(n).forEach(function(t){t.classList.contains("lastPage")?t.style.zIndex="-3":t.style.zIndex="-1"}),n.classList.contains("firstPage")&&(n.nextElementSibling.style.zIndex="2"),t.onFlipStart(n,e)}),this.$on("onFlipEnd",function(e){var n=document.getElementsByClassName("currentPage")[0];n.classList.contains("firstPage")&&!n.classList.contains("fliped")?t.front=!0:t.front=!1,n.classList.contains("lastPage")&&n.classList.contains("fliped")?t.back=!0:t.back=!1,t.onFlipEnd(n,e)}),this.$on("onClosed",function(e){var n=t.$refs.book;t.opened=!1,n.classList.remove("opened"),"back"===e?(n.classList.remove("closed"),n.classList.add("closed-back")):(n.classList.remove("closed-back"),n.classList.add("closed")),t.onClosed(n,e)})},methods:{initPage:function(){var t=document.getElementsByClassName("page"),e=t[0],n=t[t.length-1],i=this.pageTransitionTime;e.classList.add("firstPage"),e.classList.add("currentPage");for(var r=0;rt[o]-t[l]-1&&(t.reach[a]="end"),e&&(f.dispatchEvent(d("ps-scroll-"+a)),e<0?f.dispatchEvent(d("ps-scroll-"+c)):e>0&&f.dispatchEvent(d("ps-scroll-"+h)),i&&u(t,a)),t.reach[a]&&(e||r)&&f.dispatchEvent(d("ps-"+a+"-reach-"+t.reach[a]))}function p(t){return parseInt(t,10)||0}function b(t){return l(t,"input,[contenteditable]")||l(t,"select,[contenteditable]")||l(t,"textarea,[contenteditable]")||l(t,"button,[contenteditable]")}function g(t){var e=i(t);return p(e.width)+p(e.paddingLeft)+p(e.paddingRight)+p(e.borderLeftWidth)+p(e.borderRightWidth)}function v(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function m(t,e){var n={width:e.railXWidth};e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft,e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-t.scrollTop:n.top=e.scrollbarXTop+t.scrollTop,r(e.scrollbarXRail,n);var i={top:t.scrollTop,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?i.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:i.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?i.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:i.left=e.scrollbarYLeft+t.scrollLeft,r(e.scrollbarYRail,i),r(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),r(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}function y(t,e){function n(e){p[d]=b+v*(e[l]-g),c(t,f),P(t),e.stopPropagation(),e.preventDefault()}function i(){h(t,f),t.event.unbind(t.ownerDocument,"mousemove",n)}var r=e[0],o=e[1],l=e[2],s=e[3],a=e[4],u=e[5],d=e[6],f=e[7],p=t.element,b=null,g=null,v=null;t.event.bind(t[a],"mousedown",function(e){b=p[d],g=e[l],v=(t[o]-t[r])/(t[s]-t[u]),t.event.bind(t.ownerDocument,"mousemove",n),t.event.once(t.ownerDocument,"mouseup",i),e.stopPropagation(),e.preventDefault()})}var L="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.msMatchesSelector),w={main:"ps",element:{thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},state:{focus:"ps--focus",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}}},Y={x:null,y:null},X=function(t){this.element=t,this.handlers={}},W={isEmpty:{configurable:!0}};X.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},X.prototype.unbind=function(t,e){var n=this;this.handlers[t]=this.handlers[t].filter(function(i){return!(!e||i===e)||(n.element.removeEventListener(t,i,!1),!1)})},X.prototype.unbindAll=function(){var t=this;for(var e in t.handlers)t.unbind(e)},W.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(X.prototype,W);var T=function(){this.eventElements=[]};T.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new X(t),this.eventElements.push(e)),e},T.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},T.prototype.unbind=function(t,e,n){var i=this.eventElement(t);i.unbind(e,n),i.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(i),1)},T.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},T.prototype.once=function(t,e,n){var i=this.eventElement(t),r=function(t){i.unbind(e,r),n(t)};i.bind(e,r)};var x=function(t,e,n,i,r){void 0===i&&(i=!0),void 0===r&&(r=!1);var o;if("top"===e)o=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");o=["contentWidth","containerWidth","scrollLeft","x","left","right"]}f(t,n,o,i,r)},E={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)},P=function(t){var e=t.element;t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(a(e,w.element.rail("x")).forEach(function(t){return s(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(a(e,w.element.rail("y")).forEach(function(t){return s(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),m(e,t),t.scrollbarXActive?e.classList.add(w.state.active("x")):(e.classList.remove(w.state.active("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),t.scrollbarYActive?e.classList.add(w.state.active("y")):(e.classList.remove(w.state.active("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)},R=function(t){t.event.bind(t.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,"mousedown",function(e){var n=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top,i=n>t.scrollbarYTop?1:-1;t.element.scrollTop+=i*t.containerHeight,P(t),e.stopPropagation()}),t.event.bind(t.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,"mousedown",function(e){var n=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left,i=n>t.scrollbarXLeft?1:-1;t.element.scrollLeft+=i*t.containerWidth,P(t),e.stopPropagation()})},S=function(t){y(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x"]),y(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y"])},k=function(t){function e(e,i){var r=n.scrollTop;if(0===e){if(!t.scrollbarYActive)return!1;if(0===r&&i>0||r>=t.contentHeight-t.containerHeight&&i<0)return!t.settings.wheelPropagation}var o=n.scrollLeft;if(0===i){if(!t.scrollbarXActive)return!1;if(0===o&&e<0||o>=t.contentWidth-t.containerWidth&&e>0)return!t.settings.wheelPropagation}return!0}var n=t.element,i=function(){return l(n,":hover")},r=function(){return l(t.scrollbarX,":focus")||l(t.scrollbarY,":focus")};t.event.bind(t.ownerDocument,"keydown",function(o){if(!(o.isDefaultPrevented&&o.isDefaultPrevented()||o.defaultPrevented)&&(i()||r())){var l=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(l){if("IFRAME"===l.tagName)l=l.contentDocument.activeElement;else for(;l.shadowRoot;)l=l.shadowRoot.activeElement;if(b(l))return}var s=0,a=0;switch(o.which){case 37:s=o.metaKey?-t.contentWidth:o.altKey?-t.containerWidth:-30;break;case 38:a=o.metaKey?t.contentHeight:o.altKey?t.containerHeight:30;break;case 39:s=o.metaKey?t.contentWidth:o.altKey?t.containerWidth:30;break;case 40:a=o.metaKey?-t.contentHeight:o.altKey?-t.containerHeight:-30;break;case 32:a=o.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:a=t.containerHeight;break;case 34:a=-t.containerHeight;break;case 36:a=t.contentHeight;break;case 35:a=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==s||t.settings.suppressScrollY&&0!==a||(n.scrollTop-=a,n.scrollLeft+=s,P(t),e(s,a)&&o.preventDefault())}})},H=function(t){function e(e,n){var i=0===l.scrollTop,r=l.scrollTop+l.offsetHeight===l.scrollHeight,o=0===l.scrollLeft,s=l.scrollLeft+l.offsetWidth===l.offsetWidth;return!(Math.abs(n)>Math.abs(e)?i||r:o||s)||!t.settings.wheelPropagation}function n(t){var e=t.deltaX,n=-1*t.deltaY;return void 0!==e&&void 0!==n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!==e&&n!==n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}function r(t,e,n){if(!E.isWebKit&&l.querySelector("select:focus"))return!0;if(!l.contains(t))return!1;for(var r=t;r&&r!==l;){if(r.classList.contains(w.element.consuming))return!0;var o=i(r);if([o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)){var s=r.scrollHeight-r.clientHeight;if(s>0&&!(0===r.scrollTop&&n>0||r.scrollTop===s&&n<0))return!0;var a=r.scrollLeft-r.clientWidth;if(a>0&&!(0===r.scrollLeft&&e<0||r.scrollLeft===a&&e>0))return!0}r=r.parentNode}return!1}function o(i){var o=n(i),s=o[0],a=o[1];if(!r(i.target,s,a)){var c=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(a?l.scrollTop-=a*t.settings.wheelSpeed:l.scrollTop+=s*t.settings.wheelSpeed,c=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(s?l.scrollLeft+=s*t.settings.wheelSpeed:l.scrollLeft-=a*t.settings.wheelSpeed,c=!0):(l.scrollTop-=a*t.settings.wheelSpeed,l.scrollLeft+=s*t.settings.wheelSpeed),P(t),c=c||e(s,a),c&&!i.ctrlKey&&(i.stopPropagation(),i.preventDefault())}}var l=t.element;void 0!==window.onwheel?t.event.bind(l,"wheel",o):void 0!==window.onmousewheel&&t.event.bind(l,"mousewheel",o)},C=function(t){function e(e,n){var i=h.scrollTop,r=h.scrollLeft,o=Math.abs(e),l=Math.abs(n);if(l>o){if(n<0&&i===t.contentHeight-t.containerHeight||n>0&&0===i)return 0===window.scrollY&&n>0&&E.isChrome}else if(o>l&&(e<0&&r===t.contentWidth-t.containerWidth||e>0&&0===r))return!0;return!0}function n(e,n){h.scrollTop-=n,h.scrollLeft-=e,P(t)}function r(t){return t.targetTouches?t.targetTouches[0]:t}function o(t){return(!t.pointerType||"pen"!==t.pointerType||0!==t.buttons)&&(!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function l(t){if(o(t)){var e=r(t);u.pageX=e.pageX,u.pageY=e.pageY,d=(new Date).getTime(),null!==p&&clearInterval(p)}}function s(t,e,n){if(!h.contains(t))return!1;for(var r=t;r&&r!==h;){if(r.classList.contains(w.element.consuming))return!0;var o=i(r);if([o.overflow,o.overflowX,o.overflowY].join("").match(/(scroll|auto)/)){var l=r.scrollHeight-r.clientHeight;if(l>0&&!(0===r.scrollTop&&n>0||r.scrollTop===l&&n<0))return!0;var s=r.scrollLeft-r.clientWidth;if(s>0&&!(0===r.scrollLeft&&e<0||r.scrollLeft===s&&e>0))return!0}r=r.parentNode}return!1}function a(t){if(o(t)){var i=r(t),l={pageX:i.pageX,pageY:i.pageY},a=l.pageX-u.pageX,c=l.pageY-u.pageY;if(s(t.target,a,c))return;n(a,c),u=l;var h=(new Date).getTime(),p=h-d;p>0&&(f.x=a/p,f.y=c/p,d=h),e(a,c)&&t.preventDefault()}}function c(){t.settings.swipeEasing&&(clearInterval(p),p=setInterval(function(){return t.isInitialized?void clearInterval(p):f.x||f.y?Math.abs(f.x)<.01&&Math.abs(f.y)<.01?void clearInterval(p):(n(30*f.x,30*f.y),f.x*=.8,void(f.y*=.8)):void clearInterval(p)},10))}if(E.supportsTouch||E.supportsIePointer){var h=t.element,u={},d=0,f={},p=null;E.supportsTouch?(t.event.bind(h,"touchstart",l),t.event.bind(h,"touchmove",a),t.event.bind(h,"touchend",c)):E.supportsIePointer&&(window.PointerEvent?(t.event.bind(h,"pointerdown",l),t.event.bind(h,"pointermove",a),t.event.bind(h,"pointerup",c)):window.MSPointerEvent&&(t.event.bind(h,"MSPointerDown",l),t.event.bind(h,"MSPointerMove",a),t.event.bind(h,"MSPointerUp",c)))}},_=function(){return{handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1}},A={"click-rail":R,"drag-thumb":S,keyboard:k,wheel:H,touch:C},M=function(t,e){var n=this;if(void 0===e&&(e={}),"string"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");this.element=t,t.classList.add(w.main),this.settings=_();for(var l in e)n.settings[l]=e[l];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var s=function(){return t.classList.add(w.state.focus)},a=function(){return t.classList.remove(w.state.focus)};this.isRtl="rtl"===i(t).direction,this.isNegativeScroll=function(){var e=t.scrollLeft,n=null;return t.scrollLeft=-1,n=t.scrollLeft<0,t.scrollLeft=e,n}(),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new T,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=o(w.element.rail("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=o(w.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",s),this.event.bind(this.scrollbarX,"blur",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var c=i(this.scrollbarXRail);this.scrollbarXBottom=parseInt(c.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=p(c.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=p(c.borderLeftWidth)+p(c.borderRightWidth),r(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=p(c.marginLeft)+p(c.marginRight),r(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=o(w.element.rail("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=o(w.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",s),this.event.bind(this.scrollbarY,"blur",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var h=i(this.scrollbarYRail);this.scrollbarYRight=parseInt(h.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=p(h.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?g(this.scrollbarY):null,this.railBorderYWidth=p(h.borderTopWidth)+p(h.borderBottomWidth),r(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=p(h.marginTop)+p(h.marginBottom),r(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(t){return A[t](n)}),this.lastScrollTop=t.scrollTop,this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",function(t){return n.onScroll(t)}),P(this)};M.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,r(this.scrollbarXRail,{display:"block"}),r(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=p(i(this.scrollbarXRail).marginLeft)+p(i(this.scrollbarXRail).marginRight),this.railYMarginHeight=p(i(this.scrollbarYRail).marginTop)+p(i(this.scrollbarYRail).marginBottom),r(this.scrollbarXRail,{display:"none"}),r(this.scrollbarYRail,{display:"none"}),P(this),x(this,"top",0,!1,!0),x(this,"left",0,!1,!0),r(this.scrollbarXRail,{display:""}),r(this.scrollbarYRail,{display:""}))},M.prototype.onScroll=function(t){this.isAlive&&(P(this),x(this,"top",this.element.scrollTop-this.lastScrollTop),x(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=this.element.scrollTop,this.lastScrollLeft=this.element.scrollLeft)},M.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),s(this.scrollbarX),s(this.scrollbarY),s(this.scrollbarXRail),s(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},M.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")},e.a=M},function(t,e,n){var i=n(0)(n(4),n(9),null,null,null);t.exports=i.exports},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{ref:"pages",staticClass:"pages"},[t._t("default")],2)},staticRenderFns:[]}},function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vue-booklet"},[n("div",{ref:"book",staticClass:"book closed"},[n("Pages",{attrs:{opened:t.opened,initPage:t.initPage}},[t._t("default")],2)],1),t._v(" "),n("div",{staticClass:"book-control-buttons"},[n("button",{directives:[{name:"show",rawName:"v-show",value:!t.front,expression:"!front"}],staticClass:"book-control-button prev",attrs:{tabindex:"0"},on:{keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key))return null;t.prevPage(e)},click:t.prevPage}},[t._v("\n Prev\n ")]),t._v(" "),n("button",{directives:[{name:"show",rawName:"v-show",value:!t.back,expression:"!back"}],staticClass:"book-control-button next",attrs:{tabindex:"0"},on:{keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key))return null;t.nextPage(e)},click:t.nextPage}},[t._v("\n Next\n ")])])])},staticRenderFns:[]}}])}); +function i(t){return getComputedStyle(t)}function o(t,e){for(var n in e){var i=e[n];"number"==typeof i&&(i+="px"),t.style[n]=i}return t}function r(t){var e=document.createElement("div");return e.className=t,e}function l(t,e){if(!L)throw new Error("No element matching method supported");return L.call(t,e)}function s(t){t.remove?t.remove():t.parentNode&&t.parentNode.removeChild(t)}function a(t,e){return Array.prototype.filter.call(t.children,function(t){return l(t,e)})}function c(t,e){var n=t.element.classList,i=w.state.scrolling(e);n.contains(i)?clearTimeout(Y[e]):n.add(i)}function u(t,e){Y[e]=setTimeout(function(){return t.isAlive&&t.element.classList.remove(w.state.scrolling(e))},t.settings.scrollingThreshold)}function h(t,e){c(t,e),u(t,e)}function d(t){if("function"==typeof window.CustomEvent)return new CustomEvent(t);var e=document.createEvent("CustomEvent");return e.initCustomEvent(t,!1,!1,void 0),e}function f(t,e,n,i,o){var r=n[0],l=n[1],s=n[2],a=n[3],c=n[4],u=n[5];void 0===i&&(i=!0),void 0===o&&(o=!1);var f=t.element;t.reach[a]=null,f[s]<1&&(t.reach[a]="start"),f[s]>t[r]-t[l]-1&&(t.reach[a]="end"),e&&(f.dispatchEvent(d("ps-scroll-"+a)),e<0?f.dispatchEvent(d("ps-scroll-"+c)):e>0&&f.dispatchEvent(d("ps-scroll-"+u)),i&&h(t,a)),t.reach[a]&&(e||o)&&f.dispatchEvent(d("ps-"+a+"-reach-"+t.reach[a]))}function p(t){return parseInt(t,10)||0}function b(t){return l(t,"input,[contenteditable]")||l(t,"select,[contenteditable]")||l(t,"textarea,[contenteditable]")||l(t,"button,[contenteditable]")}function g(t){var e=i(t);return p(e.width)+p(e.paddingLeft)+p(e.paddingRight)+p(e.borderLeftWidth)+p(e.borderRightWidth)}function v(t,e){return t.settings.minScrollbarLength&&(e=Math.max(e,t.settings.minScrollbarLength)),t.settings.maxScrollbarLength&&(e=Math.min(e,t.settings.maxScrollbarLength)),e}function m(t,e){var n={width:e.railXWidth};e.isRtl?n.left=e.negativeScrollAdjustment+t.scrollLeft+e.containerWidth-e.contentWidth:n.left=t.scrollLeft,e.isScrollbarXUsingBottom?n.bottom=e.scrollbarXBottom-t.scrollTop:n.top=e.scrollbarXTop+t.scrollTop,o(e.scrollbarXRail,n);var i={top:t.scrollTop,height:e.railYHeight};e.isScrollbarYUsingRight?e.isRtl?i.right=e.contentWidth-(e.negativeScrollAdjustment+t.scrollLeft)-e.scrollbarYRight-e.scrollbarYOuterWidth:i.right=e.scrollbarYRight-t.scrollLeft:e.isRtl?i.left=e.negativeScrollAdjustment+t.scrollLeft+2*e.containerWidth-e.contentWidth-e.scrollbarYLeft-e.scrollbarYOuterWidth:i.left=e.scrollbarYLeft+t.scrollLeft,o(e.scrollbarYRail,i),o(e.scrollbarX,{left:e.scrollbarXLeft,width:e.scrollbarXWidth-e.railBorderXWidth}),o(e.scrollbarY,{top:e.scrollbarYTop,height:e.scrollbarYHeight-e.railBorderYWidth})}function y(t,e){function n(e){p[d]=b+v*(e[l]-g),c(t,f),S(t),e.stopPropagation(),e.preventDefault()}function i(){u(t,f),t.event.unbind(t.ownerDocument,"mousemove",n)}var o=e[0],r=e[1],l=e[2],s=e[3],a=e[4],h=e[5],d=e[6],f=e[7],p=t.element,b=null,g=null,v=null;t.event.bind(t[a],"mousedown",function(e){b=p[d],g=e[l],v=(t[r]-t[o])/(t[s]-t[h]),t.event.bind(t.ownerDocument,"mousemove",n),t.event.once(t.ownerDocument,"mouseup",i),e.stopPropagation(),e.preventDefault()})}var L="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.msMatchesSelector),w={main:"ps",element:{thumb:function(t){return"ps__thumb-"+t},rail:function(t){return"ps__rail-"+t},consuming:"ps__child--consume"},state:{focus:"ps--focus",active:function(t){return"ps--active-"+t},scrolling:function(t){return"ps--scrolling-"+t}}},Y={x:null,y:null},X=function(t){this.element=t,this.handlers={}},x={isEmpty:{configurable:!0}};X.prototype.bind=function(t,e){void 0===this.handlers[t]&&(this.handlers[t]=[]),this.handlers[t].push(e),this.element.addEventListener(t,e,!1)},X.prototype.unbind=function(t,e){var n=this;this.handlers[t]=this.handlers[t].filter(function(i){return!(!e||i===e)||(n.element.removeEventListener(t,i,!1),!1)})},X.prototype.unbindAll=function(){var t=this;for(var e in t.handlers)t.unbind(e)},x.isEmpty.get=function(){var t=this;return Object.keys(this.handlers).every(function(e){return 0===t.handlers[e].length})},Object.defineProperties(X.prototype,x);var W=function(){this.eventElements=[]};W.prototype.eventElement=function(t){var e=this.eventElements.filter(function(e){return e.element===t})[0];return e||(e=new X(t),this.eventElements.push(e)),e},W.prototype.bind=function(t,e,n){this.eventElement(t).bind(e,n)},W.prototype.unbind=function(t,e,n){var i=this.eventElement(t);i.unbind(e,n),i.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(i),1)},W.prototype.unbindAll=function(){this.eventElements.forEach(function(t){return t.unbindAll()}),this.eventElements=[]},W.prototype.once=function(t,e,n){var i=this.eventElement(t),o=function(t){i.unbind(e,o),n(t)};i.bind(e,o)};var T=function(t,e,n,i,o){void 0===i&&(i=!0),void 0===o&&(o=!1);var r;if("top"===e)r=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==e)throw new Error("A proper axis should be provided");r=["contentWidth","containerWidth","scrollLeft","x","left","right"]}f(t,n,r,i,o)},E={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)},S=function(t){var e=t.element;t.containerWidth=e.clientWidth,t.containerHeight=e.clientHeight,t.contentWidth=e.scrollWidth,t.contentHeight=e.scrollHeight,e.contains(t.scrollbarXRail)||(a(e,w.element.rail("x")).forEach(function(t){return s(t)}),e.appendChild(t.scrollbarXRail)),e.contains(t.scrollbarYRail)||(a(e,w.element.rail("y")).forEach(function(t){return s(t)}),e.appendChild(t.scrollbarYRail)),!t.settings.suppressScrollX&&t.containerWidth+t.settings.scrollXMarginOffset=t.railXWidth-t.scrollbarXWidth&&(t.scrollbarXLeft=t.railXWidth-t.scrollbarXWidth),t.scrollbarYTop>=t.railYHeight-t.scrollbarYHeight&&(t.scrollbarYTop=t.railYHeight-t.scrollbarYHeight),m(e,t),t.scrollbarXActive?e.classList.add(w.state.active("x")):(e.classList.remove(w.state.active("x")),t.scrollbarXWidth=0,t.scrollbarXLeft=0,e.scrollLeft=0),t.scrollbarYActive?e.classList.add(w.state.active("y")):(e.classList.remove(w.state.active("y")),t.scrollbarYHeight=0,t.scrollbarYTop=0,e.scrollTop=0)},P=function(t){t.event.bind(t.scrollbarY,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarYRail,"mousedown",function(e){var n=e.pageY-window.pageYOffset-t.scrollbarYRail.getBoundingClientRect().top,i=n>t.scrollbarYTop?1:-1;t.element.scrollTop+=i*t.containerHeight,S(t),e.stopPropagation()}),t.event.bind(t.scrollbarX,"mousedown",function(t){return t.stopPropagation()}),t.event.bind(t.scrollbarXRail,"mousedown",function(e){var n=e.pageX-window.pageXOffset-t.scrollbarXRail.getBoundingClientRect().left,i=n>t.scrollbarXLeft?1:-1;t.element.scrollLeft+=i*t.containerWidth,S(t),e.stopPropagation()})},k=function(t){y(t,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x"]),y(t,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y"])},R=function(t){function e(e,i){var o=n.scrollTop;if(0===e){if(!t.scrollbarYActive)return!1;if(0===o&&i>0||o>=t.contentHeight-t.containerHeight&&i<0)return!t.settings.wheelPropagation}var r=n.scrollLeft;if(0===i){if(!t.scrollbarXActive)return!1;if(0===r&&e<0||r>=t.contentWidth-t.containerWidth&&e>0)return!t.settings.wheelPropagation}return!0}var n=t.element,i=function(){return l(n,":hover")},o=function(){return l(t.scrollbarX,":focus")||l(t.scrollbarY,":focus")};t.event.bind(t.ownerDocument,"keydown",function(r){if(!(r.isDefaultPrevented&&r.isDefaultPrevented()||r.defaultPrevented)&&(i()||o())){var l=document.activeElement?document.activeElement:t.ownerDocument.activeElement;if(l){if("IFRAME"===l.tagName)l=l.contentDocument.activeElement;else for(;l.shadowRoot;)l=l.shadowRoot.activeElement;if(b(l))return}var s=0,a=0;switch(r.which){case 37:s=r.metaKey?-t.contentWidth:r.altKey?-t.containerWidth:-30;break;case 38:a=r.metaKey?t.contentHeight:r.altKey?t.containerHeight:30;break;case 39:s=r.metaKey?t.contentWidth:r.altKey?t.containerWidth:30;break;case 40:a=r.metaKey?-t.contentHeight:r.altKey?-t.containerHeight:-30;break;case 32:a=r.shiftKey?t.containerHeight:-t.containerHeight;break;case 33:a=t.containerHeight;break;case 34:a=-t.containerHeight;break;case 36:a=t.contentHeight;break;case 35:a=-t.contentHeight;break;default:return}t.settings.suppressScrollX&&0!==s||t.settings.suppressScrollY&&0!==a||(n.scrollTop-=a,n.scrollLeft+=s,S(t),e(s,a)&&r.preventDefault())}})},H=function(t){function e(e,n){var i=0===l.scrollTop,o=l.scrollTop+l.offsetHeight===l.scrollHeight,r=0===l.scrollLeft,s=l.scrollLeft+l.offsetWidth===l.offsetWidth;return!(Math.abs(n)>Math.abs(e)?i||o:r||s)||!t.settings.wheelPropagation}function n(t){var e=t.deltaX,n=-1*t.deltaY;return void 0!==e&&void 0!==n||(e=-1*t.wheelDeltaX/6,n=t.wheelDeltaY/6),t.deltaMode&&1===t.deltaMode&&(e*=10,n*=10),e!==e&&n!==n&&(e=0,n=t.wheelDelta),t.shiftKey?[-n,-e]:[e,n]}function o(t,e,n){if(!E.isWebKit&&l.querySelector("select:focus"))return!0;if(!l.contains(t))return!1;for(var o=t;o&&o!==l;){if(o.classList.contains(w.element.consuming))return!0;var r=i(o);if([r.overflow,r.overflowX,r.overflowY].join("").match(/(scroll|auto)/)){var s=o.scrollHeight-o.clientHeight;if(s>0&&!(0===o.scrollTop&&n>0||o.scrollTop===s&&n<0))return!0;var a=o.scrollLeft-o.clientWidth;if(a>0&&!(0===o.scrollLeft&&e<0||o.scrollLeft===a&&e>0))return!0}o=o.parentNode}return!1}function r(i){var r=n(i),s=r[0],a=r[1];if(!o(i.target,s,a)){var c=!1;t.settings.useBothWheelAxes?t.scrollbarYActive&&!t.scrollbarXActive?(a?l.scrollTop-=a*t.settings.wheelSpeed:l.scrollTop+=s*t.settings.wheelSpeed,c=!0):t.scrollbarXActive&&!t.scrollbarYActive&&(s?l.scrollLeft+=s*t.settings.wheelSpeed:l.scrollLeft-=a*t.settings.wheelSpeed,c=!0):(l.scrollTop-=a*t.settings.wheelSpeed,l.scrollLeft+=s*t.settings.wheelSpeed),S(t),c=c||e(s,a),c&&!i.ctrlKey&&(i.stopPropagation(),i.preventDefault())}}var l=t.element;void 0!==window.onwheel?t.event.bind(l,"wheel",r):void 0!==window.onmousewheel&&t.event.bind(l,"mousewheel",r)},_=function(t){function e(e,n){var i=u.scrollTop,o=u.scrollLeft,r=Math.abs(e),l=Math.abs(n);if(l>r){if(n<0&&i===t.contentHeight-t.containerHeight||n>0&&0===i)return 0===window.scrollY&&n>0&&E.isChrome}else if(r>l&&(e<0&&o===t.contentWidth-t.containerWidth||e>0&&0===o))return!0;return!0}function n(e,n){u.scrollTop-=n,u.scrollLeft-=e,S(t)}function o(t){return t.targetTouches?t.targetTouches[0]:t}function r(t){return(!t.pointerType||"pen"!==t.pointerType||0!==t.buttons)&&(!(!t.targetTouches||1!==t.targetTouches.length)||!(!t.pointerType||"mouse"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_MOUSE))}function l(t){if(r(t)){var e=o(t);h.pageX=e.pageX,h.pageY=e.pageY,d=(new Date).getTime(),null!==p&&clearInterval(p)}}function s(t,e,n){if(!u.contains(t))return!1;for(var o=t;o&&o!==u;){if(o.classList.contains(w.element.consuming))return!0;var r=i(o);if([r.overflow,r.overflowX,r.overflowY].join("").match(/(scroll|auto)/)){var l=o.scrollHeight-o.clientHeight;if(l>0&&!(0===o.scrollTop&&n>0||o.scrollTop===l&&n<0))return!0;var s=o.scrollLeft-o.clientWidth;if(s>0&&!(0===o.scrollLeft&&e<0||o.scrollLeft===s&&e>0))return!0}o=o.parentNode}return!1}function a(t){if(r(t)){var i=o(t),l={pageX:i.pageX,pageY:i.pageY},a=l.pageX-h.pageX,c=l.pageY-h.pageY;if(s(t.target,a,c))return;n(a,c),h=l;var u=(new Date).getTime(),p=u-d;p>0&&(f.x=a/p,f.y=c/p,d=u),e(a,c)&&t.preventDefault()}}function c(){t.settings.swipeEasing&&(clearInterval(p),p=setInterval(function(){return t.isInitialized?void clearInterval(p):f.x||f.y?Math.abs(f.x)<.01&&Math.abs(f.y)<.01?void clearInterval(p):(n(30*f.x,30*f.y),f.x*=.8,void(f.y*=.8)):void clearInterval(p)},10))}if(E.supportsTouch||E.supportsIePointer){var u=t.element,h={},d=0,f={},p=null;E.supportsTouch?(t.event.bind(u,"touchstart",l),t.event.bind(u,"touchmove",a),t.event.bind(u,"touchend",c)):E.supportsIePointer&&(window.PointerEvent?(t.event.bind(u,"pointerdown",l),t.event.bind(u,"pointermove",a),t.event.bind(u,"pointerup",c)):window.MSPointerEvent&&(t.event.bind(u,"MSPointerDown",l),t.event.bind(u,"MSPointerMove",a),t.event.bind(u,"MSPointerUp",c)))}},C=function(){return{handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!1,wheelSpeed:1}},A={"click-rail":P,"drag-thumb":k,keyboard:R,wheel:H,touch:_},M=function(t,e){var n=this;if(void 0===e&&(e={}),"string"==typeof t&&(t=document.querySelector(t)),!t||!t.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");this.element=t,t.classList.add(w.main),this.settings=C();for(var l in e)n.settings[l]=e[l];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var s=function(){return t.classList.add(w.state.focus)},a=function(){return t.classList.remove(w.state.focus)};this.isRtl="rtl"===i(t).direction,this.isNegativeScroll=function(){var e=t.scrollLeft,n=null;return t.scrollLeft=-1,n=t.scrollLeft<0,t.scrollLeft=e,n}(),this.negativeScrollAdjustment=this.isNegativeScroll?t.scrollWidth-t.clientWidth:0,this.event=new W,this.ownerDocument=t.ownerDocument||document,this.scrollbarXRail=r(w.element.rail("x")),t.appendChild(this.scrollbarXRail),this.scrollbarX=r(w.element.thumb("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",s),this.event.bind(this.scrollbarX,"blur",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var c=i(this.scrollbarXRail);this.scrollbarXBottom=parseInt(c.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=p(c.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=p(c.borderLeftWidth)+p(c.borderRightWidth),o(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=p(c.marginLeft)+p(c.marginRight),o(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=r(w.element.rail("y")),t.appendChild(this.scrollbarYRail),this.scrollbarY=r(w.element.thumb("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",s),this.event.bind(this.scrollbarY,"blur",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var u=i(this.scrollbarYRail);this.scrollbarYRight=parseInt(u.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=p(u.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?g(this.scrollbarY):null,this.railBorderYWidth=p(u.borderTopWidth)+p(u.borderBottomWidth),o(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=p(u.marginTop)+p(u.marginBottom),o(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:t.scrollLeft<=0?"start":t.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:t.scrollTop<=0?"start":t.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(t){return A[t](n)}),this.lastScrollTop=t.scrollTop,this.lastScrollLeft=t.scrollLeft,this.event.bind(this.element,"scroll",function(t){return n.onScroll(t)}),S(this)};M.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,o(this.scrollbarXRail,{display:"block"}),o(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=p(i(this.scrollbarXRail).marginLeft)+p(i(this.scrollbarXRail).marginRight),this.railYMarginHeight=p(i(this.scrollbarYRail).marginTop)+p(i(this.scrollbarYRail).marginBottom),o(this.scrollbarXRail,{display:"none"}),o(this.scrollbarYRail,{display:"none"}),S(this),T(this,"top",0,!1,!0),T(this,"left",0,!1,!0),o(this.scrollbarXRail,{display:""}),o(this.scrollbarYRail,{display:""}))},M.prototype.onScroll=function(t){this.isAlive&&(S(this),T(this,"top",this.element.scrollTop-this.lastScrollTop),T(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=this.element.scrollTop,this.lastScrollLeft=this.element.scrollLeft)},M.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),s(this.scrollbarX),s(this.scrollbarY),s(this.scrollbarXRail),s(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},M.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(t){return!t.match(/^ps([-_].+|)$/)}).join(" ")},e.a=M},function(t,e,n){var i=n(0)(n(4),n(9),null,null,null);i.options.__file="/Users/sardo/work/non-project/vue-booklet/src/components/pages.vue",i.esModule&&Object.keys(i.esModule).some(function(t){return"default"!==t&&"__"!==t.substr(0,2)})&&console.error("named exports are not supported in *.vue files."),i.options.functional&&console.error("[vue-loader] pages.vue: functional components are not supported with templates, they should use render functions."),t.exports=i.exports},function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",{ref:"pages",staticClass:"pages"},[t._t("default")],2)},staticRenderFns:[]},t.exports.render._withStripped=!0},function(t,e,n){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"vue-booklet"},[n("div",{ref:"book",staticClass:"book closed"},[n("Pages",{attrs:{opened:t.opened,initPage:t.initPage}},[t._t("default")],2)],1),t._v(" "),n("div",{staticClass:"book-control-buttons"},[n("button",{directives:[{name:"show",rawName:"v-show",value:!t.front,expression:"!front"}],staticClass:"book-control-button prev",attrs:{tabindex:"0"},on:{keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key))return null;t.prevPage(e)},click:t.prevPage}},[t._v("\n Prev\n ")]),t._v(" "),n("button",{directives:[{name:"show",rawName:"v-show",value:!t.back,expression:"!back"}],staticClass:"book-control-button next",attrs:{tabindex:"0"},on:{keyup:function(e){if(!("button"in e)&&t._k(e.keyCode,"enter",13,e.key))return null;t.nextPage(e)},click:t.nextPage}},[t._v("\n Next\n ")])])])},staticRenderFns:[]},t.exports.render._withStripped=!0}])}); //# sourceMappingURL=vue-booklet.min.js.map \ No newline at end of file diff --git a/dist/lib/vue-booklet.min.js.map b/dist/lib/vue-booklet.min.js.map index 95bc745..c9a2a28 100644 --- a/dist/lib/vue-booklet.min.js.map +++ b/dist/lib/vue-booklet.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///lib/vue-booklet.min.js","webpack:///webpack/bootstrap 8c4bd5b04ad98fe58dfa","webpack:///./~/vue-loader/lib/component-normalizer.js","webpack:///./src/components/book.vue","webpack:///book.vue","webpack:///pages.vue","webpack:///./src/lib.js","webpack:///./~/perfect-scrollbar/dist/perfect-scrollbar.esm.js","webpack:///./src/components/pages.vue","webpack:///./src/components/pages.vue?c8fe","webpack:///./src/components/book.vue?d56a"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","rawScriptExports","compiledTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","type","default","options","render","staticRenderFns","_scopeId","hook","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","functional","existing","beforeCreate","h","concat","Component","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0__pages__","__WEBPACK_IMPORTED_MODULE_0__pages___default","components","Pages","a","data","opened","front","back","clickable","props","pageTransitionTime","Number","onOpened","Function","onFlipStart","onFlipEnd","onClosed","mounted","_this","book","$refs","$on","position","classList","remove","direction","currentPage","document","getElementsByClassName","getAllNextPage","forEach","page","contains","style","zIndex","nextElementSibling","methods","initPage","pages","firstPage","lastPage","length","index","transition","nextPage","_this2","timeOut","$emit","setTimeout","prevPage","_this3","previousElementSibling","push","__WEBPACK_IMPORTED_MODULE_0_perfect_scrollbar__","__WEBPACK_IMPORTED_MODULE_1_perfect_scrollbar_css_perfect_scrollbar_css__","initContent","contents","content","__WEBPACK_IMPORTED_MODULE_0__components_book_vue__","__WEBPACK_IMPORTED_MODULE_0__components_book_vue___default","__WEBPACK_IMPORTED_MODULE_1__styles_lib_scss__","window","Vue","component","element","getComputedStyle","set","obj","key","val","div","className","createElement","matches","query","elMatches","Error","parentNode","removeChild","queryChildren","selector","Array","filter","children","child","addScrollingClass","x","cls","state","scrolling","clearTimeout","scrollingClassTimeout","removeScrollingClass","isAlive","settings","scrollingThreshold","setScrollingClassInstantly","createEvent","CustomEvent","evt","initCustomEvent","undefined","processScrollDiff$1","diff","ref","useScrollingClass","forceFireReachEvent","contentHeight","containerHeight","scrollTop","y","up","down","reach","dispatchEvent","toInt","parseInt","isEditable","el","outerWidth","styles","width","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","getThumbSize","thumbSize","minScrollbarLength","Math","max","maxScrollbarLength","min","updateCss","xRailOffset","railXWidth","isRtl","left","negativeScrollAdjustment","scrollLeft","containerWidth","contentWidth","isScrollbarXUsingBottom","bottom","scrollbarXBottom","top","scrollbarXTop","scrollbarXRail","yRailOffset","height","railYHeight","isScrollbarYUsingRight","right","scrollbarYRight","scrollbarYOuterWidth","scrollbarYLeft","scrollbarYRail","scrollbarX","scrollbarXLeft","scrollbarXWidth","railBorderXWidth","scrollbarY","scrollbarYTop","scrollbarYHeight","railBorderYWidth","bindMouseScrollHandler","mouseMoveHandler","e","startingScrollTop","scrollBy","pageY","startingMousePageY","updateGeometry","stopPropagation","preventDefault","mouseUpHandler","event","unbind","ownerDocument","bind","once","Element","webkitMatchesSelector","msMatchesSelector","main","thumb","rail","consuming","focus","active","EventElement","handlers","prototypeAccessors","isEmpty","eventName","handler","addEventListener","target","this$1","removeEventListener","unbindAll","keys","every","defineProperties","EventManager","eventElements","eventElement","ee","splice","indexOf","onceHandler","processScrollDiff","axis","fields","env","isWebKit","documentElement","supportsTouch","DocumentTouch","supportsIePointer","navigator","msMaxTouchPoints","isChrome","test","userAgent","clientWidth","clientHeight","scrollWidth","scrollHeight","appendChild","suppressScrollX","scrollXMarginOffset","scrollbarXActive","railXMarginWidth","railXRatio","suppressScrollY","scrollYMarginOffset","scrollbarYActive","railYMarginHeight","railYRatio","clickRail","positionTop","pageYOffset","getBoundingClientRect","positionLeft","pageX","pageXOffset","dragThumb","keyboard","shouldPreventDefault","deltaX","deltaY","wheelPropagation","elementHovered","scrollbarFocused","isDefaultPrevented","defaultPrevented","activeElement","tagName","contentDocument","shadowRoot","which","metaKey","altKey","shiftKey","wheel","isTop","isBottom","offsetHeight","isLeft","isRight","offsetWidth","abs","getDeltaFromEvent","wheelDeltaX","wheelDeltaY","deltaMode","wheelDelta","shouldBeConsumedByChild","querySelector","cursor","overflow","overflowX","overflowY","join","match","maxScrollTop","maxScrollLeft","mousewheelHandler","shouldPrevent","useBothWheelAxes","wheelSpeed","ctrlKey","onwheel","onmousewheel","touch","magnitudeX","magnitudeY","scrollY","applyTouchMove","differenceX","differenceY","getTouch","targetTouches","shouldHandle","pointerType","buttons","MSPOINTER_TYPE_MOUSE","touchStart","startOffset","startTime","Date","getTime","easingLoop","clearInterval","touchMove","currentOffset","currentTime","timeGap","speed","touchEnd","swipeEasing","setInterval","isInitialized","PointerEvent","MSPointerEvent","defaultSettings","click-rail","drag-thumb","PerfectScrollbar","userSettings","nodeName","blur","isNegativeScroll","originalScrollLeft","result","setAttribute","railXStyle","isNaN","display","marginLeft","marginRight","railYStyle","borderTopWidth","borderBottomWidth","marginTop","marginBottom","handlerName","lastScrollTop","lastScrollLeft","onScroll","update","destroy","removePsClasses","split","_vm","_h","$createElement","_self","_c","staticClass","_t","attrs","_v","directives","rawName","expression","tabindex","on","keyup","$event","_k","keyCode","click"],"mappings":"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","file":"lib/vue-booklet.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-booklet\"] = factory();\n\telse\n\t\troot[\"vue-booklet\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-booklet\"] = factory();\n\telse\n\t\troot[\"vue-booklet\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 5);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(3),\n /* template */\n __webpack_require__(10),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pages__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pages___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__pages__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Book',\n components: {\n Pages: __WEBPACK_IMPORTED_MODULE_0__pages___default.a\n },\n data: function data() {\n return {\n opened: false,\n front: true,\n back: false,\n clickable: true\n };\n },\n\n props: {\n pageTransitionTime: {\n type: Number,\n default: 0.8\n },\n onOpened: {\n type: Function,\n default: function _default() {}\n },\n onFlipStart: {\n type: Function,\n default: function _default() {}\n },\n onFlipEnd: {\n type: Function,\n default: function _default() {}\n },\n onClosed: {\n type: Function,\n default: function _default() {}\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n var book = this.$refs.book;\n\n // Book opened event\n this.$on('onOpened', function (position) {\n _this.opened = true;\n book.classList.add('opened');\n book.classList.remove('closed');\n _this.onOpened(book, position);\n });\n\n // Book page fliped event\n this.$on('onFlipStart', function (direction) {\n var currentPage = document.getElementsByClassName('currentPage')[0];\n var hiddenPages = _this.getAllNextPage(currentPage);\n hiddenPages.forEach(function (page) {\n if (!page.classList.contains('lastPage')) {\n page.style.zIndex = '-1';\n } else {\n page.style.zIndex = '-3';\n }\n });\n if (currentPage.classList.contains('firstPage')) {\n currentPage.nextElementSibling.style.zIndex = '2';\n }\n _this.onFlipStart(currentPage, direction);\n });\n\n this.$on('onFlipEnd', function (direction) {\n var currentPage = document.getElementsByClassName('currentPage')[0];\n\n if (currentPage.classList.contains('firstPage') && !currentPage.classList.contains('fliped')) {\n _this.front = true;\n } else {\n _this.front = false;\n }\n\n if (currentPage.classList.contains('lastPage') && currentPage.classList.contains('fliped')) {\n _this.back = true;\n } else {\n _this.back = false;\n }\n\n _this.onFlipEnd(currentPage, direction);\n });\n\n // Book closed event\n this.$on('onClosed', function (position) {\n var book = _this.$refs.book;\n _this.opened = false;\n\n book.classList.remove('opened');\n\n if (position === 'back') {\n book.classList.remove('closed');\n book.classList.add('closed-back');\n } else {\n book.classList.remove('closed-back');\n book.classList.add('closed');\n }\n\n _this.onClosed(book, position);\n });\n },\n\n methods: {\n initPage: function initPage() {\n var pages = document.getElementsByClassName('page');\n var firstPage = pages[0];\n var lastPage = pages[pages.length - 1];\n var pageTransitionTime = this.pageTransitionTime;\n\n firstPage.classList.add('firstPage');\n firstPage.classList.add('currentPage');\n\n for (var i = 0; i < pages.length; i++) {\n var index = i + 1;\n var page = pages[i];\n page.style.zIndex = '-1';\n page.style.transition = 'transform ' + pageTransitionTime + 's';\n if (index % 2 === 0) {\n page.classList.add('oven');\n } else {\n page.classList.add('odd');\n }\n }\n firstPage.style.zIndex = '3';\n firstPage.nextElementSibling.style.zIndex = '2';\n lastPage.classList.add('lastPage');\n },\n nextPage: function nextPage() {\n var _this2 = this;\n\n var currentPage = document.getElementsByClassName('currentPage')[0];\n var nextPage = currentPage.nextElementSibling;\n var timeOut = this.pageTransitionTime * 4 * 100;\n\n if (this.clickable) {\n this.clickable = false;\n // If current page is first page and book not opened\n if (currentPage.classList.contains('firstPage') && !this.opened) {\n this.$emit('onOpened', 'front');\n }\n\n if (currentPage.classList.contains('lastPage') && this.opened) {\n this.$emit('onClosed', 'back');\n }\n\n currentPage.classList.add('fliped');\n this.$emit('onFlipStart', 'next');\n\n setTimeout(function () {\n // If this page have next page, set it to current page\n if (nextPage) {\n nextPage.style.zIndex = '3';\n currentPage.style.zIndex = '1';\n currentPage.classList.remove('currentPage');\n nextPage.classList.add('currentPage');\n }\n _this2.clickable = true;\n _this2.$emit('onFlipEnd', 'next');\n }, timeOut);\n }\n },\n prevPage: function prevPage() {\n var _this3 = this;\n\n var currentPage = document.getElementsByClassName('currentPage')[0];\n var prevPage = currentPage.previousElementSibling;\n var timeOut = this.pageTransitionTime * 4 * 100;\n\n if (this.clickable) {\n this.clickable = false;\n this.$emit('onFlipStart', 'back');\n\n // If user click on cover and book not opened\n if (prevPage) {\n // If last page fliped, undo flip only\n if (currentPage.classList.contains('lastPage') && currentPage.classList.contains('fliped')) {\n currentPage.classList.remove('fliped');\n } else {\n currentPage.style.zIndex = '1';\n currentPage.classList.remove('currentPage');\n prevPage.style.zIndex = '3';\n prevPage.classList.remove('fliped');\n prevPage.classList.add('currentPage');\n }\n\n //If previous page is first page and book not opened, close the book\n if (prevPage.classList.contains('firstPage') && !prevPage.classList.contains('fliped') && this.opened) {\n this.$emit('onClosed', 'front');\n currentPage.style.zIndex = '2';\n }\n\n //If current page is last page , book not opened and it is not filped, open the book\n if (currentPage.classList.contains('lastPage') && !currentPage.classList.contains('fliped') && !this.opened) {\n this.$emit('onOpened', 'back');\n }\n }\n\n setTimeout(function () {\n _this3.clickable = true;\n _this3.$emit('onFlipEnd', 'back');\n }, timeOut);\n }\n },\n getAllNextPage: function getAllNextPage(currentPage) {\n var pages = [];\n var nextPage = currentPage.nextElementSibling;\n while (nextPage) {\n pages.push(nextPage);\n nextPage = nextPage.nextElementSibling;\n }\n return pages;\n }\n }\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_perfect_scrollbar__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_perfect_scrollbar_css_perfect_scrollbar_css__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_perfect_scrollbar_css_perfect_scrollbar_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_perfect_scrollbar_css_perfect_scrollbar_css__);\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Pages',\n props: {\n initPage: Function\n },\n mounted: function mounted() {\n this.initPage();\n this.initContent();\n },\n\n methods: {\n initContent: function initContent() {\n var contents = document.getElementsByClassName('content');\n for (var i = 0; i < contents.length; i++) {\n var content = contents[i];\n var ps = new __WEBPACK_IMPORTED_MODULE_0_perfect_scrollbar__[\"a\" /* default */](content);\n }\n }\n }\n});\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_book_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_book_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_book_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__styles_lib_scss__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__styles_lib_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__styles_lib_scss__);\n\n\n\nif (typeof window !== 'undefined' && window.Vue) {\n\twindow.Vue.component('Book', __WEBPACK_IMPORTED_MODULE_0__components_book_vue___default.a);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_0__components_book_vue___default.a);\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/*!\n * perfect-scrollbar v1.3.0\n * (c) 2017 Hyunje Jun\n * @license MIT\n */\nfunction get(element) {\n return getComputedStyle(element);\n}\n\nfunction set(element, obj) {\n for (var key in obj) {\n var val = obj[key];\n if (typeof val === 'number') {\n val = val + \"px\";\n }\n element.style[key] = val;\n }\n return element;\n}\n\nfunction div(className) {\n var div = document.createElement('div');\n div.className = className;\n return div;\n}\n\nvar elMatches =\n typeof Element !== 'undefined' &&\n (Element.prototype.matches ||\n Element.prototype.webkitMatchesSelector ||\n Element.prototype.msMatchesSelector);\n\nfunction matches(element, query) {\n if (!elMatches) {\n throw new Error('No element matching method supported');\n }\n\n return elMatches.call(element, query);\n}\n\nfunction remove(element) {\n if (element.remove) {\n element.remove();\n } else {\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n }\n}\n\nfunction queryChildren(element, selector) {\n return Array.prototype.filter.call(element.children, function (child) { return matches(child, selector); }\n );\n}\n\nvar cls = {\n main: 'ps',\n element: {\n thumb: function (x) { return (\"ps__thumb-\" + x); },\n rail: function (x) { return (\"ps__rail-\" + x); },\n consuming: 'ps__child--consume',\n },\n state: {\n focus: 'ps--focus',\n active: function (x) { return (\"ps--active-\" + x); },\n scrolling: function (x) { return (\"ps--scrolling-\" + x); },\n },\n};\n\n/*\n * Helper methods\n */\nvar scrollingClassTimeout = { x: null, y: null };\n\nfunction addScrollingClass(i, x) {\n var classList = i.element.classList;\n var className = cls.state.scrolling(x);\n\n if (classList.contains(className)) {\n clearTimeout(scrollingClassTimeout[x]);\n } else {\n classList.add(className);\n }\n}\n\nfunction removeScrollingClass(i, x) {\n scrollingClassTimeout[x] = setTimeout(\n function () { return i.isAlive && i.element.classList.remove(cls.state.scrolling(x)); },\n i.settings.scrollingThreshold\n );\n}\n\nfunction setScrollingClassInstantly(i, x) {\n addScrollingClass(i, x);\n removeScrollingClass(i, x);\n}\n\nvar EventElement = function EventElement(element) {\n this.element = element;\n this.handlers = {};\n};\n\nvar prototypeAccessors = { isEmpty: { configurable: true } };\n\nEventElement.prototype.bind = function bind (eventName, handler) {\n if (typeof this.handlers[eventName] === 'undefined') {\n this.handlers[eventName] = [];\n }\n this.handlers[eventName].push(handler);\n this.element.addEventListener(eventName, handler, false);\n};\n\nEventElement.prototype.unbind = function unbind (eventName, target) {\n var this$1 = this;\n\n this.handlers[eventName] = this.handlers[eventName].filter(function (handler) {\n if (target && handler !== target) {\n return true;\n }\n this$1.element.removeEventListener(eventName, handler, false);\n return false;\n });\n};\n\nEventElement.prototype.unbindAll = function unbindAll () {\n var this$1 = this;\n\n for (var name in this$1.handlers) {\n this$1.unbind(name);\n }\n};\n\nprototypeAccessors.isEmpty.get = function () {\n var this$1 = this;\n\n return Object.keys(this.handlers).every(\n function (key) { return this$1.handlers[key].length === 0; }\n );\n};\n\nObject.defineProperties( EventElement.prototype, prototypeAccessors );\n\nvar EventManager = function EventManager() {\n this.eventElements = [];\n};\n\nEventManager.prototype.eventElement = function eventElement (element) {\n var ee = this.eventElements.filter(function (ee) { return ee.element === element; })[0];\n if (!ee) {\n ee = new EventElement(element);\n this.eventElements.push(ee);\n }\n return ee;\n};\n\nEventManager.prototype.bind = function bind (element, eventName, handler) {\n this.eventElement(element).bind(eventName, handler);\n};\n\nEventManager.prototype.unbind = function unbind (element, eventName, handler) {\n var ee = this.eventElement(element);\n ee.unbind(eventName, handler);\n\n if (ee.isEmpty) {\n // remove\n this.eventElements.splice(this.eventElements.indexOf(ee), 1);\n }\n};\n\nEventManager.prototype.unbindAll = function unbindAll () {\n this.eventElements.forEach(function (e) { return e.unbindAll(); });\n this.eventElements = [];\n};\n\nEventManager.prototype.once = function once (element, eventName, handler) {\n var ee = this.eventElement(element);\n var onceHandler = function (evt) {\n ee.unbind(eventName, onceHandler);\n handler(evt);\n };\n ee.bind(eventName, onceHandler);\n};\n\nfunction createEvent(name) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name);\n } else {\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, false, false, undefined);\n return evt;\n }\n}\n\nvar processScrollDiff = function(\n i,\n axis,\n diff,\n useScrollingClass,\n forceFireReachEvent\n) {\n if ( useScrollingClass === void 0 ) useScrollingClass = true;\n if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;\n\n var fields;\n if (axis === 'top') {\n fields = [\n 'contentHeight',\n 'containerHeight',\n 'scrollTop',\n 'y',\n 'up',\n 'down' ];\n } else if (axis === 'left') {\n fields = [\n 'contentWidth',\n 'containerWidth',\n 'scrollLeft',\n 'x',\n 'left',\n 'right' ];\n } else {\n throw new Error('A proper axis should be provided');\n }\n\n processScrollDiff$1(i, diff, fields, useScrollingClass, forceFireReachEvent);\n};\n\nfunction processScrollDiff$1(\n i,\n diff,\n ref,\n useScrollingClass,\n forceFireReachEvent\n) {\n var contentHeight = ref[0];\n var containerHeight = ref[1];\n var scrollTop = ref[2];\n var y = ref[3];\n var up = ref[4];\n var down = ref[5];\n if ( useScrollingClass === void 0 ) useScrollingClass = true;\n if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;\n\n var element = i.element;\n\n // reset reach\n i.reach[y] = null;\n\n // 1 for subpixel rounding\n if (element[scrollTop] < 1) {\n i.reach[y] = 'start';\n }\n\n // 1 for subpixel rounding\n if (element[scrollTop] > i[contentHeight] - i[containerHeight] - 1) {\n i.reach[y] = 'end';\n }\n\n if (diff) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + y)));\n\n if (diff < 0) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + up)));\n } else if (diff > 0) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + down)));\n }\n\n if (useScrollingClass) {\n setScrollingClassInstantly(i, y);\n }\n }\n\n if (i.reach[y] && (diff || forceFireReachEvent)) {\n element.dispatchEvent(createEvent((\"ps-\" + y + \"-reach-\" + (i.reach[y]))));\n }\n}\n\nfunction toInt(x) {\n return parseInt(x, 10) || 0;\n}\n\nfunction isEditable(el) {\n return (\n matches(el, 'input,[contenteditable]') ||\n matches(el, 'select,[contenteditable]') ||\n matches(el, 'textarea,[contenteditable]') ||\n matches(el, 'button,[contenteditable]')\n );\n}\n\nfunction outerWidth(element) {\n var styles = get(element);\n return (\n toInt(styles.width) +\n toInt(styles.paddingLeft) +\n toInt(styles.paddingRight) +\n toInt(styles.borderLeftWidth) +\n toInt(styles.borderRightWidth)\n );\n}\n\nvar env = {\n isWebKit:\n typeof document !== 'undefined' &&\n 'WebkitAppearance' in document.documentElement.style,\n supportsTouch:\n typeof window !== 'undefined' &&\n ('ontouchstart' in window ||\n (window.DocumentTouch && document instanceof window.DocumentTouch)),\n supportsIePointer:\n typeof navigator !== 'undefined' && navigator.msMaxTouchPoints,\n isChrome:\n typeof navigator !== 'undefined' &&\n /Chrome/i.test(navigator && navigator.userAgent),\n};\n\nvar updateGeometry = function(i) {\n var element = i.element;\n\n i.containerWidth = element.clientWidth;\n i.containerHeight = element.clientHeight;\n i.contentWidth = element.scrollWidth;\n i.contentHeight = element.scrollHeight;\n\n if (!element.contains(i.scrollbarXRail)) {\n // clean up and append\n queryChildren(element, cls.element.rail('x')).forEach(function (el) { return remove(el); }\n );\n element.appendChild(i.scrollbarXRail);\n }\n if (!element.contains(i.scrollbarYRail)) {\n // clean up and append\n queryChildren(element, cls.element.rail('y')).forEach(function (el) { return remove(el); }\n );\n element.appendChild(i.scrollbarYRail);\n }\n\n if (\n !i.settings.suppressScrollX &&\n i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth\n ) {\n i.scrollbarXActive = true;\n i.railXWidth = i.containerWidth - i.railXMarginWidth;\n i.railXRatio = i.containerWidth / i.railXWidth;\n i.scrollbarXWidth = getThumbSize(\n i,\n toInt(i.railXWidth * i.containerWidth / i.contentWidth)\n );\n i.scrollbarXLeft = toInt(\n (i.negativeScrollAdjustment + element.scrollLeft) *\n (i.railXWidth - i.scrollbarXWidth) /\n (i.contentWidth - i.containerWidth)\n );\n } else {\n i.scrollbarXActive = false;\n }\n\n if (\n !i.settings.suppressScrollY &&\n i.containerHeight + i.settings.scrollYMarginOffset < i.contentHeight\n ) {\n i.scrollbarYActive = true;\n i.railYHeight = i.containerHeight - i.railYMarginHeight;\n i.railYRatio = i.containerHeight / i.railYHeight;\n i.scrollbarYHeight = getThumbSize(\n i,\n toInt(i.railYHeight * i.containerHeight / i.contentHeight)\n );\n i.scrollbarYTop = toInt(\n element.scrollTop *\n (i.railYHeight - i.scrollbarYHeight) /\n (i.contentHeight - i.containerHeight)\n );\n } else {\n i.scrollbarYActive = false;\n }\n\n if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) {\n i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth;\n }\n if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) {\n i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight;\n }\n\n updateCss(element, i);\n\n if (i.scrollbarXActive) {\n element.classList.add(cls.state.active('x'));\n } else {\n element.classList.remove(cls.state.active('x'));\n i.scrollbarXWidth = 0;\n i.scrollbarXLeft = 0;\n element.scrollLeft = 0;\n }\n if (i.scrollbarYActive) {\n element.classList.add(cls.state.active('y'));\n } else {\n element.classList.remove(cls.state.active('y'));\n i.scrollbarYHeight = 0;\n i.scrollbarYTop = 0;\n element.scrollTop = 0;\n }\n};\n\nfunction getThumbSize(i, thumbSize) {\n if (i.settings.minScrollbarLength) {\n thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength);\n }\n if (i.settings.maxScrollbarLength) {\n thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength);\n }\n return thumbSize;\n}\n\nfunction updateCss(element, i) {\n var xRailOffset = { width: i.railXWidth };\n if (i.isRtl) {\n xRailOffset.left =\n i.negativeScrollAdjustment +\n element.scrollLeft +\n i.containerWidth -\n i.contentWidth;\n } else {\n xRailOffset.left = element.scrollLeft;\n }\n if (i.isScrollbarXUsingBottom) {\n xRailOffset.bottom = i.scrollbarXBottom - element.scrollTop;\n } else {\n xRailOffset.top = i.scrollbarXTop + element.scrollTop;\n }\n set(i.scrollbarXRail, xRailOffset);\n\n var yRailOffset = { top: element.scrollTop, height: i.railYHeight };\n if (i.isScrollbarYUsingRight) {\n if (i.isRtl) {\n yRailOffset.right =\n i.contentWidth -\n (i.negativeScrollAdjustment + element.scrollLeft) -\n i.scrollbarYRight -\n i.scrollbarYOuterWidth;\n } else {\n yRailOffset.right = i.scrollbarYRight - element.scrollLeft;\n }\n } else {\n if (i.isRtl) {\n yRailOffset.left =\n i.negativeScrollAdjustment +\n element.scrollLeft +\n i.containerWidth * 2 -\n i.contentWidth -\n i.scrollbarYLeft -\n i.scrollbarYOuterWidth;\n } else {\n yRailOffset.left = i.scrollbarYLeft + element.scrollLeft;\n }\n }\n set(i.scrollbarYRail, yRailOffset);\n\n set(i.scrollbarX, {\n left: i.scrollbarXLeft,\n width: i.scrollbarXWidth - i.railBorderXWidth,\n });\n set(i.scrollbarY, {\n top: i.scrollbarYTop,\n height: i.scrollbarYHeight - i.railBorderYWidth,\n });\n}\n\nvar clickRail = function(i) {\n i.event.bind(i.scrollbarY, 'mousedown', function (e) { return e.stopPropagation(); });\n i.event.bind(i.scrollbarYRail, 'mousedown', function (e) {\n var positionTop =\n e.pageY -\n window.pageYOffset -\n i.scrollbarYRail.getBoundingClientRect().top;\n var direction = positionTop > i.scrollbarYTop ? 1 : -1;\n\n i.element.scrollTop += direction * i.containerHeight;\n updateGeometry(i);\n\n e.stopPropagation();\n });\n\n i.event.bind(i.scrollbarX, 'mousedown', function (e) { return e.stopPropagation(); });\n i.event.bind(i.scrollbarXRail, 'mousedown', function (e) {\n var positionLeft =\n e.pageX -\n window.pageXOffset -\n i.scrollbarXRail.getBoundingClientRect().left;\n var direction = positionLeft > i.scrollbarXLeft ? 1 : -1;\n\n i.element.scrollLeft += direction * i.containerWidth;\n updateGeometry(i);\n\n e.stopPropagation();\n });\n};\n\nvar dragThumb = function(i) {\n bindMouseScrollHandler(i, [\n 'containerWidth',\n 'contentWidth',\n 'pageX',\n 'railXWidth',\n 'scrollbarX',\n 'scrollbarXWidth',\n 'scrollLeft',\n 'x' ]);\n bindMouseScrollHandler(i, [\n 'containerHeight',\n 'contentHeight',\n 'pageY',\n 'railYHeight',\n 'scrollbarY',\n 'scrollbarYHeight',\n 'scrollTop',\n 'y' ]);\n};\n\nfunction bindMouseScrollHandler(\n i,\n ref\n) {\n var containerHeight = ref[0];\n var contentHeight = ref[1];\n var pageY = ref[2];\n var railYHeight = ref[3];\n var scrollbarY = ref[4];\n var scrollbarYHeight = ref[5];\n var scrollTop = ref[6];\n var y = ref[7];\n\n var element = i.element;\n\n var startingScrollTop = null;\n var startingMousePageY = null;\n var scrollBy = null;\n\n function mouseMoveHandler(e) {\n element[scrollTop] =\n startingScrollTop + scrollBy * (e[pageY] - startingMousePageY);\n addScrollingClass(i, y);\n updateGeometry(i);\n\n e.stopPropagation();\n e.preventDefault();\n }\n\n function mouseUpHandler() {\n removeScrollingClass(i, y);\n i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n }\n\n i.event.bind(i[scrollbarY], 'mousedown', function (e) {\n startingScrollTop = element[scrollTop];\n startingMousePageY = e[pageY];\n scrollBy =\n (i[contentHeight] - i[containerHeight]) /\n (i[railYHeight] - i[scrollbarYHeight]);\n\n i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);\n\n e.stopPropagation();\n e.preventDefault();\n });\n}\n\nvar keyboard = function(i) {\n var element = i.element;\n\n var elementHovered = function () { return matches(element, ':hover'); };\n var scrollbarFocused = function () { return matches(i.scrollbarX, ':focus') || matches(i.scrollbarY, ':focus'); };\n\n function shouldPreventDefault(deltaX, deltaY) {\n var scrollTop = element.scrollTop;\n if (deltaX === 0) {\n if (!i.scrollbarYActive) {\n return false;\n }\n if (\n (scrollTop === 0 && deltaY > 0) ||\n (scrollTop >= i.contentHeight - i.containerHeight && deltaY < 0)\n ) {\n return !i.settings.wheelPropagation;\n }\n }\n\n var scrollLeft = element.scrollLeft;\n if (deltaY === 0) {\n if (!i.scrollbarXActive) {\n return false;\n }\n if (\n (scrollLeft === 0 && deltaX < 0) ||\n (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > 0)\n ) {\n return !i.settings.wheelPropagation;\n }\n }\n return true;\n }\n\n i.event.bind(i.ownerDocument, 'keydown', function (e) {\n if (\n (e.isDefaultPrevented && e.isDefaultPrevented()) ||\n e.defaultPrevented\n ) {\n return;\n }\n\n if (!elementHovered() && !scrollbarFocused()) {\n return;\n }\n\n var activeElement = document.activeElement\n ? document.activeElement\n : i.ownerDocument.activeElement;\n if (activeElement) {\n if (activeElement.tagName === 'IFRAME') {\n activeElement = activeElement.contentDocument.activeElement;\n } else {\n // go deeper if element is a webcomponent\n while (activeElement.shadowRoot) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n }\n if (isEditable(activeElement)) {\n return;\n }\n }\n\n var deltaX = 0;\n var deltaY = 0;\n\n switch (e.which) {\n case 37: // left\n if (e.metaKey) {\n deltaX = -i.contentWidth;\n } else if (e.altKey) {\n deltaX = -i.containerWidth;\n } else {\n deltaX = -30;\n }\n break;\n case 38: // up\n if (e.metaKey) {\n deltaY = i.contentHeight;\n } else if (e.altKey) {\n deltaY = i.containerHeight;\n } else {\n deltaY = 30;\n }\n break;\n case 39: // right\n if (e.metaKey) {\n deltaX = i.contentWidth;\n } else if (e.altKey) {\n deltaX = i.containerWidth;\n } else {\n deltaX = 30;\n }\n break;\n case 40: // down\n if (e.metaKey) {\n deltaY = -i.contentHeight;\n } else if (e.altKey) {\n deltaY = -i.containerHeight;\n } else {\n deltaY = -30;\n }\n break;\n case 32: // space bar\n if (e.shiftKey) {\n deltaY = i.containerHeight;\n } else {\n deltaY = -i.containerHeight;\n }\n break;\n case 33: // page up\n deltaY = i.containerHeight;\n break;\n case 34: // page down\n deltaY = -i.containerHeight;\n break;\n case 36: // home\n deltaY = i.contentHeight;\n break;\n case 35: // end\n deltaY = -i.contentHeight;\n break;\n default:\n return;\n }\n\n if (i.settings.suppressScrollX && deltaX !== 0) {\n return;\n }\n if (i.settings.suppressScrollY && deltaY !== 0) {\n return;\n }\n\n element.scrollTop -= deltaY;\n element.scrollLeft += deltaX;\n updateGeometry(i);\n\n if (shouldPreventDefault(deltaX, deltaY)) {\n e.preventDefault();\n }\n });\n};\n\nvar wheel = function(i) {\n var element = i.element;\n\n function shouldPreventDefault(deltaX, deltaY) {\n var isTop = element.scrollTop === 0;\n var isBottom =\n element.scrollTop + element.offsetHeight === element.scrollHeight;\n var isLeft = element.scrollLeft === 0;\n var isRight =\n element.scrollLeft + element.offsetWidth === element.offsetWidth;\n\n var hitsBound;\n\n // pick axis with primary direction\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n hitsBound = isTop || isBottom;\n } else {\n hitsBound = isLeft || isRight;\n }\n\n return hitsBound ? !i.settings.wheelPropagation : true;\n }\n\n function getDeltaFromEvent(e) {\n var deltaX = e.deltaX;\n var deltaY = -1 * e.deltaY;\n\n if (typeof deltaX === 'undefined' || typeof deltaY === 'undefined') {\n // OS X Safari\n deltaX = -1 * e.wheelDeltaX / 6;\n deltaY = e.wheelDeltaY / 6;\n }\n\n if (e.deltaMode && e.deltaMode === 1) {\n // Firefox in deltaMode 1: Line scrolling\n deltaX *= 10;\n deltaY *= 10;\n }\n\n if (deltaX !== deltaX && deltaY !== deltaY /* NaN checks */) {\n // IE in some mouse drivers\n deltaX = 0;\n deltaY = e.wheelDelta;\n }\n\n if (e.shiftKey) {\n // reverse axis with shift key\n return [-deltaY, -deltaX];\n }\n return [deltaX, deltaY];\n }\n\n function shouldBeConsumedByChild(target, deltaX, deltaY) {\n // FIXME: this is a workaround for issue in FF and IE #571\n if (!env.isWebKit && element.querySelector('select:focus')) {\n return true;\n }\n\n if (!element.contains(target)) {\n return false;\n }\n\n var cursor = target;\n\n while (cursor && cursor !== element) {\n if (cursor.classList.contains(cls.element.consuming)) {\n return true;\n }\n\n var style = get(cursor);\n var overflow = [style.overflow, style.overflowX, style.overflowY].join(\n ''\n );\n\n // if scrollable\n if (overflow.match(/(scroll|auto)/)) {\n var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;\n if (maxScrollTop > 0) {\n if (\n !(cursor.scrollTop === 0 && deltaY > 0) &&\n !(cursor.scrollTop === maxScrollTop && deltaY < 0)\n ) {\n return true;\n }\n }\n var maxScrollLeft = cursor.scrollLeft - cursor.clientWidth;\n if (maxScrollLeft > 0) {\n if (\n !(cursor.scrollLeft === 0 && deltaX < 0) &&\n !(cursor.scrollLeft === maxScrollLeft && deltaX > 0)\n ) {\n return true;\n }\n }\n }\n\n cursor = cursor.parentNode;\n }\n\n return false;\n }\n\n function mousewheelHandler(e) {\n var ref = getDeltaFromEvent(e);\n var deltaX = ref[0];\n var deltaY = ref[1];\n\n if (shouldBeConsumedByChild(e.target, deltaX, deltaY)) {\n return;\n }\n\n var shouldPrevent = false;\n if (!i.settings.useBothWheelAxes) {\n // deltaX will only be used for horizontal scrolling and deltaY will\n // only be used for vertical scrolling - this is the default\n element.scrollTop -= deltaY * i.settings.wheelSpeed;\n element.scrollLeft += deltaX * i.settings.wheelSpeed;\n } else if (i.scrollbarYActive && !i.scrollbarXActive) {\n // only vertical scrollbar is active and useBothWheelAxes option is\n // active, so let's scroll vertical bar using both mouse wheel axes\n if (deltaY) {\n element.scrollTop -= deltaY * i.settings.wheelSpeed;\n } else {\n element.scrollTop += deltaX * i.settings.wheelSpeed;\n }\n shouldPrevent = true;\n } else if (i.scrollbarXActive && !i.scrollbarYActive) {\n // useBothWheelAxes and only horizontal bar is active, so use both\n // wheel axes for horizontal bar\n if (deltaX) {\n element.scrollLeft += deltaX * i.settings.wheelSpeed;\n } else {\n element.scrollLeft -= deltaY * i.settings.wheelSpeed;\n }\n shouldPrevent = true;\n }\n\n updateGeometry(i);\n\n shouldPrevent = shouldPrevent || shouldPreventDefault(deltaX, deltaY);\n if (shouldPrevent && !e.ctrlKey) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n if (typeof window.onwheel !== 'undefined') {\n i.event.bind(element, 'wheel', mousewheelHandler);\n } else if (typeof window.onmousewheel !== 'undefined') {\n i.event.bind(element, 'mousewheel', mousewheelHandler);\n }\n};\n\nvar touch = function(i) {\n if (!env.supportsTouch && !env.supportsIePointer) {\n return;\n }\n\n var element = i.element;\n\n function shouldPrevent(deltaX, deltaY) {\n var scrollTop = element.scrollTop;\n var scrollLeft = element.scrollLeft;\n var magnitudeX = Math.abs(deltaX);\n var magnitudeY = Math.abs(deltaY);\n\n if (magnitudeY > magnitudeX) {\n // user is perhaps trying to swipe up/down the page\n\n if (\n (deltaY < 0 && scrollTop === i.contentHeight - i.containerHeight) ||\n (deltaY > 0 && scrollTop === 0)\n ) {\n // set prevent for mobile Chrome refresh\n return window.scrollY === 0 && deltaY > 0 && env.isChrome;\n }\n } else if (magnitudeX > magnitudeY) {\n // user is perhaps trying to swipe left/right across the page\n\n if (\n (deltaX < 0 && scrollLeft === i.contentWidth - i.containerWidth) ||\n (deltaX > 0 && scrollLeft === 0)\n ) {\n return true;\n }\n }\n\n return true;\n }\n\n function applyTouchMove(differenceX, differenceY) {\n element.scrollTop -= differenceY;\n element.scrollLeft -= differenceX;\n\n updateGeometry(i);\n }\n\n var startOffset = {};\n var startTime = 0;\n var speed = {};\n var easingLoop = null;\n\n function getTouch(e) {\n if (e.targetTouches) {\n return e.targetTouches[0];\n } else {\n // Maybe IE pointer\n return e;\n }\n }\n\n function shouldHandle(e) {\n if (e.pointerType && e.pointerType === 'pen' && e.buttons === 0) {\n return false;\n }\n if (e.targetTouches && e.targetTouches.length === 1) {\n return true;\n }\n if (\n e.pointerType &&\n e.pointerType !== 'mouse' &&\n e.pointerType !== e.MSPOINTER_TYPE_MOUSE\n ) {\n return true;\n }\n return false;\n }\n\n function touchStart(e) {\n if (!shouldHandle(e)) {\n return;\n }\n\n var touch = getTouch(e);\n\n startOffset.pageX = touch.pageX;\n startOffset.pageY = touch.pageY;\n\n startTime = new Date().getTime();\n\n if (easingLoop !== null) {\n clearInterval(easingLoop);\n }\n }\n\n function shouldBeConsumedByChild(target, deltaX, deltaY) {\n if (!element.contains(target)) {\n return false;\n }\n\n var cursor = target;\n\n while (cursor && cursor !== element) {\n if (cursor.classList.contains(cls.element.consuming)) {\n return true;\n }\n\n var style = get(cursor);\n var overflow = [style.overflow, style.overflowX, style.overflowY].join(\n ''\n );\n\n // if scrollable\n if (overflow.match(/(scroll|auto)/)) {\n var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;\n if (maxScrollTop > 0) {\n if (\n !(cursor.scrollTop === 0 && deltaY > 0) &&\n !(cursor.scrollTop === maxScrollTop && deltaY < 0)\n ) {\n return true;\n }\n }\n var maxScrollLeft = cursor.scrollLeft - cursor.clientWidth;\n if (maxScrollLeft > 0) {\n if (\n !(cursor.scrollLeft === 0 && deltaX < 0) &&\n !(cursor.scrollLeft === maxScrollLeft && deltaX > 0)\n ) {\n return true;\n }\n }\n }\n\n cursor = cursor.parentNode;\n }\n\n return false;\n }\n\n function touchMove(e) {\n if (shouldHandle(e)) {\n var touch = getTouch(e);\n\n var currentOffset = { pageX: touch.pageX, pageY: touch.pageY };\n\n var differenceX = currentOffset.pageX - startOffset.pageX;\n var differenceY = currentOffset.pageY - startOffset.pageY;\n\n if (shouldBeConsumedByChild(e.target, differenceX, differenceY)) {\n return;\n }\n\n applyTouchMove(differenceX, differenceY);\n startOffset = currentOffset;\n\n var currentTime = new Date().getTime();\n\n var timeGap = currentTime - startTime;\n if (timeGap > 0) {\n speed.x = differenceX / timeGap;\n speed.y = differenceY / timeGap;\n startTime = currentTime;\n }\n\n if (shouldPrevent(differenceX, differenceY)) {\n e.preventDefault();\n }\n }\n }\n function touchEnd() {\n if (i.settings.swipeEasing) {\n clearInterval(easingLoop);\n easingLoop = setInterval(function() {\n if (i.isInitialized) {\n clearInterval(easingLoop);\n return;\n }\n\n if (!speed.x && !speed.y) {\n clearInterval(easingLoop);\n return;\n }\n\n if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) {\n clearInterval(easingLoop);\n return;\n }\n\n applyTouchMove(speed.x * 30, speed.y * 30);\n\n speed.x *= 0.8;\n speed.y *= 0.8;\n }, 10);\n }\n }\n\n if (env.supportsTouch) {\n i.event.bind(element, 'touchstart', touchStart);\n i.event.bind(element, 'touchmove', touchMove);\n i.event.bind(element, 'touchend', touchEnd);\n } else if (env.supportsIePointer) {\n if (window.PointerEvent) {\n i.event.bind(element, 'pointerdown', touchStart);\n i.event.bind(element, 'pointermove', touchMove);\n i.event.bind(element, 'pointerup', touchEnd);\n } else if (window.MSPointerEvent) {\n i.event.bind(element, 'MSPointerDown', touchStart);\n i.event.bind(element, 'MSPointerMove', touchMove);\n i.event.bind(element, 'MSPointerUp', touchEnd);\n }\n }\n};\n\nvar defaultSettings = function () { return ({\n handlers: ['click-rail', 'drag-thumb', 'keyboard', 'wheel', 'touch'],\n maxScrollbarLength: null,\n minScrollbarLength: null,\n scrollingThreshold: 1000,\n scrollXMarginOffset: 0,\n scrollYMarginOffset: 0,\n suppressScrollX: false,\n suppressScrollY: false,\n swipeEasing: true,\n useBothWheelAxes: false,\n wheelPropagation: false,\n wheelSpeed: 1,\n}); };\n\nvar handlers = {\n 'click-rail': clickRail,\n 'drag-thumb': dragThumb,\n keyboard: keyboard,\n wheel: wheel,\n touch: touch,\n};\n\nvar PerfectScrollbar = function PerfectScrollbar(element, userSettings) {\n var this$1 = this;\n if ( userSettings === void 0 ) userSettings = {};\n\n if (typeof element === 'string') {\n element = document.querySelector(element);\n }\n\n if (!element || !element.nodeName) {\n throw new Error('no element is specified to initialize PerfectScrollbar');\n }\n\n this.element = element;\n\n element.classList.add(cls.main);\n\n this.settings = defaultSettings();\n for (var key in userSettings) {\n this$1.settings[key] = userSettings[key];\n }\n\n this.containerWidth = null;\n this.containerHeight = null;\n this.contentWidth = null;\n this.contentHeight = null;\n\n var focus = function () { return element.classList.add(cls.state.focus); };\n var blur = function () { return element.classList.remove(cls.state.focus); };\n\n this.isRtl = get(element).direction === 'rtl';\n this.isNegativeScroll = (function () {\n var originalScrollLeft = element.scrollLeft;\n var result = null;\n element.scrollLeft = -1;\n result = element.scrollLeft < 0;\n element.scrollLeft = originalScrollLeft;\n return result;\n })();\n this.negativeScrollAdjustment = this.isNegativeScroll\n ? element.scrollWidth - element.clientWidth\n : 0;\n this.event = new EventManager();\n this.ownerDocument = element.ownerDocument || document;\n\n this.scrollbarXRail = div(cls.element.rail('x'));\n element.appendChild(this.scrollbarXRail);\n this.scrollbarX = div(cls.element.thumb('x'));\n this.scrollbarXRail.appendChild(this.scrollbarX);\n this.scrollbarX.setAttribute('tabindex', 0);\n this.event.bind(this.scrollbarX, 'focus', focus);\n this.event.bind(this.scrollbarX, 'blur', blur);\n this.scrollbarXActive = null;\n this.scrollbarXWidth = null;\n this.scrollbarXLeft = null;\n var railXStyle = get(this.scrollbarXRail);\n this.scrollbarXBottom = parseInt(railXStyle.bottom, 10);\n if (isNaN(this.scrollbarXBottom)) {\n this.isScrollbarXUsingBottom = false;\n this.scrollbarXTop = toInt(railXStyle.top);\n } else {\n this.isScrollbarXUsingBottom = true;\n }\n this.railBorderXWidth =\n toInt(railXStyle.borderLeftWidth) + toInt(railXStyle.borderRightWidth);\n // Set rail to display:block to calculate margins\n set(this.scrollbarXRail, { display: 'block' });\n this.railXMarginWidth =\n toInt(railXStyle.marginLeft) + toInt(railXStyle.marginRight);\n set(this.scrollbarXRail, { display: '' });\n this.railXWidth = null;\n this.railXRatio = null;\n\n this.scrollbarYRail = div(cls.element.rail('y'));\n element.appendChild(this.scrollbarYRail);\n this.scrollbarY = div(cls.element.thumb('y'));\n this.scrollbarYRail.appendChild(this.scrollbarY);\n this.scrollbarY.setAttribute('tabindex', 0);\n this.event.bind(this.scrollbarY, 'focus', focus);\n this.event.bind(this.scrollbarY, 'blur', blur);\n this.scrollbarYActive = null;\n this.scrollbarYHeight = null;\n this.scrollbarYTop = null;\n var railYStyle = get(this.scrollbarYRail);\n this.scrollbarYRight = parseInt(railYStyle.right, 10);\n if (isNaN(this.scrollbarYRight)) {\n this.isScrollbarYUsingRight = false;\n this.scrollbarYLeft = toInt(railYStyle.left);\n } else {\n this.isScrollbarYUsingRight = true;\n }\n this.scrollbarYOuterWidth = this.isRtl ? outerWidth(this.scrollbarY) : null;\n this.railBorderYWidth =\n toInt(railYStyle.borderTopWidth) + toInt(railYStyle.borderBottomWidth);\n set(this.scrollbarYRail, { display: 'block' });\n this.railYMarginHeight =\n toInt(railYStyle.marginTop) + toInt(railYStyle.marginBottom);\n set(this.scrollbarYRail, { display: '' });\n this.railYHeight = null;\n this.railYRatio = null;\n\n this.reach = {\n x:\n element.scrollLeft <= 0\n ? 'start'\n : element.scrollLeft >= this.contentWidth - this.containerWidth\n ? 'end'\n : null,\n y:\n element.scrollTop <= 0\n ? 'start'\n : element.scrollTop >= this.contentHeight - this.containerHeight\n ? 'end'\n : null,\n };\n\n this.isAlive = true;\n\n this.settings.handlers.forEach(function (handlerName) { return handlers[handlerName](this$1); });\n\n this.lastScrollTop = element.scrollTop; // for onScroll only\n this.lastScrollLeft = element.scrollLeft; // for onScroll only\n this.event.bind(this.element, 'scroll', function (e) { return this$1.onScroll(e); });\n updateGeometry(this);\n};\n\nPerfectScrollbar.prototype.update = function update () {\n if (!this.isAlive) {\n return;\n }\n\n // Recalcuate negative scrollLeft adjustment\n this.negativeScrollAdjustment = this.isNegativeScroll\n ? this.element.scrollWidth - this.element.clientWidth\n : 0;\n\n // Recalculate rail margins\n set(this.scrollbarXRail, { display: 'block' });\n set(this.scrollbarYRail, { display: 'block' });\n this.railXMarginWidth =\n toInt(get(this.scrollbarXRail).marginLeft) +\n toInt(get(this.scrollbarXRail).marginRight);\n this.railYMarginHeight =\n toInt(get(this.scrollbarYRail).marginTop) +\n toInt(get(this.scrollbarYRail).marginBottom);\n\n // Hide scrollbars not to affect scrollWidth and scrollHeight\n set(this.scrollbarXRail, { display: 'none' });\n set(this.scrollbarYRail, { display: 'none' });\n\n updateGeometry(this);\n\n processScrollDiff(this, 'top', 0, false, true);\n processScrollDiff(this, 'left', 0, false, true);\n\n set(this.scrollbarXRail, { display: '' });\n set(this.scrollbarYRail, { display: '' });\n};\n\nPerfectScrollbar.prototype.onScroll = function onScroll (e) {\n if (!this.isAlive) {\n return;\n }\n\n updateGeometry(this);\n processScrollDiff(this, 'top', this.element.scrollTop - this.lastScrollTop);\n processScrollDiff(\n this,\n 'left',\n this.element.scrollLeft - this.lastScrollLeft\n );\n\n this.lastScrollTop = this.element.scrollTop;\n this.lastScrollLeft = this.element.scrollLeft;\n};\n\nPerfectScrollbar.prototype.destroy = function destroy () {\n if (!this.isAlive) {\n return;\n }\n\n this.event.unbindAll();\n remove(this.scrollbarX);\n remove(this.scrollbarY);\n remove(this.scrollbarXRail);\n remove(this.scrollbarYRail);\n this.removePsClasses();\n\n // unset elements\n this.element = null;\n this.scrollbarX = null;\n this.scrollbarY = null;\n this.scrollbarXRail = null;\n this.scrollbarYRail = null;\n\n this.isAlive = false;\n};\n\nPerfectScrollbar.prototype.removePsClasses = function removePsClasses () {\n this.element.className = this.element.className\n .split(' ')\n .filter(function (name) { return !name.match(/^ps([-_].+|)$/); })\n .join(' ');\n};\n\nexport default PerfectScrollbar;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/perfect-scrollbar/dist/perfect-scrollbar.esm.js\n// module id = 7\n// module chunks = 0","var Component = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./pages.vue\"),\n /* template */\n require(\"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0cc5bd28\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./pages.vue\"),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/pages.vue\n// module id = 8\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n ref: \"pages\",\n staticClass: \"pages\"\n }, [_vm._t(\"default\")], 2)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-0cc5bd28\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/pages.vue\n// module id = 9\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-booklet\"\n }, [_c('div', {\n ref: \"book\",\n staticClass: \"book closed\"\n }, [_c('Pages', {\n attrs: {\n \"opened\": _vm.opened,\n \"initPage\": _vm.initPage\n }\n }, [_vm._t(\"default\")], 2)], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"book-control-buttons\"\n }, [_c('button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (!_vm.front),\n expression: \"!front\"\n }],\n staticClass: \"book-control-button prev\",\n attrs: {\n \"tabindex\": \"0\"\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key)) { return null; }\n _vm.prevPage($event)\n },\n \"click\": _vm.prevPage\n }\n }, [_vm._v(\"\\n Prev\\n \")]), _vm._v(\" \"), _c('button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (!_vm.back),\n expression: \"!back\"\n }],\n staticClass: \"book-control-button next\",\n attrs: {\n \"tabindex\": \"0\"\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key)) { return null; }\n _vm.nextPage($event)\n },\n \"click\": _vm.nextPage\n }\n }, [_vm._v(\"\\n Next\\n \")])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-d1bc2a96\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/book.vue\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///lib/vue-booklet.min.js","webpack:///webpack/bootstrap 47e2374e8230ada8ff26","webpack:///./~/vue-loader/lib/component-normalizer.js","webpack:///./src/components/book.vue","webpack:///book.vue","webpack:///pages.vue","webpack:///./src/lib.js","webpack:///./~/perfect-scrollbar/dist/perfect-scrollbar.esm.js","webpack:///./src/components/pages.vue","webpack:///./src/components/pages.vue?c8fe","webpack:///./src/components/book.vue?d56a"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","value","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","rawScriptExports","compiledTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","type","default","options","render","staticRenderFns","_scopeId","hook","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","functional","existing","beforeCreate","h","concat","Component","__file","keys","some","key","substr","console","error","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0__pages__","__WEBPACK_IMPORTED_MODULE_0__pages___default","components","Pages","a","data","opened","front","back","clickable","props","pageTransitionTime","Number","onOpened","Function","onFlipStart","onFlipEnd","onClosed","mounted","_this","book","$refs","$on","position","classList","remove","direction","currentPage","document","getElementsByClassName","getAllNextPage","forEach","page","contains","style","zIndex","nextElementSibling","methods","initPage","pages","firstPage","lastPage","length","index","transition","nextPage","_this2","timeOut","$emit","setTimeout","prevPage","_this3","previousElementSibling","push","__WEBPACK_IMPORTED_MODULE_0_perfect_scrollbar__","__WEBPACK_IMPORTED_MODULE_1_perfect_scrollbar_css_perfect_scrollbar_css__","initContent","contents","content","__WEBPACK_IMPORTED_MODULE_0__components_book_vue__","__WEBPACK_IMPORTED_MODULE_0__components_book_vue___default","__WEBPACK_IMPORTED_MODULE_1__styles_lib_scss__","window","Vue","component","element","getComputedStyle","set","obj","val","div","className","createElement","matches","query","elMatches","Error","parentNode","removeChild","queryChildren","selector","Array","filter","children","child","addScrollingClass","x","cls","state","scrolling","clearTimeout","scrollingClassTimeout","removeScrollingClass","isAlive","settings","scrollingThreshold","setScrollingClassInstantly","createEvent","CustomEvent","evt","initCustomEvent","undefined","processScrollDiff$1","diff","ref","useScrollingClass","forceFireReachEvent","contentHeight","containerHeight","scrollTop","y","up","down","reach","dispatchEvent","toInt","parseInt","isEditable","el","outerWidth","styles","width","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","getThumbSize","thumbSize","minScrollbarLength","Math","max","maxScrollbarLength","min","updateCss","xRailOffset","railXWidth","isRtl","left","negativeScrollAdjustment","scrollLeft","containerWidth","contentWidth","isScrollbarXUsingBottom","bottom","scrollbarXBottom","top","scrollbarXTop","scrollbarXRail","yRailOffset","height","railYHeight","isScrollbarYUsingRight","right","scrollbarYRight","scrollbarYOuterWidth","scrollbarYLeft","scrollbarYRail","scrollbarX","scrollbarXLeft","scrollbarXWidth","railBorderXWidth","scrollbarY","scrollbarYTop","scrollbarYHeight","railBorderYWidth","bindMouseScrollHandler","mouseMoveHandler","e","startingScrollTop","scrollBy","pageY","startingMousePageY","updateGeometry","stopPropagation","preventDefault","mouseUpHandler","event","unbind","ownerDocument","bind","once","Element","webkitMatchesSelector","msMatchesSelector","main","thumb","rail","consuming","focus","active","EventElement","handlers","prototypeAccessors","isEmpty","eventName","handler","addEventListener","target","this$1","removeEventListener","unbindAll","every","defineProperties","EventManager","eventElements","eventElement","ee","splice","indexOf","onceHandler","processScrollDiff","axis","fields","env","isWebKit","documentElement","supportsTouch","DocumentTouch","supportsIePointer","navigator","msMaxTouchPoints","isChrome","test","userAgent","clientWidth","clientHeight","scrollWidth","scrollHeight","appendChild","suppressScrollX","scrollXMarginOffset","scrollbarXActive","railXMarginWidth","railXRatio","suppressScrollY","scrollYMarginOffset","scrollbarYActive","railYMarginHeight","railYRatio","clickRail","positionTop","pageYOffset","getBoundingClientRect","positionLeft","pageX","pageXOffset","dragThumb","keyboard","shouldPreventDefault","deltaX","deltaY","wheelPropagation","elementHovered","scrollbarFocused","isDefaultPrevented","defaultPrevented","activeElement","tagName","contentDocument","shadowRoot","which","metaKey","altKey","shiftKey","wheel","isTop","isBottom","offsetHeight","isLeft","isRight","offsetWidth","abs","getDeltaFromEvent","wheelDeltaX","wheelDeltaY","deltaMode","wheelDelta","shouldBeConsumedByChild","querySelector","cursor","overflow","overflowX","overflowY","join","match","maxScrollTop","maxScrollLeft","mousewheelHandler","shouldPrevent","useBothWheelAxes","wheelSpeed","ctrlKey","onwheel","onmousewheel","touch","magnitudeX","magnitudeY","scrollY","applyTouchMove","differenceX","differenceY","getTouch","targetTouches","shouldHandle","pointerType","buttons","MSPOINTER_TYPE_MOUSE","touchStart","startOffset","startTime","Date","getTime","easingLoop","clearInterval","touchMove","currentOffset","currentTime","timeGap","speed","touchEnd","swipeEasing","setInterval","isInitialized","PointerEvent","MSPointerEvent","defaultSettings","click-rail","drag-thumb","PerfectScrollbar","userSettings","nodeName","blur","isNegativeScroll","originalScrollLeft","result","setAttribute","railXStyle","isNaN","display","marginLeft","marginRight","railYStyle","borderTopWidth","borderBottomWidth","marginTop","marginBottom","handlerName","lastScrollTop","lastScrollLeft","onScroll","update","destroy","removePsClasses","split","_vm","_h","$createElement","_self","_c","staticClass","_t","_withStripped","attrs","_v","directives","rawName","expression","tabindex","on","keyup","$event","_k","keyCode","click"],"mappings":"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","file":"lib/vue-booklet.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-booklet\"] = factory();\n\telse\n\t\troot[\"vue-booklet\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue-booklet\"] = factory();\n\telse\n\t\troot[\"vue-booklet\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 5);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n/* globals __VUE_SSR_CONTEXT__ */\n\n// this module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar disposed = false\nvar Component = __webpack_require__(0)(\n /* script */\n __webpack_require__(3),\n /* template */\n __webpack_require__(10),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\nComponent.options.__file = \"/Users/sardo/work/non-project/vue-booklet/src/components/book.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key.substr(0, 2) !== \"__\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] book.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (false) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-d1bc2a96\", Component.options)\n } else {\n hotAPI.reload(\"data-v-d1bc2a96\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pages__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__pages___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__pages__);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Book',\n components: {\n Pages: __WEBPACK_IMPORTED_MODULE_0__pages___default.a\n },\n data: function data() {\n return {\n opened: false,\n front: true,\n back: false,\n clickable: true\n };\n },\n\n props: {\n pageTransitionTime: {\n type: Number,\n default: 0.8\n },\n onOpened: {\n type: Function,\n default: function _default() {}\n },\n onFlipStart: {\n type: Function,\n default: function _default() {}\n },\n onFlipEnd: {\n type: Function,\n default: function _default() {}\n },\n onClosed: {\n type: Function,\n default: function _default() {}\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n var book = this.$refs.book;\n\n // Book opened event\n this.$on('onOpened', function (position) {\n _this.opened = true;\n book.classList.add('opened');\n book.classList.remove('closed');\n _this.onOpened(book, position);\n });\n\n // Book page fliped event\n this.$on('onFlipStart', function (direction) {\n var currentPage = document.getElementsByClassName('currentPage')[0];\n var hiddenPages = _this.getAllNextPage(currentPage);\n hiddenPages.forEach(function (page) {\n if (!page.classList.contains('lastPage')) {\n page.style.zIndex = '-1';\n } else {\n page.style.zIndex = '-3';\n }\n });\n if (currentPage.classList.contains('firstPage') && currentPage.nextElementSibling) {\n currentPage.nextElementSibling.style.zIndex = '2';\n }\n _this.onFlipStart(currentPage, direction);\n });\n\n this.$on('onFlipEnd', function (direction) {\n var currentPage = document.getElementsByClassName('currentPage')[0];\n\n if (currentPage.classList.contains('firstPage') && !currentPage.classList.contains('fliped')) {\n _this.front = true;\n } else {\n _this.front = false;\n }\n\n if (currentPage.classList.contains('lastPage') && currentPage.classList.contains('fliped')) {\n _this.back = true;\n } else {\n _this.back = false;\n }\n\n _this.onFlipEnd(currentPage, direction);\n });\n\n // Book closed event\n this.$on('onClosed', function (position) {\n var book = _this.$refs.book;\n _this.opened = false;\n\n book.classList.remove('opened');\n\n if (position === 'back') {\n book.classList.remove('closed');\n book.classList.add('closed-back');\n } else {\n book.classList.remove('closed-back');\n book.classList.add('closed');\n }\n\n _this.onClosed(book, position);\n });\n },\n\n methods: {\n initPage: function initPage() {\n var pages = document.getElementsByClassName('page');\n var firstPage = pages[0];\n var lastPage = pages[pages.length - 1];\n var pageTransitionTime = this.pageTransitionTime;\n\n firstPage.classList.add('firstPage');\n firstPage.classList.add('currentPage');\n\n for (var i = 0; i < pages.length; i++) {\n var index = i + 1;\n var page = pages[i];\n page.style.zIndex = '-1';\n page.style.transition = 'transform ' + pageTransitionTime + 's';\n if (index % 2 === 0) {\n page.classList.add('oven');\n } else {\n page.classList.add('odd');\n }\n }\n firstPage.style.zIndex = '3';\n if (firstPage.nextElementSibling) {\n firstPage.nextElementSibling.style.zIndex = '2';\n }\n lastPage.classList.add('lastPage');\n },\n nextPage: function nextPage() {\n var _this2 = this;\n\n var currentPage = document.getElementsByClassName('currentPage')[0];\n var nextPage = currentPage.nextElementSibling;\n var timeOut = this.pageTransitionTime * 4 * 100;\n\n if (this.clickable) {\n this.clickable = false;\n // If current page is first page and book not opened\n if (currentPage.classList.contains('firstPage') && !this.opened) {\n this.$emit('onOpened', 'front');\n }\n\n if (currentPage.classList.contains('lastPage') && this.opened) {\n this.$emit('onClosed', 'back');\n }\n\n currentPage.classList.add('fliped');\n this.$emit('onFlipStart', 'next');\n\n setTimeout(function () {\n // If this page have next page, set it to current page\n if (nextPage) {\n nextPage.style.zIndex = '3';\n currentPage.style.zIndex = '1';\n currentPage.classList.remove('currentPage');\n nextPage.classList.add('currentPage');\n }\n _this2.clickable = true;\n _this2.$emit('onFlipEnd', 'next');\n }, timeOut);\n }\n },\n prevPage: function prevPage() {\n var _this3 = this;\n\n var currentPage = document.getElementsByClassName('currentPage')[0];\n var prevPage = currentPage.previousElementSibling;\n var timeOut = this.pageTransitionTime * 4 * 100;\n\n if (this.clickable) {\n this.clickable = false;\n this.$emit('onFlipStart', 'back');\n\n // If user click on cover and book not opened\n if (prevPage) {\n // If last page fliped, undo flip only\n if (currentPage.classList.contains('lastPage') && currentPage.classList.contains('fliped')) {\n currentPage.classList.remove('fliped');\n } else {\n currentPage.style.zIndex = '1';\n currentPage.classList.remove('currentPage');\n prevPage.style.zIndex = '3';\n prevPage.classList.remove('fliped');\n prevPage.classList.add('currentPage');\n }\n\n //If previous page is first page and book not opened, close the book\n if (prevPage.classList.contains('firstPage') && !prevPage.classList.contains('fliped') && this.opened) {\n this.$emit('onClosed', 'front');\n currentPage.style.zIndex = '2';\n }\n\n //If current page is last page , book not opened and it is not filped, open the book\n if (currentPage.classList.contains('lastPage') && !currentPage.classList.contains('fliped') && !this.opened) {\n this.$emit('onOpened', 'back');\n }\n } else {\n //If the book only have one page, undo flip only\n if (currentPage.classList.contains('firstPage') && currentPage.classList.contains('fliped')) {\n this.$emit('onClosed', 'front');\n currentPage.classList.remove('fliped');\n }\n }\n\n setTimeout(function () {\n _this3.clickable = true;\n _this3.$emit('onFlipEnd', 'back');\n }, timeOut);\n }\n },\n getAllNextPage: function getAllNextPage(currentPage) {\n var pages = [];\n var nextPage = currentPage.nextElementSibling;\n while (nextPage) {\n pages.push(nextPage);\n nextPage = nextPage.nextElementSibling;\n }\n return pages;\n }\n }\n});\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_perfect_scrollbar__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_perfect_scrollbar_css_perfect_scrollbar_css__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_perfect_scrollbar_css_perfect_scrollbar_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_perfect_scrollbar_css_perfect_scrollbar_css__);\n//\n//\n//\n//\n//\n//\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n name: 'Pages',\n props: {\n initPage: Function\n },\n mounted: function mounted() {\n this.initPage();\n this.initContent();\n },\n\n methods: {\n initContent: function initContent() {\n var contents = document.getElementsByClassName('content');\n for (var i = 0; i < contents.length; i++) {\n var content = contents[i];\n var ps = new __WEBPACK_IMPORTED_MODULE_0_perfect_scrollbar__[\"a\" /* default */](content);\n }\n }\n }\n});\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_book_vue__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_book_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_book_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__styles_lib_scss__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__styles_lib_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__styles_lib_scss__);\n\n\n\nif (typeof window !== 'undefined' && window.Vue) {\n\twindow.Vue.component('Book', __WEBPACK_IMPORTED_MODULE_0__components_book_vue___default.a);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_0__components_book_vue___default.a);\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/*!\n * perfect-scrollbar v1.3.0\n * (c) 2017 Hyunje Jun\n * @license MIT\n */\nfunction get(element) {\n return getComputedStyle(element);\n}\n\nfunction set(element, obj) {\n for (var key in obj) {\n var val = obj[key];\n if (typeof val === 'number') {\n val = val + \"px\";\n }\n element.style[key] = val;\n }\n return element;\n}\n\nfunction div(className) {\n var div = document.createElement('div');\n div.className = className;\n return div;\n}\n\nvar elMatches =\n typeof Element !== 'undefined' &&\n (Element.prototype.matches ||\n Element.prototype.webkitMatchesSelector ||\n Element.prototype.msMatchesSelector);\n\nfunction matches(element, query) {\n if (!elMatches) {\n throw new Error('No element matching method supported');\n }\n\n return elMatches.call(element, query);\n}\n\nfunction remove(element) {\n if (element.remove) {\n element.remove();\n } else {\n if (element.parentNode) {\n element.parentNode.removeChild(element);\n }\n }\n}\n\nfunction queryChildren(element, selector) {\n return Array.prototype.filter.call(element.children, function (child) { return matches(child, selector); }\n );\n}\n\nvar cls = {\n main: 'ps',\n element: {\n thumb: function (x) { return (\"ps__thumb-\" + x); },\n rail: function (x) { return (\"ps__rail-\" + x); },\n consuming: 'ps__child--consume',\n },\n state: {\n focus: 'ps--focus',\n active: function (x) { return (\"ps--active-\" + x); },\n scrolling: function (x) { return (\"ps--scrolling-\" + x); },\n },\n};\n\n/*\n * Helper methods\n */\nvar scrollingClassTimeout = { x: null, y: null };\n\nfunction addScrollingClass(i, x) {\n var classList = i.element.classList;\n var className = cls.state.scrolling(x);\n\n if (classList.contains(className)) {\n clearTimeout(scrollingClassTimeout[x]);\n } else {\n classList.add(className);\n }\n}\n\nfunction removeScrollingClass(i, x) {\n scrollingClassTimeout[x] = setTimeout(\n function () { return i.isAlive && i.element.classList.remove(cls.state.scrolling(x)); },\n i.settings.scrollingThreshold\n );\n}\n\nfunction setScrollingClassInstantly(i, x) {\n addScrollingClass(i, x);\n removeScrollingClass(i, x);\n}\n\nvar EventElement = function EventElement(element) {\n this.element = element;\n this.handlers = {};\n};\n\nvar prototypeAccessors = { isEmpty: { configurable: true } };\n\nEventElement.prototype.bind = function bind (eventName, handler) {\n if (typeof this.handlers[eventName] === 'undefined') {\n this.handlers[eventName] = [];\n }\n this.handlers[eventName].push(handler);\n this.element.addEventListener(eventName, handler, false);\n};\n\nEventElement.prototype.unbind = function unbind (eventName, target) {\n var this$1 = this;\n\n this.handlers[eventName] = this.handlers[eventName].filter(function (handler) {\n if (target && handler !== target) {\n return true;\n }\n this$1.element.removeEventListener(eventName, handler, false);\n return false;\n });\n};\n\nEventElement.prototype.unbindAll = function unbindAll () {\n var this$1 = this;\n\n for (var name in this$1.handlers) {\n this$1.unbind(name);\n }\n};\n\nprototypeAccessors.isEmpty.get = function () {\n var this$1 = this;\n\n return Object.keys(this.handlers).every(\n function (key) { return this$1.handlers[key].length === 0; }\n );\n};\n\nObject.defineProperties( EventElement.prototype, prototypeAccessors );\n\nvar EventManager = function EventManager() {\n this.eventElements = [];\n};\n\nEventManager.prototype.eventElement = function eventElement (element) {\n var ee = this.eventElements.filter(function (ee) { return ee.element === element; })[0];\n if (!ee) {\n ee = new EventElement(element);\n this.eventElements.push(ee);\n }\n return ee;\n};\n\nEventManager.prototype.bind = function bind (element, eventName, handler) {\n this.eventElement(element).bind(eventName, handler);\n};\n\nEventManager.prototype.unbind = function unbind (element, eventName, handler) {\n var ee = this.eventElement(element);\n ee.unbind(eventName, handler);\n\n if (ee.isEmpty) {\n // remove\n this.eventElements.splice(this.eventElements.indexOf(ee), 1);\n }\n};\n\nEventManager.prototype.unbindAll = function unbindAll () {\n this.eventElements.forEach(function (e) { return e.unbindAll(); });\n this.eventElements = [];\n};\n\nEventManager.prototype.once = function once (element, eventName, handler) {\n var ee = this.eventElement(element);\n var onceHandler = function (evt) {\n ee.unbind(eventName, onceHandler);\n handler(evt);\n };\n ee.bind(eventName, onceHandler);\n};\n\nfunction createEvent(name) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name);\n } else {\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, false, false, undefined);\n return evt;\n }\n}\n\nvar processScrollDiff = function(\n i,\n axis,\n diff,\n useScrollingClass,\n forceFireReachEvent\n) {\n if ( useScrollingClass === void 0 ) useScrollingClass = true;\n if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;\n\n var fields;\n if (axis === 'top') {\n fields = [\n 'contentHeight',\n 'containerHeight',\n 'scrollTop',\n 'y',\n 'up',\n 'down' ];\n } else if (axis === 'left') {\n fields = [\n 'contentWidth',\n 'containerWidth',\n 'scrollLeft',\n 'x',\n 'left',\n 'right' ];\n } else {\n throw new Error('A proper axis should be provided');\n }\n\n processScrollDiff$1(i, diff, fields, useScrollingClass, forceFireReachEvent);\n};\n\nfunction processScrollDiff$1(\n i,\n diff,\n ref,\n useScrollingClass,\n forceFireReachEvent\n) {\n var contentHeight = ref[0];\n var containerHeight = ref[1];\n var scrollTop = ref[2];\n var y = ref[3];\n var up = ref[4];\n var down = ref[5];\n if ( useScrollingClass === void 0 ) useScrollingClass = true;\n if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;\n\n var element = i.element;\n\n // reset reach\n i.reach[y] = null;\n\n // 1 for subpixel rounding\n if (element[scrollTop] < 1) {\n i.reach[y] = 'start';\n }\n\n // 1 for subpixel rounding\n if (element[scrollTop] > i[contentHeight] - i[containerHeight] - 1) {\n i.reach[y] = 'end';\n }\n\n if (diff) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + y)));\n\n if (diff < 0) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + up)));\n } else if (diff > 0) {\n element.dispatchEvent(createEvent((\"ps-scroll-\" + down)));\n }\n\n if (useScrollingClass) {\n setScrollingClassInstantly(i, y);\n }\n }\n\n if (i.reach[y] && (diff || forceFireReachEvent)) {\n element.dispatchEvent(createEvent((\"ps-\" + y + \"-reach-\" + (i.reach[y]))));\n }\n}\n\nfunction toInt(x) {\n return parseInt(x, 10) || 0;\n}\n\nfunction isEditable(el) {\n return (\n matches(el, 'input,[contenteditable]') ||\n matches(el, 'select,[contenteditable]') ||\n matches(el, 'textarea,[contenteditable]') ||\n matches(el, 'button,[contenteditable]')\n );\n}\n\nfunction outerWidth(element) {\n var styles = get(element);\n return (\n toInt(styles.width) +\n toInt(styles.paddingLeft) +\n toInt(styles.paddingRight) +\n toInt(styles.borderLeftWidth) +\n toInt(styles.borderRightWidth)\n );\n}\n\nvar env = {\n isWebKit:\n typeof document !== 'undefined' &&\n 'WebkitAppearance' in document.documentElement.style,\n supportsTouch:\n typeof window !== 'undefined' &&\n ('ontouchstart' in window ||\n (window.DocumentTouch && document instanceof window.DocumentTouch)),\n supportsIePointer:\n typeof navigator !== 'undefined' && navigator.msMaxTouchPoints,\n isChrome:\n typeof navigator !== 'undefined' &&\n /Chrome/i.test(navigator && navigator.userAgent),\n};\n\nvar updateGeometry = function(i) {\n var element = i.element;\n\n i.containerWidth = element.clientWidth;\n i.containerHeight = element.clientHeight;\n i.contentWidth = element.scrollWidth;\n i.contentHeight = element.scrollHeight;\n\n if (!element.contains(i.scrollbarXRail)) {\n // clean up and append\n queryChildren(element, cls.element.rail('x')).forEach(function (el) { return remove(el); }\n );\n element.appendChild(i.scrollbarXRail);\n }\n if (!element.contains(i.scrollbarYRail)) {\n // clean up and append\n queryChildren(element, cls.element.rail('y')).forEach(function (el) { return remove(el); }\n );\n element.appendChild(i.scrollbarYRail);\n }\n\n if (\n !i.settings.suppressScrollX &&\n i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth\n ) {\n i.scrollbarXActive = true;\n i.railXWidth = i.containerWidth - i.railXMarginWidth;\n i.railXRatio = i.containerWidth / i.railXWidth;\n i.scrollbarXWidth = getThumbSize(\n i,\n toInt(i.railXWidth * i.containerWidth / i.contentWidth)\n );\n i.scrollbarXLeft = toInt(\n (i.negativeScrollAdjustment + element.scrollLeft) *\n (i.railXWidth - i.scrollbarXWidth) /\n (i.contentWidth - i.containerWidth)\n );\n } else {\n i.scrollbarXActive = false;\n }\n\n if (\n !i.settings.suppressScrollY &&\n i.containerHeight + i.settings.scrollYMarginOffset < i.contentHeight\n ) {\n i.scrollbarYActive = true;\n i.railYHeight = i.containerHeight - i.railYMarginHeight;\n i.railYRatio = i.containerHeight / i.railYHeight;\n i.scrollbarYHeight = getThumbSize(\n i,\n toInt(i.railYHeight * i.containerHeight / i.contentHeight)\n );\n i.scrollbarYTop = toInt(\n element.scrollTop *\n (i.railYHeight - i.scrollbarYHeight) /\n (i.contentHeight - i.containerHeight)\n );\n } else {\n i.scrollbarYActive = false;\n }\n\n if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) {\n i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth;\n }\n if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) {\n i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight;\n }\n\n updateCss(element, i);\n\n if (i.scrollbarXActive) {\n element.classList.add(cls.state.active('x'));\n } else {\n element.classList.remove(cls.state.active('x'));\n i.scrollbarXWidth = 0;\n i.scrollbarXLeft = 0;\n element.scrollLeft = 0;\n }\n if (i.scrollbarYActive) {\n element.classList.add(cls.state.active('y'));\n } else {\n element.classList.remove(cls.state.active('y'));\n i.scrollbarYHeight = 0;\n i.scrollbarYTop = 0;\n element.scrollTop = 0;\n }\n};\n\nfunction getThumbSize(i, thumbSize) {\n if (i.settings.minScrollbarLength) {\n thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength);\n }\n if (i.settings.maxScrollbarLength) {\n thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength);\n }\n return thumbSize;\n}\n\nfunction updateCss(element, i) {\n var xRailOffset = { width: i.railXWidth };\n if (i.isRtl) {\n xRailOffset.left =\n i.negativeScrollAdjustment +\n element.scrollLeft +\n i.containerWidth -\n i.contentWidth;\n } else {\n xRailOffset.left = element.scrollLeft;\n }\n if (i.isScrollbarXUsingBottom) {\n xRailOffset.bottom = i.scrollbarXBottom - element.scrollTop;\n } else {\n xRailOffset.top = i.scrollbarXTop + element.scrollTop;\n }\n set(i.scrollbarXRail, xRailOffset);\n\n var yRailOffset = { top: element.scrollTop, height: i.railYHeight };\n if (i.isScrollbarYUsingRight) {\n if (i.isRtl) {\n yRailOffset.right =\n i.contentWidth -\n (i.negativeScrollAdjustment + element.scrollLeft) -\n i.scrollbarYRight -\n i.scrollbarYOuterWidth;\n } else {\n yRailOffset.right = i.scrollbarYRight - element.scrollLeft;\n }\n } else {\n if (i.isRtl) {\n yRailOffset.left =\n i.negativeScrollAdjustment +\n element.scrollLeft +\n i.containerWidth * 2 -\n i.contentWidth -\n i.scrollbarYLeft -\n i.scrollbarYOuterWidth;\n } else {\n yRailOffset.left = i.scrollbarYLeft + element.scrollLeft;\n }\n }\n set(i.scrollbarYRail, yRailOffset);\n\n set(i.scrollbarX, {\n left: i.scrollbarXLeft,\n width: i.scrollbarXWidth - i.railBorderXWidth,\n });\n set(i.scrollbarY, {\n top: i.scrollbarYTop,\n height: i.scrollbarYHeight - i.railBorderYWidth,\n });\n}\n\nvar clickRail = function(i) {\n i.event.bind(i.scrollbarY, 'mousedown', function (e) { return e.stopPropagation(); });\n i.event.bind(i.scrollbarYRail, 'mousedown', function (e) {\n var positionTop =\n e.pageY -\n window.pageYOffset -\n i.scrollbarYRail.getBoundingClientRect().top;\n var direction = positionTop > i.scrollbarYTop ? 1 : -1;\n\n i.element.scrollTop += direction * i.containerHeight;\n updateGeometry(i);\n\n e.stopPropagation();\n });\n\n i.event.bind(i.scrollbarX, 'mousedown', function (e) { return e.stopPropagation(); });\n i.event.bind(i.scrollbarXRail, 'mousedown', function (e) {\n var positionLeft =\n e.pageX -\n window.pageXOffset -\n i.scrollbarXRail.getBoundingClientRect().left;\n var direction = positionLeft > i.scrollbarXLeft ? 1 : -1;\n\n i.element.scrollLeft += direction * i.containerWidth;\n updateGeometry(i);\n\n e.stopPropagation();\n });\n};\n\nvar dragThumb = function(i) {\n bindMouseScrollHandler(i, [\n 'containerWidth',\n 'contentWidth',\n 'pageX',\n 'railXWidth',\n 'scrollbarX',\n 'scrollbarXWidth',\n 'scrollLeft',\n 'x' ]);\n bindMouseScrollHandler(i, [\n 'containerHeight',\n 'contentHeight',\n 'pageY',\n 'railYHeight',\n 'scrollbarY',\n 'scrollbarYHeight',\n 'scrollTop',\n 'y' ]);\n};\n\nfunction bindMouseScrollHandler(\n i,\n ref\n) {\n var containerHeight = ref[0];\n var contentHeight = ref[1];\n var pageY = ref[2];\n var railYHeight = ref[3];\n var scrollbarY = ref[4];\n var scrollbarYHeight = ref[5];\n var scrollTop = ref[6];\n var y = ref[7];\n\n var element = i.element;\n\n var startingScrollTop = null;\n var startingMousePageY = null;\n var scrollBy = null;\n\n function mouseMoveHandler(e) {\n element[scrollTop] =\n startingScrollTop + scrollBy * (e[pageY] - startingMousePageY);\n addScrollingClass(i, y);\n updateGeometry(i);\n\n e.stopPropagation();\n e.preventDefault();\n }\n\n function mouseUpHandler() {\n removeScrollingClass(i, y);\n i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n }\n\n i.event.bind(i[scrollbarY], 'mousedown', function (e) {\n startingScrollTop = element[scrollTop];\n startingMousePageY = e[pageY];\n scrollBy =\n (i[contentHeight] - i[containerHeight]) /\n (i[railYHeight] - i[scrollbarYHeight]);\n\n i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);\n i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);\n\n e.stopPropagation();\n e.preventDefault();\n });\n}\n\nvar keyboard = function(i) {\n var element = i.element;\n\n var elementHovered = function () { return matches(element, ':hover'); };\n var scrollbarFocused = function () { return matches(i.scrollbarX, ':focus') || matches(i.scrollbarY, ':focus'); };\n\n function shouldPreventDefault(deltaX, deltaY) {\n var scrollTop = element.scrollTop;\n if (deltaX === 0) {\n if (!i.scrollbarYActive) {\n return false;\n }\n if (\n (scrollTop === 0 && deltaY > 0) ||\n (scrollTop >= i.contentHeight - i.containerHeight && deltaY < 0)\n ) {\n return !i.settings.wheelPropagation;\n }\n }\n\n var scrollLeft = element.scrollLeft;\n if (deltaY === 0) {\n if (!i.scrollbarXActive) {\n return false;\n }\n if (\n (scrollLeft === 0 && deltaX < 0) ||\n (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > 0)\n ) {\n return !i.settings.wheelPropagation;\n }\n }\n return true;\n }\n\n i.event.bind(i.ownerDocument, 'keydown', function (e) {\n if (\n (e.isDefaultPrevented && e.isDefaultPrevented()) ||\n e.defaultPrevented\n ) {\n return;\n }\n\n if (!elementHovered() && !scrollbarFocused()) {\n return;\n }\n\n var activeElement = document.activeElement\n ? document.activeElement\n : i.ownerDocument.activeElement;\n if (activeElement) {\n if (activeElement.tagName === 'IFRAME') {\n activeElement = activeElement.contentDocument.activeElement;\n } else {\n // go deeper if element is a webcomponent\n while (activeElement.shadowRoot) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n }\n if (isEditable(activeElement)) {\n return;\n }\n }\n\n var deltaX = 0;\n var deltaY = 0;\n\n switch (e.which) {\n case 37: // left\n if (e.metaKey) {\n deltaX = -i.contentWidth;\n } else if (e.altKey) {\n deltaX = -i.containerWidth;\n } else {\n deltaX = -30;\n }\n break;\n case 38: // up\n if (e.metaKey) {\n deltaY = i.contentHeight;\n } else if (e.altKey) {\n deltaY = i.containerHeight;\n } else {\n deltaY = 30;\n }\n break;\n case 39: // right\n if (e.metaKey) {\n deltaX = i.contentWidth;\n } else if (e.altKey) {\n deltaX = i.containerWidth;\n } else {\n deltaX = 30;\n }\n break;\n case 40: // down\n if (e.metaKey) {\n deltaY = -i.contentHeight;\n } else if (e.altKey) {\n deltaY = -i.containerHeight;\n } else {\n deltaY = -30;\n }\n break;\n case 32: // space bar\n if (e.shiftKey) {\n deltaY = i.containerHeight;\n } else {\n deltaY = -i.containerHeight;\n }\n break;\n case 33: // page up\n deltaY = i.containerHeight;\n break;\n case 34: // page down\n deltaY = -i.containerHeight;\n break;\n case 36: // home\n deltaY = i.contentHeight;\n break;\n case 35: // end\n deltaY = -i.contentHeight;\n break;\n default:\n return;\n }\n\n if (i.settings.suppressScrollX && deltaX !== 0) {\n return;\n }\n if (i.settings.suppressScrollY && deltaY !== 0) {\n return;\n }\n\n element.scrollTop -= deltaY;\n element.scrollLeft += deltaX;\n updateGeometry(i);\n\n if (shouldPreventDefault(deltaX, deltaY)) {\n e.preventDefault();\n }\n });\n};\n\nvar wheel = function(i) {\n var element = i.element;\n\n function shouldPreventDefault(deltaX, deltaY) {\n var isTop = element.scrollTop === 0;\n var isBottom =\n element.scrollTop + element.offsetHeight === element.scrollHeight;\n var isLeft = element.scrollLeft === 0;\n var isRight =\n element.scrollLeft + element.offsetWidth === element.offsetWidth;\n\n var hitsBound;\n\n // pick axis with primary direction\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n hitsBound = isTop || isBottom;\n } else {\n hitsBound = isLeft || isRight;\n }\n\n return hitsBound ? !i.settings.wheelPropagation : true;\n }\n\n function getDeltaFromEvent(e) {\n var deltaX = e.deltaX;\n var deltaY = -1 * e.deltaY;\n\n if (typeof deltaX === 'undefined' || typeof deltaY === 'undefined') {\n // OS X Safari\n deltaX = -1 * e.wheelDeltaX / 6;\n deltaY = e.wheelDeltaY / 6;\n }\n\n if (e.deltaMode && e.deltaMode === 1) {\n // Firefox in deltaMode 1: Line scrolling\n deltaX *= 10;\n deltaY *= 10;\n }\n\n if (deltaX !== deltaX && deltaY !== deltaY /* NaN checks */) {\n // IE in some mouse drivers\n deltaX = 0;\n deltaY = e.wheelDelta;\n }\n\n if (e.shiftKey) {\n // reverse axis with shift key\n return [-deltaY, -deltaX];\n }\n return [deltaX, deltaY];\n }\n\n function shouldBeConsumedByChild(target, deltaX, deltaY) {\n // FIXME: this is a workaround for issue in FF and IE #571\n if (!env.isWebKit && element.querySelector('select:focus')) {\n return true;\n }\n\n if (!element.contains(target)) {\n return false;\n }\n\n var cursor = target;\n\n while (cursor && cursor !== element) {\n if (cursor.classList.contains(cls.element.consuming)) {\n return true;\n }\n\n var style = get(cursor);\n var overflow = [style.overflow, style.overflowX, style.overflowY].join(\n ''\n );\n\n // if scrollable\n if (overflow.match(/(scroll|auto)/)) {\n var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;\n if (maxScrollTop > 0) {\n if (\n !(cursor.scrollTop === 0 && deltaY > 0) &&\n !(cursor.scrollTop === maxScrollTop && deltaY < 0)\n ) {\n return true;\n }\n }\n var maxScrollLeft = cursor.scrollLeft - cursor.clientWidth;\n if (maxScrollLeft > 0) {\n if (\n !(cursor.scrollLeft === 0 && deltaX < 0) &&\n !(cursor.scrollLeft === maxScrollLeft && deltaX > 0)\n ) {\n return true;\n }\n }\n }\n\n cursor = cursor.parentNode;\n }\n\n return false;\n }\n\n function mousewheelHandler(e) {\n var ref = getDeltaFromEvent(e);\n var deltaX = ref[0];\n var deltaY = ref[1];\n\n if (shouldBeConsumedByChild(e.target, deltaX, deltaY)) {\n return;\n }\n\n var shouldPrevent = false;\n if (!i.settings.useBothWheelAxes) {\n // deltaX will only be used for horizontal scrolling and deltaY will\n // only be used for vertical scrolling - this is the default\n element.scrollTop -= deltaY * i.settings.wheelSpeed;\n element.scrollLeft += deltaX * i.settings.wheelSpeed;\n } else if (i.scrollbarYActive && !i.scrollbarXActive) {\n // only vertical scrollbar is active and useBothWheelAxes option is\n // active, so let's scroll vertical bar using both mouse wheel axes\n if (deltaY) {\n element.scrollTop -= deltaY * i.settings.wheelSpeed;\n } else {\n element.scrollTop += deltaX * i.settings.wheelSpeed;\n }\n shouldPrevent = true;\n } else if (i.scrollbarXActive && !i.scrollbarYActive) {\n // useBothWheelAxes and only horizontal bar is active, so use both\n // wheel axes for horizontal bar\n if (deltaX) {\n element.scrollLeft += deltaX * i.settings.wheelSpeed;\n } else {\n element.scrollLeft -= deltaY * i.settings.wheelSpeed;\n }\n shouldPrevent = true;\n }\n\n updateGeometry(i);\n\n shouldPrevent = shouldPrevent || shouldPreventDefault(deltaX, deltaY);\n if (shouldPrevent && !e.ctrlKey) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n\n if (typeof window.onwheel !== 'undefined') {\n i.event.bind(element, 'wheel', mousewheelHandler);\n } else if (typeof window.onmousewheel !== 'undefined') {\n i.event.bind(element, 'mousewheel', mousewheelHandler);\n }\n};\n\nvar touch = function(i) {\n if (!env.supportsTouch && !env.supportsIePointer) {\n return;\n }\n\n var element = i.element;\n\n function shouldPrevent(deltaX, deltaY) {\n var scrollTop = element.scrollTop;\n var scrollLeft = element.scrollLeft;\n var magnitudeX = Math.abs(deltaX);\n var magnitudeY = Math.abs(deltaY);\n\n if (magnitudeY > magnitudeX) {\n // user is perhaps trying to swipe up/down the page\n\n if (\n (deltaY < 0 && scrollTop === i.contentHeight - i.containerHeight) ||\n (deltaY > 0 && scrollTop === 0)\n ) {\n // set prevent for mobile Chrome refresh\n return window.scrollY === 0 && deltaY > 0 && env.isChrome;\n }\n } else if (magnitudeX > magnitudeY) {\n // user is perhaps trying to swipe left/right across the page\n\n if (\n (deltaX < 0 && scrollLeft === i.contentWidth - i.containerWidth) ||\n (deltaX > 0 && scrollLeft === 0)\n ) {\n return true;\n }\n }\n\n return true;\n }\n\n function applyTouchMove(differenceX, differenceY) {\n element.scrollTop -= differenceY;\n element.scrollLeft -= differenceX;\n\n updateGeometry(i);\n }\n\n var startOffset = {};\n var startTime = 0;\n var speed = {};\n var easingLoop = null;\n\n function getTouch(e) {\n if (e.targetTouches) {\n return e.targetTouches[0];\n } else {\n // Maybe IE pointer\n return e;\n }\n }\n\n function shouldHandle(e) {\n if (e.pointerType && e.pointerType === 'pen' && e.buttons === 0) {\n return false;\n }\n if (e.targetTouches && e.targetTouches.length === 1) {\n return true;\n }\n if (\n e.pointerType &&\n e.pointerType !== 'mouse' &&\n e.pointerType !== e.MSPOINTER_TYPE_MOUSE\n ) {\n return true;\n }\n return false;\n }\n\n function touchStart(e) {\n if (!shouldHandle(e)) {\n return;\n }\n\n var touch = getTouch(e);\n\n startOffset.pageX = touch.pageX;\n startOffset.pageY = touch.pageY;\n\n startTime = new Date().getTime();\n\n if (easingLoop !== null) {\n clearInterval(easingLoop);\n }\n }\n\n function shouldBeConsumedByChild(target, deltaX, deltaY) {\n if (!element.contains(target)) {\n return false;\n }\n\n var cursor = target;\n\n while (cursor && cursor !== element) {\n if (cursor.classList.contains(cls.element.consuming)) {\n return true;\n }\n\n var style = get(cursor);\n var overflow = [style.overflow, style.overflowX, style.overflowY].join(\n ''\n );\n\n // if scrollable\n if (overflow.match(/(scroll|auto)/)) {\n var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;\n if (maxScrollTop > 0) {\n if (\n !(cursor.scrollTop === 0 && deltaY > 0) &&\n !(cursor.scrollTop === maxScrollTop && deltaY < 0)\n ) {\n return true;\n }\n }\n var maxScrollLeft = cursor.scrollLeft - cursor.clientWidth;\n if (maxScrollLeft > 0) {\n if (\n !(cursor.scrollLeft === 0 && deltaX < 0) &&\n !(cursor.scrollLeft === maxScrollLeft && deltaX > 0)\n ) {\n return true;\n }\n }\n }\n\n cursor = cursor.parentNode;\n }\n\n return false;\n }\n\n function touchMove(e) {\n if (shouldHandle(e)) {\n var touch = getTouch(e);\n\n var currentOffset = { pageX: touch.pageX, pageY: touch.pageY };\n\n var differenceX = currentOffset.pageX - startOffset.pageX;\n var differenceY = currentOffset.pageY - startOffset.pageY;\n\n if (shouldBeConsumedByChild(e.target, differenceX, differenceY)) {\n return;\n }\n\n applyTouchMove(differenceX, differenceY);\n startOffset = currentOffset;\n\n var currentTime = new Date().getTime();\n\n var timeGap = currentTime - startTime;\n if (timeGap > 0) {\n speed.x = differenceX / timeGap;\n speed.y = differenceY / timeGap;\n startTime = currentTime;\n }\n\n if (shouldPrevent(differenceX, differenceY)) {\n e.preventDefault();\n }\n }\n }\n function touchEnd() {\n if (i.settings.swipeEasing) {\n clearInterval(easingLoop);\n easingLoop = setInterval(function() {\n if (i.isInitialized) {\n clearInterval(easingLoop);\n return;\n }\n\n if (!speed.x && !speed.y) {\n clearInterval(easingLoop);\n return;\n }\n\n if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) {\n clearInterval(easingLoop);\n return;\n }\n\n applyTouchMove(speed.x * 30, speed.y * 30);\n\n speed.x *= 0.8;\n speed.y *= 0.8;\n }, 10);\n }\n }\n\n if (env.supportsTouch) {\n i.event.bind(element, 'touchstart', touchStart);\n i.event.bind(element, 'touchmove', touchMove);\n i.event.bind(element, 'touchend', touchEnd);\n } else if (env.supportsIePointer) {\n if (window.PointerEvent) {\n i.event.bind(element, 'pointerdown', touchStart);\n i.event.bind(element, 'pointermove', touchMove);\n i.event.bind(element, 'pointerup', touchEnd);\n } else if (window.MSPointerEvent) {\n i.event.bind(element, 'MSPointerDown', touchStart);\n i.event.bind(element, 'MSPointerMove', touchMove);\n i.event.bind(element, 'MSPointerUp', touchEnd);\n }\n }\n};\n\nvar defaultSettings = function () { return ({\n handlers: ['click-rail', 'drag-thumb', 'keyboard', 'wheel', 'touch'],\n maxScrollbarLength: null,\n minScrollbarLength: null,\n scrollingThreshold: 1000,\n scrollXMarginOffset: 0,\n scrollYMarginOffset: 0,\n suppressScrollX: false,\n suppressScrollY: false,\n swipeEasing: true,\n useBothWheelAxes: false,\n wheelPropagation: false,\n wheelSpeed: 1,\n}); };\n\nvar handlers = {\n 'click-rail': clickRail,\n 'drag-thumb': dragThumb,\n keyboard: keyboard,\n wheel: wheel,\n touch: touch,\n};\n\nvar PerfectScrollbar = function PerfectScrollbar(element, userSettings) {\n var this$1 = this;\n if ( userSettings === void 0 ) userSettings = {};\n\n if (typeof element === 'string') {\n element = document.querySelector(element);\n }\n\n if (!element || !element.nodeName) {\n throw new Error('no element is specified to initialize PerfectScrollbar');\n }\n\n this.element = element;\n\n element.classList.add(cls.main);\n\n this.settings = defaultSettings();\n for (var key in userSettings) {\n this$1.settings[key] = userSettings[key];\n }\n\n this.containerWidth = null;\n this.containerHeight = null;\n this.contentWidth = null;\n this.contentHeight = null;\n\n var focus = function () { return element.classList.add(cls.state.focus); };\n var blur = function () { return element.classList.remove(cls.state.focus); };\n\n this.isRtl = get(element).direction === 'rtl';\n this.isNegativeScroll = (function () {\n var originalScrollLeft = element.scrollLeft;\n var result = null;\n element.scrollLeft = -1;\n result = element.scrollLeft < 0;\n element.scrollLeft = originalScrollLeft;\n return result;\n })();\n this.negativeScrollAdjustment = this.isNegativeScroll\n ? element.scrollWidth - element.clientWidth\n : 0;\n this.event = new EventManager();\n this.ownerDocument = element.ownerDocument || document;\n\n this.scrollbarXRail = div(cls.element.rail('x'));\n element.appendChild(this.scrollbarXRail);\n this.scrollbarX = div(cls.element.thumb('x'));\n this.scrollbarXRail.appendChild(this.scrollbarX);\n this.scrollbarX.setAttribute('tabindex', 0);\n this.event.bind(this.scrollbarX, 'focus', focus);\n this.event.bind(this.scrollbarX, 'blur', blur);\n this.scrollbarXActive = null;\n this.scrollbarXWidth = null;\n this.scrollbarXLeft = null;\n var railXStyle = get(this.scrollbarXRail);\n this.scrollbarXBottom = parseInt(railXStyle.bottom, 10);\n if (isNaN(this.scrollbarXBottom)) {\n this.isScrollbarXUsingBottom = false;\n this.scrollbarXTop = toInt(railXStyle.top);\n } else {\n this.isScrollbarXUsingBottom = true;\n }\n this.railBorderXWidth =\n toInt(railXStyle.borderLeftWidth) + toInt(railXStyle.borderRightWidth);\n // Set rail to display:block to calculate margins\n set(this.scrollbarXRail, { display: 'block' });\n this.railXMarginWidth =\n toInt(railXStyle.marginLeft) + toInt(railXStyle.marginRight);\n set(this.scrollbarXRail, { display: '' });\n this.railXWidth = null;\n this.railXRatio = null;\n\n this.scrollbarYRail = div(cls.element.rail('y'));\n element.appendChild(this.scrollbarYRail);\n this.scrollbarY = div(cls.element.thumb('y'));\n this.scrollbarYRail.appendChild(this.scrollbarY);\n this.scrollbarY.setAttribute('tabindex', 0);\n this.event.bind(this.scrollbarY, 'focus', focus);\n this.event.bind(this.scrollbarY, 'blur', blur);\n this.scrollbarYActive = null;\n this.scrollbarYHeight = null;\n this.scrollbarYTop = null;\n var railYStyle = get(this.scrollbarYRail);\n this.scrollbarYRight = parseInt(railYStyle.right, 10);\n if (isNaN(this.scrollbarYRight)) {\n this.isScrollbarYUsingRight = false;\n this.scrollbarYLeft = toInt(railYStyle.left);\n } else {\n this.isScrollbarYUsingRight = true;\n }\n this.scrollbarYOuterWidth = this.isRtl ? outerWidth(this.scrollbarY) : null;\n this.railBorderYWidth =\n toInt(railYStyle.borderTopWidth) + toInt(railYStyle.borderBottomWidth);\n set(this.scrollbarYRail, { display: 'block' });\n this.railYMarginHeight =\n toInt(railYStyle.marginTop) + toInt(railYStyle.marginBottom);\n set(this.scrollbarYRail, { display: '' });\n this.railYHeight = null;\n this.railYRatio = null;\n\n this.reach = {\n x:\n element.scrollLeft <= 0\n ? 'start'\n : element.scrollLeft >= this.contentWidth - this.containerWidth\n ? 'end'\n : null,\n y:\n element.scrollTop <= 0\n ? 'start'\n : element.scrollTop >= this.contentHeight - this.containerHeight\n ? 'end'\n : null,\n };\n\n this.isAlive = true;\n\n this.settings.handlers.forEach(function (handlerName) { return handlers[handlerName](this$1); });\n\n this.lastScrollTop = element.scrollTop; // for onScroll only\n this.lastScrollLeft = element.scrollLeft; // for onScroll only\n this.event.bind(this.element, 'scroll', function (e) { return this$1.onScroll(e); });\n updateGeometry(this);\n};\n\nPerfectScrollbar.prototype.update = function update () {\n if (!this.isAlive) {\n return;\n }\n\n // Recalcuate negative scrollLeft adjustment\n this.negativeScrollAdjustment = this.isNegativeScroll\n ? this.element.scrollWidth - this.element.clientWidth\n : 0;\n\n // Recalculate rail margins\n set(this.scrollbarXRail, { display: 'block' });\n set(this.scrollbarYRail, { display: 'block' });\n this.railXMarginWidth =\n toInt(get(this.scrollbarXRail).marginLeft) +\n toInt(get(this.scrollbarXRail).marginRight);\n this.railYMarginHeight =\n toInt(get(this.scrollbarYRail).marginTop) +\n toInt(get(this.scrollbarYRail).marginBottom);\n\n // Hide scrollbars not to affect scrollWidth and scrollHeight\n set(this.scrollbarXRail, { display: 'none' });\n set(this.scrollbarYRail, { display: 'none' });\n\n updateGeometry(this);\n\n processScrollDiff(this, 'top', 0, false, true);\n processScrollDiff(this, 'left', 0, false, true);\n\n set(this.scrollbarXRail, { display: '' });\n set(this.scrollbarYRail, { display: '' });\n};\n\nPerfectScrollbar.prototype.onScroll = function onScroll (e) {\n if (!this.isAlive) {\n return;\n }\n\n updateGeometry(this);\n processScrollDiff(this, 'top', this.element.scrollTop - this.lastScrollTop);\n processScrollDiff(\n this,\n 'left',\n this.element.scrollLeft - this.lastScrollLeft\n );\n\n this.lastScrollTop = this.element.scrollTop;\n this.lastScrollLeft = this.element.scrollLeft;\n};\n\nPerfectScrollbar.prototype.destroy = function destroy () {\n if (!this.isAlive) {\n return;\n }\n\n this.event.unbindAll();\n remove(this.scrollbarX);\n remove(this.scrollbarY);\n remove(this.scrollbarXRail);\n remove(this.scrollbarYRail);\n this.removePsClasses();\n\n // unset elements\n this.element = null;\n this.scrollbarX = null;\n this.scrollbarY = null;\n this.scrollbarXRail = null;\n this.scrollbarYRail = null;\n\n this.isAlive = false;\n};\n\nPerfectScrollbar.prototype.removePsClasses = function removePsClasses () {\n this.element.className = this.element.className\n .split(' ')\n .filter(function (name) { return !name.match(/^ps([-_].+|)$/); })\n .join(' ');\n};\n\nexport default PerfectScrollbar;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/perfect-scrollbar/dist/perfect-scrollbar.esm.js\n// module id = 7\n// module chunks = 0","var disposed = false\nvar Component = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./pages.vue\"),\n /* template */\n require(\"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0cc5bd28\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":\\\"src\\\",\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./pages.vue\"),\n /* styles */\n null,\n /* scopeId */\n null,\n /* moduleIdentifier (server only) */\n null\n)\nComponent.options.__file = \"/Users/sardo/work/non-project/vue-booklet/src/components/pages.vue\"\nif (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== \"default\" && key.substr(0, 2) !== \"__\"})) {console.error(\"named exports are not supported in *.vue files.\")}\nif (Component.options.functional) {console.error(\"[vue-loader] pages.vue: functional components are not supported with templates, they should use render functions.\")}\n\n/* hot reload */\nif (module.hot) {(function () {\n var hotAPI = require(\"vue-hot-reload-api\")\n hotAPI.install(require(\"vue\"), false)\n if (!hotAPI.compatible) return\n module.hot.accept()\n if (!module.hot.data) {\n hotAPI.createRecord(\"data-v-0cc5bd28\", Component.options)\n } else {\n hotAPI.reload(\"data-v-0cc5bd28\", Component.options)\n }\n module.hot.dispose(function (data) {\n disposed = true\n })\n})()}\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/pages.vue\n// module id = 8\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n ref: \"pages\",\n staticClass: \"pages\"\n }, [_vm._t(\"default\")], 2)\n},staticRenderFns: []}\nmodule.exports.render._withStripped = true\nif (module.hot) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\").rerender(\"data-v-0cc5bd28\", module.exports)\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-0cc5bd28\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/pages.vue\n// module id = 9\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-booklet\"\n }, [_c('div', {\n ref: \"book\",\n staticClass: \"book closed\"\n }, [_c('Pages', {\n attrs: {\n \"opened\": _vm.opened,\n \"initPage\": _vm.initPage\n }\n }, [_vm._t(\"default\")], 2)], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"book-control-buttons\"\n }, [_c('button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (!_vm.front),\n expression: \"!front\"\n }],\n staticClass: \"book-control-button prev\",\n attrs: {\n \"tabindex\": \"0\"\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key)) { return null; }\n _vm.prevPage($event)\n },\n \"click\": _vm.prevPage\n }\n }, [_vm._v(\"\\n Prev\\n \")]), _vm._v(\" \"), _c('button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (!_vm.back),\n expression: \"!back\"\n }],\n staticClass: \"book-control-button next\",\n attrs: {\n \"tabindex\": \"0\"\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13, $event.key)) { return null; }\n _vm.nextPage($event)\n },\n \"click\": _vm.nextPage\n }\n }, [_vm._v(\"\\n Next\\n \")])])])\n},staticRenderFns: []}\nmodule.exports.render._withStripped = true\nif (module.hot) {\n module.hot.accept()\n if (module.hot.data) {\n require(\"vue-hot-reload-api\").rerender(\"data-v-d1bc2a96\", module.exports)\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler?{\"id\":\"data-v-d1bc2a96\",\"hasScoped\":false,\"transformToRequire\":{\"video\":\"src\",\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"}}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/book.vue\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/index.html b/index.html index 7bacfdf..917182a 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Vue Booklet

Vue Booklet

Create your own book without jQuery

\ No newline at end of file +Vue Booklet

Vue Booklet

Create your own book without jQuery

\ No newline at end of file diff --git a/package.json b/package.json index 58d651e..475820b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-booklet", - "version": "1.0.0", + "version": "1.0.1", "description": "Vue book-like compoment for create a your own e-book", "author": "Mr.Twister ", "main": "dist/lib/vue-booklet.min.js", diff --git a/src/components/book.vue b/src/components/book.vue index 5f46647..66726f1 100644 --- a/src/components/book.vue +++ b/src/components/book.vue @@ -78,7 +78,7 @@ export default { page.style.zIndex = '-3'; } }); - if(currentPage.classList.contains('firstPage')){ + if(currentPage.classList.contains('firstPage') && currentPage.nextElementSibling){ currentPage.nextElementSibling.style.zIndex = '2'; } this.onFlipStart(currentPage, direction); @@ -142,7 +142,9 @@ export default { } } firstPage.style.zIndex = '3'; - firstPage.nextElementSibling.style.zIndex = '2'; + if(firstPage.nextElementSibling){ + firstPage.nextElementSibling.style.zIndex = '2'; + } lastPage.classList.add('lastPage'); }, nextPage() { @@ -209,6 +211,12 @@ export default { if (currentPage.classList.contains('lastPage') && !currentPage.classList.contains('fliped') && !this.opened) { this.$emit('onOpened', 'back'); } + }else{ + //If the book only have one page, undo flip only + if(currentPage.classList.contains('firstPage') && currentPage.classList.contains('fliped')){ + this.$emit('onClosed', 'front'); + currentPage.classList.remove('fliped'); + } } setTimeout(() => {