@polyv/product-ui 1.0.0-rc-20250612.4 → 1.1.0-rc-20250703.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/address-edit.cjs.js +2 -2
  2. package/address-edit.es.js +22 -9
  3. package/address-edit.umd.js +2 -2
  4. package/address-item.cjs.js +2 -2
  5. package/address-item.es.js +12 -12
  6. package/address-item.umd.js +2 -2
  7. package/address-list.cjs.js +2 -2
  8. package/address-list.es.js +30 -18
  9. package/address-list.umd.js +3 -3
  10. package/big-card-popup.cjs.js +9 -0
  11. package/big-card-popup.es.d.ts +3 -0
  12. package/big-card-popup.es.js +4402 -0
  13. package/big-card-popup.umd.js +9 -0
  14. package/index.cjs.js +3 -3
  15. package/index.es.js +1418 -692
  16. package/index.umd.js +3 -3
  17. package/mobile-product-pendant.cjs.js +3 -3
  18. package/mobile-product-pendant.es.js +45 -35
  19. package/mobile-product-pendant.umd.js +3 -3
  20. package/order-confirm.cjs.js +2 -2
  21. package/order-confirm.es.js +30 -18
  22. package/order-confirm.umd.js +2 -2
  23. package/order-detail.cjs.js +2 -2
  24. package/order-detail.es.js +30 -18
  25. package/order-detail.umd.js +2 -2
  26. package/order-item.cjs.js +2 -2
  27. package/order-item.es.js +21 -9
  28. package/order-item.umd.js +2 -2
  29. package/order-list-popup.cjs.js +3 -3
  30. package/order-list-popup.es.js +40 -19
  31. package/order-list-popup.umd.js +2 -2
  32. package/order-list.cjs.js +2 -2
  33. package/order-list.es.js +21 -9
  34. package/order-list.umd.js +2 -2
  35. package/order-popup.cjs.js +2 -2
  36. package/order-popup.es.js +40 -19
  37. package/order-popup.umd.js +2 -2
  38. package/package.json +2 -1
  39. package/pc-product-pendant.cjs.js +3 -3
  40. package/pc-product-pendant.es.js +21 -9
  41. package/pc-product-pendant.umd.js +3 -3
  42. package/product-button.cjs.js +3 -3
  43. package/product-button.es.js +298 -261
  44. package/product-button.umd.js +3 -3
  45. package/product-detail-popup.cjs.js +3 -3
  46. package/product-detail-popup.es.js +243 -185
  47. package/product-detail-popup.umd.js +3 -3
  48. package/product-detail.cjs.js +3 -3
  49. package/product-detail.es.js +315 -265
  50. package/product-detail.umd.js +3 -3
  51. package/product-iframe-link-popup.cjs.js +2 -2
  52. package/product-iframe-link-popup.es.js +13 -4
  53. package/product-iframe-link-popup.umd.js +2 -2
  54. package/product-item.cjs.js +3 -3
  55. package/product-item.es.js +397 -204
  56. package/product-item.umd.js +3 -3
  57. package/product-list-popup.cjs.js +3 -3
  58. package/product-list-popup.es.js +423 -295
  59. package/product-list-popup.umd.js +3 -3
  60. package/product-list.cjs.js +3 -3
  61. package/product-list.es.js +414 -294
  62. package/product-list.umd.js +3 -3
  63. package/small-card.cjs.js +8 -0
  64. package/small-card.es.d.ts +3 -0
  65. package/small-card.es.js +4463 -0
  66. package/small-card.umd.js +9 -0
package/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- !function(){"use strict";try{if("undefined"!=typeof document){var t=document.createElement("style");t.appendChild(document.createTextNode('@charset "UTF-8";@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-common-pendant{position:relative;width:36px;height:36px;overflow:hidden;border-radius:4px;background-color:#0000000f;cursor:pointer}.plv-product-common-pendant+.plv-product-common-pendant{margin-top:8px}.plv-product-common-pendant__icon{width:100%;height:100%;background-repeat:no-repeat;background-size:100% 100%}.plv-product-common-pendant__text{position:absolute;bottom:7px;left:50%;display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:32px;height:12px;padding:0 2px;border-radius:6px;color:#fff;text-align:center;white-space:nowrap;transform:translate(-50%)}.plv-product-common-pendant__text span{font-size:12px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-pendant .plv-product-common-pendant__text{font-family:DINPro-Regular,sans-serif}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-pc-pendant{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:104px;height:28px;overflow:hidden;padding:0 4px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#0000004d;transition:width .3s ease,padding .3s ease}.plv-product-pc-pendant--collapsed{width:21px;padding:0;border-top-right-radius:0;border-bottom-right-radius:0}.plv-product-pc-pendant__content{display:flex;justify-content:space-between;align-items:center;width:100%;cursor:pointer}.plv-product-pc-pendant__main{display:flex;align-items:center;cursor:pointer}.plv-product-pc-pendant__icon{flex:none;width:20px;height:20px;margin-right:2px}.plv-product-pc-pendant__text{position:relative;flex:1;max-width:50px;color:#fff;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-pc-pendant__text:after{position:absolute;top:50%;left:55px;display:block;width:1px;height:16px;background:#fff3;transform:translateY(-50%);content:""}.plv-product-pc-pendant__main:hover{margin:-2px -3px;padding:2px 6px 2px 3px;border-radius:5px;background:#fff3}.plv-product-pc-pendant__main:hover .plv-product-pc-pendant__text:after{display:none}.plv-product-pc-pendant__arrow-right,.plv-product-pc-pendant__arrow-left{display:flex;color:#fff9;font-size:12px;cursor:pointer}.plv-product-pc-pendant__arrow-right:hover{margin:-6px -4px;padding:6px 4px;border-radius:5px;background:#fff3}.plv-product-pc-pendant__arrow-left:hover{margin:-14px -4px;padding:14px 4px;border-radius:6px;background:#fff3}.plv-product-pc-pendant__content--arrow-hover .plv-product-pc-pendant__text:after{display:none}.pendant-expand-enter-active{transition:all .3s ease}.pendant-expand-leave-active{transition:all .2s ease}.pendant-expand-enter-from,.pendant-expand-leave-to{opacity:0%;transform:translate(-10px)}.pendant-collapse-enter-active{transition:all .3s ease .1s}.pendant-collapse-leave-active{transition:all .2s ease}.pendant-collapse-enter-from,.pendant-collapse-leave-to{opacity:0%;transform:scale(.8)}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-button{position:relative}.plv-product-button__render{position:relative;z-index:10}.plv-product-button__inner{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;cursor:pointer}.plv-radio{cursor:pointer;line-height:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.plv-radio:last-of-type{margin-right:0}.plv-radio .plv-radio__inner{-ms-flex-negative:0;flex-shrink:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:16px;height:16px;border-radius:8px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;vertical-align:middle}.plv-radio .plv-radio__label{color:#1d2129;font-size:14px;padding-left:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;line-height:16px;word-break:break-word}.plv-radio:hover .plv-radio__inner{border-color:#3f76fc}.plv-radio.plv-radio--checked .plv-radio__inner{border-width:4px;border-color:#3f76fc}.plv-radio.plv-radio--disabled{cursor:not-allowed}.plv-radio.plv-radio--disabled .plv-radio__inner{border-color:#e5e5e5;background:#f9fafd}.plv-radio.plv-radio--disabled .plv-radio__label{color:#969ba5}.plv-radio.plv-radio--disabled.plv-radio--checked .plv-radio__inner{background:#f9fafd}.plv-radio.plv-radio--readonly{cursor:default}.plv-radio.plv-radio--readonly:hover .plv-radio__inner{border-color:#e5e5e5}.plv-radio.plv-radio--readonly:hover .plv-radio__inner.plv-radio__inner--checked{border-color:#3f76fc}.plv-radio--border{min-width:80px;height:36px!important;padding:0 16px;border-radius:2px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;position:relative;margin-right:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plv-radio--border:hover{border-color:#3f76fc}.plv-radio--border .plv-radio__label{padding-left:0;font-size:12px;float:none}.plv-radio--border.plv-radio--checked{border-width:2px;border-color:#3f76fc}.plv-radio--border .plv-radio__corner{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background-image:url(data:image/png;base64,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);background-size:100% 100%}.plv-radio--border.plv-radio--disabled{background:#f9fafd;border-color:#e5e5e5!important}.plv-radio--border.plv-radio--disabled:hover,.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5}.plv-radio--border.plv-radio--readonly.plv-radio--checked{border-color:#3f76fc}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-common-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006}.plv-product-common-popup__body{position:absolute;display:flex;flex-direction:column;width:100%;max-height:90%;overflow:hidden;border-radius:16px 16px 0 0;background:#fff}.plv-product-common-popup__header{position:relative;z-index:2;display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:0 54px}.plv-product-common-popup__back{position:absolute;top:50%;left:18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:20px;transform:translateY(-50%);cursor:pointer}.plv-product-common-popup__title{color:#000c;font-size:16px;font-weight:500;text-align:center}.plv-product-common-popup__header-right{position:absolute;top:50%;right:12px;display:flex;align-items:center;transform:translateY(-50%)}.plv-product-common-popup__close{display:flex;color:#0009;font-size:24px;cursor:pointer}.plv-product-common-popup__content{position:relative;z-index:2;display:flex;flex:1;overflow:hidden}.plv-product-common-popup__inner{flex:1;overflow-y:auto}.plv-product-common-popup__body--bg1{background:linear-gradient(180deg,#fee5e1,#fef9f4)}.plv-product-common-popup__body--bg1:before{position:absolute;top:-26px;right:-87px;z-index:1;width:176px;height:168px;background:#fdf0d5;pointer-events:none;content:"";filter:blur(80px)}.plv-product-common-popup__body--bg1 .plv-product-common-popup__content{padding:0 12px 30px}.plv-product-common-popup__body--bg1 .plv-product-common-popup__inner{border-radius:12px;background:#fff}.plv-product-common-popup--hide-modal{background:none;pointer-events:none}.plv-product-common-popup--hide-modal .plv-product-common-popup__body{pointer-events:initial}.plv-product-common-popup--fill-body .plv-product-common-popup__content{height:90%}.plv-product-common-popup--mobile .plv-product-common-popup__body{border-radius:16px 16px 0 0}.plv-product-common-popup--position-bottom .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(0, 100%);--plv-product-popup-animation-end: translate(0, 0);bottom:0;left:0}.plv-product-common-popup--position-left .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(-100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;left:0;height:100%;max-height:100%}.plv-product-common-popup--position-right .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;right:0;height:100%;max-height:100%}.plv-product-common-popup--position-center .plv-product-common-popup__body{top:50%;left:50%;max-height:90%;animation:none!important;transform:translate(-50%,-50%)}.plv-product-common-popup--horizontal-screen .plv-product-common-popup__body{border-radius:0}.plv-product-common-popup--page-fullscreen{top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__body,.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__content{overflow:initial}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__inner{overflow-y:initial}.plv-product-common-popup-slide-enter-active{animation:plv-product-common-popup-slide-in .2s ease-in-out}.plv-product-common-popup-slide-leave-active{animation:plv-product-common-popup-slide-in .15s reverse ease-in-out}@keyframes plv-product-common-popup-slide-in{0%{transform:var(--plv-product-popup-animation-start)}to{transform:var(--plv-product-popup-animation-end)}}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-form-input{display:flex}.plv-product-form-input__main{position:relative;display:flex;flex:1;align-items:center;box-sizing:border-box;height:50px;overflow:hidden;border-radius:8px;background:#f7f8fa}.plv-product-form-input__input{display:block;flex:1;box-sizing:border-box;height:100%;color:inherit}.plv-product-form-input__input-inner{border:none;border-radius:0;outline:none;display:block;box-sizing:border-box;width:100%;height:100%;padding:0 12px;background:none;font-size:14px}.plv-product-form-input__input-inner::placeholder{color:#9e9e9e}.plv-product-form-input__input-inner::-webkit-outer-spin-button,.plv-product-form-input__input-inner::-webkit-inner-spin-button{margin:0;appearance:none!important}.plv-product-form-input__input-inner[type=number]{appearance:textfield}.plv-product-form-input__input-inner[disabled]{opacity:100%}.plv-product-form-input__input-inner[type=button],.plv-product-form-input__input-inner[type=submit],.plv-product-form-input__input-inner[type=reset]{appearance:none;background:#fff}.plv-product-form-input__clearable{display:flex;margin-right:16px;color:#999;font-size:20px}.plv-product-form-input__suffix-text{color:#aaa;font-size:16px}.plv-product-form-input--textarea .plv-product-form-input__main{height:initial}.plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:8px}.plv-product-form-input__suffix{display:flex;align-items:center;padding-right:12px}.plv-product-form-input__suffix .polyv-icon{display:flex;color:#0006;font-size:18px}.plv-product-form-input__suffix:empty{display:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-loading{display:inline-block;width:32px;height:32px;background-image:url(data:image/png;base64,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);background-position:center;background-size:cover;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-label-panel{position:relative;background-color:#f7f8fa}.plv-product-c-label-list__wrapper{position:relative;z-index:1060;display:flex;box-sizing:border-box;margin-bottom:4px;padding:0 12px;background-color:#f7f8fa}.plv-product-c-label-list__inner{display:flex}.plv-product-c-label-list__item{display:flex;flex:none;flex-direction:column;align-items:center;box-sizing:border-box;height:26px;margin-right:8px;margin-bottom:8px;padding:4px 12px;border:1px solid rgba(0,0,0,.06);border-radius:20px;color:#0009;font-size:12px;line-height:18px}.plv-product-c-label-list__item.plv-product-c-label-list__item--active{border-color:#ff62644d;color:#ff6264;font-weight:500}.plv-product-c-label-list__arrow{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:26px;height:26px;margin-left:auto;border:1px solid rgba(0,0,0,.1);border-radius:20px}.plv-product-c-label-list__arrow-icon{display:flex;color:#0006;font-size:16px;transition:.3s}.plv-product-c-label-list__arrow--active .plv-product-c-label-list__arrow-icon{transform:rotate(180deg)}.plv-product-c-label-list__shadow{position:absolute;top:0;right:0;z-index:0;width:80px;height:42px;background:linear-gradient(90deg,#f7f8fa00,#f7f8fa 39%)}.plv-product-c-label-list-panel{position:absolute;top:100%;right:0;left:0;z-index:1050;box-sizing:border-box;padding:0 12px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:#f7f8fa}.plv-product-c-label-list-panel__content{flex-wrap:wrap;box-sizing:border-box;max-height:216px;overflow-y:auto;transform:translateZ(0)}.slide-fade-enter-active,.slide-fade-leave-active{overflow:hidden;transition:transform .3s ease,opacity .3s ease}.slide-fade-enter,.slide-fade-leave-to{opacity:0%;transform:translateY(-10px)}.fade-overlay-enter-active,.fade-overlay-leave-active{transition:opacity .3s ease}.fade-overlay-enter,.fade-overlay-leave-to{opacity:0%}.plv-product-c-label-overlay{position:fixed;inset:45% 0 0;z-index:1040;background-color:#0006}.plv-product-c-label-overlay-pc{position:absolute;inset:45% 0 0;z-index:1040;height:600px;background-color:#0006}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-explain--explaining{display:flex;justify-content:center;align-items:center;width:100%;height:20px;border-radius:0 0 8px 8px;background:#ff6264cc;color:#fff;font-size:12px;font-weight:500;backdrop-filter:blur(3px)}.plv-product-c-explain--explaining .plv-product-c-explain--explaining-icon{width:14px;height:14px;margin-right:2px;vertical-align:top}.plv-product-c-explain--explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(255,98,100,.3);border-radius:20px;background:#fff;color:#ff6264;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.plv-product-c-explain--not-explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(0,0,0,.1);border-radius:20px;background:#fff;color:#666;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--explaining-cover{position:absolute;bottom:0;left:0}.plv-product-c-explain--not-explained-cover,.plv-product-c-explain--explained-cover{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining{width:52px;height:16px;padding:1px 2px;border:1px solid rgba(255,82,82,.6);border-radius:2px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;transform:scale(.8333)}.plv-product-c-explain--no-cover .plv-product-c-explain--explained{width:60px;height:24px;padding:3px 12px;background:transparent;color:#ff5252;font-size:12px}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained{display:flex;box-sizing:border-box;height:16px;margin-left:4px;padding:1px 4px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained span{display:inline-block;transform:scale(.833);user-select:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__title-container{position:relative;margin-bottom:6px}.plv-product-c-item__title{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-item__title--single{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__title-more{position:absolute;top:22px;right:-6px;display:flex;border:none;background:none}.plv-product-c-item__title-more-icon{display:flex;color:#0006;font-size:16px}.plv-product-c-item__title--expanded{-webkit-line-clamp:unset}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__tag-container{box-sizing:border-box;margin-right:4px;padding:0 1px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__tag{display:inline-block;transform:scale(.833);user-select:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__price-area{display:flex;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px}.plv-product-c-item__price-custom{font-size:14px}.plv-product-c-item__price-symbol{color:#ff5252;font-size:12px}.plv-product-c-item__price-placeholder{margin-left:2px;color:#ff5252;font-size:18px}.plv-product-c-item__placeholder-text{margin:6px 2px 0 3px;color:#0006;font-size:12px}.plv-product-c-item__original-price{margin-left:2px;color:#0006;font-size:12px;line-height:14px;text-decoration:line-through}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-item{position:relative;display:flex;box-sizing:border-box;height:124px;margin-bottom:8px;padding:12px;border-radius:8px;background-color:#fff;cursor:pointer}.plv-product-item__ranking{box-sizing:border-box;min-width:19px;height:16px;padding:1px 6px;border-radius:2px;background:#0006;color:#fff;font-size:12px;font-weight:700;line-height:14px}.plv-product-item__ranking--cover{position:absolute;top:2px;left:2px}.plv-product-item__cover-area{position:relative;flex:none;overflow:hidden;margin-right:8px;border-radius:4px}.plv-product-item__cover-stock{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#00000080;color:#fff;font-size:12px}.plv-product-item__cover{width:100px;height:100px;object-fit:cover}.plv-product-item__content{display:flex;flex-grow:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-item__content .plv-product-c-item__title-container{min-width:0;margin-bottom:0}.plv-product-item__title-area{display:flex;align-items:center}.plv-product-item__tags{display:flex;flex-wrap:wrap;margin-top:6px;margin-bottom:6px}.plv-product-item__description{margin:0;color:#0006;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-item__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.plv-product-item__explained--no-cover{margin-right:12px;margin-left:auto}.plv-product-item__buy-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:24px;padding:3px 12px;border:none;border-radius:16px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;outline:none}.plv-product-item__buy-button--disabled{background:#ff525299;color:#fff}.plv-product-item-no-cover .plv-product-c-item__title{margin-left:4px}.plv-product-item--topping{background:#f15d5d14}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-list-empty{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;padding:0 10px;font-size:14px;line-height:18px;text-align:center;transform:translate(-50%,-50%)}.plv-product-list-empty__icon{display:flex;opacity:40%;margin-bottom:16px;color:#999;font-size:70px}.plv-product-list-empty__text{color:#999}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-list{height:100%;overflow-y:auto;background-color:#f7f8fa;-webkit-overflow-scrolling:touch}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__main{height:32px;border-radius:8px;background:#0000000a}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__input-inner{padding-left:4px}.plv-product-list__header-search-icon{display:flex;margin-left:11px;color:#0006}.plv-product-list__header{position:sticky;top:0;left:0;z-index:30;padding-bottom:12px;background-color:#f7f8fa}.plv-product-list__header-search-wrapper{display:flex;align-items:center;margin:0 0 12px;padding:7px 12px 0}.plv-product-list__search-input{flex:1;margin-right:8px}.plv-product-list__header-right{display:flex;flex-direction:column;margin-left:auto;padding:6px 10px 3px}.plv-product-list__header-right-icon{display:flex;margin:0 auto 2px}.plv-product-list__header-right-text{color:#333a47;font-size:12px}.plv-product-list__wrapper{padding:0 8px}.plv-product-list__product-total{display:flex;align-items:center;margin-top:12px;padding:0 12px}.plv-product-list__product-total-icon{display:flex;margin-right:4px;color:#000c;font-size:12px}.plv-product-list__product-total-text,.plv-product-list__product-total-num{color:#0009;font-size:12px}.plv-product-list__product-total-num{margin-left:8px;font-weight:500}.plv-product-list__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}.plv-product-list-popup__icon-close{display:flex;margin:0 4px 0 8px;color:#0009;font-size:24px;cursor:pointer}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-video{position:relative;width:100%;height:100%;background-color:#00000080}.plv-product-c-video__container{width:100%;height:100%}.plv-product-c-video__container-material{position:relative;width:100%;height:100%}.plv-product-c-video__container-placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-video__container-placeholder-icon{font-size:64px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.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);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.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-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - var(--swiper-navigation-size) / 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:#00000040;position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:#0000001a}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:#00000080;border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.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-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .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(0)}to{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:"";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.plv-product-c-swiper-img,.plv-product-c-swiper-img__swiper{height:100%}.plv-product-c-swiper-img__swiper-slide{background:#0000001a}.plv-product-c-swiper-img__slide-img{width:100%;height:100%;object-fit:cover}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-swiper-img__placeholder-icon{font-size:64px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-switch-tab__block{display:flex;flex-direction:row;align-items:center;padding:2px;border-radius:10px;background:#0003;transition:all .3s}.plv-product-c-switch-tab__block-item{min-width:32px;height:14px;padding:0 4px;color:#dbe4f4;font-size:12px;line-height:14px;text-align:center;transform:scale(.833);cursor:pointer}.plv-product-c-switch-tab__block-item--active{border-radius:10px;background:#fff;color:#666}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-detail-cover{position:relative;width:100%;padding-top:100%;background:#eaeaea}.plv-product-c-detail-cover__container{position:absolute;top:0;left:0;width:100%;height:100%}.plv-product-c-detail-cover__switch-tab{position:absolute;bottom:20px;left:12px;z-index:20}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-product-info{position:relative;z-index:11;display:flex;flex-direction:column;box-sizing:border-box;margin-top:-8px;padding:8px 8px 16px;border-top-left-radius:15px;border-top-right-radius:15px;background:#f7f8fa}.plv-product-c-product-info .plv-product-c-item__price-placeholder{font-size:30px}.plv-product-c-product-info .plv-product-c-item__placeholder-text{margin:6px 4px 0}.plv-product-c-product-info__price{margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__treatment{margin-bottom:8px;margin-left:8px;color:#ff5252;font-size:22px}.plv-product-c-product-info__tags{display:flex;margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__content{display:flex;flex-direction:column;margin-bottom:8px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__content .plv-product-c-item__title-container{margin-bottom:0}.plv-product-c-product-info__content-desc{margin-top:6px;color:#0006;font-size:12px;line-height:18px}.plv-product-c-product-info__detail{flex:1;box-sizing:border-box;min-height:184px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__detail--mobile{padding-bottom:76px}.plv-product-c-product-info__detail-label{margin-bottom:12px;color:#000c;font-size:14px;font-weight:500;line-height:14px}.plv-product-c-product-info__detail-text:after{display:block;clear:both;content:""}.plv-product-c-product-info__detail-text table,.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{border-width:1px;border-style:solid}.plv-product-c-product-info__detail-text table{border-collapse:collapse}.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{min-width:50px;padding:3px 5px}.plv-product-c-product-info__detail-text p{margin:10px 0}.plv-product-c-product-info__detail-text p:first-child{margin-top:0}.plv-product-c-product-info__detail-text p:last-child{margin-bottom:0}.plv-product-c-product-info__detail-text a{color:#3f76fc}.plv-product-c-product-info__detail-text a:hover{color:#3f76fc!important}.plv-product-c-product-info__detail-text img{max-width:100%}.plv-product-c-product-info__detail-text ol,.plv-product-c-product-info__detail-text ul{padding-left:40px}.plv-product-c-product-info__detail-text ol{list-style-type:decimal}.plv-product-c-product-info__detail-text ul{list-style-type:disc}.plv-product-c-product-info__detail-text h1,.plv-product-c-product-info__detail-text h2,.plv-product-c-product-info__detail-text h3,.plv-product-c-product-info__detail-text h4,.plv-product-c-product-info__detail-text h5{margin:0;font-weight:700}.plv-product-c-product-info__detail-text h1{font-size:28px;line-height:42px}.plv-product-c-product-info__detail-text h2{font-size:24px;line-height:36px}.plv-product-c-product-info__detail-text h3{font-size:20px;line-height:28px}.plv-product-c-product-info__detail-text h4{font-size:18px;line-height:26px}.plv-product-c-product-info__detail-text h5{font-size:16px;line-height:22px}.plv-product-c-product-info__detail-text h6{margin:0}.plv-product-c-product-info__detail-text hr{border-color:#000}.plv-product-c-product-info__detail-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;color:#999;font-size:12px}.plv-product-c-product-info__detail-empty-icon{width:64px;height:64px;margin-bottom:12px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-detail-container{position:relative;display:flex;flex-direction:column;width:100%;height:100%}.plv-product-detail-container__content{background:#f7f8fa}.plv-product-detail-container__content-title{position:sticky;top:0;left:0;z-index:10;width:100%;height:52px;margin-bottom:8px;background:#f7f8fa;color:#000c;font-size:16px;font-weight:500;line-height:52px;text-align:center}.plv-product-detail-container__footer{z-index:15;box-sizing:border-box;width:100%;padding:12px 28px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-detail-container__footer{padding-bottom:16px}}.plv-product-detail-container__footer:before{position:absolute;top:-16px;right:0;left:0;height:16px;background:linear-gradient(0deg,#fff,#fff0);content:""}.plv-product-detail-container__footer-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:100%;height:48px;border:none;border-radius:24px;background:#ff5252;color:#fff;font-size:16px;outline:none}.plv-product-detail-container__footer-button--disabled{background:#ff525299;color:#fff}.plv-product-detail-container--mobile .plv-product-detail-container__content{flex:1}.plv-product-detail-container--mobile .plv-product-detail-container__footer{position:fixed;right:0;bottom:0;left:0}.plv-product-detail-container--pc .plv-product-detail-container__content{flex:1;overflow-y:auto}.plv-product-detail-container--pc .plv-product-detail-container__footer{position:relative;flex-shrink:0}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-detail-popup__close{position:absolute;top:11px;right:10px;z-index:99;display:flex;justify-content:center;align-items:center;width:28px;height:28px;border-radius:28px;background:#0000001a;color:#fff;cursor:pointer}.plv-product-detail-popup__close:before{position:absolute;inset:-10px;z-index:-1;content:""}.plv-product-detail-popup__icon-close{display:flex}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-order-status-tab{display:flex;gap:4px;align-items:center;height:auto;min-height:36px;overflow:auto hidden;margin:0 -12px;padding:8px 12px;color:#999;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.plv-product-c-order-status-tab::-webkit-scrollbar{display:none}.plv-product-c-order-status-tab__item{position:relative;flex:none;padding:8px 16px;background-color:transparent;color:#999;font-size:14px;white-space:nowrap;cursor:pointer}.plv-product-c-order-status-tab__item--active{color:#333}.plv-product-c-order-status-tab__item--active:after{position:absolute;bottom:1px;left:50%;width:16px;height:2px;border-radius:2px;background-color:#ff5252;transform:translate(-50%);content:""}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-purchase-product{display:flex;overflow:hidden;padding:10px 12px;border-radius:8px;background:#fff}.plv-product-c-purchase-product__image{flex:none;width:100px;height:100px;margin-right:8px;border-radius:4px;object-fit:cover}.plv-product-c-purchase-product__info{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-c-purchase-product__name{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-purchase-product__tags{display:flex;margin-top:6px}.plv-product-c-purchase-product__description{margin-top:6px;color:#0006;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-purchase-product__price-symbol{color:#333;font-size:12px}.plv-product-c-purchase-product__price-value{color:#333;font-size:18px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order-item{margin:8px 12px;padding:10px 12px 16px;border-radius:8px;background-color:#fff}.plv-product-order-item:first-child{margin-top:0}.plv-product-order-item__main .plv-product-c-purchase-product{padding:0}.plv-product-order-item__footer{padding-top:10px}.plv-product-order-item__actions-summary{display:flex;justify-content:space-between;align-items:center}.plv-product-order-item__left{display:flex;align-items:center}.plv-product-order-item__status-text{color:#666;font-size:14px}.plv-product-order-item__status-text--highlight{color:#ff5252}.plv-product-order-item__countdown{margin-left:8px;color:#ff5252}.plv-product-order-item__total{margin-bottom:12px;text-align:right}.plv-product-order-item__total-symbol{margin-right:2px;color:#999;font-size:14px;vertical-align:middle}.plv-product-order-item__total-value{color:#333;font-size:18px;vertical-align:middle}.plv-product-order-item__buttons{display:flex;gap:8px}.plv-product-order-item__button{box-sizing:border-box;max-width:150px;height:32px;padding:0 20px;border:1px solid rgba(0,0,0,.1);border-radius:22px;background-color:transparent;color:#000c;font-size:14px;line-height:32px;text-align:center;cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-order-item__button--highlight{border-color:#ff5252;background:#ff5252;color:#fff}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order-list{display:flex;flex-direction:column;height:100%;overflow:hidden auto}.plv-product-order-list__status-tab{position:sticky;top:0;z-index:1;flex-shrink:0;background:#f7f8fa}.plv-product-order-list__items-container{position:relative;flex:1;min-height:0;padding-top:8px}.plv-product-order-list__empty{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:300px}.plv-product-order-list__empty-icon{display:flex;justify-content:center;color:#e1e5e8;font-size:70px}.plv-product-order-list__empty-text{margin-top:16px;color:#999;font-size:12px;text-align:center}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-pay-status{display:flex;flex-direction:column;justify-content:center;align-items:center}.plv-product-c-pay-status__text{color:#000c;font-size:20px;font-weight:500}.plv-product-c-pay-status__actions{display:flex;justify-content:center;align-items:center;margin-top:4px;margin-bottom:18px;color:#999;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-customer-qrcode{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:18px;padding:20px 0;border-radius:8px;background:#fff}.plv-product-c-customer-qrcode__img-wrap{position:relative;display:flex;justify-content:center;align-items:center;padding:10px;border:1px solid #CCC;border-radius:4px}.plv-product-c-customer-qrcode__img-text{position:absolute;color:#0006;font-size:14px}.plv-product-c-customer-qrcode__img,.plv-product-c-customer-qrcode__img--expired{width:120px;height:120px}.plv-product-c-customer-qrcode__tips{margin-top:12px;color:#0006;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-address-item{box-sizing:border-box;padding:12px 16px;border-radius:8px;background:#fff}.plv-product-address-item__top{display:flex;justify-content:space-between;align-items:center}.plv-product-address-item__content{flex:1;min-width:0}.plv-product-address-item__header{color:#000c;font-size:14px}.plv-product-address-item__header-phone{margin-left:4px}.plv-product-address-item__address{margin-top:4px;color:#0006;font-size:14px;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-address-item__icon-wrapper{display:flex;flex-shrink:0;align-items:center;margin-left:40px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-phone-info{display:flex;align-items:center;box-sizing:border-box;height:52px;padding-left:12px;border-radius:8px;background:#fff;color:#000c;font-size:14px}.plv-product-c-phone-info__text{margin-left:12px}.plv-product-c-payment-methods{margin-bottom:8px;padding:10px 12px;border-radius:8px;background-color:$plv-color-white}.plv-product-c-payment-methods__title{margin-bottom:10px;color:$plv-color-black-opacity-40;font-size:12px}.plv-product-c-payment-methods__list{display:flex;flex-direction:column}.plv-product-c-payment-methods__item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.plv-product-c-payment-methods__item-info{display:flex;align-items:center}.plv-product-c-payment-methods__item-icon{display:flex;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px}.plv-product-c-payment-methods__item-icon img{max-width:100%;max-height:100%}.plv-product-c-payment-methods__item-label{color:$plv-color-black-opacity-80;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-order-info__text{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;height:44px;padding:12px 14px 12px 16px;color:#000c;font-size:12px}.plv-product-c-order-info__text>span:first-child{color:#0006}.plv-product-c-order-info__amount{color:#ff5252}.plv-product-c-order-info__amount-symbol{font-size:12px}.plv-product-c-order-info__amount-value{font-size:18px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-bottom-operate-panel{display:flex;justify-content:flex-end;box-sizing:border-box;width:100%;padding:10px 12px;background-color:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-c-bottom-operate-panel{padding-bottom:16px}}.plv-product-c-bottom-operate-panel__item{display:flex;justify-content:center;align-items:center}.plv-product-c-bottom-operate-panel__btn{box-sizing:border-box;height:40px;padding:9px 32px;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;white-space:nowrap}.plv-product-c-bottom-operate-panel__btn-refund{border:1px solid rgba(0,0,0,.1);background:transparent;color:#000c}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order-detail{display:flex;flex-direction:column;height:100%}.plv-product-order-detail__content{flex:1;padding:0 12px}.plv-product-order-detail__info{margin-top:8px;border-radius:8px;background:#fff}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order-list-popup__wrap{position:relative;box-sizing:border-box;width:100%;height:100%;overflow:hidden}.plv-product-order-list-popup__order-list,.plv-product-order-list-popup__order-detail{height:100%}.plv-product-order-list-popup__order-detail{position:absolute;top:0;left:0;box-sizing:border-box;width:100%}.plv-product-order-list-popup__fade-enter-active,.plv-product-order-list-popup__fade-leave-active{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.plv-product-order-list-popup__fade-enter-from,.plv-product-order-list-popup__fade-leave-to{opacity:0%}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-form-item{position:relative;display:flex;align-items:flex-start;margin-bottom:16px;border:1px solid transparent}.plv-product-form-item--error{border-color:#ff5252}.plv-product-form-item__anchor{position:absolute;top:0;left:0;opacity:0%}.plv-product-form-item__label-required{margin-right:2px;color:#ff5252}.plv-product-form-item__label{display:flex;flex-shrink:0;justify-content:flex-end;align-items:center;box-sizing:border-box;padding-right:16px;color:#000c;font-size:14px}.plv-product-form-item__content{position:relative;flex-shrink:0}.plv-product-form-item__content:not(.plv-product-form-item__content--has-width){flex:1}.plv-product-form-item--header{flex-direction:column}.plv-product-form-item--header .plv-product-form-item__label{justify-content:flex-start;width:100%;margin-bottom:8px;padding:0;color:#3339;font-size:12px;line-height:1.5}.plv-product-form-item--header .plv-product-form-item__content{width:100%}.plv-product-form-item__content-error{box-sizing:border-box;width:100%;padding-top:5px;color:#ff5252;font-size:12px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-choose-address{padding:12px 14px 12px 16px;border-radius:8px;background:#fff;cursor:pointer}.plv-product-c-choose-address .plv-product-address-item{padding:0}.plv-product-c-choose-address__empty{display:flex;justify-content:space-between;align-items:center;width:100%}.plv-product-c-choose-address__empty-text{color:#000c;font-size:14px}.plv-product-c-choose-address__empty-action{display:flex;align-items:center;color:#0006;font-size:14px}.plv-product-c-choose-address__empty-action-text{margin-right:4px}.plv-product-c-choose-address__arrow-icon{display:flex;color:#0006;font-size:18px}.plv-product-c-choose-address__info{display:flex;justify-content:space-between;align-items:center;width:100%}.plv-product-c-choose-address__info-contact{display:flex;flex:1;flex-direction:column;margin-right:16px}.plv-product-c-choose-address__info-name{margin-bottom:4px;color:#333;font-size:16px;font-weight:700}.plv-product-c-choose-address__info-mobile{color:#333;font-size:14px}.plv-product-c-choose-address__info-address{flex:1;color:#666;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-order-submit-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-c-order-submit-bar{padding-bottom:16px}}.plv-product-c-order-submit-bar__text{color:#666;font-size:14px}.plv-product-c-order-submit-bar__price{color:#ff5252;font-size:12px}.plv-product-c-order-submit-bar__price-integer{font-size:24px}.plv-product-c-order-submit-bar__submit-btn{box-sizing:border-box;height:40px;padding:9px 32px;border:none;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;white-space:nowrap;outline:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-order{position:relative;display:flex;flex-direction:column;height:100%}.plv-product-order .plv-product-form-item__label{padding-right:0}.plv-product-order__content{flex:1;box-sizing:border-box;overflow-y:auto;padding:0 12px}.plv-product-order__form-item{box-sizing:border-box;border-radius:8px;background:#fff}.plv-product-order__form-item .plv-product-form-input__main{height:52px;background:transparent}.plv-product-order__form-item .plv-product-form-item__content-error{padding:0 0 8px 12px}.plv-product-order__purchase-product,.plv-product-order__payment-method{margin-top:8px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-address-list{display:flex;flex-direction:column;height:100%}.plv-product-address-list__content{flex:1;overflow-y:auto;padding:0 12px}.plv-product-address-list__address-item{margin-bottom:8px;padding-bottom:0}.plv-product-address-list__icon{display:flex;color:#ff5252}.plv-product-address-list__action{display:flex;justify-content:flex-end;align-items:center;margin-top:12px;padding:8px 0;border-top:1px solid #E6E6E6}.plv-product-address-list__action-btn{color:#0006;font-size:14px;cursor:pointer}.plv-product-address-list__action-btn~.plv-product-address-list__action-btn{margin-left:20px}.plv-product-address-list__footer{padding:10px 16px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-address-list__footer{padding-bottom:16px}}.plv-product-address-list__footer-btn{box-sizing:border-box;width:100%;height:40px;border:none;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;line-height:40px;outline:none}.plv-area-picker-mob{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#fff}.plv-area-picker-mob .plv-area-picker__tab{height:58px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.plv-area-picker-mob .plv-area-picker__tab__item{height:58px;line-height:58px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:16px;text-align:center;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plv-area-picker-mob .plv-area-picker__tab__item--selected{color:#3f76fc}.plv-area-picker-mob .plv-area-picker__tab__item--selected:after{content:"";height:2px;width:35px;background:#3f76fc;position:absolute;bottom:12px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%)}.plv-area-picker-mob .plv-area-picker__popper{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:hidden}.plv-area-picker-mob .plv-area-picker__popper__inner{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.plv-area-picker-mob .plv-area-picker__list{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:scroll}.plv-area-picker-mob .plv-area-picker__list__item{height:44px;line-height:44px;padding-left:33px;padding-right:32px;font-size:16px}.plv-area-picker-mob .plv-area-picker__list__item:nth-child(odd){background:#fafafa}.plv-area-picker-mob .plv-area-picker__list__item .plv-front-mob-icon-check{font-size:24px;color:#3f76fc;display:none}.plv-area-picker-mob .plv-area-picker__list__item .plv-area-picker-mob__area__item__inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.plv-area-picker-mob .plv-area-picker__list__item--selected{color:#3f76fc}.plv-area-picker-mob .plv-area-picker__list__item--selected .plv-front-mob-icon-check{display:block}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-form-area-picker__body,.plv-product-form-area-picker__body input{cursor:pointer}.plv-product-form-area-picker__header{display:flex;flex-shrink:0;box-sizing:border-box;width:100%;height:50px;padding:0 16px;font-size:16px;line-height:50px}.plv-product-form-area-picker__header-cancel{color:#9195a1;cursor:pointer}.plv-product-form-area-picker__header-confirm{color:#3082fe;cursor:pointer}.plv-product-form-area-picker__header-confirm.plv-product-form-area-picker__header-confirm--disabled{color:#9e9e9e}.plv-product-form-area-picker__header-placeholder{flex:1;overflow:hidden;color:#333;font-size:16px;text-align:center}.plv-product-form-area-picker__popup{display:flex;flex-direction:column;height:100%}.plv-product-form-area-picker__popup-content{flex:1;overflow:hidden}.plv-product-form-area-picker__popup-content .plv-area-picker__list__item{cursor:pointer}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-address-edit{display:flex;flex-direction:column;box-sizing:border-box;height:100%;padding-left:8px;background-color:#fff}.plv-product-address-edit__form{flex:1;overflow-y:auto}.plv-product-address-edit__form .plv-product-form-item{margin-bottom:0}.plv-product-address-edit__form .plv-product-form-item:first-child .plv-product-form-item__label{padding-right:38px}.plv-product-address-edit__form .plv-product-form-item:nth-child(3){margin-bottom:16px}.plv-product-address-edit__form .plv-product-form-item__label{padding-right:24px}.plv-product-address-edit__form .plv-product-form-input__main{height:52px;border-bottom:1px solid #e6e6e6;border-radius:0;background:transparent}.plv-product-address-edit__form .plv-product-form-input__input-inner{padding-left:0;color:#000c}.plv-product-address-edit__form-address .plv-product-form-input__main{height:64px}.plv-product-address-edit__form-address .plv-product-form-item__label{align-items:flex-start}.plv-product-address-edit__form-address .plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:0}.plv-product-address-edit__footer{position:fixed;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;padding:16px;background-color:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-address-edit__footer{padding-bottom:16px}}.plv-product-address-edit__submit-btn{width:100%;height:40px;padding:12px 16px;border:none;border-radius:22px;background-color:#ff5252;color:#fff;font-size:16px;font-weight:500;text-align:center;cursor:pointer}.plv-product-address-edit__submit-btn--disabled{background-color:#ff525299}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-font-din-pro-regular{font-family:D-DIN-PRO-Regular,sans-serif}.plv-font-din-pro-medium{font-family:D-DIN-PRO-Medium,sans-serif}.plv-font-din-pro-bold{font-family:D-DIN-PRO-Bold,sans-serif}.plv-product-order-popup__wrap{position:relative;box-sizing:border-box;height:100%;padding-top:8px}.plv-product-order-popup__fade-enter-active,.plv-product-order-popup__fade-leave-active{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.plv-product-order-popup__fade-enter-from,.plv-product-order-popup__fade-leave-to{opacity:0%}.plv-product-order-popup__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
1
+ !function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@charset "UTF-8";.plv-product-common-pendant{position:relative;width:36px;height:36px;overflow:hidden;border-radius:4px;cursor:pointer}.plv-product-common-pendant+.plv-product-common-pendant{margin-top:8px}.plv-product-common-pendant__icon{width:100%;height:100%;background-repeat:no-repeat;background-size:100% 100%}.plv-product-common-pendant__text{position:absolute;bottom:7px;left:50%;display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:32px;height:12px;padding:0 2px;border-radius:6px;color:#fff;text-align:center;white-space:nowrap;transform:translate(-50%)}.plv-product-common-pendant__text span{font-size:12px}.plv-product-pendant .plv-product-common-pendant__text{font-family:DINPro-Regular,sans-serif}.plv-product-pc-pendant{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:104px;height:28px;overflow:hidden;padding:0 4px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#0000004d;transition:width .3s ease,padding .3s ease}.plv-product-pc-pendant--collapsed{width:21px;padding:0;border-top-right-radius:0;border-bottom-right-radius:0}.plv-product-pc-pendant__content{display:flex;justify-content:space-between;align-items:center;width:100%;cursor:pointer}.plv-product-pc-pendant__main{display:flex;align-items:center;cursor:pointer}.plv-product-pc-pendant__icon{flex:none;width:20px;height:20px;margin-right:2px}.plv-product-pc-pendant__text{position:relative;flex:1;max-width:50px;color:#fff;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-pc-pendant__text:after{position:absolute;top:50%;left:55px;display:block;width:1px;height:16px;background:#fff3;transform:translateY(-50%);content:""}.plv-product-pc-pendant__main:hover{margin:-2px -3px;padding:2px 6px 2px 3px;border-radius:5px;background:#fff3}.plv-product-pc-pendant__main:hover .plv-product-pc-pendant__text:after{display:none}.plv-product-pc-pendant__arrow-right,.plv-product-pc-pendant__arrow-left{display:flex;color:#fff9;font-size:12px;cursor:pointer}.plv-product-pc-pendant__arrow-right:hover{margin:-6px -4px;padding:6px 4px;border-radius:5px;background:#fff3}.plv-product-pc-pendant__arrow-left:hover{margin:-14px -4px;padding:14px 4px;border-radius:6px;background:#fff3}.plv-product-pc-pendant__content--arrow-hover .plv-product-pc-pendant__text:after{display:none}.pendant-expand-enter-active{transition:all .3s ease}.pendant-expand-leave-active{transition:all .2s ease}.pendant-expand-enter-from,.pendant-expand-leave-to{opacity:0%;transform:translate(-10px)}.pendant-collapse-enter-active{transition:all .3s ease .1s}.pendant-collapse-leave-active{transition:all .2s ease}.pendant-collapse-enter-from,.pendant-collapse-leave-to{opacity:0%;transform:scale(.8)}.plv-product-button{position:relative}.plv-product-button__render{position:relative;z-index:10}.plv-product-button__inner{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;cursor:pointer}.plv-radio{cursor:pointer;line-height:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.plv-radio:last-of-type{margin-right:0}.plv-radio .plv-radio__inner{-ms-flex-negative:0;flex-shrink:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:16px;height:16px;border-radius:8px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;vertical-align:middle}.plv-radio .plv-radio__label{color:#1d2129;font-size:14px;padding-left:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;line-height:16px;word-break:break-word}.plv-radio:hover .plv-radio__inner{border-color:#3f76fc}.plv-radio.plv-radio--checked .plv-radio__inner{border-width:4px;border-color:#3f76fc}.plv-radio.plv-radio--disabled{cursor:not-allowed}.plv-radio.plv-radio--disabled .plv-radio__inner{border-color:#e5e5e5;background:#f9fafd}.plv-radio.plv-radio--disabled .plv-radio__label{color:#969ba5}.plv-radio.plv-radio--disabled.plv-radio--checked .plv-radio__inner{background:#f9fafd}.plv-radio.plv-radio--readonly{cursor:default}.plv-radio.plv-radio--readonly:hover .plv-radio__inner{border-color:#e5e5e5}.plv-radio.plv-radio--readonly:hover .plv-radio__inner.plv-radio__inner--checked{border-color:#3f76fc}.plv-radio--border{min-width:80px;height:36px!important;padding:0 16px;border-radius:2px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;position:relative;margin-right:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plv-radio--border:hover{border-color:#3f76fc}.plv-radio--border .plv-radio__label{padding-left:0;font-size:12px;float:none}.plv-radio--border.plv-radio--checked{border-width:2px;border-color:#3f76fc}.plv-radio--border .plv-radio__corner{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background-image:url(data:image/png;base64,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);background-size:100% 100%}.plv-radio--border.plv-radio--disabled{background:#f9fafd;border-color:#e5e5e5!important}.plv-radio--border.plv-radio--disabled:hover,.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5}.plv-radio--border.plv-radio--readonly.plv-radio--checked{border-color:#3f76fc}.plv-product-common-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006}.plv-product-common-popup__body{position:absolute;display:flex;flex-direction:column;width:100%;max-height:90%;overflow:hidden;border-radius:16px 16px 0 0;background:#fff}.plv-product-common-popup__header{position:relative;z-index:2;display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:0 54px}.plv-product-common-popup__back{position:absolute;top:50%;left:18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:20px;transform:translateY(-50%);cursor:pointer}.plv-product-common-popup__title{color:#000c;font-size:16px;font-weight:500;text-align:center}.plv-product-common-popup__header-right{position:absolute;top:50%;right:12px;display:flex;align-items:center;transform:translateY(-50%)}.plv-product-common-popup__close{display:flex;color:#0009;font-size:24px;cursor:pointer}.plv-product-common-popup__content{position:relative;z-index:2;display:flex;flex:1;overflow:hidden}.plv-product-common-popup__inner{flex:1;overflow-y:auto}.plv-product-common-popup__body--bg1{background:linear-gradient(180deg,#fee5e1,#fef9f4)}.plv-product-common-popup__body--bg1:before{position:absolute;top:-26px;right:-87px;z-index:1;width:176px;height:168px;background:#fdf0d5;pointer-events:none;content:"";filter:blur(80px)}.plv-product-common-popup__body--bg1 .plv-product-common-popup__content{padding:0 12px 30px}.plv-product-common-popup__body--bg1 .plv-product-common-popup__inner{border-radius:12px;background:#fff}.plv-product-common-popup--hide-modal{background:none;pointer-events:none}.plv-product-common-popup--hide-modal .plv-product-common-popup__body{pointer-events:initial}.plv-product-common-popup--fill-body .plv-product-common-popup__content{height:90%}.plv-product-common-popup--mobile .plv-product-common-popup__body{border-radius:16px 16px 0 0}.plv-product-common-popup--position-bottom .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(0, 100%);--plv-product-popup-animation-end: translate(0, 0);bottom:0;left:0}.plv-product-common-popup--position-left .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(-100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;left:0;height:100%;max-height:100%}.plv-product-common-popup--position-right .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;right:0;height:100%;max-height:100%}.plv-product-common-popup--position-center .plv-product-common-popup__body{top:50%;left:50%;max-height:90%;animation:none!important;transform:translate(-50%,-50%)}.plv-product-common-popup--horizontal-screen .plv-product-common-popup__body{border-radius:0}.plv-product-common-popup--page-fullscreen{top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__body,.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__content{overflow:initial}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__inner{overflow-y:initial}.plv-product-common-popup-slide-enter-active{animation:plv-product-common-popup-slide-in .2s ease-in-out}.plv-product-common-popup-slide-leave-active{animation:plv-product-common-popup-slide-in .15s reverse ease-in-out}@keyframes plv-product-common-popup-slide-in{0%{transform:var(--plv-product-popup-animation-start)}to{transform:var(--plv-product-popup-animation-end)}}.plv-product-form-input{display:flex}.plv-product-form-input__main{position:relative;display:flex;flex:1;align-items:center;box-sizing:border-box;height:50px;overflow:hidden;border-radius:8px;background:#f7f8fa}.plv-product-form-input__input{display:block;flex:1;box-sizing:border-box;height:100%;color:inherit}.plv-product-form-input__input-inner{border:none;border-radius:0;outline:none;display:block;box-sizing:border-box;width:100%;height:100%;padding:0 12px;background:none;font-size:14px}.plv-product-form-input__input-inner::placeholder{color:#9e9e9e}.plv-product-form-input__input-inner::-webkit-outer-spin-button,.plv-product-form-input__input-inner::-webkit-inner-spin-button{margin:0;appearance:none!important}.plv-product-form-input__input-inner[type=number]{appearance:textfield}.plv-product-form-input__input-inner[disabled]{opacity:100%}.plv-product-form-input__input-inner[type=button],.plv-product-form-input__input-inner[type=submit],.plv-product-form-input__input-inner[type=reset]{appearance:none;background:#fff}.plv-product-form-input__clearable{display:flex;margin-right:16px;color:#999;font-size:20px}.plv-product-form-input__suffix-text{color:#aaa;font-size:16px}.plv-product-form-input--textarea .plv-product-form-input__main{height:initial}.plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:8px}.plv-product-form-input__suffix{display:flex;align-items:center;padding-right:12px}.plv-product-form-input__suffix .polyv-icon{display:flex;color:#0006;font-size:18px}.plv-product-form-input__suffix:empty{display:none}.plv-product-c-loading{display:inline-block;width:32px;height:32px;background-image:url(data:image/png;base64,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);background-position:center;background-size:cover;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.plv-product-c-label-panel{position:relative;background-color:#f7f8fa}.plv-product-c-label-list__wrapper{position:relative;z-index:1060;display:flex;box-sizing:border-box;margin-bottom:4px;padding:0 12px;background-color:#f7f8fa}.plv-product-c-label-list__inner{display:flex}.plv-product-c-label-list__item{display:flex;flex:none;flex-direction:column;align-items:center;box-sizing:border-box;height:26px;margin-right:8px;margin-bottom:8px;padding:4px 12px;border:1px solid rgba(0,0,0,.06);border-radius:20px;color:#0009;font-size:12px;line-height:18px}.plv-product-c-label-list__item.plv-product-c-label-list__item--active{border-color:#ff62644d;color:#ff6264;font-weight:500}.plv-product-c-label-list__arrow{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:26px;height:26px;margin-left:auto;border:1px solid rgba(0,0,0,.1);border-radius:20px}.plv-product-c-label-list__arrow-icon{display:flex;color:#0006;font-size:16px;transition:.3s}.plv-product-c-label-list__arrow--active .plv-product-c-label-list__arrow-icon{transform:rotate(180deg)}.plv-product-c-label-list__shadow{position:absolute;top:0;right:0;z-index:0;width:80px;height:42px;background:linear-gradient(90deg,#f7f8fa00,#f7f8fa 39%)}.plv-product-c-label-list-panel{position:absolute;top:100%;right:0;left:0;z-index:1050;box-sizing:border-box;padding:0 12px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:#f7f8fa}.plv-product-c-label-list-panel__content{flex-wrap:wrap;box-sizing:border-box;max-height:216px;overflow-y:auto;transform:translateZ(0)}.slide-fade-enter-active,.slide-fade-leave-active{overflow:hidden;transition:transform .3s ease,opacity .3s ease}.slide-fade-enter,.slide-fade-leave-to{opacity:0%;transform:translateY(-10px)}.fade-overlay-enter-active,.fade-overlay-leave-active{transition:opacity .3s ease}.fade-overlay-enter,.fade-overlay-leave-to{opacity:0%}.plv-product-c-label-overlay{position:fixed;inset:45% 0 0;z-index:1040;background-color:#0006}.plv-product-c-label-overlay-pc{position:absolute;inset:45% 0 0;z-index:1040;height:600px;background-color:#0006}.plv-product-c-explain--explaining{display:flex;justify-content:center;align-items:center;width:100%;height:20px;border-radius:0 0 4px 4px;background:#ff6264cc;color:#fff;font-size:12px;font-weight:500;backdrop-filter:blur(3px)}.plv-product-c-explain--explaining .plv-product-c-explain--explaining-icon{width:14px;height:14px;margin-right:2px;vertical-align:top}.plv-product-c-explain--explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(255,98,100,.3);border-radius:20px;background:#fff;color:#ff6264;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.plv-product-c-explain--not-explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(0,0,0,.1);border-radius:20px;background:#fff;color:#666;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--explaining-cover{position:absolute;bottom:0;left:0}.plv-product-c-explain--not-explained-cover,.plv-product-c-explain--explained-cover{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining{width:52px;height:16px;padding:1px 2px;border:1px solid rgba(255,82,82,.6);border-radius:2px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;transform:scale(.8333)}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining span{margin-top:2px}.plv-product-c-explain--no-cover .plv-product-c-explain--explained{width:60px;height:24px;padding:3px 12px;background:transparent;color:#ff5252;font-size:12px}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained{display:flex;box-sizing:border-box;height:16px;margin-left:4px;padding:1px 4px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained span{display:inline-block;transform:scale(.833);user-select:none}.plv-product-c-item__title-container{position:relative;margin-bottom:6px}.plv-product-c-item__title{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-item__title--single{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__title-more{position:absolute;top:22px;right:-6px;display:flex;border:none;background:none}.plv-product-c-item__title-more-icon{display:flex;color:#0006;font-size:16px}.plv-product-c-item__title--expanded{-webkit-line-clamp:unset}.plv-product-c-item__tag-container{box-sizing:border-box;margin-right:4px;padding:0 1px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__tag-container:last-child{margin-right:0}.plv-product-c-item__tag{display:inline-block;transform:scale(.833);user-select:none}.plv-product-c-item__price-area{display:flex;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px}.plv-product-c-item__price-custom{font-size:14px}.plv-product-c-item__price-symbol{color:#ff5252;font-size:12px}.plv-product-c-item__price-placeholder{margin-left:2px;color:#ff5252;font-size:18px}.plv-product-c-item__placeholder-text{margin:6px 2px 0 3px;color:#0006;font-size:12px}.plv-product-c-item__original-price{margin-left:2px;color:#0006;font-size:12px;line-height:14px;text-decoration:line-through}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}.plv-product-item{position:relative;display:flex;box-sizing:border-box;height:124px;margin-bottom:8px;padding:12px;border-radius:8px;background-color:#fff;cursor:pointer}.plv-product-item__ranking{box-sizing:border-box;min-width:19px;height:16px;padding:1px 6px;border-radius:2px;background:#0006;color:#fff;font-size:12px;font-weight:700;line-height:14px}.plv-product-item__ranking--cover{position:absolute;top:2px;left:2px}.plv-product-item__cover-area{position:relative;flex:none;overflow:hidden;margin-right:8px;border-radius:4px}.plv-product-item__cover-stock{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#00000080;color:#fff;font-size:12px}.plv-product-item__cover{width:100px;height:100px;object-fit:cover}.plv-product-item__content{display:flex;flex-grow:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-item__content .plv-product-c-item__title-container{min-width:0;margin-bottom:0}.plv-product-item__title-area{display:flex;align-items:center}.plv-product-item__tags{display:flex;margin-top:6px;margin-bottom:6px}.plv-product-item__description{margin:0;color:#0006;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-item__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.plv-product-item__explained--no-cover{margin-right:12px;margin-left:auto}.plv-product-item__buy-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:24px;padding:3px 12px;border:none;border-radius:16px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;outline:none}.plv-product-item__buy-button--disabled{background:#ff525299;color:#fff}.plv-product-item-no-cover .plv-product-c-item__title{margin-left:4px}.plv-product-item--topping{background:#f15d5d14}.plv-product-list-empty{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;padding:0 10px;font-size:14px;line-height:18px;text-align:center;transform:translate(-50%,-50%)}.plv-product-list-empty__icon{display:flex;opacity:40%;margin-bottom:16px;color:#999;font-size:70px}.plv-product-list-empty__text{color:#999}.plv-product-list{height:100%;overflow-y:auto;background-color:#f7f8fa;-webkit-overflow-scrolling:touch}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__main{height:32px;border-radius:8px;background:#0000000a}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__input-inner{padding-left:4px}.plv-product-list__header-search-icon{display:flex;margin-left:11px;color:#0006}.plv-product-list__header{position:sticky;top:0;left:0;z-index:30;padding-bottom:12px;background-color:#f7f8fa}.plv-product-list__header-search-wrapper{display:flex;align-items:center;margin:0 0 12px;padding:7px 12px 0}.plv-product-list__search-input{flex:1;margin-right:8px}.plv-product-list__header-right{display:flex;flex-direction:column;margin-left:auto;padding:6px 10px 3px}.plv-product-list__header-right-icon{display:flex;margin:0 auto 2px}.plv-product-list__header-right-text{color:#333a47;font-size:12px}.plv-product-list__wrapper{padding:0 8px}.plv-product-list__product-total{display:flex;align-items:center;margin-top:12px;padding:0 12px}.plv-product-list__product-total-icon{display:flex;margin-right:4px;color:#000c;font-size:12px}.plv-product-list__product-total-text,.plv-product-list__product-total-num{color:#0009;font-size:12px}.plv-product-list__product-total-num{margin-left:8px;font-weight:500}.plv-product-list__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}.plv-product-list-popup__icon-close{display:flex;margin:0 4px 0 8px;color:#0009;font-size:24px;cursor:pointer}.plv-product-c-video{position:relative;width:100%;height:100%;background-color:#00000080}.plv-product-c-video__container{width:100%;height:100%}.plv-product-c-video__container-material{position:relative;width:100%;height:100%}.plv-product-c-video__container-placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-video__container-placeholder-icon{font-size:64px}@font-face{font-family:swiper-icons;src:url(data:application/font-woff;charset=utf-8;base64,\\ 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);font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.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);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.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-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper:after{content:"";position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size) / 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - var(--swiper-navigation-size) / 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:#00000040;position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:#0000001a}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:#00000080;border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.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-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .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(0)}to{transform:rotate(360deg)}}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:"";background:#000;position:absolute;inset:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.plv-product-c-swiper-img,.plv-product-c-swiper-img__swiper{height:100%}.plv-product-c-swiper-img__swiper-slide{background:#0000001a}.plv-product-c-swiper-img__slide-img{width:100%;height:100%;object-fit:cover}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-next.swiper-button-next:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev{display:inline-block;width:28px;height:28px;border-radius:50%;background-color:#0000001a;color:#fff;text-align:center}.plv-product-c-swiper-img__swiper.swiper .plv-product-c-swiper-img__swiper-button-prev.swiper-button-prev:after{font-size:15px;font-weight:800;line-height:28px}.plv-product-c-swiper-img__placeholder{display:flex;justify-content:center;align-items:center;height:100%;background:#eaeaea}.plv-product-c-swiper-img__placeholder-icon{font-size:64px}.plv-product-c-switch-tab__block{display:flex;flex-direction:row;align-items:center;padding:2px;border-radius:10px;background:#0003;transition:all .3s}.plv-product-c-switch-tab__block-item{min-width:32px;height:14px;padding:0 4px;color:#dbe4f4;font-size:12px;line-height:14px;text-align:center;transform:scale(.833);cursor:pointer}.plv-product-c-switch-tab__block-item--active{border-radius:10px;background:#fff;color:#666}.plv-product-c-detail-cover{position:relative;width:100%;padding-top:100%;background:#eaeaea}.plv-product-c-detail-cover__container{position:absolute;top:0;left:0;width:100%;height:100%}.plv-product-c-detail-cover__switch-tab{position:absolute;bottom:20px;left:12px;z-index:20}.plv-product-c-product-info{position:relative;z-index:11;display:flex;flex-direction:column;box-sizing:border-box;margin-top:-8px;padding:8px 8px 16px;border-top-left-radius:15px;border-top-right-radius:15px;background:#f7f8fa}.plv-product-c-product-info .plv-product-c-item__price-placeholder{font-size:30px}.plv-product-c-product-info .plv-product-c-item__placeholder-text{margin:6px 4px 0}.plv-product-c-product-info__price{margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__treatment{margin-bottom:8px;margin-left:8px;color:#ff5252;font-size:22px}.plv-product-c-product-info__tags{display:flex;margin-bottom:8px;padding:0 8px}.plv-product-c-product-info__content{display:flex;flex-direction:column;margin-bottom:8px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__content .plv-product-c-item__title-container{margin-bottom:0}.plv-product-c-product-info__content-desc{margin-top:6px;color:#0006;font-size:12px;line-height:18px}.plv-product-c-product-info__detail{flex:1;box-sizing:border-box;min-height:184px;padding:12px;border-radius:8px;background:#fff}.plv-product-c-product-info__detail--mobile{padding-bottom:76px}.plv-product-common-popup--horizontal-screen .plv-product-c-product-info__detail--mobile{padding-bottom:0}.plv-product-c-product-info__detail-label{margin-bottom:12px;color:#000c;font-size:14px;font-weight:500;line-height:14px}.plv-product-c-product-info__detail-text:after{display:block;clear:both;content:""}.plv-product-c-product-info__detail-text table,.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{border-width:1px;border-style:solid}.plv-product-c-product-info__detail-text table{border-collapse:collapse}.plv-product-c-product-info__detail-text th,.plv-product-c-product-info__detail-text td{min-width:50px;padding:3px 5px}.plv-product-c-product-info__detail-text p{margin:10px 0}.plv-product-c-product-info__detail-text p:first-child{margin-top:0}.plv-product-c-product-info__detail-text p:last-child{margin-bottom:0}.plv-product-c-product-info__detail-text a{color:#3f76fc}.plv-product-c-product-info__detail-text a:hover{color:#3f76fc!important}.plv-product-c-product-info__detail-text img{max-width:100%}.plv-product-c-product-info__detail-text ol,.plv-product-c-product-info__detail-text ul{padding-left:40px}.plv-product-c-product-info__detail-text ol{list-style-type:decimal}.plv-product-c-product-info__detail-text ul{list-style-type:disc}.plv-product-c-product-info__detail-text h1,.plv-product-c-product-info__detail-text h2,.plv-product-c-product-info__detail-text h3,.plv-product-c-product-info__detail-text h4,.plv-product-c-product-info__detail-text h5{margin:0;font-weight:700}.plv-product-c-product-info__detail-text h1{font-size:28px;line-height:42px}.plv-product-c-product-info__detail-text h2{font-size:24px;line-height:36px}.plv-product-c-product-info__detail-text h3{font-size:20px;line-height:28px}.plv-product-c-product-info__detail-text h4{font-size:18px;line-height:26px}.plv-product-c-product-info__detail-text h5{font-size:16px;line-height:22px}.plv-product-c-product-info__detail-text h6{margin:0}.plv-product-c-product-info__detail-text hr{border-color:#000}.plv-product-c-product-info__detail-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;color:#999;font-size:12px}.plv-product-c-product-info__detail-empty-icon{width:64px;height:64px;margin-bottom:12px}.plv-product-detail-container{position:relative;display:flex;flex-direction:column;width:100%;height:100%}.plv-product-detail-container__content{background:#f7f8fa}.plv-product-detail-container__content-title{position:sticky;top:0;left:0;z-index:10;width:100%;height:52px;margin-bottom:8px;background:#f7f8fa;color:#000c;font-size:16px;font-weight:500;line-height:52px;text-align:center}.plv-product-detail-container__footer{z-index:15;box-sizing:border-box;width:100%;padding:12px 28px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-detail-container__footer{padding-bottom:16px}}.plv-product-detail-container__footer:before{position:absolute;top:-16px;right:0;left:0;height:16px;background:linear-gradient(0deg,#fff,#fff0);content:""}.plv-product-detail-container__footer-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:100%;height:48px;border:none;border-radius:24px;background:#ff5252;color:#fff;font-size:16px;outline:none}.plv-product-detail-container__footer-button--disabled{background:#ff525299;color:#fff}.plv-product-detail-container--mobile .plv-product-detail-container__content{flex:1}.plv-product-detail-container--mobile .plv-product-detail-container__footer{position:fixed;right:0;bottom:0;left:0}.plv-product-detail-container--pc .plv-product-detail-container__content,.plv-product-common-popup--horizontal-screen .plv-product-detail-container__content{flex:1;overflow-y:auto}.plv-product-detail-container--pc .plv-product-detail-container__footer,.plv-product-common-popup--horizontal-screen .plv-product-detail-container__footer{position:relative;flex-shrink:0}.plv-product-detail-popup__close{position:absolute;top:11px;right:10px;z-index:99;display:flex;justify-content:center;align-items:center;width:28px;height:28px;border-radius:28px;background:#0000001a;color:#fff;cursor:pointer}.plv-product-detail-popup__close:before{position:absolute;inset:-10px;z-index:-1;content:""}.plv-product-detail-popup__icon-close{display:flex}.plv-product-c-order-status-tab{display:flex;gap:4px;align-items:center;height:auto;min-height:36px;overflow:auto hidden;margin:0 -12px;padding:8px 12px;color:#999;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.plv-product-c-order-status-tab::-webkit-scrollbar{display:none}.plv-product-c-order-status-tab__item{position:relative;flex:none;padding:8px 16px;background-color:transparent;color:#999;font-size:14px;white-space:nowrap;cursor:pointer}.plv-product-c-order-status-tab__item--active{color:#333}.plv-product-c-order-status-tab__item--active:after{position:absolute;bottom:1px;left:50%;width:16px;height:2px;border-radius:2px;background-color:#ff5252;transform:translate(-50%);content:""}.plv-product-c-purchase-product{display:flex;overflow:hidden;padding:10px 12px;border-radius:8px;background:#fff}.plv-product-c-purchase-product__image{flex:none;width:100px;height:100px;margin-right:8px;border-radius:4px;object-fit:cover}.plv-product-c-purchase-product__info{display:flex;flex:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-c-purchase-product__name{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-purchase-product__tags{display:flex;margin-top:6px}.plv-product-c-purchase-product__description{margin-top:6px;color:#0006;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-purchase-product__price-symbol{color:#333;font-size:12px}.plv-product-c-purchase-product__price-value{color:#333;font-size:18px}.plv-product-order-item{margin:8px 12px;padding:10px 12px 16px;border-radius:8px;background-color:#fff}.plv-product-order-item:first-child{margin-top:0}.plv-product-order-item__main .plv-product-c-purchase-product{padding:0}.plv-product-order-item__footer{padding-top:10px}.plv-product-order-item__actions-summary{display:flex;justify-content:space-between;align-items:center}.plv-product-order-item__left{display:flex;align-items:center}.plv-product-order-item__status-text{color:#666;font-size:14px}.plv-product-order-item__status-text--highlight{color:#ff5252}.plv-product-order-item__countdown{margin-left:8px;color:#ff5252}.plv-product-order-item__total{margin-bottom:12px;text-align:right}.plv-product-order-item__total-symbol{margin-right:2px;color:#999;font-size:14px;vertical-align:middle}.plv-product-order-item__total-value{color:#333;font-size:18px;vertical-align:middle}.plv-product-order-item__buttons{display:flex;gap:8px}.plv-product-order-item__button{box-sizing:border-box;max-width:150px;height:32px;padding:0 20px;border:1px solid rgba(0,0,0,.1);border-radius:22px;background-color:transparent;color:#000c;font-size:14px;line-height:32px;text-align:center;cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-order-item__button--highlight{border-color:#ff5252;background:#ff5252;color:#fff}.plv-product-order-list{display:flex;flex-direction:column;height:100%;overflow:hidden auto}.plv-product-order-list__status-tab{position:sticky;top:0;z-index:1;flex-shrink:0;background:#f7f8fa}.plv-product-order-list__items-container{position:relative;flex:1;min-height:0;padding-top:8px}.plv-product-order-list__empty{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:300px}.plv-product-order-list__empty-icon{display:flex;justify-content:center;color:#e1e5e8;font-size:70px}.plv-product-order-list__empty-text{margin-top:16px;color:#999;font-size:12px;text-align:center}.plv-product-c-pay-status{display:flex;flex-direction:column;justify-content:center;align-items:center}.plv-product-c-pay-status__text{color:#000c;font-size:20px;font-weight:500}.plv-product-c-pay-status__actions{display:flex;justify-content:center;align-items:center;margin-top:4px;margin-bottom:18px;color:#999;font-size:14px}.plv-product-c-customer-qrcode{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:18px;padding:20px 0;border-radius:8px;background:#fff}.plv-product-c-customer-qrcode__img-wrap{position:relative;display:flex;justify-content:center;align-items:center;padding:10px;border:1px solid #CCC;border-radius:4px}.plv-product-c-customer-qrcode__img-text{position:absolute;color:#0006;font-size:14px}.plv-product-c-customer-qrcode__img,.plv-product-c-customer-qrcode__img--expired{width:120px;height:120px}.plv-product-c-customer-qrcode__tips{margin-top:12px;color:#0006;font-size:14px}.plv-product-address-item{box-sizing:border-box;padding:12px 16px;border-radius:8px;background:#fff}.plv-product-address-item__top{display:flex;justify-content:space-between;align-items:center}.plv-product-address-item__content{flex:1;min-width:0}.plv-product-address-item__header{color:#000c;font-size:14px}.plv-product-address-item__header-phone{margin-left:4px}.plv-product-address-item__address{margin-top:4px;color:#0006;font-size:14px;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-address-item__icon-wrapper{display:flex;flex-shrink:0;align-items:center;margin-left:40px}.plv-product-c-phone-info{display:flex;align-items:center;box-sizing:border-box;height:52px;padding-left:12px;border-radius:8px;background:#fff;color:#000c;font-size:14px}.plv-product-c-phone-info__text{margin-left:12px}.plv-product-c-payment-methods{margin-bottom:8px;padding:10px 12px;border-radius:8px;background-color:$plv-color-white}.plv-product-c-payment-methods__title{margin-bottom:10px;color:$plv-color-black-opacity-40;font-size:12px}.plv-product-c-payment-methods__list{display:flex;flex-direction:column}.plv-product-c-payment-methods__item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.plv-product-c-payment-methods__item-info{display:flex;align-items:center}.plv-product-c-payment-methods__item-icon{display:flex;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px}.plv-product-c-payment-methods__item-icon img{max-width:100%;max-height:100%}.plv-product-c-payment-methods__item-label{color:$plv-color-black-opacity-80;font-size:14px}.plv-product-c-order-info__text{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;height:44px;padding:12px 14px 12px 16px;color:#000c;font-size:12px}.plv-product-c-order-info__text>span:first-child{color:#0006}.plv-product-c-order-info__amount{color:#ff5252}.plv-product-c-order-info__amount-symbol{font-size:12px}.plv-product-c-order-info__amount-value{font-size:18px}.plv-product-c-bottom-operate-panel{display:flex;justify-content:flex-end;box-sizing:border-box;width:100%;padding:10px 12px;background-color:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-c-bottom-operate-panel{padding-bottom:16px}}.plv-product-c-bottom-operate-panel__item{display:flex;justify-content:center;align-items:center}.plv-product-c-bottom-operate-panel__btn{box-sizing:border-box;height:40px;padding:9px 32px;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;white-space:nowrap}.plv-product-c-bottom-operate-panel__btn-refund{border:1px solid rgba(0,0,0,.1);background:transparent;color:#000c}.plv-product-order-detail{display:flex;flex-direction:column;height:100%}.plv-product-order-detail__content{flex:1;padding:0 12px}.plv-product-order-detail__info{margin-top:8px;border-radius:8px;background:#fff}.plv-product-order-list-popup__wrap{position:relative;box-sizing:border-box;width:100%;height:100%;overflow:hidden}.plv-product-order-list-popup__order-list,.plv-product-order-list-popup__order-detail{height:100%}.plv-product-order-list-popup__order-detail{position:absolute;top:0;left:0;box-sizing:border-box;width:100%}.plv-product-order-list-popup__fade-enter-active,.plv-product-order-list-popup__fade-leave-active{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.plv-product-order-list-popup__fade-enter-from,.plv-product-order-list-popup__fade-leave-to{opacity:0%}.plv-product-form-item{position:relative;display:flex;align-items:flex-start;margin-bottom:16px;border:1px solid transparent}.plv-product-form-item--error{border-color:#ff5252}.plv-product-form-item__anchor{position:absolute;top:0;left:0;opacity:0%}.plv-product-form-item__label-required{margin-right:2px;color:#ff5252}.plv-product-form-item__label{display:flex;flex-shrink:0;justify-content:flex-end;align-items:center;box-sizing:border-box;padding-right:16px;color:#000c;font-size:14px}.plv-product-form-item__content{position:relative;flex-shrink:0}.plv-product-form-item__content:not(.plv-product-form-item__content--has-width){flex:1}.plv-product-form-item--header{flex-direction:column}.plv-product-form-item--header .plv-product-form-item__label{justify-content:flex-start;width:100%;margin-bottom:8px;padding:0;color:#3339;font-size:12px;line-height:1.5}.plv-product-form-item--header .plv-product-form-item__content{width:100%}.plv-product-form-item__content-error{box-sizing:border-box;width:100%;padding-top:5px;color:#ff5252;font-size:12px}.plv-product-c-choose-address{padding:12px 14px 12px 16px;border-radius:8px;background:#fff;cursor:pointer}.plv-product-c-choose-address .plv-product-address-item{padding:0}.plv-product-c-choose-address__empty{display:flex;justify-content:space-between;align-items:center;width:100%}.plv-product-c-choose-address__empty-text{color:#000c;font-size:14px}.plv-product-c-choose-address__empty-action{display:flex;align-items:center;color:#0006;font-size:14px}.plv-product-c-choose-address__empty-action-text{margin-right:4px}.plv-product-c-choose-address__arrow-icon{display:flex;color:#0006;font-size:18px}.plv-product-c-choose-address__info{display:flex;justify-content:space-between;align-items:center;width:100%}.plv-product-c-choose-address__info-contact{display:flex;flex:1;flex-direction:column;margin-right:16px}.plv-product-c-choose-address__info-name{margin-bottom:4px;color:#333;font-size:16px;font-weight:700}.plv-product-c-choose-address__info-mobile{color:#333;font-size:14px}.plv-product-c-choose-address__info-address{flex:1;color:#666;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-order-submit-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-c-order-submit-bar{padding-bottom:16px}}.plv-product-c-order-submit-bar__text{color:#666;font-size:14px}.plv-product-c-order-submit-bar__price{color:#ff5252;font-size:12px}.plv-product-c-order-submit-bar__price-integer{font-size:24px}.plv-product-c-order-submit-bar__submit-btn{box-sizing:border-box;height:40px;padding:9px 32px;border:none;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;white-space:nowrap;outline:none}.plv-product-order{position:relative;display:flex;flex-direction:column;height:100%}.plv-product-order .plv-product-form-item__label{padding-right:0}.plv-product-order__content{flex:1;box-sizing:border-box;overflow-y:auto;padding:0 12px}.plv-product-order__form-item{box-sizing:border-box;border-radius:8px;background:#fff}.plv-product-order__form-item .plv-product-form-input__main{height:52px;background:transparent}.plv-product-order__form-item .plv-product-form-item__content-error{padding:0 0 8px 12px}.plv-product-order__purchase-product,.plv-product-order__payment-method{margin-top:8px}.plv-product-address-list{display:flex;flex-direction:column;height:100%}.plv-product-address-list__content{flex:1;overflow-y:auto;padding:0 12px}.plv-product-address-list__address-item{margin-bottom:8px;padding-bottom:0}.plv-product-address-list__icon{display:flex;color:#ff5252}.plv-product-address-list__action{display:flex;justify-content:flex-end;align-items:center;margin-top:12px;padding:8px 0;border-top:1px solid #E6E6E6}.plv-product-address-list__action-btn{color:#0006;font-size:14px;cursor:pointer}.plv-product-address-list__action-btn~.plv-product-address-list__action-btn{margin-left:20px}.plv-product-address-list__footer{padding:10px 16px;background:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-address-list__footer{padding-bottom:16px}}.plv-product-address-list__footer-btn{box-sizing:border-box;width:100%;height:40px;border:none;border-radius:22px;background:#ff5252;color:#fff;font-size:16px;line-height:40px;outline:none}.plv-area-picker-mob{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#fff}.plv-area-picker-mob .plv-area-picker__tab{height:58px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.plv-area-picker-mob .plv-area-picker__tab__item{height:58px;line-height:58px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:16px;text-align:center;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plv-area-picker-mob .plv-area-picker__tab__item--selected{color:#3f76fc}.plv-area-picker-mob .plv-area-picker__tab__item--selected:after{content:"";height:2px;width:35px;background:#3f76fc;position:absolute;bottom:12px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translate(-50%)}.plv-area-picker-mob .plv-area-picker__popper{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:hidden}.plv-area-picker-mob .plv-area-picker__popper__inner{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.plv-area-picker-mob .plv-area-picker__list{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:scroll}.plv-area-picker-mob .plv-area-picker__list__item{height:44px;line-height:44px;padding-left:33px;padding-right:32px;font-size:16px}.plv-area-picker-mob .plv-area-picker__list__item:nth-child(odd){background:#fafafa}.plv-area-picker-mob .plv-area-picker__list__item .plv-front-mob-icon-check{font-size:24px;color:#3f76fc;display:none}.plv-area-picker-mob .plv-area-picker__list__item .plv-area-picker-mob__area__item__inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.plv-area-picker-mob .plv-area-picker__list__item--selected{color:#3f76fc}.plv-area-picker-mob .plv-area-picker__list__item--selected .plv-front-mob-icon-check{display:block}.plv-product-form-area-picker__body,.plv-product-form-area-picker__body input{cursor:pointer}.plv-product-form-area-picker__header{display:flex;flex-shrink:0;box-sizing:border-box;width:100%;height:50px;padding:0 16px;font-size:16px;line-height:50px}.plv-product-form-area-picker__header-cancel{color:#9195a1;cursor:pointer}.plv-product-form-area-picker__header-confirm{color:#3082fe;cursor:pointer}.plv-product-form-area-picker__header-confirm.plv-product-form-area-picker__header-confirm--disabled{color:#9e9e9e}.plv-product-form-area-picker__header-placeholder{flex:1;overflow:hidden;color:#333;font-size:16px;text-align:center}.plv-product-form-area-picker__popup{display:flex;flex-direction:column;height:100%}.plv-product-form-area-picker__popup-content{flex:1;overflow:hidden}.plv-product-form-area-picker__popup-content .plv-area-picker__list__item{cursor:pointer}.plv-product-address-edit{display:flex;flex-direction:column;box-sizing:border-box;height:100%;padding-left:8px;background-color:#fff}.plv-product-address-edit__form{flex:1;overflow-y:auto}.plv-product-address-edit__form .plv-product-form-item{margin-bottom:0}.plv-product-address-edit__form .plv-product-form-item:first-child .plv-product-form-item__label{padding-right:38px}.plv-product-address-edit__form .plv-product-form-item:nth-child(3){margin-bottom:16px}.plv-product-address-edit__form .plv-product-form-item__label{padding-right:24px}.plv-product-address-edit__form .plv-product-form-input__main{height:52px;border-bottom:1px solid #e6e6e6;border-radius:0;background:transparent}.plv-product-address-edit__form .plv-product-form-input__input-inner{padding-left:0;color:#000c}.plv-product-address-edit__form-address .plv-product-form-input__main{height:64px}.plv-product-address-edit__form-address .plv-product-form-item__label{align-items:flex-start}.plv-product-address-edit__form-address .plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:0}.plv-product-address-edit__footer{position:fixed;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;padding:16px;background-color:#fff;padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}@supports not (padding-bottom: calc(env(safe-area-inset-bottom) + 16px)){.plv-product-address-edit__footer{padding-bottom:16px}}.plv-product-address-edit__submit-btn{width:100%;height:40px;padding:12px 16px;border:none;border-radius:22px;background-color:#ff5252;color:#fff;font-size:16px;font-weight:500;text-align:center;cursor:pointer}.plv-product-address-edit__submit-btn--disabled{background-color:#ff525299}.plv-product-order-popup__wrap{position:relative;box-sizing:border-box;height:100%;padding-top:8px}.plv-product-order-popup__fade-enter-active,.plv-product-order-popup__fade-leave-active{transition:opacity .3s cubic-bezier(.25,.8,.5,1)}.plv-product-order-popup__fade-enter-from,.plv-product-order-popup__fade-leave-to{opacity:0%}.plv-product-order-popup__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}.plv-product-big-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:316px;height:316px;overflow:hidden;margin:0 auto;padding:16px 20px 28px;background:url(data:image/png;base64,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) no-repeat;background-size:contain}.plv-product-big-card__title{margin:0 auto;padding-top:2px;color:#2d693e;font-size:20px;font-weight:500}.plv-product-big-card__item{margin-top:28px}.plv-product-big-card__item .plv-product-item__explained--no-cover{margin-right:0}.plv-product-big-card__buy-button{display:flex;flex-direction:column;justify-content:center;align-items:center;width:260px;height:40px;margin:42px auto 0;padding:11px 32px;border:none;border-radius:25px;background:linear-gradient(90deg,#fff4ea,#ffcc96);color:#b03319;font-size:16px;text-align:center;outline:none}.plv-product-big-card__buy-button--disabled{opacity:60%;cursor:not-allowed}.plv-product-big-card-scale-enter-active,.plv-product-big-card-scale-leave-active{transition:transform .3s,opacity .2s;transform:scale(1)}.plv-product-big-card-scale-enter,.plv-product-big-card-scale-leave-to{opacity:0%;transform:scale(.9)}.plv-product-big-card-close-btn{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:40px;height:40px;margin:24px auto 0;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:#0006;color:#fff;cursor:pointer}.plv-product-big-card-close-btn__icon{display:flex;font-size:18px}.plv-product-hot-sale{display:flex;align-items:center;width:114px;height:24px;margin-bottom:8px;padding-left:4px;border-radius:12px;background:linear-gradient(271deg,#ffaf0f00 1%,#ffaf0fcc 28%,#ffaf0f 99%)}.plv-product-hot-sale__icon{width:16px;height:16px}.plv-product-hot-sale__icon-img{width:100%;height:100%}.plv-product-hot-sale__content{display:flex;align-items:center;color:#fff;font-size:12px}.plv-product-hot-sale__tips{display:inline-block;margin-right:4px}.plv-product-hot-sale__symbol{font-size:12px;transform:scale(.8333)}.plv-product-hot-sale__count-to-animation{animation:plv-product-hot-sale-animation .6s infinite}@keyframes plv-product-hot-sale-animation{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.plv-product-card__cover{position:relative;box-sizing:border-box;width:110px;height:110px;overflow:hidden;margin-bottom:4px;border-radius:4px}.plv-product-card__cover-mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:27px;border-radius:4px;background:linear-gradient(180deg,#0003,#0000)}.plv-product-card__cover-stock{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#00000080;color:#fff;font-size:12px}.plv-product-card__cover-img{width:100%;height:100%;object-fit:cover}.plv-product-card__ranking{position:absolute;top:2px;left:2px;box-sizing:border-box;min-width:19px;height:16px;padding:1px 6px;border-radius:2px;background:#0006;color:#fff;font-size:12px;font-weight:700;line-height:14px}.plv-product-card__feature-tag{position:absolute;bottom:3px;left:3px}.plv-product-card__feature-tag.plv-product-c-item__tag-container{border-radius:2px;background:#0006;color:#fff}.plv-product-card__explain .plv-product-c-explain--not-explained-cover,.plv-product-card__explain .plv-product-c-explain--explained-cover{top:2px;left:2px;height:16px;padding:1px 4px;border:none;border-radius:2px;background:#0006;color:#fff;transform:unset}.plv-product-card__explain .plv-product-c-explain--not-explained-cover span,.plv-product-card__explain .plv-product-c-explain--explained-cover span{transform:scale(.8333)}.plv-product-card__explain .plv-product-c-explain--explained-cover{z-index:2}.plv-product-card__explain .plv-product-c-explain--explaining-cover{position:absolute;top:2px;left:2px;width:unset;height:16px;padding:0 4px;border-radius:2px;background:#0006;font-size:10px}.plv-product-card__explain .plv-product-c-explain--explaining-cover span{transform:scale(.8333)}.plv-product-card__explain .plv-product-c-explain--explaining .plv-product-c-explain--explaining-icon{width:12px;height:12px;margin-bottom:2px}.plv-product-small-card-root{position:relative;width:114px;overflow:hidden}.plv-product-small-card-container{position:relative;display:inline-block;width:114px}.plv-product-small-card{position:relative;box-sizing:border-box;width:114px;padding:2px 2px 4px;border-radius:6px;box-shadow:0 0 6px #0000001a;background-color:#fff;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-position:90% 92%;background-size:52px auto}.plv-product-small-card .plv-product-c-item__title-container{margin-bottom:0;padding:0 2px}.plv-product-small-card .plv-product-c-item__title{font-size:12px}.plv-product-small-card .plv-product-c-item__price-area{margin-top:2px;margin-bottom:4px;padding:0 2px}.plv-product-small-card .plv-product-c-item__price{font-size:14px}.plv-product-small-card .plv-product-c-item__price .plv-product-c-item__price-symbol{display:inline-block;font-size:12px;transform:scale(.8333)}.plv-product-small-card .plv-product-c-item__original-price{margin-left:0;transform:scale(.8333)}.plv-product-small-card__close-area{position:absolute;top:1px;right:0;z-index:99;display:flex;justify-content:center;align-items:center;width:20px;height:20px;color:#fff;cursor:pointer}.plv-product-small-card__icon-close{display:flex}.plv-product-small-card__display-number{position:absolute;top:4px;left:8px;color:#fff}.plv-product-small-card__explain{position:absolute;top:0}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--explained{padding-left:0;border:none;color:#fff}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--explained span{transform:scale(.8333)}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained{margin-top:4px;border:none;background:none;color:#fff}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained span{transform:scale(.8333)}.plv-product-small-card__explain.plv-product-c-explain--no-cover .plv-product-c-explain--explaining{margin-top:2px}.plv-product-small-card__buy-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:106px;height:24px;margin:0 auto;padding:3px 12px;border:none;border-radius:4px;background:#ff5252;color:#fff;font-size:12px;outline:none}.plv-product-small-card--no-cover{padding:24px 0 0;background-color:#ff5252}.plv-product-small-card--no-cover .plv-product-c-item__price-area{margin-bottom:6px}.plv-product-small-card__content--no-cover{position:relative;padding:8px 2px 4px;border-radius:6px;background-color:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABmCAYAAAAnFtTRAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAmUSURBVHic7Z3LbhtHFob/aha7SXUEuTW6eAQZEBJEQWwEg2CynAWNeQbOxhBgaNE7LvIE7jxBFgS84EIwIHiTfoUBxAfwJjAyAYzJQJANWooUdhS51exmsWsWNh3a5qUv1RfS/e0IkH2pv845VadOFYGCgoKCgoKCgoL5g2T9AKNww5Dw00/0paZRSqlUuryUAMBXFM4rFb5+fc2ws8NgGAMC8KyfNw1yIRDX9fI5pQplrBT0N57jsM3PPnMXXaxMBeKGIV2cnKglSqXI17Btvloue+3jY3a33WYiny8PZCYQr9dlS9OqQq9p23x1ddX9rtnsG4Av8tpZkYlAvNFQLNetJHkPz3HYZq/Xh2n259kFpi5QGuK8cz/b5n1JGvz8/Llba7fnLl6lKtBRrUb/trurpnnPUeYxXqUmEAfIxf7+J3EGBCIZMOavqaqHZtPLs1WlJ1DKri0MeY5XqQjEAdK9d2+ZqGou5l2T4LbNrz2v/9/z835eXGA6AuXYeiYxHLK3nz4dZClW4gLNi/VMw3MctnnjBssiXiUvkCDrGTDmA0DWgwzPcdhmteqh1WJpiJWoQHGtZ8CYv0Zpj7Ra/dFrotGQu92ukqVVpjVkT1YgXS9bwFKU3zJKB+sbG9fEMMambETk8UQxjFfm6Sn7l2kORF47UYHO9/eXozQgt22++vjx1SwXwg2DWp1OZhPfcQxd4KjVxyExgeJYj6YoPdJsukG+e7q3p8rVKo1ynyQZ556jkJh7OHMcOfKPm00v6Fc3ez0hPVU0JUolC1g63dtTeQxDSESgo1qNRu3VnuOEHR0J9fmikatVerG//wk3jEhtnYhAX966pUT9bWiL0LTMBwmzKFEqXZycqFFEEv5ycawHAGCa4QTyvMDL5FnyVqSQ7k64QHGsZ8CYH8a9cYB0+/3osS5lSpRKuH8/VPsIFSiu9fSurkJN+F7U65V5SyFZsqz8UK8Htnqhw9M41gMA2zdvBqoj4IYhvex0KhWgHOd+WfEPTVMAXAf5rjALih17AMB1pwrEdb3c0fUlq9NZzkIcbtuc23bs/FsFKAcdMAizoC92dxOPBReMVSopp3aGE87R5OhRrUZrX39dtmw7+jsfH8sAerO+JuRluWFIQnr01lauVjMZpYO1g4NXpNV6Z6X1brvNyPffO/8L6KbGcTYYBIpDYnrj5WWs2POWTic3AX/AmL/+8KE9bVT5TavV1yzLiXL9su+nIxAHSCxTD8Gg30+tGHHt6soNMuQnpukN16rCQFSVGAHaP74FNRrixFGUqc/jV6vpucAQE+Y1308sHxhLIA6Qbrcrxr0BeOm6U83+r0BqidFQ+UBZjpQPvF2vz3Tp8Syo0ZBFThTprBHa1lY+E6OWFakN/mOaMztB9F0Fgq0HAChjpWm5KmIYvuc4qVTY8BCz/RdA6Hwgt21uBCjwj25Bgq3nLbo+dW62Wa0GXiuKxfZ2oNjKAbIky6GnGIOVlUADi0gCJWE9b1HVqQKRVqvPKE3c1Vm2LT/R9dkNr+s0Skd1z88DvUM0C0rKevC6YWalQdY3NiJPEMPw9wCxJerK8bamBXLVkQRKzHqG/Pbb1J5LDMOPOkEMim1ZHjHNqe40Vv6x1UpGIK7r5aRT/BcBrIiYpqcpysxcVhQYpYNt05x57ajZ+zDrXqEFumAs8RrrEqXSLCsCANJsuqJF6gH9WSkeIJ71hJnYhhKIGwZNq1DQct1KkJQ8aTbdH589s6OkW95HU5TeVqt1HaR337l9O3pHDTGxDdXYZ7/8kmzseY+Lk5NARYl32222dnDwSlOUXpT1Gk1VPW1r6ypoLR6/f78S5siADwgYf4AQBQxZbV/UPM8ljx4FdmMcINB1+hIoK7Y9cQj8dtPWnTtsUnnxOJ7oevnTiAWZwJss+cHBVdDvBxYoywrOMJWm72MA0u16ndTffDYBRK2f/qFeL/1TltU4g6SwHS7QjbLe/AvEE0kEIsQBAA24DlMOHCgGxS0GEYHluhXeaGTyHE90vSxCHACh4g8QQCAhxSCCsFy3ErfWOSy80VA+BZZEiBO27g8IUDSSB+sZRa5WaffeveUnqup8I2iLxziG+48s1xU2rYiysDdVoDxZzyhEVcmnr3cOsJ+fP3dF7nDjhiHh8lKxOh25RAW/+s5O6Oecarb822+radUbxEHEOQe8Xi9he1tO8n21VuuPsM83USBuGJLV6SzHf6z0GJ7L82Z+439nGL4xZlGMAwT1ugSg9FLTaJmxUtIZEkbpYOPhw1dhfzdZoDmxniBw2+a+onAgu13iYec/Q8Y+LAdI99df57LueRxEVUmJUinTDccR4g8waZDQaMjEdXNTRLgQGEak7MXYHnWxIK4tLzBKI59T94FABpCtK1hA1q+vI08DPhDiga7PxZbCuSJi/AHGubgZ5bcFEYgYf4AxAr04PS0EEkiEYwXeoRAjYTZLpVg1fB8ItK2qudpENe+0j49j5Qk/tCDbXogDwfNCrd0Wa0HI+dEq80Tc+AOME8g0CwsSRNz4A4wRiAC8l+JGqUUmbvwBJozi0tzJtsjEjT/ABIFIq9UXUan5MSMi/gBT5kFrlCZSmP6xICL+AFMEIq1WX/O8zOrQ5h0R8QeYlUl49MhNYzfbosFtm4uIP8AMgQjA1zc2rot4FI6+JAn7n6JAq6YcIGd7e0t5LMHKIyLLlAMlSwnAbx4e2pplOSKO41p02k+fCgsLoesO8nI0f14Jeih7UEK7LAJwNJsuB7x2rVb68tYtpXB9fyIy/gAxDvQjAMfrklv2phCwfFaplD92sTZv3BB6EoqQBTsCcGKa3s3DQ/vflhV5K+IiIDL+AAlv4ziq1WhtZ4d2+/3EDr7IE6LjDyD41N/3ufunC3Sh6/TMceRFdoGi4w+QxR/dvhkFnv3+ey63tsQhiW2ambqdRXOBPz57Zov+N67cNMpRrUa/2N2Vp22dzzPctvlfHj/+Q/R1c9cQ8zpkj7q9ZBa5awACcLw+ZcobxqsL25bzXi8uannhfXJnQZPIc7zyHIfdPDy0k7h27ixoEqND9mGKqez7pazF4rbNNz//PLGz63LVE8OSh3ilWZYz6+C/OMy1QKMYgPSg0SinmWVP43iahRFolDTiVVpnBy2kQEOGR5OJTDFx2+arntdL0q2NstACjSIixaSpqoeVFTfM+XJx+WgEGuWoVqO1r74qBZlfDRjz11ZWWNrCDPkoBRrFAKQHul6Coki4unrdHsvLHK7rm5bli/7z9IKCgoKCgnnh/7kDiSvjtSRLAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:80% 70%;background-size:52px auto}.plv-product-small-card__content--no-cover .plv-product-c-item__tag-container{margin-bottom:4px;border-radius:2px}.plv-product-small-card__buy-button--disabled{background:#ff525299;cursor:not-allowed;pointer-events:none}.plv-product-small-card-animation-enter-active,.plv-product-small-card-animation-leave-active{transition:.5s;transform:translate(0)}.plv-product-small-card-animation-enter,.plv-product-small-card-animation-leave-active{transform:translate(100%)}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}();
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defProps = Object.defineProperties;
4
4
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -578,59 +578,69 @@ function updateModelEmit(field) {
578
578
  };
579
579
  }
580
580
  const supportWebP = /* @__PURE__ */ (() => {
581
- let A2;
581
+ let e;
582
582
  return () => {
583
- if (null == A2) try {
584
- A2 = function() {
585
- const A3 = document.createElement("canvas");
586
- if (A3.getContext && A3.getContext("2d")) {
587
- const e = "image/webp";
588
- return 0 === A3.toDataURL(e).indexOf("data:" + e);
583
+ if (null == e) try {
584
+ e = function() {
585
+ const e2 = document.createElement("canvas");
586
+ if (e2.getContext && e2.getContext("2d")) {
587
+ const A2 = "image/webp";
588
+ return 0 === e2.toDataURL(A2).indexOf("data:" + A2);
589
589
  }
590
590
  return false;
591
+ }() || function() {
592
+ let e2 = false;
593
+ const A2 = navigator.userAgent, t2 = /\bOS\s([\d_.]+)\slike\sMac\sOS\sX\b/.exec(A2);
594
+ if (t2) e2 = parseInt(t2[1]) >= 14;
595
+ else {
596
+ const t3 = /\bVersion\/([\d.]+)\sSafari\b/.exec(A2);
597
+ t3 && (e2 = parseInt(t3[1]) >= 16);
598
+ }
599
+ return e2;
591
600
  }();
592
- } catch (e) {
593
- A2 = false;
601
+ } catch (A2) {
602
+ e = false;
594
603
  }
595
- return A2;
604
+ return e;
596
605
  };
597
606
  })();
598
- function getExtname(A2) {
599
- const e = (A2 || "").split("."), t2 = e[e.length - 1];
607
+ function getExtname(e) {
608
+ const A2 = (e || "").split("."), t2 = A2[A2.length - 1];
600
609
  return t2 ? t2.toLowerCase() : "";
601
610
  }
602
- function handleCompressOptions(A2) {
603
- var e, t2;
604
- const r2 = "number" == typeof A2 ? { width: A2 } : A2;
605
- return r2.allowJPG = null === (e = r2.allowJPG) || void 0 === e || e, r2.allowWebP = null !== (t2 = r2.allowWebP) && void 0 !== t2 ? t2 : "auto", r2;
611
+ function handleCompressOptions(e) {
612
+ var A2, t2;
613
+ const n2 = "number" == typeof e ? { width: e } : e;
614
+ return n2.allowJPG = null === (A2 = n2.allowJPG) || void 0 === A2 || A2, n2.allowWebP = null !== (t2 = n2.allowWebP) && void 0 !== t2 ? t2 : "auto", n2;
606
615
  }
607
- function createURLObject(A2) {
608
- let e;
616
+ function createURLObject(e) {
617
+ let A2;
609
618
  if ("undefined" != typeof document) {
610
619
  const t2 = document.createElement("a");
611
- t2.href = A2, e = t2;
620
+ t2.href = e, A2 = t2;
612
621
  } else if ("function" == typeof URL) try {
613
- e = new URL(/^\/\//.test(A2) ? "https:" + A2 : A2);
614
- } catch (A3) {
622
+ A2 = new URL(/^\/\//.test(e) ? "https:" + e : e);
623
+ } catch (e2) {
615
624
  }
616
- return e;
625
+ return A2;
617
626
  }
618
- function genOSSCompressParams(A2, e) {
627
+ function genOSSCompressParams(e, A2) {
619
628
  let t2 = "";
620
- return null == e.width && null == e.height || (t2 += "/resize", e.width && (t2 += ",w_" + e.width), e.height && (t2 += ",h_" + e.height), t2 += ",limit_1"), e.allowAVIF && "gif" !== A2 ? t2 += "/format,avif" : true === e.allowWebP || "auto" === e.allowWebP && supportWebP() ? t2 += "/format,webp/quality,Q_80" : e.allowJPG && "gif" !== A2 && (t2 += "/format,jpg/quality,Q_80"), t2;
629
+ return null == A2.width && null == A2.height || (t2 += "/resize", A2.width && (t2 += ",w_" + A2.width), A2.height && (t2 += ",h_" + A2.height), t2 += ",limit_1"), A2.allowAVIF && "gif" !== e ? t2 += "/format,avif" : true === A2.allowWebP || "auto" === A2.allowWebP && supportWebP() ? t2 += "/format,webp/quality,Q_80" : A2.allowJPG && "gif" !== e && (t2 += "/format,jpg/quality,Q_80"), t2;
621
630
  }
622
- function setOSSCompressParams(A2, e) {
631
+ function setOSSCompressParams(e, A2) {
623
632
  let t2 = false;
624
- return A2 = A2.replace(/([?&]x-oss-process)(?:=([^&]*))?/, (A3, r2, o2) => (t2 = true, /^image/.test(o2) ? r2 + "=" + o2.replace(/\/(?:resize|format|quality)[^/]*/gi, "") + e : A3)), t2 ? A2 : A2 + (-1 === A2.indexOf("?") ? "?" : "&") + "x-oss-process=image" + e;
625
- }
626
- function ossCompress(A2, e) {
627
- const t2 = createURLObject(A2);
628
- if (!t2) return A2;
629
- if (!/\.videocc\.net$/i.test(t2.hostname)) return A2;
630
- const r2 = genOSSCompressParams(getExtname(t2.pathname.split("/").pop()), handleCompressOptions(e));
633
+ return e = e.replace(/([?&]x-oss-process)(?:=([^&]*))?/, (e2, n2, r2) => (t2 = true, /^image/.test(r2) ? n2 + "=" + r2.replace(/\/(?:resize|format|quality)[^/]*/gi, "") + A2 : e2)), t2 ? e : e + (-1 === e.indexOf("?") ? "?" : "&") + "x-oss-process=image" + A2;
634
+ }
635
+ function ossCompress(e, A2) {
636
+ const t2 = createURLObject(e);
637
+ if (!t2) return e;
638
+ const n2 = getExtname(t2.pathname.split("/").pop());
639
+ if (!/\.videocc\.net$/i.test(t2.hostname) || "svg" === n2) return e;
640
+ const r2 = genOSSCompressParams(n2, handleCompressOptions(A2));
631
641
  return r2 && (t2.search = setOSSCompressParams(t2.search, r2)), t2.href;
632
642
  }
633
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
643
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
634
644
  __name: "index",
635
645
  props: {
636
646
  /** 挂件图片 */
@@ -682,10 +692,10 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
682
692
  return { __sfc: true, props, emit, startCountDown, stopCountDown, resetSurplus, surplusSecond, pendantText, pendantIconStyle };
683
693
  }
684
694
  });
685
- function normalizeComponent(scriptExports, render48, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
695
+ function normalizeComponent(scriptExports, render53, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
686
696
  var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
687
- if (render48) {
688
- options.render = render48;
697
+ if (render53) {
698
+ options.render = render53;
689
699
  options.staticRenderFns = staticRenderFns;
690
700
  options._compiled = true;
691
701
  }
@@ -694,19 +704,19 @@ function normalizeComponent(scriptExports, render48, staticRenderFns, functional
694
704
  options
695
705
  };
696
706
  }
697
- var _sfc_render$K = function render() {
707
+ var _sfc_render$P = function render() {
698
708
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
699
709
  return _c("div", { staticClass: "plv-product-common-pendant", on: { "click": function($event) {
700
710
  return _setup.emit("click-pendant");
701
711
  } } }, [_c("div", { staticClass: "plv-product-common-pendant__icon", style: _setup.pendantIconStyle }), _setup.pendantText ? _c("div", { staticClass: "plv-product-common-pendant__text" }, [_c("span", [_vm._v(_vm._s(_setup.pendantText))])]) : _vm._e()]);
702
712
  };
703
- var _sfc_staticRenderFns$K = [];
704
- var __component__$K = /* @__PURE__ */ normalizeComponent(
705
- _sfc_main$K,
706
- _sfc_render$K,
707
- _sfc_staticRenderFns$K
713
+ var _sfc_staticRenderFns$P = [];
714
+ var __component__$P = /* @__PURE__ */ normalizeComponent(
715
+ _sfc_main$P,
716
+ _sfc_render$P,
717
+ _sfc_staticRenderFns$P
708
718
  );
709
- const CommonPendant = __component__$K.exports;
719
+ const CommonPendant = __component__$P.exports;
710
720
  function mitt(n2) {
711
721
  return { all: n2 = n2 || /* @__PURE__ */ new Map(), on: function(t2, e) {
712
722
  var i2 = n2.get(t2);
@@ -830,7 +840,15 @@ const productEvents = {
830
840
  /**
831
841
  * 打开 iframe 链接弹层
832
842
  */
833
- OpenProductIframeLinkPopup: "openProductIframeLinkPopup"
843
+ OpenProductIframeLinkPopup: "openProductIframeLinkPopup",
844
+ /**
845
+ * 打开大卡片弹层
846
+ */
847
+ OpenProductBigCardPopup: "openProductBigCardPopup",
848
+ /**
849
+ * 打开小卡片弹层
850
+ */
851
+ OpenProductSmallCardPopup: "openProductSmallCardPopup"
834
852
  };
835
853
  const productPendantProps = () => ({
836
854
  productTarget: PropUtils.object().isRequired
@@ -860,7 +878,7 @@ const useProductPendant = (options) => {
860
878
  toggleCollapse
861
879
  };
862
880
  };
863
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
881
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
864
882
  __name: "mobile-product-pendant",
865
883
  props: productPendantProps(),
866
884
  setup(__props) {
@@ -872,17 +890,17 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
872
890
  return { __sfc: true, props, productTotal, onClickPendant, getProductTotal, pendantIcon, CommonPendant };
873
891
  }
874
892
  });
875
- var _sfc_render$J = function render2() {
893
+ var _sfc_render$O = function render2() {
876
894
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
877
895
  return _c("div", { staticClass: "plv-product-pendant" }, [_setup.productTotal ? _c(_setup.CommonPendant, { attrs: { "icon-url": _setup.pendantIcon, "text": _setup.productTotal }, on: { "click-pendant": _setup.onClickPendant } }) : _vm._e()], 1);
878
896
  };
879
- var _sfc_staticRenderFns$J = [];
880
- var __component__$J = /* @__PURE__ */ normalizeComponent(
881
- _sfc_main$J,
882
- _sfc_render$J,
883
- _sfc_staticRenderFns$J
897
+ var _sfc_staticRenderFns$O = [];
898
+ var __component__$O = /* @__PURE__ */ normalizeComponent(
899
+ _sfc_main$O,
900
+ _sfc_render$O,
901
+ _sfc_staticRenderFns$O
884
902
  );
885
- const mobileProductPendant = __component__$J.exports;
903
+ const mobileProductPendant = __component__$O.exports;
886
904
  const pcShopIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAM1BMVEUAAAD/VFT/U1P/UFD/UlL/UlL/UlL/UlL/UlL/U1P/UlL/UlL/VFT/VVX/U1P/U1P/UlKR79A9AAAAEHRSTlMAIL8QgN9w75/Pj2BAMK9Q9NbUAAAAAKtJREFUOMvtkVsKxCAMRRPjq/Yx2f9qZyQEit5C/4ZCz0dFPE2Ml14egNSkJ0qUC2/RgYTNqBMZiks/4WBK2HP/QjGpLkS7iUwUfr2haBWyN+2iIo+1VxQfWShZ4RHryT5StF82IH76QSVqfW22QnH1u205s2/X62dsct5FIFYfo8Z4eJYViIcCAgrmrpiQmFAwEBQMAEUjWBSaCHeH4TJ7hQmZoQxaZXr5F1/YARbafisbKwAAAABJRU5ErkJggg==";
887
905
  function getDefaultExportFromCjs(x2) {
888
906
  return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
@@ -1000,7 +1018,7 @@ function requireIconBuilder() {
1000
1018
  iconBuilder.IconBuilder = void 0;
1001
1019
  var interfaces_1 = requireInterfaces();
1002
1020
  var utils_1 = requireUtils();
1003
- var IconBuilder = function(lineName, render48) {
1021
+ var IconBuilder = function(lineName, render53) {
1004
1022
  var IconComponent = {
1005
1023
  name: lineName,
1006
1024
  props: ["size", "type", "color", "strokeLinecap", "strokeLinejoin"],
@@ -1036,7 +1054,7 @@ function requireIconBuilder() {
1036
1054
  on: this.$listeners,
1037
1055
  attrs: this.$attrs,
1038
1056
  domProps: {
1039
- innerHTML: render48(renderData)
1057
+ innerHTML: render53(renderData)
1040
1058
  }
1041
1059
  });
1042
1060
  }
@@ -1721,6 +1739,7 @@ function get(object4, path, defaultValue) {
1721
1739
  }
1722
1740
  const order$5 = { "title": "订单中心", "chooseAddress": "请添加收货地址", "add": "去添加", "phone": "手机号码:", "phonePlaceholder": "请输入手机号码", "submitOrder": "提交订单", "addAddress": "添加地址", "applyRefund": "申请退款", "refundTips": "退款金额 ", "confirmRefund": "退款", "refundFailed": "退款失败", "failed": "发起失败", "list": { "all": "全部", "waitPay": "待支付", "waitDelivery": "待发货", "delivering": "待收货", "finish": "已完成", "close": "已取消", "refunding": "退款中", "refunded": "已退款", "total": "合计", "waitPayBtnText": "立即支付", "waitDeliveryBtnText": "查看详情", "deliveringBtnText": "确认收货", "finishBtnText": "查看详情", "closeBtnText": "查看详情", "emptyText": "暂无订单" }, "detail": { "orderNo": "订单号", "createTime": "下单时间", "payTime": "支付时间", "deliveryTime": "发货时间", "finishTime": "完成时间", "actualPay": "实付", "payNow": "立即支付", "confirmReceipt": "确认收货", "expired": "已失效", "payAutoCancel": " 后自动取消", "cancelReason": "取消原因", "payTimeOut": "超时未支付", "refundTips": "退款金额原路返回", "qrCodeTips": "长按识别或截图保存,联系客服", "qrCodeExpiredTips": "二维码已失效,暂时无法联系客服", "paymentMethod": "支付方式", "wechat": "微信", "alipay": "支付宝" }, "confirmOrder": "确认订单", "shippingAddress": "收货地址", "noAddressTips": "请填写收货地址", "paySuccess": "支付成功", "cancelPay": "取消支付", "payFailed": "支付失败", "createOrderFailed": "无法创建订单,请稍后重试", "wechatPayTips": "请在微信中打开本页进行支付", "confirmReceiptTips": "请确认已经收到包裹", "confirmedReceipt": "已确认收货" };
1723
1741
  const addressEdit$5 = { "name": "联系人", "namePlaceholder": "请填写联系人姓名", "choiceAddress": "选择地区", "addressPlaceholder": "请选择地区", "phone": "手机号码", "phonePlaceholder": "请填写手机号码", "phoneError": "请输入正确的手机号", "addressDetail": "详细地址", "addressDetailPlaceholder": "请填写详细地址", "error": "请完善信息", "submit": "保存", "deleteConfirm": "确定要删除该地址吗?", "addAddress": "添加地址", "editAddress": "修改地址", "deleteAddress": "删除地址", "addSuccess": "保存成功", "addError": "保存失败", "editSuccess": "修改成功", "editError": "修改失败" };
1742
+ const bigCard$5 = { "title": "商品推荐" };
1724
1743
  const zhCNLang = {
1725
1744
  "common.confirm": "确认",
1726
1745
  "common.cancel": "取消",
@@ -1748,10 +1767,12 @@ const zhCNLang = {
1748
1767
  "product.allProduct": "全部商品",
1749
1768
  "product.stock.soldOut": "已抢光",
1750
1769
  order: order$5,
1751
- addressEdit: addressEdit$5
1770
+ addressEdit: addressEdit$5,
1771
+ bigCard: bigCard$5
1752
1772
  };
1753
1773
  const order$4 = { "title": "訂單中心", "chooseAddress": "請添加收貨地址", "add": "去添加", "phone": "手機號碼:", "phonePlaceholder": "請輸入手機號碼", "submitOrder": "提交訂單", "addAddress": "添加地址", "applyRefund": "申請退款", "refundTips": "退款金額 ", "confirmRefund": "退款", "refundFailed": "退款失敗", "failed": "发起失敗", "list": { "all": "全部", "waitPay": "待支付", "waitDelivery": "待發貨", "delivering": "待收貨", "finish": "已完成", "close": "已取消", "refunding": "退款中", "refunded": "已退款", "total": "合計", "waitPayBtnText": "立即支付", "waitDeliveryBtnText": "查看詳情", "deliveringBtnText": "確認收貨", "finishBtnText": "查看詳情", "closeBtnText": "查看詳情", "emptyText": "暫無訂單" }, "detail": { "orderNo": "訂單號", "createTime": "下單時間", "payTime": "支付時間", "deliveryTime": "發貨時間", "finishTime": "完成時間", "actualPay": "實付", "payNow": "立即支付", "confirmReceipt": "確認收貨", "expired": "已失效", "payAutoCancel": " 後自動取消", "cancelReason": "取消原因", "payTimeOut": "超時未支付", "refundTips": "退款金額原路返回", "qrCodeTips": "長按識別或截圖保存,聯繫客服", "qrCodeExpiredTips": "二維碼已失效,暫時無法聯繫客服", "paymentMethod": "支付方式", "wechat": "微信", "alipay": "支付寶" }, "confirmOrder": "確認訂單", "shippingAddress": "收貨地址", "noAddressTips": "請填寫收貨地址", "paySuccess": "支付成功", "payFailed": "支付失敗", "cancelPay": "取消支付", "createOrderFailed": "無法創建訂單,請稍後重試", "wechatPayTips": "請在微信中打開本頁進行支付", "confirmReceiptTips": "請確認已經收到包裹", "confirmedReceipt": "已確認收貨" };
1754
1774
  const addressEdit$4 = { "name": "聯絡人", "namePlaceholder": "請填寫聯絡人", "choiceAddress": "選擇地區", "addressPlaceholder": "請選擇地區", "phone": "手機號碼", "phonePlaceholder": "請填寫手機號碼", "phoneError": "請輸入正確的手機號", "addressDetail": "詳細地址", "addressDetailPlaceholder": "請填寫詳細地址", "error": "請完善信息", "submit": "保存", "deleteConfirm": "確定要刪除該地址嗎?", "deleteAddress": "刪除地址", "addAddress": "添加地址", "editAddress": "修改地址", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "修改成功", "editError": "修改失敗" };
1775
+ const bigCard$4 = { "title": "商品推薦" };
1755
1776
  const zhTWLang = {
1756
1777
  "common.confirm": "確認",
1757
1778
  "common.cancel": "取消",
@@ -1779,10 +1800,12 @@ const zhTWLang = {
1779
1800
  "product.allProduct": "全部商品",
1780
1801
  "product.stock.soldOut": "已搶光",
1781
1802
  order: order$4,
1782
- addressEdit: addressEdit$4
1803
+ addressEdit: addressEdit$4,
1804
+ bigCard: bigCard$4
1783
1805
  };
1784
1806
  const order$3 = { "title": "Order Center", "chooseAddress": "Add Shipping Address", "add": "Add Shipping Address", "phone": "Phone:", "phonePlaceholder": "Enter Phone", "submitOrder": "Submit", "addAddress": "Add Address", "applyRefund": "Apply Refund", "refundTips": "Refund Amount ", "confirmRefund": "Refund", "refundFailed": "Refund Failed", "failed": "Failed", "list": { "all": "All", "waitPay": "Wait Payment", "waitDelivery": "Wait Delivery", "delivering": "Delivering", "finish": "Finished", "close": "Closed", "refunding": "Refunding", "refunded": "Refunded", "total": "Total", "waitPayBtnText": "Pay Now", "waitDeliveryBtnText": "View Details", "deliveringBtnText": "Confirm Receipt", "finishBtnText": "View Details", "closeBtnText": "View Details", "emptyText": "No Order History" }, "detail": { "orderNo": "Order Number", "createTime": "Order Time", "payTime": "Payment Time", "deliveryTime": "Delivery Time", "finishTime": "Completion Time", "actualPay": "Total Amount", "payNow": "Pay Now", "confirmReceipt": "Confirm Receipt", "expired": "Expired", "payAutoCancel": "Cancel", "cancelReason": "Cancel Reason", "payTimeOut": "Pay Time Out", "refundTips": "Refund amount returned to the original path", "qrCodeTips": "Long press to scan or save screenshot for support", "qrCodeExpiredTips": "QR code expired, support unavailable", "paymentMethod": "Payment Method", "wechat": "Wechat", "alipay": "Alipay" }, "confirmOrder": "Confirm Order", "shippingAddress": "Shipping Address", "noAddressTips": "Please fill in the shipping address", "paySuccess": "Payment Success", "cancelPay": "Cancel Payment", "payFailed": "Payment Failed", "createOrderFailed": "Failed to create order, please try again later", "wechatPayTips": "Please open this page in WeChat to pay", "confirmReceiptTips": "Have you received the package?", "confirmedReceipt": "Confirmed Receipt" };
1785
1807
  const addressEdit$3 = { "name": "Name", "namePlaceholder": "Enter Name", "choiceAddress": "Select Area", "addressPlaceholder": "Select Area", "phone": "Phone", "phonePlaceholder": "Enter Phone", "phoneError": "Please enter a valid phone number", "addressDetail": "Address Detail", "addressDetailPlaceholder": "Enter Address Detail", "error": "Please fill in all required fields", "submit": "Save", "deleteConfirm": "Delete this address?", "deleteAddress": "Yes", "addAddress": "Add Address", "editAddress": "Edit Address", "addSuccess": "Save Success", "addError": "Save Failed", "editSuccess": "Edit Success", "editError": "Edit Failed" };
1808
+ const bigCard$3 = { "title": "Top Picks" };
1786
1809
  const enLang = {
1787
1810
  "common.confirm": "Confirm",
1788
1811
  "common.cancel": "Cancel",
@@ -1810,10 +1833,12 @@ const enLang = {
1810
1833
  "product.allProduct": "Products",
1811
1834
  "product.stock.soldOut": "Sold Out",
1812
1835
  order: order$3,
1813
- addressEdit: addressEdit$3
1836
+ addressEdit: addressEdit$3,
1837
+ bigCard: bigCard$3
1814
1838
  };
1815
1839
  const order$2 = { "title": "注文中心", "chooseAddress": "配送先を追加", "add": "配送先を追加", "phone": "電話番号:", "phonePlaceholder": "電話番号を入力", "submitOrder": "注文を提出", "addAddress": "配送先を追加", "applyRefund": "退款申請", "refundTips": "退款金額 ", "confirmRefund": "退款", "refundFailed": "退款失敗", "failed": "失敗", "list": { "all": "全て", "waitPay": "支払い待ち", "waitDelivery": "発送待ち", "delivering": "配送中", "finish": "完了", "close": "キャンセル", "refunding": "退款中", "refunded": "退款完了", "total": "合計", "waitPayBtnText": "支払い", "waitDeliveryBtnText": "詳細を見る", "deliveringBtnText": "確認受け取り", "finishBtnText": "詳細を見る", "closeBtnText": "詳細を見る", "emptyText": "注文履歴がありません" }, "detail": { "orderNo": "注文番号", "createTime": "注文日時", "payTime": "支払い日時", "deliveryTime": "発送日時", "finishTime": "完了日時", "actualPay": "実払い", "payNow": "支払い", "confirmReceipt": "確認受け取り", "expired": "失効", "payAutoCancel": " 後自動キャンセル", "cancelReason": "キャンセル理由", "payTimeOut": "超時未支払い", "refundTips": "退款金額原路返回", "qrCodeTips": "長押し識別またはスクリーンショット保存、サポートにお問い合わせください", "qrCodeExpiredTips": "QRコードは失効しました。暫時的にサポートに連絡できません", "paymentMethod": "支払い方法", "wechat": "ウェブアプリ", "alipay": "アリペイ" }, "confirmOrder": "注文を確認", "shippingAddress": "配送先", "noAddressTips": "配送先を入力してください", "paySuccess": "支払い成功", "cancelPay": "支払いをキャンセル", "payFailed": "支払い失敗", "createOrderFailed": "注文の作成に失敗しました。後で再試行してください。", "wechatPayTips": "WeChatでこのページを開いて支払いしてください", "confirmReceiptTips": "パッケージを確認しましたか?", "confirmedReceipt": "確認受け取り完了" };
1816
1840
  const addressEdit$2 = { "name": "連絡先", "namePlaceholder": "連絡先を入力", "choiceAddress": "地域を選択", "addressPlaceholder": "地域を選択", "phone": "電話番号", "phonePlaceholder": "電話番号を入力", "phoneError": "正しい電話番号を入力してください", "addressDetail": "詳細住所", "addressDetailPlaceholder": "詳細住所を入力", "error": "情報を入力してください", "submit": "保存", "deleteConfirm": "この住所を削除しますか?", "deleteAddress": "住所を削除", "addAddress": "住所を追加", "editAddress": "住所を編集", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "編集成功", "editError": "編集失敗" };
1841
+ const bigCard$2 = { "title": "商品推薦" };
1817
1842
  const jaLang = {
1818
1843
  "common.confirm": "確認",
1819
1844
  "common.cancel": "キャンセル",
@@ -1841,10 +1866,12 @@ const jaLang = {
1841
1866
  "product.allProduct": "すべての商品",
1842
1867
  "product.stock.soldOut": "売り切れ",
1843
1868
  order: order$2,
1844
- addressEdit: addressEdit$2
1869
+ addressEdit: addressEdit$2,
1870
+ bigCard: bigCard$2
1845
1871
  };
1846
1872
  const order$1 = { "title": "주문 센터", "chooseAddress": "주문 주소 추가", "add": "주문 주소 추가", "phone": "전화번호:", "phonePlaceholder": "전화번호 입력", "submitOrder": "주문 제출", "addAddress": "주문 주소 추가", "applyRefund": "환불 신청", "refundTips": "환불 금액 ", "confirmRefund": "환불", "refundFailed": "환불 실패", "failed": "실패", "list": { "all": "전체", "waitPay": "결제 대기", "waitDelivery": "배송 대기", "delivering": "배송 중", "finish": "완료", "close": "취소", "refunding": "환불 중", "refunded": "환불 완료", "total": "총 금액", "waitPayBtnText": "결제하기", "waitDeliveryBtnText": "상세 보기", "deliveringBtnText": "확인 받기", "finishBtnText": "상세 보기", "closeBtnText": "상세 보기", "emptyText": "주문 내역이 없습니다." }, "detail": { "orderNo": "주문번호", "createTime": "주문일시", "payTime": "결제일시", "deliveryTime": "배송일시", "finishTime": "완료일시", "actualPay": "총 금액", "payNow": "결제하기", "confirmReceipt": "확인 받기", "expired": "만료", "payAutoCancel": " 후 자동 취소", "cancelReason": "취소 사유", "payTimeOut": "결제 시간 초과", "refundTips": "환불 금액 원래 경로로 반환", "qrCodeTips": "장치 인식 또는 스크린샷 저장 후 문의", "qrCodeExpiredTips": "이미 만료되었습니다. 잠시 후 다시 시도해주세요.", "paymentMethod": "결제 방법", "wechat": "웹앱", "alipay": "알리페이" }, "confirmOrder": "주문 확인", "shippingAddress": "배송 주소", "noAddressTips": "배송 주소를 입력해주세요", "paySuccess": "결제 성공", "cancelPay": "결제 취소", "payFailed": "결제 실패", "createOrderFailed": "주문 생성에 실패했습니다. 나중에 다시 시도해주세요.", "wechatPayTips": "카카오톡에서 이 페이지를 열어 결제해주세요", "confirmReceiptTips": "패키지를 확인하셨습니까?", "confirmedReceipt": "확인 받기 완료" };
1847
1873
  const addressEdit$1 = { "name": "연락처", "namePlaceholder": "연락처 입력", "choiceAddress": "지역 선택", "addressPlaceholder": "지역 선택", "phone": "전화번호", "phonePlaceholder": "전화번호 입력", "phoneError": "올바른 전화번호를 입력해주세요", "addressDetail": "상세 주소", "addressDetailPlaceholder": "상세 주소 입력", "error": "정보를 입력해주세요.", "submit": "저장", "deleteConfirm": "주소를 삭제하시겠습니까?", "deleteAddress": "주소 삭제", "addAddress": "주소 추가", "editAddress": "주소 수정", "addSuccess": "저장 성공", "addError": "저장 실패", "editSuccess": "수정 성공", "editError": "수정 실패" };
1874
+ const bigCard$1 = { "title": "상품 추천" };
1848
1875
  const koLang = {
1849
1876
  "common.confirm": "확인",
1850
1877
  "common.cancel": "취소",
@@ -1872,10 +1899,12 @@ const koLang = {
1872
1899
  "product.allProduct": "모든 상품",
1873
1900
  "product.stock.soldOut": "품절",
1874
1901
  order: order$1,
1875
- addressEdit: addressEdit$1
1902
+ addressEdit: addressEdit$1,
1903
+ bigCard: bigCard$1
1876
1904
  };
1877
1905
  const order = { "title": "Центр заказов", "chooseAddress": "Пожалуйста, добавьте адрес доставки", "add": "Добавить", "phone": "Номер телефона:", "phonePlaceholder": "Пожалуйста, введите номер телефона", "submitOrder": "Отправить заказ", "addAddress": "Добавить адрес", "applyRefund": "Заявить о возврате", "refundTips": "Сумма возврата ", "confirmRefund": "Возврат", "refundFailed": "Возврат не удался", "failed": "Не удалось инициировать", "list": { "all": "Все", "waitPay": "Ожидает оплаты", "waitDelivery": "Ожидает отправки", "delivering": "Ожидает получения", "finish": "Завершено", "close": "Отменено", "refunding": "В процессе возврата", "refunded": "Возвращено", "total": "Итого", "waitPayBtnText": "Оплатить сейчас", "waitDeliveryBtnText": "Посмотреть детали", "deliveringBtnText": "Подтвердить получение", "finishBtnText": "Посмотреть детали", "closeBtnText": "Посмотреть детали", "emptyText": "Пока нет заказов" }, "detail": { "orderNo": "Номер заказа", "createTime": "Время создания заказа", "payTime": "Время оплаты", "deliveryTime": "Время отправки", "finishTime": "Время завершения", "actualPay": "Фактически оплачено", "payNow": "Оплатить сейчас", "confirmReceipt": "Подтвердить получение", "expired": "Истек срок действия", "payAutoCancel": " автоматическая отмена", "cancelReason": "Причина отмены", "payTimeOut": "Время оплаты истекло", "refundTips": "Сумма возврата вернется тем же способом", "qrCodeTips": "Долго нажмите для распознавания или сохраните скриншот, свяжитесь с сервисом", "qrCodeExpiredTips": "QR-код истек, временно невозможно связаться с сервисом", "paymentMethod": "Способ оплаты", "wechat": "Веб-приложение", "alipay": "АлиПай" }, "confirmOrder": "Подтвердить заказ", "shippingAddress": "Адрес доставки", "noAddressTips": "Пожалуйста, заполните адрес доставки", "paySuccess": "Оплата успешна", "cancelPay": "Отменить оплату", "payFailed": "Оплата не удалась", "createOrderFailed": "Не удается создать заказ, попробуйте позже", "wechatPayTips": "Пожалуйста, откройте эту страницу в WeChat для оплаты", "confirmReceiptTips": "Пожалуйста, подтвердите, что посылка получена", "confirmedReceipt": "Получение подтверждено" };
1878
1906
  const addressEdit = { "name": "Контактное лицо", "namePlaceholder": "Пожалуйста, введите имя контактного лица", "choiceAddress": "Выберите регион", "addressPlaceholder": "Пожалуйста, выберите регион", "phone": "Номер телефона", "phonePlaceholder": "Пожалуйста, введите номер телефона", "phoneError": "Пожалуйста, введите правильный номер телефона", "addressDetail": "Подробный адрес", "addressDetailPlaceholder": "Пожалуйста, заполните подробный адрес", "error": "Пожалуйста, дополните информацию", "submit": "Сохранить", "deleteConfirm": "Вы уверены, что хотите удалить этот адрес?", "addAddress": "Добавить адрес", "editAddress": "Изменить адрес", "deleteAddress": "Удалить адрес", "addSuccess": "Успешно сохранено", "addError": "Не удалось сохранить", "editSuccess": "Успешно изменено", "editError": "Не удалось изменить" };
1907
+ const bigCard = { "title": "Товары" };
1879
1908
  const ruLang = {
1880
1909
  "common.confirm": "Подтвердить",
1881
1910
  "common.cancel": "Отмена",
@@ -1903,7 +1932,8 @@ const ruLang = {
1903
1932
  "product.allProduct": "Все товары",
1904
1933
  "product.stock.soldOut": "Распродано",
1905
1934
  order,
1906
- addressEdit
1935
+ addressEdit,
1936
+ bigCard
1907
1937
  };
1908
1938
  const fullI18nData = {
1909
1939
  [LangType.ZH_CN]: zhCNLang,
@@ -1969,7 +1999,7 @@ const useI18n = () => {
1969
1999
  $t
1970
2000
  };
1971
2001
  };
1972
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
2002
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
1973
2003
  __name: "pc-product-pendant",
1974
2004
  props: productPendantProps(),
1975
2005
  setup(__props) {
@@ -1980,7 +2010,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
1980
2010
  return { __sfc: true, props, $t, isCollapsed, onClickPendant, toggleCollapse, isArrowHovered, pcShopIcon, ProductIconArrowRight, ProductIconArrowLeft };
1981
2011
  }
1982
2012
  });
1983
- var _sfc_render$I = function render3() {
2013
+ var _sfc_render$N = function render3() {
1984
2014
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
1985
2015
  return _c("div", { staticClass: "plv-product-pc-pendant", class: { "plv-product-pc-pendant--collapsed": _setup.isCollapsed } }, [_c("transition", { attrs: { "name": "pendant-expand" } }, [!_setup.isCollapsed ? _c("div", { staticClass: "plv-product-pc-pendant__content", class: { "plv-product-pc-pendant__content--arrow-hover": _setup.isArrowHovered }, on: { "click": _setup.onClickPendant } }, [_c("div", { staticClass: "plv-product-pc-pendant__main" }, [_c("img", { staticClass: "plv-product-pc-pendant__icon", attrs: { "src": _setup.pcShopIcon } }), _c("div", { staticClass: "plv-product-pc-pendant__text" }, [_vm._v(" " + _vm._s(_setup.$t("product.allProduct")) + " ")])]), _c(_setup.ProductIconArrowRight, { staticClass: "plv-product-pc-pendant__arrow-right", class: { "plv-product-pc-pendant__arrow-right--hover": _setup.isArrowHovered }, on: { "click": _setup.toggleCollapse, "mouseenter": function($event) {
1986
2016
  _setup.isArrowHovered = true;
@@ -1988,13 +2018,13 @@ var _sfc_render$I = function render3() {
1988
2018
  _setup.isArrowHovered = false;
1989
2019
  } } })], 1) : _vm._e()]), _c("transition", { attrs: { "name": "pendant-collapse" } }, [_setup.isCollapsed ? _c(_setup.ProductIconArrowLeft, { staticClass: "plv-product-pc-pendant__arrow-left", on: { "click": _setup.toggleCollapse } }) : _vm._e()], 1)], 1);
1990
2020
  };
1991
- var _sfc_staticRenderFns$I = [];
1992
- var __component__$I = /* @__PURE__ */ normalizeComponent(
1993
- _sfc_main$I,
1994
- _sfc_render$I,
1995
- _sfc_staticRenderFns$I
2021
+ var _sfc_staticRenderFns$N = [];
2022
+ var __component__$N = /* @__PURE__ */ normalizeComponent(
2023
+ _sfc_main$N,
2024
+ _sfc_render$N,
2025
+ _sfc_staticRenderFns$N
1996
2026
  );
1997
- const pcProductPendant = __component__$I.exports;
2027
+ const pcProductPendant = __component__$N.exports;
1998
2028
  const hasOwnProperty$7 = Object.prototype.hasOwnProperty;
1999
2029
  function hasOwnProp(r2, n2) {
2000
2030
  return hasOwnProperty$7.call(r2, n2);
@@ -2043,19 +2073,6 @@ function concat(i2, r2, t2) {
2043
2073
  let e = n2.search || "";
2044
2074
  return e && "&" !== e.slice(-1) && (e += "&"), e += r2, n2.search = e, joinURL(n2);
2045
2075
  }
2046
- const useTrackEvent = (iarCore) => {
2047
- const { injectData } = useGlobalInject();
2048
- function trackEvent(data) {
2049
- if (injectData.trackEventCallback) {
2050
- injectData.trackEventCallback(data);
2051
- return;
2052
- }
2053
- iarCore.trackEvent(data);
2054
- }
2055
- return {
2056
- trackEvent
2057
- };
2058
- };
2059
2076
  function canMatchKeywords(e, t2) {
2060
2077
  e = e.toLowerCase();
2061
2078
  const n2 = /[/\s;_-]/, s2 = /[/\s;_-]/;
@@ -2181,6 +2198,117 @@ let currentUAInfo;
2181
2198
  function getCurrentUAInfo() {
2182
2199
  return currentUAInfo || (currentUAInfo = Object.freeze("undefined" != typeof window ? new UAInfo(window.navigator.userAgent, window.navigator) : new UAInfo(""))), currentUAInfo;
2183
2200
  }
2201
+ var __awaiter = function(i2, n2, o2, t2) {
2202
+ return new (o2 || (o2 = Promise))(function(e, a2) {
2203
+ function r2(i3) {
2204
+ try {
2205
+ k2(t2.next(i3));
2206
+ } catch (i4) {
2207
+ a2(i4);
2208
+ }
2209
+ }
2210
+ function l2(i3) {
2211
+ try {
2212
+ k2(t2.throw(i3));
2213
+ } catch (i4) {
2214
+ a2(i4);
2215
+ }
2216
+ }
2217
+ function k2(i3) {
2218
+ var n3;
2219
+ i3.done ? e(i3.value) : (n3 = i3.value, n3 instanceof o2 ? n3 : new o2(function(i4) {
2220
+ i4(n3);
2221
+ })).then(r2, l2);
2222
+ }
2223
+ k2((t2 = t2.apply(i2, n2 || [])).next());
2224
+ });
2225
+ };
2226
+ const uaInfo$1 = getCurrentUAInfo();
2227
+ const isAndroid$1 = uaInfo$1.os.isAndroid;
2228
+ const isIOS$1 = uaInfo$1.os.isIOS;
2229
+ var LinkType;
2230
+ !function(i2) {
2231
+ i2[i2.Normal = 10] = "Normal", i2[i2.MultiPlatform = 11] = "MultiPlatform", i2[i2.Native = 12] = "Native";
2232
+ }(LinkType || (LinkType = {}));
2233
+ var LinkJumpWay;
2234
+ function getNativeToPointMallFn() {
2235
+ var i2, n2, o2, t2;
2236
+ return isAndroid$1 ? null === (i2 = window.AndroidNative) || void 0 === i2 ? void 0 : i2.toPointMall : isIOS$1 ? null === (t2 = null === (o2 = null === (n2 = window.webkit) || void 0 === n2 ? void 0 : n2.messageHandlers) || void 0 === o2 ? void 0 : o2.gotoPointsMall) || void 0 === t2 ? void 0 : t2.postMessage : void 0;
2237
+ }
2238
+ function toNativeLink(i2) {
2239
+ const { androidLink: n2, iosLink: o2, otherLink: t2 } = i2, e = getNativeToPointMallFn();
2240
+ if (e) {
2241
+ let i3 = isAndroid$1 ? n2 : o2;
2242
+ const t3 = encodeURIComponent(location.href);
2243
+ i3 = concat(i3, { plt_back_uri: t3 });
2244
+ e(JSON.stringify({ url: i3 }));
2245
+ } else window.open(t2, "_blank", "noopener=yes");
2246
+ }
2247
+ function toPlvWebviewBridge(i2) {
2248
+ return __awaiter(this, void 0, void 0, function* () {
2249
+ const { getPlvWebviewSmallWindowSize: n2, getPlvWebviewBridge: o2 } = i2, t2 = (null == n2 ? void 0 : n2()) || { width: 90, height: 160 }, e = yield null == o2 ? void 0 : o2();
2250
+ e && e.sendData("clickProduct", { width: t2.width, height: t2.height, newPage: true, link: i2.link, data: i2.data });
2251
+ });
2252
+ }
2253
+ function toMultiPlatformLink(i2) {
2254
+ return __awaiter(this, void 0, void 0, function* () {
2255
+ const { linkData: n2, isWxMiniProgramEnv: o2, toWxMiniProgram: t2, openLink: e, getLinkParams: a2, isMobile: r2 } = i2, { wxMiniprogramLink: l2, mobileLink: k2, pcLink: d2 } = n2, s2 = (null == r2 ? void 0 : r2()) || false;
2256
+ let u2 = false;
2257
+ try {
2258
+ u2 = (yield null == o2 ? void 0 : o2()) || false;
2259
+ } catch (i3) {
2260
+ u2 = false;
2261
+ }
2262
+ u2 && l2 && t2 ? t2(formatLink(l2, a2)) : s2 && k2 ? e(formatLink(k2, a2), LinkJumpWay.NewWindow) : !s2 && d2 && e(formatLink(d2, a2), LinkJumpWay.NewWindow);
2263
+ });
2264
+ }
2265
+ !function(i2) {
2266
+ i2.PopUp = "POP_UP", i2.NewWindow = "NEW_WINDOW", i2.CurrentWindow = "CURRENT_WINDOW";
2267
+ }(LinkJumpWay || (LinkJumpWay = {}));
2268
+ function formatLink(i2, n2) {
2269
+ let o2 = {};
2270
+ if (n2) {
2271
+ const t2 = n2(i2);
2272
+ o2 = Object.assign({}, o2, t2);
2273
+ }
2274
+ return concat(i2, o2);
2275
+ }
2276
+ function navigateToLink(i2) {
2277
+ const { linkData: n2, openLink: o2, isPlvWebview: t2, getPlvWebviewSmallWindowSize: e, getPlvWebviewBridge: a2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, getLinkParams: k2, isMobile: d2 } = i2, { linkType: s2 } = n2, u2 = (null == t2 ? void 0 : t2()) || false;
2278
+ if (s2 !== LinkType.Native) {
2279
+ if (u2) {
2280
+ let i3 = "";
2281
+ const { link: o3, mobileLink: t3, mobileAppLink: r3, wxMiniprogramOriginalId: l3, wxMiniprogramLink: d3 } = n2;
2282
+ switch (s2) {
2283
+ case LinkType.Normal:
2284
+ i3 = o3;
2285
+ break;
2286
+ case LinkType.MultiPlatform:
2287
+ i3 = r3 || t3;
2288
+ }
2289
+ let u3 = null;
2290
+ return s2 !== LinkType.Normal && (u3 = { mobileLink: formatLink(t3, k2), wxMiniprogramOriginalId: l3, wxMiniprogramLink: formatLink(d3, k2), mobileAppLink: formatLink(r3, k2) }), void toPlvWebviewBridge({ link: formatLink(i3, k2), data: u3, getPlvWebviewSmallWindowSize: e, getPlvWebviewBridge: a2 });
2291
+ }
2292
+ if (s2 !== LinkType.Normal) s2 === LinkType.MultiPlatform && toMultiPlatformLink({ linkData: n2, getLinkParams: k2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, openLink: o2, isMobile: d2 });
2293
+ else {
2294
+ const { link: i3, jumpWay: t3 } = n2;
2295
+ o2(formatLink(i3, k2), t3);
2296
+ }
2297
+ } else toNativeLink({ androidLink: formatLink(n2.androidLink, k2), iosLink: formatLink(n2.iosLink, k2), otherLink: formatLink(n2.otherLink, k2) });
2298
+ }
2299
+ const useTrackEvent = (iarCore) => {
2300
+ const { injectData } = useGlobalInject();
2301
+ function trackEvent(data) {
2302
+ if (injectData.trackEventCallback) {
2303
+ injectData.trackEventCallback(data);
2304
+ return;
2305
+ }
2306
+ iarCore.trackEvent(data);
2307
+ }
2308
+ return {
2309
+ trackEvent
2310
+ };
2311
+ };
2184
2312
  const ua = navigator.userAgent.toLowerCase();
2185
2313
  const uaInfo = getCurrentUAInfo();
2186
2314
  const isAndroid = uaInfo.os.isAndroid;
@@ -2313,7 +2441,8 @@ function getProductTargetExport(productTarget) {
2313
2441
  ProductExplainStatus: productTarget.ProductExplainStatus,
2314
2442
  ProductMediaType: productTarget.ProductMediaType,
2315
2443
  ProductDeliveryType: productTarget.ProductDeliveryType,
2316
- ProductEvents: productTarget.ProductEvents
2444
+ ProductEvents: productTarget.ProductEvents,
2445
+ ProductPushRule: productTarget.ProductPushRule
2317
2446
  };
2318
2447
  }
2319
2448
  const PRODUCT_PROVIDE_KEY = Symbol("PRODUCT_PROVIDE_KEY");
@@ -2416,7 +2545,38 @@ const useProductStock = (options) => {
2416
2545
  isSoldOut
2417
2546
  };
2418
2547
  };
2419
- const htmlChars = ['"', "'", "&", "<", ">"], htmlEntities = ["&quot;", "&#39;", "&amp;", "&lt;", "&gt;"], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
2548
+ const useProductExplain = (options) => {
2549
+ const { props } = options;
2550
+ const productExplainEnabled = ref(false);
2551
+ function getProductExplainEnabled() {
2552
+ return __async(this, null, function* () {
2553
+ if (!props.productTarget) return;
2554
+ const enabled = yield props.productTarget.getProductExplainEnabled();
2555
+ productExplainEnabled.value = enabled;
2556
+ });
2557
+ }
2558
+ function handleClickExplain(product) {
2559
+ return __async(this, null, function* () {
2560
+ if (typeof props.productConfig.customClickExplainHandler === "function") {
2561
+ props.productConfig.customClickExplainHandler(product);
2562
+ return;
2563
+ }
2564
+ if (!props.productTarget) return;
2565
+ const url2 = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
2566
+ if (url2) {
2567
+ window.open(url2, "_blank");
2568
+ }
2569
+ });
2570
+ }
2571
+ onMounted(() => {
2572
+ getProductExplainEnabled();
2573
+ });
2574
+ return {
2575
+ productExplainEnabled,
2576
+ handleClickExplain
2577
+ };
2578
+ };
2579
+ const htmlChars = ['"', "'", "&", "<", ">", " "], htmlEntities = ["&quot;", "&#39;", "&amp;", "&lt;", "&gt;", "&nbsp;"], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
2420
2580
  htmlChars.forEach((n2, e) => {
2421
2581
  charsToEntities[n2] = htmlEntities[e], entitiesToChars[htmlEntities[e]] = n2;
2422
2582
  });
@@ -2435,15 +2595,15 @@ function randomStr(n2, e) {
2435
2595
  function maskChars(n2, e) {
2436
2596
  var t2, r2, o2;
2437
2597
  e = e || {};
2438
- const i2 = n2.length, l2 = null !== (t2 = e.start) && void 0 !== t2 ? t2 : 0, s2 = null !== (r2 = e.end) && void 0 !== r2 ? r2 : i2 - 1, a2 = null !== (o2 = e.maskChar) && void 0 !== o2 ? o2 : "*";
2439
- if (l2 >= 0 && s2 >= 0 && l2 <= s2 && s2 < i2) {
2440
- let e2 = n2.substring(0, l2);
2441
- return e2 += new Array(s2 - l2 + 2).join(a2), s2 < i2 - 1 && (e2 += n2.substring(s2 + 1)), e2;
2598
+ const i2 = n2.length, s2 = null !== (t2 = e.start) && void 0 !== t2 ? t2 : 0, l2 = null !== (r2 = e.end) && void 0 !== r2 ? r2 : i2 - 1, a2 = null !== (o2 = e.maskChar) && void 0 !== o2 ? o2 : "*";
2599
+ if (s2 >= 0 && l2 >= 0 && s2 <= l2 && l2 < i2) {
2600
+ let e2 = n2.substring(0, s2);
2601
+ return e2 += new Array(l2 - s2 + 2).join(a2), l2 < i2 - 1 && (e2 += n2.substring(l2 + 1)), e2;
2442
2602
  }
2443
- if (l2 >= 0) return l2 >= i2 ? n2 : n2.substring(0, l2) + new Array(i2 - l2 + 1).join(a2);
2444
- if (s2 >= 0) {
2445
- let e2 = new Array(Math.min(s2, i2) + 2).join(a2);
2446
- return s2 < i2 - 1 && (e2 += n2.substring(s2 + 1)), e2;
2603
+ if (s2 >= 0) return s2 >= i2 ? n2 : n2.substring(0, s2) + new Array(i2 - s2 + 1).join(a2);
2604
+ if (l2 >= 0) {
2605
+ let e2 = new Array(Math.min(l2, i2) + 2).join(a2);
2606
+ return l2 < i2 - 1 && (e2 += n2.substring(l2 + 1)), e2;
2447
2607
  }
2448
2608
  return n2;
2449
2609
  }
@@ -2486,7 +2646,7 @@ const useWeixinButton = (hookOptions = {}) => {
2486
2646
  }
2487
2647
  const wx = yield injectData.getWeixinSdk();
2488
2648
  (_a = wx == null ? void 0 : wx.miniProgram) == null ? void 0 : _a.navigateTo({
2489
- url: url2
2649
+ url: url2.startsWith("/") ? url2 : `/${url2}`
2490
2650
  });
2491
2651
  return;
2492
2652
  });
@@ -2541,7 +2701,9 @@ const useWeixinButton = (hookOptions = {}) => {
2541
2701
  watch(
2542
2702
  () => [weixinBtnRef.value, supportWxOpenLaunchWeapp.value, buttonOptions.value],
2543
2703
  () => {
2544
- createWxMiniProgramButton();
2704
+ setTimeout(() => {
2705
+ createWxMiniProgramButton();
2706
+ }, 500);
2545
2707
  },
2546
2708
  {
2547
2709
  immediate: true
@@ -2558,7 +2720,7 @@ const useWeixinButton = (hookOptions = {}) => {
2558
2720
  };
2559
2721
  };
2560
2722
  const useAppNative = () => {
2561
- function getNativeToPointMallFn() {
2723
+ function getNativeToPointMallFn2() {
2562
2724
  var _a, _b, _c, _d;
2563
2725
  if (isAndroid) {
2564
2726
  return (_a = window.AndroidNative) == null ? void 0 : _a.toPointMall;
@@ -2567,14 +2729,14 @@ const useAppNative = () => {
2567
2729
  }
2568
2730
  }
2569
2731
  function supportNativeToPointMall() {
2570
- return !!getNativeToPointMallFn();
2732
+ return !!getNativeToPointMallFn2();
2571
2733
  }
2572
2734
  const supportAppNative = computed(() => {
2573
2735
  return supportNativeToPointMall();
2574
2736
  });
2575
- function toNativeLink(options) {
2737
+ function toNativeLink2(options) {
2576
2738
  const { androidLink, iosLink, otherLink } = options;
2577
- const nativePointMallFn = getNativeToPointMallFn();
2739
+ const nativePointMallFn = getNativeToPointMallFn2();
2578
2740
  if (nativePointMallFn) {
2579
2741
  let url2 = isAndroid ? androidLink : iosLink;
2580
2742
  const pltBackUri = encodeURIComponent(location.href);
@@ -2590,60 +2752,10 @@ const useAppNative = () => {
2590
2752
  window.open(otherLink, "_blank", "noopener=yes");
2591
2753
  }
2592
2754
  return {
2593
- getNativeToPointMallFn,
2755
+ getNativeToPointMallFn: getNativeToPointMallFn2,
2594
2756
  supportNativeToPointMall,
2595
2757
  supportAppNative,
2596
- toNativeLink
2597
- };
2598
- };
2599
- const usePolyvWebview = () => {
2600
- const { injectData } = useGlobalInject();
2601
- const isPlvWebview = ref(false);
2602
- const supportPlvWebview = computed(() => {
2603
- return isPlvWebview.value;
2604
- });
2605
- function getPlvWebviewBridge() {
2606
- return __async(this, null, function* () {
2607
- if (injectData.getPlvWebviewBridge) {
2608
- return yield injectData.getPlvWebviewBridge();
2609
- }
2610
- });
2611
- }
2612
- function toPlvWebviewBridge(options) {
2613
- return __async(this, null, function* () {
2614
- if (!supportPlvWebview.value) {
2615
- return;
2616
- }
2617
- let plvWebviewDataSize = {
2618
- width: 90,
2619
- height: 160
2620
- };
2621
- if (injectData.getPlvWebviewSmallWindowSize) {
2622
- plvWebviewDataSize = injectData.getPlvWebviewSmallWindowSize();
2623
- }
2624
- const webviewBridge = yield getPlvWebviewBridge();
2625
- if (!webviewBridge) {
2626
- return;
2627
- }
2628
- webviewBridge.sendData("clickProduct", {
2629
- width: plvWebviewDataSize.width,
2630
- height: plvWebviewDataSize.height,
2631
- newPage: true,
2632
- link: options.link,
2633
- data: options.data
2634
- });
2635
- });
2636
- }
2637
- onMounted(() => {
2638
- if (injectData.isPlvWebview) {
2639
- isPlvWebview.value = injectData.isPlvWebview();
2640
- }
2641
- });
2642
- return {
2643
- isPlvWebview,
2644
- supportPlvWebview,
2645
- getPlvWebviewBridge,
2646
- toPlvWebviewBridge
2758
+ toNativeLink: toNativeLink2
2647
2759
  };
2648
2760
  };
2649
2761
  const productButtonProps = () => __spreadProps(__spreadValues({}, productProps()), {
@@ -2662,12 +2774,12 @@ const useProductButton = (options) => {
2662
2774
  const { isSoldOut } = useProductStock({
2663
2775
  product: () => props.productData
2664
2776
  });
2665
- const { getEmitter } = useGlobalInject();
2777
+ const { getEmitter, injectData } = useGlobalInject();
2666
2778
  const { $t } = useI18n();
2667
2779
  const productConfig = computed(() => {
2668
2780
  return props.productConfig;
2669
2781
  });
2670
- const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram } = useWeixinButton({
2782
+ const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram, supportWxMiniProgramNavigateTo } = useWeixinButton({
2671
2783
  getButtonOptions: () => {
2672
2784
  const productData = props.productData;
2673
2785
  return {
@@ -2678,10 +2790,9 @@ const useProductButton = (options) => {
2678
2790
  },
2679
2791
  launchCallback: () => sendClickEvent()
2680
2792
  });
2681
- const { supportAppNative, toNativeLink } = useAppNative();
2682
- const { supportPlvWebview, toPlvWebviewBridge } = usePolyvWebview();
2793
+ const { supportAppNative } = useAppNative();
2683
2794
  const { trackEvent } = useTrackEvent(props.productTarget.iarCore);
2684
- const { ProductBuyType, ProductType, ProductLinkType, ProductLinkJumpWay } = getProductTargetExport(props.productTarget);
2795
+ const { ProductBuyType, ProductType } = getProductTargetExport(props.productTarget);
2685
2796
  const isDirectBuy = computed(() => {
2686
2797
  return props.productData.productType === ProductType.Normal && props.productData.buyType === ProductBuyType.DirectBuy;
2687
2798
  });
@@ -2708,13 +2819,13 @@ const useProductButton = (options) => {
2708
2819
  if (isDirectBuy.value) {
2709
2820
  return false;
2710
2821
  }
2711
- if (productData.linkType === ProductLinkType.Normal) {
2822
+ if (productData.linkType === LinkType.Normal) {
2712
2823
  return !productData.link;
2713
2824
  }
2714
- if (productData.linkType === ProductLinkType.MultiPlatform) {
2825
+ if (productData.linkType === LinkType.MultiPlatform) {
2715
2826
  return isMultiPlatformDisabled.value;
2716
2827
  }
2717
- if (productData.linkType === ProductLinkType.Native) {
2828
+ if (productData.linkType === LinkType.Native) {
2718
2829
  if (supportAppNative.value) {
2719
2830
  return !productData.androidLink && !productData.iosLink;
2720
2831
  }
@@ -2773,9 +2884,26 @@ const useProductButton = (options) => {
2773
2884
  }
2774
2885
  return concat(url2, urlParams);
2775
2886
  }
2887
+ function getLinkData() {
2888
+ const productData = props.productData;
2889
+ const linkData = {
2890
+ linkType: productData.linkType,
2891
+ jumpWay: productData.jumpWay,
2892
+ link: productData.link,
2893
+ pcLink: productData.pcLink,
2894
+ mobileLink: productData.mobileLink,
2895
+ mobileAppLink: productData.mobileAppLink,
2896
+ androidLink: productData.androidLink,
2897
+ iosLink: productData.iosLink,
2898
+ otherLink: productData.otherLink,
2899
+ wxMiniprogramOriginalId: productData.wxMiniprogramOriginalId,
2900
+ wxMiniprogramAppId: productData.wxMiniprogramAppId,
2901
+ wxMiniprogramLink: productData.wxMiniprogramLink
2902
+ };
2903
+ return linkData;
2904
+ }
2776
2905
  function onClickLinkBtn() {
2777
2906
  const productData = props.productData;
2778
- const { linkType } = productData;
2779
2907
  sendClickEvent();
2780
2908
  if (productConfig.value.customClickButtonHandler) {
2781
2909
  productConfig.value.customClickButtonHandler(productData);
@@ -2785,70 +2913,28 @@ const useProductButton = (options) => {
2785
2913
  toDirectBuy();
2786
2914
  return;
2787
2915
  }
2788
- if (productData.linkType === ProductLinkType.Native) {
2789
- toNativeLink({
2790
- androidLink: formatProductLink(productData.androidLink),
2791
- iosLink: formatProductLink(productData.iosLink),
2792
- otherLink: formatProductLink(productData.otherLink)
2793
- });
2794
- return;
2795
- }
2796
- if (supportPlvWebview.value) {
2797
- let linkTo = "";
2798
- const { link, mobileLink, mobileAppLink, wxMiniprogramOriginalId, wxMiniprogramLink } = productData;
2799
- switch (productData.linkType) {
2800
- case ProductLinkType.Normal:
2801
- linkTo = link;
2802
- break;
2803
- case ProductLinkType.MultiPlatform:
2804
- linkTo = mobileAppLink || mobileLink;
2805
- break;
2806
- }
2807
- let otherData = null;
2808
- if (productData.linkType !== ProductLinkType.Normal) {
2809
- otherData = {
2810
- mobileLink: formatProductLink(mobileLink),
2811
- wxMiniprogramOriginalId,
2812
- wxMiniprogramLink: formatProductLink(wxMiniprogramLink),
2813
- mobileAppLink: formatProductLink(mobileAppLink)
2814
- };
2815
- }
2816
- toPlvWebviewBridge({
2817
- link: formatProductLink(linkTo),
2818
- data: otherData
2819
- });
2820
- return;
2821
- }
2822
- if (linkType === ProductLinkType.Normal) {
2823
- const { link, jumpWay } = productData;
2824
- openLink(formatProductLink(link), jumpWay);
2825
- return;
2826
- }
2827
- if (linkType === ProductLinkType.MultiPlatform) {
2828
- const { wxMiniprogramLink, mobileLink, pcLink } = productData;
2829
- if (isWxMiniProgramWebview.value && wxMiniprogramLink) {
2830
- toWxMiniProgram(formatProductLink(wxMiniprogramLink));
2831
- return;
2832
- }
2833
- if (isMobile) {
2834
- openLink(formatProductLink(mobileLink), ProductLinkJumpWay.NewWindow);
2835
- return;
2836
- }
2837
- if (!isMobile) {
2838
- openLink(formatProductLink(pcLink), ProductLinkJumpWay.NewWindow);
2839
- return;
2840
- }
2841
- }
2916
+ const linkData = getLinkData();
2917
+ navigateToLink({
2918
+ linkData,
2919
+ getLinkParams: productConfig.value.getLinkParams,
2920
+ openLink,
2921
+ isPlvWebview: injectData.isPlvWebview,
2922
+ isMobile: injectData.isMobile,
2923
+ getPlvWebviewBridge: injectData.getPlvWebviewBridge,
2924
+ getPlvWebviewSmallWindowSize: injectData.getPlvWebviewSmallWindowSize,
2925
+ isWxMiniProgramEnv: supportWxMiniProgramNavigateTo,
2926
+ toWxMiniProgram
2927
+ });
2842
2928
  }
2843
2929
  function openLink(url2, jumpWay) {
2844
2930
  switch (jumpWay) {
2845
- case ProductLinkJumpWay.NewWindow:
2931
+ case LinkJumpWay.NewWindow:
2846
2932
  window.open(url2, "_blank", "noopener=yes");
2847
2933
  break;
2848
- case ProductLinkJumpWay.CurrentWindow:
2934
+ case LinkJumpWay.CurrentWindow:
2849
2935
  window.location.href = url2;
2850
2936
  break;
2851
- case ProductLinkJumpWay.PopUp:
2937
+ case LinkJumpWay.PopUp:
2852
2938
  getEmitter().emit(productEvents.OpenProductIframeLinkPopup, url2);
2853
2939
  break;
2854
2940
  default:
@@ -2871,7 +2957,7 @@ const useProductButton = (options) => {
2871
2957
  name: productData.name,
2872
2958
  productId: productData.productId,
2873
2959
  productType: productData.productType,
2874
- productPushRule: data == null ? void 0 : data.pushRule
2960
+ productPushRule: (data == null ? void 0 : data.pushRule) || ""
2875
2961
  }
2876
2962
  });
2877
2963
  props.productTarget.sendProductClickEvent({
@@ -2891,7 +2977,7 @@ const useProductButton = (options) => {
2891
2977
  onClickLinkBtn
2892
2978
  };
2893
2979
  };
2894
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
2980
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
2895
2981
  __name: "product-button",
2896
2982
  props: productButtonProps(),
2897
2983
  emits: productButtonEmits(),
@@ -2908,7 +2994,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
2908
2994
  return { __sfc: true, props, emit, isButtonDisabled, buttonText, isWeixinButton, isPreviewMode, weixinBtnRef, onClickLinkBtn };
2909
2995
  }
2910
2996
  });
2911
- var _sfc_render$H = function render4() {
2997
+ var _sfc_render$M = function render4() {
2912
2998
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
2913
2999
  return _c("div", { staticClass: "plv-product-button", class: {
2914
3000
  "is-disabled": _setup.isButtonDisabled
@@ -2917,13 +3003,13 @@ var _sfc_render$H = function render4() {
2917
3003
  return _setup.onClickLinkBtn.apply(null, arguments);
2918
3004
  } } })] : _vm._e()], 2);
2919
3005
  };
2920
- var _sfc_staticRenderFns$H = [];
2921
- var __component__$H = /* @__PURE__ */ normalizeComponent(
2922
- _sfc_main$H,
2923
- _sfc_render$H,
2924
- _sfc_staticRenderFns$H
3006
+ var _sfc_staticRenderFns$M = [];
3007
+ var __component__$M = /* @__PURE__ */ normalizeComponent(
3008
+ _sfc_main$M,
3009
+ _sfc_render$M,
3010
+ _sfc_staticRenderFns$M
2925
3011
  );
2926
- const ProductButton = __component__$H.exports;
3012
+ const ProductButton = __component__$M.exports;
2927
3013
  var popperManager;
2928
3014
  var hasRequiredPopperManager;
2929
3015
  function requirePopperManager() {
@@ -3642,7 +3728,7 @@ const useDynamicHeight = (options) => {
3642
3728
  reset
3643
3729
  };
3644
3730
  };
3645
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
3731
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
3646
3732
  __name: "index",
3647
3733
  props: {
3648
3734
  value: PropUtils.bool.def(false),
@@ -3816,6 +3902,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
3816
3902
  if (props.fillBody) {
3817
3903
  return "90%";
3818
3904
  }
3905
+ if (isHorizontalScreenOrientation.value) return document.documentElement.clientHeight;
3819
3906
  if (props.enableDynamicHeight) {
3820
3907
  return document.documentElement.clientHeight * dynamicContentHeightPercent.value;
3821
3908
  }
@@ -3929,7 +4016,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
3929
4016
  return { __sfc: true, props, emit, globalInjectData, popupInjectData, isHorizontalScreenOrientation, pageFullscreen, isFullscreen, dynamicContentHeightPercent, handleScroll, resetContentHeight, getOriginAppendTo, popupAppendTo, popupShowModal, getOriginPosition, popupPosition, wrapClass, wrapStyle, headerStyle, bodyWidth, bodyHeight, bodyClass, bodyStyle, wrapVisible, bodyVisible, wrapRef, innerRef, topicPopup, onBodyScroll, open, closeBody, close, onClickMask, back, onAfterLeave, resetScroll, ProductIconClose, ProductIconArrowLeft };
3930
4017
  }
3931
4018
  });
3932
- var _sfc_render$G = function render5() {
4019
+ var _sfc_render$L = function render5() {
3933
4020
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
3934
4021
  return _c("div", { directives: [{ name: "show", rawName: "v-show", value: _setup.wrapVisible, expression: "wrapVisible" }], ref: "wrapRef", staticClass: "plv-product-common-popup", class: _setup.wrapClass, style: _setup.wrapStyle, on: { "click": _setup.onClickMask } }, [_c("transition", { attrs: { "name": "plv-product-common-popup-slide" }, on: { "after-leave": _setup.onAfterLeave } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _setup.bodyVisible, expression: "bodyVisible" }], staticClass: "plv-product-common-popup__body", class: _setup.bodyClass, style: _setup.bodyStyle, on: { "click": function($event) {
3935
4022
  $event.stopPropagation();
@@ -3942,14 +4029,14 @@ var _sfc_render$G = function render5() {
3942
4029
  })], 2)], 1)];
3943
4030
  })] : _vm._e(), _c("div", { staticClass: "plv-product-common-popup__content" }, [_c("div", { ref: "innerRef", staticClass: "plv-product-common-popup__inner", on: { "scroll": _setup.onBodyScroll } }, [_vm._t("default")], 2)])], 2)])], 1);
3944
4031
  };
3945
- var _sfc_staticRenderFns$G = [];
3946
- var __component__$G = /* @__PURE__ */ normalizeComponent(
3947
- _sfc_main$G,
3948
- _sfc_render$G,
3949
- _sfc_staticRenderFns$G
4032
+ var _sfc_staticRenderFns$L = [];
4033
+ var __component__$L = /* @__PURE__ */ normalizeComponent(
4034
+ _sfc_main$L,
4035
+ _sfc_render$L,
4036
+ _sfc_staticRenderFns$L
3950
4037
  );
3951
- const CommonPopup = __component__$G.exports;
3952
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
4038
+ const CommonPopup = __component__$L.exports;
4039
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
3953
4040
  __name: "product-iframe-link-popup",
3954
4041
  setup(__props) {
3955
4042
  const visible = ref(false);
@@ -3969,19 +4056,19 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
3969
4056
  return { __sfc: true, visible, url: url2, popupConfig, CommonPopup, productEvents };
3970
4057
  }
3971
4058
  });
3972
- var _sfc_render$F = function render6() {
4059
+ var _sfc_render$K = function render6() {
3973
4060
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
3974
4061
  return _c(_setup.CommonPopup, { attrs: { "popup-config": _setup.popupConfig, "open-event": _setup.productEvents.OpenProductIframeLinkPopup }, model: { value: _setup.visible, callback: function($$v) {
3975
4062
  _setup.visible = $$v;
3976
4063
  }, expression: "visible" } }, [_c("iframe", { staticStyle: { "width": "100%", "height": "100%" }, attrs: { "src": _setup.url, "frameborder": "0" } })]);
3977
4064
  };
3978
- var _sfc_staticRenderFns$F = [];
3979
- var __component__$F = /* @__PURE__ */ normalizeComponent(
3980
- _sfc_main$F,
3981
- _sfc_render$F,
3982
- _sfc_staticRenderFns$F
4065
+ var _sfc_staticRenderFns$K = [];
4066
+ var __component__$K = /* @__PURE__ */ normalizeComponent(
4067
+ _sfc_main$K,
4068
+ _sfc_render$K,
4069
+ _sfc_staticRenderFns$K
3983
4070
  );
3984
- const productIframeLinkPopup = __component__$F.exports;
4071
+ const productIframeLinkPopup = __component__$K.exports;
3985
4072
  const useVue = () => {
3986
4073
  const instanceVm = getCurrentInstance();
3987
4074
  function getInstance() {
@@ -5503,7 +5590,7 @@ const useFormInput = (options) => {
5503
5590
  wordLimitText
5504
5591
  };
5505
5592
  };
5506
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
5593
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
5507
5594
  __name: "form-input",
5508
5595
  props: formInputProps(),
5509
5596
  emits: formInputEmits(),
@@ -5529,7 +5616,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
5529
5616
  return { __sfc: true, emit, props, value, type: type4, placeholder, maxlength, inputTitle, inputRef, inputClassNames, onInputChanged, onInputBlur, onInputFocus, formInstance, wordLimitText, clearValue, isFocus, ProductIconCloseRoundFill };
5530
5617
  }
5531
5618
  });
5532
- var _sfc_render$E = function render7() {
5619
+ var _sfc_render$J = function render7() {
5533
5620
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
5534
5621
  return _c("div", { staticClass: "plv-product-form-input", class: _setup.inputClassNames }, [_c("div", { staticClass: "plv-product-form-input__main", class: {
5535
5622
  "plv-product-form-input__main--has-title": _setup.inputTitle
@@ -5539,25 +5626,25 @@ var _sfc_render$E = function render7() {
5539
5626
  return [_vm.suffixText ? _c("span", { staticClass: "plv-product-form-input__suffix-text" }, [_vm._v(" " + _vm._s(_vm.suffixText) + " ")]) : _setup.wordLimitText ? _c("span", { staticClass: "plv-product-form-input__suffix-text" }, [_vm._v(" " + _vm._s(_setup.wordLimitText) + " ")]) : _vm._e()];
5540
5627
  })], 2)], 2)]);
5541
5628
  };
5542
- var _sfc_staticRenderFns$E = [];
5543
- var __component__$E = /* @__PURE__ */ normalizeComponent(
5544
- _sfc_main$E,
5545
- _sfc_render$E,
5546
- _sfc_staticRenderFns$E
5629
+ var _sfc_staticRenderFns$J = [];
5630
+ var __component__$J = /* @__PURE__ */ normalizeComponent(
5631
+ _sfc_main$J,
5632
+ _sfc_render$J,
5633
+ _sfc_staticRenderFns$J
5547
5634
  );
5548
- const FormInput = __component__$E.exports;
5549
- const _sfc_main$D = {};
5550
- var _sfc_render$D = function render8() {
5635
+ const FormInput = __component__$J.exports;
5636
+ const _sfc_main$I = {};
5637
+ var _sfc_render$I = function render8() {
5551
5638
  var _vm = this, _c = _vm._self._c;
5552
5639
  return _c("i", { staticClass: "plv-product-c-loading" });
5553
5640
  };
5554
- var _sfc_staticRenderFns$D = [];
5555
- var __component__$D = /* @__PURE__ */ normalizeComponent(
5556
- _sfc_main$D,
5557
- _sfc_render$D,
5558
- _sfc_staticRenderFns$D
5641
+ var _sfc_staticRenderFns$I = [];
5642
+ var __component__$I = /* @__PURE__ */ normalizeComponent(
5643
+ _sfc_main$I,
5644
+ _sfc_render$I,
5645
+ _sfc_staticRenderFns$I
5559
5646
  );
5560
- const Loading = __component__$D.exports;
5647
+ const Loading = __component__$I.exports;
5561
5648
  var reWhitespace = /\s/;
5562
5649
  function trimmedEndIndex(string3) {
5563
5650
  var index2 = string3.length;
@@ -6722,7 +6809,7 @@ const useProductTagPanel = (options) => {
6722
6809
  expandProductTag
6723
6810
  };
6724
6811
  };
6725
- const _sfc_main$C = /* @__PURE__ */ defineComponent({
6812
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
6726
6813
  __name: "product-tag-panel",
6727
6814
  props: productTagProps(),
6728
6815
  emits: productTagEmits(),
@@ -6747,7 +6834,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
6747
6834
  return { __sfc: true, props, emit, scrollRef, containerRef, isExpanded, topNProductTags, remainingProductTags, productTagList, instance, onScroll: onScroll2, selectProductTag, expandProductTag, ProductIconArrowDown, isMobile };
6748
6835
  }
6749
6836
  });
6750
- var _sfc_render$C = function render9() {
6837
+ var _sfc_render$H = function render9() {
6751
6838
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6752
6839
  return _setup.productTagList.length ? _c("div", { staticClass: "plv-product-c-label-panel" }, [_c("div", { ref: "containerRef", staticClass: "plv-product-c-label-list__wrapper" }, [_c("div", { staticClass: "plv-product-c-label-list__inner" }, _vm._l(_setup.topNProductTags, function(item, index2) {
6753
6840
  return _c("div", { key: index2, staticClass: "plv-product-c-label-list__item", class: {
@@ -6768,15 +6855,15 @@ var _sfc_render$C = function render9() {
6768
6855
  "plv-product-c-label-overlay-pc": !_setup.isMobile
6769
6856
  }, on: { "click": _setup.expandProductTag } })])], 1) : _vm._e();
6770
6857
  };
6771
- var _sfc_staticRenderFns$C = [];
6772
- var __component__$C = /* @__PURE__ */ normalizeComponent(
6773
- _sfc_main$C,
6774
- _sfc_render$C,
6775
- _sfc_staticRenderFns$C
6858
+ var _sfc_staticRenderFns$H = [];
6859
+ var __component__$H = /* @__PURE__ */ normalizeComponent(
6860
+ _sfc_main$H,
6861
+ _sfc_render$H,
6862
+ _sfc_staticRenderFns$H
6776
6863
  );
6777
- const ProductTagPanel = __component__$C.exports;
6864
+ const ProductTagPanel = __component__$H.exports;
6778
6865
  const liveGif = "data:image/gif;base64,R0lGODlhKgAqAKIEAP7//////v3//////////wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzFEQjYxNzBBNjg5MTFFQjhBN0REMjM4Qzk4RDRFMzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzFEQjYxNzFBNjg5MTFFQjhBN0REMjM4Qzk4RDRFMzciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENzE0QTU2QkE2NkUxMUVCOEE3REQyMzhDOThENEUzNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENzE0QTU2Q0E2NkUxMUVCOEE3REQyMzhDOThENEUzNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS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";
6779
- const _sfc_main$B = /* @__PURE__ */ defineComponent({
6866
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
6780
6867
  __name: "product-explain",
6781
6868
  props: {
6782
6869
  product: PropUtils.object().isRequired,
@@ -6795,7 +6882,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
6795
6882
  return { __sfc: true, props, emit, $t, ProductExplainStatus, onClickExplain, isMobile, liveGif };
6796
6883
  }
6797
6884
  });
6798
- var _sfc_render$B = function render10() {
6885
+ var _sfc_render$G = function render10() {
6799
6886
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6800
6887
  return _setup.isMobile ? _c("div", { class: { "plv-product-c-explain--no-cover": !_vm.product.cover } }, [_vm.product.explainStatus === _setup.ProductExplainStatus.Explaining ? _c("div", { staticClass: "plv-product-c-explain--explaining", class: {
6801
6888
  "plv-product-c-explain--explaining-cover": _vm.product.cover
@@ -6808,14 +6895,14 @@ var _sfc_render$B = function render10() {
6808
6895
  "plv-product-c-explain--not-explained-cover": _vm.product.cover
6809
6896
  } }, [_c("span", [_vm._v(_vm._s(_setup.$t("product.notExplained")))])])]) : _vm._e();
6810
6897
  };
6811
- var _sfc_staticRenderFns$B = [];
6812
- var __component__$B = /* @__PURE__ */ normalizeComponent(
6813
- _sfc_main$B,
6814
- _sfc_render$B,
6815
- _sfc_staticRenderFns$B
6898
+ var _sfc_staticRenderFns$G = [];
6899
+ var __component__$G = /* @__PURE__ */ normalizeComponent(
6900
+ _sfc_main$G,
6901
+ _sfc_render$G,
6902
+ _sfc_staticRenderFns$G
6816
6903
  );
6817
- const ProductExplain = __component__$B.exports;
6818
- const _sfc_main$A = /* @__PURE__ */ defineComponent({
6904
+ const ProductExplain = __component__$G.exports;
6905
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
6819
6906
  __name: "product-title",
6820
6907
  props: {
6821
6908
  title: PropUtils.string.def(""),
@@ -6872,20 +6959,20 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
6872
6959
  return { __sfc: true, props, titleRef, moreArrowVisible, handleExpand, isTitleOverflowing, checkOverflow: checkOverflow2, ProductIconArrowDown };
6873
6960
  }
6874
6961
  });
6875
- var _sfc_render$A = function render11() {
6962
+ var _sfc_render$F = function render11() {
6876
6963
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6877
6964
  return _c("div", { staticClass: "plv-product-c-item__title-container" }, [_c("div", { ref: "titleRef", staticClass: "plv-product-c-item__title", class: {
6878
6965
  "plv-product-c-item__title--single": _vm.useEllipsis
6879
6966
  } }, [_vm._v(" " + _vm._s(_vm.title) + " ")]), _vm.useExpand && _setup.moreArrowVisible ? _c("button", { staticClass: "plv-product-c-item__title-more", on: { "click": _setup.handleExpand } }, [_c(_setup.ProductIconArrowDown, { staticClass: "plv-product-c-item__title-more-icon" })], 1) : _vm._e()]);
6880
6967
  };
6881
- var _sfc_staticRenderFns$A = [];
6882
- var __component__$A = /* @__PURE__ */ normalizeComponent(
6883
- _sfc_main$A,
6884
- _sfc_render$A,
6885
- _sfc_staticRenderFns$A
6968
+ var _sfc_staticRenderFns$F = [];
6969
+ var __component__$F = /* @__PURE__ */ normalizeComponent(
6970
+ _sfc_main$F,
6971
+ _sfc_render$F,
6972
+ _sfc_staticRenderFns$F
6886
6973
  );
6887
- const ProductTitle = __component__$A.exports;
6888
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
6974
+ const ProductTitle = __component__$F.exports;
6975
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
6889
6976
  __name: "product-feature-tag",
6890
6977
  props: {
6891
6978
  tag: PropUtils.string.def(""),
@@ -6899,18 +6986,18 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
6899
6986
  return { __sfc: true, props, containerStyle };
6900
6987
  }
6901
6988
  });
6902
- var _sfc_render$z = function render12() {
6989
+ var _sfc_render$E = function render12() {
6903
6990
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6904
6991
  return _c("div", { staticClass: "plv-product-c-item__tag-container", style: _setup.containerStyle, attrs: { "title": _vm.tag } }, [_vm.tag ? _c("span", { staticClass: "plv-product-c-item__tag" }, [_vm._v(_vm._s(_vm.tag))]) : _vm._e()]);
6905
6992
  };
6906
- var _sfc_staticRenderFns$z = [];
6907
- var __component__$z = /* @__PURE__ */ normalizeComponent(
6908
- _sfc_main$z,
6909
- _sfc_render$z,
6910
- _sfc_staticRenderFns$z
6993
+ var _sfc_staticRenderFns$E = [];
6994
+ var __component__$E = /* @__PURE__ */ normalizeComponent(
6995
+ _sfc_main$E,
6996
+ _sfc_render$E,
6997
+ _sfc_staticRenderFns$E
6911
6998
  );
6912
- const ProductFeatureTag = __component__$z.exports;
6913
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
6999
+ const ProductFeatureTag = __component__$E.exports;
7000
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
6914
7001
  __name: "product-price",
6915
7002
  props: {
6916
7003
  product: PropUtils.object()
@@ -6944,22 +7031,143 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
6944
7031
  return { __sfc: true, props, $t, ProductType, ProductPriceType, isFreeProduct, hiddenPriceMarks, displayPrice };
6945
7032
  }
6946
7033
  });
6947
- var _sfc_render$y = function render13() {
7034
+ var _sfc_render$D = function render13() {
6948
7035
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6949
7036
  return _vm.product ? _c("div", { staticClass: "plv-product-c-item__price-area" }, [_vm.product.productType === _setup.ProductType.Normal ? [_c("span", { staticClass: "plv-product-c-item__price" }, [!_setup.isFreeProduct && _vm.product.priceType === _setup.ProductPriceType.Amount ? _c("span", { staticClass: "plv-product-c-item__price-symbol" }, [_vm._v("¥")]) : _vm._e(), _vm.product.priceVisible || _setup.isFreeProduct ? _c("span", [_vm.product.priceType === _setup.ProductPriceType.Custom ? _c("span", { staticClass: "plv-product-c-item__price-custom" }, [_vm._v(_vm._s(_vm.product.customPrice))]) : _c("span", { staticClass: "plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.displayPrice))])]) : [_c("span", { staticClass: "plv-product-c-item__price-placeholder plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.hiddenPriceMarks))]), _c("span", { staticClass: "plv-product-c-item__placeholder-text plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.$t("product.price.hidden")))])]], 2), _vm.product.originPrice ? _c("span", { staticClass: "plv-product-c-item__original-price" }, [_vm._v("¥" + _vm._s(_vm.product.originPrice))]) : _vm._e()] : _vm._e(), _vm.product.productType === _setup.ProductType.Finance ? [_c("div", { staticClass: "plv-product-c-item__price-finance" }, [_vm._v(" " + _vm._s(_vm.product.yield) + " ")])] : _vm._e(), _vm.product.productType === _setup.ProductType.Position ? [_c("div", { staticClass: "plv-product-c-item__price-finance" }, [_vm._v(" " + _vm._s(_vm.product.treatment) + " ")])] : _vm._e()], 2) : _vm._e();
6950
7037
  };
6951
- var _sfc_staticRenderFns$y = [];
6952
- var __component__$y = /* @__PURE__ */ normalizeComponent(
6953
- _sfc_main$y,
6954
- _sfc_render$y,
6955
- _sfc_staticRenderFns$y
6956
- );
6957
- const ProductPrice = __component__$y.exports;
6958
- const productItemProps = () => __spreadProps(__spreadValues({}, productProps()), {
6959
- product: PropUtils.object().isRequired
6960
- });
6961
- const productItemEmits = () => ({
6962
- "click-explain": emitFunc(),
7038
+ var _sfc_staticRenderFns$D = [];
7039
+ var __component__$D = /* @__PURE__ */ normalizeComponent(
7040
+ _sfc_main$D,
7041
+ _sfc_render$D,
7042
+ _sfc_staticRenderFns$D
7043
+ );
7044
+ const ProductPrice = __component__$D.exports;
7045
+ var ProductItemScene = /* @__PURE__ */ ((ProductItemScene2) => {
7046
+ ProductItemScene2["ProductList"] = "productList";
7047
+ ProductItemScene2["BigCard"] = "bigCard";
7048
+ ProductItemScene2["AggregateStation"] = "aggregateStation";
7049
+ return ProductItemScene2;
7050
+ })(ProductItemScene || {});
7051
+ const useProductTrack = (options) => {
7052
+ const { productTarget } = options;
7053
+ const { ProductType } = getProductTargetExport(productTarget);
7054
+ const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
7055
+ const trackedProductIds = ref({});
7056
+ const productListRef = ref(null);
7057
+ const productItemsRef = shallowRef([]);
7058
+ function setItemRef(el) {
7059
+ if (el) {
7060
+ productItemsRef.value.push(el);
7061
+ }
7062
+ }
7063
+ function trackProductViewEvent(productData) {
7064
+ const specAttrs = {
7065
+ name: productData.name,
7066
+ realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
7067
+ productId: productData.productId,
7068
+ productType: productData.productType,
7069
+ productFeature: JSON.stringify(productData.featureTags)
7070
+ };
7071
+ if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
7072
+ specAttrs.price = productData.originPrice;
7073
+ }
7074
+ trackEvent({
7075
+ event_id: "product_list_item_view",
7076
+ event_type: "show",
7077
+ spec_attrs: specAttrs
7078
+ });
7079
+ }
7080
+ function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
7081
+ const offsetTop = element.offsetTop;
7082
+ const offsetHeight = element.offsetHeight;
7083
+ const elementBottom = offsetTop + offsetHeight;
7084
+ const isFullyAbove = elementBottom <= containerScrollTop;
7085
+ const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
7086
+ return !isFullyAbove && !isBottomBelowViewportBottom;
7087
+ }
7088
+ function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
7089
+ if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
7090
+ return;
7091
+ }
7092
+ const element = itemInstance.$el;
7093
+ const productId = itemInstance.product.productId;
7094
+ const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
7095
+ if (isVisible && !trackedProductIds.value[productId]) {
7096
+ trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
7097
+ trackProductViewEvent(itemInstance.product);
7098
+ }
7099
+ }
7100
+ function trackProduct() {
7101
+ return __async(this, null, function* () {
7102
+ yield nextTick$1();
7103
+ const container = productListRef.value;
7104
+ if (!container || !productItemsRef.value.length) return;
7105
+ const scrollTop = container.scrollTop;
7106
+ const scrollClientHeight = container.clientHeight;
7107
+ const viewportBottom = scrollTop + scrollClientHeight;
7108
+ productItemsRef.value.forEach((itemInstance) => {
7109
+ checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
7110
+ });
7111
+ });
7112
+ }
7113
+ function clearTrackedProducts() {
7114
+ trackedProductIds.value = {};
7115
+ productItemsRef.value = [];
7116
+ }
7117
+ function getCommonSpecAttrs(productData) {
7118
+ return {
7119
+ clickTime: (/* @__PURE__ */ new Date()).getTime(),
7120
+ linkType: isMobile ? "mobile" : "pc",
7121
+ productName: productData.name,
7122
+ productId: productData.productId,
7123
+ productType: productData.productType,
7124
+ feature: JSON.stringify(productData.featureTags),
7125
+ price: productData.productType === ProductType.Normal ? productData.originPrice : "",
7126
+ realPrice: productData.productType === ProductType.Normal ? productData.realPrice : ""
7127
+ };
7128
+ }
7129
+ function trackProductItemClick(productData) {
7130
+ trackEvent({
7131
+ event_id: "product_list_item_click",
7132
+ event_type: "click",
7133
+ spec_attrs: __spreadValues({}, getCommonSpecAttrs(productData))
7134
+ });
7135
+ }
7136
+ function trackProductPushItemClick(productData) {
7137
+ trackEvent({
7138
+ event_id: "product_push_item_click",
7139
+ event_type: "click",
7140
+ spec_attrs: __spreadProps(__spreadValues({}, getCommonSpecAttrs(productData)), {
7141
+ pushId: productData.pushLogId || ""
7142
+ })
7143
+ });
7144
+ }
7145
+ function trackProductPushItemView(productData) {
7146
+ trackEvent({
7147
+ event_id: "product_push_item_view",
7148
+ event_type: "show",
7149
+ spec_attrs: {
7150
+ linkType: isMobile ? "mobile" : "pc",
7151
+ productId: productData.productId,
7152
+ pushId: productData.pushLogId || ""
7153
+ }
7154
+ });
7155
+ }
7156
+ return {
7157
+ productListRef,
7158
+ setItemRef,
7159
+ trackProduct,
7160
+ clearTrackedProducts,
7161
+ trackProductItemClick,
7162
+ trackProductPushItemClick,
7163
+ trackProductPushItemView
7164
+ };
7165
+ };
7166
+ const productItemProps = () => __spreadProps(__spreadValues({}, productProps()), {
7167
+ product: PropUtils.object().isRequired,
7168
+ scene: PropUtils.enum()
7169
+ });
7170
+ const productItemEmits = () => ({
6963
7171
  "click-product-item": emitFunc(),
6964
7172
  "direct-buy": emitFunc()
6965
7173
  });
@@ -6967,20 +7175,14 @@ const useProductItem = (options) => {
6967
7175
  const { props, emit } = options;
6968
7176
  const { ProductType, ProductBuyType } = getProductTargetExport(props.productTarget);
6969
7177
  const { getEmitter } = useGlobalInject();
6970
- const productExplainEnabled = ref(false);
7178
+ const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
7179
+ const { trackProductItemClick, trackProductPushItemClick } = useProductTrack({ productTarget: props.productTarget });
6971
7180
  const isProductRedirectLinkDirectly = ref(false);
6972
7181
  const shouldEllipsisTitle = computed(() => {
6973
7182
  const { product } = props;
6974
7183
  return !!(product.name && product.featureTags.length && (product.description && product.productType !== ProductType.Position));
6975
7184
  });
6976
- function setProductExplainEnabled() {
6977
- return __async(this, null, function* () {
6978
- if (!props.productTarget) return;
6979
- const enabled = yield props.productTarget.getProductExplainEnabled();
6980
- productExplainEnabled.value = enabled;
6981
- });
6982
- }
6983
- function setIsProductRedirectLinkDirectly() {
7185
+ function getIsProductRedirectLinkDirectly() {
6984
7186
  return __async(this, null, function* () {
6985
7187
  const { product, productTarget } = props;
6986
7188
  if (!product || !productTarget) return false;
@@ -6988,11 +7190,13 @@ const useProductItem = (options) => {
6988
7190
  isProductRedirectLinkDirectly.value = product.productType === ProductType.Normal && product.buyType === ProductBuyType.Link && enabled;
6989
7191
  });
6990
7192
  }
6991
- function onClickExplain(product) {
6992
- emit("click-explain", product);
6993
- }
6994
7193
  function onClickProductItem() {
6995
7194
  emit("click-product-item", props.product);
7195
+ if (props.scene === ProductItemScene.BigCard) {
7196
+ trackProductPushItemClick(props.product);
7197
+ } else {
7198
+ trackProductItemClick(props.product);
7199
+ }
6996
7200
  if (props.product.productType !== ProductType.Finance) {
6997
7201
  getEmitter().emit(productEvents.OpenProductDetailPopup, props.product);
6998
7202
  }
@@ -7000,22 +7204,19 @@ const useProductItem = (options) => {
7000
7204
  function onDirectBuy(product) {
7001
7205
  emit("direct-buy", product);
7002
7206
  }
7003
- onMounted(() => {
7004
- setProductExplainEnabled();
7005
- });
7006
7207
  watchEffect(() => {
7007
- setIsProductRedirectLinkDirectly();
7208
+ getIsProductRedirectLinkDirectly();
7008
7209
  });
7009
7210
  return {
7010
7211
  productExplainEnabled,
7011
7212
  isProductRedirectLinkDirectly,
7012
7213
  shouldEllipsisTitle,
7013
7214
  onDirectBuy,
7014
- onClickExplain,
7215
+ handleClickExplain,
7015
7216
  onClickProductItem
7016
7217
  };
7017
7218
  };
7018
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
7219
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
7019
7220
  __name: "product-item",
7020
7221
  props: productItemProps(),
7021
7222
  emits: productItemEmits(),
@@ -7031,121 +7232,48 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
7031
7232
  isProductRedirectLinkDirectly,
7032
7233
  shouldEllipsisTitle,
7033
7234
  onDirectBuy,
7034
- onClickExplain,
7035
- onClickProductItem
7235
+ onClickProductItem,
7236
+ handleClickExplain
7036
7237
  } = useProductItem({
7037
7238
  props,
7038
7239
  emit
7039
7240
  });
7040
- return { __sfc: true, props, emit, ProductExplainStatus, $t, isSoldOut, productExplainEnabled, isProductRedirectLinkDirectly, shouldEllipsisTitle, onDirectBuy, onClickExplain, onClickProductItem, ProductExplain, ProductTitle, ProductFeatureTag, ProductPrice, ProductButton, ossCompress };
7241
+ return { __sfc: true, props, emit, ProductExplainStatus, $t, isSoldOut, productExplainEnabled, isProductRedirectLinkDirectly, shouldEllipsisTitle, onDirectBuy, onClickProductItem, handleClickExplain, ProductExplain, ProductTitle, ProductFeatureTag, ProductPrice, ProductButton, ossCompress, ProductItemScene };
7041
7242
  }
7042
7243
  });
7043
- var _sfc_render$x = function render14() {
7244
+ var _sfc_render$C = function render14() {
7044
7245
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7045
- return _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig, "disabled": !_setup.isProductRedirectLinkDirectly } }, [_c("div", { class: ["plv-product-item", { "plv-product-item-no-cover": !_vm.product.cover, "plv-product-item--topping": _vm.product.isTopping }], on: { "click": _setup.onClickProductItem } }, [_vm.product.cover ? _c("div", { staticClass: "plv-product-item__cover-area" }, [_c("img", { staticClass: "plv-product-item__cover", attrs: { "src": _setup.ossCompress(_vm.product.cover, { width: 300 }), "alt": _vm.product.name } }), _setup.isSoldOut ? _c("div", { staticClass: "plv-product-item__cover-stock" }, [_vm._v(" - " + _vm._s(_setup.$t("product.stock.soldOut")) + " - ")]) : _vm._e(), _vm.product.displayNumber ? _c("div", { staticClass: "plv-product-item__ranking plv-product-item__ranking--cover plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.onClickExplain } }) : _vm._e()], 1) : _vm._e(), _c("div", { staticClass: "plv-product-item__content" }, [_c("div", { staticClass: "plv-product-item__title-area" }, [_vm.product.displayNumber && !_vm.product.cover ? _c("div", { staticClass: "plv-product-item__ranking plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled && !_vm.product.cover && _vm.product.explainStatus !== _setup.ProductExplainStatus.Explained ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.onClickExplain } }) : _vm._e(), _c(_setup.ProductTitle, { attrs: { "title": _vm.product.name, "use-ellipsis": _setup.shouldEllipsisTitle } })], 1), _c("div", { staticClass: "plv-product-item__tags" }, _vm._l(_vm.product.featureTags, function(tag, index2) {
7246
+ return _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig, "disabled": !_setup.isProductRedirectLinkDirectly } }, [_c("div", { class: ["plv-product-item", { "plv-product-item-no-cover": !_vm.product.cover, "plv-product-item--topping": _vm.product.isTopping }], on: { "click": _setup.onClickProductItem } }, [_vm.product.cover ? _c("div", { staticClass: "plv-product-item__cover-area" }, [_c("img", { staticClass: "plv-product-item__cover", attrs: { "src": _setup.ossCompress(_vm.product.cover, { width: 300 }), "alt": _vm.product.name } }), _setup.isSoldOut ? _c("div", { staticClass: "plv-product-item__cover-stock" }, [_vm._v(" - " + _vm._s(_setup.$t("product.stock.soldOut")) + " - ")]) : _vm._e(), _vm.product.displayNumber ? _c("div", { staticClass: "plv-product-item__ranking plv-product-item__ranking--cover plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e()], 1) : _vm._e(), _c("div", { staticClass: "plv-product-item__content" }, [_c("div", { staticClass: "plv-product-item__title-area" }, [_vm.product.displayNumber && !_vm.product.cover ? _c("div", { staticClass: "plv-product-item__ranking plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled && !_vm.product.cover && _vm.product.explainStatus !== _setup.ProductExplainStatus.Explained ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e(), _c(_setup.ProductTitle, { attrs: { "title": _vm.product.name, "use-ellipsis": _setup.shouldEllipsisTitle } })], 1), _c("div", { staticClass: "plv-product-item__tags" }, _vm._l(_vm.product.featureTags, function(tag, index2) {
7046
7247
  return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
7047
- }), 1), _vm.product.description ? _c("p", { staticClass: "plv-product-item__description" }, [_vm._v(" " + _vm._s(_vm.product.description) + " ")]) : _vm._e(), _c("div", { staticClass: "plv-product-item__footer" }, [_c(_setup.ProductPrice, { attrs: { "product": _vm.product } }), _setup.productExplainEnabled && _vm.product.explainStatus === _setup.ProductExplainStatus.Explained && !_vm.product.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explained--no-cover", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.onClickExplain } }) : _vm._e(), _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.onDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
7248
+ }), 1), _vm.product.description ? _c("p", { staticClass: "plv-product-item__description" }, [_vm._v(" " + _vm._s(_vm.product.description) + " ")]) : _vm._e(), _c("div", { staticClass: "plv-product-item__footer" }, [_c(_setup.ProductPrice, { attrs: { "product": _vm.product } }), _setup.productExplainEnabled && _vm.product.explainStatus === _setup.ProductExplainStatus.Explained && !_vm.product.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explained--no-cover", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e(), _vm.scene !== _setup.ProductItemScene.BigCard ? _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.onDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
7048
7249
  return [_c("button", { staticClass: "plv-product-item__buy-button", class: { "plv-product-item__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
7049
- } }]) })], 1)])])]);
7250
+ } }], null, false, 477326030) }) : _vm._e()], 1)])])]);
7050
7251
  };
7051
- var _sfc_staticRenderFns$x = [];
7052
- var __component__$x = /* @__PURE__ */ normalizeComponent(
7053
- _sfc_main$x,
7054
- _sfc_render$x,
7055
- _sfc_staticRenderFns$x
7252
+ var _sfc_staticRenderFns$C = [];
7253
+ var __component__$C = /* @__PURE__ */ normalizeComponent(
7254
+ _sfc_main$C,
7255
+ _sfc_render$C,
7256
+ _sfc_staticRenderFns$C
7056
7257
  );
7057
- const ProductItem = __component__$x.exports;
7058
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
7258
+ const ProductItem = __component__$C.exports;
7259
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
7059
7260
  __name: "product-empty",
7060
7261
  setup(__props) {
7061
7262
  const { $t } = useI18n();
7062
7263
  return { __sfc: true, $t, ProductIconSearchEmpty };
7063
7264
  }
7064
7265
  });
7065
- var _sfc_render$w = function render15() {
7266
+ var _sfc_render$B = function render15() {
7066
7267
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7067
7268
  return _c("div", { staticClass: "plv-product-list-empty" }, [_c(_setup.ProductIconSearchEmpty, { staticClass: "plv-product-list-empty__icon" }), _c("div", { staticClass: "plv-product-list-empty__text" }, [_vm._v(" " + _vm._s(_setup.$t("product.empty")) + " ")])], 1);
7068
7269
  };
7069
- var _sfc_staticRenderFns$w = [];
7070
- var __component__$w = /* @__PURE__ */ normalizeComponent(
7071
- _sfc_main$w,
7072
- _sfc_render$w,
7073
- _sfc_staticRenderFns$w
7270
+ var _sfc_staticRenderFns$B = [];
7271
+ var __component__$B = /* @__PURE__ */ normalizeComponent(
7272
+ _sfc_main$B,
7273
+ _sfc_render$B,
7274
+ _sfc_staticRenderFns$B
7074
7275
  );
7075
- const ProductEmpty = __component__$w.exports;
7076
- const useProductTrack = (options) => {
7077
- const { productTarget, ProductType } = options;
7078
- const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
7079
- const trackedProductIds = ref({});
7080
- const productListRef = ref(null);
7081
- const productItemsRef = shallowRef([]);
7082
- function setItemRef(el) {
7083
- if (el) {
7084
- productItemsRef.value.push(el);
7085
- }
7086
- }
7087
- function trackProductViewEvent(productData) {
7088
- const specAttrs = {
7089
- exposureTime: (/* @__PURE__ */ new Date()).getTime(),
7090
- name: productData.name,
7091
- realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
7092
- productId: productData.productId,
7093
- productType: productData.productType,
7094
- productFeature: JSON.stringify(productData.featureTags)
7095
- };
7096
- if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
7097
- specAttrs.price = productData.originPrice;
7098
- }
7099
- trackEvent({
7100
- event_id: "product_list_item_view",
7101
- event_type: "show",
7102
- spec_attrs: specAttrs
7103
- });
7104
- }
7105
- function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
7106
- const offsetTop = element.offsetTop;
7107
- const offsetHeight = element.offsetHeight;
7108
- const elementBottom = offsetTop + offsetHeight;
7109
- const isFullyAbove = elementBottom <= containerScrollTop;
7110
- const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
7111
- return !isFullyAbove && !isBottomBelowViewportBottom;
7112
- }
7113
- function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
7114
- if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
7115
- return;
7116
- }
7117
- const element = itemInstance.$el;
7118
- const productId = itemInstance.product.productId;
7119
- const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
7120
- if (isVisible && !trackedProductIds.value[productId]) {
7121
- trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
7122
- trackProductViewEvent(itemInstance.product);
7123
- }
7124
- }
7125
- function trackProduct() {
7126
- return __async(this, null, function* () {
7127
- yield nextTick$1();
7128
- const container = productListRef.value;
7129
- if (!container || !productItemsRef.value.length) return;
7130
- const scrollTop = container.scrollTop;
7131
- const scrollClientHeight = container.clientHeight;
7132
- const viewportBottom = scrollTop + scrollClientHeight;
7133
- productItemsRef.value.forEach((itemInstance) => {
7134
- checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
7135
- });
7136
- });
7137
- }
7138
- function clearTrackedProducts() {
7139
- trackedProductIds.value = {};
7140
- productItemsRef.value = [];
7141
- }
7142
- return {
7143
- productListRef,
7144
- setItemRef,
7145
- trackProduct,
7146
- clearTrackedProducts
7147
- };
7148
- };
7276
+ const ProductEmpty = __component__$B.exports;
7149
7277
  const useTargetEventEmitter = (eventEmitter, listeners) => {
7150
7278
  onMounted(() => {
7151
7279
  if (!eventEmitter) return;
@@ -7168,7 +7296,7 @@ const useProductList = (options) => {
7168
7296
  const { props } = options;
7169
7297
  const { getEmitter } = useGlobalInject();
7170
7298
  const { ProductStatus, ProductType, ProductEvents } = getProductTargetExport(props.productTarget);
7171
- const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget, ProductType });
7299
+ const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget });
7172
7300
  const { isSupportPay, getPayProviders } = usePayment({ props });
7173
7301
  const pageNumber = ref(1);
7174
7302
  const pageSize = ref(10);
@@ -7279,18 +7407,6 @@ const useProductList = (options) => {
7279
7407
  }
7280
7408
  });
7281
7409
  }
7282
- function handleClickExplain(product) {
7283
- return __async(this, null, function* () {
7284
- if (typeof props.productConfig.customClickExplainHandler === "function") {
7285
- props.productConfig.customClickExplainHandler(product);
7286
- return;
7287
- }
7288
- const url2 = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
7289
- if (url2) {
7290
- window.open(url2, "_blank");
7291
- }
7292
- });
7293
- }
7294
7410
  function getProductOrderEnabled() {
7295
7411
  return __async(this, null, function* () {
7296
7412
  if (!props.productTarget) return;
@@ -7336,10 +7452,24 @@ const useProductList = (options) => {
7336
7452
  const productTarget = props.productTarget;
7337
7453
  if (!productTarget) return;
7338
7454
  const ProductEvents2 = productTarget.ProductEvents;
7455
+ productTarget.eventEmitter.on(ProductEvents2.OnSaleProduct, refreshProductList);
7456
+ productTarget.eventEmitter.on(ProductEvents2.OffSaleProduct, refreshProductList);
7457
+ productTarget.eventEmitter.on(ProductEvents2.DeleteProduct, refreshProductList);
7458
+ productTarget.eventEmitter.on(ProductEvents2.AddProduct, refreshProductList);
7459
+ productTarget.eventEmitter.on(ProductEvents2.ChangeProduct, refreshProductList);
7460
+ productTarget.eventEmitter.on(ProductEvents2.MoveProduct, refreshProductList);
7461
+ productTarget.eventEmitter.on(ProductEvents2.ChangeProductRank, refreshProductList);
7339
7462
  productTarget.eventEmitter.on(ProductEvents2.RefreshProductList, refreshProductList);
7340
7463
  }
7341
7464
  function unbindProductEvent() {
7342
7465
  const ProductEvents2 = props.productTarget.ProductEvents;
7466
+ props.productTarget.eventEmitter.off(ProductEvents2.OnSaleProduct, refreshProductList);
7467
+ props.productTarget.eventEmitter.off(ProductEvents2.OffSaleProduct, refreshProductList);
7468
+ props.productTarget.eventEmitter.off(ProductEvents2.DeleteProduct, refreshProductList);
7469
+ props.productTarget.eventEmitter.off(ProductEvents2.AddProduct, refreshProductList);
7470
+ props.productTarget.eventEmitter.off(ProductEvents2.ChangeProduct, refreshProductList);
7471
+ props.productTarget.eventEmitter.off(ProductEvents2.MoveProduct, refreshProductList);
7472
+ props.productTarget.eventEmitter.off(ProductEvents2.ChangeProductRank, refreshProductList);
7343
7473
  props.productTarget.eventEmitter.off(ProductEvents2.RefreshProductList, refreshProductList);
7344
7474
  }
7345
7475
  function init() {
@@ -7414,11 +7544,10 @@ const useProductList = (options) => {
7414
7544
  productList,
7415
7545
  toppingProduct,
7416
7546
  onScroll: onScroll2,
7417
- handleClickExplain,
7418
7547
  openOrderList
7419
7548
  };
7420
7549
  };
7421
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
7550
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
7422
7551
  __name: "product-list",
7423
7552
  props: productListProps(),
7424
7553
  setup(__props, { expose }) {
@@ -7450,30 +7579,29 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
7450
7579
  productTotal,
7451
7580
  orderEntranceVisible,
7452
7581
  onScroll: onScroll2,
7453
- handleClickExplain,
7454
7582
  openOrderList
7455
7583
  } = useProductList({ props });
7456
7584
  expose(instance);
7457
- return { __sfc: true, props, $t, closeProductListPopup, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, instance, productListRef, productTagPanelRef, setItemRef, initialLoading, searchKeyword, activeTagId, isSearchMode, isLoading, productList, productTotal, orderEntranceVisible, onScroll: onScroll2, handleClickExplain, openOrderList, FormInput, FormTheme, Loading, ProductIconClose, ProductIconOrderEnter, ProductIconSearch, ProductIconProduct, ProductTagPanel, isMobile, ProductItem, ProductEmpty };
7585
+ return { __sfc: true, props, $t, closeProductListPopup, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, instance, productListRef, productTagPanelRef, setItemRef, initialLoading, searchKeyword, activeTagId, isSearchMode, isLoading, productList, productTotal, orderEntranceVisible, onScroll: onScroll2, openOrderList, FormInput, FormTheme, Loading, ProductIconClose, ProductIconOrderEnter, ProductIconSearch, ProductIconProduct, ProductTagPanel, isMobile, ProductItem, ProductEmpty };
7458
7586
  }
7459
7587
  });
7460
- var _sfc_render$v = function render16() {
7588
+ var _sfc_render$A = function render16() {
7461
7589
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7462
7590
  return _c("div", { ref: "productListRef", staticClass: "plv-product-list", on: { "scroll": _setup.onScroll } }, [_c("div", { staticClass: "plv-product-list__header" }, [_c("div", { staticClass: "plv-product-list__header-search-wrapper" }, [_c(_setup.FormInput, { staticClass: "plv-product-list__search-input", attrs: { "theme": _setup.FormTheme.Dark, "placeholder": _setup.$t("product.searchPlaceholder") }, model: { value: _setup.searchKeyword, callback: function($$v) {
7463
7591
  _setup.searchKeyword = $$v;
7464
7592
  }, expression: "searchKeyword" } }, [_c(_setup.ProductIconSearch, { staticClass: "plv-product-list__header-search-icon", attrs: { "slot": "prefix" }, slot: "prefix" })], 1), _setup.orderEntranceVisible ? _c("div", { staticClass: "plv-product-list__header-right", on: { "click": _setup.openOrderList } }, [_c(_setup.ProductIconOrderEnter, { staticClass: "plv-product-list__header-right-icon" }), _c("div", { staticClass: "plv-product-list__header-right-text" }, [_vm._v(" " + _vm._s(_setup.$t("product.order")) + " ")])], 1) : _vm._e(), !_setup.isMobile ? _c(_setup.ProductIconClose, { staticClass: "plv-product-list-popup__icon-close", on: { "click": _setup.closeProductListPopup } }) : _vm._e()], 1), !_setup.isSearchMode ? [_c(_setup.ProductTagPanel, { ref: "productTagPanelRef", attrs: { "product-target": _vm.productTarget }, model: { value: _setup.activeTagId, callback: function($$v) {
7465
7593
  _setup.activeTagId = $$v;
7466
7594
  }, expression: "activeTagId" } }), _c("div", { staticClass: "plv-product-list__product-total" }, [_c(_setup.ProductIconProduct, { staticClass: "plv-product-list__product-total-icon" }), _c("div", { staticClass: "plv-product-list__product-total-text" }, [_vm._v(" " + _vm._s(_setup.$t("product.num")) + ": ")]), _c("div", { staticClass: "plv-product-list__product-total-num" }, [_vm._v(" " + _vm._s(_setup.productTotal) + " ")])], 1)] : _vm._e()], 2), !_setup.initialLoading ? [_setup.productList.length ? _c("div", { staticClass: "plv-product-list__wrapper" }, _vm._l(_setup.productList, function(product, index2) {
7467
- return _c(_setup.ProductItem, { key: index2, ref: _setup.setItemRef, refInFor: true, attrs: { "product": product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "click-explain": _setup.handleClickExplain, "direct-buy": _setup.handleDirectBuy } });
7595
+ return _c(_setup.ProductItem, { key: index2, ref: _setup.setItemRef, refInFor: true, attrs: { "product": product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.handleDirectBuy } });
7468
7596
  }), 1) : _c(_setup.ProductEmpty)] : _vm._e(), _setup.isLoading ? _c("div", { staticClass: "plv-product-list__loading" }, [_c(_setup.Loading)], 1) : _vm._e()], 2);
7469
7597
  };
7470
- var _sfc_staticRenderFns$v = [];
7471
- var __component__$v = /* @__PURE__ */ normalizeComponent(
7472
- _sfc_main$v,
7473
- _sfc_render$v,
7474
- _sfc_staticRenderFns$v
7598
+ var _sfc_staticRenderFns$A = [];
7599
+ var __component__$A = /* @__PURE__ */ normalizeComponent(
7600
+ _sfc_main$A,
7601
+ _sfc_render$A,
7602
+ _sfc_staticRenderFns$A
7475
7603
  );
7476
- const ProductList = __component__$v.exports;
7604
+ const ProductList = __component__$A.exports;
7477
7605
  const productListPopupProps = () => __spreadValues(__spreadValues({}, productListProps()), popupCommonProps());
7478
7606
  const productListPopupEmits = () => ({
7479
7607
  "not-support-direct-buy": emitFunc()
@@ -7504,7 +7632,7 @@ const useProductListPopup = (options) => {
7504
7632
  emitNotSupportDirectBuy
7505
7633
  };
7506
7634
  };
7507
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
7635
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
7508
7636
  __name: "product-list-popup",
7509
7637
  props: productListPopupProps(),
7510
7638
  emits: productListPopupEmits(),
@@ -7520,19 +7648,19 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
7520
7648
  return { __sfc: true, props, emit, visible, productListRef, open, close, emitNotSupportDirectBuy, CommonPopup, productEvents, ProductList };
7521
7649
  }
7522
7650
  });
7523
- var _sfc_render$u = function render17() {
7651
+ var _sfc_render$z = function render17() {
7524
7652
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7525
7653
  return _c(_setup.CommonPopup, { attrs: { "background": "none", "show-header": false, "open-event": _setup.productEvents.OpenProductListPopup, "popup-config": _vm.popupConfig }, model: { value: _setup.visible, callback: function($$v) {
7526
7654
  _setup.visible = $$v;
7527
7655
  }, expression: "visible" } }, [_c(_setup.ProductList, _vm._b({ ref: "productListRef" }, "product-list", _setup.props, false))], 1);
7528
7656
  };
7529
- var _sfc_staticRenderFns$u = [];
7530
- var __component__$u = /* @__PURE__ */ normalizeComponent(
7531
- _sfc_main$u,
7532
- _sfc_render$u,
7533
- _sfc_staticRenderFns$u
7657
+ var _sfc_staticRenderFns$z = [];
7658
+ var __component__$z = /* @__PURE__ */ normalizeComponent(
7659
+ _sfc_main$z,
7660
+ _sfc_render$z,
7661
+ _sfc_staticRenderFns$z
7534
7662
  );
7535
- const productListPopup = __component__$u.exports;
7663
+ const productListPopup = __component__$z.exports;
7536
7664
  function createScript(t2) {
7537
7665
  const n2 = document.createElement("script");
7538
7666
  return t2 && Object.keys(t2).forEach(function(o2) {
@@ -7581,7 +7709,7 @@ function loadMaterialPlayer() {
7581
7709
  }
7582
7710
  return materialPlayerLoader;
7583
7711
  }
7584
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
7712
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7585
7713
  __name: "product-video",
7586
7714
  setup(__props, { expose }) {
7587
7715
  const product = inject("product");
@@ -7675,17 +7803,17 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
7675
7803
  return { __sfc: true, product, handleVideoPlay, handleVideoPause, ProductMediaType, materialPlayerInstance, materialPlayerRef, materialId, initMaterialPlayer, play, togglePlay, pause, paused, handlePlay, handlePause, bindPlayerEvent, unbindPlayerEvent, destroy, ProductIconVideoPlaceholder };
7676
7804
  }
7677
7805
  });
7678
- var _sfc_render$t = function render18() {
7806
+ var _sfc_render$y = function render18() {
7679
7807
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7680
7808
  return _c("div", { staticClass: "plv-product-c-video" }, [_c("div", { staticClass: "plv-product-c-video__container" }, [_setup.materialId ? _c("div", { ref: "materialPlayerRef", staticClass: "plv-product-c-video__container-material", on: { "click": _setup.togglePlay } }) : _c("div", { staticClass: "plv-product-c-video__container-placeholder" }, [_c(_setup.ProductIconVideoPlaceholder, { staticClass: "plv-product-c-video__container-placeholder-icon" })], 1)])]);
7681
7809
  };
7682
- var _sfc_staticRenderFns$t = [];
7683
- var __component__$t = /* @__PURE__ */ normalizeComponent(
7684
- _sfc_main$t,
7685
- _sfc_render$t,
7686
- _sfc_staticRenderFns$t
7810
+ var _sfc_staticRenderFns$y = [];
7811
+ var __component__$y = /* @__PURE__ */ normalizeComponent(
7812
+ _sfc_main$y,
7813
+ _sfc_render$y,
7814
+ _sfc_staticRenderFns$y
7687
7815
  );
7688
- const ProductVideo = __component__$t.exports;
7816
+ const ProductVideo = __component__$y.exports;
7689
7817
  function isObject$1(obj) {
7690
7818
  return obj !== null && typeof obj === "object" && "constructor" in obj && obj.constructor === Object;
7691
7819
  }
@@ -11580,7 +11708,7 @@ Object.keys(prototypes).forEach((prototypeGroup) => {
11580
11708
  });
11581
11709
  });
11582
11710
  Swiper.use([Resize, Observer]);
11583
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
11711
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
11584
11712
  __name: "swiper-image",
11585
11713
  emits: {
11586
11714
  "swiper-change": emitFunc()
@@ -11657,25 +11785,25 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
11657
11785
  return { __sfc: true, emit, product, swiperRef, swiperInstance, isAtBeginning, isAtEnd, activeIndex, productCoverList, handleSlideChangeTransitionEnd, slideToPrev, slideToNext, initSwiper, destroy, ProductIconImgPlaceholder };
11658
11786
  }
11659
11787
  });
11660
- var _sfc_render$s = function render19() {
11788
+ var _sfc_render$x = function render19() {
11661
11789
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11662
11790
  return _c("div", { staticClass: "plv-product-c-swiper-img" }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _setup.productCoverList.length, expression: "productCoverList.length" }], ref: "swiperRef", staticClass: "plv-product-c-swiper-img__swiper swiper" }, [_c("div", { staticClass: "swiper-wrapper" }, _vm._l(_setup.productCoverList, function(cover, index2) {
11663
11791
  return _c("div", { key: index2, staticClass: "plv-product-c-swiper-img__swiper-slide swiper-slide" }, [_c("img", { staticClass: "plv-product-c-swiper-img__slide-img", attrs: { "src": cover } })]);
11664
11792
  }), 0), _c("div", { directives: [{ name: "show", rawName: "v-show", value: !_setup.isAtBeginning, expression: "!isAtBeginning" }], staticClass: "plv-product-c-swiper-img__swiper-button-prev swiper-button-prev", on: { "click": _setup.slideToPrev } }), _c("div", { directives: [{ name: "show", rawName: "v-show", value: !_setup.isAtEnd, expression: "!isAtEnd" }], staticClass: "plv-product-c-swiper-img__swiper-button-next swiper-button-next", on: { "click": _setup.slideToNext } })]), !_setup.productCoverList.length ? _c("div", { staticClass: "plv-product-c-swiper-img__placeholder" }, [_c(_setup.ProductIconImgPlaceholder, { staticClass: "plv-product-c-swiper-img__placeholder-icon" })], 1) : _vm._e()]);
11665
11793
  };
11666
- var _sfc_staticRenderFns$s = [];
11667
- var __component__$s = /* @__PURE__ */ normalizeComponent(
11668
- _sfc_main$s,
11669
- _sfc_render$s,
11670
- _sfc_staticRenderFns$s
11794
+ var _sfc_staticRenderFns$x = [];
11795
+ var __component__$x = /* @__PURE__ */ normalizeComponent(
11796
+ _sfc_main$x,
11797
+ _sfc_render$x,
11798
+ _sfc_staticRenderFns$x
11671
11799
  );
11672
- const SwiperImage = __component__$s.exports;
11800
+ const SwiperImage = __component__$x.exports;
11673
11801
  var ProductCoverTab = /* @__PURE__ */ ((ProductCoverTab2) => {
11674
11802
  ProductCoverTab2["MaterialVideo"] = "materialVideo";
11675
11803
  ProductCoverTab2["Image"] = "image";
11676
11804
  return ProductCoverTab2;
11677
11805
  })(ProductCoverTab || {});
11678
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
11806
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
11679
11807
  __name: "switch-tab",
11680
11808
  props: {
11681
11809
  value: PropUtils.enum().def(ProductCoverTab.Image),
@@ -11721,7 +11849,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
11721
11849
  return { __sfc: true, props, emit, $t, product, ProductMediaType, displayTabs, imgCountVisible, swiperImageTotalCount, onTabClick, ProductCoverTab };
11722
11850
  }
11723
11851
  });
11724
- var _sfc_render$r = function render20() {
11852
+ var _sfc_render$w = function render20() {
11725
11853
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11726
11854
  return _c("div", { staticClass: "plv-product-c-switch-tab" }, [_c("div", { staticClass: "plv-product-c-switch-tab__block" }, _vm._l(_setup.displayTabs, function(tab, index2) {
11727
11855
  return _c("div", { key: index2, class: [
@@ -11732,14 +11860,14 @@ var _sfc_render$r = function render20() {
11732
11860
  } } }, [_vm._v(" " + _vm._s(tab.label) + " "), _setup.imgCountVisible && tab.value === _setup.ProductCoverTab.Image ? _c("span", [_vm._v(_vm._s(_vm.activeSwiperIndex + 1) + "/" + _vm._s(_setup.swiperImageTotalCount))]) : _vm._e()]);
11733
11861
  }), 0)]);
11734
11862
  };
11735
- var _sfc_staticRenderFns$r = [];
11736
- var __component__$r = /* @__PURE__ */ normalizeComponent(
11737
- _sfc_main$r,
11738
- _sfc_render$r,
11739
- _sfc_staticRenderFns$r
11863
+ var _sfc_staticRenderFns$w = [];
11864
+ var __component__$w = /* @__PURE__ */ normalizeComponent(
11865
+ _sfc_main$w,
11866
+ _sfc_render$w,
11867
+ _sfc_staticRenderFns$w
11740
11868
  );
11741
- const SwitchTab = __component__$r.exports;
11742
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
11869
+ const SwitchTab = __component__$w.exports;
11870
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
11743
11871
  __name: "product-cover",
11744
11872
  setup(__props, { expose }) {
11745
11873
  const { ProductType, ProductMediaType } = useProductInject();
@@ -11769,21 +11897,21 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
11769
11897
  return { __sfc: true, ProductType, ProductMediaType, product, productVideoRef, activeTab, currentSwiperIndex, productVideoVisible, swiperImageVisible, handleSwiperChange, initActiveTab, ProductVideo, SwiperImage, SwitchTab };
11770
11898
  }
11771
11899
  });
11772
- var _sfc_render$q = function render21() {
11900
+ var _sfc_render$v = function render21() {
11773
11901
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11774
11902
  return _c("div", { staticClass: "plv-product-c-detail-cover" }, [_c("div", { staticClass: "plv-product-c-detail-cover__container" }, [_setup.productVideoVisible ? _c(_setup.ProductVideo, { ref: "productVideoRef" }) : _vm._e(), _setup.swiperImageVisible ? _c(_setup.SwiperImage, { on: { "swiper-change": _setup.handleSwiperChange } }) : _vm._e(), _setup.product && _setup.product.productType === _setup.ProductType.Normal ? [_c(_setup.SwitchTab, { staticClass: "plv-product-c-detail-cover__switch-tab", attrs: { "active-swiper-index": _setup.currentSwiperIndex }, model: { value: _setup.activeTab, callback: function($$v) {
11775
11903
  _setup.activeTab = $$v;
11776
11904
  }, expression: "activeTab" } })] : _vm._e()], 2)]);
11777
11905
  };
11778
- var _sfc_staticRenderFns$q = [];
11779
- var __component__$q = /* @__PURE__ */ normalizeComponent(
11780
- _sfc_main$q,
11781
- _sfc_render$q,
11782
- _sfc_staticRenderFns$q
11906
+ var _sfc_staticRenderFns$v = [];
11907
+ var __component__$v = /* @__PURE__ */ normalizeComponent(
11908
+ _sfc_main$v,
11909
+ _sfc_render$v,
11910
+ _sfc_staticRenderFns$v
11783
11911
  );
11784
- const ProductCover = __component__$q.exports;
11912
+ const ProductCover = __component__$v.exports;
11785
11913
  const emptyImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAB6CAMAAAC/Z0whAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAEdUExURUdwTOLl6eHl6OHl6OHl6N/f39vb/+Hl6Nvn5+Pj4////9/n5+Ll6eHl6OHh8ODl6OHk6OHk6OHk6OHl6OHl6ODj5+Hl6OLl6OHl6eLl6N/v7+Hk6OHl6OHl6N/j59/k5ODl6OHm6Ofn5+Lm6OHk6ID//+Hm6ODk6N/f5+Lm6Kqqqt3d3eHl6OHl6ODl59X//+Ll6OHl5+Dl59XV/9/l6ODk6OLl6eDl6OHl6ODl6ODm6OLl6N/j59vb2+Hm6dv//+Ll6OLm6Obm5uDk597m5t3u7uDk59/f6uHh4eDk6OHl6OHh5eHl6OHm6OHk6OHl5+Pn56r//+Hl6eHl6N/k5+Lm6eLm6P///+Tk8uLm6t/j5uHl6P///+Dk6OHl6OuQ0K0AAABedFJOUwDk9t/4EAf7FRICIJ/8Ed/vj5D+6UrG6n6TEEznz0AwpaQVg0MCj78gvwMPuf3qBsiAlQZYyJXo6+paWYEH5wdX6hS1Hw/5GBH6sUW7tbPtQANE7GBHhAQTPkizA4TQtmeQAAABv0lEQVRo3u3bV1PCQBQF4KsYS4L0XhUQELD33nvvff//z1BH3Sw8wIRkNzPOOU9LXr6ZDEnuw7lEf5mKJmMrw8z5DE/GktE5ak0qEWEyE0mkmsH5DJOdzLbg6UGmIsExDo4wNRnVf8UQU5XQD7jK1GXtG/QtKRQ3fV/iOlOZGaKtuHgh3Ot8msT4BqUFbu/6oK45nbr28hY2kTQtmj+KNZKT2odJztI0P1/ckKy8N7iyQMv8fEvy8sqVHZrg54JE8dn8khA/DuxKFH0n3BHEQYniUB9EiBAhQoT4P0TN67cyiQbGDZui4bE8/ubsiV7rA7fHnpjtYsav2hL9XYh5W2JZ+V3VrP9z7m0+HYbXkhmo5PDOgQgRIkSIEJXOq21nU1nzas55scO8mnVe7DSvao6LfuViudvZVNa8akh4OtrMq4FKHu8ciBAhQoQIESJEiBAhQoQIESJEiBCt5fjQFM2m5ZFEsSA0Lc02aUmi+CC0Sc3GbEMe+HQuNGaFVvCjLgnUi0xoBQvNZ3Z6Vu13PvulSyY2n5vb3Vc9zueupd2tvsHuQktf/SaCC9sWLmyUqN+aIfWbQeTC9hOp2/D6BHYmXfeKZbzGAAAAAElFTkSuQmCC";
11786
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
11914
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
11787
11915
  __name: "product-info",
11788
11916
  setup(__props) {
11789
11917
  const { ProductType } = useProductInject();
@@ -11799,19 +11927,19 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
11799
11927
  return { __sfc: true, ProductType, product, $t, title, isMobile, ProductPrice, ProductFeatureTag, ProductTitle, emptyImage };
11800
11928
  }
11801
11929
  });
11802
- var _sfc_render$p = function render22() {
11930
+ var _sfc_render$u = function render22() {
11803
11931
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11804
11932
  return _setup.product ? _c("div", { staticClass: "plv-product-c-product-info" }, [_setup.product.productType === _setup.ProductType.Normal ? _c(_setup.ProductPrice, { staticClass: "plv-product-c-product-info__price", attrs: { "product": _setup.product } }) : _setup.product.productType === _setup.ProductType.Position ? _c("div", { staticClass: "plv-product-c-product-info__treatment" }, [_vm._v(" " + _vm._s(_setup.product.treatment) + " ")]) : _vm._e(), _setup.product.featureTags.length ? _c("div", { staticClass: "plv-product-c-product-info__tags" }, _vm._l(_setup.product.featureTags, function(tag, index2) {
11805
11933
  return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
11806
11934
  }), 1) : _vm._e(), _c("div", { staticClass: "plv-product-c-product-info__content" }, [_c(_setup.ProductTitle, { attrs: { "title": _setup.product.name, "use-expand": _setup.product.productType === _setup.ProductType.Normal } }), _setup.product.description ? _c("div", { staticClass: "plv-product-c-product-info__content-desc" }, [_vm._v(" " + _vm._s(_setup.product.description) + " ")]) : _vm._e()], 1), _c("div", { staticClass: "plv-product-c-product-info__detail", class: { "plv-product-c-product-info__detail--mobile": _setup.isMobile } }, [_c("div", { staticClass: "plv-product-c-product-info__detail-label" }, [_vm._v(" " + _vm._s(_setup.title) + " ")]), _setup.product.detail ? _c("div", { staticClass: "plv-product-c-product-info__detail-text", domProps: { "innerHTML": _vm._s(_setup.product.detail) } }) : _c("div", { staticClass: "plv-product-c-product-info__detail-empty" }, [_c("img", { staticClass: "plv-product-c-product-info__detail-empty-icon", attrs: { "src": _setup.emptyImage, "alt": "empty" } }), _c("span", [_vm._v(_vm._s(_setup.$t("product.empty")))])])])], 1) : _vm._e();
11807
11935
  };
11808
- var _sfc_staticRenderFns$p = [];
11809
- var __component__$p = /* @__PURE__ */ normalizeComponent(
11810
- _sfc_main$p,
11811
- _sfc_render$p,
11812
- _sfc_staticRenderFns$p
11936
+ var _sfc_staticRenderFns$u = [];
11937
+ var __component__$u = /* @__PURE__ */ normalizeComponent(
11938
+ _sfc_main$u,
11939
+ _sfc_render$u,
11940
+ _sfc_staticRenderFns$u
11813
11941
  );
11814
- const ProductInfo = __component__$p.exports;
11942
+ const ProductInfo = __component__$u.exports;
11815
11943
  const productDetailProps = () => __spreadProps(__spreadValues({}, productProps()), {
11816
11944
  paymentTarget: PropUtils.object().isRequired
11817
11945
  });
@@ -11874,7 +12002,7 @@ const useProductDetail = (options) => {
11874
12002
  handleVideoPause
11875
12003
  };
11876
12004
  };
11877
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
12005
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
11878
12006
  __name: "product-detail",
11879
12007
  props: productDetailProps(),
11880
12008
  emits: productDetailEmits(),
@@ -11885,6 +12013,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
11885
12013
  });
11886
12014
  const { handleDirectBuy, getPayProviders } = useProductDirectBuy({ props, emitNotSupportDirectBuy });
11887
12015
  const { $t } = useI18n();
12016
+ const { isHorizontalScreenOrientation } = useScreenOrientHook();
11888
12017
  const { productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut } = useProductDetail({ props, emit });
11889
12018
  onMounted(() => {
11890
12019
  getPayProviders();
@@ -11893,27 +12022,28 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
11893
12022
  provide("handleVideoPlay", handleVideoPlay);
11894
12023
  provide("handleVideoPause", handleVideoPause);
11895
12024
  expose(instance);
11896
- return { __sfc: true, props, emit, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, $t, productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut, isMobile, ProductCover, ProductInfo, ProductButton };
12025
+ return { __sfc: true, props, emit, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, $t, isHorizontalScreenOrientation, productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut, isMobile, ProductCover, ProductInfo, ProductButton };
11897
12026
  }
11898
12027
  });
11899
- var _sfc_render$o = function render23() {
12028
+ var _sfc_render$t = function render23() {
11900
12029
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11901
12030
  return _setup.product ? _c("div", { staticClass: "plv-product-detail-container", class: {
11902
12031
  "plv-product-detail-container--mobile": _setup.isMobile,
11903
- "plv-product-detail-container--pc": !_setup.isMobile
12032
+ "plv-product-detail-container--pc": !_setup.isMobile,
12033
+ "plv-product-common-popup--horizontal-screen": _setup.isHorizontalScreenOrientation
11904
12034
  } }, [_c("div", { staticClass: "plv-product-detail-container__content" }, [_setup.productCoverVisible ? _c(_setup.ProductCover, { ref: "productCoverRef" }) : _setup.product.productType === _setup.ProductType.Position ? _c("div", { staticClass: "plv-product-detail-container__content-title" }, [_vm._v(" " + _vm._s(_setup.$t("product.detail.job")) + " ")]) : _vm._e(), _c(_setup.ProductInfo)], 1), _c("div", { staticClass: "plv-product-detail-container__footer" }, [_vm._t("footer", function() {
11905
12035
  return [_c(_setup.ProductButton, { attrs: { "product-data": _setup.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.handleDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
11906
12036
  return [_c("button", { staticClass: "plv-product-detail-container__footer-button", class: { "plv-product-detail-container__footer-button--disabled": disabled } }, [_vm._v(" " + _vm._s(_setup.isSoldOut ? _setup.$t("product.stock.soldOut") : buttonText) + " ")])];
11907
12037
  } }], null, false, 618492075) })];
11908
12038
  })], 2)]) : _vm._e();
11909
12039
  };
11910
- var _sfc_staticRenderFns$o = [];
11911
- var __component__$o = /* @__PURE__ */ normalizeComponent(
11912
- _sfc_main$o,
11913
- _sfc_render$o,
11914
- _sfc_staticRenderFns$o
12040
+ var _sfc_staticRenderFns$t = [];
12041
+ var __component__$t = /* @__PURE__ */ normalizeComponent(
12042
+ _sfc_main$t,
12043
+ _sfc_render$t,
12044
+ _sfc_staticRenderFns$t
11915
12045
  );
11916
- const ProductDetail = __component__$o.exports;
12046
+ const ProductDetail = __component__$t.exports;
11917
12047
  const productDetailPopupProps = () => __spreadProps(__spreadValues(__spreadValues({}, productDirectBuyProps()), popupCommonProps()), {
11918
12048
  /** 商品配置 */
11919
12049
  productConfig: PropUtils.object().def({})
@@ -11935,8 +12065,10 @@ const useProductDetailPopup = (options) => {
11935
12065
  var _a;
11936
12066
  (_a = productVideoRef.value) == null ? void 0 : _a.pause();
11937
12067
  }
11938
- function open() {
12068
+ function open(productId) {
11939
12069
  return __async(this, null, function* () {
12070
+ var _a;
12071
+ yield (_a = productDetailRef.value) == null ? void 0 : _a.init(productId);
11940
12072
  visible.value = true;
11941
12073
  yield nextTick$1();
11942
12074
  if (commonPopupRef.value) {
@@ -11952,9 +12084,7 @@ const useProductDetailPopup = (options) => {
11952
12084
  emit("not-support-direct-buy", product);
11953
12085
  }
11954
12086
  useEventBusListener(productEvents.OpenProductDetailPopup, (productData) => {
11955
- var _a;
11956
- (_a = productDetailRef.value) == null ? void 0 : _a.init(productData.productId);
11957
- open();
12087
+ open(productData.productId);
11958
12088
  });
11959
12089
  useEventBusListener(productEvents.CloseProductDetailPopup, () => {
11960
12090
  close();
@@ -11972,7 +12102,7 @@ const useProductDetailPopup = (options) => {
11972
12102
  emitNotSupportDirectBuy
11973
12103
  };
11974
12104
  };
11975
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
12105
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
11976
12106
  __name: "product-detail-popup",
11977
12107
  props: productDetailPopupProps(),
11978
12108
  emits: productDetailPopupEmits(),
@@ -11999,19 +12129,19 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
11999
12129
  return { __sfc: true, props, emit, visible, commonPopupRef, productVideoRef, productDetailRef, open, close, onPlay, onPause, pauseVideo, emitNotSupportDirectBuy, CommonPopup, ProductDetail, productEvents, isMobile, ProductIconClose };
12000
12130
  }
12001
12131
  });
12002
- var _sfc_render$n = function render24() {
12132
+ var _sfc_render$s = function render24() {
12003
12133
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12004
12134
  return _c(_setup.CommonPopup, { ref: "commonPopupRef", attrs: { "show-header": false, "background": "#f7f8fa", "open-event": _setup.productEvents.OpenProductDetailPopup, "enable-dynamic-height": _setup.isMobile, "popup-config": _vm.popupConfig }, on: { "after-leave": _setup.pauseVideo }, model: { value: _setup.visible, callback: function($$v) {
12005
12135
  _setup.visible = $$v;
12006
12136
  }, expression: "visible" } }, [_c(_setup.ProductDetail, _vm._b({ ref: "productDetailRef", on: { "play": _setup.onPlay, "pause": _setup.onPause } }, "product-detail", _setup.props, false)), _c("div", { staticClass: "plv-product-detail-popup__close", on: { "click": _setup.close } }, [_c(_setup.ProductIconClose, { staticClass: "plv-product-detail-popup__icon-close" })], 1)], 1);
12007
12137
  };
12008
- var _sfc_staticRenderFns$n = [];
12009
- var __component__$n = /* @__PURE__ */ normalizeComponent(
12010
- _sfc_main$n,
12011
- _sfc_render$n,
12012
- _sfc_staticRenderFns$n
12138
+ var _sfc_staticRenderFns$s = [];
12139
+ var __component__$s = /* @__PURE__ */ normalizeComponent(
12140
+ _sfc_main$s,
12141
+ _sfc_render$s,
12142
+ _sfc_staticRenderFns$s
12013
12143
  );
12014
- const productDetailPopup = __component__$n.exports;
12144
+ const productDetailPopup = __component__$s.exports;
12015
12145
  var OrderButtonAction = /* @__PURE__ */ ((OrderButtonAction2) => {
12016
12146
  OrderButtonAction2["ApplyRefund"] = "applyRefund";
12017
12147
  OrderButtonAction2["Pay"] = "pay";
@@ -12243,7 +12373,7 @@ const useScrollTab = () => {
12243
12373
  scrollToTabByValue
12244
12374
  };
12245
12375
  };
12246
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
12376
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
12247
12377
  __name: "order-status-tab",
12248
12378
  props: {
12249
12379
  value: PropUtils.string.def("all")
@@ -12286,7 +12416,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
12286
12416
  return { __sfc: true, emit, OrderStatus, getOrderStatusText, $t, tabContainerRef, setTabItemRef, scrollToTabAsync, scrollToTabByValue, targetOrderStatuses, orderStatusTabs, onClickTab, scrollToTabByTabValue };
12287
12417
  }
12288
12418
  });
12289
- var _sfc_render$m = function render25() {
12419
+ var _sfc_render$r = function render25() {
12290
12420
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12291
12421
  return _c("div", { ref: "tabContainerRef", staticClass: "plv-product-c-order-status-tab" }, _vm._l(_setup.orderStatusTabs, function(tab, index2) {
12292
12422
  return _c("div", { key: index2, ref: (el) => _setup.setTabItemRef(el, index2), refInFor: true, class: [
@@ -12297,14 +12427,14 @@ var _sfc_render$m = function render25() {
12297
12427
  } } }, [_vm._v(" " + _vm._s(tab.label) + " ")]);
12298
12428
  }), 0);
12299
12429
  };
12300
- var _sfc_staticRenderFns$m = [];
12301
- var __component__$m = /* @__PURE__ */ normalizeComponent(
12302
- _sfc_main$m,
12303
- _sfc_render$m,
12304
- _sfc_staticRenderFns$m
12430
+ var _sfc_staticRenderFns$r = [];
12431
+ var __component__$r = /* @__PURE__ */ normalizeComponent(
12432
+ _sfc_main$r,
12433
+ _sfc_render$r,
12434
+ _sfc_staticRenderFns$r
12305
12435
  );
12306
- const OrderStatusTab = __component__$m.exports;
12307
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
12436
+ const OrderStatusTab = __component__$r.exports;
12437
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
12308
12438
  __name: "order-pay-countdown",
12309
12439
  props: {
12310
12440
  endTime: PropUtils.number.isRequired
@@ -12352,18 +12482,18 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
12352
12482
  return { __sfc: true, props, emit, timeStr, intervalId, clearCountdown, formattedTime };
12353
12483
  }
12354
12484
  });
12355
- var _sfc_render$l = function render26() {
12485
+ var _sfc_render$q = function render26() {
12356
12486
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12357
12487
  return _c("span", [_vm._v(_vm._s(_setup.timeStr))]);
12358
12488
  };
12359
- var _sfc_staticRenderFns$l = [];
12360
- var __component__$l = /* @__PURE__ */ normalizeComponent(
12361
- _sfc_main$l,
12362
- _sfc_render$l,
12363
- _sfc_staticRenderFns$l
12489
+ var _sfc_staticRenderFns$q = [];
12490
+ var __component__$q = /* @__PURE__ */ normalizeComponent(
12491
+ _sfc_main$q,
12492
+ _sfc_render$q,
12493
+ _sfc_staticRenderFns$q
12364
12494
  );
12365
- const OrderPayCountdown = __component__$l.exports;
12366
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
12495
+ const OrderPayCountdown = __component__$q.exports;
12496
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12367
12497
  __name: "purchase-product",
12368
12498
  props: {
12369
12499
  product: PropUtils.object().isRequired
@@ -12384,20 +12514,20 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
12384
12514
  return { __sfc: true, props, $t, displayTotalPrice, emit, onOrderProductClick, ProductFeatureTag };
12385
12515
  }
12386
12516
  });
12387
- var _sfc_render$k = function render27() {
12517
+ var _sfc_render$p = function render27() {
12388
12518
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12389
12519
  return _c("div", { staticClass: "plv-product-c-purchase-product", on: { "click": _setup.onOrderProductClick } }, [_c("img", { staticClass: "plv-product-c-purchase-product__image", attrs: { "src": _vm.product.cover, "alt": _vm.product.name } }), _c("div", { staticClass: "plv-product-c-purchase-product__info" }, [_c("div", { staticClass: "plv-product-c-purchase-product__name" }, [_vm._v(" " + _vm._s(_vm.product.name) + " ")]), _vm.product.featureTags ? _c("div", { staticClass: "plv-product-c-purchase-product__tags" }, _vm._l(_vm.product.featureTags, function(tag, index2) {
12390
12520
  return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
12391
12521
  }), 1) : _vm._e(), _vm.product.description ? _c("div", { staticClass: "plv-product-c-purchase-product__description" }, [_vm._v(" " + _vm._s(_vm.product.description) + " ")]) : _vm._e(), _c("div", { staticClass: "plv-product-c-purchase-product__price" }, [_vm.product.realPrice > 0 ? _c("span", { staticClass: "plv-product-c-purchase-product__price-symbol" }, [_vm._v("¥")]) : _vm._e(), _c("span", { staticClass: "plv-product-c-purchase-product__price-value plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.displayTotalPrice))])])])]);
12392
12522
  };
12393
- var _sfc_staticRenderFns$k = [];
12394
- var __component__$k = /* @__PURE__ */ normalizeComponent(
12395
- _sfc_main$k,
12396
- _sfc_render$k,
12397
- _sfc_staticRenderFns$k
12523
+ var _sfc_staticRenderFns$p = [];
12524
+ var __component__$p = /* @__PURE__ */ normalizeComponent(
12525
+ _sfc_main$p,
12526
+ _sfc_render$p,
12527
+ _sfc_staticRenderFns$p
12398
12528
  );
12399
- const PurchaseProduct = __component__$k.exports;
12400
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
12529
+ const PurchaseProduct = __component__$p.exports;
12530
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
12401
12531
  __name: "order-item",
12402
12532
  props: {
12403
12533
  order: PropUtils.object().isRequired
@@ -12426,7 +12556,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
12426
12556
  return { __sfc: true, props, emit, OrderStatus, getOrderStatusText, ProductDeliveryType, getEmitter, $t, shouldHighlightStatusText, handleCountDownEnd, onOrderProductClick, onOrderBtnClick, OrderPayCountdown, PurchaseProduct, OrderButtonAction };
12427
12557
  }
12428
12558
  });
12429
- var _sfc_render$j = function render28() {
12559
+ var _sfc_render$o = function render28() {
12430
12560
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12431
12561
  return _c("div", { staticClass: "plv-product-order-item" }, [_c("div", { staticClass: "plv-product-order-item__main" }, _vm._l(_vm.order.products, function(product, index2) {
12432
12562
  return _c(_setup.PurchaseProduct, { key: index2, attrs: { "product": product }, on: { "click-purchase-product": _setup.onOrderProductClick } });
@@ -12440,13 +12570,13 @@ var _sfc_render$j = function render28() {
12440
12570
  return _setup.onOrderBtnClick(_setup.OrderButtonAction.ConfirmReceipt);
12441
12571
  } } }, [_vm._v(" " + _vm._s(_setup.$t("order.list.deliveringBtnText")) + " ")]) : _vm._e()])])])]);
12442
12572
  };
12443
- var _sfc_staticRenderFns$j = [];
12444
- var __component__$j = /* @__PURE__ */ normalizeComponent(
12445
- _sfc_main$j,
12446
- _sfc_render$j,
12447
- _sfc_staticRenderFns$j
12573
+ var _sfc_staticRenderFns$o = [];
12574
+ var __component__$o = /* @__PURE__ */ normalizeComponent(
12575
+ _sfc_main$o,
12576
+ _sfc_render$o,
12577
+ _sfc_staticRenderFns$o
12448
12578
  );
12449
- const OrderItem = __component__$j.exports;
12579
+ const OrderItem = __component__$o.exports;
12450
12580
  const orderListProps = () => __spreadValues({}, orderProps());
12451
12581
  const useOrderList = (options) => {
12452
12582
  const { props } = options;
@@ -12512,7 +12642,7 @@ const useOrderList = (options) => {
12512
12642
  refreshOrderData
12513
12643
  };
12514
12644
  };
12515
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
12645
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
12516
12646
  __name: "order-list",
12517
12647
  props: orderListProps(),
12518
12648
  setup(__props, { expose }) {
@@ -12527,7 +12657,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
12527
12657
  return { __sfc: true, props, $t, activeTab, scrollRef, orderList, instance, onScroll: onScroll2, navToOrderDetail, handleOrderBtnClick, getPayProviders, OrderStatusTab, OrderItem, ProductIconOrderEmpty };
12528
12658
  }
12529
12659
  });
12530
- var _sfc_render$i = function render29() {
12660
+ var _sfc_render$n = function render29() {
12531
12661
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12532
12662
  return _c("div", { ref: "scrollRef", staticClass: "plv-product-order-list", on: { "scroll": _setup.onScroll } }, [_c(_setup.OrderStatusTab, { staticClass: "plv-product-order-list__status-tab", model: { value: _setup.activeTab, callback: function($$v) {
12533
12663
  _setup.activeTab = $$v;
@@ -12535,14 +12665,14 @@ var _sfc_render$i = function render29() {
12535
12665
  return _c(_setup.OrderItem, { key: index2, attrs: { "order": order2 }, on: { "click-purchase-product": _setup.navToOrderDetail, "click-order-btn": _setup.handleOrderBtnClick } });
12536
12666
  }) : _c("div", { staticClass: "plv-product-order-list__empty" }, [_c(_setup.ProductIconOrderEmpty, { staticClass: "plv-product-order-list__empty-icon" }), _c("div", { staticClass: "plv-product-order-list__empty-text" }, [_vm._v(" " + _vm._s(_setup.$t("order.list.emptyText")) + " ")])], 1)], 2)], 1);
12537
12667
  };
12538
- var _sfc_staticRenderFns$i = [];
12539
- var __component__$i = /* @__PURE__ */ normalizeComponent(
12540
- _sfc_main$i,
12541
- _sfc_render$i,
12542
- _sfc_staticRenderFns$i
12668
+ var _sfc_staticRenderFns$n = [];
12669
+ var __component__$n = /* @__PURE__ */ normalizeComponent(
12670
+ _sfc_main$n,
12671
+ _sfc_render$n,
12672
+ _sfc_staticRenderFns$n
12543
12673
  );
12544
- const OrderList = __component__$i.exports;
12545
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
12674
+ const OrderList = __component__$n.exports;
12675
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
12546
12676
  __name: "pay-status",
12547
12677
  setup(__props) {
12548
12678
  const { getEmitter } = useGlobalInject();
@@ -12556,19 +12686,19 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
12556
12686
  return { __sfc: true, getEmitter, $t, getOrderStatusText, OrderStatus, orderDetail, orderNo, handleCountDownEnd, OrderPayCountdown };
12557
12687
  }
12558
12688
  });
12559
- var _sfc_render$h = function render30() {
12689
+ var _sfc_render$m = function render30() {
12560
12690
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12561
12691
  return _setup.orderDetail ? _c("div", { staticClass: "plv-product-c-pay-status" }, [_c("span", { staticClass: "plv-product-c-pay-status__text" }, [_vm._v(" " + _vm._s(_setup.getOrderStatusText(_setup.orderDetail.status)) + " ")]), _c("div", { staticClass: "plv-product-c-pay-status__actions" }, [_setup.orderDetail.status === _setup.OrderStatus.WaitPay ? _c("div", [_c(_setup.OrderPayCountdown, { attrs: { "end-time": _setup.orderDetail.expiredAt }, on: { "count-down-end": _setup.handleCountDownEnd } }), _c("span", [_vm._v(_vm._s(_setup.$t("order.detail.payAutoCancel")))])], 1) : _setup.orderDetail.status === _setup.OrderStatus.Close ? _c("div", [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.cancelReason")))]), _c("span", [_vm._v(": ")]), _c("span", [_vm._v(_vm._s(_setup.$t("order.detail.payTimeOut")))])]) : _setup.orderDetail.status === _setup.OrderStatus.Refunded ? _c("div", [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.refundTips")))])]) : _vm._e()])]) : _vm._e();
12562
12692
  };
12563
- var _sfc_staticRenderFns$h = [];
12564
- var __component__$h = /* @__PURE__ */ normalizeComponent(
12565
- _sfc_main$h,
12566
- _sfc_render$h,
12567
- _sfc_staticRenderFns$h
12693
+ var _sfc_staticRenderFns$m = [];
12694
+ var __component__$m = /* @__PURE__ */ normalizeComponent(
12695
+ _sfc_main$m,
12696
+ _sfc_render$m,
12697
+ _sfc_staticRenderFns$m
12568
12698
  );
12569
- const PayStatus = __component__$h.exports;
12699
+ const PayStatus = __component__$m.exports;
12570
12700
  const qrcodeExpiredImage = "data:image/png;base64,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";
12571
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
12701
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
12572
12702
  __name: "customer-qrcode",
12573
12703
  setup(__props) {
12574
12704
  const { $t } = useI18n();
@@ -12583,18 +12713,18 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
12583
12713
  return { __sfc: true, $t, orderDetail, customerServiceTips, qrcodeExpiredImage };
12584
12714
  }
12585
12715
  });
12586
- var _sfc_render$g = function render31() {
12716
+ var _sfc_render$l = function render31() {
12587
12717
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12588
12718
  return _c("div", { staticClass: "plv-product-c-customer-qrcode" }, [_c("div", { staticClass: "plv-product-c-customer-qrcode__img-wrap" }, [_setup.orderDetail && _setup.orderDetail.products[0].customerServiceContact ? [_c("img", { staticClass: "plv-product-c-customer-qrcode__img", attrs: { "src": _setup.orderDetail.products[0].customerServiceContact } })] : [_c("img", { staticClass: "plv-product-c-customer-qrcode__img--expired", attrs: { "src": _setup.qrcodeExpiredImage, "alt": "expired" } }), _c("span", { staticClass: "plv-product-c-customer-qrcode__img-text" }, [_vm._v(" " + _vm._s(_setup.$t("order.detail.expired")) + " ")])]], 2), _c("span", { staticClass: "plv-product-c-customer-qrcode__tips" }, [_vm._v(_vm._s(_setup.customerServiceTips))])]);
12589
12719
  };
12590
- var _sfc_staticRenderFns$g = [];
12591
- var __component__$g = /* @__PURE__ */ normalizeComponent(
12592
- _sfc_main$g,
12593
- _sfc_render$g,
12594
- _sfc_staticRenderFns$g
12720
+ var _sfc_staticRenderFns$l = [];
12721
+ var __component__$l = /* @__PURE__ */ normalizeComponent(
12722
+ _sfc_main$l,
12723
+ _sfc_render$l,
12724
+ _sfc_staticRenderFns$l
12595
12725
  );
12596
- const CustomerQrcode = __component__$g.exports;
12597
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
12726
+ const CustomerQrcode = __component__$l.exports;
12727
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
12598
12728
  __name: "address-item",
12599
12729
  props: {
12600
12730
  addressInfo: PropUtils.object().isRequired
@@ -12610,18 +12740,18 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
12610
12740
  return { __sfc: true, props, emit, onClick: onClick2, maskChars };
12611
12741
  }
12612
12742
  });
12613
- var _sfc_render$f = function render32() {
12743
+ var _sfc_render$k = function render32() {
12614
12744
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12615
12745
  return _c("div", { staticClass: "plv-product-address-item", on: { "click": _setup.onClick } }, [_c("div", { staticClass: "plv-product-address-item__top" }, [_c("div", { staticClass: "plv-product-address-item__content" }, [_c("div", { staticClass: "plv-product-address-item__header" }, [_c("span", [_vm._v(_vm._s(_vm.addressInfo.name))]), _c("span", { staticClass: "plv-product-address-item__header-phone" }, [_vm._v(_vm._s(_setup.maskChars(_vm.addressInfo.mobile, { start: 3, end: 6 })))])]), _c("div", { staticClass: "plv-product-address-item__address" }, [_vm._v(" " + _vm._s(_vm.addressInfo.address) + " ")])]), _vm.$slots.icon ? _c("div", { staticClass: "plv-product-address-item__icon-wrapper" }, [_vm._t("icon")], 2) : _vm._e()]), _vm._t("action")], 2);
12616
12746
  };
12617
- var _sfc_staticRenderFns$f = [];
12618
- var __component__$f = /* @__PURE__ */ normalizeComponent(
12619
- _sfc_main$f,
12620
- _sfc_render$f,
12621
- _sfc_staticRenderFns$f
12747
+ var _sfc_staticRenderFns$k = [];
12748
+ var __component__$k = /* @__PURE__ */ normalizeComponent(
12749
+ _sfc_main$k,
12750
+ _sfc_render$k,
12751
+ _sfc_staticRenderFns$k
12622
12752
  );
12623
- const AddressItem = __component__$f.exports;
12624
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
12753
+ const AddressItem = __component__$k.exports;
12754
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
12625
12755
  __name: "express-info",
12626
12756
  setup(__props) {
12627
12757
  const orderDetail = inject("orderDetail");
@@ -12629,20 +12759,20 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
12629
12759
  return { __sfc: true, orderDetail, $t, maskChars, AddressItem };
12630
12760
  }
12631
12761
  });
12632
- var _sfc_render$e = function render33() {
12762
+ var _sfc_render$j = function render33() {
12633
12763
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12634
12764
  return _setup.orderDetail ? _c("div", [_setup.orderDetail.expressEnabled ? _c(_setup.AddressItem, { staticClass: "plv-product-c-express-info", attrs: { "address-info": _setup.orderDetail.expressInfo } }) : _c("div", { staticClass: "plv-product-c-phone-info" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.phone")))]), _c("span", { staticClass: "plv-product-c-phone-info__text" }, [_vm._v(_vm._s(_setup.maskChars(_setup.orderDetail.expressInfo.mobile, { start: 3, end: 4 })))])])], 1) : _vm._e();
12635
12765
  };
12636
- var _sfc_staticRenderFns$e = [];
12637
- var __component__$e = /* @__PURE__ */ normalizeComponent(
12638
- _sfc_main$e,
12639
- _sfc_render$e,
12640
- _sfc_staticRenderFns$e
12766
+ var _sfc_staticRenderFns$j = [];
12767
+ var __component__$j = /* @__PURE__ */ normalizeComponent(
12768
+ _sfc_main$j,
12769
+ _sfc_render$j,
12770
+ _sfc_staticRenderFns$j
12641
12771
  );
12642
- const ExpressInfo = __component__$e.exports;
12772
+ const ExpressInfo = __component__$j.exports;
12643
12773
  const IconWechat = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='none'%20version='1.1'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cdefs%3e%3cclipPath%20id='master_svg0_1_31044'%3e%3crect%20x='0'%20y='0'%20width='24'%20height='24'%20rx='0'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23master_svg0_1_31044)'%3e%3cg%3e%3cpath%20d='M7.9075653125,8.011559448241844C7.4913803125000005,8.011559448241844,7.0751953125,8.289016532714843,7.0751953125,8.705201532714844C7.0751953125,9.121388532714844,7.4913803125000005,9.398838532714844,7.9075653125,9.398838532714844C8.3237453125,9.398838532714844,8.6012053125,9.121388532714844,8.6012053125,8.705201532714844C8.6012053125,8.271675532714843,8.3237453125,8.011559448241844,7.9075653125,8.011559448241844ZM13.5434053125,12.034678532714842C13.265945312500001,12.034678532714842,13.0058353125,12.329478532714845,13.0058353125,12.589588532714844C13.0058353125,12.884388532714844,13.2832853125,13.144508532714845,13.5434053125,13.144508532714845C13.9595853125,13.144508532714845,14.237045312500001,12.867048532714843,14.237045312500001,12.589588532714844C14.237045312500001,12.312138532714844,13.9595853125,12.034678532714842,13.5434053125,12.034678532714842ZM11.7572753125,9.398838532714844C12.1734653125,9.398838532714844,12.450915312500001,9.104048532714843,12.450915312500001,8.705200532714844C12.450915312500001,8.289015532714844,12.1734653125,8.011558532714844,11.7572753125,8.011558532714844C11.3410953125,8.011558532714844,10.9249053125,8.289015532714844,10.9249053125,8.705200532714844C10.9249053125,9.121388532714844,11.3410953125,9.398838532714844,11.7572753125,9.398838532714844ZM16.5607453125,12.034678532714842C16.2832853125,12.034678532714842,16.0231753125,12.329478532714845,16.0231753125,12.589588532714844C16.0231753125,12.884388532714844,16.3006253125,13.144508532714845,16.5607453125,13.144508532714845C16.9769253125,13.144508532714845,17.2543953125,12.867048532714843,17.2543953125,12.589588532714844C17.2543953125,12.312138532714844,16.9769353125,12.034678532714842,16.5607453125,12.034678532714842Z'%20fill='%2328C445'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3cg%3e%3cpath%20d='M11.9653,0.069366455078125C5.35838,0.069366455078125,0,5.427746455078125,0,12.034666455078124C0,18.641666455078123,5.35838,23.999966455078123,11.9653,23.999966455078123C18.5723,23.999966455078123,23.9306,18.641666455078123,23.9306,12.034666455078124C23.9306,5.427746455078125,18.5723,0.069366297722125,11.9653,0.069366455078125ZM9.69364,15.104066455078126C9,15.104066455078126,8.44509,14.965366455078126,7.78613,14.809266455078125L5.87861,15.780366455078125L6.41619,14.098266455078125C5.04624,13.127166455078125,4.21387,11.861266455078125,4.21387,10.352566455078126C4.21387,7.699426455078125,6.69364,5.618496455078125,9.69364,5.618496455078125C12.3815,5.618496455078125,14.7572,7.283236455078125,15.2254,9.520236455078125C15.052,9.502896455078124,14.8786,9.485546455078126,14.7052,9.485546455078126C12.104,9.520236455078125,10.0578,11.479766455078124,10.0578,13.907566455078126C10.0578,14.306366455078125,10.1272,14.687866455078124,10.2312,15.069366455078125C10.0578,15.086666455078126,9.86705,15.104066455078126,9.69364,15.104066455078126ZM17.8092,17.046266455078126L18.2254,18.433566455078125L16.7341,17.601166455078125C16.1965,17.739866455078126,15.6416,17.878566455078126,15.0867,17.878566455078126C12.4682,17.878566455078126,10.4046,16.075166455078126,10.4046,13.838166455078126C10.3873,11.618466455078124,12.4509,9.815026455078126,15.052,9.815026455078126C17.5318,9.815026455078126,19.7168,11.635866455078125,19.7168,13.855466455078124C19.7168,15.104066455078126,18.9017,16.213866455078126,17.8092,17.046266455078126Z'%20fill='%232AAE67'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
12644
12774
  const IconAlipay = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20fill='none'%20version='1.1'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cdefs%3e%3cclipPath%20id='master_svg0_1_31591'%3e%3crect%20x='0'%20y='0'%20width='24'%20height='24'%20rx='0'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23master_svg0_1_31591)'%3e%3cg%3e%3cpath%20d='M5.4087,13.513C5.11304,13.7391,4.81739,14.0696,4.73043,14.5043C4.6087,15.0783,4.71304,15.8087,5.25217,16.3826C5.93043,17.0609,6.95652,17.2522,7.4087,17.287C8.6087,17.3739,9.89565,16.7652,10.8696,16.1043C11.2522,15.8435,11.8957,15.3043,12.5217,14.4696C11.1304,13.7565,9.3913,12.9565,7.54783,13.0261C6.57391,13.0609,5.89565,13.2522,5.4087,13.513ZM23.0435,16.6957C23.6522,15.2522,24,13.6696,24,12C24,5.3913,18.6087,0,12,0C5.3913,0,0,5.3913,0,12C0,18.6087,5.3913,24,12,24C16,24,19.5304,22.0348,21.7217,19.0261C19.6522,18.0174,16.2609,16.313,14.1565,15.3043C13.1652,16.4522,11.687,17.5826,10.0174,18.0696C8.97391,18.3826,8.01739,18.5043,7.04348,18.2957C6.05217,18.087,5.33913,17.6348,4.92174,17.1826C4.71304,16.9391,4.46957,16.6609,4.27826,16.2957C4.29565,16.313,4.29565,16.3478,4.29565,16.3652Q4.1913,16.1913,4.12174,15.913C4.08696,15.7739,4.05217,15.6348,4.03478,15.4957C4.01739,15.3913,4.01739,15.287,4.03478,15.2C4.01739,15.0261,4.03478,14.8348,4.06957,14.6435C4.17391,14.1565,4.36522,13.6174,4.90435,13.113C6.05217,11.9826,7.6,11.9304,8.4,11.9304C9.58261,11.9478,11.6348,12.4522,13.3739,13.0783C13.8609,12.0522,14.1739,10.9739,14.3652,10.2261L7.14783,10.2261L7.14783,9.44348L10.8522,9.44348L10.8522,7.87826L6.38261,7.87826L6.38261,7.07826L10.8522,7.07826L10.8522,5.51305C10.8522,5.30435,10.9043,5.13044,11.2348,5.13044L12.9913,5.13044L12.9913,7.07826L17.8435,7.07826L17.8435,7.86087L12.9913,7.86087L12.9913,9.42609L16.8696,9.42609Q16.4696,11.6,15.2696,13.7391C17.9652,14.6957,21.7739,16.1913,23.0435,16.6957Z'%20fill='%231777FF'%20fill-opacity='1'%20style='mix-blend-mode:passthrough'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
12645
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
12775
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
12646
12776
  __name: "payment-method",
12647
12777
  props: {
12648
12778
  /**
@@ -12688,7 +12818,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12688
12818
  return { __sfc: true, props, emit, $t, PaymentProvider, defaultPaymentMethods, paymentMethodList, selectPaymentMethod, PlvRadio };
12689
12819
  }
12690
12820
  });
12691
- var _sfc_render$d = function render34() {
12821
+ var _sfc_render$i = function render34() {
12692
12822
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12693
12823
  return _c("div", { staticClass: "plv-product-c-payment-methods" }, [_c("div", { staticClass: "plv-product-c-payment-methods__title" }, [_vm._v(" " + _vm._s(_setup.$t("order.detail.paymentMethod")) + " ")]), _c("div", { staticClass: "plv-product-c-payment-methods__list" }, _vm._l(_setup.paymentMethodList, function(method4, index2) {
12694
12824
  return _c("div", { key: index2, staticClass: "plv-product-c-payment-methods__item", on: { "click": function($event) {
@@ -12696,14 +12826,14 @@ var _sfc_render$d = function render34() {
12696
12826
  } } }, [_c("div", { staticClass: "plv-product-c-payment-methods__item-info" }, [_c("div", { staticClass: "plv-product-c-payment-methods__item-icon" }, [_c("img", { attrs: { "src": method4.icon, "alt": "icon" } })]), _c("span", { staticClass: "plv-product-c-payment-methods__item-label" }, [_vm._v(_vm._s(method4.label))])]), _c(_setup.PlvRadio, { attrs: { "checked": _vm.value === method4.value, "disabled": _vm.disabled } })], 1);
12697
12827
  }), 0)]);
12698
12828
  };
12699
- var _sfc_staticRenderFns$d = [];
12700
- var __component__$d = /* @__PURE__ */ normalizeComponent(
12701
- _sfc_main$d,
12702
- _sfc_render$d,
12703
- _sfc_staticRenderFns$d
12829
+ var _sfc_staticRenderFns$i = [];
12830
+ var __component__$i = /* @__PURE__ */ normalizeComponent(
12831
+ _sfc_main$i,
12832
+ _sfc_render$i,
12833
+ _sfc_staticRenderFns$i
12704
12834
  );
12705
- const PaymentMethod = __component__$d.exports;
12706
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
12835
+ const PaymentMethod = __component__$i.exports;
12836
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
12707
12837
  __name: "order-info",
12708
12838
  setup(__props) {
12709
12839
  const { $t } = useI18n();
@@ -12726,18 +12856,18 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
12726
12856
  return { __sfc: true, $t, orderDetail, OrderStatus, ProductDeliveryType, orderCreatedAt, orderDeliveryAt, orderFinishAt };
12727
12857
  }
12728
12858
  });
12729
- var _sfc_render$c = function render35() {
12859
+ var _sfc_render$h = function render35() {
12730
12860
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12731
12861
  return _setup.orderDetail ? _c("div", [_c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.orderNo")))]), _c("span", [_vm._v(_vm._s(_setup.orderDetail.orderNo))])]), _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.createTime")))]), _c("span", [_vm._v(_vm._s(_setup.orderCreatedAt))])]), _setup.orderDetail.status !== _setup.OrderStatus.WaitPay && _setup.orderDetail.status !== _setup.OrderStatus.Close ? _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.payTime")))]), _c("span", [_vm._v(_vm._s(_setup.orderDetail.payAt))])]) : _vm._e(), (_setup.orderDetail.status === _setup.OrderStatus.Finish || _setup.orderDetail.status === _setup.OrderStatus.Delivering) && _setup.orderDetail.products[0].deliveryType === _setup.ProductDeliveryType.Express ? _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.deliveryTime")))]), _c("span", [_vm._v(_vm._s(_setup.orderDeliveryAt))])]) : _vm._e(), _setup.orderDetail.status === _setup.OrderStatus.Finish ? _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.finishTime")))]), _c("span", [_vm._v(_vm._s(_setup.orderFinishAt))])]) : _vm._e(), _setup.orderDetail.status !== _setup.OrderStatus.WaitPay && _setup.orderDetail.status !== _setup.OrderStatus.Close ? _c("div", { staticClass: "plv-product-c-order-info__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.actualPay")))]), _c("div", { staticClass: "plv-product-c-order-info__amount" }, [_c("span", { staticClass: "plv-product-c-order-info__amount-symbol" }, [_vm._v("¥")]), _c("span", { staticClass: "plv-product-c-order-info__amount-value plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.orderDetail.amount))])])]) : _vm._e()]) : _vm._e();
12732
12862
  };
12733
- var _sfc_staticRenderFns$c = [];
12734
- var __component__$c = /* @__PURE__ */ normalizeComponent(
12735
- _sfc_main$c,
12736
- _sfc_render$c,
12737
- _sfc_staticRenderFns$c
12863
+ var _sfc_staticRenderFns$h = [];
12864
+ var __component__$h = /* @__PURE__ */ normalizeComponent(
12865
+ _sfc_main$h,
12866
+ _sfc_render$h,
12867
+ _sfc_staticRenderFns$h
12738
12868
  );
12739
- const OrderInfo = __component__$c.exports;
12740
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
12869
+ const OrderInfo = __component__$h.exports;
12870
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
12741
12871
  __name: "bottom-operate-panel",
12742
12872
  emits: {
12743
12873
  "click-order-btn": emitFunc()
@@ -12756,7 +12886,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
12756
12886
  return { __sfc: true, emit, orderDetail, $t, OrderStatus, ProductDeliveryType, operatePanelVisible, onOrderBtnClick, OrderButtonAction };
12757
12887
  }
12758
12888
  });
12759
- var _sfc_render$b = function render36() {
12889
+ var _sfc_render$g = function render36() {
12760
12890
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12761
12891
  return _setup.orderDetail && _setup.operatePanelVisible ? _c("div", { staticClass: "plv-product-c-bottom-operate-panel" }, [_setup.orderDetail.status === _setup.OrderStatus.WaitPay ? _c("div", { staticClass: "plv-product-c-bottom-operate-panel__item" }, [_c("div", [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.actualPay")))]), _c("span", [_vm._v("¥")]), _c("span", [_vm._v(_vm._s(_setup.orderDetail.amount))])]), _c("span", { staticClass: "plv-product-c-bottom-operate-panel__btn", on: { "click": function($event) {
12762
12892
  return _setup.onOrderBtnClick(_setup.OrderButtonAction.Pay);
@@ -12766,13 +12896,13 @@ var _sfc_render$b = function render36() {
12766
12896
  return _setup.onOrderBtnClick(_setup.OrderButtonAction.ApplyRefund);
12767
12897
  } } }, [_c("span", { staticClass: "plv-product-c-bottom-operate-panel__btn plv-product-c-bottom-operate-panel__btn-refund" }, [_vm._v(" " + _vm._s(_setup.$t("order.applyRefund")) + " ")])]) : _vm._e()]) : _vm._e();
12768
12898
  };
12769
- var _sfc_staticRenderFns$b = [];
12770
- var __component__$b = /* @__PURE__ */ normalizeComponent(
12771
- _sfc_main$b,
12772
- _sfc_render$b,
12773
- _sfc_staticRenderFns$b
12899
+ var _sfc_staticRenderFns$g = [];
12900
+ var __component__$g = /* @__PURE__ */ normalizeComponent(
12901
+ _sfc_main$g,
12902
+ _sfc_render$g,
12903
+ _sfc_staticRenderFns$g
12774
12904
  );
12775
- const BottomOperatePanel = __component__$b.exports;
12905
+ const BottomOperatePanel = __component__$g.exports;
12776
12906
  const orderDetailProps = () => __spreadProps(__spreadValues({}, orderProps()), {
12777
12907
  /** 是否同步支付状态 */
12778
12908
  syncPayStatus: PropUtils.bool.def(false),
@@ -12861,7 +12991,7 @@ const useOrderDetail = (options) => {
12861
12991
  customerQrcodeVisible
12862
12992
  };
12863
12993
  };
12864
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
12994
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
12865
12995
  __name: "order-detail",
12866
12996
  props: orderDetailProps(),
12867
12997
  setup(__props) {
@@ -12886,7 +13016,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
12886
13016
  return { __sfc: true, props, orderDetail, OrderStatus, selectedPayMethod, customerQrcodeVisible, supportPayProviders, handleOrderBtnClick, getPayProviders, onClickOrderBtn, PurchaseProduct, PayStatus, CustomerQrcode, ExpressInfo, PaymentMethod, OrderInfo, BottomOperatePanel };
12887
13017
  }
12888
13018
  });
12889
- var _sfc_render$a = function render37() {
13019
+ var _sfc_render$f = function render37() {
12890
13020
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12891
13021
  return _setup.orderDetail ? _c("div", { staticClass: "plv-product-order-detail" }, [_c("div", { staticClass: "plv-product-order-detail__content" }, [_c(_setup.PayStatus), _setup.customerQrcodeVisible ? _c(_setup.CustomerQrcode) : _vm._e(), _c(_setup.ExpressInfo), _c("div", { staticClass: "plv-product-order-detail__info" }, [_vm._l(_setup.orderDetail.products, function(product, index2) {
12892
13022
  return _c(_setup.PurchaseProduct, { key: index2, attrs: { "product": product } });
@@ -12894,13 +13024,13 @@ var _sfc_render$a = function render37() {
12894
13024
  _setup.selectedPayMethod = $$v;
12895
13025
  }, expression: "selectedPayMethod" } }) : _vm._e(), _c(_setup.OrderInfo)], 2)], 1), _c(_setup.BottomOperatePanel, { on: { "click-order-btn": _setup.onClickOrderBtn } })], 1) : _vm._e();
12896
13026
  };
12897
- var _sfc_staticRenderFns$a = [];
12898
- var __component__$a = /* @__PURE__ */ normalizeComponent(
12899
- _sfc_main$a,
12900
- _sfc_render$a,
12901
- _sfc_staticRenderFns$a
13027
+ var _sfc_staticRenderFns$f = [];
13028
+ var __component__$f = /* @__PURE__ */ normalizeComponent(
13029
+ _sfc_main$f,
13030
+ _sfc_render$f,
13031
+ _sfc_staticRenderFns$f
12902
13032
  );
12903
- const OrderDetail = __component__$a.exports;
13033
+ const OrderDetail = __component__$f.exports;
12904
13034
  const useOrderListPopup = () => {
12905
13035
  const { $t } = useI18n();
12906
13036
  const visible = ref(false);
@@ -12954,7 +13084,7 @@ const useOrderListPopup = () => {
12954
13084
  handleBack
12955
13085
  };
12956
13086
  };
12957
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
13087
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
12958
13088
  __name: "order-list-popup",
12959
13089
  props: orderListProps(),
12960
13090
  setup(__props, { expose }) {
@@ -12977,20 +13107,20 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
12977
13107
  return { __sfc: true, props, visible, orderListRef, currentRoute, orderNo, popupTitle, OrderListPopupRoute: OrderListPopupRoute2, open, close, handleBack, CommonPopup, productEvents, OrderDetail, OrderList };
12978
13108
  }
12979
13109
  });
12980
- var _sfc_render$9 = function render38() {
13110
+ var _sfc_render$e = function render38() {
12981
13111
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12982
13112
  return _c(_setup.CommonPopup, { attrs: { "background": "#f7f8fa", "backable": "", "closeable": false, "title": _setup.popupTitle, "open-event": _setup.productEvents.OpenProductOrderListPopup, "custom-back": _setup.handleBack }, model: { value: _setup.visible, callback: function($$v) {
12983
13113
  _setup.visible = $$v;
12984
13114
  }, expression: "visible" } }, [_c("div", { staticClass: "plv-product-order-list-popup__wrap" }, [_c("transition", { attrs: { "name": "plv-product-order-list-popup__fade" } }, [_setup.currentRoute === _setup.OrderListPopupRoute.OrderList ? _c(_setup.OrderList, _vm._b({ ref: "orderListRef", staticClass: "plv-product-order-list-popup__order-list" }, "order-list", _setup.props, false)) : _vm._e()], 1), _c("transition", { attrs: { "name": "plv-product-order-list-popup__fade" } }, [_setup.currentRoute === _setup.OrderListPopupRoute.OrderDetail && _setup.orderNo ? _c(_setup.OrderDetail, _vm._b({ staticClass: "plv-product-order-list-popup__order-detail", attrs: { "order-no": _setup.orderNo } }, "order-detail", _setup.props, false)) : _vm._e()], 1)], 1)]);
12985
13115
  };
12986
- var _sfc_staticRenderFns$9 = [];
12987
- var __component__$9 = /* @__PURE__ */ normalizeComponent(
12988
- _sfc_main$9,
12989
- _sfc_render$9,
12990
- _sfc_staticRenderFns$9
13116
+ var _sfc_staticRenderFns$e = [];
13117
+ var __component__$e = /* @__PURE__ */ normalizeComponent(
13118
+ _sfc_main$e,
13119
+ _sfc_render$e,
13120
+ _sfc_staticRenderFns$e
12991
13121
  );
12992
- const orderListPopup = __component__$9.exports;
12993
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
13122
+ const orderListPopup = __component__$e.exports;
13123
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12994
13124
  __name: "form-wrap",
12995
13125
  props: formWrapProps(),
12996
13126
  emits: formWrapEmits(),
@@ -13007,19 +13137,19 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
13007
13137
  return { __sfc: true, props, emit, validateCurrentForm, submitForm };
13008
13138
  }
13009
13139
  });
13010
- var _sfc_render$8 = function render39() {
13140
+ var _sfc_render$d = function render39() {
13011
13141
  var _vm = this, _c = _vm._self._c;
13012
13142
  _vm._self._setupProxy;
13013
13143
  return _c("div", { staticClass: "plv-product-form-wrap" }, [_vm._t("default")], 2);
13014
13144
  };
13015
- var _sfc_staticRenderFns$8 = [];
13016
- var __component__$8 = /* @__PURE__ */ normalizeComponent(
13017
- _sfc_main$8,
13018
- _sfc_render$8,
13019
- _sfc_staticRenderFns$8
13145
+ var _sfc_staticRenderFns$d = [];
13146
+ var __component__$d = /* @__PURE__ */ normalizeComponent(
13147
+ _sfc_main$d,
13148
+ _sfc_render$d,
13149
+ _sfc_staticRenderFns$d
13020
13150
  );
13021
- const FormWrap = __component__$8.exports;
13022
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
13151
+ const FormWrap = __component__$d.exports;
13152
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
13023
13153
  __name: "form-item",
13024
13154
  props: formItemProps(),
13025
13155
  setup(__props, { expose }) {
@@ -13041,7 +13171,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
13041
13171
  return { __sfc: true, props, required: required4, labelText, labelModel, labelStyle, itemErrorMessage, contentWidthStyle, contentStyle, formItemIsError, formItemInstance, isMobile };
13042
13172
  }
13043
13173
  });
13044
- var _sfc_render$7 = function render40() {
13174
+ var _sfc_render$c = function render40() {
13045
13175
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13046
13176
  return _c("div", { staticClass: "plv-product-form-item", class: {
13047
13177
  "plv-product-form-item--header": _setup.labelModel === "header",
@@ -13051,14 +13181,14 @@ var _sfc_render$7 = function render40() {
13051
13181
  "plv-product-form-item__content--has-width": !!_setup.contentWidthStyle
13052
13182
  }, style: _setup.contentStyle }, [_vm._t("default"), _setup.itemErrorMessage ? _c("div", { staticClass: "plv-product-form-item__content-error" }, [_vm._v(" " + _vm._s(_setup.itemErrorMessage) + " ")]) : _vm._e()], 2)]);
13053
13183
  };
13054
- var _sfc_staticRenderFns$7 = [];
13055
- var __component__$7 = /* @__PURE__ */ normalizeComponent(
13056
- _sfc_main$7,
13057
- _sfc_render$7,
13058
- _sfc_staticRenderFns$7
13184
+ var _sfc_staticRenderFns$c = [];
13185
+ var __component__$c = /* @__PURE__ */ normalizeComponent(
13186
+ _sfc_main$c,
13187
+ _sfc_render$c,
13188
+ _sfc_staticRenderFns$c
13059
13189
  );
13060
- const FormItem = __component__$7.exports;
13061
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
13190
+ const FormItem = __component__$c.exports;
13191
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
13062
13192
  __name: "choose-address",
13063
13193
  props: {
13064
13194
  addressInfo: PropUtils.object(),
@@ -13095,20 +13225,20 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
13095
13225
  return { __sfc: true, props, emit, $t, getEmitter, addressList, getAddressList, handleClick, ProductIconArrowRight, AddressItem };
13096
13226
  }
13097
13227
  });
13098
- var _sfc_render$6 = function render41() {
13228
+ var _sfc_render$b = function render41() {
13099
13229
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13100
13230
  return _c("div", { staticClass: "plv-product-c-choose-address", on: { "click": _setup.handleClick } }, [_vm.addressInfo ? _c(_setup.AddressItem, { attrs: { "address-info": _vm.addressInfo }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
13101
13231
  return [_c(_setup.ProductIconArrowRight, { staticClass: "plv-product-c-choose-address__arrow-icon" })];
13102
13232
  }, proxy: true }], null, false, 3992671562) }) : _c("div", { staticClass: "plv-product-c-choose-address__empty" }, [_c("span", { staticClass: "plv-product-c-choose-address__empty-text" }, [_vm._v(_vm._s(_setup.$t("order.chooseAddress")))]), _c("span", { staticClass: "plv-product-c-choose-address__empty-action" }, [_c("span", { staticClass: "plv-product-c-choose-address__empty-action-text" }, [_vm._v(_vm._s(_setup.$t("order.add")))]), _c(_setup.ProductIconArrowRight, { staticClass: "plv-product-c-choose-address__arrow-icon" })], 1)])], 1);
13103
13233
  };
13104
- var _sfc_staticRenderFns$6 = [];
13105
- var __component__$6 = /* @__PURE__ */ normalizeComponent(
13106
- _sfc_main$6,
13107
- _sfc_render$6,
13108
- _sfc_staticRenderFns$6
13234
+ var _sfc_staticRenderFns$b = [];
13235
+ var __component__$b = /* @__PURE__ */ normalizeComponent(
13236
+ _sfc_main$b,
13237
+ _sfc_render$b,
13238
+ _sfc_staticRenderFns$b
13109
13239
  );
13110
- const ChooseAddress = __component__$6.exports;
13111
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
13240
+ const ChooseAddress = __component__$b.exports;
13241
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
13112
13242
  __name: "submit-bar",
13113
13243
  props: {
13114
13244
  /** 价格 */
@@ -13129,17 +13259,17 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
13129
13259
  return { __sfc: true, props, emit, $t, onSubmit };
13130
13260
  }
13131
13261
  });
13132
- var _sfc_render$5 = function render42() {
13262
+ var _sfc_render$a = function render42() {
13133
13263
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13134
13264
  return _c("div", { staticClass: "plv-product-c-order-submit-bar" }, [_c("div", { staticClass: "plv-product-c-order-submit-bar__text" }, [_c("span", [_vm._v(_vm._s(_setup.$t("order.detail.actualPay")))]), _c("span", { staticClass: "plv-product-c-order-submit-bar__price" }, [_c("span", [_vm._v("¥")]), _c("span", { staticClass: "plv-product-c-order-submit-bar__price-integer plv-font-din-pro-regular" }, [_vm._v(_vm._s(_vm.price))])])]), _c("button", { staticClass: "plv-product-c-order-submit-bar__submit-btn", attrs: { "disabled": _vm.disabled }, on: { "click": _setup.onSubmit } }, [_vm._v(" " + _vm._s(_setup.$t("order.submitOrder")) + " ")])]);
13135
13265
  };
13136
- var _sfc_staticRenderFns$5 = [];
13137
- var __component__$5 = /* @__PURE__ */ normalizeComponent(
13138
- _sfc_main$5,
13139
- _sfc_render$5,
13140
- _sfc_staticRenderFns$5
13266
+ var _sfc_staticRenderFns$a = [];
13267
+ var __component__$a = /* @__PURE__ */ normalizeComponent(
13268
+ _sfc_main$a,
13269
+ _sfc_render$a,
13270
+ _sfc_staticRenderFns$a
13141
13271
  );
13142
- const SubmitBar = __component__$5.exports;
13272
+ const SubmitBar = __component__$a.exports;
13143
13273
  const orderConfirmProps = () => __spreadProps(__spreadValues(__spreadValues({}, orderProps()), paymentProps()), {
13144
13274
  addressTarget: PropUtils.object().isRequired,
13145
13275
  products: PropUtils.array().def([]),
@@ -13268,7 +13398,7 @@ const useOrderConfirm = (options) => {
13268
13398
  submit
13269
13399
  };
13270
13400
  };
13271
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
13401
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
13272
13402
  __name: "order-confirm",
13273
13403
  props: orderConfirmProps(),
13274
13404
  emits: orderConfirmEmits(),
@@ -13293,7 +13423,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
13293
13423
  return { __sfc: true, props, emit, supportPayProviders, getPayProviders, $t, chooseAddressInfo, formRef, formRules, formData, totalPrice, selectedPaymentMethod, ProductDeliveryType, submit, FormWrap, FormItem, FormInput, PurchaseProduct, PaymentMethod, ChooseAddress, SubmitBar };
13294
13424
  }
13295
13425
  });
13296
- var _sfc_render$4 = function render43() {
13426
+ var _sfc_render$9 = function render43() {
13297
13427
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13298
13428
  return _c("div", { staticClass: "plv-product-order" }, [_c("div", { staticClass: "plv-product-order__content" }, [_vm.products[0] && _vm.products[0].deliveryType === _setup.ProductDeliveryType.Express ? _c(_setup.ChooseAddress, { attrs: { "address-info": _setup.chooseAddressInfo, "address-target": _vm.addressTarget } }) : _c(_setup.FormWrap, { ref: "formRef", attrs: { "form-rules": _setup.formRules, "label-width": 84, "form-data": _setup.formData } }, [_c(_setup.FormItem, { staticClass: "plv-product-order__form-item", attrs: { "form-field": "phone", "required": "", "highlight-error": "", "label": _setup.$t("order.phone") } }, [_c(_setup.FormInput, { attrs: { "type": "number", "placeholder": _setup.$t("order.phonePlaceholder"), "clearable": "" }, model: { value: _setup.formData.phone, callback: function($$v) {
13299
13429
  _vm.$set(_setup.formData, "phone", $$v);
@@ -13303,13 +13433,13 @@ var _sfc_render$4 = function render43() {
13303
13433
  _setup.selectedPaymentMethod = $$v;
13304
13434
  }, expression: "selectedPaymentMethod" } })] : _vm._e()], 2), _c(_setup.SubmitBar, { attrs: { "price": _setup.totalPrice, "disabled": _vm.disabledSubmit }, on: { "submit": _setup.submit } })], 1);
13305
13435
  };
13306
- var _sfc_staticRenderFns$4 = [];
13307
- var __component__$4 = /* @__PURE__ */ normalizeComponent(
13308
- _sfc_main$4,
13309
- _sfc_render$4,
13310
- _sfc_staticRenderFns$4
13436
+ var _sfc_staticRenderFns$9 = [];
13437
+ var __component__$9 = /* @__PURE__ */ normalizeComponent(
13438
+ _sfc_main$9,
13439
+ _sfc_render$9,
13440
+ _sfc_staticRenderFns$9
13311
13441
  );
13312
- const OrderConfirm = __component__$4.exports;
13442
+ const OrderConfirm = __component__$9.exports;
13313
13443
  const addressListProps = () => ({
13314
13444
  addressTarget: PropUtils.object().isRequired,
13315
13445
  addressId: PropUtils.number.def(void 0)
@@ -13386,7 +13516,7 @@ const useAddressList = (options) => {
13386
13516
  deleteAddress
13387
13517
  };
13388
13518
  };
13389
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
13519
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
13390
13520
  __name: "address-list",
13391
13521
  props: addressListProps(),
13392
13522
  emits: addressListEmits(),
@@ -13406,7 +13536,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
13406
13536
  return { __sfc: true, props, emit, $t, scrollRef, addressList, selectedAddressId, onScroll: onScroll2, onClick: onClick2, onChooseAddress, onAddressEdit, deleteAddress, ProductIconChooseAddress, AddressItem };
13407
13537
  }
13408
13538
  });
13409
- var _sfc_render$3 = function render44() {
13539
+ var _sfc_render$8 = function render44() {
13410
13540
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13411
13541
  return _c("div", { staticClass: "plv-product-address-list" }, [_c("div", { ref: "scrollRef", staticClass: "plv-product-address-list__content", on: { "scroll": _setup.onScroll } }, _vm._l(_setup.addressList, function(address, index2) {
13412
13542
  return _c(_setup.AddressItem, { key: index2, staticClass: "plv-product-address-list__address-item", attrs: { "address-info": address }, on: { "choose-address": _setup.onChooseAddress }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
@@ -13422,13 +13552,13 @@ var _sfc_render$3 = function render44() {
13422
13552
  }, proxy: true }], null, true) });
13423
13553
  }), 1), _c("div", { staticClass: "plv-product-address-list__footer" }, [_c("button", { staticClass: "plv-product-address-list__footer-btn", on: { "click": _setup.onClick } }, [_vm._v(" " + _vm._s(_setup.$t("order.addAddress")) + " ")])])]);
13424
13554
  };
13425
- var _sfc_staticRenderFns$3 = [];
13426
- var __component__$3 = /* @__PURE__ */ normalizeComponent(
13427
- _sfc_main$3,
13428
- _sfc_render$3,
13429
- _sfc_staticRenderFns$3
13555
+ var _sfc_staticRenderFns$8 = [];
13556
+ var __component__$8 = /* @__PURE__ */ normalizeComponent(
13557
+ _sfc_main$8,
13558
+ _sfc_render$8,
13559
+ _sfc_staticRenderFns$8
13430
13560
  );
13431
- const AddressList = __component__$3.exports;
13561
+ const AddressList = __component__$8.exports;
13432
13562
  var areaPicker;
13433
13563
  var hasRequiredAreaPicker;
13434
13564
  function requireAreaPicker() {
@@ -14717,7 +14847,7 @@ const useFormAreaPicker = (options) => {
14717
14847
  onClickConfirm
14718
14848
  };
14719
14849
  };
14720
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
14850
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
14721
14851
  __name: "form-area-picker",
14722
14852
  props: formAreaPickerProps(),
14723
14853
  emits: formAreaPickerEmit(),
@@ -14746,7 +14876,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
14746
14876
  return { __sfc: true, props, emit, $t, innerValue, pickerVisible, openPicker, closePicker, inputValue, inputPlaceholder, instance, formItemIsError, onClickConfirm, innerIsFinish, refreshKey, onHiddenPicker, FormInput, ProductIconArrowRight, CommonPopup, PlvAreaPicker };
14747
14877
  }
14748
14878
  });
14749
- var _sfc_render$2 = function render45() {
14879
+ var _sfc_render$7 = function render45() {
14750
14880
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
14751
14881
  return _c("div", { staticClass: "plv-product-form-area-picker", class: {
14752
14882
  "plv-product-form-area-picker--error": _setup.formItemIsError
@@ -14760,13 +14890,13 @@ var _sfc_render$2 = function render45() {
14760
14890
  _setup.innerValue = $$v;
14761
14891
  }, expression: "innerValue" } })], 1)])], 1);
14762
14892
  };
14763
- var _sfc_staticRenderFns$2 = [];
14764
- var __component__$2 = /* @__PURE__ */ normalizeComponent(
14765
- _sfc_main$2,
14766
- _sfc_render$2,
14767
- _sfc_staticRenderFns$2
14893
+ var _sfc_staticRenderFns$7 = [];
14894
+ var __component__$7 = /* @__PURE__ */ normalizeComponent(
14895
+ _sfc_main$7,
14896
+ _sfc_render$7,
14897
+ _sfc_staticRenderFns$7
14768
14898
  );
14769
- const AreaPicker = __component__$2.exports;
14899
+ const AreaPicker = __component__$7.exports;
14770
14900
  function validatePhoneNumber(phoneNumber, areaCode = "+86") {
14771
14901
  if (areaCode !== "+86") {
14772
14902
  return /(^\d{5,20}$)/.test(phoneNumber);
@@ -14908,7 +15038,7 @@ const useAddressEdit = (options) => {
14908
15038
  $t
14909
15039
  };
14910
15040
  };
14911
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
15041
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
14912
15042
  __name: "address-edit",
14913
15043
  props: addressEditProps(),
14914
15044
  setup(__props) {
@@ -14926,7 +15056,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
14926
15056
  return { __sfc: true, props, formRef, areaPickerRef, formFieldList, formData, formRules, triggerSubmit, submitReceiveForm, $t, FormWrap, FormItem, FormInput, AreaPicker };
14927
15057
  }
14928
15058
  });
14929
- var _sfc_render$1 = function render46() {
15059
+ var _sfc_render$6 = function render46() {
14930
15060
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
14931
15061
  return _setup.formFieldList.length ? _c("div", { staticClass: "plv-product-address-edit" }, [_c(_setup.FormWrap, { ref: "formRef", staticClass: "plv-product-address-edit__form", attrs: { "label-width": 84, "form-data": _setup.formData, "form-rules": _setup.formRules, "submit-action": _setup.submitReceiveForm } }, [_vm._l(_setup.formFieldList, function(item, index2) {
14932
15062
  return [item.formType === "area" ? [_c(_setup.FormItem, { key: `area-picker-${index2}`, attrs: { "label": _setup.$t("addressEdit.choiceAddress"), "form-field": "areaPickerValue" } }, [_c(_setup.AreaPicker, { ref: "areaPickerRef", refInFor: true, attrs: { "area-picker-text": _setup.formData.areaPickerText, "placeholder": _setup.$t("addressEdit.addressPlaceholder") }, on: { "update:areaPickerText": function($event) {
@@ -14942,13 +15072,13 @@ var _sfc_render$1 = function render46() {
14942
15072
  }, expression: "formData[index]" } })], 1)];
14943
15073
  }), _c("div", { staticClass: "plv-product-address-edit__footer" }, [_c("button", { staticClass: "plv-product-address-edit__submit-btn", class: { "plv-product-address-edit__submit-btn--disabled": _vm.disabledSubmit }, attrs: { "disabled": _vm.disabledSubmit }, on: { "click": _setup.triggerSubmit } }, [_vm._v(" " + _vm._s(_setup.$t("addressEdit.submit")) + " ")])])], 2)], 1) : _vm._e();
14944
15074
  };
14945
- var _sfc_staticRenderFns$1 = [];
14946
- var __component__$1 = /* @__PURE__ */ normalizeComponent(
14947
- _sfc_main$1,
14948
- _sfc_render$1,
14949
- _sfc_staticRenderFns$1
15075
+ var _sfc_staticRenderFns$6 = [];
15076
+ var __component__$6 = /* @__PURE__ */ normalizeComponent(
15077
+ _sfc_main$6,
15078
+ _sfc_render$6,
15079
+ _sfc_staticRenderFns$6
14950
15080
  );
14951
- const AddressEdit = __component__$1.exports;
15081
+ const AddressEdit = __component__$6.exports;
14952
15082
  var OrderPopupRoute = /* @__PURE__ */ ((OrderPopupRoute2) => {
14953
15083
  OrderPopupRoute2["Order"] = "order";
14954
15084
  OrderPopupRoute2["AddressList"] = "addressList";
@@ -15281,7 +15411,7 @@ const useOrderPopup = (options) => {
15281
15411
  resetRoute
15282
15412
  };
15283
15413
  };
15284
- const _sfc_main = /* @__PURE__ */ defineComponent({
15414
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
15285
15415
  __name: "order-popup",
15286
15416
  props: orderPopupProps(),
15287
15417
  setup(__props, { expose }) {
@@ -15307,32 +15437,627 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15307
15437
  return { __sfc: true, props, instance, currentRoute, popupTitle, popupContentHeightPercent, visible, products, editAddressFormData, submittingOrder, submittingAddress, currentChooseAddress, onChooseAddress, onClearAddress, submitOrder, submitAddress, popRoute, CommonPopup, Loading, productEvents, AddressList, AddressEdit, OrderConfirm, OrderPopupRoute };
15308
15438
  }
15309
15439
  });
15310
- var _sfc_render = function render47() {
15440
+ var _sfc_render$5 = function render47() {
15311
15441
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
15312
15442
  return _c(_setup.CommonPopup, { attrs: { "backable": "", "closeable": false, "title": _setup.popupTitle, "background": _setup.currentRoute === _setup.OrderPopupRoute.AddressEdit ? "#fff" : "#f7f8fa", "content-height-percent": _setup.popupContentHeightPercent, "open-event": _setup.productEvents.OpenProductOrderPopup, "custom-back": _setup.popRoute }, model: { value: _setup.visible, callback: function($$v) {
15313
15443
  _setup.visible = $$v;
15314
15444
  }, expression: "visible" } }, [_c("div", { staticClass: "plv-product-order-popup__wrap" }, [_c("transition", { attrs: { "name": "plv-product-order-popup__fade" } }, [_setup.currentRoute === _setup.OrderPopupRoute.Order ? _c(_setup.OrderConfirm, _vm._b({ attrs: { "products": _setup.products, "disabled-submit": _setup.submittingOrder, "address-data": _setup.currentChooseAddress }, on: { "submit-order": _setup.submitOrder } }, "order-confirm", _setup.props, false)) : _vm._e()], 1), _c("transition", { attrs: { "name": "plv-product-order-popup__fade" } }, [_setup.currentRoute === _setup.OrderPopupRoute.AddressList ? _c(_setup.AddressList, _vm._b({ attrs: { "address-id": _setup.currentChooseAddress && Number(_setup.currentChooseAddress.id) }, on: { "choose-address": _setup.onChooseAddress, "clear-address": _setup.onClearAddress } }, "address-list", _setup.props, false)) : _vm._e()], 1), _c("transition", { attrs: { "name": "plv-product-order-popup__fade" } }, [_setup.currentRoute === _setup.OrderPopupRoute.AddressEdit ? _c(_setup.AddressEdit, { attrs: { "form-list": _setup.editAddressFormData, "disabled-submit": _setup.submittingAddress, "submit-action": _setup.submitAddress } }) : _vm._e()], 1), _setup.submittingOrder || _setup.submittingAddress ? _c("div", { staticClass: "plv-product-order-popup__loading" }, [_c(_setup.Loading)], 1) : _vm._e()], 1)]);
15315
15445
  };
15446
+ var _sfc_staticRenderFns$5 = [];
15447
+ var __component__$5 = /* @__PURE__ */ normalizeComponent(
15448
+ _sfc_main$5,
15449
+ _sfc_render$5,
15450
+ _sfc_staticRenderFns$5
15451
+ );
15452
+ const orderPopup = __component__$5.exports;
15453
+ const productCardProps = () => __spreadValues(__spreadValues({}, productProps()), paymentProps());
15454
+ const productCardEmits = () => ({
15455
+ "not-support-direct-buy": emitFunc(),
15456
+ "small-card-visible-change": emitFunc()
15457
+ });
15458
+ const useProductCard = (options) => {
15459
+ const { props, emit, scene } = options;
15460
+ const { ProductType, ProductPushRule, ProductBuyType } = getProductTargetExport(props.productTarget);
15461
+ const { getEmitter } = useGlobalInject();
15462
+ const { trackProductPushItemView, trackProductPushItemClick } = useProductTrack({ productTarget: props.productTarget });
15463
+ const { handleDirectBuy, getPayProviders } = useProductDirectBuy({
15464
+ props,
15465
+ emitNotSupportDirectBuy
15466
+ });
15467
+ const bigCardVisible = ref(false);
15468
+ const smallCardVisible = ref(false);
15469
+ const productData = ref();
15470
+ const currentPushRule = ref();
15471
+ const hotSaleTimes = ref(0);
15472
+ const lastHotSaleTimes = ref(0);
15473
+ const hotSaleConfig = ref();
15474
+ const isProductRedirectLinkDirectly = ref(false);
15475
+ const currentPushingProductId = ref();
15476
+ const productHotEffectEnabled = computed(() => {
15477
+ if (!hotSaleConfig.value) return false;
15478
+ return hotSaleTimes.value > 0 && hotSaleConfig.value.productHotEffectEnabled;
15479
+ });
15480
+ watch(productData, (newVal, oldVal) => __async(null, null, function* () {
15481
+ if (!oldVal || !newVal) return;
15482
+ if (newVal.productId === oldVal.productId) return;
15483
+ lastHotSaleTimes.value = 0;
15484
+ yield nextTick$1();
15485
+ hotSaleTimes.value = 0;
15486
+ }), { deep: true });
15487
+ watch(hotSaleTimes, (_2, oldVal) => {
15488
+ if (oldVal !== void 0) {
15489
+ lastHotSaleTimes.value = oldVal;
15490
+ }
15491
+ });
15492
+ watch(smallCardVisible, (visible) => {
15493
+ emit("small-card-visible-change", visible);
15494
+ });
15495
+ useEventBusListener(productEvents.OpenProductBigCardPopup, openBigCard);
15496
+ useEventBusListener(productEvents.OpenProductSmallCardPopup, openSmallCard);
15497
+ function openBigCard() {
15498
+ bigCardVisible.value = true;
15499
+ }
15500
+ function openSmallCard() {
15501
+ nextTick$1(() => {
15502
+ smallCardVisible.value = true;
15503
+ });
15504
+ }
15505
+ function close() {
15506
+ bigCardVisible.value = false;
15507
+ smallCardVisible.value = false;
15508
+ }
15509
+ function reset() {
15510
+ productData.value = void 0;
15511
+ currentPushRule.value = void 0;
15512
+ }
15513
+ function emitNotSupportDirectBuy() {
15514
+ emit("not-support-direct-buy", productData.value);
15515
+ }
15516
+ function openProductDetailPopup() {
15517
+ if (!productData.value) return;
15518
+ trackProductPushItemClick(productData.value);
15519
+ if (productData.value.productType === ProductType.Finance) return;
15520
+ getEmitter().emit(productEvents.OpenProductDetailPopup, productData.value);
15521
+ }
15522
+ function handlePushProduct(data) {
15523
+ hotSaleTimes.value = 0;
15524
+ productData.value = data.productData;
15525
+ currentPushRule.value = data.pushRule;
15526
+ currentPushingProductId.value = data.productData.productId;
15527
+ close();
15528
+ trackProductPushItemView(data.productData);
15529
+ if (data.pushRule === ProductPushRule.BigCard && scene === ProductPushRule.BigCard) {
15530
+ getEmitter().emit(productEvents.OpenProductBigCardPopup);
15531
+ }
15532
+ if (data.pushRule === ProductPushRule.SmallCard && scene === ProductPushRule.SmallCard) {
15533
+ getEmitter().emit(productEvents.OpenProductSmallCardPopup);
15534
+ }
15535
+ }
15536
+ function handleCancelPushProduct(data) {
15537
+ var _a;
15538
+ hotSaleTimes.value = 0;
15539
+ if (data.productId !== ((_a = productData.value) == null ? void 0 : _a.productId)) return;
15540
+ currentPushingProductId.value = void 0;
15541
+ reset();
15542
+ close();
15543
+ }
15544
+ function increaseProductDisplayNumber() {
15545
+ if (!productData.value) return;
15546
+ productData.value.displayNumber = productData.value.displayNumber + 1;
15547
+ }
15548
+ function handleOnSaleProduct(data) {
15549
+ if (!productData.value) return;
15550
+ if (data.productData.displayNumber >= productData.value.displayNumber) return;
15551
+ increaseProductDisplayNumber();
15552
+ }
15553
+ function decreaseProductDisplayNumber() {
15554
+ if (!productData.value) return;
15555
+ productData.value.displayNumber = productData.value.displayNumber - 1;
15556
+ }
15557
+ function handleOffSaleProduct(data) {
15558
+ if (!productData.value) return;
15559
+ if (data.productData.productId === currentPushingProductId.value) {
15560
+ currentPushingProductId.value = void 0;
15561
+ }
15562
+ if (data.productData.displayNumber >= productData.value.displayNumber) return;
15563
+ decreaseProductDisplayNumber();
15564
+ }
15565
+ function handleChangeProduct(data) {
15566
+ if (!productData.value) return;
15567
+ if (data.productData.productId !== productData.value.productId) return;
15568
+ productData.value = data.productData;
15569
+ if (data.productData.pushRule) {
15570
+ currentPushRule.value = data.productData.pushRule;
15571
+ }
15572
+ }
15573
+ function handleMoveProduct(data) {
15574
+ if (!productData.value) return;
15575
+ const index2 = data.targetProducts.findIndex((item) => {
15576
+ var _a;
15577
+ return item.productId === ((_a = productData.value) == null ? void 0 : _a.productId);
15578
+ });
15579
+ if (index2 === -1) return;
15580
+ productData.value = data.targetProducts[index2];
15581
+ if (data.targetProducts[index2].pushRule) {
15582
+ currentPushRule.value = data.targetProducts[index2].pushRule;
15583
+ }
15584
+ }
15585
+ function handleProductSoldOut(data) {
15586
+ if (!productData.value || productData.value.productId !== data.productId) return;
15587
+ if (productData.value.productType === ProductType.Normal) {
15588
+ productData.value.stock = 0;
15589
+ }
15590
+ }
15591
+ function handleDeleteProduct(data) {
15592
+ if (!productData.value) return;
15593
+ if (data.productId !== productData.value.productId) return;
15594
+ currentPushingProductId.value = void 0;
15595
+ reset();
15596
+ close();
15597
+ }
15598
+ function handleRefreshProductList() {
15599
+ return __async(this, null, function* () {
15600
+ if (!props.productTarget) return;
15601
+ const data = yield props.productTarget.getCurrentPushingProduct(currentPushingProductId.value);
15602
+ if (!data) return;
15603
+ productData.value = __spreadProps(__spreadValues({}, data), {
15604
+ pushRule: currentPushRule.value || data.pushRule || ProductPushRule.SmallCard
15605
+ });
15606
+ });
15607
+ }
15608
+ function handleProductClickTimesUpdate(data) {
15609
+ if (!productData.value || productData.value.productId !== data.productId) return;
15610
+ hotSaleTimes.value = data.times;
15611
+ }
15612
+ function bindProductEvent() {
15613
+ const productTarget = props.productTarget;
15614
+ if (!productTarget) return;
15615
+ const ProductEvents = productTarget.ProductEvents;
15616
+ productTarget.eventEmitter.on(ProductEvents.PushProduct, handlePushProduct);
15617
+ productTarget.eventEmitter.on(ProductEvents.CancelPushProduct, handleCancelPushProduct);
15618
+ productTarget.eventEmitter.on(ProductEvents.OnSaleProduct, handleOnSaleProduct);
15619
+ productTarget.eventEmitter.on(ProductEvents.OffSaleProduct, handleOffSaleProduct);
15620
+ productTarget.eventEmitter.on(ProductEvents.ChangeProduct, handleChangeProduct);
15621
+ productTarget.eventEmitter.on(ProductEvents.MoveProduct, handleMoveProduct);
15622
+ productTarget.eventEmitter.on(ProductEvents.ProductSoldOut, handleProductSoldOut);
15623
+ productTarget.eventEmitter.on(ProductEvents.DeleteProduct, handleDeleteProduct);
15624
+ productTarget.eventEmitter.on(ProductEvents.RefreshProductList, handleRefreshProductList);
15625
+ productTarget.eventEmitter.on(ProductEvents.ProductClickTimes, handleProductClickTimesUpdate);
15626
+ }
15627
+ function unbindProductEvent() {
15628
+ const ProductEvents = props.productTarget.ProductEvents;
15629
+ props.productTarget.eventEmitter.off(ProductEvents.PushProduct, handlePushProduct);
15630
+ props.productTarget.eventEmitter.off(ProductEvents.CancelPushProduct, handleCancelPushProduct);
15631
+ props.productTarget.eventEmitter.off(ProductEvents.OnSaleProduct, handleOnSaleProduct);
15632
+ props.productTarget.eventEmitter.off(ProductEvents.OffSaleProduct, handleOffSaleProduct);
15633
+ props.productTarget.eventEmitter.off(ProductEvents.ChangeProduct, handleChangeProduct);
15634
+ props.productTarget.eventEmitter.off(ProductEvents.MoveProduct, handleMoveProduct);
15635
+ props.productTarget.eventEmitter.off(ProductEvents.ProductSoldOut, handleProductSoldOut);
15636
+ props.productTarget.eventEmitter.off(ProductEvents.DeleteProduct, handleDeleteProduct);
15637
+ props.productTarget.eventEmitter.off(ProductEvents.RefreshProductList, handleRefreshProductList);
15638
+ props.productTarget.eventEmitter.off(ProductEvents.ProductClickTimes, handleProductClickTimesUpdate);
15639
+ }
15640
+ function setIsProductRedirectLinkDirectly() {
15641
+ return __async(this, null, function* () {
15642
+ if (!props.productTarget || !productData.value) return;
15643
+ const enabled = yield props.productTarget.getOutLinkProductRedirectEnabled();
15644
+ isProductRedirectLinkDirectly.value = productData.value.productType === ProductType.Normal && productData.value.buyType === ProductBuyType.Link && enabled;
15645
+ });
15646
+ }
15647
+ function getCurrentPushingProduct() {
15648
+ return __async(this, null, function* () {
15649
+ if (!props.productTarget) return;
15650
+ const data = yield props.productTarget.getCurrentPushingProduct();
15651
+ if (!data) return;
15652
+ handlePushProduct({
15653
+ productData: data,
15654
+ pushRule: data.pushRule || ProductPushRule.SmallCard
15655
+ });
15656
+ });
15657
+ }
15658
+ function getHotSaleConfig() {
15659
+ return __async(this, null, function* () {
15660
+ if (!props.productTarget) return;
15661
+ const config2 = yield props.productTarget.getProductHotSaleConfig();
15662
+ hotSaleConfig.value = config2;
15663
+ });
15664
+ }
15665
+ onMounted(() => {
15666
+ bindProductEvent();
15667
+ getCurrentPushingProduct();
15668
+ getPayProviders();
15669
+ setIsProductRedirectLinkDirectly();
15670
+ getHotSaleConfig();
15671
+ });
15672
+ onBeforeUnmount(() => {
15673
+ unbindProductEvent();
15674
+ });
15675
+ return {
15676
+ bigCardVisible,
15677
+ smallCardVisible,
15678
+ productData,
15679
+ currentPushRule,
15680
+ hotSaleTimes,
15681
+ lastHotSaleTimes,
15682
+ isProductRedirectLinkDirectly,
15683
+ hotSaleConfig,
15684
+ productHotEffectEnabled,
15685
+ openBigCard,
15686
+ openSmallCard,
15687
+ close,
15688
+ reset,
15689
+ openProductDetailPopup,
15690
+ handleDirectBuy
15691
+ };
15692
+ };
15693
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
15694
+ __name: "big-card",
15695
+ props: __spreadProps(__spreadValues({}, productCardProps()), {
15696
+ productData: PropUtils.object()
15697
+ }),
15698
+ emits: {
15699
+ "direct-buy": emitFunc()
15700
+ },
15701
+ setup(__props, { emit }) {
15702
+ const props = __props;
15703
+ const { $t } = useI18n();
15704
+ function onDirectBuy() {
15705
+ emit("direct-buy", props.productData);
15706
+ }
15707
+ return { __sfc: true, props, emit, $t, onDirectBuy, ProductItem, ProductButton, ProductItemScene };
15708
+ }
15709
+ });
15710
+ var _sfc_render$4 = function render48() {
15711
+ var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
15712
+ return _c("div", { staticClass: "plv-product-big-card" }, [_c("div", { staticClass: "plv-product-big-card__title" }, [_vm._v(" " + _vm._s(_setup.$t("bigCard.title")) + " ")]), _vm.productData ? [_c(_setup.ProductItem, { staticClass: "plv-product-big-card__item", attrs: { "scene": _setup.ProductItemScene.BigCard, "product": _vm.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig } }), _c(_setup.ProductButton, { attrs: { "product-data": _vm.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.onDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
15713
+ return [_c("button", { staticClass: "plv-product-big-card__buy-button", class: { "plv-product-big-card__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
15714
+ } }], null, false, 3984514254) })] : _vm._e()], 2);
15715
+ };
15716
+ var _sfc_staticRenderFns$4 = [];
15717
+ var __component__$4 = /* @__PURE__ */ normalizeComponent(
15718
+ _sfc_main$4,
15719
+ _sfc_render$4,
15720
+ _sfc_staticRenderFns$4
15721
+ );
15722
+ const BigCard = __component__$4.exports;
15723
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
15724
+ __name: "big-card-popup",
15725
+ props: __spreadValues(__spreadValues({}, popupCommonProps()), productCardProps()),
15726
+ emits: productCardEmits(),
15727
+ setup(__props, { expose, emit }) {
15728
+ const props = __props;
15729
+ useProductProvide(props);
15730
+ const { ProductPushRule } = getProductTargetExport(props.productTarget);
15731
+ const contentHeightPercent = computed(() => {
15732
+ return isMobile ? 0.7 : 0;
15733
+ });
15734
+ const {
15735
+ bigCardVisible,
15736
+ productData,
15737
+ openBigCard,
15738
+ close,
15739
+ handleDirectBuy
15740
+ } = useProductCard({ props, emit, scene: ProductPushRule.BigCard });
15741
+ expose({
15742
+ open: openBigCard,
15743
+ close
15744
+ });
15745
+ return { __sfc: true, props, emit, ProductPushRule, contentHeightPercent, bigCardVisible, productData, openBigCard, close, handleDirectBuy, CommonPopup, productEvents, ProductIconClose, BigCard };
15746
+ }
15747
+ });
15748
+ var _sfc_render$3 = function render49() {
15749
+ var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
15750
+ return _c(_setup.CommonPopup, { attrs: { "background": "none", "show-header": false, "open-event": _setup.productEvents.OpenProductBigCardPopup, "popup-config": _vm.popupConfig, "content-height-percent": _setup.contentHeightPercent }, model: { value: _setup.bigCardVisible, callback: function($$v) {
15751
+ _setup.bigCardVisible = $$v;
15752
+ }, expression: "bigCardVisible" } }, [_c("transition", { attrs: { "name": "plv-product-big-card-scale" } }, [_setup.bigCardVisible ? _c(_setup.BigCard, _vm._b({ attrs: { "product-data": _setup.productData }, on: { "direct-buy": _setup.handleDirectBuy } }, "big-card", _setup.props, false)) : _vm._e()], 1), _c("div", { staticClass: "plv-product-big-card-close-btn", on: { "click": _setup.close } }, [_c(_setup.ProductIconClose, { staticClass: "plv-product-big-card-close-btn__icon" })], 1)], 1);
15753
+ };
15754
+ var _sfc_staticRenderFns$3 = [];
15755
+ var __component__$3 = /* @__PURE__ */ normalizeComponent(
15756
+ _sfc_main$3,
15757
+ _sfc_render$3,
15758
+ _sfc_staticRenderFns$3
15759
+ );
15760
+ const bigCardPopup = __component__$3.exports;
15761
+ var vueCountTo_min$1 = { exports: {} };
15762
+ var vueCountTo_min = vueCountTo_min$1.exports;
15763
+ var hasRequiredVueCountTo_min;
15764
+ function requireVueCountTo_min() {
15765
+ if (hasRequiredVueCountTo_min) return vueCountTo_min$1.exports;
15766
+ hasRequiredVueCountTo_min = 1;
15767
+ (function(module2, exports2) {
15768
+ !function(t2, e) {
15769
+ module2.exports = e();
15770
+ }(vueCountTo_min, function() {
15771
+ return function(t2) {
15772
+ function e(n2) {
15773
+ if (i2[n2]) return i2[n2].exports;
15774
+ var a2 = i2[n2] = { i: n2, l: false, exports: {} };
15775
+ return t2[n2].call(a2.exports, a2, a2.exports, e), a2.l = true, a2.exports;
15776
+ }
15777
+ var i2 = {};
15778
+ return e.m = t2, e.c = i2, e.i = function(t3) {
15779
+ return t3;
15780
+ }, e.d = function(t3, i3, n2) {
15781
+ e.o(t3, i3) || Object.defineProperty(t3, i3, { configurable: false, enumerable: true, get: n2 });
15782
+ }, e.n = function(t3) {
15783
+ var i3 = t3 && t3.__esModule ? function() {
15784
+ return t3.default;
15785
+ } : function() {
15786
+ return t3;
15787
+ };
15788
+ return e.d(i3, "a", i3), i3;
15789
+ }, e.o = function(t3, e2) {
15790
+ return Object.prototype.hasOwnProperty.call(t3, e2);
15791
+ }, e.p = "/dist/", e(e.s = 2);
15792
+ }([function(t2, e, i2) {
15793
+ var n2 = i2(4)(i2(1), i2(5), null, null);
15794
+ t2.exports = n2.exports;
15795
+ }, function(t2, e, i2) {
15796
+ Object.defineProperty(e, "__esModule", { value: true });
15797
+ var n2 = i2(3);
15798
+ e.default = { props: { startVal: { type: Number, required: false, default: 0 }, endVal: { type: Number, required: false, default: 2017 }, duration: { type: Number, required: false, default: 3e3 }, autoplay: { type: Boolean, required: false, default: true }, decimals: { type: Number, required: false, default: 0, validator: function(t3) {
15799
+ return t3 >= 0;
15800
+ } }, decimal: { type: String, required: false, default: "." }, separator: { type: String, required: false, default: "," }, prefix: { type: String, required: false, default: "" }, suffix: { type: String, required: false, default: "" }, useEasing: { type: Boolean, required: false, default: true }, easingFn: { type: Function, default: function(t3, e2, i3, n3) {
15801
+ return i3 * (1 - Math.pow(2, -10 * t3 / n3)) * 1024 / 1023 + e2;
15802
+ } } }, data: function() {
15803
+ return { localStartVal: this.startVal, displayValue: this.formatNumber(this.startVal), printVal: null, paused: false, localDuration: this.duration, startTime: null, timestamp: null, remaining: null, rAF: null };
15804
+ }, computed: { countDown: function() {
15805
+ return this.startVal > this.endVal;
15806
+ } }, watch: { startVal: function() {
15807
+ this.autoplay && this.start();
15808
+ }, endVal: function() {
15809
+ this.autoplay && this.start();
15810
+ } }, mounted: function() {
15811
+ this.autoplay && this.start(), this.$emit("mountedCallback");
15812
+ }, methods: { start: function() {
15813
+ this.localStartVal = this.startVal, this.startTime = null, this.localDuration = this.duration, this.paused = false, this.rAF = (0, n2.requestAnimationFrame)(this.count);
15814
+ }, pauseResume: function() {
15815
+ this.paused ? (this.resume(), this.paused = false) : (this.pause(), this.paused = true);
15816
+ }, pause: function() {
15817
+ (0, n2.cancelAnimationFrame)(this.rAF);
15818
+ }, resume: function() {
15819
+ this.startTime = null, this.localDuration = +this.remaining, this.localStartVal = +this.printVal, (0, n2.requestAnimationFrame)(this.count);
15820
+ }, reset: function() {
15821
+ this.startTime = null, (0, n2.cancelAnimationFrame)(this.rAF), this.displayValue = this.formatNumber(this.startVal);
15822
+ }, count: function(t3) {
15823
+ this.startTime || (this.startTime = t3), this.timestamp = t3;
15824
+ var e2 = t3 - this.startTime;
15825
+ this.remaining = this.localDuration - e2, this.useEasing ? this.countDown ? this.printVal = this.localStartVal - this.easingFn(e2, 0, this.localStartVal - this.endVal, this.localDuration) : this.printVal = this.easingFn(e2, this.localStartVal, this.endVal - this.localStartVal, this.localDuration) : this.countDown ? this.printVal = this.localStartVal - (this.localStartVal - this.endVal) * (e2 / this.localDuration) : this.printVal = this.localStartVal + (this.localStartVal - this.startVal) * (e2 / this.localDuration), this.countDown ? this.printVal = this.printVal < this.endVal ? this.endVal : this.printVal : this.printVal = this.printVal > this.endVal ? this.endVal : this.printVal, this.displayValue = this.formatNumber(this.printVal), e2 < this.localDuration ? this.rAF = (0, n2.requestAnimationFrame)(this.count) : this.$emit("callback");
15826
+ }, isNumber: function(t3) {
15827
+ return !isNaN(parseFloat(t3));
15828
+ }, formatNumber: function(t3) {
15829
+ t3 = t3.toFixed(this.decimals), t3 += "";
15830
+ var e2 = t3.split("."), i3 = e2[0], n3 = e2.length > 1 ? this.decimal + e2[1] : "", a2 = /(\d+)(\d{3})/;
15831
+ if (this.separator && !this.isNumber(this.separator)) for (; a2.test(i3); ) i3 = i3.replace(a2, "$1" + this.separator + "$2");
15832
+ return this.prefix + i3 + n3 + this.suffix;
15833
+ } }, destroyed: function() {
15834
+ (0, n2.cancelAnimationFrame)(this.rAF);
15835
+ } };
15836
+ }, function(t2, e, i2) {
15837
+ Object.defineProperty(e, "__esModule", { value: true });
15838
+ var n2 = i2(0), a2 = function(t3) {
15839
+ return t3 && t3.__esModule ? t3 : { default: t3 };
15840
+ }(n2);
15841
+ e.default = a2.default, "undefined" != typeof window && window.Vue && window.Vue.component("count-to", a2.default);
15842
+ }, function(t2, e, i2) {
15843
+ Object.defineProperty(e, "__esModule", { value: true });
15844
+ var n2 = 0, a2 = "webkit moz ms o".split(" "), r2 = void 0, o2 = void 0;
15845
+ if ("undefined" == typeof window) e.requestAnimationFrame = r2 = function() {
15846
+ }, e.cancelAnimationFrame = o2 = function() {
15847
+ };
15848
+ else {
15849
+ e.requestAnimationFrame = r2 = window.requestAnimationFrame, e.cancelAnimationFrame = o2 = window.cancelAnimationFrame;
15850
+ for (var s2 = void 0, u2 = 0; u2 < a2.length && (!r2 || !o2); u2++) s2 = a2[u2], e.requestAnimationFrame = r2 = r2 || window[s2 + "RequestAnimationFrame"], e.cancelAnimationFrame = o2 = o2 || window[s2 + "CancelAnimationFrame"] || window[s2 + "CancelRequestAnimationFrame"];
15851
+ r2 && o2 || (e.requestAnimationFrame = r2 = function(t3) {
15852
+ var e2 = (/* @__PURE__ */ new Date()).getTime(), i3 = Math.max(0, 16 - (e2 - n2)), a3 = window.setTimeout(function() {
15853
+ t3(e2 + i3);
15854
+ }, i3);
15855
+ return n2 = e2 + i3, a3;
15856
+ }, e.cancelAnimationFrame = o2 = function(t3) {
15857
+ window.clearTimeout(t3);
15858
+ });
15859
+ }
15860
+ e.requestAnimationFrame = r2, e.cancelAnimationFrame = o2;
15861
+ }, function(t2, e) {
15862
+ t2.exports = function(t3, e2, i2, n2) {
15863
+ var a2, r2 = t3 = t3 || {}, o2 = typeof t3.default;
15864
+ "object" !== o2 && "function" !== o2 || (a2 = t3, r2 = t3.default);
15865
+ var s2 = "function" == typeof r2 ? r2.options : r2;
15866
+ if (e2 && (s2.render = e2.render, s2.staticRenderFns = e2.staticRenderFns), i2 && (s2._scopeId = i2), n2) {
15867
+ var u2 = Object.create(s2.computed || null);
15868
+ Object.keys(n2).forEach(function(t4) {
15869
+ var e3 = n2[t4];
15870
+ u2[t4] = function() {
15871
+ return e3;
15872
+ };
15873
+ }), s2.computed = u2;
15874
+ }
15875
+ return { esModule: a2, exports: r2, options: s2 };
15876
+ };
15877
+ }, function(t2, e) {
15878
+ t2.exports = { render: function() {
15879
+ var t3 = this, e2 = t3.$createElement;
15880
+ return (t3._self._c || e2)("span", [t3._v("\n " + t3._s(t3.displayValue) + "\n")]);
15881
+ }, staticRenderFns: [] };
15882
+ }]);
15883
+ });
15884
+ })(vueCountTo_min$1);
15885
+ return vueCountTo_min$1.exports;
15886
+ }
15887
+ var vueCountTo_minExports = requireVueCountTo_min();
15888
+ const CountTo = /* @__PURE__ */ getDefaultExportFromCjs(vueCountTo_minExports);
15889
+ var pkg_version = "1.0.3";
15890
+ function install(app) {
15891
+ app.component("count-to", CountTo);
15892
+ }
15893
+ "undefined" != typeof window && (window.countTo = { install, version: pkg_version, CountTo });
15894
+ const iconNormalProductSale = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAMKSURBVFiF7ZbPS1RRFMc/973nzDgzOm9MU3S0YWYsLQspoh+0mBaRCoJF4CaoXW2CXBS0KVuES4MWbYsW7SIIMmhh/0FCmwipAROCDBWaNHXeafGcp/PjPR0VN/mFw33cc+453/O99773YA972AbkQnu3pBMft5PD2HLxdOIci7k3oLacA0DbUvHe1GlW1DhBZVKnwpKOm7tGQNIHO/htjVGLQZ0CH2BpN3eNAJIboUaZRAFNwCdgcMNx96ZOSzo5Jr2p2I4TkEvJHpQM0IB9evIWIi7pxG07oxwD6SEr45shUZkCM3KNVkCXQjMBYUT62rsRTtIKaJJiwXq/swTCDBAA9CILAPsI8Cc3hiZXCQAHAOiQi8mnXimVl1P64t1Ak3qbeSeDyS6QT0TFfcFXBVFwYpaAbwqajE718svncku8FVjSXpDVXsrlVIx5uohKaffrLSFQuy6mGmgBZlceuJVwJSD9yesYdNEgJjPWOLXsxyel+18fXnv2CVQX+ess0LhSMQH+WIMkLGgWMEiRlUclHft1OBqD/TXeyjSLIf3J65URaOQcwdWujlhgSdjpKlRljxG/LXNnI4SMUnXyFhZYtspeSXcCQQk7HQQFDlv2c7gKzrRBQIeOeggImAYcanBXwC/QJGW/Ge4fkuAq+zz01fFEM0Sr4FQM9gXX/PX+wvhi1Euk3LS7AiYTJZ00hqAlaN/7/Ji3xoAd0+WiRJD5cmXcFdBkCqS7YK49Yp9yN5xthngEpucgu1TszZQt40HgVUkXTYHCroutI2KPDf5SBdBfV0RA3Z96hk7GPsnY+1uteV835wWkU7DO4IMazsxVpgCA4qGTRAeyy57hDlZyFKzTrSG3UE8C6t7UM7R1JOYXNi6+nIOZ7FpxTYbU3emJLREAUHe+DztKTP7amMDkL7BW7OKKh+rO9GPP/BtntCGjrQPo1ihtZpzjLv8Z84swPgmQIZc7r4Z+ZDbKu2kCDpEnsTSJ6DXa6gYI+UwMDX7/XWRq9jOTPyewtOfq1vcPlebdw/+Lf/Rl7Pynk6nBAAAAAElFTkSuQmCC";
15895
+ const iconPositionProductSale = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAGFSURBVFiF7ZYxTsMwFIY/O22lItgrYLAQQ7f2CD0CAwOHYKAnQJyg2Zi7MTAgcQB6hLJ0oUNViDgAYoL2MaRRQ4kTJ2nF0P6S9Wz5+b3ff2znwQ7bDpU2KWdNA7NrRHVATIHoQ5C+ehj7uQnIRdPwNXtCMChAFt5FrMZX9y/dpDzayn7+3UOLwRPQQimr5ErOTztJaSpWAp60M75QXrSBgTsBjUFJKGGESNJi41ZSGjuB+EzrEI72oQZUgZosLCtWYPwJd+/WsO4EvNhWoi8haVaWvvG1f4I4E4j1RwGMrJ7pazPgpsAG4abA/xBYswKSHM9NgZNjaBxAHagL7LHoA8EHPAbZBCxPipsCq++l8Pvku6glZW7B9BWmKcFdzkspBdaCMmdgg9iid6DYGShbicRsfgKQ8ffJZ1Xea1iRCaLMcicRCo5l/pyUxl6SaQZ4EirhSawVHFfUMB8Bqjd4TMIApZuvum+DpCzpZfltwzDXPcJ6zqT5JkMNEfrqMrCW5Tvs8AP9j5noqrxIOAAAAABJRU5ErkJggg==";
15896
+ const iconFinanceProductSale = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAHlSURBVFiF7Za/ihNBHMc/v9mE40gwe40INtMIZxfwBbJPoHaWV2pl8gTxnuA6tbBIp52+QdYncLuI1RYiFgFXMAh3u/OzSESIO5sd0VO5+8Kw7P7+ffY3w8zApS66JDRAx3HMKWPgNmA3WTKU1zhm8rTI/xiA3o8tIm+A2OOSI3pXHhdZ25wmqLiTOZXElKSoJuzpAXt6gGpCRUYlltK81KPYB/iTOm0dOY1GCBbRTJ59SrasqR7FCR2ZozLEmDHwqE3a1h3AMaUSKM2kziyzoqA0EyoBJw/bpg0AMBYnyGyZ+lxktkxxAs60noLGRah3Di2mmuJkRK+wAKwGzRl7n9fPVZwDGZiJvHqbBwPovUNLVc1RXRfufF0byv1mgG0/kZwoSuRFPYR/CqQ8IVJLh81S3V+P7+++se0XqYWzqZfX/yc6RL3WMAmjcIBo0/pt3boON/owULgC9PXHRC5W8PxDXVR9rkYAn+Vq3xvCzV7IzrILwNP/5RcY9Kmdnncrf1w4gOf74j0sfiljKMDvWoH/L8C51P+nO/DXAc6lfiNADp7dMFiS+yz+w6hLuvPgaTu66r0j+jtgomPkbETDPt5SOdqtvUXBrgvJk2sWZ06AIRoIIuQoKZE7lgcf86DYS10ofQNyBo61Y6qF2AAAAABJRU5ErkJggg==";
15897
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
15898
+ __name: "hot-sale-tip",
15899
+ props: {
15900
+ productTarget: PropUtils.object().isRequired,
15901
+ product: PropUtils.object().isRequired,
15902
+ hotSaleTimes: PropUtils.number.def(0),
15903
+ lastHotSaleTimes: PropUtils.number.def(0),
15904
+ hotSaleConfig: PropUtils.object()
15905
+ },
15906
+ setup(__props) {
15907
+ const props = __props;
15908
+ const { ProductType } = getProductTargetExport(props.productTarget);
15909
+ const countToRef = ref(null);
15910
+ const isCountToAnimation = ref(false);
15911
+ const hotSaleIcon = computed(() => {
15912
+ switch (props.product.productType) {
15913
+ case ProductType.Normal:
15914
+ return iconNormalProductSale;
15915
+ case ProductType.Position:
15916
+ return iconPositionProductSale;
15917
+ case ProductType.Finance:
15918
+ return iconFinanceProductSale;
15919
+ default:
15920
+ return iconNormalProductSale;
15921
+ }
15922
+ });
15923
+ const hotSaleText = computed(() => {
15924
+ var _a;
15925
+ const { productHotEffectTips } = (_a = props.hotSaleConfig) != null ? _a : {};
15926
+ if (!productHotEffectTips) return "";
15927
+ const { normalProductTips, jobProductTips, financeProductTips } = productHotEffectTips;
15928
+ switch (props.product.productType) {
15929
+ case ProductType.Normal:
15930
+ return normalProductTips;
15931
+ case ProductType.Position:
15932
+ return jobProductTips;
15933
+ case ProductType.Finance:
15934
+ return financeProductTips;
15935
+ default:
15936
+ return normalProductTips;
15937
+ }
15938
+ });
15939
+ watch(
15940
+ () => props.product,
15941
+ (newVal, oldVal) => {
15942
+ var _a, _b;
15943
+ if (oldVal && newVal.productId !== oldVal.productId) {
15944
+ (_b = (_a = countToRef.value) == null ? void 0 : _a.reset) == null ? void 0 : _b.call(_a);
15945
+ }
15946
+ }
15947
+ );
15948
+ const startCountAnimation = () => {
15949
+ var _a, _b;
15950
+ if (props.hotSaleTimes > 9999) return;
15951
+ if (!countToRef.value) return;
15952
+ isCountToAnimation.value = true;
15953
+ (_b = (_a = countToRef.value).start) == null ? void 0 : _b.call(_a);
15954
+ setTimeout(() => {
15955
+ isCountToAnimation.value = false;
15956
+ }, 2e3);
15957
+ };
15958
+ watch(
15959
+ () => props.hotSaleTimes,
15960
+ () => {
15961
+ startCountAnimation();
15962
+ }
15963
+ );
15964
+ onMounted(() => {
15965
+ startCountAnimation();
15966
+ });
15967
+ return { __sfc: true, props, ProductType, countToRef, isCountToAnimation, hotSaleIcon, hotSaleText, startCountAnimation, CountTo };
15968
+ }
15969
+ });
15970
+ var _sfc_render$2 = function render50() {
15971
+ var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
15972
+ return _c("div", { staticClass: "plv-product-hot-sale" }, [_c("div", { staticClass: "plv-product-hot-sale__icon" }, [_c("img", { staticClass: "plv-product-hot-sale__icon-img", attrs: { "src": _setup.hotSaleIcon } })]), _c("div", { staticClass: "plv-product-hot-sale__content" }, [_c("span", { staticClass: "plv-product-hot-sale__tips" }, [_vm._v(_vm._s(_setup.hotSaleText))]), _vm.hotSaleTimes >= 9999 ? _c("div", { staticClass: "plv-font-din-pro-regular" }, [_c("span", { staticClass: "plv-product-hot-sale__symbol" }, [_vm._v("x")]), _vm._v("9999+ ")]) : _c("div", { staticClass: "plv-font-din-pro-regular", class: { "plv-product-hot-sale__count-to-animation": _setup.isCountToAnimation && _vm.hotSaleTimes !== 0 } }, [_c("span", { staticClass: "plv-product-hot-sale__symbol" }, [_vm._v("x")]), _c(_setup.CountTo, { ref: "countToRef", attrs: { "start-val": _vm.lastHotSaleTimes, "end-val": _vm.hotSaleTimes, "autoplay": false, "duration": 2e3 } })], 1)])]);
15973
+ };
15974
+ var _sfc_staticRenderFns$2 = [];
15975
+ var __component__$2 = /* @__PURE__ */ normalizeComponent(
15976
+ _sfc_main$2,
15977
+ _sfc_render$2,
15978
+ _sfc_staticRenderFns$2
15979
+ );
15980
+ const HotSaleTip = __component__$2.exports;
15981
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
15982
+ __name: "cover",
15983
+ props: __spreadProps(__spreadValues({}, productProps()), {
15984
+ product: PropUtils.object().isRequired
15985
+ }),
15986
+ setup(__props) {
15987
+ const props = __props;
15988
+ const { $t } = useI18n();
15989
+ const { isSoldOut } = useProductStock({
15990
+ product: () => props.product
15991
+ });
15992
+ const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
15993
+ return { __sfc: true, props, $t, isSoldOut, productExplainEnabled, handleClickExplain, ossCompress, ProductFeatureTag, ProductExplain };
15994
+ }
15995
+ });
15996
+ var _sfc_render$1 = function render51() {
15997
+ var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
15998
+ return _vm.product ? _c("div", { staticClass: "plv-product-card__cover" }, [_c("div", { staticClass: "plv-product-card__cover-mask" }), _c("img", { staticClass: "plv-product-card__cover-img", attrs: { "src": _setup.ossCompress(_vm.product.cover, { width: 330 }), "alt": _vm.product.name } }), _setup.isSoldOut ? _c("div", { staticClass: "plv-product-card__cover-stock" }, [_vm._v(" - " + _vm._s(_setup.$t("product.stock.soldOut")) + " - ")]) : _vm._e(), _vm.product.displayNumber && !_setup.productExplainEnabled ? _c("div", { staticClass: "plv-product-card__ranking plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _vm.product.featureTags && _vm.product.featureTags.length > 0 ? _c(_setup.ProductFeatureTag, { staticClass: "plv-product-card__feature-tag", attrs: { "tag": _vm.product.featureTags[0] } }) : _vm._e(), _setup.productExplainEnabled ? _c(_setup.ProductExplain, { staticClass: "plv-product-card__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e()], 1) : _vm._e();
15999
+ };
16000
+ var _sfc_staticRenderFns$1 = [];
16001
+ var __component__$1 = /* @__PURE__ */ normalizeComponent(
16002
+ _sfc_main$1,
16003
+ _sfc_render$1,
16004
+ _sfc_staticRenderFns$1
16005
+ );
16006
+ const Cover = __component__$1.exports;
16007
+ const _sfc_main = /* @__PURE__ */ defineComponent({
16008
+ __name: "small-card",
16009
+ props: __spreadValues({}, productCardProps()),
16010
+ emits: productCardEmits(),
16011
+ setup(__props, { emit }) {
16012
+ const props = __props;
16013
+ useProductProvide(props);
16014
+ const { ProductPushRule } = getProductTargetExport(props.productTarget);
16015
+ const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
16016
+ const {
16017
+ smallCardVisible,
16018
+ productData,
16019
+ isProductRedirectLinkDirectly,
16020
+ hotSaleTimes,
16021
+ lastHotSaleTimes,
16022
+ hotSaleConfig,
16023
+ productHotEffectEnabled,
16024
+ close,
16025
+ openProductDetailPopup,
16026
+ handleDirectBuy
16027
+ } = useProductCard({ props, emit, scene: ProductPushRule.SmallCard });
16028
+ return { __sfc: true, props, emit, ProductPushRule, productExplainEnabled, handleClickExplain, smallCardVisible, productData, isProductRedirectLinkDirectly, hotSaleTimes, lastHotSaleTimes, hotSaleConfig, productHotEffectEnabled, close, openProductDetailPopup, handleDirectBuy, ProductButton, ProductIconClose, ProductTitle, ProductPrice, ProductFeatureTag, ProductExplain, HotSaleTip, Cover };
16029
+ }
16030
+ });
16031
+ var _sfc_render = function render52() {
16032
+ var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
16033
+ return _setup.productData ? _c("div", { staticClass: "plv-product-small-card-root" }, [_c("transition", { attrs: { "name": "plv-product-small-card-animation" } }, [_setup.smallCardVisible ? _c("div", { staticClass: "plv-product-small-card-container" }, [_setup.productHotEffectEnabled ? _c(_setup.HotSaleTip, { attrs: { "product-target": _vm.productTarget, "product": _setup.productData, "hot-sale-times": _setup.hotSaleTimes, "last-hot-sale-times": _setup.lastHotSaleTimes, "hot-sale-config": _setup.hotSaleConfig } }) : _vm._e(), _c(_setup.ProductButton, { attrs: { "product-data": _setup.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig, "disabled": !_setup.isProductRedirectLinkDirectly } }, [_c("div", { staticClass: "plv-product-small-card", class: { "plv-product-small-card--no-cover": !_setup.productData.cover }, on: { "click": _setup.openProductDetailPopup } }, [_c("div", { staticClass: "plv-product-small-card__close-area", on: { "click": function($event) {
16034
+ $event.stopPropagation();
16035
+ return _setup.close.apply(null, arguments);
16036
+ } } }, [_c(_setup.ProductIconClose, { staticClass: "plv-product-small-card__icon-close" })], 1), _setup.productData.displayNumber && !_setup.productData.cover && !_setup.productExplainEnabled ? _c("div", { staticClass: "plv-product-small-card__display-number plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_setup.productData.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled && !_setup.productData.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-small-card__explain", attrs: { "product": _setup.productData, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e(), _setup.productData.cover ? _c(_setup.Cover, { attrs: { "product": _setup.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig } }) : _vm._e(), _c("div", { class: { "plv-product-small-card__content--no-cover": !_setup.productData.cover } }, [!_setup.productData.cover && _setup.productData.featureTags.length > 0 ? _c(_setup.ProductFeatureTag, { attrs: { "tag": _setup.productData.featureTags[0] } }) : _vm._e(), _c(_setup.ProductTitle, { attrs: { "title": _setup.productData.name, "use-ellipsis": "" } }), _c(_setup.ProductPrice, { attrs: { "product": _setup.productData } }), _c(_setup.ProductButton, { attrs: { "product-data": _setup.productData, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.handleDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
16037
+ return [_c("button", { staticClass: "plv-product-small-card__buy-button", class: { "plv-product-small-card__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
16038
+ } }], null, false, 2260219374) })], 1)], 1)])], 1) : _vm._e()])], 1) : _vm._e();
16039
+ };
15316
16040
  var _sfc_staticRenderFns = [];
15317
16041
  var __component__ = /* @__PURE__ */ normalizeComponent(
15318
16042
  _sfc_main,
15319
16043
  _sfc_render,
15320
16044
  _sfc_staticRenderFns
15321
16045
  );
15322
- const orderPopup = __component__.exports;
16046
+ const smallCard = __component__.exports;
15323
16047
  ;
15324
16048
  console.log(
15325
16049
  "%c@polyv/product-ui",
15326
16050
  "background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff",
15327
16051
  "[component: index]",
15328
- "[version: 1.0.0-rc-20250612.4]",
15329
- "[buildTime: 2025-06-12 09:58:06]"
16052
+ "[version: 1.1.0-rc-20250703.1]",
16053
+ "[buildTime: 2025-07-03 01:47:56]"
15330
16054
  );
15331
16055
  export {
15332
16056
  AddressEdit,
15333
16057
  AddressEditFormType,
15334
16058
  AddressItem,
15335
16059
  AddressList,
16060
+ bigCardPopup as BigCardPopup,
15336
16061
  mobileProductPendant as MobileProductPendant,
15337
16062
  OrderConfirm,
15338
16063
  OrderDetail,
@@ -15347,5 +16072,6 @@ export {
15347
16072
  productIframeLinkPopup as ProductIframeLinkPopup,
15348
16073
  ProductItem,
15349
16074
  ProductList,
15350
- productListPopup as ProductListPopup
16075
+ productListPopup as ProductListPopup,
16076
+ smallCard as SmallCard
15351
16077
  };