{{ 'fb_in_app_browser_popup.desc' | translate }} {{ 'fb_in_app_browser_popup.copy_link' | translate }}

{{ 'in_app_browser_popup.desc' | translate }}

~ 歡迎蒞臨雅痞書店 ~

我們用知識和音樂
寫一本書

期許雅痞
成為藝文流動的饗宴
}); window.scriptQueue.push(function() { function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _regeneratorRuntime(){"use strict";_regeneratorRuntime=function(){return i};var c,i={},t=Object.prototype,s=t.hasOwnProperty,l=Object.defineProperty||function(t,e,r){t[e]=r.value},e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",r=e.asyncIterator||"@@asyncIterator",o=e.toStringTag||"@@toStringTag";function a(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{a({},"")}catch(c){a=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o,a,i,u,e=e&&e.prototype instanceof v?e:v,e=Object.create(e.prototype),n=new E(n||[]);return l(e,"_invoke",{value:(o=t,a=r,i=n,u=h,function(t,e){if(u===d)throw Error("Generator is already running");if(u===p){if("throw"===t)throw e;return{value:c,done:!0}}for(i.method=t,i.arg=e;;){var r=i.delegate;if(r){r=function t(e,r){var n=r.method,o=e.iterator[n];if(o===c)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=c,t(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;n=f(o,e.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,m;o=n.arg;return o?o.done?(r[e.resultName]=o.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=c),r.delegate=null,m):o:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}(r,i);if(r){if(r===m)continue;return r}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if(u===h)throw u=p,i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);u=d;r=f(o,a,i);if("normal"===r.type){if(u=i.done?p:y,r.arg===m)continue;return{value:r.arg,done:i.done}}"throw"===r.type&&(u=p,i.method="throw",i.arg=r.arg)}})}),e}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}i.wrap=u;var h="suspendedStart",y="suspendedYield",d="executing",p="completed",m={};function v(){}function g(){}function w(){}var e={},b=(a(e,n,function(){return this}),Object.getPrototypeOf),b=b&&b(b(A([]))),_=(b&&b!==t&&s.call(b,n)&&(e=b),w.prototype=v.prototype=Object.create(e));function T(t){["next","throw","return"].forEach(function(e){a(t,e,function(t){return this._invoke(e,t)})})}function x(i,u){var e;l(this,"_invoke",{value:function(r,n){function t(){return new u(function(t,e){!function e(t,r,n,o){var a,t=f(i[t],i,r);if("throw"!==t.type)return(r=(a=t.arg).value)&&"object"==_typeof(r)&&s.call(r,"__await")?u.resolve(r.__await).then(function(t){e("next",t,n,o)},function(t){e("throw",t,n,o)}):u.resolve(r).then(function(t){a.value=t,n(a)},function(t){return e("throw",t,n,o)});o(t.arg)}(r,n,t,e)})}return e=e?e.then(t,t):t()}})}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function A(e){if(e||""===e){var r,t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return r=-1,(t=function t(){for(;++rt.length)&&(e=t.length);for(var r=0,n=Array(e);r=r.getTime())return n&&n(),t.abrupt("return");t.next=4;break;case 4:return o=e.querySelector(".days.hundreds .digit-wrapper"),a=e.querySelector(".days.tens .digit-wrapper"),i=e.querySelector(".days.ones .digit-wrapper"),u=e.querySelector(".hours.tens .digit-wrapper"),c=e.querySelector(".hours.ones .digit-wrapper"),s=e.querySelector(".minutes.tens .digit-wrapper"),l=e.querySelector(".minutes.ones .digit-wrapper"),f=e.querySelector(".seconds.tens .digit-wrapper"),h=e.querySelector(".seconds.ones .digit-wrapper"),t.next=15,delayToCurrentWholeSeconds();case 15:y(),d=setInterval(y,1e3);case 17:case"end":return t.stop()}},t)}))).apply(this,arguments)}function getTimeRemaining(t){var t=Date.parse(t)-Date.parse(new Date),e=Math.floor(t/1e3%60),r=Math.floor(t/1e3/60%60),n=Math.floor(t/36e5%24);return{total:t,days:Math.floor(t/864e5),hours:n,minutes:r,seconds:e}}function delay(e){return new Promise(function(t){setTimeout(t,e)})}function delayToCurrentWholeSeconds(){return new Promise(function(e){requestAnimationFrame(function t(){33<(new Date).getMilliseconds()?requestAnimationFrame(t):e(!0)})})}document.querySelectorAll(".announcement__countdown").forEach(function i(u){var t="true"===u.dataset.started,e="true"===u.dataset.ended,c=new Date(u.dataset.originalStartTime),r=new Date(u.dataset.startTime),n=new Date(u.dataset.endTime),s=+(u.dataset.startRetryCount||0),l=u.querySelector(".countdown-block");c.setMilliseconds(0),r.setMilliseconds(0),n.setMilliseconds(0),t?e||initializeTimer(l,n,function(){var t=l.querySelector(".countdown-block__button");t&&(t.removeAttribute("href"),t.classList.add("disabled"))}):initializeTimer(l,r,_asyncToGenerator(_regeneratorRuntime().mark(function t(){var e,r,n,o,a;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,throttledGetServerTime();case 3:if((e=t.sent) parseInt($(secondLayerMenu).css('max-width'), 10) }, thirdLayer: thirdLayerData }); }); return menuData; } function setSecondLayerMenu() { menus.forEach(function(currentMenu) { if (currentMenu.secondLayer.isScrollable) { currentMenu.secondLayer.scrollButtons.css('display', 'flex'); setSecondLayerMenuScrollButtonEvent(currentMenu.secondLayer); } if (currentMenu.secondLayer.isOneColumnMenu) { currentMenu.secondLayer.menu.css('overflow', 'unset'); } }); } function setSecondLayerMenuScrollButtonEvent(secondLayer) { var scrollDistance = 800; secondLayer.scrollLeftButton.on('click', function() { var currentScrollLeft = secondLayer.menu.scrollLeft(); secondLayer.menu.animate({ scrollLeft: currentScrollLeft - scrollDistance }); }); secondLayer.scrollRightButton.on('click', function() { var currentScrollLeft = secondLayer.menu.scrollLeft(); secondLayer.menu.animate({ scrollLeft: currentScrollLeft + scrollDistance }); }); secondLayer.menu.on('scroll', _.throttle(function() { secondLayer.menu.scrollLeft() === 0 ? secondLayer.scrollLeftButton.addClass('scroll-disable') : secondLayer.scrollLeftButton.removeClass('scroll-disable'); secondLayer.menu.scrollLeft() + secondLayer.menu.outerWidth() === secondLayer.scrollWidth ? secondLayer.scrollRightButton.addClass('scroll-disable') : secondLayer.scrollRightButton.removeClass('scroll-disable'); }, 200) ); } function setSecondLayerMenuPosition() { var minRightSpace = 80; var lastOpenedMenu = lastOpenedMenuObject.get(); menus.forEach(function(currentMenu) { currentMenu.secondLayer.menu.css('width', currentMenu.secondLayer.scrollWidth); /* reset second layer menu position */ currentMenu.secondLayer.menu.addClass('navigation-menu-second-layer-origin-position'); /* set right space */ var hasOpenedOneColumnMenu = lastOpenedMenu.thirdLayerMenu && lastOpenedMenu.isOneColumnMenu && currentMenu.secondLayer.menu[0] === lastOpenedMenu.secondLayerMenu[0]; var secondLayerMenuRightSpace = $(window).width() - ( currentMenu.secondLayer.menu.offset().left + currentMenu.secondLayer.menu.outerWidth() ); var shouldSetRightSpace = Math.floor(secondLayerMenuRightSpace) <= minRightSpace; var rightSpace = minRightSpace; if (shouldSetRightSpace) { if (hasOpenedOneColumnMenu) { rightSpace += currentMenu.secondLayer.menu.outerWidth(); } } else { if (hasOpenedOneColumnMenu && secondLayerMenuRightSpace - lastOpenedMenu.thirdLayerMenu.outerWidth() < minRightSpace) { rightSpace = secondLayerMenuRightSpace + currentMenu.secondLayer.menu.outerWidth(); } else { rightSpace = secondLayerMenuRightSpace; } } currentMenu.secondLayer.menu.css({ position: 'fixed', top: ( (currentMenu.topLayer.menu.height() || 0) + (currentMenu.topLayer.menu.position().top || 0) + ($('.trial-banner').height() || 0) + ($('.js-announcement').height() || 0) - ($('.header--desktop:not(.header--sticky)').length ? window.scrollY : 0) ), right: rightSpace, left: 'unset' }); currentMenu.secondLayer.menu.removeClass('navigation-menu-second-layer-origin-position'); /* set scroll direction control buttons */ if (currentMenu.secondLayer.isScrollable) { currentMenu.secondLayer.scrollButtons.css('right', $(window).width() - ( currentMenu.secondLayer.menu.offset().left + currentMenu.secondLayer.menu.outerWidth() + currentMenu.secondLayer.scrollButtons.outerWidth() ) ); } }); } function setThirdLayerMenuPosition() { menus.forEach(function(currentMenu) { currentMenu.thirdLayer.forEach(function(currentThirdLayer) { currentThirdLayer.menu.css({ position: 'absolute', transform: currentMenu.secondLayer.isOneColumnMenu ? 'translateX(100%)' : 'unset', top: currentThirdLayer.parentItem.position().top * -1, left: currentMenu.secondLayer.isOneColumnMenu ? 'unset' : '100%', height: currentMenu.secondLayer.isOneColumnMenu && currentThirdLayer.menu.height() > currentMenu.secondLayer.menu.height() ? currentThirdLayer.menu.height() : currentMenu.secondLayer.menu.height() }); }); }); } function setThirdLayerMenuClickEvent() { menus.forEach(function(currentMenu) { currentMenu.thirdLayer.forEach(function(currentThirdLayer) { currentThirdLayer.toggleButton.on('click', function(e) { if (e.target !== this) return; var lastOpenedMenu = lastOpenedMenuObject.get(); var isOpen = currentThirdLayer.menu.css('display') !== 'none'; /* if second layer menu is one column */ var isSameSecondLayerMenu; var isOpenFromRight; if ( currentMenu.secondLayer.isOneColumnMenu || (lastOpenedMenu.secondLayerMenu && lastOpenedMenu.isOneColumnMenu) ) { if (lastOpenedMenu.secondLayerMenu) { isSameSecondLayerMenu = currentMenu.secondLayer.menu[0] === lastOpenedMenu.secondLayerMenu[0]; } if ( (isOpen || lastOpenedMenu.isOneColumnMenu) && lastOpenedMenu.topLayerMenu.offset().left > lastOpenedMenu.secondLayerMenu.offset().left ) { lastOpenedMenu.secondLayerMenu.css('right', '-=' + currentMenu.secondLayer.itemWidth + 'px'); } if (!isOpen && currentMenu.secondLayer.isOneColumnMenu) { currentThirdLayer.menu.addClass('navigation-menu-third-layer-shadow '); var secondLayerMenuOffsetRight = $(window).width() - ( currentMenu.secondLayer.menu.offset().left + currentMenu.secondLayer.menu.outerWidth() ); var shouldOpenFromRightSide = Math.floor(secondLayerMenuOffsetRight) <= currentMenu.secondLayer.itemWidth; if (shouldOpenFromRightSide && !isSameSecondLayerMenu) { currentMenu.secondLayer.menu.css('right', '+=' + currentMenu.secondLayer.itemWidth + 'px'); } } else { lastOpenedMenu.thirdLayerMenu.removeClass('navigation-menu-third-layer-shadow'); } isOpenFromRight = shouldOpenFromRightSide || (isSameSecondLayerMenu && lastOpenedMenu.isOpenFromRight); } /* close last opened third layer menu */ if (lastOpenedMenu.thirdLayerMenu) { lastOpenedMenu.thirdLayerMenuToggleButton .removeClass('navigation-menu-third-layer-toggle--open fa-angle-left') .addClass('navigation-menu-third-layer-toggle--close fa-angle-right'); lastOpenedMenu.thirdLayerMenu.css('display', 'none'); if (lastOpenedMenu.isScrollable) { lastOpenedMenu.scrollButtons.css('display', 'flex'); } lastOpenedMenuObject.reset(); } /* open current third layer menu */ if (!isOpen) { currentThirdLayer.menu.css('display', 'flex'); currentThirdLayer.toggleButton .removeClass('navigation-menu-third-layer-toggle--close fa-angle-right') .addClass('navigation-menu-third-layer-toggle--open fa-angle-left'); if ( currentMenu.secondLayer.menu.outerWidth() - ( currentMenu.secondLayer.itemWidth * 2 + currentThirdLayer.parentItem.position().left ) < 0 ) { currentMenu.secondLayer.menu.animate({ scrollLeft: currentMenu.secondLayer.menu.scrollLeft() + currentMenu.secondLayer.scrollWidth }); } else if (currentThirdLayer.parentItem.position().left < 0) { currentMenu.secondLayer.menu.animate({ scrollLeft: currentMenu.secondLayer.menu.scrollLeft() - Math.abs(currentThirdLayer.parentItem.position().left) }); } /* set last opened third layer menu */ lastOpenedMenuObject.set({ topLayerMenu: currentMenu.topLayer.menu, secondLayerMenu: currentMenu.secondLayer.menu, thirdLayerMenu: currentThirdLayer.menu, thirdLayerMenuToggleButton: currentThirdLayer.toggleButton, isOpenFromRight: isOpenFromRight, isOneColumnMenu: currentMenu.secondLayer.isOneColumnMenu, isScrollable: currentMenu.secondLayer.isScrollable, scrollButtons: currentMenu.secondLayer.scrollButtons }); if (currentMenu.secondLayer.isScrollable) { currentMenu.secondLayer.scrollButtons.css('display', 'none'); } } }); }); }); } var makeLastOpenMenuObject = function() { var currentData = {}; return { get: function() { return currentData; }, set: function(openedMenuObject) { currentData = { topLayerMenu: openedMenuObject.topLayerMenu, secondLayerMenu: openedMenuObject.secondLayerMenu, thirdLayerMenu: openedMenuObject.thirdLayerMenu, thirdLayerMenuToggleButton: openedMenuObject.thirdLayerMenuToggleButton, isOpenFromRight: openedMenuObject.isOpenFromRight, isOneColumnMenu: openedMenuObject.isOneColumnMenu, isScrollable: openedMenuObject.isScrollable, scrollButtons: openedMenuObject.scrollButtons }; }, reset: function() { currentData = {}; } }; }; function checkScroll() { var trialBannerHeight = $('.trial-banner').height() || 0; if ($(window).scrollTop() >= (100 - trialBannerHeight)) { $('body').addClass('my-scroll'); } else { $('body').removeClass('my-scroll'); } } function setSideBarClickEvent(openSel, closeSel, menuName) { $(openSel).sidr(new SidrOptions({ name: menuName })); $(openSel).off(); /* remove click event handler from sidr */ $('body').on('click.' + menuName, openSel, function(e) { $.sidr('close', 'MenuPanel', function() { $.sidr('open', menuName, function() { $('.sl-modal-mask').css({ display: 'block', opacity: 0.3, zIndex: 10 }); var zIndex = $('#shopline-section-header, .NavigationBar.mod-desktop').css('z-index'); if (zIndex && zIndex !== 'auto') $('.sl-modal-mask').css('z-index', zIndex); }); }); }); $('body').on('click.' + menuName, closeSel, function(e) { $.sidr('close', menuName, function() { $.sidr('open', 'MenuPanel'); }); }); $('.sl-modal-mask').on('click', function() { $.sidr('close', menuName); }); } function setSmallViewSearchBarClickEvents() { var bannerHeight = ($('.trial-banner').height() || 0) + ($('.js-announcement').height() || 0); $('.js-product-searchfield-form').css('top', bannerHeight); $('.js-icon-search').on('click', function() { $('.js-product-searchfield-form').addClass('active'); $('.sl-modal-mask').css({ display: 'block', opacity: 0.3, zIndex: 10 }); }); $('.sl-modal-mask').on('click', function() { $('.js-product-searchfield-form').removeClass('active'); var zIndex = $('#shopline-section-header, .NavigationBar.mod-desktop').css('z-index'); if (zIndex && zIndex !== 'auto') $('.sl-modal-mask').css('z-index', zIndex); }); } function setThickMenu(setPosition) { var $logo = $('.js-nav-logo').eq(1).find('img'); if (!$logo[0]) { $logo = $('.header__logo.header__logo--home img') } if ($logo[0].complete) { setPosition(); } else { $logo.on('load', setPosition); } } function setThinMenu(setPosition) { var $logo = $('.js-nav-logo').eq(0).find('img'); if (!$logo[0]) { $logo = $('.header__logo:not(.header__logo--home) img, .header__logo.header__logo--top-center img') } function setMenu() { var width = $logo.width() + 10; if (width > 100) { $('.NavigationBar-mainMenu').css('margin-left', width + 'px'); } setPosition(); } if ($logo[0] && $logo[0].complete) { setMenu(); } else { $logo.on('load', setMenu); } } function setMenuPosition() { var setPosition = function() { setSecondLayerMenuPosition(); setThirdLayerMenuPosition(); }; if (!$('body').hasClass('home') || $('body').hasClass('my-scroll')) { setThinMenu(setPosition); } else { setThickMenu(setPosition); } } function initMenu() { if (window.matchMedia('(max-width: 1199px)').matches) { return; } menus = getMenus(); lastOpenedMenuObject = makeLastOpenMenuObject(); setSecondLayerMenu(); setMenuPosition(); setThirdLayerMenuClickEvent(); isInited = true; } function setMobileSearchBarPosition() { var bannerHeight = ($('.trial-banner').height() || 0) + ($('.js-announcement').height() || 0); $('.js-product-searchfield-form').css('top', bannerHeight); } /* init */ var menus = null; var isInited = false; var lastOpenedMenuObject = null; setSmallViewSearchBarClickEvents(); setSideBarClickEvent('.sl-language-menu-open', '.sl-language-menu-close', 'LanguagePanel'); setSideBarClickEvent('.sl-currency-menu-open', '.sl-currency-menu-close', 'CurrencyPanel'); checkScroll(); initMenu(); /* watch */ $(window).on('resize', _.throttle(function() { if (isInited) { menus = getMenus(); setMenuPosition(); setMobileSearchBarPosition(); } else { initMenu(); } }, 200)); $(window).on('scroll', _.throttle(function() { checkScroll(); if (isInited) { setMenuPosition(); } else { initMenu(); } }, 200)); })(); }); window.scriptQueue.push(function() { function fixSelect(){$(".js-selectpicker").each(function(){$(this).is(":visible")&&$('').insertAfter($(this))})}function autoPaddingTop(){var e,t=$(".js-previewing-closed-store-banner"),i=t.length?t.height():0,a=((window.matchMedia("(max-width: 1199px)").matches?$(".js-navbar-mobile"):$(".js-navbar-desktop")).height(),0<$(".shopline-section").length);0<$("body.home.index").length&&(a||0<$(".Grid-row-wrapper").length)&&(t=(e=$(".Grid-row-wrapper").first()).hasClass("m-full-width"),i=1===e.find(".Grid-item").length&&0')}),i(function(){$(".js-product-link:visible").each(function(){var e=$(this).detach();$(".modal .js-product-image").wrap(e)}),$(".modal .js-variant-gallery-stage").remove("a.temp"),$(".modal .js-variant-gallery-stage").append($(".QuickCart-modal .js-product-link a")[0].outerHTML),fixSelect(),$(".member-price-tip").each(function(){var e=$(this).prev().detach();$(this).parent().prepend(e)})},200))})}]),$(window).on("resize",_.debounce(autoPaddingTop,200)),$(window).on("scroll",_.debounce(autoPaddingTop,200));var image=$(".js-nav-logo img, .header__logo img");0!==image.length&&image[0].complete||0===image.length?autoPaddingTop():image.on("load",autoPaddingTop),$(window).load(function(){fixSelect()}),$(document).on("touchend",".modal-backdrop",function(){$(".js-quick-cart-cancel").click()}),$(window).scroll(function(){var e=$(".trial-banner").height()||0;$(window).scrollTop()>=100-e?$(".sl-goto-top").addClass("active"):$(".sl-goto-top").removeClass("active")});var observer,firstGridRowWrapper,secondGridRowWrapper,shouldFixHeaderForOpbPage,isSectionPage,shouldFixHeaderForNpbPage,shouldFixHeader,fixedHeader,transparentHead,resetHeader,iOS=is.ios(),iOS11=/OS 11_0|OS 11_1|OS 11_2/.test(navigator.userAgent),detectTap=!1;function syncHeaderTopWithAnnouncementHeight(){$("#shopline-section-header").css("top",$("#shopline-section-announcement").height()||0)}iOS&&iOS11&&$("body").addClass("ios-eleven"),iOS&&$("body").addClass("ios"),$(".instagram-post .caption").dotdotdot({wrap:"letter",ellipsis:"...",height:56}),0===$("body.cart.index, body.checkout.index, body.orders.confirm").length&&0<$("#shopline-section-header").length&&("ResizeObserver"in window?(observer=new ResizeObserver(_.throttle(syncHeaderTopWithAnnouncementHeight,200))).observe($("#shopline-section-announcement")[0]):(document.fonts.ready.then(syncHeaderTopWithAnnouncementHeight),$(window).on("resize",_.throttle(syncHeaderTopWithAnnouncementHeight,200))),syncHeaderTopWithAnnouncementHeight()),$(".header").hasClass("header--sticky")&&$("#shopline-section-header").css({position:"sticky","z-index":100}),0<$("body.home.index").length&&(firstGridRowWrapper=$(".Grid-row-wrapper").first(),(shouldFixHeaderForOpbPage=0