@polyv/product-ui 1.0.0-rc-20250612.3 → 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 +1438 -708
  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 +265 -203
  47. package/product-detail-popup.umd.js +3 -3
  48. package/product-detail.cjs.js +3 -3
  49. package/product-detail.es.js +337 -283
  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 +419 -222
  56. package/product-item.umd.js +3 -3
  57. package/product-list-popup.cjs.js +3 -3
  58. package/product-list-popup.es.js +445 -313
  59. package/product-list-popup.umd.js +3 -3
  60. package/product-list.cjs.js +3 -3
  61. package/product-list.es.js +436 -312
  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,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);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(""),
@@ -6833,24 +6920,31 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
6833
6920
  }
6834
6921
  function isTitleOverflowing() {
6835
6922
  const titleEl = titleRef.value;
6836
- if (!titleEl) return false;
6923
+ if (!titleEl || !titleEl.parentElement) {
6924
+ return false;
6925
+ }
6926
+ const originalRect = titleEl.getBoundingClientRect();
6837
6927
  const clone = titleEl.cloneNode(true);
6838
- const computedStyle = window.getComputedStyle(titleEl);
6839
- clone.style.font = computedStyle.font;
6840
- clone.style.lineHeight = computedStyle.lineHeight;
6841
- clone.style.display = "block";
6842
- clone.style.width = titleEl.clientWidth + "px";
6843
- clone.style.visibility = "hidden";
6844
6928
  clone.style.position = "absolute";
6929
+ clone.style.top = "-9999px";
6930
+ clone.style.left = "-9999px";
6931
+ clone.style.visibility = "hidden";
6932
+ clone.style.width = `${originalRect.width}px`;
6933
+ clone.style.boxSizing = "border-box";
6845
6934
  clone.style.whiteSpace = "normal";
6846
- document.body.appendChild(clone);
6847
- const isOverflowing = clone.scrollHeight > titleEl.clientHeight + 1;
6848
- document.body.removeChild(clone);
6849
- return isOverflowing;
6935
+ clone.style.webkitLineClamp = "unset";
6936
+ clone.style.display = "block";
6937
+ titleEl.parentElement.appendChild(clone);
6938
+ const cloneHeight = clone.getBoundingClientRect().height;
6939
+ titleEl.parentElement.removeChild(clone);
6940
+ return cloneHeight > originalRect.height + 1;
6850
6941
  }
6851
- function checkTitleOverflow() {
6942
+ const checkOverflow2 = () => {
6852
6943
  moreArrowVisible.value = isTitleOverflowing();
6853
- }
6944
+ };
6945
+ onMounted(() => {
6946
+ checkOverflow2();
6947
+ });
6854
6948
  watch(
6855
6949
  () => props.title,
6856
6950
  () => {
@@ -6858,30 +6952,27 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
6858
6952
  titleRef.value.classList.remove("plv-product-c-item__title--expanded");
6859
6953
  }
6860
6954
  nextTick$1(() => {
6861
- checkTitleOverflow();
6955
+ checkOverflow2();
6862
6956
  });
6863
6957
  }
6864
6958
  );
6865
- onMounted(() => {
6866
- checkTitleOverflow();
6867
- });
6868
- return { __sfc: true, props, titleRef, moreArrowVisible, handleExpand, isTitleOverflowing, checkTitleOverflow, ProductIconArrowDown };
6959
+ return { __sfc: true, props, titleRef, moreArrowVisible, handleExpand, isTitleOverflowing, checkOverflow: checkOverflow2, ProductIconArrowDown };
6869
6960
  }
6870
6961
  });
6871
- var _sfc_render$A = function render11() {
6962
+ var _sfc_render$F = function render11() {
6872
6963
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6873
6964
  return _c("div", { staticClass: "plv-product-c-item__title-container" }, [_c("div", { ref: "titleRef", staticClass: "plv-product-c-item__title", class: {
6874
6965
  "plv-product-c-item__title--single": _vm.useEllipsis
6875
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()]);
6876
6967
  };
6877
- var _sfc_staticRenderFns$A = [];
6878
- var __component__$A = /* @__PURE__ */ normalizeComponent(
6879
- _sfc_main$A,
6880
- _sfc_render$A,
6881
- _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
6882
6973
  );
6883
- const ProductTitle = __component__$A.exports;
6884
- const _sfc_main$z = /* @__PURE__ */ defineComponent({
6974
+ const ProductTitle = __component__$F.exports;
6975
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
6885
6976
  __name: "product-feature-tag",
6886
6977
  props: {
6887
6978
  tag: PropUtils.string.def(""),
@@ -6895,19 +6986,19 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
6895
6986
  return { __sfc: true, props, containerStyle };
6896
6987
  }
6897
6988
  });
6898
- var _sfc_render$z = function render12() {
6989
+ var _sfc_render$E = function render12() {
6899
6990
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6900
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()]);
6901
6992
  };
6902
- var _sfc_staticRenderFns$z = [];
6903
- var __component__$z = /* @__PURE__ */ normalizeComponent(
6904
- _sfc_main$z,
6905
- _sfc_render$z,
6906
- _sfc_staticRenderFns$z
6907
- );
6908
- const ProductFeatureTag = __component__$z.exports;
6909
- const _sfc_main$y = /* @__PURE__ */ defineComponent({
6910
- __name: "product-price",
6993
+ var _sfc_staticRenderFns$E = [];
6994
+ var __component__$E = /* @__PURE__ */ normalizeComponent(
6995
+ _sfc_main$E,
6996
+ _sfc_render$E,
6997
+ _sfc_staticRenderFns$E
6998
+ );
6999
+ const ProductFeatureTag = __component__$E.exports;
7000
+ const _sfc_main$D = /* @__PURE__ */ defineComponent({
7001
+ __name: "product-price",
6911
7002
  props: {
6912
7003
  product: PropUtils.object()
6913
7004
  },
@@ -6940,22 +7031,143 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
6940
7031
  return { __sfc: true, props, $t, ProductType, ProductPriceType, isFreeProduct, hiddenPriceMarks, displayPrice };
6941
7032
  }
6942
7033
  });
6943
- var _sfc_render$y = function render13() {
7034
+ var _sfc_render$D = function render13() {
6944
7035
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6945
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();
6946
7037
  };
6947
- var _sfc_staticRenderFns$y = [];
6948
- var __component__$y = /* @__PURE__ */ normalizeComponent(
6949
- _sfc_main$y,
6950
- _sfc_render$y,
6951
- _sfc_staticRenderFns$y
7038
+ var _sfc_staticRenderFns$D = [];
7039
+ var __component__$D = /* @__PURE__ */ normalizeComponent(
7040
+ _sfc_main$D,
7041
+ _sfc_render$D,
7042
+ _sfc_staticRenderFns$D
6952
7043
  );
6953
- const ProductPrice = __component__$y.exports;
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
+ };
6954
7166
  const productItemProps = () => __spreadProps(__spreadValues({}, productProps()), {
6955
- product: PropUtils.object().isRequired
7167
+ product: PropUtils.object().isRequired,
7168
+ scene: PropUtils.enum()
6956
7169
  });
6957
7170
  const productItemEmits = () => ({
6958
- "click-explain": emitFunc(),
6959
7171
  "click-product-item": emitFunc(),
6960
7172
  "direct-buy": emitFunc()
6961
7173
  });
@@ -6963,20 +7175,14 @@ const useProductItem = (options) => {
6963
7175
  const { props, emit } = options;
6964
7176
  const { ProductType, ProductBuyType } = getProductTargetExport(props.productTarget);
6965
7177
  const { getEmitter } = useGlobalInject();
6966
- const productExplainEnabled = ref(false);
7178
+ const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
7179
+ const { trackProductItemClick, trackProductPushItemClick } = useProductTrack({ productTarget: props.productTarget });
6967
7180
  const isProductRedirectLinkDirectly = ref(false);
6968
7181
  const shouldEllipsisTitle = computed(() => {
6969
7182
  const { product } = props;
6970
7183
  return !!(product.name && product.featureTags.length && (product.description && product.productType !== ProductType.Position));
6971
7184
  });
6972
- function setProductExplainEnabled() {
6973
- return __async(this, null, function* () {
6974
- if (!props.productTarget) return;
6975
- const enabled = yield props.productTarget.getProductExplainEnabled();
6976
- productExplainEnabled.value = enabled;
6977
- });
6978
- }
6979
- function setIsProductRedirectLinkDirectly() {
7185
+ function getIsProductRedirectLinkDirectly() {
6980
7186
  return __async(this, null, function* () {
6981
7187
  const { product, productTarget } = props;
6982
7188
  if (!product || !productTarget) return false;
@@ -6984,11 +7190,13 @@ const useProductItem = (options) => {
6984
7190
  isProductRedirectLinkDirectly.value = product.productType === ProductType.Normal && product.buyType === ProductBuyType.Link && enabled;
6985
7191
  });
6986
7192
  }
6987
- function onClickExplain(product) {
6988
- emit("click-explain", product);
6989
- }
6990
7193
  function onClickProductItem() {
6991
7194
  emit("click-product-item", props.product);
7195
+ if (props.scene === ProductItemScene.BigCard) {
7196
+ trackProductPushItemClick(props.product);
7197
+ } else {
7198
+ trackProductItemClick(props.product);
7199
+ }
6992
7200
  if (props.product.productType !== ProductType.Finance) {
6993
7201
  getEmitter().emit(productEvents.OpenProductDetailPopup, props.product);
6994
7202
  }
@@ -6996,22 +7204,19 @@ const useProductItem = (options) => {
6996
7204
  function onDirectBuy(product) {
6997
7205
  emit("direct-buy", product);
6998
7206
  }
6999
- onMounted(() => {
7000
- setProductExplainEnabled();
7001
- });
7002
7207
  watchEffect(() => {
7003
- setIsProductRedirectLinkDirectly();
7208
+ getIsProductRedirectLinkDirectly();
7004
7209
  });
7005
7210
  return {
7006
7211
  productExplainEnabled,
7007
7212
  isProductRedirectLinkDirectly,
7008
7213
  shouldEllipsisTitle,
7009
7214
  onDirectBuy,
7010
- onClickExplain,
7215
+ handleClickExplain,
7011
7216
  onClickProductItem
7012
7217
  };
7013
7218
  };
7014
- const _sfc_main$x = /* @__PURE__ */ defineComponent({
7219
+ const _sfc_main$C = /* @__PURE__ */ defineComponent({
7015
7220
  __name: "product-item",
7016
7221
  props: productItemProps(),
7017
7222
  emits: productItemEmits(),
@@ -7027,121 +7232,48 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
7027
7232
  isProductRedirectLinkDirectly,
7028
7233
  shouldEllipsisTitle,
7029
7234
  onDirectBuy,
7030
- onClickExplain,
7031
- onClickProductItem
7235
+ onClickProductItem,
7236
+ handleClickExplain
7032
7237
  } = useProductItem({
7033
7238
  props,
7034
7239
  emit
7035
7240
  });
7036
- 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 };
7037
7242
  }
7038
7243
  });
7039
- var _sfc_render$x = function render14() {
7244
+ var _sfc_render$C = function render14() {
7040
7245
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7041
- 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) {
7042
7247
  return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
7043
- }), 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 }) {
7044
7249
  return [_c("button", { staticClass: "plv-product-item__buy-button", class: { "plv-product-item__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
7045
- } }]) })], 1)])])]);
7250
+ } }], null, false, 477326030) }) : _vm._e()], 1)])])]);
7046
7251
  };
7047
- var _sfc_staticRenderFns$x = [];
7048
- var __component__$x = /* @__PURE__ */ normalizeComponent(
7049
- _sfc_main$x,
7050
- _sfc_render$x,
7051
- _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
7052
7257
  );
7053
- const ProductItem = __component__$x.exports;
7054
- const _sfc_main$w = /* @__PURE__ */ defineComponent({
7258
+ const ProductItem = __component__$C.exports;
7259
+ const _sfc_main$B = /* @__PURE__ */ defineComponent({
7055
7260
  __name: "product-empty",
7056
7261
  setup(__props) {
7057
7262
  const { $t } = useI18n();
7058
7263
  return { __sfc: true, $t, ProductIconSearchEmpty };
7059
7264
  }
7060
7265
  });
7061
- var _sfc_render$w = function render15() {
7266
+ var _sfc_render$B = function render15() {
7062
7267
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7063
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);
7064
7269
  };
7065
- var _sfc_staticRenderFns$w = [];
7066
- var __component__$w = /* @__PURE__ */ normalizeComponent(
7067
- _sfc_main$w,
7068
- _sfc_render$w,
7069
- _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
7070
7275
  );
7071
- const ProductEmpty = __component__$w.exports;
7072
- const useProductTrack = (options) => {
7073
- const { productTarget, ProductType } = options;
7074
- const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
7075
- const trackedProductIds = ref({});
7076
- const productListRef = ref(null);
7077
- const productItemsRef = shallowRef([]);
7078
- function setItemRef(el) {
7079
- if (el) {
7080
- productItemsRef.value.push(el);
7081
- }
7082
- }
7083
- function trackProductViewEvent(productData) {
7084
- const specAttrs = {
7085
- exposureTime: (/* @__PURE__ */ new Date()).getTime(),
7086
- name: productData.name,
7087
- realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
7088
- productId: productData.productId,
7089
- productType: productData.productType,
7090
- productFeature: JSON.stringify(productData.featureTags)
7091
- };
7092
- if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
7093
- specAttrs.price = productData.originPrice;
7094
- }
7095
- trackEvent({
7096
- event_id: "product_list_item_view",
7097
- event_type: "show",
7098
- spec_attrs: specAttrs
7099
- });
7100
- }
7101
- function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
7102
- const offsetTop = element.offsetTop;
7103
- const offsetHeight = element.offsetHeight;
7104
- const elementBottom = offsetTop + offsetHeight;
7105
- const isFullyAbove = elementBottom <= containerScrollTop;
7106
- const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
7107
- return !isFullyAbove && !isBottomBelowViewportBottom;
7108
- }
7109
- function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
7110
- if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
7111
- return;
7112
- }
7113
- const element = itemInstance.$el;
7114
- const productId = itemInstance.product.productId;
7115
- const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
7116
- if (isVisible && !trackedProductIds.value[productId]) {
7117
- trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
7118
- trackProductViewEvent(itemInstance.product);
7119
- }
7120
- }
7121
- function trackProduct() {
7122
- return __async(this, null, function* () {
7123
- yield nextTick$1();
7124
- const container = productListRef.value;
7125
- if (!container || !productItemsRef.value.length) return;
7126
- const scrollTop = container.scrollTop;
7127
- const scrollClientHeight = container.clientHeight;
7128
- const viewportBottom = scrollTop + scrollClientHeight;
7129
- productItemsRef.value.forEach((itemInstance) => {
7130
- checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
7131
- });
7132
- });
7133
- }
7134
- function clearTrackedProducts() {
7135
- trackedProductIds.value = {};
7136
- productItemsRef.value = [];
7137
- }
7138
- return {
7139
- productListRef,
7140
- setItemRef,
7141
- trackProduct,
7142
- clearTrackedProducts
7143
- };
7144
- };
7276
+ const ProductEmpty = __component__$B.exports;
7145
7277
  const useTargetEventEmitter = (eventEmitter, listeners) => {
7146
7278
  onMounted(() => {
7147
7279
  if (!eventEmitter) return;
@@ -7164,7 +7296,7 @@ const useProductList = (options) => {
7164
7296
  const { props } = options;
7165
7297
  const { getEmitter } = useGlobalInject();
7166
7298
  const { ProductStatus, ProductType, ProductEvents } = getProductTargetExport(props.productTarget);
7167
- const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget, ProductType });
7299
+ const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget });
7168
7300
  const { isSupportPay, getPayProviders } = usePayment({ props });
7169
7301
  const pageNumber = ref(1);
7170
7302
  const pageSize = ref(10);
@@ -7275,18 +7407,6 @@ const useProductList = (options) => {
7275
7407
  }
7276
7408
  });
7277
7409
  }
7278
- function handleClickExplain(product) {
7279
- return __async(this, null, function* () {
7280
- if (typeof props.productConfig.customClickExplainHandler === "function") {
7281
- props.productConfig.customClickExplainHandler(product);
7282
- return;
7283
- }
7284
- const url2 = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
7285
- if (url2) {
7286
- window.open(url2, "_blank");
7287
- }
7288
- });
7289
- }
7290
7410
  function getProductOrderEnabled() {
7291
7411
  return __async(this, null, function* () {
7292
7412
  if (!props.productTarget) return;
@@ -7332,10 +7452,24 @@ const useProductList = (options) => {
7332
7452
  const productTarget = props.productTarget;
7333
7453
  if (!productTarget) return;
7334
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);
7335
7462
  productTarget.eventEmitter.on(ProductEvents2.RefreshProductList, refreshProductList);
7336
7463
  }
7337
7464
  function unbindProductEvent() {
7338
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);
7339
7473
  props.productTarget.eventEmitter.off(ProductEvents2.RefreshProductList, refreshProductList);
7340
7474
  }
7341
7475
  function init() {
@@ -7410,11 +7544,10 @@ const useProductList = (options) => {
7410
7544
  productList,
7411
7545
  toppingProduct,
7412
7546
  onScroll: onScroll2,
7413
- handleClickExplain,
7414
7547
  openOrderList
7415
7548
  };
7416
7549
  };
7417
- const _sfc_main$v = /* @__PURE__ */ defineComponent({
7550
+ const _sfc_main$A = /* @__PURE__ */ defineComponent({
7418
7551
  __name: "product-list",
7419
7552
  props: productListProps(),
7420
7553
  setup(__props, { expose }) {
@@ -7446,30 +7579,29 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
7446
7579
  productTotal,
7447
7580
  orderEntranceVisible,
7448
7581
  onScroll: onScroll2,
7449
- handleClickExplain,
7450
7582
  openOrderList
7451
7583
  } = useProductList({ props });
7452
7584
  expose(instance);
7453
- 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 };
7454
7586
  }
7455
7587
  });
7456
- var _sfc_render$v = function render16() {
7588
+ var _sfc_render$A = function render16() {
7457
7589
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7458
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) {
7459
7591
  _setup.searchKeyword = $$v;
7460
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) {
7461
7593
  _setup.activeTagId = $$v;
7462
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) {
7463
- 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 } });
7464
7596
  }), 1) : _c(_setup.ProductEmpty)] : _vm._e(), _setup.isLoading ? _c("div", { staticClass: "plv-product-list__loading" }, [_c(_setup.Loading)], 1) : _vm._e()], 2);
7465
7597
  };
7466
- var _sfc_staticRenderFns$v = [];
7467
- var __component__$v = /* @__PURE__ */ normalizeComponent(
7468
- _sfc_main$v,
7469
- _sfc_render$v,
7470
- _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
7471
7603
  );
7472
- const ProductList = __component__$v.exports;
7604
+ const ProductList = __component__$A.exports;
7473
7605
  const productListPopupProps = () => __spreadValues(__spreadValues({}, productListProps()), popupCommonProps());
7474
7606
  const productListPopupEmits = () => ({
7475
7607
  "not-support-direct-buy": emitFunc()
@@ -7500,7 +7632,7 @@ const useProductListPopup = (options) => {
7500
7632
  emitNotSupportDirectBuy
7501
7633
  };
7502
7634
  };
7503
- const _sfc_main$u = /* @__PURE__ */ defineComponent({
7635
+ const _sfc_main$z = /* @__PURE__ */ defineComponent({
7504
7636
  __name: "product-list-popup",
7505
7637
  props: productListPopupProps(),
7506
7638
  emits: productListPopupEmits(),
@@ -7516,19 +7648,19 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
7516
7648
  return { __sfc: true, props, emit, visible, productListRef, open, close, emitNotSupportDirectBuy, CommonPopup, productEvents, ProductList };
7517
7649
  }
7518
7650
  });
7519
- var _sfc_render$u = function render17() {
7651
+ var _sfc_render$z = function render17() {
7520
7652
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7521
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) {
7522
7654
  _setup.visible = $$v;
7523
7655
  }, expression: "visible" } }, [_c(_setup.ProductList, _vm._b({ ref: "productListRef" }, "product-list", _setup.props, false))], 1);
7524
7656
  };
7525
- var _sfc_staticRenderFns$u = [];
7526
- var __component__$u = /* @__PURE__ */ normalizeComponent(
7527
- _sfc_main$u,
7528
- _sfc_render$u,
7529
- _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
7530
7662
  );
7531
- const productListPopup = __component__$u.exports;
7663
+ const productListPopup = __component__$z.exports;
7532
7664
  function createScript(t2) {
7533
7665
  const n2 = document.createElement("script");
7534
7666
  return t2 && Object.keys(t2).forEach(function(o2) {
@@ -7577,7 +7709,7 @@ function loadMaterialPlayer() {
7577
7709
  }
7578
7710
  return materialPlayerLoader;
7579
7711
  }
7580
- const _sfc_main$t = /* @__PURE__ */ defineComponent({
7712
+ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7581
7713
  __name: "product-video",
7582
7714
  setup(__props, { expose }) {
7583
7715
  const product = inject("product");
@@ -7671,17 +7803,17 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
7671
7803
  return { __sfc: true, product, handleVideoPlay, handleVideoPause, ProductMediaType, materialPlayerInstance, materialPlayerRef, materialId, initMaterialPlayer, play, togglePlay, pause, paused, handlePlay, handlePause, bindPlayerEvent, unbindPlayerEvent, destroy, ProductIconVideoPlaceholder };
7672
7804
  }
7673
7805
  });
7674
- var _sfc_render$t = function render18() {
7806
+ var _sfc_render$y = function render18() {
7675
7807
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
7676
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)])]);
7677
7809
  };
7678
- var _sfc_staticRenderFns$t = [];
7679
- var __component__$t = /* @__PURE__ */ normalizeComponent(
7680
- _sfc_main$t,
7681
- _sfc_render$t,
7682
- _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
7683
7815
  );
7684
- const ProductVideo = __component__$t.exports;
7816
+ const ProductVideo = __component__$y.exports;
7685
7817
  function isObject$1(obj) {
7686
7818
  return obj !== null && typeof obj === "object" && "constructor" in obj && obj.constructor === Object;
7687
7819
  }
@@ -11576,7 +11708,7 @@ Object.keys(prototypes).forEach((prototypeGroup) => {
11576
11708
  });
11577
11709
  });
11578
11710
  Swiper.use([Resize, Observer]);
11579
- const _sfc_main$s = /* @__PURE__ */ defineComponent({
11711
+ const _sfc_main$x = /* @__PURE__ */ defineComponent({
11580
11712
  __name: "swiper-image",
11581
11713
  emits: {
11582
11714
  "swiper-change": emitFunc()
@@ -11653,25 +11785,25 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
11653
11785
  return { __sfc: true, emit, product, swiperRef, swiperInstance, isAtBeginning, isAtEnd, activeIndex, productCoverList, handleSlideChangeTransitionEnd, slideToPrev, slideToNext, initSwiper, destroy, ProductIconImgPlaceholder };
11654
11786
  }
11655
11787
  });
11656
- var _sfc_render$s = function render19() {
11788
+ var _sfc_render$x = function render19() {
11657
11789
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11658
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) {
11659
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 } })]);
11660
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()]);
11661
11793
  };
11662
- var _sfc_staticRenderFns$s = [];
11663
- var __component__$s = /* @__PURE__ */ normalizeComponent(
11664
- _sfc_main$s,
11665
- _sfc_render$s,
11666
- _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
11667
11799
  );
11668
- const SwiperImage = __component__$s.exports;
11800
+ const SwiperImage = __component__$x.exports;
11669
11801
  var ProductCoverTab = /* @__PURE__ */ ((ProductCoverTab2) => {
11670
11802
  ProductCoverTab2["MaterialVideo"] = "materialVideo";
11671
11803
  ProductCoverTab2["Image"] = "image";
11672
11804
  return ProductCoverTab2;
11673
11805
  })(ProductCoverTab || {});
11674
- const _sfc_main$r = /* @__PURE__ */ defineComponent({
11806
+ const _sfc_main$w = /* @__PURE__ */ defineComponent({
11675
11807
  __name: "switch-tab",
11676
11808
  props: {
11677
11809
  value: PropUtils.enum().def(ProductCoverTab.Image),
@@ -11717,7 +11849,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
11717
11849
  return { __sfc: true, props, emit, $t, product, ProductMediaType, displayTabs, imgCountVisible, swiperImageTotalCount, onTabClick, ProductCoverTab };
11718
11850
  }
11719
11851
  });
11720
- var _sfc_render$r = function render20() {
11852
+ var _sfc_render$w = function render20() {
11721
11853
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11722
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) {
11723
11855
  return _c("div", { key: index2, class: [
@@ -11728,14 +11860,14 @@ var _sfc_render$r = function render20() {
11728
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()]);
11729
11861
  }), 0)]);
11730
11862
  };
11731
- var _sfc_staticRenderFns$r = [];
11732
- var __component__$r = /* @__PURE__ */ normalizeComponent(
11733
- _sfc_main$r,
11734
- _sfc_render$r,
11735
- _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
11736
11868
  );
11737
- const SwitchTab = __component__$r.exports;
11738
- const _sfc_main$q = /* @__PURE__ */ defineComponent({
11869
+ const SwitchTab = __component__$w.exports;
11870
+ const _sfc_main$v = /* @__PURE__ */ defineComponent({
11739
11871
  __name: "product-cover",
11740
11872
  setup(__props, { expose }) {
11741
11873
  const { ProductType, ProductMediaType } = useProductInject();
@@ -11765,21 +11897,21 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
11765
11897
  return { __sfc: true, ProductType, ProductMediaType, product, productVideoRef, activeTab, currentSwiperIndex, productVideoVisible, swiperImageVisible, handleSwiperChange, initActiveTab, ProductVideo, SwiperImage, SwitchTab };
11766
11898
  }
11767
11899
  });
11768
- var _sfc_render$q = function render21() {
11900
+ var _sfc_render$v = function render21() {
11769
11901
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11770
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) {
11771
11903
  _setup.activeTab = $$v;
11772
11904
  }, expression: "activeTab" } })] : _vm._e()], 2)]);
11773
11905
  };
11774
- var _sfc_staticRenderFns$q = [];
11775
- var __component__$q = /* @__PURE__ */ normalizeComponent(
11776
- _sfc_main$q,
11777
- _sfc_render$q,
11778
- _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
11779
11911
  );
11780
- const ProductCover = __component__$q.exports;
11912
+ const ProductCover = __component__$v.exports;
11781
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";
11782
- const _sfc_main$p = /* @__PURE__ */ defineComponent({
11914
+ const _sfc_main$u = /* @__PURE__ */ defineComponent({
11783
11915
  __name: "product-info",
11784
11916
  setup(__props) {
11785
11917
  const { ProductType } = useProductInject();
@@ -11795,19 +11927,19 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
11795
11927
  return { __sfc: true, ProductType, product, $t, title, isMobile, ProductPrice, ProductFeatureTag, ProductTitle, emptyImage };
11796
11928
  }
11797
11929
  });
11798
- var _sfc_render$p = function render22() {
11930
+ var _sfc_render$u = function render22() {
11799
11931
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11800
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) {
11801
11933
  return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
11802
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();
11803
11935
  };
11804
- var _sfc_staticRenderFns$p = [];
11805
- var __component__$p = /* @__PURE__ */ normalizeComponent(
11806
- _sfc_main$p,
11807
- _sfc_render$p,
11808
- _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
11809
11941
  );
11810
- const ProductInfo = __component__$p.exports;
11942
+ const ProductInfo = __component__$u.exports;
11811
11943
  const productDetailProps = () => __spreadProps(__spreadValues({}, productProps()), {
11812
11944
  paymentTarget: PropUtils.object().isRequired
11813
11945
  });
@@ -11870,7 +12002,7 @@ const useProductDetail = (options) => {
11870
12002
  handleVideoPause
11871
12003
  };
11872
12004
  };
11873
- const _sfc_main$o = /* @__PURE__ */ defineComponent({
12005
+ const _sfc_main$t = /* @__PURE__ */ defineComponent({
11874
12006
  __name: "product-detail",
11875
12007
  props: productDetailProps(),
11876
12008
  emits: productDetailEmits(),
@@ -11881,6 +12013,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
11881
12013
  });
11882
12014
  const { handleDirectBuy, getPayProviders } = useProductDirectBuy({ props, emitNotSupportDirectBuy });
11883
12015
  const { $t } = useI18n();
12016
+ const { isHorizontalScreenOrientation } = useScreenOrientHook();
11884
12017
  const { productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut } = useProductDetail({ props, emit });
11885
12018
  onMounted(() => {
11886
12019
  getPayProviders();
@@ -11889,27 +12022,28 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
11889
12022
  provide("handleVideoPlay", handleVideoPlay);
11890
12023
  provide("handleVideoPause", handleVideoPause);
11891
12024
  expose(instance);
11892
- 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 };
11893
12026
  }
11894
12027
  });
11895
- var _sfc_render$o = function render23() {
12028
+ var _sfc_render$t = function render23() {
11896
12029
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
11897
12030
  return _setup.product ? _c("div", { staticClass: "plv-product-detail-container", class: {
11898
12031
  "plv-product-detail-container--mobile": _setup.isMobile,
11899
- "plv-product-detail-container--pc": !_setup.isMobile
12032
+ "plv-product-detail-container--pc": !_setup.isMobile,
12033
+ "plv-product-common-popup--horizontal-screen": _setup.isHorizontalScreenOrientation
11900
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() {
11901
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 }) {
11902
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) + " ")])];
11903
12037
  } }], null, false, 618492075) })];
11904
12038
  })], 2)]) : _vm._e();
11905
12039
  };
11906
- var _sfc_staticRenderFns$o = [];
11907
- var __component__$o = /* @__PURE__ */ normalizeComponent(
11908
- _sfc_main$o,
11909
- _sfc_render$o,
11910
- _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
11911
12045
  );
11912
- const ProductDetail = __component__$o.exports;
12046
+ const ProductDetail = __component__$t.exports;
11913
12047
  const productDetailPopupProps = () => __spreadProps(__spreadValues(__spreadValues({}, productDirectBuyProps()), popupCommonProps()), {
11914
12048
  /** 商品配置 */
11915
12049
  productConfig: PropUtils.object().def({})
@@ -11931,8 +12065,10 @@ const useProductDetailPopup = (options) => {
11931
12065
  var _a;
11932
12066
  (_a = productVideoRef.value) == null ? void 0 : _a.pause();
11933
12067
  }
11934
- function open() {
12068
+ function open(productId) {
11935
12069
  return __async(this, null, function* () {
12070
+ var _a;
12071
+ yield (_a = productDetailRef.value) == null ? void 0 : _a.init(productId);
11936
12072
  visible.value = true;
11937
12073
  yield nextTick$1();
11938
12074
  if (commonPopupRef.value) {
@@ -11948,9 +12084,7 @@ const useProductDetailPopup = (options) => {
11948
12084
  emit("not-support-direct-buy", product);
11949
12085
  }
11950
12086
  useEventBusListener(productEvents.OpenProductDetailPopup, (productData) => {
11951
- var _a;
11952
- (_a = productDetailRef.value) == null ? void 0 : _a.init(productData.productId);
11953
- open();
12087
+ open(productData.productId);
11954
12088
  });
11955
12089
  useEventBusListener(productEvents.CloseProductDetailPopup, () => {
11956
12090
  close();
@@ -11968,7 +12102,7 @@ const useProductDetailPopup = (options) => {
11968
12102
  emitNotSupportDirectBuy
11969
12103
  };
11970
12104
  };
11971
- const _sfc_main$n = /* @__PURE__ */ defineComponent({
12105
+ const _sfc_main$s = /* @__PURE__ */ defineComponent({
11972
12106
  __name: "product-detail-popup",
11973
12107
  props: productDetailPopupProps(),
11974
12108
  emits: productDetailPopupEmits(),
@@ -11995,19 +12129,19 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
11995
12129
  return { __sfc: true, props, emit, visible, commonPopupRef, productVideoRef, productDetailRef, open, close, onPlay, onPause, pauseVideo, emitNotSupportDirectBuy, CommonPopup, ProductDetail, productEvents, isMobile, ProductIconClose };
11996
12130
  }
11997
12131
  });
11998
- var _sfc_render$n = function render24() {
12132
+ var _sfc_render$s = function render24() {
11999
12133
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12000
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) {
12001
12135
  _setup.visible = $$v;
12002
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);
12003
12137
  };
12004
- var _sfc_staticRenderFns$n = [];
12005
- var __component__$n = /* @__PURE__ */ normalizeComponent(
12006
- _sfc_main$n,
12007
- _sfc_render$n,
12008
- _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
12009
12143
  );
12010
- const productDetailPopup = __component__$n.exports;
12144
+ const productDetailPopup = __component__$s.exports;
12011
12145
  var OrderButtonAction = /* @__PURE__ */ ((OrderButtonAction2) => {
12012
12146
  OrderButtonAction2["ApplyRefund"] = "applyRefund";
12013
12147
  OrderButtonAction2["Pay"] = "pay";
@@ -12239,7 +12373,7 @@ const useScrollTab = () => {
12239
12373
  scrollToTabByValue
12240
12374
  };
12241
12375
  };
12242
- const _sfc_main$m = /* @__PURE__ */ defineComponent({
12376
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
12243
12377
  __name: "order-status-tab",
12244
12378
  props: {
12245
12379
  value: PropUtils.string.def("all")
@@ -12282,7 +12416,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
12282
12416
  return { __sfc: true, emit, OrderStatus, getOrderStatusText, $t, tabContainerRef, setTabItemRef, scrollToTabAsync, scrollToTabByValue, targetOrderStatuses, orderStatusTabs, onClickTab, scrollToTabByTabValue };
12283
12417
  }
12284
12418
  });
12285
- var _sfc_render$m = function render25() {
12419
+ var _sfc_render$r = function render25() {
12286
12420
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12287
12421
  return _c("div", { ref: "tabContainerRef", staticClass: "plv-product-c-order-status-tab" }, _vm._l(_setup.orderStatusTabs, function(tab, index2) {
12288
12422
  return _c("div", { key: index2, ref: (el) => _setup.setTabItemRef(el, index2), refInFor: true, class: [
@@ -12293,14 +12427,14 @@ var _sfc_render$m = function render25() {
12293
12427
  } } }, [_vm._v(" " + _vm._s(tab.label) + " ")]);
12294
12428
  }), 0);
12295
12429
  };
12296
- var _sfc_staticRenderFns$m = [];
12297
- var __component__$m = /* @__PURE__ */ normalizeComponent(
12298
- _sfc_main$m,
12299
- _sfc_render$m,
12300
- _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
12301
12435
  );
12302
- const OrderStatusTab = __component__$m.exports;
12303
- const _sfc_main$l = /* @__PURE__ */ defineComponent({
12436
+ const OrderStatusTab = __component__$r.exports;
12437
+ const _sfc_main$q = /* @__PURE__ */ defineComponent({
12304
12438
  __name: "order-pay-countdown",
12305
12439
  props: {
12306
12440
  endTime: PropUtils.number.isRequired
@@ -12348,18 +12482,18 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
12348
12482
  return { __sfc: true, props, emit, timeStr, intervalId, clearCountdown, formattedTime };
12349
12483
  }
12350
12484
  });
12351
- var _sfc_render$l = function render26() {
12485
+ var _sfc_render$q = function render26() {
12352
12486
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12353
12487
  return _c("span", [_vm._v(_vm._s(_setup.timeStr))]);
12354
12488
  };
12355
- var _sfc_staticRenderFns$l = [];
12356
- var __component__$l = /* @__PURE__ */ normalizeComponent(
12357
- _sfc_main$l,
12358
- _sfc_render$l,
12359
- _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
12360
12494
  );
12361
- const OrderPayCountdown = __component__$l.exports;
12362
- const _sfc_main$k = /* @__PURE__ */ defineComponent({
12495
+ const OrderPayCountdown = __component__$q.exports;
12496
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
12363
12497
  __name: "purchase-product",
12364
12498
  props: {
12365
12499
  product: PropUtils.object().isRequired
@@ -12380,20 +12514,20 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
12380
12514
  return { __sfc: true, props, $t, displayTotalPrice, emit, onOrderProductClick, ProductFeatureTag };
12381
12515
  }
12382
12516
  });
12383
- var _sfc_render$k = function render27() {
12517
+ var _sfc_render$p = function render27() {
12384
12518
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12385
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) {
12386
12520
  return _c(_setup.ProductFeatureTag, { key: index2, attrs: { "tag": tag } });
12387
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))])])])]);
12388
12522
  };
12389
- var _sfc_staticRenderFns$k = [];
12390
- var __component__$k = /* @__PURE__ */ normalizeComponent(
12391
- _sfc_main$k,
12392
- _sfc_render$k,
12393
- _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
12394
12528
  );
12395
- const PurchaseProduct = __component__$k.exports;
12396
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
12529
+ const PurchaseProduct = __component__$p.exports;
12530
+ const _sfc_main$o = /* @__PURE__ */ defineComponent({
12397
12531
  __name: "order-item",
12398
12532
  props: {
12399
12533
  order: PropUtils.object().isRequired
@@ -12422,7 +12556,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
12422
12556
  return { __sfc: true, props, emit, OrderStatus, getOrderStatusText, ProductDeliveryType, getEmitter, $t, shouldHighlightStatusText, handleCountDownEnd, onOrderProductClick, onOrderBtnClick, OrderPayCountdown, PurchaseProduct, OrderButtonAction };
12423
12557
  }
12424
12558
  });
12425
- var _sfc_render$j = function render28() {
12559
+ var _sfc_render$o = function render28() {
12426
12560
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12427
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) {
12428
12562
  return _c(_setup.PurchaseProduct, { key: index2, attrs: { "product": product }, on: { "click-purchase-product": _setup.onOrderProductClick } });
@@ -12436,13 +12570,13 @@ var _sfc_render$j = function render28() {
12436
12570
  return _setup.onOrderBtnClick(_setup.OrderButtonAction.ConfirmReceipt);
12437
12571
  } } }, [_vm._v(" " + _vm._s(_setup.$t("order.list.deliveringBtnText")) + " ")]) : _vm._e()])])])]);
12438
12572
  };
12439
- var _sfc_staticRenderFns$j = [];
12440
- var __component__$j = /* @__PURE__ */ normalizeComponent(
12441
- _sfc_main$j,
12442
- _sfc_render$j,
12443
- _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
12444
12578
  );
12445
- const OrderItem = __component__$j.exports;
12579
+ const OrderItem = __component__$o.exports;
12446
12580
  const orderListProps = () => __spreadValues({}, orderProps());
12447
12581
  const useOrderList = (options) => {
12448
12582
  const { props } = options;
@@ -12508,7 +12642,7 @@ const useOrderList = (options) => {
12508
12642
  refreshOrderData
12509
12643
  };
12510
12644
  };
12511
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
12645
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
12512
12646
  __name: "order-list",
12513
12647
  props: orderListProps(),
12514
12648
  setup(__props, { expose }) {
@@ -12523,7 +12657,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
12523
12657
  return { __sfc: true, props, $t, activeTab, scrollRef, orderList, instance, onScroll: onScroll2, navToOrderDetail, handleOrderBtnClick, getPayProviders, OrderStatusTab, OrderItem, ProductIconOrderEmpty };
12524
12658
  }
12525
12659
  });
12526
- var _sfc_render$i = function render29() {
12660
+ var _sfc_render$n = function render29() {
12527
12661
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12528
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) {
12529
12663
  _setup.activeTab = $$v;
@@ -12531,14 +12665,14 @@ var _sfc_render$i = function render29() {
12531
12665
  return _c(_setup.OrderItem, { key: index2, attrs: { "order": order2 }, on: { "click-purchase-product": _setup.navToOrderDetail, "click-order-btn": _setup.handleOrderBtnClick } });
12532
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);
12533
12667
  };
12534
- var _sfc_staticRenderFns$i = [];
12535
- var __component__$i = /* @__PURE__ */ normalizeComponent(
12536
- _sfc_main$i,
12537
- _sfc_render$i,
12538
- _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
12539
12673
  );
12540
- const OrderList = __component__$i.exports;
12541
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
12674
+ const OrderList = __component__$n.exports;
12675
+ const _sfc_main$m = /* @__PURE__ */ defineComponent({
12542
12676
  __name: "pay-status",
12543
12677
  setup(__props) {
12544
12678
  const { getEmitter } = useGlobalInject();
@@ -12552,19 +12686,19 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
12552
12686
  return { __sfc: true, getEmitter, $t, getOrderStatusText, OrderStatus, orderDetail, orderNo, handleCountDownEnd, OrderPayCountdown };
12553
12687
  }
12554
12688
  });
12555
- var _sfc_render$h = function render30() {
12689
+ var _sfc_render$m = function render30() {
12556
12690
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12557
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();
12558
12692
  };
12559
- var _sfc_staticRenderFns$h = [];
12560
- var __component__$h = /* @__PURE__ */ normalizeComponent(
12561
- _sfc_main$h,
12562
- _sfc_render$h,
12563
- _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
12564
12698
  );
12565
- const PayStatus = __component__$h.exports;
12699
+ const PayStatus = __component__$m.exports;
12566
12700
  const qrcodeExpiredImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAn3SURBVHic7d1PUttIG4DxlrtF22OHhEqcqpyBS7DlAO8K7GV2c4ecI6tUCMWiD8A2l8gZpiouCr6MHSysP9/iIzNTX2oIltqWXvz81khqEz22cNTq5PT09I3BWrIsuwkh3D7mZ0Vkz3v/ctNj2pQsy/4MIcw3fRwRGXjvX2z6OE9Nr+0BAKiPgAHFCBhQjIABxQgYUIyAAcUIGFCMgAHFCBhQjIABxQgYUIyAAcUIGFDMtT0AdNtwOHQisldn2xDCyhhTRR4S/oGA8aA8zwfe+0GdbUXkKoRwF3tM+BuX0IBiBAwoFu0SOkmSb8vlchVrf5vgnDuw1m71TSuEsBKRq20e0xhjnHP71tp028dtW1EUZZ7n122P4yH9fj+tqmo/xr6iBbxcLldd/3tnMplUVbX171SqNn4v0+m0Ksty24dtnXOuuri46PR5KCLGex9lX1xCA4oRMKAYAQOKETCgGAEDihEwoBgBA4oRMKAYAQOKtTIbSUSsMabWFLV/ms/n5eXlZRZhSJ309u3b9Pr6uta/kbW2t4t3Yq3r+PjYj0ajGB9kdyGEIsJ+1tLWdMK9GCvRDQaDO2PMkw34+vrae++f1dl2ter0bemdMR6PR2VZNv4wybLsxhjzqBUrY+ISGlCMgAHFeCIHHrStBb5RD5/AgGIEDChGwIBiBAwoRsCAYgQMKEbAgGIEDChGwIBiBAwoRsCAYgQMKEbAgGKtzEaaz+fl/WT8RoqiYNb6IxRFUaZpmtfdPOpgOqYoipW1tvF+5vN5K48/aSXg+8fgPNknaXRNmqb5x48ft75Cogbn5+ff2h5DE1xCA4oRMKAYAQOKETCgGAEDihEwoBgBA4oRMKAYAQOKETCgWLRbKZ1zB5PJpIq1v02oqqr5Ta8K9Xq9dDKZvK65+eLs7GwRdUAbVFWVbfBatyLP8yTWvqIFbK3tVVWn+91Z9ydMrTevLMuinWzb0vU36hiTJ37gEhpQjMXNOmw4HOaLxeJ7nW2dc31rLW/QTxwBd9iHDx+WxphlnW2n06mLsXA1uo13aEAxAgYUI2BAMQIGFCNgQDECBhQjYEAxAgYUI2BAMQIGFCNgQDECBhQjYEAxl2XZTduDUKjxyor4yR3n4vpcCOG27UEAIYTCGMO5uCYuoQHFCBhQjIABxQgYUIyAAcUIGFCMgAHFCBhQjIABxZqse5OISBptJDUcHBxU79+/Xz3250UkyoPODw8P83fv3pUx9vUQEbGm5ppGzrl9a23jfx/n3G3d1SHaEkLYyq2usc6nEMLKGFNrYbHaKzOISOq9f1l3+xiWy+WdMebqsT/f7/dfxFj46suXLzdmO7f9Dbz3z7ZwnH+V5/nAez9ocwzrSJKkMMZ83caxYp3/InJV902HS2hAMQIGFCNgQDECBhQjYEAxAgYUI2BAMQIGFCNgQDECBhQjYEAxAgYUI2BAMSciozobDodDl+d57PGspaoqu8748zxPrG08Gcmkadq/n+q3UYPBwJflxmctQjFXd7pa2/Ea87+A25hu1+v1+t77/qaPQ7z4FS6hAcUIGFCs9hM5/l+WZbWfKrAOEXnuvf9t08fpok+fPv3R9hg2RUQG3vsXbY9DGz6BAcUIGFCMgAHFCBhQjIABxQgYUIyAAcUIGFCMgAHFCBhQLNqtlOiWk5OTKKsTbou1trdaPXqhyQf3M51Ot7LoXqzZYs65/el0ut3VCdFt1tq0LMsoy19uQ6wY8jxPjDFqXrcxf/1b1dqWS2hAMdfr9aLMIDo4OKh1CVBDUXfMvV4vvX+HbiRN07woCmbb4y/rnBOr1SqJ9edN45NZk8lk8jrGAt9Zlt2EELaxwHdt0+n0paZLaO3WOSdEZC/W4uBcQgOKETCgGAEDihEwoBgBA4oRMKAYAQOKETCgGAEDihEwoJg7PT19E2NH21qZAcDf+AQGFCNgQDEm9D9Rt7e3340xWZ1tY6257Jy7XSwW7S8kvQUHBwfrvM4iy7I/YxyXgJ+oJtMdT09PowS8WCy+873Iz0IIhTFmHmNfXEIDihEwoBgBA4oRMKAYAQOKETCgGAEDihEwoBgBA4pxJ9bmJSIS5Y3y/g4eTayI1HqQvsLX2goC3jARSWM9hd8Y80ek/WyF9/5F3W1F5CsR/xqX0IBiBAwo5rIsu4qxoxBC89WZN2y5XN7E2M/h4WEeQoixK6ARt0vTvWK9VuJFV3AJDShGwIBiBAwoRsCAYgQMKEbAgGIEDChGwIBiBAwo5kRk0PYgFLpjpkw3HB0ducFgYEej0U5+GLkmU752VZZlN8aY2isfoJFERPppmvb3Viufe5+0PaA2MR8YWiQiMnTODa21PWOMyb1ve0ytI2B03u/Hx/7m1avnVVXVerrHU0bA+EmWZV/bHsOP7xhEZHTt/TNTVW0PqZMIGD/pyhd0Jycn+0mSDNseR5ft5Dd36D4RGRHvrxEwOuf342Mfa5Hxp46A0TXJzatXz9sehBYEjE4RkSHfNj8eAaNLEuccf/eugYDRGSLS/3GTBh6HXxY6I03Tfttj0IaA0Rl7qxX3Rq6JgNEJR0dHbtcnJtTBnViKiIiq/16ZzWaLz58/54/52cFgwDfPNRCwIt7739oewzrG4/Gjp1zu6nzepvilAYpF+wQuiqJ0znV6ygg3COyGJEk6MRnj3+R5nsT677JoAed5fn1xcdHphdImk8lrIn7akiQpzs7OWp8O+RAR2bPWRln0nUtoQDECBhQjYEAxAgYUI2BAMQIGFCNgQDECBhQjYEAxAgYUa2U20vHxsR+Px6Om+ymKYnV+fv4txpiwm05OTvattWnT/cxms/nl5WUWY0zraCXg0WjUK8tyr+l+rOW2ZjRjrU1jnIttTYfkEhpQjAn9GzabzcrxePy9zrbOuTTG5V1RFGWe58um+1nXbDYrt33MXUPAG3b/SJn/1NlWREYxAk7TNL+4uKg1BnQbl9CAYgQMKEbAgGIEDChGwIBiBAwoRsCAYgQMKEbAgGIEDCjGrZQbJiJ73vsoT+HfltPT0zcx9pNl2VUIodOrdWjHJzCgGAEDirV1CX2XZdlN053M53Omq6GR2Ww2jzQZv5U/FVoJOIRQGGMevfgzsCltPAYnJi6hAcUIGFCMgAHFCBhQjIABxQgYUIyAAcUIGFCMgAHFot2J1e/3UxGJtbuNyPM82cX1lFarVSIijdf/0SDP886/1n6/n1ZVFWVf0QKuqmrfex9rd4jIWptaa1VNaazLWtvr+muNFa8xXEIDqhEwoBhP5NiwEMJKRK62fVznXJSFq51zt4vFotbqiiGEVdPj42EEvHlVG4+VmU6nVVk2ny69WCxyHovTXVxCA4oRMKAYAQOKETCgGAEDihEwoBgBA4oRMKAYAQOKETCgGAEDihEwoBgBA4r9Fxq7kfeQM+15AAAAAElFTkSuQmCC";
12567
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
12701
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
12568
12702
  __name: "customer-qrcode",
12569
12703
  setup(__props) {
12570
12704
  const { $t } = useI18n();
@@ -12579,18 +12713,18 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
12579
12713
  return { __sfc: true, $t, orderDetail, customerServiceTips, qrcodeExpiredImage };
12580
12714
  }
12581
12715
  });
12582
- var _sfc_render$g = function render31() {
12716
+ var _sfc_render$l = function render31() {
12583
12717
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12584
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))])]);
12585
12719
  };
12586
- var _sfc_staticRenderFns$g = [];
12587
- var __component__$g = /* @__PURE__ */ normalizeComponent(
12588
- _sfc_main$g,
12589
- _sfc_render$g,
12590
- _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
12591
12725
  );
12592
- const CustomerQrcode = __component__$g.exports;
12593
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
12726
+ const CustomerQrcode = __component__$l.exports;
12727
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
12594
12728
  __name: "address-item",
12595
12729
  props: {
12596
12730
  addressInfo: PropUtils.object().isRequired
@@ -12606,18 +12740,18 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
12606
12740
  return { __sfc: true, props, emit, onClick: onClick2, maskChars };
12607
12741
  }
12608
12742
  });
12609
- var _sfc_render$f = function render32() {
12743
+ var _sfc_render$k = function render32() {
12610
12744
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12611
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);
12612
12746
  };
12613
- var _sfc_staticRenderFns$f = [];
12614
- var __component__$f = /* @__PURE__ */ normalizeComponent(
12615
- _sfc_main$f,
12616
- _sfc_render$f,
12617
- _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
12618
12752
  );
12619
- const AddressItem = __component__$f.exports;
12620
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
12753
+ const AddressItem = __component__$k.exports;
12754
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
12621
12755
  __name: "express-info",
12622
12756
  setup(__props) {
12623
12757
  const orderDetail = inject("orderDetail");
@@ -12625,20 +12759,20 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
12625
12759
  return { __sfc: true, orderDetail, $t, maskChars, AddressItem };
12626
12760
  }
12627
12761
  });
12628
- var _sfc_render$e = function render33() {
12762
+ var _sfc_render$j = function render33() {
12629
12763
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12630
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();
12631
12765
  };
12632
- var _sfc_staticRenderFns$e = [];
12633
- var __component__$e = /* @__PURE__ */ normalizeComponent(
12634
- _sfc_main$e,
12635
- _sfc_render$e,
12636
- _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
12637
12771
  );
12638
- const ExpressInfo = __component__$e.exports;
12772
+ const ExpressInfo = __component__$j.exports;
12639
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";
12640
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";
12641
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
12775
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
12642
12776
  __name: "payment-method",
12643
12777
  props: {
12644
12778
  /**
@@ -12684,7 +12818,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12684
12818
  return { __sfc: true, props, emit, $t, PaymentProvider, defaultPaymentMethods, paymentMethodList, selectPaymentMethod, PlvRadio };
12685
12819
  }
12686
12820
  });
12687
- var _sfc_render$d = function render34() {
12821
+ var _sfc_render$i = function render34() {
12688
12822
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12689
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) {
12690
12824
  return _c("div", { key: index2, staticClass: "plv-product-c-payment-methods__item", on: { "click": function($event) {
@@ -12692,14 +12826,14 @@ var _sfc_render$d = function render34() {
12692
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);
12693
12827
  }), 0)]);
12694
12828
  };
12695
- var _sfc_staticRenderFns$d = [];
12696
- var __component__$d = /* @__PURE__ */ normalizeComponent(
12697
- _sfc_main$d,
12698
- _sfc_render$d,
12699
- _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
12700
12834
  );
12701
- const PaymentMethod = __component__$d.exports;
12702
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
12835
+ const PaymentMethod = __component__$i.exports;
12836
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
12703
12837
  __name: "order-info",
12704
12838
  setup(__props) {
12705
12839
  const { $t } = useI18n();
@@ -12722,18 +12856,18 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
12722
12856
  return { __sfc: true, $t, orderDetail, OrderStatus, ProductDeliveryType, orderCreatedAt, orderDeliveryAt, orderFinishAt };
12723
12857
  }
12724
12858
  });
12725
- var _sfc_render$c = function render35() {
12859
+ var _sfc_render$h = function render35() {
12726
12860
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12727
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();
12728
12862
  };
12729
- var _sfc_staticRenderFns$c = [];
12730
- var __component__$c = /* @__PURE__ */ normalizeComponent(
12731
- _sfc_main$c,
12732
- _sfc_render$c,
12733
- _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
12734
12868
  );
12735
- const OrderInfo = __component__$c.exports;
12736
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
12869
+ const OrderInfo = __component__$h.exports;
12870
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
12737
12871
  __name: "bottom-operate-panel",
12738
12872
  emits: {
12739
12873
  "click-order-btn": emitFunc()
@@ -12752,7 +12886,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
12752
12886
  return { __sfc: true, emit, orderDetail, $t, OrderStatus, ProductDeliveryType, operatePanelVisible, onOrderBtnClick, OrderButtonAction };
12753
12887
  }
12754
12888
  });
12755
- var _sfc_render$b = function render36() {
12889
+ var _sfc_render$g = function render36() {
12756
12890
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12757
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) {
12758
12892
  return _setup.onOrderBtnClick(_setup.OrderButtonAction.Pay);
@@ -12762,13 +12896,13 @@ var _sfc_render$b = function render36() {
12762
12896
  return _setup.onOrderBtnClick(_setup.OrderButtonAction.ApplyRefund);
12763
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();
12764
12898
  };
12765
- var _sfc_staticRenderFns$b = [];
12766
- var __component__$b = /* @__PURE__ */ normalizeComponent(
12767
- _sfc_main$b,
12768
- _sfc_render$b,
12769
- _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
12770
12904
  );
12771
- const BottomOperatePanel = __component__$b.exports;
12905
+ const BottomOperatePanel = __component__$g.exports;
12772
12906
  const orderDetailProps = () => __spreadProps(__spreadValues({}, orderProps()), {
12773
12907
  /** 是否同步支付状态 */
12774
12908
  syncPayStatus: PropUtils.bool.def(false),
@@ -12857,7 +12991,7 @@ const useOrderDetail = (options) => {
12857
12991
  customerQrcodeVisible
12858
12992
  };
12859
12993
  };
12860
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
12994
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
12861
12995
  __name: "order-detail",
12862
12996
  props: orderDetailProps(),
12863
12997
  setup(__props) {
@@ -12882,7 +13016,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
12882
13016
  return { __sfc: true, props, orderDetail, OrderStatus, selectedPayMethod, customerQrcodeVisible, supportPayProviders, handleOrderBtnClick, getPayProviders, onClickOrderBtn, PurchaseProduct, PayStatus, CustomerQrcode, ExpressInfo, PaymentMethod, OrderInfo, BottomOperatePanel };
12883
13017
  }
12884
13018
  });
12885
- var _sfc_render$a = function render37() {
13019
+ var _sfc_render$f = function render37() {
12886
13020
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12887
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) {
12888
13022
  return _c(_setup.PurchaseProduct, { key: index2, attrs: { "product": product } });
@@ -12890,13 +13024,13 @@ var _sfc_render$a = function render37() {
12890
13024
  _setup.selectedPayMethod = $$v;
12891
13025
  }, expression: "selectedPayMethod" } }) : _vm._e(), _c(_setup.OrderInfo)], 2)], 1), _c(_setup.BottomOperatePanel, { on: { "click-order-btn": _setup.onClickOrderBtn } })], 1) : _vm._e();
12892
13026
  };
12893
- var _sfc_staticRenderFns$a = [];
12894
- var __component__$a = /* @__PURE__ */ normalizeComponent(
12895
- _sfc_main$a,
12896
- _sfc_render$a,
12897
- _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
12898
13032
  );
12899
- const OrderDetail = __component__$a.exports;
13033
+ const OrderDetail = __component__$f.exports;
12900
13034
  const useOrderListPopup = () => {
12901
13035
  const { $t } = useI18n();
12902
13036
  const visible = ref(false);
@@ -12950,7 +13084,7 @@ const useOrderListPopup = () => {
12950
13084
  handleBack
12951
13085
  };
12952
13086
  };
12953
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
13087
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
12954
13088
  __name: "order-list-popup",
12955
13089
  props: orderListProps(),
12956
13090
  setup(__props, { expose }) {
@@ -12973,20 +13107,20 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
12973
13107
  return { __sfc: true, props, visible, orderListRef, currentRoute, orderNo, popupTitle, OrderListPopupRoute: OrderListPopupRoute2, open, close, handleBack, CommonPopup, productEvents, OrderDetail, OrderList };
12974
13108
  }
12975
13109
  });
12976
- var _sfc_render$9 = function render38() {
13110
+ var _sfc_render$e = function render38() {
12977
13111
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
12978
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) {
12979
13113
  _setup.visible = $$v;
12980
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)]);
12981
13115
  };
12982
- var _sfc_staticRenderFns$9 = [];
12983
- var __component__$9 = /* @__PURE__ */ normalizeComponent(
12984
- _sfc_main$9,
12985
- _sfc_render$9,
12986
- _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
12987
13121
  );
12988
- const orderListPopup = __component__$9.exports;
12989
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
13122
+ const orderListPopup = __component__$e.exports;
13123
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
12990
13124
  __name: "form-wrap",
12991
13125
  props: formWrapProps(),
12992
13126
  emits: formWrapEmits(),
@@ -13003,19 +13137,19 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
13003
13137
  return { __sfc: true, props, emit, validateCurrentForm, submitForm };
13004
13138
  }
13005
13139
  });
13006
- var _sfc_render$8 = function render39() {
13140
+ var _sfc_render$d = function render39() {
13007
13141
  var _vm = this, _c = _vm._self._c;
13008
13142
  _vm._self._setupProxy;
13009
13143
  return _c("div", { staticClass: "plv-product-form-wrap" }, [_vm._t("default")], 2);
13010
13144
  };
13011
- var _sfc_staticRenderFns$8 = [];
13012
- var __component__$8 = /* @__PURE__ */ normalizeComponent(
13013
- _sfc_main$8,
13014
- _sfc_render$8,
13015
- _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
13016
13150
  );
13017
- const FormWrap = __component__$8.exports;
13018
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
13151
+ const FormWrap = __component__$d.exports;
13152
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
13019
13153
  __name: "form-item",
13020
13154
  props: formItemProps(),
13021
13155
  setup(__props, { expose }) {
@@ -13037,7 +13171,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
13037
13171
  return { __sfc: true, props, required: required4, labelText, labelModel, labelStyle, itemErrorMessage, contentWidthStyle, contentStyle, formItemIsError, formItemInstance, isMobile };
13038
13172
  }
13039
13173
  });
13040
- var _sfc_render$7 = function render40() {
13174
+ var _sfc_render$c = function render40() {
13041
13175
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13042
13176
  return _c("div", { staticClass: "plv-product-form-item", class: {
13043
13177
  "plv-product-form-item--header": _setup.labelModel === "header",
@@ -13047,14 +13181,14 @@ var _sfc_render$7 = function render40() {
13047
13181
  "plv-product-form-item__content--has-width": !!_setup.contentWidthStyle
13048
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)]);
13049
13183
  };
13050
- var _sfc_staticRenderFns$7 = [];
13051
- var __component__$7 = /* @__PURE__ */ normalizeComponent(
13052
- _sfc_main$7,
13053
- _sfc_render$7,
13054
- _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
13055
13189
  );
13056
- const FormItem = __component__$7.exports;
13057
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
13190
+ const FormItem = __component__$c.exports;
13191
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
13058
13192
  __name: "choose-address",
13059
13193
  props: {
13060
13194
  addressInfo: PropUtils.object(),
@@ -13091,20 +13225,20 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
13091
13225
  return { __sfc: true, props, emit, $t, getEmitter, addressList, getAddressList, handleClick, ProductIconArrowRight, AddressItem };
13092
13226
  }
13093
13227
  });
13094
- var _sfc_render$6 = function render41() {
13228
+ var _sfc_render$b = function render41() {
13095
13229
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13096
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() {
13097
13231
  return [_c(_setup.ProductIconArrowRight, { staticClass: "plv-product-c-choose-address__arrow-icon" })];
13098
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);
13099
13233
  };
13100
- var _sfc_staticRenderFns$6 = [];
13101
- var __component__$6 = /* @__PURE__ */ normalizeComponent(
13102
- _sfc_main$6,
13103
- _sfc_render$6,
13104
- _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
13105
13239
  );
13106
- const ChooseAddress = __component__$6.exports;
13107
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
13240
+ const ChooseAddress = __component__$b.exports;
13241
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
13108
13242
  __name: "submit-bar",
13109
13243
  props: {
13110
13244
  /** 价格 */
@@ -13125,17 +13259,17 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
13125
13259
  return { __sfc: true, props, emit, $t, onSubmit };
13126
13260
  }
13127
13261
  });
13128
- var _sfc_render$5 = function render42() {
13262
+ var _sfc_render$a = function render42() {
13129
13263
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13130
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")) + " ")])]);
13131
13265
  };
13132
- var _sfc_staticRenderFns$5 = [];
13133
- var __component__$5 = /* @__PURE__ */ normalizeComponent(
13134
- _sfc_main$5,
13135
- _sfc_render$5,
13136
- _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
13137
13271
  );
13138
- const SubmitBar = __component__$5.exports;
13272
+ const SubmitBar = __component__$a.exports;
13139
13273
  const orderConfirmProps = () => __spreadProps(__spreadValues(__spreadValues({}, orderProps()), paymentProps()), {
13140
13274
  addressTarget: PropUtils.object().isRequired,
13141
13275
  products: PropUtils.array().def([]),
@@ -13264,7 +13398,7 @@ const useOrderConfirm = (options) => {
13264
13398
  submit
13265
13399
  };
13266
13400
  };
13267
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
13401
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
13268
13402
  __name: "order-confirm",
13269
13403
  props: orderConfirmProps(),
13270
13404
  emits: orderConfirmEmits(),
@@ -13289,7 +13423,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
13289
13423
  return { __sfc: true, props, emit, supportPayProviders, getPayProviders, $t, chooseAddressInfo, formRef, formRules, formData, totalPrice, selectedPaymentMethod, ProductDeliveryType, submit, FormWrap, FormItem, FormInput, PurchaseProduct, PaymentMethod, ChooseAddress, SubmitBar };
13290
13424
  }
13291
13425
  });
13292
- var _sfc_render$4 = function render43() {
13426
+ var _sfc_render$9 = function render43() {
13293
13427
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13294
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) {
13295
13429
  _vm.$set(_setup.formData, "phone", $$v);
@@ -13299,13 +13433,13 @@ var _sfc_render$4 = function render43() {
13299
13433
  _setup.selectedPaymentMethod = $$v;
13300
13434
  }, expression: "selectedPaymentMethod" } })] : _vm._e()], 2), _c(_setup.SubmitBar, { attrs: { "price": _setup.totalPrice, "disabled": _vm.disabledSubmit }, on: { "submit": _setup.submit } })], 1);
13301
13435
  };
13302
- var _sfc_staticRenderFns$4 = [];
13303
- var __component__$4 = /* @__PURE__ */ normalizeComponent(
13304
- _sfc_main$4,
13305
- _sfc_render$4,
13306
- _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
13307
13441
  );
13308
- const OrderConfirm = __component__$4.exports;
13442
+ const OrderConfirm = __component__$9.exports;
13309
13443
  const addressListProps = () => ({
13310
13444
  addressTarget: PropUtils.object().isRequired,
13311
13445
  addressId: PropUtils.number.def(void 0)
@@ -13382,7 +13516,7 @@ const useAddressList = (options) => {
13382
13516
  deleteAddress
13383
13517
  };
13384
13518
  };
13385
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
13519
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
13386
13520
  __name: "address-list",
13387
13521
  props: addressListProps(),
13388
13522
  emits: addressListEmits(),
@@ -13402,7 +13536,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
13402
13536
  return { __sfc: true, props, emit, $t, scrollRef, addressList, selectedAddressId, onScroll: onScroll2, onClick: onClick2, onChooseAddress, onAddressEdit, deleteAddress, ProductIconChooseAddress, AddressItem };
13403
13537
  }
13404
13538
  });
13405
- var _sfc_render$3 = function render44() {
13539
+ var _sfc_render$8 = function render44() {
13406
13540
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
13407
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) {
13408
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() {
@@ -13418,13 +13552,13 @@ var _sfc_render$3 = function render44() {
13418
13552
  }, proxy: true }], null, true) });
13419
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")) + " ")])])]);
13420
13554
  };
13421
- var _sfc_staticRenderFns$3 = [];
13422
- var __component__$3 = /* @__PURE__ */ normalizeComponent(
13423
- _sfc_main$3,
13424
- _sfc_render$3,
13425
- _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
13426
13560
  );
13427
- const AddressList = __component__$3.exports;
13561
+ const AddressList = __component__$8.exports;
13428
13562
  var areaPicker;
13429
13563
  var hasRequiredAreaPicker;
13430
13564
  function requireAreaPicker() {
@@ -14713,7 +14847,7 @@ const useFormAreaPicker = (options) => {
14713
14847
  onClickConfirm
14714
14848
  };
14715
14849
  };
14716
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
14850
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
14717
14851
  __name: "form-area-picker",
14718
14852
  props: formAreaPickerProps(),
14719
14853
  emits: formAreaPickerEmit(),
@@ -14742,7 +14876,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
14742
14876
  return { __sfc: true, props, emit, $t, innerValue, pickerVisible, openPicker, closePicker, inputValue, inputPlaceholder, instance, formItemIsError, onClickConfirm, innerIsFinish, refreshKey, onHiddenPicker, FormInput, ProductIconArrowRight, CommonPopup, PlvAreaPicker };
14743
14877
  }
14744
14878
  });
14745
- var _sfc_render$2 = function render45() {
14879
+ var _sfc_render$7 = function render45() {
14746
14880
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
14747
14881
  return _c("div", { staticClass: "plv-product-form-area-picker", class: {
14748
14882
  "plv-product-form-area-picker--error": _setup.formItemIsError
@@ -14756,13 +14890,13 @@ var _sfc_render$2 = function render45() {
14756
14890
  _setup.innerValue = $$v;
14757
14891
  }, expression: "innerValue" } })], 1)])], 1);
14758
14892
  };
14759
- var _sfc_staticRenderFns$2 = [];
14760
- var __component__$2 = /* @__PURE__ */ normalizeComponent(
14761
- _sfc_main$2,
14762
- _sfc_render$2,
14763
- _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
14764
14898
  );
14765
- const AreaPicker = __component__$2.exports;
14899
+ const AreaPicker = __component__$7.exports;
14766
14900
  function validatePhoneNumber(phoneNumber, areaCode = "+86") {
14767
14901
  if (areaCode !== "+86") {
14768
14902
  return /(^\d{5,20}$)/.test(phoneNumber);
@@ -14904,7 +15038,7 @@ const useAddressEdit = (options) => {
14904
15038
  $t
14905
15039
  };
14906
15040
  };
14907
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
15041
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
14908
15042
  __name: "address-edit",
14909
15043
  props: addressEditProps(),
14910
15044
  setup(__props) {
@@ -14922,7 +15056,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
14922
15056
  return { __sfc: true, props, formRef, areaPickerRef, formFieldList, formData, formRules, triggerSubmit, submitReceiveForm, $t, FormWrap, FormItem, FormInput, AreaPicker };
14923
15057
  }
14924
15058
  });
14925
- var _sfc_render$1 = function render46() {
15059
+ var _sfc_render$6 = function render46() {
14926
15060
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
14927
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) {
14928
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) {
@@ -14938,13 +15072,13 @@ var _sfc_render$1 = function render46() {
14938
15072
  }, expression: "formData[index]" } })], 1)];
14939
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();
14940
15074
  };
14941
- var _sfc_staticRenderFns$1 = [];
14942
- var __component__$1 = /* @__PURE__ */ normalizeComponent(
14943
- _sfc_main$1,
14944
- _sfc_render$1,
14945
- _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
14946
15080
  );
14947
- const AddressEdit = __component__$1.exports;
15081
+ const AddressEdit = __component__$6.exports;
14948
15082
  var OrderPopupRoute = /* @__PURE__ */ ((OrderPopupRoute2) => {
14949
15083
  OrderPopupRoute2["Order"] = "order";
14950
15084
  OrderPopupRoute2["AddressList"] = "addressList";
@@ -15277,7 +15411,7 @@ const useOrderPopup = (options) => {
15277
15411
  resetRoute
15278
15412
  };
15279
15413
  };
15280
- const _sfc_main = /* @__PURE__ */ defineComponent({
15414
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
15281
15415
  __name: "order-popup",
15282
15416
  props: orderPopupProps(),
15283
15417
  setup(__props, { expose }) {
@@ -15303,32 +15437,627 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15303
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 };
15304
15438
  }
15305
15439
  });
15306
- var _sfc_render = function render47() {
15440
+ var _sfc_render$5 = function render47() {
15307
15441
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
15308
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) {
15309
15443
  _setup.visible = $$v;
15310
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)]);
15311
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
+ };
15312
16040
  var _sfc_staticRenderFns = [];
15313
16041
  var __component__ = /* @__PURE__ */ normalizeComponent(
15314
16042
  _sfc_main,
15315
16043
  _sfc_render,
15316
16044
  _sfc_staticRenderFns
15317
16045
  );
15318
- const orderPopup = __component__.exports;
16046
+ const smallCard = __component__.exports;
15319
16047
  ;
15320
16048
  console.log(
15321
16049
  "%c@polyv/product-ui",
15322
16050
  "background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff",
15323
16051
  "[component: index]",
15324
- "[version: 1.0.0-rc-20250612.3]",
15325
- "[buildTime: 2025-06-12 02:28:34]"
16052
+ "[version: 1.1.0-rc-20250703.1]",
16053
+ "[buildTime: 2025-07-03 01:47:56]"
15326
16054
  );
15327
16055
  export {
15328
16056
  AddressEdit,
15329
16057
  AddressEditFormType,
15330
16058
  AddressItem,
15331
16059
  AddressList,
16060
+ bigCardPopup as BigCardPopup,
15332
16061
  mobileProductPendant as MobileProductPendant,
15333
16062
  OrderConfirm,
15334
16063
  OrderDetail,
@@ -15343,5 +16072,6 @@ export {
15343
16072
  productIframeLinkPopup as ProductIframeLinkPopup,
15344
16073
  ProductItem,
15345
16074
  ProductList,
15346
- productListPopup as ProductListPopup
16075
+ productListPopup as ProductListPopup,
16076
+ smallCard as SmallCard
15347
16077
  };