@covet-pics/covet-pics-widget 0.170.3 → 0.170.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{covet-pics-direct-buy_6.cjs.entry.js → covet-pics-checkbox_9.cjs.entry.js} +410 -154
- package/dist/cjs/covet-pics-crop-text.cjs.entry.js +3 -3
- package/dist/cjs/{covet-pics-gallery-grid_6.cjs.entry.js → covet-pics-gallery-grid_7.cjs.entry.js} +112 -82
- package/dist/cjs/covet-pics-gallery-header_3.cjs.entry.js +7 -7
- package/dist/cjs/covet-pics-highlighted-hotspots_2.cjs.entry.js +7 -7
- package/dist/cjs/covet-pics-popup-freeflow-carousel_3.cjs.entry.js +3 -3
- package/dist/cjs/covet-pics-post.cjs.entry.js +2 -2
- package/dist/cjs/covet-pics-star-rating.cjs.entry.js +3 -3
- package/dist/cjs/covet-pics-widget.cjs.entry.js +32 -15
- package/dist/cjs/covet-pics-widget.cjs.js +2 -2
- package/dist/cjs/{funcComponents-CfVw6fo-.js → funcComponents-CKK6ULzk.js} +9 -1
- package/dist/cjs/{getters-CfegpAq-.js → getters-geTaYis0.js} +21 -1
- package/dist/cjs/{index-eIVTphqi.js → index-C5a8iHmi.js} +14 -0
- package/dist/cjs/{items-CADjiXI2.js → items-3V7r4_YT.js} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{popup-D7H4OHzy.js → popup-BgupOeY7.js} +225 -0
- package/dist/cjs/{popupFuncComponents-BMXR6oUT.js → popupFuncComponents-Bt--NSom.js} +2 -2
- package/dist/cjs/shopcart-CwdWTijN.js +625 -0
- package/dist/cjs/shopcartIdByProduct-C7kk78KT.js +21 -0
- package/dist/cjs/{slider-DKsGC7_c.js → slider-DuFctxkr.js} +1 -1
- package/dist/cjs/{sort-DqDz43Zk.js → sort-DzLm-x1V.js} +1 -1
- package/dist/cjs/{utils-0FQ28Vfg.js → utils-DVZVIghB.js} +43 -0
- package/dist/collection/collection-manifest.json +4 -0
- package/dist/collection/components/covet-pics-checkbox/covet-pics-checkbox.css +37 -0
- package/dist/collection/components/covet-pics-checkbox/covet-pics-checkbox.js +171 -0
- package/dist/collection/components/covet-pics-crop-text/covet-pics-crop-text.js +1 -1
- package/dist/collection/components/covet-pics-direct-buy/covet-pics-direct-buy.css +189 -215
- package/dist/collection/components/covet-pics-direct-buy/covet-pics-direct-buy.js +254 -170
- package/dist/collection/components/covet-pics-direct-buy/test/test-data.js +1704 -0
- package/dist/collection/components/covet-pics-gallery-grid/covet-pics-gallery-grid.js +4 -4
- package/dist/collection/components/covet-pics-gallery-header/covet-pics-gallery-header.js +3 -3
- package/dist/collection/components/covet-pics-gallery-item/covet-pics-gallery-item.js +3 -3
- package/dist/collection/components/covet-pics-gallery-item-detail/covet-pics-gallery-item-detail.js +3 -3
- package/dist/collection/components/covet-pics-gallery-slider/covet-pics-gallery-slider.js +10 -10
- package/dist/collection/components/covet-pics-highlighted/covet-pics-highlighted-hotspots.js +4 -4
- package/dist/collection/components/covet-pics-highlighted/covet-pics-highlighted-page.js +6 -6
- package/dist/collection/components/covet-pics-highlighted/covet-pics-highlighted.js +5 -5
- package/dist/collection/components/covet-pics-hotspots/covet-pics-hotspots.js +1 -1
- package/dist/collection/components/covet-pics-notifications/covet-pics-notifications.css +155 -0
- package/dist/collection/components/covet-pics-notifications/covet-pics-notifications.js +113 -0
- package/dist/collection/components/covet-pics-popup/covet-gallery-popup.css +4 -0
- package/dist/collection/components/covet-pics-popup/covet-pics-popup.js +22 -65
- package/dist/collection/components/covet-pics-popup/test/test-data.js +1 -1
- package/dist/collection/components/covet-pics-popup-freeflow/covet-pics-popup-freeflow.js +7 -7
- package/dist/collection/components/covet-pics-popup-links/covet-pics-popup-links.js +4 -4
- package/dist/collection/components/covet-pics-select/covet-pics-select.css +116 -0
- package/dist/collection/components/covet-pics-select/covet-pics-select.js +165 -0
- package/dist/collection/components/covet-pics-shop-cart/covet-pics-shop-cart.css +385 -0
- package/dist/collection/components/covet-pics-shop-cart/covet-pics-shop-cart.js +145 -0
- package/dist/collection/components/covet-pics-shop-cart/test/test-data.js +308 -0
- package/dist/collection/components/covet-pics-star-rating/covet-pics-star-rating.js +1 -1
- package/dist/collection/components/covet-pics-upload/covet-gallery-upload.css +4 -0
- package/dist/collection/components/covet-pics-upload/covet-pics-upload.js +7 -7
- package/dist/collection/components/covet-pics-widget/covet-pics-widget.js +14 -2
- package/dist/collection/components/covet-pics-widget/test/test-gallery-data.js +10 -10
- package/dist/collection/services/storefront.js +235 -0
- package/dist/collection/store/configureStore.js +5 -5
- package/dist/collection/store/getters.js +17 -1
- package/dist/collection/store/notification.js +29 -0
- package/dist/collection/store/reducer.js +7 -1
- package/dist/collection/store/settings.js +1 -1
- package/dist/collection/store/shopcart.js +186 -0
- package/dist/collection/store/shopcartIdByProduct.js +15 -0
- package/dist/collection/utils/funcComponents.js +3 -0
- package/dist/collection/utils/normalize.js +164 -0
- package/dist/collection/utils/utils.js +39 -0
- package/dist/covet-pics-widget/covet-pics-widget.esm.js +1 -1
- package/dist/covet-pics-widget/{p-0ac7992a.entry.js → p-0843586d.entry.js} +7 -7
- package/dist/covet-pics-widget/p-09031383.entry.js +4 -0
- package/dist/covet-pics-widget/{p-a74d3938.entry.js → p-0c12d4b1.entry.js} +1 -1
- package/dist/covet-pics-widget/p-2850xmrI.js +4 -0
- package/dist/covet-pics-widget/{p-22d562ee.entry.js → p-2cb934cb.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-108c8b8a.entry.js → p-5e262356.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-046d9c7d.entry.js → p-61c2e607.entry.js} +1 -1
- package/dist/covet-pics-widget/p-6c57c683.entry.js +4 -0
- package/dist/covet-pics-widget/{p-5cc07632.entry.js → p-97e62926.entry.js} +1 -1
- package/dist/covet-pics-widget/{p-CLHluiN7.js → p-B9r3XOsD.js} +1 -1
- package/dist/covet-pics-widget/p-B9yyH3wb.js +4 -0
- package/dist/covet-pics-widget/{p-CpJH5xCN.js → p-Bk_zIAb3.js} +1 -1
- package/dist/covet-pics-widget/{p-DA9YXXNi.js → p-Bktxki-n.js} +1 -1
- package/dist/covet-pics-widget/p-BpmmEYRs.js +4 -0
- package/dist/covet-pics-widget/p-CcyIWWuL.js +4 -0
- package/dist/covet-pics-widget/{p-C-mGosc6.js → p-DuzFSMH7.js} +2 -2
- package/dist/covet-pics-widget/p-Gmk5l2sB.js +4 -0
- package/dist/covet-pics-widget/p-TepDt0BT.js +4 -0
- package/dist/covet-pics-widget/{p-UzW4UXdJ.js → p-Ty8D-DF-.js} +1 -1
- package/dist/covet-pics-widget/{p-6e1b1797.entry.js → p-bba2df15.entry.js} +1 -1
- package/dist/esm/{covet-pics-direct-buy_6.entry.js → covet-pics-checkbox_9.entry.js} +408 -155
- package/dist/esm/covet-pics-crop-text.entry.js +3 -3
- package/dist/esm/{covet-pics-gallery-grid_6.entry.js → covet-pics-gallery-grid_7.entry.js} +112 -83
- package/dist/esm/covet-pics-gallery-header_3.entry.js +7 -7
- package/dist/esm/covet-pics-highlighted-hotspots_2.entry.js +7 -7
- package/dist/esm/covet-pics-popup-freeflow-carousel_3.entry.js +3 -3
- package/dist/esm/covet-pics-post.entry.js +2 -2
- package/dist/esm/covet-pics-star-rating.entry.js +3 -3
- package/dist/esm/covet-pics-widget.entry.js +32 -15
- package/dist/esm/covet-pics-widget.js +3 -3
- package/dist/esm/{funcComponents-gMx_QmoA.js → funcComponents-CTTfRwAW.js} +9 -2
- package/dist/esm/{getters-CAi6kQk0.js → getters-rjAUHjUz.js} +19 -2
- package/dist/esm/{index-C-mGosc6.js → index-DuzFSMH7.js} +14 -0
- package/dist/esm/{items-BoG6bDU1.js → items-BOT19y8z.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{popup-vTnGj8u1.js → popup-TepDt0BT.js} +225 -1
- package/dist/esm/{popupFuncComponents-BraeS1Sr.js → popupFuncComponents-Bb_xHazd.js} +2 -2
- package/dist/esm/shopcart-52lzNBPV.js +606 -0
- package/dist/esm/shopcartIdByProduct-DZ58MTGo.js +18 -0
- package/dist/esm/{slider-DaKjQSC5.js → slider-CU0Nt6AJ.js} +1 -1
- package/dist/esm/{sort-BcLZV3pF.js → sort-BTlmY0Ww.js} +1 -1
- package/dist/esm/{utils-D8MPbUL8.js → utils-BpmmEYRs.js} +40 -1
- package/dist/types/components/covet-pics-checkbox/covet-pics-checkbox.d.ts +28 -0
- package/dist/types/components/covet-pics-direct-buy/covet-pics-direct-buy.d.ts +33 -27
- package/dist/types/components/covet-pics-direct-buy/test/test-data.d.ts +319 -0
- package/dist/types/components/covet-pics-gallery-grid/covet-pics-gallery-grid.d.ts +1 -1
- package/dist/types/components/covet-pics-gallery-header/covet-pics-gallery-header.d.ts +1 -1
- package/dist/types/components/covet-pics-gallery-item/covet-pics-gallery-item.d.ts +1 -1
- package/dist/types/components/covet-pics-gallery-item-detail/covet-pics-gallery-item-detail.d.ts +1 -1
- package/dist/types/components/covet-pics-gallery-slider/covet-pics-gallery-slider.d.ts +1 -1
- package/dist/types/components/covet-pics-highlighted/covet-pics-highlighted-hotspots.d.ts +1 -1
- package/dist/types/components/covet-pics-highlighted/covet-pics-highlighted-page.d.ts +1 -1
- package/dist/types/components/covet-pics-highlighted/covet-pics-highlighted.d.ts +1 -1
- package/dist/types/components/covet-pics-notifications/covet-pics-notifications.d.ts +21 -0
- package/dist/types/components/covet-pics-popup/covet-pics-popup.d.ts +3 -8
- package/dist/types/components/covet-pics-popup/test/test-data.d.ts +1 -1
- package/dist/types/components/covet-pics-popup-freeflow/covet-pics-popup-freeflow.d.ts +1 -1
- package/dist/types/components/covet-pics-popup-links/covet-pics-popup-links.d.ts +1 -1
- package/dist/types/components/covet-pics-select/covet-pics-select.d.ts +27 -0
- package/dist/types/components/covet-pics-shop-cart/covet-pics-shop-cart.d.ts +27 -0
- package/dist/types/components/covet-pics-shop-cart/test/test-data.d.ts +269 -0
- package/dist/types/components/covet-pics-upload/covet-pics-upload.d.ts +1 -1
- package/dist/types/components/covet-pics-widget/covet-pics-widget.d.ts +3 -1
- package/dist/types/components/covet-pics-widget/test/test-gallery-data.d.ts +10 -10
- package/dist/types/components.d.ts +184 -12
- package/dist/types/services/storefront.d.ts +8 -0
- package/dist/types/store/getters.d.ts +94 -7
- package/dist/types/store/notification.d.ts +11 -0
- package/dist/types/store/popup.d.ts +8 -8
- package/dist/types/store/shopcart.d.ts +157 -0
- package/dist/types/store/shopcartIdByProduct.d.ts +3 -0
- package/dist/types/store/storeUtils.d.ts +1 -1
- package/dist/types/utils/funcComponents.d.ts +1 -0
- package/dist/types/utils/normalize.d.ts +14 -0
- package/dist/types/utils/types.d.ts +119 -2
- package/dist/types/utils/utils.d.ts +9 -4
- package/package.json +5 -1
- package/dist/covet-pics-widget/p-13825b0f.entry.js +0 -4
- package/dist/covet-pics-widget/p-7947aca5.entry.js +0 -4
- package/dist/covet-pics-widget/p-CAi6kQk0.js +0 -4
- package/dist/covet-pics-widget/p-D8MPbUL8.js +0 -4
- package/dist/covet-pics-widget/p-EDoZiRHa.js +0 -4
- package/dist/covet-pics-widget/p-vTnGj8u1.js +0 -4
- package/dist/types/store/configureStore.d.ts +0 -2
package/dist/cjs/{covet-pics-direct-buy_6.cjs.entry.js → covet-pics-checkbox_9.cjs.entry.js}
RENAMED
|
@@ -3,60 +3,100 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
-
var index = require('./index-
|
|
7
|
-
var utils = require('./utils-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
6
|
+
var index = require('./index-C5a8iHmi.js');
|
|
7
|
+
var utils = require('./utils-DVZVIghB.js');
|
|
8
|
+
var popup = require('./popup-BgupOeY7.js');
|
|
9
|
+
var shopcart = require('./shopcart-CwdWTijN.js');
|
|
10
|
+
var getters = require('./getters-geTaYis0.js');
|
|
11
|
+
var storeUtils = require('./storeUtils-sFXfLcFp.js');
|
|
12
|
+
var shopcartIdByProduct = require('./shopcartIdByProduct-C7kk78KT.js');
|
|
13
|
+
var funcComponents = require('./funcComponents-CKK6ULzk.js');
|
|
11
14
|
var index$1 = require('./index-BMdsVEom.js');
|
|
12
|
-
var
|
|
13
|
-
var
|
|
15
|
+
var popupFuncComponents = require('./popupFuncComponents-Bt--NSom.js');
|
|
16
|
+
var slider = require('./slider-Yd_vzJhP.js');
|
|
17
|
+
var a11y = require('./a11y-DFTngZna.js');
|
|
14
18
|
var navigation = require('./navigation-XeIeQQXp.js');
|
|
15
19
|
|
|
16
|
-
const covetPicsDirectBuyCss = "@font-face{font-family:\"swiper-icons\";src:url(\"data:application/font-woff;charset=utf-8;base64, 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\") format(\"woff\");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff;}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px, 0, 0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform, height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0, 0, 0, 0.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host{z-index:1;--covet-direct-buy-btn-size:40px;--covet-direct-buy-padding-size:40px;--covet-direct-buy-dropdown-height:48px;--covet-direct-buy-font-color:#101010;--covet-direct-buy-bg-color:#fcfbfc;--covet-direct-buy-btn-color:var(--covet-internal-direct-buy-btn-color);--covet-direct-buy-btn-bg-color:var(--covet-internal-direct-buy-btn-bg-color);--covet-direct-buy-btn-active-color:var(--covet-internal-direct-buy-btn-active-color);--covet-direct-buy-btn-active-bg-color:var(--covet-internal-direct-buy-btn-active-bg-color)}:host{position:fixed;bottom:0;overflow:scroll;width:100%;max-height:100%;box-shadow:0 -8px 16px 0 rgba(0, 0, 0, 0.05);transition:max-height 0.35s ease-in-out;min-width:auto;background-color:#ffffff}.main{margin:0 var(--covet-direct-buy-padding-size);padding-bottom:150px;position:relative}.close{background:none;border:none;position:absolute;top:0;right:0;padding:0;margin:0;cursor:pointer;transform:rotate(270deg);outline:none !important}.close:hover svg .icon-arrow-path,.close:active svg .icon-arrow-path,.close:focus svg .icon-arrow-path{stroke:#000000}.close svg{width:var(--covet-direct-buy-btn-size);height:var(--covet-direct-buy-btn-size)}.close svg .icon-arrow-path{transition:all 0.25s ease}.title{font-size:14px;font-weight:400;line-height:var(--covet-direct-buy-btn-size);width:calc(100% - var(--covet-direct-buy-btn-size));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;box-sizing:border-box;margin:10px 0 0 0}.title a{text-decoration:none;color:var(--covet-direct-buy-font-color)}.price-wrap{display:flex;height:32px;background:var(--covet-direct-buy-bg-color);justify-content:space-between;align-items:center;text-transform:uppercase}.price-wrap label{color:var(--covet-direct-buy-font-color);font-weight:300;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-wrap .price{font-weight:600}.btn-buy{border:none;background-color:var(--covet-direct-buy-btn-bg-color);color:var(--covet-direct-buy-btn-color);font-family:inherit;display:flex;align-items:center;justify-content:center;width:100%;text-transform:uppercase;text-align:center;cursor:pointer;font-size:14px;line-height:1;padding:17px 17px max(17px, env(safe-area-inset-bottom, 25px)) 17px;margin-bottom:0}.btn-buy:hover,.btn-buy:active,.btn-buy:focus{background-color:var(--covet-direct-buy-btn-active-bg-color)}.btn-buy.style-1:hover,.btn-buy.style-1:active,.btn-buy.style-1:focus{background-color:var(--covet-direct-buy-btn-active-color)}.btn-buy.style-2:hover,.btn-buy.style-2:active,.btn-buy.style-2:focus{background-color:var(--covet-direct-buy-btn-bg-color);color:var(--covet-direct-buy-btn-active-color)}.btn-buy:disabled{background:#EEEEEE;color:#808080;pointer-events:none}.options{display:flex;justify-content:space-between;align-items:center;border:1px solid transparent;border-bottom-color:#EEE;height:var(--covet-direct-buy-dropdown-height);padding:0 8px 0 12px;-moz-text-align-last:right;text-align-last:right;font-weight:300;color:var(--covet-direct-buy-font-color);position:relative;cursor:pointer;outline:none !important;transition:border 0.25s ease}.options.opened{border-left:1px solid #EEE;border-right:1px solid #EEE}.options.opened .options-container{display:block}.options:hover,.options:active,.options:focus,.options:focus-within{border-bottom-color:#000000}.options label{width:100%;height:100%;display:flex;justify-content:space-between;outline:none !important}.options label .option-name{margin:auto 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.options label .selected-option{margin:auto 0;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 0h24v24H0z'%3E%3C/path%3E%3Cpath stroke='%23A0A0A0' d='M16.95 10.25L12 15.2l-4.95-4.95'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 50%;background-size:24px;padding-right:26px;text-transform:uppercase;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:50%;font-family:inherit;cursor:pointer;font-weight:bold}.options label .selected-option.empty{height:16px;line-height:1rem;width:20%}.options .options-container{display:none;position:absolute;top:var(--covet-direct-buy-dropdown-height);left:-1px;background:#FFF;z-index:2;width:100%;border:1px solid #eee;border-top:0;max-height:114px;overflow:auto;cursor:pointer}.options .options-container .option-value{min-height:32px;font-size:12px;color:#101010;display:flex;align-items:center;outline:none !important}.options .options-container .option-value.selected .selected-indic{height:24px;border-left:2px solid #101010}.options .options-container .option-value .value-text{margin-left:4px;margin-right:4px;padding:0 10px;display:flex;align-items:center;width:100%;font-size:12px;min-height:32px}.options .options-container .option-value:hover .value-text,.options .options-container .option-value:active .value-text,.options .options-container .option-value:focus .value-text{background:#F7F7F7}.main-gallery{overflow:hidden;width:100%}.main-gallery .swiper-slide{width:200px;height:200px;align-items:center;display:flex;justify-content:center}.main-gallery .swiper-slide img{max-width:100%;max-height:100%}.main-gallery .swiper-wrapper{max-height:200px}.footer{background-color:var(--covet-direct-buy-bg-color);position:absolute;width:100%;bottom:0;z-index:1}.footer .price-wrap{padding:0 var(--covet-direct-buy-padding-size);width:calc(100% - var(--covet-direct-buy-padding-size) * 2)}.swiper-pagination-bullets{padding:10px 0;border-bottom:1px solid var(--covet-direct-buy-font-color);display:flex;justify-content:center}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;flex:none;border-radius:100%;background:var(--covet-direct-buy-font-color);opacity:0.2;margin:0 4px;padding:0;transition:all 0.3}.swiper-pagination-bullet:hover,.swiper-pagination-bullet:active,.swiper-pagination-bullet:focus{opacity:0.4;cursor:pointer}.swiper-pagination-bullet.swiper-pagination-bullet-active{opacity:1;background:var(--covet-direct-buy-font-color)}@media only screen and (min-width: 800px){:host{display:block;height:100%;z-index:1;position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden}.title{width:100%;padding-left:10px}.close{left:calc(var(--covet-direct-buy-btn-size) / -2);right:unset;transform:unset}.wrap{height:100%;overflow:auto}.footer{position:absolute}}";
|
|
20
|
+
const covetPicsCheckboxCss = ":host{display:block;border:1px solid #000000;padding:8px;font-weight:700;background-color:#FFFFFF;color:#000000;margin-top:4px;cursor:pointer;transition:color 0.25s ease, background-color 0.25s ease;box-sizing:border-box;overflow:hidden;max-width:calc(100% - 8px);min-width:0}:host .input{position:absolute;width:0;height:0;top:0;left:0;opacity:0}:host .label{display:block;font-size:16px;cursor:pointer;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([aria-checked=true]){color:#FFFFFF;background-color:#000000}";
|
|
17
21
|
|
|
18
|
-
const
|
|
22
|
+
const CovetPicsCheckbox = class {
|
|
19
23
|
constructor(hostRef) {
|
|
20
24
|
index.registerInstance(this, hostRef);
|
|
25
|
+
this.checkboxChange = index.createEvent(this, "checkboxChange", 7);
|
|
21
26
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.
|
|
27
|
+
attr checked
|
|
28
|
+
*/
|
|
29
|
+
this.checked = false;
|
|
25
30
|
/**
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (
|
|
31
|
+
attr disabled
|
|
32
|
+
*/
|
|
33
|
+
this.disabled = false;
|
|
34
|
+
/**
|
|
35
|
+
attr inputId
|
|
36
|
+
*/
|
|
37
|
+
this.inputId = null;
|
|
38
|
+
this.onClickHandler = (event) => {
|
|
39
|
+
event.preventDefault();
|
|
40
|
+
event.stopPropagation();
|
|
41
|
+
if (this.checked)
|
|
37
42
|
return;
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
this.checked = true;
|
|
44
|
+
this.checkboxChange.emit(this.checked);
|
|
40
45
|
};
|
|
41
|
-
this.
|
|
42
|
-
if (
|
|
43
|
-
return
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
this.
|
|
47
|
-
option.querySelector("label .selected-option").innerHTML = selectedOptionValue.dataset.value;
|
|
48
|
-
// graphically select the option
|
|
49
|
-
option.querySelectorAll(".option-value.selected").forEach(value => value.classList.remove("selected"));
|
|
50
|
-
selectedOptionValue.classList.add("selected");
|
|
51
|
-
if (event.type === "keydown" && (event.keyCode === 13 || event.keyCode === 32))
|
|
52
|
-
this.hostClickHandler();
|
|
53
|
-
this.selectFeaturedImage();
|
|
46
|
+
this.onChange = (event) => {
|
|
47
|
+
if (this.disabled)
|
|
48
|
+
return;
|
|
49
|
+
const target = event.target;
|
|
50
|
+
this.checked = target.checked;
|
|
51
|
+
this.checkboxChange.emit(this.checked);
|
|
54
52
|
};
|
|
53
|
+
}
|
|
54
|
+
render() {
|
|
55
|
+
return (index.h(index.Host, { key: '98c375e11a839049c02e3affe7ab7ec3b564e615', role: "checkbox", "aria-checked": this.checked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', disabled: this.disabled, onClick: this.onClickHandler }, index.h("input", { key: 'c43cb52b90423649b6a49e64ee68ae1039f1d4c1', id: this.inputId, class: "input", type: "checkbox", checked: this.checked, disabled: this.disabled, "aria-checked": this.checked ? 'true' : 'false', onChange: this.onChange, value: this.value }), index.h("label", { key: '951b2eb9e8351d6835832e8218d1b29025ffa80e', class: "label", htmlFor: this.inputId, innerHTML: this.label })));
|
|
56
|
+
}
|
|
57
|
+
get el() { return index.getElement(this); }
|
|
58
|
+
};
|
|
59
|
+
CovetPicsCheckbox.style = covetPicsCheckboxCss;
|
|
60
|
+
|
|
61
|
+
const covetPicsDirectBuyCss = "@font-face{font-family:\"swiper-icons\";src:url(\"data:application/font-woff;charset=utf-8;base64, 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\") format(\"woff\");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff;}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px, 0, 0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform, height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:\"\";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0, 0, 0, 0.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}covet-pics-direct-buy{z-index:1;--covet-direct-buy-btn-size:40px;--covet-direct-buy-padding-size:40px;--covet-direct-buy-dropdown-height:48px;--covet-direct-buy-font-color:#101010;--covet-direct-buy-bg-color:#fcfbfc;--covet-direct-buy-btn-color:var(--covet-internal-direct-buy-btn-color);--covet-direct-buy-btn-bg-color:var(--covet-internal-direct-buy-btn-bg-color);--covet-direct-buy-btn-active-color:var(--covet-internal-direct-buy-btn-active-color);--covet-direct-buy-btn-active-bg-color:var(--covet-internal-direct-buy-btn-active-bg-color);--covet-direct-buy-close-color:#A0A0A0;bottom:0;top:0;width:100%;box-shadow:0 -8px 16px 0 rgba(0, 0, 0, 0.05);transition:max-height 0.35s ease-in-out;min-width:auto;background-color:#ffffff;position:absolute;flex:1 1 auto;min-height:0;display:flex;box-sizing:border-box;overflow:hidden;z-index:1}@media only screen and (max-width: 799.98px){covet-pics-direct-buy{z-index:0;position:fixed;left:0;right:0}}covet-pics-direct-buy .wrap{position:absolute;left:0;top:0;right:0;bottom:0;padding-bottom:80px;overflow:hidden;box-sizing:border-box}covet-pics-direct-buy .main{overflow-y:auto;min-height:0;height:100%;padding-left:var(--covet-direct-buy-padding-size);padding-right:var(--covet-direct-buy-padding-size)}covet-pics-direct-buy .close{background:none;border:none;position:absolute;top:0;left:0;right:auto;transform:auto;padding:0;margin:0;cursor:pointer;outline:none !important;z-index:1}@media only screen and (max-width: 799.98px){covet-pics-direct-buy .close{transform:rotate(270deg);right:0;left:auto;top:50px}}covet-pics-direct-buy .close:hover svg .icon-arrow-path,covet-pics-direct-buy .close:active svg .icon-arrow-path,covet-pics-direct-buy .close:focus svg .icon-arrow-path{stroke:#000000}covet-pics-direct-buy .close .icon-close{width:var(--covet-direct-buy-btn-size);height:var(--covet-direct-buy-btn-size)}covet-pics-direct-buy .close .icon-close .icon-arrow-path{transition:all 0.25s ease}covet-pics-direct-buy .title{font-size:14px;font-weight:400;line-height:var(--covet-direct-buy-btn-size);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;box-sizing:border-box;margin:10px 0 0 0;padding-left:10px}@media only screen and (max-width: 799.98px){covet-pics-direct-buy .title{width:calc(100% - var(--covet-direct-buy-btn-size));padding-left:0;z-index:0}}covet-pics-direct-buy .link-title{text-decoration:none;color:var(--covet-direct-buy-font-color)}covet-pics-direct-buy .product-slider{display:block;overflow:hidden;padding:var(--covet-internal-direct-buy-slide-margin);margin-bottom:var(--covet-internal-direct-buy-slide-margin);border-bottom:1px solid var(--covet-direct-buy-font-color)}covet-pics-direct-buy .product-slider-wrap{display:flex;position:relative;left:0;transition:transform var(--covet-internal-direct-buy-slider-speed) ease;gap:var(--covet-internal-direct-buy-slide-margin)}covet-pics-direct-buy .gallery-slide{box-sizing:border-box;width:var(--covet-internal-direct-buy-slide-width);height:var(--covet-internal-direct-buy-slide-width);flex:none;overflow:hidden;cursor:pointer}covet-pics-direct-buy .image{-o-object-fit:cover;object-fit:cover;width:100%}covet-pics-direct-buy .product-preview{display:block;width:200px;height:200px;position:relative;margin-left:auto;margin-right:auto;overflow:hidden;margin-bottom:20px}@media only screen and (max-width: 799.98px){covet-pics-direct-buy .product-preview{width:150px;height:150px}}covet-pics-direct-buy .preview-slide{width:100%;height:100%;position:absolute;opacity:0;transform-origin:center center;transform:scale(0.95);transition:all 0.25s ease}covet-pics-direct-buy .preview-slide.active{opacity:1;transform:scale(1)}covet-pics-direct-buy .checkbox-group{display:flex;flex-wrap:wrap;padding:0;border:none;margin-bottom:10px;overflow:hidden;max-width:100%;max-width:100%;min-width:0;min-inline-size:0;box-sizing:border-box;gap:8px}covet-pics-direct-buy .footer{background-color:var(--covet-direct-buy-bg-color);position:absolute;width:100%;bottom:0;left:0;right:0;z-index:1}covet-pics-direct-buy .price-wrap{display:flex;height:32px;background:var(--covet-direct-buy-bg-color);justify-content:space-between;align-items:center;text-transform:uppercase;padding:0 var(--covet-direct-buy-padding-size);width:calc(100% - var(--covet-direct-buy-padding-size) * 2)}covet-pics-direct-buy .price-label{color:var(--covet-direct-buy-font-color);font-weight:300;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}covet-pics-direct-buy .price-text{font-weight:600}covet-pics-direct-buy .btn-buy{border:none;background-color:var(--covet-direct-buy-btn-bg-color);color:var(--covet-direct-buy-btn-color);font-family:inherit;display:flex;align-items:center;justify-content:center;width:100%;text-transform:uppercase;text-align:center;cursor:pointer;font-size:14px;line-height:1;padding:17px 17px max(17px, env(safe-area-inset-bottom, 25px)) 17px;margin-bottom:0}covet-pics-direct-buy .btn-buy:hover,covet-pics-direct-buy .btn-buy:active,covet-pics-direct-buy .btn-buy:focus{background-color:var(--covet-direct-buy-btn-active-bg-color)}covet-pics-direct-buy .btn-buy.style-1:hover,covet-pics-direct-buy .btn-buy.style-1:active,covet-pics-direct-buy .btn-buy.style-1:focus{background-color:var(--covet-direct-buy-btn-active-color)}covet-pics-direct-buy .btn-buy.style-2:hover,covet-pics-direct-buy .btn-buy.style-2:active,covet-pics-direct-buy .btn-buy.style-2:focus{background-color:var(--covet-direct-buy-btn-bg-color);color:var(--covet-direct-buy-btn-active-color)}covet-pics-direct-buy .btn-buy:disabled{background:#eeeeee;color:#808080;pointer-events:none}covet-pics-direct-buy .btn-buy.btn-now{margin-top:10px}.popup-product-animation{top:0;left:0;width:var(--covet-pics-popup-product-clone-begin-width);height:var(--covet-pics-popup-product-clone-begin-height);transform:translate(var(--covet-pics-popup-product-clone-begin-x), var(--covet-pics-popup-product-clone-begin-y));display:flex;justify-content:center;align-items:center;z-index:10;position:fixed;background-color:#ffffff;overflow:hidden;will-change:transform;transform:translate(var(--covet-pics-popup-product-clone-begin-x), var(--covet-pics-popup-product-clone-begin-y))}.popup-product-animation img{max-width:100%;max-height:100%}.popup-product-animation.animate{animation:parabolic-move 1s ease forwards}@keyframes parabolic-move{0%{transform:translate(var(--covet-pics-popup-product-clone-begin-x), var(--covet-pics-popup-product-clone-begin-y))}10%{border-radius:50%}50%{opacity:0.9;width:var(--covet-pics-popup-product-clone-end-width);height:var(--covet-pics-popup-product-clone-end-height)}80%{opacity:0.9}90%{opacity:0.5}100%{opacity:0;transform:translate(var(--covet-pics-popup-product-clone-end-x), var(--covet-pics-popup-product-clone-end-y));width:var(--covet-pics-popup-product-clone-end-width);height:var(--covet-pics-popup-product-clone-end-height);border-radius:50%}}";
|
|
62
|
+
|
|
63
|
+
const CovetPicsDirectBuy = class {
|
|
64
|
+
constructor(hostRef) {
|
|
65
|
+
index.registerInstance(this, hostRef);
|
|
66
|
+
this.sliderSpaceBetween = 10;
|
|
67
|
+
this.sliderSpeed = 0.3;
|
|
68
|
+
this.directBuySlideWidth = 50;
|
|
69
|
+
this.selectedVariant = null;
|
|
70
|
+
this.product = null;
|
|
71
|
+
this.options = [];
|
|
72
|
+
this.selectedOptions = [];
|
|
73
|
+
this.isAvailableForSale = true;
|
|
74
|
+
this.addToCartChain = utils.getChain(this, this.addToCart);
|
|
75
|
+
this.getDataChain = utils.getChain(this, this.getData);
|
|
55
76
|
this.closeClickHandler = (event) => {
|
|
56
77
|
event.preventDefault();
|
|
57
78
|
event.stopPropagation();
|
|
58
79
|
this.appStore.dispatch(popup.setPopupProductId(-1));
|
|
59
80
|
};
|
|
81
|
+
this.onCheckboxChange = (event) => {
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
event.stopPropagation();
|
|
84
|
+
const el = event.target;
|
|
85
|
+
const { name, value } = el.dataset;
|
|
86
|
+
this.selectedOptions = [...this.selectedOptions.filter(opt => opt.name !== name), { name, value }];
|
|
87
|
+
this.checkIsAvailableForSale();
|
|
88
|
+
this.getDataChain();
|
|
89
|
+
};
|
|
90
|
+
this.onSelectChange = (event) => {
|
|
91
|
+
event.preventDefault();
|
|
92
|
+
event.stopPropagation();
|
|
93
|
+
const el = event.target;
|
|
94
|
+
const name = el.dataset.name;
|
|
95
|
+
const value = event.detail;
|
|
96
|
+
this.selectedOptions = [...this.selectedOptions.filter(opt => opt.name !== name), { name, value }];
|
|
97
|
+
this.checkIsAvailableForSale();
|
|
98
|
+
this.getDataChain();
|
|
99
|
+
};
|
|
60
100
|
this.addToCartClickHandler = (event) => {
|
|
61
101
|
event.preventDefault();
|
|
62
102
|
event.stopPropagation();
|
|
@@ -64,149 +104,226 @@ const CovetPicsDirectBuy = class {
|
|
|
64
104
|
alert("Adding to cart is disabled in preview mode"); // eslint-disable-line no-alert
|
|
65
105
|
return false;
|
|
66
106
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
headers: {
|
|
79
|
-
"Content-Type": "application/json",
|
|
80
|
-
"Accept": "application/json"
|
|
81
|
-
},
|
|
82
|
-
body: JSON.stringify(cartData)
|
|
83
|
-
}).then(data => {
|
|
84
|
-
if (data.status >= 200 && data.status < 400) {
|
|
85
|
-
// TODO add this logic need await response fetch
|
|
86
|
-
this.appStore.dispatch(popup.setPopupProductId(-1));
|
|
87
|
-
this.emitAddToCartEvent();
|
|
88
|
-
}
|
|
89
|
-
});
|
|
107
|
+
this.shopCartAnimation();
|
|
108
|
+
};
|
|
109
|
+
this.gallerySlideClickHandler = (event) => {
|
|
110
|
+
event.preventDefault();
|
|
111
|
+
event.stopPropagation();
|
|
112
|
+
const slide = event.currentTarget;
|
|
113
|
+
const productPreviewImage = this.el.querySelector(".product-preview .preview-slide .image");
|
|
114
|
+
const clickedImageData = this.product.images.nodes.find(el => el.id === slide.dataset.id);
|
|
115
|
+
productPreviewImage.setAttribute("src", clickedImageData.url);
|
|
116
|
+
productPreviewImage.setAttribute("alt", clickedImageData.altText);
|
|
117
|
+
this.sliderAnimation(parseInt(slide.dataset.idx));
|
|
90
118
|
};
|
|
91
119
|
}
|
|
92
120
|
componentWillLoad() {
|
|
93
121
|
this.initStore();
|
|
94
|
-
this.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
this.
|
|
98
|
-
const closeBtn = this.el.shadowRoot.querySelector(".close");
|
|
99
|
-
closeBtn.focus();
|
|
100
|
-
}
|
|
101
|
-
componentDidUpdate() {
|
|
102
|
-
// TODO check do we need this update in componentDidUpdate
|
|
103
|
-
if (this.mainGallery) {
|
|
104
|
-
this.mainGallery.update();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
disconnectedCallback() {
|
|
108
|
-
this.unsubscribe();
|
|
122
|
+
this.setupShopifySettings();
|
|
123
|
+
this.getData();
|
|
124
|
+
this.initCovetShopCart();
|
|
125
|
+
this.checkShopCart();
|
|
109
126
|
}
|
|
110
127
|
initStore() {
|
|
111
128
|
this.appState = this.appStore.getState();
|
|
112
129
|
this.settings = this.appState.settings;
|
|
130
|
+
this.shopCartState = this.appState.shopcart;
|
|
131
|
+
if (this.shopCartState.error !== null) {
|
|
132
|
+
this.isAvailableForSale = false;
|
|
133
|
+
}
|
|
113
134
|
this.unsubscribe = this.appStore.subscribe(() => {
|
|
114
135
|
this.appState = this.appStore.getState();
|
|
115
136
|
this.settings = this.appState.settings;
|
|
137
|
+
this.shopCartState = this.appState.shopcart;
|
|
138
|
+
if (this.shopCartState.error !== null) {
|
|
139
|
+
this.isAvailableForSale = false;
|
|
140
|
+
}
|
|
116
141
|
});
|
|
117
142
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
143
|
+
disconnectedCallback() {
|
|
144
|
+
this.unsubscribe();
|
|
145
|
+
this.appStore.dispatch(shopcart.setId(null));
|
|
146
|
+
this.shopCart.remove();
|
|
147
|
+
}
|
|
148
|
+
async getData() {
|
|
149
|
+
var _a;
|
|
150
|
+
const variables = {
|
|
151
|
+
handle: this.covetProduct.handle,
|
|
152
|
+
country: this.shopCartState.locale.country.toUpperCase(),
|
|
153
|
+
language: this.shopCartState.locale.language.toUpperCase(),
|
|
154
|
+
selectedOptions: this.selectedOptions
|
|
155
|
+
};
|
|
156
|
+
const [err, result] = await shopcart.shopifyGraphqlFetch(this.shopCartState.config.apiUrl, shopcart.queryProductForVariantSelector, variables);
|
|
157
|
+
if (err) {
|
|
158
|
+
return this.appStore.dispatch(shopcart.showNotification({ message: err.message, type: "error" }));
|
|
121
159
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
160
|
+
this.product = shopcart.normalizeProduct((_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.product);
|
|
161
|
+
if (!this.product)
|
|
162
|
+
return (this.appStore.dispatch(shopcart.showNotification({ message: `Product not found, ${this.covetProduct.handle}`, type: "error" })));
|
|
163
|
+
this.selectedVariant = this.product.selectedOrFirstAvailableVariant;
|
|
164
|
+
this.options = shopcart.getOptions(this.product);
|
|
165
|
+
if (this.selectedOptions.length === 0 && this.selectedVariant && this.selectedVariant.selectedOptions.length > 0) {
|
|
166
|
+
this.selectedOptions = [...this.selectedVariant.selectedOptions];
|
|
126
167
|
}
|
|
127
168
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
169
|
+
initCovetShopCart() {
|
|
170
|
+
this.shopCart = document.createElement("covet-pics-shop-cart");
|
|
171
|
+
this.shopCart.appStore = this.appStore;
|
|
172
|
+
document.body.appendChild(this.shopCart);
|
|
173
|
+
}
|
|
174
|
+
setupShopifySettings() {
|
|
175
|
+
const shopify = window.Shopify;
|
|
176
|
+
if (typeof shopify !== "undefined") {
|
|
177
|
+
this.appStore.dispatch(shopcart.setLocale({
|
|
178
|
+
country: shopify.country,
|
|
179
|
+
language: shopify.locale
|
|
180
|
+
}));
|
|
181
|
+
this.appStore.dispatch(shopcart.setStoreDomain(utils.getShopUrlFromProductLink(shopify.shop)));
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
const shopUrl = utils.getShopUrlFromProductLink(this.covetProduct.link);
|
|
185
|
+
this.appStore.dispatch(shopcart.setStoreDomain(shopUrl));
|
|
186
|
+
}
|
|
132
187
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
188
|
+
async checkShopCart() {
|
|
189
|
+
let shopCartId = this.appState.shopcartIdByProduct[this.covetProduct.id];
|
|
190
|
+
if (shopCartId === undefined) {
|
|
191
|
+
await this.appStore.dispatch(shopcart.getCartId());
|
|
192
|
+
shopCartId = this.appState.shopcart.id;
|
|
193
|
+
if (!shopCartId)
|
|
194
|
+
return;
|
|
195
|
+
this.appStore.dispatch(shopcartIdByProduct.setCartIdByProduct({ productId: this.covetProduct.id, shopcartId: shopCartId }));
|
|
136
196
|
}
|
|
137
197
|
else {
|
|
138
|
-
|
|
198
|
+
this.appStore.dispatch(shopcart.setId(shopCartId));
|
|
199
|
+
}
|
|
200
|
+
await this.appStore.dispatch(shopcart.loadCart());
|
|
201
|
+
return this.appStore.dispatch(shopcart.updateBuyerIdentity());
|
|
202
|
+
}
|
|
203
|
+
checkIsAvailableForSale() {
|
|
204
|
+
if (this.shopCartState.error !== null)
|
|
205
|
+
return;
|
|
206
|
+
const isArrayFiltersEqual = (a, b) => a.length === b.length && a.map(o => o.name + "\0" + o.value).sort().join() === b.map(o => o.name + "\0" + o.value).sort().join();
|
|
207
|
+
const selectedVariant = this.product.variants.find(el => isArrayFiltersEqual(el.selectedOptions, this.selectedOptions));
|
|
208
|
+
this.isAvailableForSale = selectedVariant !== undefined && selectedVariant.availableForSale;
|
|
209
|
+
}
|
|
210
|
+
shopCartAnimation() {
|
|
211
|
+
const popup = this.el.closest(".popup");
|
|
212
|
+
const popupDialog = this.el.closest(".popup-dialog");
|
|
213
|
+
// covet-pics-direct-buy is rendered inside .popup and .popup-dialog
|
|
214
|
+
const previewSlideActive = this.el.querySelector(".preview-slide.active");
|
|
215
|
+
if (previewSlideActive === null) {
|
|
216
|
+
return this.addToCartChain();
|
|
217
|
+
}
|
|
218
|
+
const previewSlideImg = previewSlideActive.querySelector(".image");
|
|
219
|
+
const previewSlideCloneImg = previewSlideImg.cloneNode(true);
|
|
220
|
+
const main = this.el.querySelector(".main");
|
|
221
|
+
const btnCheckout = this.appState.size.isDesktopScreen
|
|
222
|
+
? popupDialog.querySelector(".btn-checkout.desktop")
|
|
223
|
+
: popup.querySelector(".btn-checkout:not(.desktop)");
|
|
224
|
+
btnCheckout === null || btnCheckout === void 0 ? void 0 : btnCheckout.classList.add("show");
|
|
225
|
+
this.addToCartChain();
|
|
226
|
+
const startPosition = previewSlideActive.getBoundingClientRect();
|
|
227
|
+
const mainPosition = main.getBoundingClientRect(); // fallback in case 'btn-checkout' change layout structure
|
|
228
|
+
const endPosition = btnCheckout !== null
|
|
229
|
+
? btnCheckout.getBoundingClientRect()
|
|
230
|
+
: { width: 20, height: 20, left: mainPosition.right - 20, top: mainPosition.top };
|
|
231
|
+
const animationClone = document.createElement("div");
|
|
232
|
+
animationClone.className = previewSlideActive.className;
|
|
233
|
+
animationClone.classList.add("popup-product-animation");
|
|
234
|
+
animationClone.appendChild(previewSlideCloneImg);
|
|
235
|
+
animationClone.style.setProperty("--covet-pics-popup-product-clone-begin-x", `${startPosition.left}px`);
|
|
236
|
+
animationClone.style.setProperty("--covet-pics-popup-product-clone-begin-y", `${startPosition.top}px`);
|
|
237
|
+
animationClone.style.setProperty("--covet-pics-popup-product-clone-begin-width", `${startPosition.width}px`);
|
|
238
|
+
animationClone.style.setProperty("--covet-pics-popup-product-clone-begin-height", `${startPosition.height}px`);
|
|
239
|
+
animationClone.style.setProperty("--covet-pics-popup-product-clone-end-x", `${endPosition.left}px`);
|
|
240
|
+
animationClone.style.setProperty("--covet-pics-popup-product-clone-end-y", `${endPosition.top}px`);
|
|
241
|
+
animationClone.style.setProperty("--covet-pics-popup-product-clone-end-width", `${endPosition.width}px`);
|
|
242
|
+
animationClone.style.setProperty("--covet-pics-popup-product-clone-end-height", `${endPosition.height}px`);
|
|
243
|
+
popupDialog.after(animationClone);
|
|
244
|
+
const animateHandler = () => {
|
|
245
|
+
animationClone.removeEventListener("animationend", animateHandler);
|
|
246
|
+
animationClone.remove();
|
|
247
|
+
};
|
|
248
|
+
animationClone.addEventListener("animationend", animateHandler);
|
|
249
|
+
animationClone.classList.add("animate");
|
|
250
|
+
}
|
|
251
|
+
sliderAnimation(idx) {
|
|
252
|
+
const slider = this.el.querySelector(".product-slider");
|
|
253
|
+
const sliderWrap = this.el.querySelector(".product-slider-wrap");
|
|
254
|
+
const slides = Array.from(sliderWrap.querySelectorAll(".gallery-slide"));
|
|
255
|
+
slides.forEach(slide => slide.classList.remove("active"));
|
|
256
|
+
slides[idx].classList.add("active");
|
|
257
|
+
let deltaX = (idx - 1) * this.directBuySlideWidth + ((idx - 1) * this.sliderSpaceBetween);
|
|
258
|
+
const sliderWidth = slider.getBoundingClientRect().width;
|
|
259
|
+
const sliderWrapWidth = sliderWrap.scrollWidth;
|
|
260
|
+
if (deltaX > sliderWrapWidth - sliderWidth) {
|
|
261
|
+
deltaX = sliderWrapWidth - sliderWidth + this.sliderSpaceBetween;
|
|
262
|
+
}
|
|
263
|
+
if (deltaX < 0) {
|
|
264
|
+
deltaX = 0;
|
|
265
|
+
}
|
|
266
|
+
sliderWrap.style.transform = `translateX(-${deltaX}px)`;
|
|
267
|
+
}
|
|
268
|
+
async addToCart() {
|
|
269
|
+
const shopcartTotalQuantity = this.appState.shopcart.totalQuantity;
|
|
270
|
+
const result = await this.appStore.dispatch(shopcart.addToCart(this.selectedVariant.id));
|
|
271
|
+
if (result.type === "shopcart/addToCart/fulfilled") {
|
|
272
|
+
// Use the API result to prevent race conditions caused by multiple clicks.
|
|
273
|
+
if (result.payload.totalQuantity === shopcartTotalQuantity) {
|
|
274
|
+
this.appStore.dispatch(shopcart.showNotification({ message: "this product is out of stock", type: "info" }));
|
|
275
|
+
this.isAvailableForSale = false;
|
|
276
|
+
}
|
|
277
|
+
if (getters.getUseAnalytics(this.appState)) {
|
|
278
|
+
const category = "Covet.pics Popup";
|
|
279
|
+
const action = "Covet.pics Add-to-Cart Click";
|
|
280
|
+
const label = "Covet.pics Add-to-Cart Click - " + this.product.id;
|
|
281
|
+
utils.sendToGoogleAnalytics(action, category, label);
|
|
282
|
+
}
|
|
283
|
+
const beaconData = {
|
|
284
|
+
gallery_item_id: this.itemId,
|
|
285
|
+
product_id: this.product.id,
|
|
286
|
+
};
|
|
287
|
+
storeUtils.sendBeacon(this.appState, "direct_buy", beaconData);
|
|
139
288
|
}
|
|
140
289
|
}
|
|
290
|
+
renderProductSlider() {
|
|
291
|
+
if (this.product.images.nodes.length < 2)
|
|
292
|
+
return null;
|
|
293
|
+
return (index.h("div", { class: "product-slider" }, index.h("div", { class: "product-slider-wrap" }, this.product.images.nodes.map((image, idx) => (index.h("div", { class: "gallery-slide", onClick: this.gallerySlideClickHandler, "data-id": image.id, "data-idx": idx }, index.h("img", { src: image.url, alt: image.altText, class: "image" })))))));
|
|
294
|
+
}
|
|
295
|
+
renderCheckbox(option) {
|
|
296
|
+
return (index.h("fieldset", { class: "checkbox-group" }, index.h("legend", null, option.name), option.optionValues.map((value) => (index.h("covet-pics-checkbox", { inputId: `option-${value.name}-${option.name}`, label: value.name, "data-name": option.name, "data-value": value.name, checked: this.selectedOptions.some((el) => el.name === option.name && el.value === value.name), disabled: value.disabled, value: value.name, onCheckboxChange: this.onCheckboxChange })))));
|
|
297
|
+
}
|
|
298
|
+
renderSelect(option) {
|
|
299
|
+
const selectedOption = this.selectedOptions.find((item) => item.name === option.name);
|
|
300
|
+
if (!selectedOption)
|
|
301
|
+
return null;
|
|
302
|
+
return (index.h("covet-pics-select", { onSelectChange: this.onSelectChange, "data-name": option.name, selectId: `select-${option.name}`, optionData: option, "selected-value": selectedOption.value, label: selectedOption.value }));
|
|
303
|
+
}
|
|
141
304
|
get itemCSSVariables() {
|
|
142
305
|
return {
|
|
143
306
|
"--covet-internal-direct-buy-btn-color": this.settings.popup_buy_button_text_color,
|
|
144
307
|
"--covet-internal-direct-buy-btn-bg-color": this.settings.popup_buy_button_background_color,
|
|
145
308
|
"--covet-internal-direct-buy-btn-active-color": this.settings.popup_buy_button_text_hover_color,
|
|
146
|
-
"--covet-internal-direct-buy-btn-active-bg-color": this.settings.popup_buy_button_background_hover_color
|
|
309
|
+
"--covet-internal-direct-buy-btn-active-bg-color": this.settings.popup_buy_button_background_hover_color,
|
|
310
|
+
"--covet-internal-direct-buy-slide-margin": `${this.sliderSpaceBetween}px`,
|
|
311
|
+
"--covet-internal-direct-buy-slider-speed": `${this.sliderSpeed}s`,
|
|
312
|
+
"--covet-internal-direct-buy-slide-width": `${this.directBuySlideWidth}px`,
|
|
147
313
|
};
|
|
148
314
|
}
|
|
149
|
-
initSwiper() {
|
|
150
|
-
// TODO add exception for slides length == 1
|
|
151
|
-
const galleryMainEl = this.el.shadowRoot.querySelector(".main-gallery");
|
|
152
|
-
const paginationEl = this.el.shadowRoot.querySelector(".swiper-pagination");
|
|
153
|
-
return this.mainGallery = new a11y.Swiper(galleryMainEl, {
|
|
154
|
-
modules: [a11y.Pagination, a11y.A11y],
|
|
155
|
-
on: {
|
|
156
|
-
init: (e) => slider.swiperUpdateTabIndex(e),
|
|
157
|
-
update: (e) => slider.swiperUpdateTabIndex(e),
|
|
158
|
-
realIndexChange: (e) => slider.swiperUpdateTabIndex(e)
|
|
159
|
-
},
|
|
160
|
-
pagination: {
|
|
161
|
-
el: paginationEl,
|
|
162
|
-
modifierClass: "swiper-pagination-",
|
|
163
|
-
clickable: true,
|
|
164
|
-
},
|
|
165
|
-
a11y: {
|
|
166
|
-
enabled: true,
|
|
167
|
-
containerMessage: "Product images slider",
|
|
168
|
-
containerRoleDescriptionMessage: "Product images slider inside popup",
|
|
169
|
-
paginationBulletMessage: "Go to product image #{{index}}",
|
|
170
|
-
slideRole: "group",
|
|
171
|
-
slideLabelMessage: "Product image {{index}}/{{slidesLength}}"
|
|
172
|
-
},
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
renderOptions(optionData, optionNumber) {
|
|
176
|
-
if (optionData && optionData.values.length > 1) {
|
|
177
|
-
return (
|
|
178
|
-
// TODO switch to native html select
|
|
179
|
-
index.h("div", { class: "options", id: `option${optionNumber}` }, index.h("label", { onClick: this.optionLabelClickHandler, onKeyDown: this.optionLabelClickHandler, tabindex: "0" }, index.h("span", { class: "option-name", title: optionData["name"] }, optionData["name"]), index.h("span", { class: { "selected-option": true, "empty": this.settings.select_label_caption === "" } }, this.settings.select_label_caption)), index.h("div", { class: "options-container" }, optionData.values.map((option) => index.h("div", { class: "option-value", "data-value": option, onClick: this.selectVariantHandler, onKeyDown: this.selectVariantHandler, tabindex: "0" }, index.h("div", { class: "selected-indic" }), index.h("div", { class: "value-text", innerHTML: option, title: option }))))));
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
updateSelectedOptions(key, value) {
|
|
183
|
-
const updated = {};
|
|
184
|
-
updated[key] = value;
|
|
185
|
-
this.selectedOptions = Object.assign(Object.assign({}, this.selectedOptions), updated);
|
|
186
|
-
}
|
|
187
|
-
emitAddToCartEvent() {
|
|
188
|
-
const customEvent = utils.buildEvent("addToCart:covetPics", {
|
|
189
|
-
productId: this.productId,
|
|
190
|
-
variantId: this.selectedVariant.id,
|
|
191
|
-
});
|
|
192
|
-
document.dispatchEvent(customEvent);
|
|
193
|
-
}
|
|
194
|
-
selectFeaturedImage() {
|
|
195
|
-
if (this.selectedVariant && this.selectedVariant.featured_image) {
|
|
196
|
-
this.mainGallery.slides.forEach((slide, index) => {
|
|
197
|
-
if (slide.querySelector("img").src === this.selectedVariant.featured_image.src) {
|
|
198
|
-
this.mainGallery.slideTo(index);
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
imgAltTag(caption, idx, itemsLength) {
|
|
204
|
-
return caption && caption.length > 0
|
|
205
|
-
? `${caption} product slide ${idx} of ${itemsLength}`
|
|
206
|
-
: `product slide ${idx} of ${itemsLength}`;
|
|
207
|
-
}
|
|
208
315
|
render() {
|
|
209
|
-
|
|
316
|
+
var _a, _b, _c;
|
|
317
|
+
return (index.h(index.Host, { key: 'cf9bed7e1c4def4d9411455c711cbf7456483c00', style: this.itemCSSVariables }, index.h("button", { key: '2e06833672ea416d87143eed25cfa4aecd1d3759', class: "close", onClick: this.closeClickHandler, tabindex: "0", "aria-label": "Direct buy close", type: "button" }, index.h(funcComponents.IconDirectBuyClose, { key: '43036f4c34a5ff8c7eed98de79b92545fab277ca', iconClass: "icon-close" })), index.h("div", { key: '57bb96530dd1ff518de1b20862c7e77d47e0ec13', class: "wrap" }, this.product && (index.h("div", { key: '950451ac4844107eb2d3d8126b30f77b00953a9b', class: "main" }, index.h("h2", { key: 'c67e69ffb58d096f0c0de91d6c8d7faedc2834c8', class: "title" }, index.h("a", { key: 'ed1167ea11ff78c6b49f6b350a3d1de6343303dc', class: "link-title", href: this.product.onlineStoreUrl, target: "_blank", "aria-label": `Link to '${this.product.title}'` }, this.product.title)), index.h("div", { key: 'cb347eb85306e576a95e1d864447dcb1281f99b2', class: "product-preview" }, index.h("div", { key: 'eaaadc97e96682c7d865a3996602ce49a45699e5', class: "preview-slide active" }, ((_a = this.selectedVariant) === null || _a === void 0 ? void 0 : _a.image)
|
|
318
|
+
? index.h("img", { src: this.selectedVariant.image.url, alt: this.selectedVariant.image.altText, class: "image" })
|
|
319
|
+
: index.h("img", { src: (_b = this.product.images.nodes[0]) === null || _b === void 0 ? void 0 : _b.url, alt: (_c = this.product.images.nodes[0]) === null || _c === void 0 ? void 0 : _c.altText, class: "image" }))), this.renderProductSlider(), this.selectedVariant &&
|
|
320
|
+
index.h("div", { key: '705417c6d75ae0d7d3f4ae1bed71c960042f672c', class: "options" }, this.options.map((option) => {
|
|
321
|
+
if (option.optionValues.length < 2)
|
|
322
|
+
return null;
|
|
323
|
+
return option.optionValues.length < 4 ? this.renderCheckbox(option) : this.renderSelect(option);
|
|
324
|
+
})))), this.product &&
|
|
325
|
+
index.h("div", { key: '85b1fd60a0670a598cf096fb5e6ba8431b88c800', class: "footer" }, this.selectedVariant &&
|
|
326
|
+
index.h("div", { key: '7783df659974c913d2ec4be5869c54a92f8ea7f0', class: "price-wrap" }, index.h("label", { key: 'b861550faa7adab0bbc65344493107bc6018e567', class: "price-label" }, this.settings.price_label_caption), index.h("p", { key: '2db07b4b93e4c89369951e59e4d423783aae4a87', class: "price-text" }, utils.formatMoneyNew(this.selectedVariant.price, `${this.shopCartState.locale.language}-${this.shopCartState.locale.country}`))), index.h("button", { key: 'c13a2ef19adef7c3b9655ceb6015ff4414b53695', onClick: this.addToCartClickHandler, class: `btn-buy btn-add-to-cart ${this.settings._buyButtonStyle}`, "aria-label": "Add to cart", innerHTML: this.selectedVariant ? this.settings.add_to_cart_button_caption : "out of stock", disabled: !this.isAvailableForSale || !this.selectedVariant, type: "button" })))));
|
|
210
327
|
}
|
|
211
328
|
get el() { return index.getElement(this); }
|
|
212
329
|
};
|
|
@@ -3570,7 +3687,7 @@ const CovetPicsHotspots = class {
|
|
|
3570
3687
|
});
|
|
3571
3688
|
}
|
|
3572
3689
|
render() {
|
|
3573
|
-
return (index.h(index.Host, { key: '
|
|
3690
|
+
return (index.h(index.Host, { key: 'd148e6374868f82300a42619a07cdc2dc1e33e3e', class: { "show-hotspot-numbers": this.showNumbers }, style: this.getItemCSSVariables() }, this.links.map(link => index.h("a", { class: "hotspot", tabindex: "0", href: link.link, target: "_top", style: this.getPositionForLink(link), "data-link-id": link.id, "data-tippy-content": `<span class="product-title">${link.title}</span><span class="price">${link.prices ? link.prices.price_label : ""} ></span>`, "aria-label": `Hotspot link to '${link.title}'` }, index.h("span", { class: "pulse" })))));
|
|
3574
3691
|
}
|
|
3575
3692
|
get el() { return index.getElement(this); }
|
|
3576
3693
|
};
|
|
@@ -3666,7 +3783,7 @@ const CovetPicsPopupLinks = class {
|
|
|
3666
3783
|
// TODO: check buttonStyle this old todo (style-3 -> not implanted yet)
|
|
3667
3784
|
const buttonStyle = this.settings.popup_buy_button_style.replace("buy_btn_", "").replace("_", "-");
|
|
3668
3785
|
const linkStyle = this.settings.popup_products_view_type.replace("_view", "");
|
|
3669
|
-
return (index.h("ul", { key: '
|
|
3786
|
+
return (index.h("ul", { key: '8ec3b481345f340bddf72996b9508d7235db6226', class: `links ${linkStyle} ${this.greyBorderClass} links-${this.links.length.toString()}`, style: this.getItemCSSVariables(), role: "list" }, this.links.map((link, idx) => index.h("li", { class: "product", "data-link-id": link.id, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, role: "listitem" }, index.h("a", { class: "product-link", target: link.new_tab ? "_blank" : "_top", "data-ga-campaign": link.title, href: link.link, "aria-label": this.getProductLinkLabel(link), role: "link" }, index.h("div", { class: "img-wrap" }, this.renderLinkImage(link, idx, this.links.length)), index.h("div", { class: "product-details" }, index.h("span", { class: "product-title" }, link.title), this.settings.show_price_in_popup && link.prices &&
|
|
3670
3787
|
index.h("span", { class: "product-price", innerHTML: link.prices.price_label }), this.settings.show_price_in_popup && link.prices && link.prices.is_on_sale &&
|
|
3671
3788
|
index.h("span", { class: "product-price product-sale", innerHTML: link.prices.sale_price }))), index.h("a", { class: `btn-buy ${buttonStyle}`, href: link.link, target: link.new_tab ? "_blank" : "_top", "data-ga-campaign": link.title, onClick: this.buyButtonClickHandler, "data-product-id": link.shopify_product_id, "aria-label": "Link to direct buy", role: "link" }, buttonStyle === "style-5" &&
|
|
3672
3789
|
index.h("svg", { class: "icon-buy", viewBox: "0 0 14 14", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, index.h("g", { fill: "none", "fill-rule": "evenodd" }, index.h("path", { d: "M0 0h14v14H0z" }), index.h("path", { class: "dynamic-fill", d: "M6.855 1.575c1.323 0 2.405 1.03 2.405 2.315v.352h1.57l.95 8.24H1.896l.95-8.24H4.45V3.89c0-1.23.994-2.229 2.241-2.31zM9.94 5.242h-.68l.001.262a.5.5 0 01-.41.492l-.09.008a.5.5 0 01-.5-.5v-.262H5.45v.262a.5.5 0 01-.41.492l-.09.008a.5.5 0 01-.5-.5v-.262h-.714l-.72 6.24h7.643l-.72-6.24zM6.855 2.575c-.781 0-1.405.594-1.405 1.315v.352h2.81V3.89c0-.679-.552-1.245-1.269-1.31z", fill: "#FFF", "fill-rule": "nonzero" }))), index.h("span", { class: "btn-title" }, this.getLinkLabel(link)))))));
|
|
@@ -3921,9 +4038,148 @@ const CovetPicsPopupSlider = class {
|
|
|
3921
4038
|
get el() { return index.getElement(this); }
|
|
3922
4039
|
};
|
|
3923
4040
|
|
|
4041
|
+
const covetPicsSelectCss = ":host{display:flex;justify-content:space-between;align-items:center;border:1px solid transparent;border-bottom:1px solid #EEEEEE;height:var(--covet-direct-buy-dropdown-height);padding:0 8px 0 6px;-moz-text-align-last:right;text-align-last:right;font-weight:300;color:var(--covet-direct-buy-font-color);position:relative;cursor:pointer;outline:none !important;margin-bottom:10px}:host label{width:100%;height:100%;display:flex;justify-content:space-between;outline:none !important}:host label .option-name{margin:auto 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}:host label .selected-option{margin:auto 0;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M0 0h24v24H0z'%3E%3C/path%3E%3Cpath stroke='%23A0A0A0' d='M16.95 10.25L12 15.2l-4.95-4.95'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 50%;background-size:24px;padding-right:26px;text-transform:uppercase;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:50%;font-family:inherit;cursor:pointer;font-weight:bold}:host label .selected-option.empty{height:16px;line-height:1rem;width:20%}:host .options-container{display:none;position:absolute;top:var(--covet-direct-buy-dropdown-height);left:-1px;background:#FFF;z-index:2;width:100%;border:1px solid #eee;border-top:0;max-height:114px;overflow:auto;cursor:pointer}:host .options-container .option-value{min-height:32px;font-size:12px;color:#101010;display:flex;align-items:center;outline:none !important}:host .options-container .option-value.selected .selected-indic{height:24px;border-left:2px solid #101010}:host .options-container .option-value .value-text{margin-left:4px;margin-right:4px;padding:0 10px;display:flex;align-items:center;width:100%;font-size:12px;min-height:32px}:host .options-container .option-value:hover .value-text,:host .options-container .option-value:active .value-text,:host .options-container .option-value:focus .value-text{background:#F7F7F7}:host(.opened){border-left:1px solid #EEE;border-right:1px solid #EEE}:host(.opened) .options-container{display:block}:host(.hover-enable){transition:border 0.25s ease}:host(:hover),:host(:active),:host(:focus),:host(:focus-within){border-bottom-color:#000000}";
|
|
4042
|
+
|
|
4043
|
+
const CovetPicsSelect = class {
|
|
4044
|
+
constructor(hostRef) {
|
|
4045
|
+
index.registerInstance(this, hostRef);
|
|
4046
|
+
this.selectChange = index.createEvent(this, "selectChange", 7);
|
|
4047
|
+
this.labelClickHandler = (event) => {
|
|
4048
|
+
event.preventDefault();
|
|
4049
|
+
event.stopPropagation();
|
|
4050
|
+
if (event.type === "keydown" && event.keyCode !== 13 && event.keyCode !== 32)
|
|
4051
|
+
return false;
|
|
4052
|
+
if (this.el.classList.contains("opened")) {
|
|
4053
|
+
return;
|
|
4054
|
+
}
|
|
4055
|
+
setTimeout(() => { this.el.classList.add("opened"); }, 50);
|
|
4056
|
+
};
|
|
4057
|
+
this.selectVariantHandler = (event) => {
|
|
4058
|
+
event.preventDefault();
|
|
4059
|
+
event.stopPropagation();
|
|
4060
|
+
const el = event.currentTarget;
|
|
4061
|
+
if (el.dataset.disabled === "true")
|
|
4062
|
+
return;
|
|
4063
|
+
this.selectChange.emit(el.dataset.value);
|
|
4064
|
+
this.el.classList.remove("opened");
|
|
4065
|
+
};
|
|
4066
|
+
}
|
|
4067
|
+
handleClickOutside(event) {
|
|
4068
|
+
if (!this.el.classList.contains("opened"))
|
|
4069
|
+
return;
|
|
4070
|
+
const isClickOutside = !event.composedPath().includes(this.el);
|
|
4071
|
+
if (isClickOutside)
|
|
4072
|
+
return this.el.classList.remove("opened");
|
|
4073
|
+
}
|
|
4074
|
+
componentDidLoad() {
|
|
4075
|
+
requestAnimationFrame(() => this.el.classList.add("hover-enable")); // prevent border flickering on first render
|
|
4076
|
+
}
|
|
4077
|
+
render() {
|
|
4078
|
+
return (index.h(index.Host, { key: '37dfcde178268d65b8494813787f8cf3eabc0692', class: "options", id: this.selectId }, index.h("label", { key: '3d90deaa72cb721b97a486b465529a293a6716f3', onClick: this.labelClickHandler, onKeyDown: this.labelClickHandler, tabindex: "0" }, index.h("span", { key: 'e7c8652a6251e21a055732dd0f3fd6d1f1ab3d07', class: "option-name", title: this.optionData["name"] }, this.optionData["name"]), index.h("span", { key: '3c16db1087ea36e05f1458c55c896e3ba054a0e4', class: { "selected-option": true, "empty": this.label === "" } }, this.label)), index.h("div", { key: 'fe3f24370121f36790e777dc8db21834741e3efd', class: "options-container" }, this.optionData.optionValues.map((option) => index.h("div", { class: { "option-value": true, "selected": option.name === this.selectedValue, "disabled": option.disabled }, "data-value": option.name, "data-disabled": `${option.disabled}`, onClick: this.selectVariantHandler, onKeyDown: this.selectVariantHandler, tabindex: "0" }, index.h("div", { class: "selected-indic" }), index.h("div", { class: "value-text", innerHTML: option.name, title: option.name }))))));
|
|
4079
|
+
}
|
|
4080
|
+
get el() { return index.getElement(this); }
|
|
4081
|
+
};
|
|
4082
|
+
CovetPicsSelect.style = covetPicsSelectCss;
|
|
4083
|
+
|
|
4084
|
+
const covetPicsShopCartCss = "*,*::before,*::after{box-sizing:border-box}:host{--covet-font-family:var(--covet-custom-font-family, var(--covet-internal-font-family)), sans-serif;position:fixed;left:0;top:0;right:0;bottom:0;width:0;height:0;visibility:hidden;background-color:transparent;z-index:-1;font-family:var(--covet-font-family);color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host(.show){z-index:9999999999999;width:100%;height:100%;visibility:visible}h1,h2,h3,h4,h5,h6,p{margin-top:0}.cart-body{max-height:calc(100vh - 40px);display:flex;flex-direction:column;width:480px;background-color:#fff;color:#000;top:32px;right:0;z-index:10;position:absolute;padding:20px;border-radius:0;opacity:0;transform:translateX(100%);box-sizing:border-box;overflow:hidden;box-shadow:0 20px 20px -8px rgba(26, 26, 26, 0.2784313725), 0 1px 0 0 rgba(204, 204, 204, 0.5019607843) inset, 0 -1px 0 0 rgba(0, 0, 0, 0.168627451) inset, -1px 0 0 0 rgba(0, 0, 0, 0.168627451) inset, 1px 0 0 0 rgba(0, 0, 0, 0.1294117647) inset}.cart-body.show{opacity:1;transform:translateX(-32px);transition:all 0.25s ease}@media only screen and (max-width: 799.98px){.cart-body.show{transform:translateX(0)}}@media only screen and (max-width: 799.98px){.cart-body{width:100%;top:0;right:0;max-height:none;height:100%}}.cart-top{flex-shrink:0}.btn-close{display:flex;justify-content:center;align-items:center;width:32px;height:32px;overflow:hidden;cursor:pointer;position:absolute;top:0%;right:0%;transform:translate(-16px, 16px);border:none;background-color:transparent;padding:0}.btn-close:after,.btn-close:before{content:\"\";position:absolute;width:23px;height:2px;left:50%;top:50%;background-color:#000000;transform-origin:center center;transition:background-color 0.3s ease}.btn-close:after{transform:translate(-50%, -50%) rotate(45deg)}.btn-close:before{transform:translate(-50%, -50%) rotate(-45deg)}.btn-close:disabled{cursor:auto}.btn-close:hover:after,.btn-close:hover:before,.btn-close:focus:after,.btn-close:focus:before,.btn-close:active:after,.btn-close:active:before,.btn-close.active:after,.btn-close.active:before{background-color:rgba(0, 0, 0, 0.5)}.cart-title{margin-top:0}.product-list{overflow-y:auto;padding-right:6px;flex-grow:1}.product{display:flex;padding-top:10px;padding-bottom:10px;border-bottom:1px solid rgba(0, 0, 0, 0.5)}.product:first-child{border-top:1px solid rgba(0, 0, 0, 0.5)}@media only screen and (max-width: 799.98px){.product{align-items:center}}.img-wrap{flex:none;display:flex;width:100px;height:100px;overflow:hidden;margin-right:20px}@media only screen and (max-width: 799.98px){.img-wrap{width:70px;height:70px}}@media only screen and (max-width: 479.98px){.img-wrap{width:50px;height:50px}}.img-wrap.is-loading{background-image:linear-gradient(120deg, #DFE3E8, #F9FAFB);animation:pulsate 2s ease-in-out infinite}.img-wrap.is-loading .img{opacity:0}.img{margin:auto;-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.description{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top{display:flex;width:100%;margin-bottom:10px}.title{margin-bottom:0;font-size:18px;font-weight:700;color:#000;flex:1;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media only screen and (max-width: 799.98px){.title{font-size:16px}}.price{margin-left:10px;margin-bottom:0;font-size:16px;font-weight:700;color:#000}@media only screen and (max-width: 799.98px){.price{font-size:14px}}.text{margin-top:0;margin-bottom:10px;font-size:16px;font-weight:400;color:rgba(0, 0, 0, 0.6);min-width:0;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media only screen and (max-width: 799.98px){.text{font-size:14px}}.change-count{display:flex;margin-right:auto}.count{border-top:1px solid black;border-bottom:1px solid black;display:flex;justify-content:center;align-items:center;font-family:var(--covet-font-family);font-size:14px;width:30px;height:30px}@media only screen and (max-width: 799.98px){.count{width:20px;height:20px}}.btn-update{border:1px solid black;background-color:transparent;font-family:var(--covet-font-family);font-size:16px;color:black;width:30px;height:30px;border-radius:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity 0.25s ease}.btn-update:hover,.btn-update:focus,.btn-update:active{opacity:0.7}.btn-update:disabled{opacity:0.5;pointer-events:none}@media only screen and (max-width: 799.98px){.btn-update{width:20px;height:20px}}.bottom{display:flex;margin-top:auto;width:100%}.btn-delete{display:flex;justify-content:center;align-items:center;border:none;background-color:transparent;width:30px;height:30px;padding:0;border-radius:0;cursor:pointer;transition:opacity 0.25s ease}@media only screen and (max-width: 799.98px){.btn-delete{width:20px;height:20px}}.btn-delete:hover,.btn-delete:focus,.btn-delete:active{opacity:0.7}.icon-basket{width:14px;height:16px}.cost{margin-top:20px}.cost-price{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;font-weight:400;color:#000000}.cost-price.total{font-weight:700}.cost-price.discount{font-size:12px}.btn-checkout{display:flex;justify-content:center;align-items:center;border:1px solid #FFFFFF;background-color:#000000;color:#FFFFFF;width:100%;padding:8px;border-radius:0;font-weight:700;transition:opacity 0.25s ease;cursor:pointer;font-size:16px;font-family:var(--covet-font-family);margin-top:20px;text-decoration:none;position:relative}.btn-checkout:hover,.btn-checkout:focus,.btn-checkout:active{opacity:0.7}.btn-checkout.disabled{opacity:0.5;pointer-events:none}@keyframes pulsate{0%{opacity:1}50%{opacity:0.3}100%{opacity:1}}";
|
|
4085
|
+
|
|
4086
|
+
const CovetPicsShopCart = class {
|
|
4087
|
+
constructor(hostRef) {
|
|
4088
|
+
index.registerInstance(this, hostRef);
|
|
4089
|
+
this.isCartVisible = false;
|
|
4090
|
+
this.totalQuantity = 0;
|
|
4091
|
+
this.closeShopCart = (event) => {
|
|
4092
|
+
event.preventDefault();
|
|
4093
|
+
event.stopPropagation();
|
|
4094
|
+
this.appStore.dispatch(shopcart.setShopCartVisible(false));
|
|
4095
|
+
};
|
|
4096
|
+
this.onRemoveLine = async (event) => {
|
|
4097
|
+
event.preventDefault();
|
|
4098
|
+
event.stopPropagation();
|
|
4099
|
+
const btn = event.currentTarget;
|
|
4100
|
+
const lineId = btn.dataset.lineId;
|
|
4101
|
+
this.appStore.dispatch(shopcart.removeLine({
|
|
4102
|
+
lineId: lineId
|
|
4103
|
+
}));
|
|
4104
|
+
};
|
|
4105
|
+
this.onUpdateLine = async (event) => {
|
|
4106
|
+
event.preventDefault();
|
|
4107
|
+
event.stopPropagation();
|
|
4108
|
+
const btn = event.currentTarget;
|
|
4109
|
+
const totalQuantityBeforeUpdate = this.appState.shopcart.totalQuantity;
|
|
4110
|
+
const lineQuantity = parseInt(btn.dataset.lineQuantity);
|
|
4111
|
+
const lineId = btn.dataset.lineId;
|
|
4112
|
+
await this.appStore.dispatch(shopcart.updateLine({
|
|
4113
|
+
lineId: lineId,
|
|
4114
|
+
lineQuantity: lineQuantity
|
|
4115
|
+
}));
|
|
4116
|
+
if (btn.dataset.action === "add" && totalQuantityBeforeUpdate === this.appState.shopcart.totalQuantity) {
|
|
4117
|
+
btn.setAttribute("disabled", "true");
|
|
4118
|
+
}
|
|
4119
|
+
else {
|
|
4120
|
+
const btnAdd = btn.closest('.change-count').querySelector('.btn-update[data-action="add"]');
|
|
4121
|
+
btnAdd.removeAttribute("disabled");
|
|
4122
|
+
}
|
|
4123
|
+
};
|
|
4124
|
+
this.imageLoadedHandler = (event) => {
|
|
4125
|
+
event.preventDefault();
|
|
4126
|
+
event.stopPropagation();
|
|
4127
|
+
if (event.type === "load") {
|
|
4128
|
+
const img = event.currentTarget;
|
|
4129
|
+
const imgWrap = img.closest(".img-wrap");
|
|
4130
|
+
imgWrap.classList.remove("is-loading");
|
|
4131
|
+
}
|
|
4132
|
+
};
|
|
4133
|
+
}
|
|
4134
|
+
componentWillLoad() {
|
|
4135
|
+
this.initStore();
|
|
4136
|
+
}
|
|
4137
|
+
disconnectedCallback() {
|
|
4138
|
+
this.unsubscribe();
|
|
4139
|
+
}
|
|
4140
|
+
initStore() {
|
|
4141
|
+
this.appState = this.appStore.getState();
|
|
4142
|
+
this.products = [...this.appState.shopcart.lines];
|
|
4143
|
+
this.totalAmount = getters.getFormatedTotalPrice(this.appState);
|
|
4144
|
+
this.discount = getters.getFormatedDiscount(this.appState);
|
|
4145
|
+
this.totalQuantity = this.appState.shopcart.totalQuantity;
|
|
4146
|
+
this.isCartVisible = this.appState.shopcart.isShopCartVisible;
|
|
4147
|
+
this.checkoutUrl = this.appState.shopcart.checkoutUrl;
|
|
4148
|
+
this.unsubscribe = this.appStore.subscribe(() => {
|
|
4149
|
+
this.appState = this.appStore.getState();
|
|
4150
|
+
this.products = [...this.appState.shopcart.lines];
|
|
4151
|
+
this.totalAmount = getters.getFormatedTotalPrice(this.appState);
|
|
4152
|
+
this.discount = getters.getFormatedDiscount(this.appState);
|
|
4153
|
+
this.totalQuantity = this.appState.shopcart.totalQuantity;
|
|
4154
|
+
this.isCartVisible = this.appState.shopcart.isShopCartVisible;
|
|
4155
|
+
this.checkoutUrl = this.appState.shopcart.checkoutUrl;
|
|
4156
|
+
});
|
|
4157
|
+
}
|
|
4158
|
+
setWidgetCSSVariables() {
|
|
4159
|
+
let cssVariables = {
|
|
4160
|
+
"--covet-internal-font-family": `${this.appState.settings.font_family}`
|
|
4161
|
+
};
|
|
4162
|
+
return cssVariables;
|
|
4163
|
+
}
|
|
4164
|
+
renderProduct(product) {
|
|
4165
|
+
var _a, _b;
|
|
4166
|
+
const { merchandise, cost } = product;
|
|
4167
|
+
return (index.h("article", { class: "product", key: product.id }, index.h("div", { class: "img-wrap is-loading" }, index.h("img", { class: "img", src: (_a = merchandise.image) === null || _a === void 0 ? void 0 : _a.url, alt: ((_b = merchandise.image) === null || _b === void 0 ? void 0 : _b.altText) || "product image", onLoad: this.imageLoadedHandler, onError: this.imageLoadedHandler })), index.h("div", { class: "description" }, index.h("div", { class: "top" }, index.h("h3", { class: "title" }, merchandise.product.title), index.h("p", { class: "price" }, utils.formatCurrency(cost.totalAmount.amount, cost.totalAmount.currencyCode, `${this.appState.shopcart.locale.language}-${this.appState.shopcart.locale.country}`))), index.h("h4", { class: "text" }, merchandise.title), index.h("div", { class: "bottom" }, index.h("div", { class: "change-count" }, index.h("button", { class: "btn-update", onClick: this.onUpdateLine, "data-line-id": product.id, "data-line-quantity": product.quantity - 1 }, "-"), index.h("span", { class: "count" }, product.quantity), index.h("button", { class: "btn-update", onClick: this.onUpdateLine, "data-line-id": product.id, "data-line-quantity": product.quantity + 1, "data-action": "add" }, "+")), index.h("button", { class: "btn-delete", onClick: this.onRemoveLine, "data-line-id": product.id }, index.h("svg", { class: "icon-basket" }, index.h("path", { d: "M6.31 7.18c0-.51-.4-.92-.9-.92s-.9.41-.9.92v4.63c0 .51.4.93.9.93s.9-.42.9-.93V7.18z", style: { transform: "translateX(3px)" } }), index.h("path", { d: "M6.31 7.18c0-.51-.4-.92-.9-.92s-.9.41-.9.92v4.63c0 .51.4.93.9.93s.9-.42.9-.93V7.18z" }), index.h("path", { d: "m7 0c-1.634 0-2.965 1.33-3.021 2.993H.902C.404 2.993 0 3.407 0 3.918c0 .511.404.926.902.926h.689v5.828c0 .91 0 1.599.044 2.148.043.551.132.971.314 1.338.315.635.818 1.151 1.437 1.474.358.187.766.278 1.303.323.535.045 1.207.045 2.094.045h.434c.887 0 1.558 0 2.093-.045.537-.045.946-.136 1.304-.323a3.3 3.3 0 0 0 1.437-1.474c.182-.367.27-.787.314-1.338.044-.55.044-1.239.044-2.148V4.844h.69c.497 0 .901-.415.901-.926 0-.511-.404-.925-.901-.925h-3.078C9.965 1.33 8.634 0 7 0zm-1.326 3.102h2.652a1.54 1.54 0 0 0-.387-.961c.215.222.357.521.383.852.002.036.004.073.004.109H5.674zM7 1.85c.638 0 1.161.503 1.215 1.143H5.785C5.839 2.353 6.362 1.85 7 1.85zM3.394 4.844h7.212v5.823c0 .943-.001 1.545-.038 2.003-.035.436-.093.585-.124.648a2.42 2.42 0 0 1-.649.666c-.061.032-.206.091-.632.127-.445.037-1.032.039-1.951.039h-.424c-.919 0-1.506-.002-1.952-.039-.426-.036-.57-.095-.631-.127a2.42 2.42 0 0 1-.649-.666c-.031-.063-.09-.212-.124-.648-.037-.458-.038-1.06-.038-2.003V4.844z" })))))));
|
|
4168
|
+
}
|
|
4169
|
+
render() {
|
|
4170
|
+
return (index.h(index.Host, { key: '1859171f70f032e271f50e406dcd76783edabc3a', style: this.setWidgetCSSVariables(), class: { "show": this.isCartVisible }, role: "dialog" }, index.h("div", { key: 'b881885f70ff80d2b558ddd41a6537e370565b26', class: { "cart-body": true, "show": this.isCartVisible } }, index.h("div", { key: 'c844dc933ca9ef0fa55eab86a7bd7c3c9fe9969f', class: "cart-top" }, index.h("h2", { key: '4f1f1ce72e3be1697c8300b15e0d46475c2d16fe', class: "cart-title" }, "Basket"), index.h("button", { key: 'd119b13ceab6f7022f067f3e57cb4a4a991b2bd9', onClick: this.closeShopCart, class: "btn-close" })), index.h("div", { key: '5c69846ab7350c1bd3f0d1364c8ee7b7a0e3d65c', class: "product-list" }, this.products.map((product) => this.renderProduct(product))), index.h("div", { key: '9e707a2fea91eec71024d50d07b281a1a419bb87', class: "cost" }, this.discount !== '0' &&
|
|
4171
|
+
index.h("p", { key: '184491722c32f5176de6229068817cb779973fdf', class: "cost-price discount" }, index.h("span", { key: '11c3b1ecb77fadb451c33ff13263d9c225ebfdd5' }, "Discount"), index.h("span", { key: 'a78dc3d242e5e3b77debdef5f16c4d7417fd1ef2' }, "- ", this.discount)), index.h("p", { key: '66f33aa4f1b62a6acab17594ac32cf7a6b77b1b2', class: "cost-price total" }, index.h("span", { key: '152a952a740eceebc0c09d264798385ce11e28e4' }, "Total"), index.h("span", { key: '5ab04c9dc8c78169c48431665ac145ca4d1eab0c' }, this.totalAmount))), index.h("a", { key: 'e4b4aa4f67464db177bbd112e1053fa51b217269', class: { "btn-checkout": true, "disabled": this.products.length === 0 }, href: this.checkoutUrl, target: "_top" }, "Proceed to checkout"))));
|
|
4172
|
+
}
|
|
4173
|
+
get el() { return index.getElement(this); }
|
|
4174
|
+
};
|
|
4175
|
+
CovetPicsShopCart.style = covetPicsShopCartCss;
|
|
4176
|
+
|
|
4177
|
+
exports.covet_pics_checkbox = CovetPicsCheckbox;
|
|
3924
4178
|
exports.covet_pics_direct_buy = CovetPicsDirectBuy;
|
|
3925
4179
|
exports.covet_pics_hotspots = CovetPicsHotspots;
|
|
3926
4180
|
exports.covet_pics_popup_links = CovetPicsPopupLinks;
|
|
3927
4181
|
exports.covet_pics_popup_review = CovetPicsPopupReviewElement;
|
|
3928
4182
|
exports.covet_pics_popup_shared_links = CovetPicsPopupSharedLinks;
|
|
3929
4183
|
exports.covet_pics_popup_slider = CovetPicsPopupSlider;
|
|
4184
|
+
exports.covet_pics_select = CovetPicsSelect;
|
|
4185
|
+
exports.covet_pics_shop_cart = CovetPicsShopCart;
|