@polyv/product-ui 1.0.0-rc-20250612.4 → 1.2.0-rc-20250724.2

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 +7 -3
  2. package/address-edit.es.js +1194 -1143
  3. package/address-edit.umd.js +7 -3
  4. package/address-item.cjs.js +2 -2
  5. package/address-item.es.js +12 -12
  6. package/address-item.umd.js +4 -3
  7. package/address-list.cjs.js +3 -3
  8. package/address-list.es.js +36 -18
  9. package/address-list.umd.js +3 -3
  10. package/big-card-popup.cjs.js +11 -0
  11. package/big-card-popup.es.d.ts +3 -0
  12. package/big-card-popup.es.js +4439 -0
  13. package/big-card-popup.umd.js +11 -0
  14. package/index.cjs.js +7 -3
  15. package/index.es.js +2644 -1847
  16. package/index.umd.js +7 -3
  17. package/mobile-product-pendant.cjs.js +3 -3
  18. package/mobile-product-pendant.es.js +46 -36
  19. package/mobile-product-pendant.umd.js +3 -3
  20. package/order-confirm.cjs.js +5 -3
  21. package/order-confirm.es.js +311 -293
  22. package/order-confirm.umd.js +5 -3
  23. package/order-detail.cjs.js +5 -3
  24. package/order-detail.es.js +311 -293
  25. package/order-detail.umd.js +5 -3
  26. package/order-item.cjs.js +2 -2
  27. package/order-item.es.js +27 -9
  28. package/order-item.umd.js +4 -3
  29. package/order-list-popup.cjs.js +5 -3
  30. package/order-list-popup.es.js +329 -297
  31. package/order-list-popup.umd.js +5 -3
  32. package/order-list.cjs.js +3 -3
  33. package/order-list.es.js +27 -9
  34. package/order-list.umd.js +3 -3
  35. package/order-popup.cjs.js +7 -3
  36. package/order-popup.es.js +1215 -1156
  37. package/order-popup.umd.js +7 -3
  38. package/package.json +3 -2
  39. package/pc-product-pendant.cjs.js +3 -3
  40. package/pc-product-pendant.es.js +27 -9
  41. package/pc-product-pendant.umd.js +3 -3
  42. package/product-button.cjs.js +3 -3
  43. package/product-button.es.js +318 -267
  44. package/product-button.umd.js +3 -3
  45. package/product-detail-popup.cjs.js +5 -3
  46. package/product-detail-popup.es.js +560 -473
  47. package/product-detail-popup.umd.js +5 -3
  48. package/product-detail.cjs.js +5 -3
  49. package/product-detail.es.js +632 -553
  50. package/product-detail.umd.js +5 -3
  51. package/product-iframe-link-popup.cjs.js +5 -3
  52. package/product-iframe-link-popup.es.js +296 -282
  53. package/product-iframe-link-popup.umd.js +5 -3
  54. package/product-item.cjs.js +5 -3
  55. package/product-item.es.js +720 -494
  56. package/product-item.umd.js +5 -3
  57. package/product-list-popup.cjs.js +5 -3
  58. package/product-list-popup.es.js +753 -585
  59. package/product-list-popup.umd.js +5 -3
  60. package/product-list.cjs.js +5 -3
  61. package/product-list.es.js +744 -584
  62. package/product-list.umd.js +5 -3
  63. package/small-card.cjs.js +10 -0
  64. package/small-card.es.d.ts +3 -0
  65. package/small-card.es.js +4496 -0
  66. package/small-card.umd.js +11 -0
@@ -1,4 +1,4 @@
1
- !function(){"use strict";try{if("undefined"!=typeof document){var i=document.createElement("style");i.appendChild(document.createTextNode('@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-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-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__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-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-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-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-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}')),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
1
+ !function(){"use strict";try{if("undefined"!=typeof document){var i=document.createElement("style");i.appendChild(document.createTextNode('.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-item__price-area{display:flex;flex-wrap:wrap;gap:2px;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px;line-height:18px;word-break:break-all}.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{color:#0006;font-size:12px;line-height:14px;text-decoration:line-through;word-break:break-all}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}.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__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-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-button,.plv-product-button__render{position:relative}.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:56px;height:36px!important;padding:0 16px;border-radius:4px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s ease-in-out;transition:border-color .35s ease-in-out;position:relative;margin-right:16px;margin-bottom:8px;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 .plv-radio__label{padding-left:0;font-size:12px;float:none;-webkit-transition:color .35s ease-in-out;transition:color .35s ease-in-out}.plv-radio--border:hover{border-color:#3f76fc;-webkit-transition:border-color .35s ease-in-out;transition:border-color .35s ease-in-out}.plv-radio--border:hover .plv-radio__label{-webkit-transition:color .35s ease-in-out;transition:color .35s ease-in-out;color:#3f76fc}.plv-radio--border.plv-radio--checked{border-width:1px;border-color:#3f76fc;background:#3f76fc1a}.plv-radio--border.plv-radio--checked:hover{border-color:#3f76fc}.plv-radio--border.plv-radio--checked .plv-radio__label{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{opacity:.6}.plv-radio--border.plv-radio--disabled:hover{border-color:#e5e5e5}.plv-radio--border.plv-radio--disabled:hover .plv-radio__label{color:#969ba5}.plv-radio--border.plv-radio--disabled.plv-radio--checked:hover{border-color:#3f76fc}.plv-radio--border.plv-radio--disabled.plv-radio--checked:hover .plv-radio__label{color:#3f76fc}.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5;pointer-events:none}.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-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}')),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defProps = Object.defineProperties;
4
4
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -475,6 +475,7 @@ function get(object, path, defaultValue) {
475
475
  }
476
476
  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": "已确认收货" };
477
477
  const addressEdit$5 = { "name": "联系人", "namePlaceholder": "请填写联系人姓名", "choiceAddress": "选择地区", "addressPlaceholder": "请选择地区", "phone": "手机号码", "phonePlaceholder": "请填写手机号码", "phoneError": "请输入正确的手机号", "addressDetail": "详细地址", "addressDetailPlaceholder": "请填写详细地址", "error": "请完善信息", "submit": "保存", "deleteConfirm": "确定要删除该地址吗?", "addAddress": "添加地址", "editAddress": "修改地址", "deleteAddress": "删除地址", "addSuccess": "保存成功", "addError": "保存失败", "editSuccess": "修改成功", "editError": "修改失败" };
478
+ const bigCard$5 = { "title": "商品推荐" };
478
479
  const zhCNLang = {
479
480
  "common.confirm": "确认",
480
481
  "common.cancel": "取消",
@@ -501,11 +502,14 @@ const zhCNLang = {
501
502
  "product.disableBuy": "暂不支持购买",
502
503
  "product.allProduct": "全部商品",
503
504
  "product.stock.soldOut": "已抢光",
505
+ "product.position.detail": "职位详情",
504
506
  order: order$5,
505
- addressEdit: addressEdit$5
507
+ addressEdit: addressEdit$5,
508
+ bigCard: bigCard$5
506
509
  };
507
510
  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": "已確認收貨" };
508
511
  const addressEdit$4 = { "name": "聯絡人", "namePlaceholder": "請填寫聯絡人", "choiceAddress": "選擇地區", "addressPlaceholder": "請選擇地區", "phone": "手機號碼", "phonePlaceholder": "請填寫手機號碼", "phoneError": "請輸入正確的手機號", "addressDetail": "詳細地址", "addressDetailPlaceholder": "請填寫詳細地址", "error": "請完善信息", "submit": "保存", "deleteConfirm": "確定要刪除該地址嗎?", "deleteAddress": "刪除地址", "addAddress": "添加地址", "editAddress": "修改地址", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "修改成功", "editError": "修改失敗" };
512
+ const bigCard$4 = { "title": "商品推薦" };
509
513
  const zhTWLang = {
510
514
  "common.confirm": "確認",
511
515
  "common.cancel": "取消",
@@ -532,11 +536,14 @@ const zhTWLang = {
532
536
  "product.disableBuy": "暫不支持購買",
533
537
  "product.allProduct": "全部商品",
534
538
  "product.stock.soldOut": "已搶光",
539
+ "product.position.detail": "職位詳情",
535
540
  order: order$4,
536
- addressEdit: addressEdit$4
541
+ addressEdit: addressEdit$4,
542
+ bigCard: bigCard$4
537
543
  };
538
544
  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" };
539
545
  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" };
546
+ const bigCard$3 = { "title": "Top Picks" };
540
547
  const enLang = {
541
548
  "common.confirm": "Confirm",
542
549
  "common.cancel": "Cancel",
@@ -563,11 +570,14 @@ const enLang = {
563
570
  "product.disableBuy": "Purchase not supported",
564
571
  "product.allProduct": "Products",
565
572
  "product.stock.soldOut": "Sold Out",
573
+ "product.position.detail": "Job Details",
566
574
  order: order$3,
567
- addressEdit: addressEdit$3
575
+ addressEdit: addressEdit$3,
576
+ bigCard: bigCard$3
568
577
  };
569
578
  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": "確認受け取り完了" };
570
579
  const addressEdit$2 = { "name": "連絡先", "namePlaceholder": "連絡先を入力", "choiceAddress": "地域を選択", "addressPlaceholder": "地域を選択", "phone": "電話番号", "phonePlaceholder": "電話番号を入力", "phoneError": "正しい電話番号を入力してください", "addressDetail": "詳細住所", "addressDetailPlaceholder": "詳細住所を入力", "error": "情報を入力してください", "submit": "保存", "deleteConfirm": "この住所を削除しますか?", "deleteAddress": "住所を削除", "addAddress": "住所を追加", "editAddress": "住所を編集", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "編集成功", "editError": "編集失敗" };
580
+ const bigCard$2 = { "title": "商品推薦" };
571
581
  const jaLang = {
572
582
  "common.confirm": "確認",
573
583
  "common.cancel": "キャンセル",
@@ -594,11 +604,14 @@ const jaLang = {
594
604
  "product.disableBuy": "購入不可",
595
605
  "product.allProduct": "すべての商品",
596
606
  "product.stock.soldOut": "売り切れ",
607
+ "product.position.detail": "職務詳細",
597
608
  order: order$2,
598
- addressEdit: addressEdit$2
609
+ addressEdit: addressEdit$2,
610
+ bigCard: bigCard$2
599
611
  };
600
612
  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": "확인 받기 완료" };
601
613
  const addressEdit$1 = { "name": "연락처", "namePlaceholder": "연락처 입력", "choiceAddress": "지역 선택", "addressPlaceholder": "지역 선택", "phone": "전화번호", "phonePlaceholder": "전화번호 입력", "phoneError": "올바른 전화번호를 입력해주세요", "addressDetail": "상세 주소", "addressDetailPlaceholder": "상세 주소 입력", "error": "정보를 입력해주세요.", "submit": "저장", "deleteConfirm": "주소를 삭제하시겠습니까?", "deleteAddress": "주소 삭제", "addAddress": "주소 추가", "editAddress": "주소 수정", "addSuccess": "저장 성공", "addError": "저장 실패", "editSuccess": "수정 성공", "editError": "수정 실패" };
614
+ const bigCard$1 = { "title": "상품 추천" };
602
615
  const koLang = {
603
616
  "common.confirm": "확인",
604
617
  "common.cancel": "취소",
@@ -625,11 +638,14 @@ const koLang = {
625
638
  "product.disableBuy": "구매 불가",
626
639
  "product.allProduct": "모든 상품",
627
640
  "product.stock.soldOut": "품절",
641
+ "product.position.detail": "직무 상세",
628
642
  order: order$1,
629
- addressEdit: addressEdit$1
643
+ addressEdit: addressEdit$1,
644
+ bigCard: bigCard$1
630
645
  };
631
646
  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": "Получение подтверждено" };
632
647
  const addressEdit = { "name": "Контактное лицо", "namePlaceholder": "Пожалуйста, введите имя контактного лица", "choiceAddress": "Выберите регион", "addressPlaceholder": "Пожалуйста, выберите регион", "phone": "Номер телефона", "phonePlaceholder": "Пожалуйста, введите номер телефона", "phoneError": "Пожалуйста, введите правильный номер телефона", "addressDetail": "Подробный адрес", "addressDetailPlaceholder": "Пожалуйста, заполните подробный адрес", "error": "Пожалуйста, дополните информацию", "submit": "Сохранить", "deleteConfirm": "Вы уверены, что хотите удалить этот адрес?", "addAddress": "Добавить адрес", "editAddress": "Изменить адрес", "deleteAddress": "Удалить адрес", "addSuccess": "Успешно сохранено", "addError": "Не удалось сохранить", "editSuccess": "Успешно изменено", "editError": "Не удалось изменить" };
648
+ const bigCard = { "title": "Товары" };
633
649
  const ruLang = {
634
650
  "common.confirm": "Подтвердить",
635
651
  "common.cancel": "Отмена",
@@ -656,8 +672,10 @@ const ruLang = {
656
672
  "product.disableBuy": "Покупка временно недоступна",
657
673
  "product.allProduct": "Все товары",
658
674
  "product.stock.soldOut": "Распродано",
675
+ "product.position.detail": "Детали вакансии",
659
676
  order,
660
- addressEdit
677
+ addressEdit,
678
+ bigCard
661
679
  };
662
680
  const fullI18nData = {
663
681
  [LangType.ZH_CN]: zhCNLang,
@@ -1213,12 +1231,12 @@ function getCurrentUAInfo() {
1213
1231
  return currentUAInfo || (currentUAInfo = Object.freeze("undefined" != typeof window ? new UAInfo(window.navigator.userAgent, window.navigator) : new UAInfo(""))), currentUAInfo;
1214
1232
  }
1215
1233
  const ua = navigator.userAgent.toLowerCase();
1216
- const uaInfo = getCurrentUAInfo();
1217
- const isAndroid = uaInfo.os.isAndroid;
1218
- const isIOS = uaInfo.os.isIOS;
1219
- const weixinVersion = uaInfo.client.version;
1220
- const isWeixin = uaInfo.client.isWx;
1221
- const isWorkWeixin = uaInfo.client.isWxWork;
1234
+ const uaInfo$1 = getCurrentUAInfo();
1235
+ const isAndroid$1 = uaInfo$1.os.isAndroid;
1236
+ const isIOS$1 = uaInfo$1.os.isIOS;
1237
+ const weixinVersion = uaInfo$1.client.version;
1238
+ const isWeixin = uaInfo$1.client.isWx;
1239
+ const isWorkWeixin = uaInfo$1.client.isWxWork;
1222
1240
  const isPcMiniProgram = (isWeixin || isWorkWeixin) && /miniprogramenv/.test(ua);
1223
1241
  function __isMobile() {
1224
1242
  const ua2 = navigator.userAgent;
@@ -1235,7 +1253,7 @@ function __isMobile() {
1235
1253
  function __isTablet() {
1236
1254
  const ua2 = navigator.userAgent;
1237
1255
  if (/(?:iPad|PlayBook)/.test(ua2)) return true;
1238
- if (uaInfo.os.isAndroid && !/(?:Mobile)/.test(ua2) || /(?:Tablet)/.test(ua2)) return true;
1256
+ if (uaInfo$1.os.isAndroid && !/(?:Mobile)/.test(ua2) || /(?:Tablet)/.test(ua2)) return true;
1239
1257
  return false;
1240
1258
  }
1241
1259
  const isMob = __isMobile();
@@ -1340,7 +1358,8 @@ function getProductTargetExport(productTarget) {
1340
1358
  ProductExplainStatus: productTarget.ProductExplainStatus,
1341
1359
  ProductMediaType: productTarget.ProductMediaType,
1342
1360
  ProductDeliveryType: productTarget.ProductDeliveryType,
1343
- ProductEvents: productTarget.ProductEvents
1361
+ ProductEvents: productTarget.ProductEvents,
1362
+ ProductPushRule: productTarget.ProductPushRule
1344
1363
  };
1345
1364
  }
1346
1365
  const PRODUCT_PROVIDE_KEY = Symbol("PRODUCT_PROVIDE_KEY");
@@ -1405,17 +1424,25 @@ const useProductStock = (options) => {
1405
1424
  ProductBuyType = result.ProductBuyType;
1406
1425
  }
1407
1426
  function getStock(target) {
1408
- if (!ProductType || !ProductBuyType) {
1427
+ if (!ProductType || !ProductBuyType || !target) {
1409
1428
  return {
1410
1429
  enabled: false,
1411
1430
  stock: 0
1412
1431
  };
1413
1432
  }
1414
- if ((target == null ? void 0 : target.productType) === ProductType.Normal && target.buyType === ProductBuyType.DirectBuy && (target == null ? void 0 : target.stockEnabled)) {
1415
- return {
1416
- enabled: true,
1417
- stock: target.stock
1418
- };
1433
+ if (target.productType === ProductType.Normal) {
1434
+ if (target.buyType === ProductBuyType.Link && target.forceShowSoldOut) {
1435
+ return {
1436
+ enabled: true,
1437
+ stock: 0
1438
+ };
1439
+ }
1440
+ if (target.buyType === ProductBuyType.DirectBuy && (target == null ? void 0 : target.stockEnabled)) {
1441
+ return {
1442
+ enabled: true,
1443
+ stock: target.stock
1444
+ };
1445
+ }
1419
1446
  }
1420
1447
  return {
1421
1448
  enabled: false,
@@ -1439,6 +1466,96 @@ const useProductStock = (options) => {
1439
1466
  isSoldOut
1440
1467
  };
1441
1468
  };
1469
+ var ScreenOrientationMode = /* @__PURE__ */ ((ScreenOrientationMode2) => {
1470
+ ScreenOrientationMode2["Vertical"] = "Vertical";
1471
+ ScreenOrientationMode2["Horizontal"] = "Horizontal";
1472
+ return ScreenOrientationMode2;
1473
+ })(ScreenOrientationMode || {});
1474
+ const useScreenOrientHook = (params = {}) => {
1475
+ const { autoListen = true, autoListenCb = () => {
1476
+ } } = params;
1477
+ const { injectData } = useGlobalInject();
1478
+ const screenOrientationMode = ref(
1479
+ "Vertical"
1480
+ /* Vertical */
1481
+ );
1482
+ const pageFullscreen = computed(() => {
1483
+ var _a;
1484
+ return (_a = injectData.pageFullscreen) != null ? _a : false;
1485
+ });
1486
+ const isVerticalScreenOrientation = computed(() => {
1487
+ if (!isMobile) {
1488
+ return false;
1489
+ }
1490
+ return screenOrientationMode.value === "Vertical";
1491
+ });
1492
+ const isHorizontalScreenOrientation = computed(() => {
1493
+ if (!isMobile) {
1494
+ return false;
1495
+ }
1496
+ if (pageFullscreen.value) {
1497
+ return true;
1498
+ }
1499
+ return screenOrientationMode.value === "Horizontal";
1500
+ });
1501
+ function resetScreenOrientationModeByWindow() {
1502
+ if (window.innerWidth < window.innerHeight) {
1503
+ screenOrientationMode.value = "Vertical";
1504
+ }
1505
+ }
1506
+ function updateScreenOrientationModeManually() {
1507
+ if (window.orientation === 180 || window.orientation === 0) {
1508
+ screenOrientationMode.value = "Vertical";
1509
+ }
1510
+ if (window.orientation === 90 || window.orientation === -90) {
1511
+ screenOrientationMode.value = "Horizontal";
1512
+ }
1513
+ resetScreenOrientationModeByWindow();
1514
+ }
1515
+ function onOrientationChange() {
1516
+ setTimeout(() => {
1517
+ const mql = window.matchMedia("(orientation: portrait)");
1518
+ if (mql == null ? void 0 : mql.matches) {
1519
+ screenOrientationMode.value = "Vertical";
1520
+ } else {
1521
+ screenOrientationMode.value = "Horizontal";
1522
+ }
1523
+ resetScreenOrientationModeByWindow();
1524
+ autoListenCb(screenOrientationMode.value);
1525
+ }, 200);
1526
+ }
1527
+ function listenOrientationEvent() {
1528
+ window.addEventListener(
1529
+ "onorientationchange" in window ? "orientationchange" : "resize",
1530
+ onOrientationChange,
1531
+ false
1532
+ );
1533
+ }
1534
+ function unlistenOrientationEvent() {
1535
+ window.removeEventListener(
1536
+ "onorientationchange" in window ? "orientationchange" : "resize",
1537
+ onOrientationChange,
1538
+ false
1539
+ );
1540
+ }
1541
+ onMounted(() => {
1542
+ if (autoListen) {
1543
+ listenOrientationEvent();
1544
+ onOrientationChange();
1545
+ }
1546
+ });
1547
+ onBeforeUnmount(() => {
1548
+ unlistenOrientationEvent();
1549
+ });
1550
+ return {
1551
+ screenOrientationMode,
1552
+ isVerticalScreenOrientation,
1553
+ isHorizontalScreenOrientation,
1554
+ pageFullscreen,
1555
+ listenOrientationEvent,
1556
+ updateScreenOrientationModeManually
1557
+ };
1558
+ };
1442
1559
  const hasOwnProperty = Object.prototype.hasOwnProperty;
1443
1560
  function hasOwnProp(r2, n2) {
1444
1561
  return hasOwnProperty.call(r2, n2);
@@ -6022,56 +6139,66 @@ Object.keys(prototypes).forEach((prototypeGroup) => {
6022
6139
  });
6023
6140
  Swiper.use([Resize, Observer]);
6024
6141
  const supportWebP = /* @__PURE__ */ (() => {
6025
- let A2;
6142
+ let e;
6026
6143
  return () => {
6027
- if (null == A2) try {
6028
- A2 = function() {
6029
- const A3 = document.createElement("canvas");
6030
- if (A3.getContext && A3.getContext("2d")) {
6031
- const e = "image/webp";
6032
- return 0 === A3.toDataURL(e).indexOf("data:" + e);
6144
+ if (null == e) try {
6145
+ e = function() {
6146
+ const e2 = document.createElement("canvas");
6147
+ if (e2.getContext && e2.getContext("2d")) {
6148
+ const A2 = "image/webp";
6149
+ return 0 === e2.toDataURL(A2).indexOf("data:" + A2);
6033
6150
  }
6034
6151
  return false;
6152
+ }() || function() {
6153
+ let e2 = false;
6154
+ const A2 = navigator.userAgent, t2 = /\bOS\s([\d_.]+)\slike\sMac\sOS\sX\b/.exec(A2);
6155
+ if (t2) e2 = parseInt(t2[1]) >= 14;
6156
+ else {
6157
+ const t3 = /\bVersion\/([\d.]+)\sSafari\b/.exec(A2);
6158
+ t3 && (e2 = parseInt(t3[1]) >= 16);
6159
+ }
6160
+ return e2;
6035
6161
  }();
6036
- } catch (e) {
6037
- A2 = false;
6162
+ } catch (A2) {
6163
+ e = false;
6038
6164
  }
6039
- return A2;
6165
+ return e;
6040
6166
  };
6041
6167
  })();
6042
- function getExtname(A2) {
6043
- const e = (A2 || "").split("."), t2 = e[e.length - 1];
6168
+ function getExtname(e) {
6169
+ const A2 = (e || "").split("."), t2 = A2[A2.length - 1];
6044
6170
  return t2 ? t2.toLowerCase() : "";
6045
6171
  }
6046
- function handleCompressOptions(A2) {
6047
- var e, t2;
6048
- const r2 = "number" == typeof A2 ? { width: A2 } : A2;
6049
- return r2.allowJPG = null === (e = r2.allowJPG) || void 0 === e || e, r2.allowWebP = null !== (t2 = r2.allowWebP) && void 0 !== t2 ? t2 : "auto", r2;
6172
+ function handleCompressOptions(e) {
6173
+ var A2, t2;
6174
+ const n2 = "number" == typeof e ? { width: e } : e;
6175
+ return n2.allowJPG = null === (A2 = n2.allowJPG) || void 0 === A2 || A2, n2.allowWebP = null !== (t2 = n2.allowWebP) && void 0 !== t2 ? t2 : "auto", n2;
6050
6176
  }
6051
- function createURLObject(A2) {
6052
- let e;
6177
+ function createURLObject(e) {
6178
+ let A2;
6053
6179
  if ("undefined" != typeof document) {
6054
6180
  const t2 = document.createElement("a");
6055
- t2.href = A2, e = t2;
6181
+ t2.href = e, A2 = t2;
6056
6182
  } else if ("function" == typeof URL) try {
6057
- e = new URL(/^\/\//.test(A2) ? "https:" + A2 : A2);
6058
- } catch (A3) {
6183
+ A2 = new URL(/^\/\//.test(e) ? "https:" + e : e);
6184
+ } catch (e2) {
6059
6185
  }
6060
- return e;
6186
+ return A2;
6061
6187
  }
6062
- function genOSSCompressParams(A2, e) {
6188
+ function genOSSCompressParams(e, A2) {
6063
6189
  let t2 = "";
6064
- 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;
6190
+ 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;
6065
6191
  }
6066
- function setOSSCompressParams(A2, e) {
6192
+ function setOSSCompressParams(e, A2) {
6067
6193
  let t2 = false;
6068
- 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;
6069
- }
6070
- function ossCompress(A2, e) {
6071
- const t2 = createURLObject(A2);
6072
- if (!t2) return A2;
6073
- if (!/\.videocc\.net$/i.test(t2.hostname)) return A2;
6074
- const r2 = genOSSCompressParams(getExtname(t2.pathname.split("/").pop()), handleCompressOptions(e));
6194
+ 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;
6195
+ }
6196
+ function ossCompress(e, A2) {
6197
+ const t2 = createURLObject(e);
6198
+ if (!t2) return e;
6199
+ const n2 = getExtname(t2.pathname.split("/").pop());
6200
+ if (!/\.videocc\.net$/i.test(t2.hostname) || "svg" === n2) return e;
6201
+ const r2 = genOSSCompressParams(n2, handleCompressOptions(A2));
6075
6202
  return r2 && (t2.search = setOSSCompressParams(t2.search, r2)), t2.href;
6076
6203
  }
6077
6204
  const emitFunc = () => () => true;
@@ -6308,12 +6435,22 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
6308
6435
  if (isFreeProduct.value) return $t("product.price.free");
6309
6436
  return props.product.realPrice;
6310
6437
  });
6311
- return { __sfc: true, props, $t, ProductType, ProductPriceType, isFreeProduct, hiddenPriceMarks, displayPrice };
6438
+ const originPrice = computed(() => {
6439
+ if (!props.product || props.product.productType !== ProductType.Normal) return;
6440
+ if (props.product.originPriceType === ProductPriceType.Amount) {
6441
+ if (!props.product.originPrice) {
6442
+ return;
6443
+ }
6444
+ return `¥${props.product.originPrice}`;
6445
+ }
6446
+ return props.product.customOriginalPrice;
6447
+ });
6448
+ return { __sfc: true, props, $t, ProductType, ProductPriceType, isFreeProduct, hiddenPriceMarks, displayPrice, originPrice };
6312
6449
  }
6313
6450
  });
6314
6451
  var _sfc_render$5 = function render5() {
6315
6452
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
6316
- 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();
6453
+ 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), _setup.originPrice ? _c("span", { staticClass: "plv-product-c-item__original-price" }, [_vm._v(_vm._s(_setup.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();
6317
6454
  };
6318
6455
  var _sfc_staticRenderFns$5 = [];
6319
6456
  var __component__$5 = /* @__PURE__ */ normalizeComponent(
@@ -6447,6 +6584,104 @@ var __component__$2 = /* @__PURE__ */ normalizeComponent(
6447
6584
  _sfc_staticRenderFns$2
6448
6585
  );
6449
6586
  const ProductInfo = __component__$2.exports;
6587
+ var __awaiter = function(i2, n2, o2, t2) {
6588
+ return new (o2 || (o2 = Promise))(function(e, a2) {
6589
+ function r2(i3) {
6590
+ try {
6591
+ k2(t2.next(i3));
6592
+ } catch (i4) {
6593
+ a2(i4);
6594
+ }
6595
+ }
6596
+ function l2(i3) {
6597
+ try {
6598
+ k2(t2.throw(i3));
6599
+ } catch (i4) {
6600
+ a2(i4);
6601
+ }
6602
+ }
6603
+ function k2(i3) {
6604
+ var n3;
6605
+ i3.done ? e(i3.value) : (n3 = i3.value, n3 instanceof o2 ? n3 : new o2(function(i4) {
6606
+ i4(n3);
6607
+ })).then(r2, l2);
6608
+ }
6609
+ k2((t2 = t2.apply(i2, n2 || [])).next());
6610
+ });
6611
+ };
6612
+ const uaInfo = getCurrentUAInfo();
6613
+ const isAndroid = uaInfo.os.isAndroid;
6614
+ const isIOS = uaInfo.os.isIOS;
6615
+ var LinkType;
6616
+ !function(i2) {
6617
+ i2[i2.Normal = 10] = "Normal", i2[i2.MultiPlatform = 11] = "MultiPlatform", i2[i2.Native = 12] = "Native";
6618
+ }(LinkType || (LinkType = {}));
6619
+ var LinkJumpWay;
6620
+ function getNativeToPointMallFn() {
6621
+ var i2, n2, o2, t2;
6622
+ return isAndroid ? null === (i2 = window.AndroidNative) || void 0 === i2 ? void 0 : i2.toPointMall : isIOS ? 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;
6623
+ }
6624
+ function toNativeLink(i2) {
6625
+ const { androidLink: n2, iosLink: o2, otherLink: t2 } = i2, e = getNativeToPointMallFn();
6626
+ if (e) {
6627
+ let i3 = isAndroid ? n2 : o2;
6628
+ const t3 = encodeURIComponent(location.href);
6629
+ i3 = concat(i3, { plt_back_uri: t3 });
6630
+ e(JSON.stringify({ url: i3 }));
6631
+ } else window.open(t2, "_blank", "noopener=yes");
6632
+ }
6633
+ function toPlvWebviewBridge(i2) {
6634
+ return __awaiter(this, void 0, void 0, function* () {
6635
+ const { getPlvWebviewSmallWindowSize: n2, getPlvWebviewBridge: o2 } = i2, t2 = (null == n2 ? void 0 : n2()) || { width: 90, height: 160 }, e = yield null == o2 ? void 0 : o2();
6636
+ e && e.sendData("clickProduct", { width: t2.width, height: t2.height, newPage: true, link: i2.link, data: i2.data });
6637
+ });
6638
+ }
6639
+ function toMultiPlatformLink(i2) {
6640
+ return __awaiter(this, void 0, void 0, function* () {
6641
+ 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;
6642
+ let u2 = false;
6643
+ try {
6644
+ u2 = (yield null == o2 ? void 0 : o2()) || false;
6645
+ } catch (i3) {
6646
+ u2 = false;
6647
+ }
6648
+ u2 && l2 && t2 ? t2(formatLink(l2, a2)) : s2 && k2 ? e(formatLink(k2, a2), LinkJumpWay.NewWindow) : !s2 && d2 && e(formatLink(d2, a2), LinkJumpWay.NewWindow);
6649
+ });
6650
+ }
6651
+ !function(i2) {
6652
+ i2.PopUp = "POP_UP", i2.NewWindow = "NEW_WINDOW", i2.CurrentWindow = "CURRENT_WINDOW";
6653
+ }(LinkJumpWay || (LinkJumpWay = {}));
6654
+ function formatLink(i2, n2) {
6655
+ let o2 = {};
6656
+ if (n2) {
6657
+ const t2 = n2(i2);
6658
+ o2 = Object.assign({}, o2, t2);
6659
+ }
6660
+ return concat(i2, o2);
6661
+ }
6662
+ function navigateToLink(i2) {
6663
+ 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;
6664
+ if (s2 !== LinkType.Native) {
6665
+ if (u2) {
6666
+ let i3 = "";
6667
+ const { link: o3, mobileLink: t3, mobileAppLink: r3, wxMiniprogramOriginalId: l3, wxMiniprogramLink: d3 } = n2;
6668
+ switch (s2) {
6669
+ case LinkType.Normal:
6670
+ i3 = o3;
6671
+ break;
6672
+ case LinkType.MultiPlatform:
6673
+ i3 = r3 || t3;
6674
+ }
6675
+ let u3 = null;
6676
+ 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 });
6677
+ }
6678
+ if (s2 !== LinkType.Normal) s2 === LinkType.MultiPlatform && toMultiPlatformLink({ linkData: n2, getLinkParams: k2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, openLink: o2, isMobile: d2 });
6679
+ else {
6680
+ const { link: i3, jumpWay: t3 } = n2;
6681
+ o2(formatLink(i3, k2), t3);
6682
+ }
6683
+ } else toNativeLink({ androidLink: formatLink(n2.androidLink, k2), iosLink: formatLink(n2.iosLink, k2), otherLink: formatLink(n2.otherLink, k2) });
6684
+ }
6450
6685
  const useTrackEvent = (iarCore) => {
6451
6686
  const { injectData } = useGlobalInject();
6452
6687
  function trackEvent(data) {
@@ -6460,7 +6695,7 @@ const useTrackEvent = (iarCore) => {
6460
6695
  trackEvent
6461
6696
  };
6462
6697
  };
6463
- const htmlChars = ['"', "'", "&", "<", ">"], htmlEntities = ["&quot;", "&#39;", "&amp;", "&lt;", "&gt;"], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
6698
+ const htmlChars = ['"', "'", "&", "<", ">", " "], htmlEntities = ["&quot;", "&#39;", "&amp;", "&lt;", "&gt;", "&nbsp;"], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
6464
6699
  htmlChars.forEach((n2, e) => {
6465
6700
  charsToEntities[n2] = htmlEntities[e], entitiesToChars[htmlEntities[e]] = n2;
6466
6701
  });
@@ -6515,7 +6750,7 @@ const useWeixinButton = (hookOptions = {}) => {
6515
6750
  }
6516
6751
  const wx = yield injectData.getWeixinSdk();
6517
6752
  (_a = wx == null ? void 0 : wx.miniProgram) == null ? void 0 : _a.navigateTo({
6518
- url
6753
+ url: url.startsWith("/") ? url : `/${url}`
6519
6754
  });
6520
6755
  return;
6521
6756
  });
@@ -6570,7 +6805,9 @@ const useWeixinButton = (hookOptions = {}) => {
6570
6805
  watch(
6571
6806
  () => [weixinBtnRef.value, supportWxOpenLaunchWeapp.value, buttonOptions.value],
6572
6807
  () => {
6573
- createWxMiniProgramButton();
6808
+ setTimeout(() => {
6809
+ createWxMiniProgramButton();
6810
+ }, 500);
6574
6811
  },
6575
6812
  {
6576
6813
  immediate: true
@@ -6587,25 +6824,25 @@ const useWeixinButton = (hookOptions = {}) => {
6587
6824
  };
6588
6825
  };
6589
6826
  const useAppNative = () => {
6590
- function getNativeToPointMallFn() {
6827
+ function getNativeToPointMallFn2() {
6591
6828
  var _a, _b, _c, _d;
6592
- if (isAndroid) {
6829
+ if (isAndroid$1) {
6593
6830
  return (_a = window.AndroidNative) == null ? void 0 : _a.toPointMall;
6594
- } else if (isIOS) {
6831
+ } else if (isIOS$1) {
6595
6832
  return (_d = (_c = (_b = window.webkit) == null ? void 0 : _b.messageHandlers) == null ? void 0 : _c.gotoPointsMall) == null ? void 0 : _d.postMessage;
6596
6833
  }
6597
6834
  }
6598
6835
  function supportNativeToPointMall() {
6599
- return !!getNativeToPointMallFn();
6836
+ return !!getNativeToPointMallFn2();
6600
6837
  }
6601
6838
  const supportAppNative = computed(() => {
6602
6839
  return supportNativeToPointMall();
6603
6840
  });
6604
- function toNativeLink(options) {
6841
+ function toNativeLink2(options) {
6605
6842
  const { androidLink, iosLink, otherLink } = options;
6606
- const nativePointMallFn = getNativeToPointMallFn();
6843
+ const nativePointMallFn = getNativeToPointMallFn2();
6607
6844
  if (nativePointMallFn) {
6608
- let url = isAndroid ? androidLink : iosLink;
6845
+ let url = isAndroid$1 ? androidLink : iosLink;
6609
6846
  const pltBackUri = encodeURIComponent(location.href);
6610
6847
  url = concat(url, {
6611
6848
  plt_back_uri: pltBackUri
@@ -6619,60 +6856,10 @@ const useAppNative = () => {
6619
6856
  window.open(otherLink, "_blank", "noopener=yes");
6620
6857
  }
6621
6858
  return {
6622
- getNativeToPointMallFn,
6859
+ getNativeToPointMallFn: getNativeToPointMallFn2,
6623
6860
  supportNativeToPointMall,
6624
6861
  supportAppNative,
6625
- toNativeLink
6626
- };
6627
- };
6628
- const usePolyvWebview = () => {
6629
- const { injectData } = useGlobalInject();
6630
- const isPlvWebview = ref(false);
6631
- const supportPlvWebview = computed(() => {
6632
- return isPlvWebview.value;
6633
- });
6634
- function getPlvWebviewBridge() {
6635
- return __async(this, null, function* () {
6636
- if (injectData.getPlvWebviewBridge) {
6637
- return yield injectData.getPlvWebviewBridge();
6638
- }
6639
- });
6640
- }
6641
- function toPlvWebviewBridge(options) {
6642
- return __async(this, null, function* () {
6643
- if (!supportPlvWebview.value) {
6644
- return;
6645
- }
6646
- let plvWebviewDataSize = {
6647
- width: 90,
6648
- height: 160
6649
- };
6650
- if (injectData.getPlvWebviewSmallWindowSize) {
6651
- plvWebviewDataSize = injectData.getPlvWebviewSmallWindowSize();
6652
- }
6653
- const webviewBridge = yield getPlvWebviewBridge();
6654
- if (!webviewBridge) {
6655
- return;
6656
- }
6657
- webviewBridge.sendData("clickProduct", {
6658
- width: plvWebviewDataSize.width,
6659
- height: plvWebviewDataSize.height,
6660
- newPage: true,
6661
- link: options.link,
6662
- data: options.data
6663
- });
6664
- });
6665
- }
6666
- onMounted(() => {
6667
- if (injectData.isPlvWebview) {
6668
- isPlvWebview.value = injectData.isPlvWebview();
6669
- }
6670
- });
6671
- return {
6672
- isPlvWebview,
6673
- supportPlvWebview,
6674
- getPlvWebviewBridge,
6675
- toPlvWebviewBridge
6862
+ toNativeLink: toNativeLink2
6676
6863
  };
6677
6864
  };
6678
6865
  const productButtonProps = () => __spreadProps(__spreadValues({}, productProps()), {
@@ -6691,12 +6878,12 @@ const useProductButton = (options) => {
6691
6878
  const { isSoldOut } = useProductStock({
6692
6879
  product: () => props.productData
6693
6880
  });
6694
- const { getEmitter } = useGlobalInject();
6881
+ const { getEmitter, injectData } = useGlobalInject();
6695
6882
  const { $t } = useI18n();
6696
6883
  const productConfig = computed(() => {
6697
6884
  return props.productConfig;
6698
6885
  });
6699
- const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram } = useWeixinButton({
6886
+ const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram, supportWxMiniProgramNavigateTo } = useWeixinButton({
6700
6887
  getButtonOptions: () => {
6701
6888
  const productData = props.productData;
6702
6889
  return {
@@ -6707,10 +6894,9 @@ const useProductButton = (options) => {
6707
6894
  },
6708
6895
  launchCallback: () => sendClickEvent()
6709
6896
  });
6710
- const { supportAppNative, toNativeLink } = useAppNative();
6711
- const { supportPlvWebview, toPlvWebviewBridge } = usePolyvWebview();
6897
+ const { supportAppNative } = useAppNative();
6712
6898
  const { trackEvent } = useTrackEvent(props.productTarget.iarCore);
6713
- const { ProductBuyType, ProductType, ProductLinkType, ProductLinkJumpWay } = getProductTargetExport(props.productTarget);
6899
+ const { ProductBuyType, ProductType } = getProductTargetExport(props.productTarget);
6714
6900
  const isDirectBuy = computed(() => {
6715
6901
  return props.productData.productType === ProductType.Normal && props.productData.buyType === ProductBuyType.DirectBuy;
6716
6902
  });
@@ -6737,13 +6923,13 @@ const useProductButton = (options) => {
6737
6923
  if (isDirectBuy.value) {
6738
6924
  return false;
6739
6925
  }
6740
- if (productData.linkType === ProductLinkType.Normal) {
6926
+ if (productData.linkType === LinkType.Normal) {
6741
6927
  return !productData.link;
6742
6928
  }
6743
- if (productData.linkType === ProductLinkType.MultiPlatform) {
6929
+ if (productData.linkType === LinkType.MultiPlatform) {
6744
6930
  return isMultiPlatformDisabled.value;
6745
6931
  }
6746
- if (productData.linkType === ProductLinkType.Native) {
6932
+ if (productData.linkType === LinkType.Native) {
6747
6933
  if (supportAppNative.value) {
6748
6934
  return !productData.androidLink && !productData.iosLink;
6749
6935
  }
@@ -6802,9 +6988,26 @@ const useProductButton = (options) => {
6802
6988
  }
6803
6989
  return concat(url, urlParams);
6804
6990
  }
6991
+ function getLinkData() {
6992
+ const productData = props.productData;
6993
+ const linkData = {
6994
+ linkType: productData.linkType,
6995
+ jumpWay: productData.jumpWay,
6996
+ link: productData.link,
6997
+ pcLink: productData.pcLink,
6998
+ mobileLink: productData.mobileLink,
6999
+ mobileAppLink: productData.mobileAppLink,
7000
+ androidLink: productData.androidLink,
7001
+ iosLink: productData.iosLink,
7002
+ otherLink: productData.otherLink,
7003
+ wxMiniprogramOriginalId: productData.wxMiniprogramOriginalId,
7004
+ wxMiniprogramAppId: productData.wxMiniprogramAppId,
7005
+ wxMiniprogramLink: productData.wxMiniprogramLink
7006
+ };
7007
+ return linkData;
7008
+ }
6805
7009
  function onClickLinkBtn() {
6806
7010
  const productData = props.productData;
6807
- const { linkType } = productData;
6808
7011
  sendClickEvent();
6809
7012
  if (productConfig.value.customClickButtonHandler) {
6810
7013
  productConfig.value.customClickButtonHandler(productData);
@@ -6814,70 +7017,28 @@ const useProductButton = (options) => {
6814
7017
  toDirectBuy();
6815
7018
  return;
6816
7019
  }
6817
- if (productData.linkType === ProductLinkType.Native) {
6818
- toNativeLink({
6819
- androidLink: formatProductLink(productData.androidLink),
6820
- iosLink: formatProductLink(productData.iosLink),
6821
- otherLink: formatProductLink(productData.otherLink)
6822
- });
6823
- return;
6824
- }
6825
- if (supportPlvWebview.value) {
6826
- let linkTo = "";
6827
- const { link, mobileLink, mobileAppLink, wxMiniprogramOriginalId, wxMiniprogramLink } = productData;
6828
- switch (productData.linkType) {
6829
- case ProductLinkType.Normal:
6830
- linkTo = link;
6831
- break;
6832
- case ProductLinkType.MultiPlatform:
6833
- linkTo = mobileAppLink || mobileLink;
6834
- break;
6835
- }
6836
- let otherData = null;
6837
- if (productData.linkType !== ProductLinkType.Normal) {
6838
- otherData = {
6839
- mobileLink: formatProductLink(mobileLink),
6840
- wxMiniprogramOriginalId,
6841
- wxMiniprogramLink: formatProductLink(wxMiniprogramLink),
6842
- mobileAppLink: formatProductLink(mobileAppLink)
6843
- };
6844
- }
6845
- toPlvWebviewBridge({
6846
- link: formatProductLink(linkTo),
6847
- data: otherData
6848
- });
6849
- return;
6850
- }
6851
- if (linkType === ProductLinkType.Normal) {
6852
- const { link, jumpWay } = productData;
6853
- openLink(formatProductLink(link), jumpWay);
6854
- return;
6855
- }
6856
- if (linkType === ProductLinkType.MultiPlatform) {
6857
- const { wxMiniprogramLink, mobileLink, pcLink } = productData;
6858
- if (isWxMiniProgramWebview.value && wxMiniprogramLink) {
6859
- toWxMiniProgram(formatProductLink(wxMiniprogramLink));
6860
- return;
6861
- }
6862
- if (isMobile) {
6863
- openLink(formatProductLink(mobileLink), ProductLinkJumpWay.NewWindow);
6864
- return;
6865
- }
6866
- if (!isMobile) {
6867
- openLink(formatProductLink(pcLink), ProductLinkJumpWay.NewWindow);
6868
- return;
6869
- }
6870
- }
7020
+ const linkData = getLinkData();
7021
+ navigateToLink({
7022
+ linkData,
7023
+ getLinkParams: productConfig.value.getLinkParams,
7024
+ openLink,
7025
+ isPlvWebview: injectData.isPlvWebview,
7026
+ isMobile: injectData.isMobile,
7027
+ getPlvWebviewBridge: injectData.getPlvWebviewBridge,
7028
+ getPlvWebviewSmallWindowSize: injectData.getPlvWebviewSmallWindowSize,
7029
+ isWxMiniProgramEnv: supportWxMiniProgramNavigateTo,
7030
+ toWxMiniProgram
7031
+ });
6871
7032
  }
6872
7033
  function openLink(url, jumpWay) {
6873
7034
  switch (jumpWay) {
6874
- case ProductLinkJumpWay.NewWindow:
7035
+ case LinkJumpWay.NewWindow:
6875
7036
  window.open(url, "_blank", "noopener=yes");
6876
7037
  break;
6877
- case ProductLinkJumpWay.CurrentWindow:
7038
+ case LinkJumpWay.CurrentWindow:
6878
7039
  window.location.href = url;
6879
7040
  break;
6880
- case ProductLinkJumpWay.PopUp:
7041
+ case LinkJumpWay.PopUp:
6881
7042
  getEmitter().emit(productEvents.OpenProductIframeLinkPopup, url);
6882
7043
  break;
6883
7044
  default:
@@ -6900,7 +7061,7 @@ const useProductButton = (options) => {
6900
7061
  name: productData.name,
6901
7062
  productId: productData.productId,
6902
7063
  productType: productData.productType,
6903
- productPushRule: data == null ? void 0 : data.pushRule
7064
+ productPushRule: (data == null ? void 0 : data.pushRule) || ""
6904
7065
  }
6905
7066
  });
6906
7067
  props.productTarget.sendProductClickEvent({
@@ -6986,10 +7147,10 @@ function requirePopperManager() {
6986
7147
  return t2.d(n3, "a", n3), n3;
6987
7148
  }, t2.o = function(e2, n3) {
6988
7149
  return Object.prototype.hasOwnProperty.call(e2, n3);
6989
- }, t2.p = "", t2(t2.s = 14);
6990
- }({ 14: function(e, n2, t2) {
7150
+ }, t2.p = "", t2(t2.s = 15);
7151
+ }({ 15: function(e, n2, t2) {
6991
7152
  t2.r(n2);
6992
- t2(41);
7153
+ t2(48);
6993
7154
  var r2 = "@@polyvAdminUIzIndex", o2 = { ctx: r2, openPopper: function(e2) {
6994
7155
  o2.zIndex++, e2.style.zIndex = o2.zIndex;
6995
7156
  }, install: function(e2) {
@@ -7001,7 +7162,7 @@ function requirePopperManager() {
7001
7162
  }, set: function(e2) {
7002
7163
  window[r2] = e2;
7003
7164
  } }), n2.default = o2;
7004
- }, 41: function(e, n2, t2) {
7165
+ }, 48: function(e, n2, t2) {
7005
7166
  } }).default;
7006
7167
  return popperManager;
7007
7168
  }
@@ -7040,31 +7201,31 @@ function requireRadio() {
7040
7201
  return r2.d(e2, "a", e2), e2;
7041
7202
  }, r2.o = function(t3, e2) {
7042
7203
  return Object.prototype.hasOwnProperty.call(t3, e2);
7043
- }, r2.p = "", r2(r2.s = 298);
7204
+ }, r2.p = "", r2(r2.s = 160);
7044
7205
  }({ 0: function(t2, e, r2) {
7045
- function n2(t3, e2, r3, n3, o2, i2, a2, s2) {
7046
- var u2, c2 = "function" == typeof t3 ? t3.options : t3;
7047
- if (e2 && (c2.render = e2, c2.staticRenderFns = r3, c2._compiled = true), n3 && (c2.functional = true), i2 && (c2._scopeId = "data-v-" + i2), a2 ? (u2 = function(t4) {
7048
- (t4 = t4 || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t4 = __VUE_SSR_CONTEXT__), o2 && o2.call(this, t4), t4 && t4._registeredComponents && t4._registeredComponents.add(a2);
7049
- }, c2._ssrRegister = u2) : o2 && (u2 = s2 ? function() {
7050
- o2.call(this, this.$root.$options.shadowRoot);
7051
- } : o2), u2) if (c2.functional) {
7052
- c2._injectStyles = u2;
7206
+ function n2(t3, e2, r3, n3, o2, i2, u2, a2) {
7207
+ var s2, c2 = "function" == typeof t3 ? t3.options : t3;
7208
+ if (e2 && (c2.render = e2, c2.staticRenderFns = r3, c2._compiled = true), n3 && (c2.functional = true), i2 && (c2._scopeId = "data-v-" + i2), u2 ? (s2 = function(t4) {
7209
+ (t4 = t4 || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t4 = __VUE_SSR_CONTEXT__), o2 && o2.call(this, t4), t4 && t4._registeredComponents && t4._registeredComponents.add(u2);
7210
+ }, c2._ssrRegister = s2) : o2 && (s2 = a2 ? function() {
7211
+ o2.call(this, (c2.functional ? this.parent : this).$root.$options.shadowRoot);
7212
+ } : o2), s2) if (c2.functional) {
7213
+ c2._injectStyles = s2;
7053
7214
  var l2 = c2.render;
7054
7215
  c2.render = function(t4, e3) {
7055
- return u2.call(e3), l2(t4, e3);
7216
+ return s2.call(e3), l2(t4, e3);
7056
7217
  };
7057
7218
  } else {
7058
7219
  var f2 = c2.beforeCreate;
7059
- c2.beforeCreate = f2 ? [].concat(f2, u2) : [u2];
7220
+ c2.beforeCreate = f2 ? [].concat(f2, s2) : [s2];
7060
7221
  }
7061
7222
  return { exports: t3, options: c2 };
7062
7223
  }
7063
7224
  r2.d(e, "a", function() {
7064
7225
  return n2;
7065
7226
  });
7066
- }, 115: function(t2, e, r2) {
7067
- var n2 = { name: "plv-radio", mixins: [r2(15).a], inject: { radioGroup: { default: "" } }, props: { checked: { type: Boolean, default: false }, value: [String, Number, Boolean], label: String, trueLabel: String, falseLabel: String, type: { type: String, default: "", validator: function(t3) {
7227
+ }, 104: function(t2, e, r2) {
7228
+ var n2 = { name: "plv-radio", mixins: [r2(16).a], inject: { radioGroup: { default: "" } }, props: { checked: { type: Boolean, default: false }, value: [String, Number, Boolean], label: String, trueLabel: String, falseLabel: String, type: { type: String, default: "", validator: function(t3) {
7068
7229
  return -1 !== ["", "border"].indexOf(t3);
7069
7230
  } }, disabled: { type: Boolean, default: false }, readonly: { type: Boolean, default: false }, corner: { type: Boolean, default: false } }, model: { prop: "checked", event: "change" }, computed: { inGroup: function() {
7070
7231
  return !!this.radioGroup;
@@ -7084,300 +7245,300 @@ function requireRadio() {
7084
7245
  this.$emit("change", t3);
7085
7246
  }, handleClick: function() {
7086
7247
  this.isDisabled || this.isReadonly || (this.inGroup ? this.radioGroup.radioClick(this.value) : this.checked || this.emitChange(true), this.blurToValidateItem());
7087
- } } }, o2 = (r2(354), r2(355), r2(0)), i2 = Object(o2.a)(n2, function() {
7248
+ } } }, o2 = (r2(207), r2(208), r2(0)), i2 = Object(o2.a)(n2, function() {
7088
7249
  var t3 = this, e2 = t3.$createElement, r3 = t3._self._c || e2;
7089
7250
  return r3("label", { staticClass: "plv-radio", class: { "plv-radio--checked": t3.isChecked, "plv-radio--disabled": t3.isDisabled, "plv-radio--readonly": t3.isReadonly, "plv-radio--border": "border" === t3.radioType }, on: { click: t3.handleClick } }, ["border" !== t3.radioType ? r3("span", { staticClass: "plv-radio__inner", class: { "plv-radio__inner--checked": t3.isChecked } }) : t3._e(), t3._v(" "), t3.radioLabel || t3.isHasSlot ? r3("span", { staticClass: "plv-radio__label" }, [t3.isChecked ? [t3.$slots.trueLabel ? [t3._t("trueLabel", [t3._v(t3._s(t3.trueLabel))])] : [t3._t("default", [t3._v(t3._s(t3.radioLabel))])]] : [t3.$slots.falseLabel ? [t3._t("falseLabel", [t3._v(t3._s(t3.falseLabel))])] : [t3._t("default", [t3._v(t3._s(t3.radioLabel))])]]], 2) : t3._e(), t3._v(" "), "border" === t3.type && t3.isChecked && t3.corner ? r3("div", { staticClass: "plv-radio__corner" }) : t3._e()]);
7090
7251
  }, [], false, null, null, null);
7091
7252
  e.a = i2.exports;
7092
- }, 147: function(t2, e, r2) {
7093
- }, 148: function(t2, e, r2) {
7094
- }, 15: function(t2, e, r2) {
7253
+ }, 156: function(t2, e, r2) {
7254
+ }, 157: function(t2, e, r2) {
7255
+ }, 16: function(t2, e, r2) {
7095
7256
  r2.d(e, "a", function() {
7096
- return i2;
7257
+ return a2;
7097
7258
  });
7098
- var n2 = r2(2), o2 = r2.n(n2), i2 = { inject: { formItem: { default: void 0 } }, computed: { formItemIsError: function() {
7099
- return !!this.formItem && this.formItem.formItemIsError;
7259
+ var n2 = r2(8), o2 = r2.n(n2), i2 = r2(3), u2 = r2.n(i2), a2 = { inject: { formItem: { default: void 0 } }, props: { forceFormError: { type: Boolean, default: false } }, computed: { formItemIsError: function() {
7260
+ return !!this.forceFormError || !!this.formItem && this.formItem.formItemIsError;
7100
7261
  } }, watch: { showPopper: function() {
7101
7262
  this.showPopper ? this.focusToRemoveError() : this.blurToValidateItem();
7102
7263
  } }, methods: { validateCurrentFormItem: function() {
7103
7264
  if (this.formItem) return this.formItem.validate();
7104
7265
  }, blurToValidateItem: function() {
7105
- return o2.a.async(function(t3) {
7106
- for (; ; ) switch (t3.prev = t3.next) {
7107
- case 0:
7108
- return t3.prev = 0, t3.next = 3, o2.a.awrap(this.validateCurrentFormItem());
7109
- case 3:
7110
- t3.next = 8;
7111
- break;
7112
- case 5:
7113
- t3.prev = 5, t3.t0 = t3.catch(0), console.error("blur-validate", t3.t0.message);
7114
- case 8:
7115
- case "end":
7116
- return t3.stop();
7117
- }
7118
- }, null, this, [[0, 5]]);
7266
+ var t3 = this;
7267
+ return o2()(u2.a.mark(function e2() {
7268
+ var r3;
7269
+ return u2.a.wrap(function(e3) {
7270
+ for (; ; ) switch (e3.prev = e3.next) {
7271
+ case 0:
7272
+ return e3.prev = 0, e3.next = 1, t3.validateCurrentFormItem();
7273
+ case 1:
7274
+ e3.next = 3;
7275
+ break;
7276
+ case 2:
7277
+ e3.prev = 2, r3 = e3.catch(0), console.error("blur-validate", r3.message);
7278
+ case 3:
7279
+ case "end":
7280
+ return e3.stop();
7281
+ }
7282
+ }, e2, null, [[0, 2]]);
7283
+ }))();
7119
7284
  }, focusToRemoveError: function() {
7120
7285
  this.formItem && this.formItem.removeErrorMessage();
7121
7286
  } } };
7122
- }, 2: function(t2, e, r2) {
7123
- t2.exports = r2(24);
7124
- }, 24: function(t2, e, r2) {
7125
- var n2 = function(t3) {
7126
- var e2, r3 = Object.prototype, n3 = r3.hasOwnProperty, o2 = "function" == typeof Symbol ? Symbol : {}, i2 = o2.iterator || "@@iterator", a2 = o2.asyncIterator || "@@asyncIterator", s2 = o2.toStringTag || "@@toStringTag";
7127
- function u2(t4, e3, r4) {
7128
- return Object.defineProperty(t4, e3, { value: r4, enumerable: true, configurable: true, writable: true }), t4[e3];
7129
- }
7130
- try {
7131
- u2({}, "");
7132
- } catch (t4) {
7133
- u2 = function(t5, e3, r4) {
7134
- return t5[e3] = r4;
7135
- };
7136
- }
7137
- function c2(t4, e3, r4, n4) {
7138
- var o3 = e3 && e3.prototype instanceof y2 ? e3 : y2, i3 = Object.create(o3.prototype), a3 = new O2(n4 || []);
7139
- return i3._invoke = /* @__PURE__ */ function(t5, e4, r5) {
7140
- var n5 = f2;
7141
- return function(o4, i4) {
7142
- if (n5 === d2) throw new Error("Generator is already running");
7143
- if (n5 === p2) {
7144
- if ("throw" === o4) throw i4;
7145
- return T2();
7287
+ }, 160: function(t2, e, r2) {
7288
+ r2.r(e);
7289
+ var n2 = r2(104);
7290
+ n2.a.install = function(t3) {
7291
+ t3.component(n2.a.name, n2.a);
7292
+ }, e.default = n2.a;
7293
+ }, 19: function(t2, e) {
7294
+ t2.exports = function(t3, e2) {
7295
+ this.v = t3, this.k = e2;
7296
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7297
+ }, 20: function(t2, e, r2) {
7298
+ var n2 = r2(21);
7299
+ function o2() {
7300
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
7301
+ var e2, r3, i2 = "function" == typeof Symbol ? Symbol : {}, u2 = i2.iterator || "@@iterator", a2 = i2.toStringTag || "@@toStringTag";
7302
+ function s2(t3, o3, i3, u3) {
7303
+ var a3 = o3 && o3.prototype instanceof l2 ? o3 : l2, s3 = Object.create(a3.prototype);
7304
+ return n2(s3, "_invoke", function(t4, n3, o4) {
7305
+ var i4, u4, a4, s4 = 0, l3 = o4 || [], f3 = false, p3 = { p: 0, n: 0, v: e2, a: d3, f: d3.bind(e2, 4), d: function(t5, r4) {
7306
+ return i4 = t5, u4 = 0, a4 = e2, p3.n = r4, c2;
7307
+ } };
7308
+ function d3(t5, n4) {
7309
+ for (u4 = t5, a4 = n4, r3 = 0; !f3 && s4 && !o5 && r3 < l3.length; r3++) {
7310
+ var o5, i5 = l3[r3], d4 = p3.p, h3 = i5[2];
7311
+ t5 > 3 ? (o5 = h3 === n4) && (a4 = i5[(u4 = i5[4]) ? 5 : (u4 = 3, 3)], i5[4] = i5[5] = e2) : i5[0] <= d4 && ((o5 = t5 < 2 && d4 < i5[1]) ? (u4 = 0, p3.v = n4, p3.n = i5[1]) : d4 < h3 && (o5 = t5 < 3 || i5[0] > n4 || n4 > h3) && (i5[4] = t5, i5[5] = n4, p3.n = h3, u4 = 0));
7146
7312
  }
7147
- for (r5.method = o4, r5.arg = i4; ; ) {
7148
- var a4 = r5.delegate;
7149
- if (a4) {
7150
- var s3 = k2(a4, r5);
7151
- if (s3) {
7152
- if (s3 === v2) continue;
7153
- return s3;
7154
- }
7155
- }
7156
- if ("next" === r5.method) r5.sent = r5._sent = r5.arg;
7157
- else if ("throw" === r5.method) {
7158
- if (n5 === f2) throw n5 = p2, r5.arg;
7159
- r5.dispatchException(r5.arg);
7160
- } else "return" === r5.method && r5.abrupt("return", r5.arg);
7161
- n5 = d2;
7162
- var u3 = l2(t5, e4, r5);
7163
- if ("normal" === u3.type) {
7164
- if (n5 = r5.done ? p2 : h2, u3.arg === v2) continue;
7165
- return { value: u3.arg, done: r5.done };
7313
+ if (o5 || t5 > 1) return c2;
7314
+ throw f3 = true, n4;
7315
+ }
7316
+ return function(o5, l4, h3) {
7317
+ if (s4 > 1) throw TypeError("Generator is already running");
7318
+ for (f3 && 1 === l4 && d3(l4, h3), u4 = l4, a4 = h3; (r3 = u4 < 2 ? e2 : a4) || !f3; ) {
7319
+ i4 || (u4 ? u4 < 3 ? (u4 > 1 && (p3.n = -1), d3(u4, a4)) : p3.n = a4 : p3.v = a4);
7320
+ try {
7321
+ if (s4 = 2, i4) {
7322
+ if (u4 || (o5 = "next"), r3 = i4[o5]) {
7323
+ if (!(r3 = r3.call(i4, a4))) throw TypeError("iterator result is not an object");
7324
+ if (!r3.done) return r3;
7325
+ a4 = r3.value, u4 < 2 && (u4 = 0);
7326
+ } else 1 === u4 && (r3 = i4.return) && r3.call(i4), u4 < 2 && (a4 = TypeError("The iterator does not provide a '" + o5 + "' method"), u4 = 1);
7327
+ i4 = e2;
7328
+ } else if ((r3 = (f3 = p3.n < 0) ? a4 : t4.call(n3, p3)) !== c2) break;
7329
+ } catch (t5) {
7330
+ i4 = e2, u4 = 1, a4 = t5;
7331
+ } finally {
7332
+ s4 = 1;
7166
7333
  }
7167
- "throw" === u3.type && (n5 = p2, r5.method = "throw", r5.arg = u3.arg);
7168
7334
  }
7335
+ return { value: r3, done: f3 };
7169
7336
  };
7170
- }(t4, r4, a3), i3;
7171
- }
7172
- function l2(t4, e3, r4) {
7173
- try {
7174
- return { type: "normal", arg: t4.call(e3, r4) };
7175
- } catch (t5) {
7176
- return { type: "throw", arg: t5 };
7177
- }
7337
+ }(t3, i3, u3), true), s3;
7178
7338
  }
7179
- t3.wrap = c2;
7180
- var f2 = "suspendedStart", h2 = "suspendedYield", d2 = "executing", p2 = "completed", v2 = {};
7181
- function y2() {
7339
+ var c2 = {};
7340
+ function l2() {
7182
7341
  }
7183
- function m2() {
7342
+ function f2() {
7184
7343
  }
7185
- function g2() {
7344
+ function p2() {
7186
7345
  }
7187
- var b2 = {};
7188
- u2(b2, i2, function() {
7346
+ r3 = Object.getPrototypeOf;
7347
+ var d2 = [][u2] ? r3(r3([][u2]())) : (n2(r3 = {}, u2, function() {
7189
7348
  return this;
7190
- });
7191
- var _2 = Object.getPrototypeOf, w2 = _2 && _2(_2(S2([])));
7192
- w2 && w2 !== r3 && n3.call(w2, i2) && (b2 = w2);
7193
- var L2 = g2.prototype = y2.prototype = Object.create(b2);
7194
- function x2(t4) {
7195
- ["next", "throw", "return"].forEach(function(e3) {
7196
- u2(t4, e3, function(t5) {
7197
- return this._invoke(e3, t5);
7198
- });
7199
- });
7200
- }
7201
- function E2(t4, e3) {
7202
- var r4;
7203
- this._invoke = function(o3, i3) {
7204
- function a3() {
7205
- return new e3(function(r5, a4) {
7206
- !function r6(o4, i4, a5, s3) {
7207
- var u3 = l2(t4[o4], t4, i4);
7208
- if ("throw" !== u3.type) {
7209
- var c3 = u3.arg, f3 = c3.value;
7210
- return f3 && "object" == typeof f3 && n3.call(f3, "__await") ? e3.resolve(f3.__await).then(function(t5) {
7211
- r6("next", t5, a5, s3);
7212
- }, function(t5) {
7213
- r6("throw", t5, a5, s3);
7214
- }) : e3.resolve(f3).then(function(t5) {
7215
- c3.value = t5, a5(c3);
7216
- }, function(t5) {
7217
- return r6("throw", t5, a5, s3);
7218
- });
7219
- }
7220
- s3(u3.arg);
7221
- }(o3, i3, r5, a4);
7222
- });
7223
- }
7224
- return r4 = r4 ? r4.then(a3, a3) : a3();
7225
- };
7349
+ }), r3), h2 = p2.prototype = l2.prototype = Object.create(d2);
7350
+ function v2(t3) {
7351
+ return Object.setPrototypeOf ? Object.setPrototypeOf(t3, p2) : (t3.__proto__ = p2, n2(t3, a2, "GeneratorFunction")), t3.prototype = Object.create(h2), t3;
7226
7352
  }
7227
- function k2(t4, r4) {
7228
- var n4 = t4.iterator[r4.method];
7229
- if (n4 === e2) {
7230
- if (r4.delegate = null, "throw" === r4.method) {
7231
- if (t4.iterator.return && (r4.method = "return", r4.arg = e2, k2(t4, r4), "throw" === r4.method)) return v2;
7232
- r4.method = "throw", r4.arg = new TypeError("The iterator does not provide a 'throw' method");
7233
- }
7234
- return v2;
7235
- }
7236
- var o3 = l2(n4, t4.iterator, r4.arg);
7237
- if ("throw" === o3.type) return r4.method = "throw", r4.arg = o3.arg, r4.delegate = null, v2;
7238
- var i3 = o3.arg;
7239
- return i3 ? i3.done ? (r4[t4.resultName] = i3.value, r4.next = t4.nextLoc, "return" !== r4.method && (r4.method = "next", r4.arg = e2), r4.delegate = null, v2) : i3 : (r4.method = "throw", r4.arg = new TypeError("iterator result is not an object"), r4.delegate = null, v2);
7240
- }
7241
- function C(t4) {
7242
- var e3 = { tryLoc: t4[0] };
7243
- 1 in t4 && (e3.catchLoc = t4[1]), 2 in t4 && (e3.finallyLoc = t4[2], e3.afterLoc = t4[3]), this.tryEntries.push(e3);
7244
- }
7245
- function j2(t4) {
7246
- var e3 = t4.completion || {};
7247
- e3.type = "normal", delete e3.arg, t4.completion = e3;
7248
- }
7249
- function O2(t4) {
7250
- this.tryEntries = [{ tryLoc: "root" }], t4.forEach(C, this), this.reset(true);
7251
- }
7252
- function S2(t4) {
7253
- if (t4) {
7254
- var r4 = t4[i2];
7255
- if (r4) return r4.call(t4);
7256
- if ("function" == typeof t4.next) return t4;
7257
- if (!isNaN(t4.length)) {
7258
- var o3 = -1, a3 = function r5() {
7259
- for (; ++o3 < t4.length; ) if (n3.call(t4, o3)) return r5.value = t4[o3], r5.done = false, r5;
7260
- return r5.value = e2, r5.done = true, r5;
7261
- };
7262
- return a3.next = a3;
7263
- }
7264
- }
7265
- return { next: T2 };
7266
- }
7267
- function T2() {
7268
- return { value: e2, done: true };
7269
- }
7270
- return m2.prototype = g2, u2(L2, "constructor", g2), u2(g2, "constructor", m2), m2.displayName = u2(g2, s2, "GeneratorFunction"), t3.isGeneratorFunction = function(t4) {
7271
- var e3 = "function" == typeof t4 && t4.constructor;
7272
- return !!e3 && (e3 === m2 || "GeneratorFunction" === (e3.displayName || e3.name));
7273
- }, t3.mark = function(t4) {
7274
- return Object.setPrototypeOf ? Object.setPrototypeOf(t4, g2) : (t4.__proto__ = g2, u2(t4, s2, "GeneratorFunction")), t4.prototype = Object.create(L2), t4;
7275
- }, t3.awrap = function(t4) {
7276
- return { __await: t4 };
7277
- }, x2(E2.prototype), u2(E2.prototype, a2, function() {
7278
- return this;
7279
- }), t3.AsyncIterator = E2, t3.async = function(e3, r4, n4, o3, i3) {
7280
- void 0 === i3 && (i3 = Promise);
7281
- var a3 = new E2(c2(e3, r4, n4, o3), i3);
7282
- return t3.isGeneratorFunction(r4) ? a3 : a3.next().then(function(t4) {
7283
- return t4.done ? t4.value : a3.next();
7284
- });
7285
- }, x2(L2), u2(L2, s2, "Generator"), u2(L2, i2, function() {
7353
+ return f2.prototype = p2, n2(h2, "constructor", p2), n2(p2, "constructor", f2), f2.displayName = "GeneratorFunction", n2(p2, a2, "GeneratorFunction"), n2(h2), n2(h2, a2, "Generator"), n2(h2, u2, function() {
7286
7354
  return this;
7287
- }), u2(L2, "toString", function() {
7355
+ }), n2(h2, "toString", function() {
7288
7356
  return "[object Generator]";
7289
- }), t3.keys = function(t4) {
7290
- var e3 = [];
7291
- for (var r4 in t4) e3.push(r4);
7292
- return e3.reverse(), function r5() {
7293
- for (; e3.length; ) {
7294
- var n4 = e3.pop();
7295
- if (n4 in t4) return r5.value = n4, r5.done = false, r5;
7296
- }
7297
- return r5.done = true, r5;
7298
- };
7299
- }, t3.values = S2, O2.prototype = { constructor: O2, reset: function(t4) {
7300
- if (this.prev = 0, this.next = 0, this.sent = this._sent = e2, this.done = false, this.delegate = null, this.method = "next", this.arg = e2, this.tryEntries.forEach(j2), !t4) for (var r4 in this) "t" === r4.charAt(0) && n3.call(this, r4) && !isNaN(+r4.slice(1)) && (this[r4] = e2);
7301
- }, stop: function() {
7302
- this.done = true;
7303
- var t4 = this.tryEntries[0].completion;
7304
- if ("throw" === t4.type) throw t4.arg;
7305
- return this.rval;
7306
- }, dispatchException: function(t4) {
7307
- if (this.done) throw t4;
7308
- var r4 = this;
7309
- function o3(n4, o4) {
7310
- return s3.type = "throw", s3.arg = t4, r4.next = n4, o4 && (r4.method = "next", r4.arg = e2), !!o4;
7311
- }
7312
- for (var i3 = this.tryEntries.length - 1; i3 >= 0; --i3) {
7313
- var a3 = this.tryEntries[i3], s3 = a3.completion;
7314
- if ("root" === a3.tryLoc) return o3("end");
7315
- if (a3.tryLoc <= this.prev) {
7316
- var u3 = n3.call(a3, "catchLoc"), c3 = n3.call(a3, "finallyLoc");
7317
- if (u3 && c3) {
7318
- if (this.prev < a3.catchLoc) return o3(a3.catchLoc, true);
7319
- if (this.prev < a3.finallyLoc) return o3(a3.finallyLoc);
7320
- } else if (u3) {
7321
- if (this.prev < a3.catchLoc) return o3(a3.catchLoc, true);
7322
- } else {
7323
- if (!c3) throw new Error("try statement without catch or finally");
7324
- if (this.prev < a3.finallyLoc) return o3(a3.finallyLoc);
7325
- }
7326
- }
7327
- }
7328
- }, abrupt: function(t4, e3) {
7329
- for (var r4 = this.tryEntries.length - 1; r4 >= 0; --r4) {
7330
- var o3 = this.tryEntries[r4];
7331
- if (o3.tryLoc <= this.prev && n3.call(o3, "finallyLoc") && this.prev < o3.finallyLoc) {
7332
- var i3 = o3;
7333
- break;
7334
- }
7357
+ }), (t2.exports = o2 = function() {
7358
+ return { w: s2, m: v2 };
7359
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports)();
7360
+ }
7361
+ t2.exports = o2, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7362
+ }, 207: function(t2, e, r2) {
7363
+ r2(156);
7364
+ }, 208: function(t2, e, r2) {
7365
+ r2(157);
7366
+ }, 21: function(t2, e) {
7367
+ function r2(e2, n2, o2, i2) {
7368
+ var u2 = Object.defineProperty;
7369
+ try {
7370
+ u2({}, "", {});
7371
+ } catch (e3) {
7372
+ u2 = 0;
7373
+ }
7374
+ t2.exports = r2 = function(t3, e3, n3, o3) {
7375
+ if (e3) u2 ? u2(t3, e3, { value: n3, enumerable: !o3, configurable: !o3, writable: !o3 }) : t3[e3] = n3;
7376
+ else {
7377
+ var i3 = function(e4, n4) {
7378
+ r2(t3, e4, function(t4) {
7379
+ return this._invoke(e4, n4, t4);
7380
+ });
7381
+ };
7382
+ i3("next", 0), i3("throw", 1), i3("return", 2);
7335
7383
  }
7336
- i3 && ("break" === t4 || "continue" === t4) && i3.tryLoc <= e3 && e3 <= i3.finallyLoc && (i3 = null);
7337
- var a3 = i3 ? i3.completion : {};
7338
- return a3.type = t4, a3.arg = e3, i3 ? (this.method = "next", this.next = i3.finallyLoc, v2) : this.complete(a3);
7339
- }, complete: function(t4, e3) {
7340
- if ("throw" === t4.type) throw t4.arg;
7341
- return "break" === t4.type || "continue" === t4.type ? this.next = t4.arg : "return" === t4.type ? (this.rval = this.arg = t4.arg, this.method = "return", this.next = "end") : "normal" === t4.type && e3 && (this.next = e3), v2;
7342
- }, finish: function(t4) {
7343
- for (var e3 = this.tryEntries.length - 1; e3 >= 0; --e3) {
7344
- var r4 = this.tryEntries[e3];
7345
- if (r4.finallyLoc === t4) return this.complete(r4.completion, r4.afterLoc), j2(r4), v2;
7384
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports, r2(e2, n2, o2, i2);
7385
+ }
7386
+ t2.exports = r2, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7387
+ }, 22: function(t2, e, r2) {
7388
+ var n2 = r2(20), o2 = r2(23);
7389
+ t2.exports = function(t3, e2, r3, i2, u2) {
7390
+ return new o2(n2().w(t3, e2, r3, i2), u2 || Promise);
7391
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7392
+ }, 23: function(t2, e, r2) {
7393
+ var n2 = r2(19), o2 = r2(21);
7394
+ t2.exports = function t3(e2, r3) {
7395
+ function i2(t4, o3, u3, a2) {
7396
+ try {
7397
+ var s2 = e2[t4](o3), c2 = s2.value;
7398
+ return c2 instanceof n2 ? r3.resolve(c2.v).then(function(t5) {
7399
+ i2("next", t5, u3, a2);
7400
+ }, function(t5) {
7401
+ i2("throw", t5, u3, a2);
7402
+ }) : r3.resolve(c2).then(function(t5) {
7403
+ s2.value = t5, u3(s2);
7404
+ }, function(t5) {
7405
+ return i2("throw", t5, u3, a2);
7406
+ });
7407
+ } catch (t5) {
7408
+ a2(t5);
7346
7409
  }
7347
- }, catch: function(t4) {
7348
- for (var e3 = this.tryEntries.length - 1; e3 >= 0; --e3) {
7349
- var r4 = this.tryEntries[e3];
7350
- if (r4.tryLoc === t4) {
7351
- var n4 = r4.completion;
7352
- if ("throw" === n4.type) {
7353
- var o3 = n4.arg;
7354
- j2(r4);
7355
- }
7356
- return o3;
7357
- }
7410
+ }
7411
+ var u2;
7412
+ this.next || (o2(t3.prototype), o2(t3.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function() {
7413
+ return this;
7414
+ })), o2(this, "_invoke", function(t4, e3, n3) {
7415
+ function o3() {
7416
+ return new r3(function(e4, r4) {
7417
+ i2(t4, n3, e4, r4);
7418
+ });
7358
7419
  }
7359
- throw new Error("illegal catch attempt");
7360
- }, delegateYield: function(t4, r4, n4) {
7361
- return this.delegate = { iterator: S2(t4), resultName: r4, nextLoc: n4 }, "next" === this.method && (this.arg = e2), v2;
7362
- } }, t3;
7363
- }(t2.exports);
7420
+ return u2 = u2 ? u2.then(o3, o3) : o3();
7421
+ }, true);
7422
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7423
+ }, 3: function(t2, e, r2) {
7424
+ var n2 = r2(30)();
7425
+ t2.exports = n2;
7364
7426
  try {
7365
7427
  regeneratorRuntime = n2;
7366
7428
  } catch (t3) {
7367
7429
  "object" == typeof globalThis ? globalThis.regeneratorRuntime = n2 : Function("r", "regeneratorRuntime = r")(n2);
7368
7430
  }
7369
- }, 298: function(t2, e, r2) {
7370
- r2.r(e);
7371
- var n2 = r2(115);
7372
- n2.a.install = function(t3) {
7373
- t3.component(n2.a.name, n2.a);
7374
- }, e.default = n2.a;
7375
- }, 354: function(t2, e, r2) {
7376
- var n2 = r2(147);
7377
- r2.n(n2).a;
7378
- }, 355: function(t2, e, r2) {
7379
- var n2 = r2(148);
7380
- r2.n(n2).a;
7431
+ }, 30: function(t2, e, r2) {
7432
+ var n2 = r2(19), o2 = r2(20), i2 = r2(31), u2 = r2(22), a2 = r2(23), s2 = r2(32), c2 = r2(33);
7433
+ function l2() {
7434
+ var e2 = o2(), r3 = e2.m(l2), f2 = (Object.getPrototypeOf ? Object.getPrototypeOf(r3) : r3.__proto__).constructor;
7435
+ function p2(t3) {
7436
+ var e3 = "function" == typeof t3 && t3.constructor;
7437
+ return !!e3 && (e3 === f2 || "GeneratorFunction" === (e3.displayName || e3.name));
7438
+ }
7439
+ var d2 = { throw: 1, return: 2, break: 3, continue: 3 };
7440
+ function h2(t3) {
7441
+ var e3, r4;
7442
+ return function(n3) {
7443
+ e3 || (e3 = { stop: function() {
7444
+ return r4(n3.a, 2);
7445
+ }, catch: function() {
7446
+ return n3.v;
7447
+ }, abrupt: function(t4, e4) {
7448
+ return r4(n3.a, d2[t4], e4);
7449
+ }, delegateYield: function(t4, o3, i3) {
7450
+ return e3.resultName = o3, r4(n3.d, c2(t4), i3);
7451
+ }, finish: function(t4) {
7452
+ return r4(n3.f, t4);
7453
+ } }, r4 = function(t4, r5, o3) {
7454
+ n3.p = e3.prev, n3.n = e3.next;
7455
+ try {
7456
+ return t4(r5, o3);
7457
+ } finally {
7458
+ e3.next = n3.n;
7459
+ }
7460
+ }), e3.resultName && (e3[e3.resultName] = n3.v, e3.resultName = void 0), e3.sent = n3.v, e3.next = n3.n;
7461
+ try {
7462
+ return t3.call(this, e3);
7463
+ } finally {
7464
+ n3.p = e3.prev, n3.n = e3.next;
7465
+ }
7466
+ };
7467
+ }
7468
+ return (t2.exports = l2 = function() {
7469
+ return { wrap: function(t3, r4, n3, o3) {
7470
+ return e2.w(h2(t3), r4, n3, o3 && o3.reverse());
7471
+ }, isGeneratorFunction: p2, mark: e2.m, awrap: function(t3, e3) {
7472
+ return new n2(t3, e3);
7473
+ }, AsyncIterator: a2, async: function(t3, e3, r4, n3, o3) {
7474
+ return (p2(e3) ? u2 : i2)(h2(t3), e3, r4, n3, o3);
7475
+ }, keys: s2, values: c2 };
7476
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports)();
7477
+ }
7478
+ t2.exports = l2, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7479
+ }, 31: function(t2, e, r2) {
7480
+ var n2 = r2(22);
7481
+ t2.exports = function(t3, e2, r3, o2, i2) {
7482
+ var u2 = n2(t3, e2, r3, o2, i2);
7483
+ return u2.next().then(function(t4) {
7484
+ return t4.done ? t4.value : u2.next();
7485
+ });
7486
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7487
+ }, 32: function(t2, e) {
7488
+ t2.exports = function(t3) {
7489
+ var e2 = Object(t3), r2 = [];
7490
+ for (var n2 in e2) r2.unshift(n2);
7491
+ return function t4() {
7492
+ for (; r2.length; ) if ((n2 = r2.pop()) in e2) return t4.value = n2, t4.done = false, t4;
7493
+ return t4.done = true, t4;
7494
+ };
7495
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7496
+ }, 33: function(t2, e, r2) {
7497
+ var n2 = r2(4).default;
7498
+ t2.exports = function(t3) {
7499
+ if (null != t3) {
7500
+ var e2 = t3["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r3 = 0;
7501
+ if (e2) return e2.call(t3);
7502
+ if ("function" == typeof t3.next) return t3;
7503
+ if (!isNaN(t3.length)) return { next: function() {
7504
+ return t3 && r3 >= t3.length && (t3 = void 0), { value: t3 && t3[r3++], done: !t3 };
7505
+ } };
7506
+ }
7507
+ throw new TypeError(n2(t3) + " is not iterable");
7508
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7509
+ }, 4: function(t2, e) {
7510
+ function r2(e2) {
7511
+ return t2.exports = r2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t3) {
7512
+ return typeof t3;
7513
+ } : function(t3) {
7514
+ return t3 && "function" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? "symbol" : typeof t3;
7515
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports, r2(e2);
7516
+ }
7517
+ t2.exports = r2, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7518
+ }, 8: function(t2, e) {
7519
+ function r2(t3, e2, r3, n2, o2, i2, u2) {
7520
+ try {
7521
+ var a2 = t3[i2](u2), s2 = a2.value;
7522
+ } catch (t4) {
7523
+ return void r3(t4);
7524
+ }
7525
+ a2.done ? e2(s2) : Promise.resolve(s2).then(n2, o2);
7526
+ }
7527
+ t2.exports = function(t3) {
7528
+ return function() {
7529
+ var e2 = this, n2 = arguments;
7530
+ return new Promise(function(o2, i2) {
7531
+ var u2 = t3.apply(e2, n2);
7532
+ function a2(t4) {
7533
+ r2(u2, o2, i2, a2, s2, "next", t4);
7534
+ }
7535
+ function s2(t4) {
7536
+ r2(u2, o2, i2, a2, s2, "throw", t4);
7537
+ }
7538
+ a2(void 0);
7539
+ });
7540
+ };
7541
+ }, t2.exports.__esModule = true, t2.exports.default = t2.exports;
7381
7542
  } }).default;
7382
7543
  return radio;
7383
7544
  }
@@ -7417,91 +7578,6 @@ const useAppendTo = (elemRef, parentRef) => {
7417
7578
  }
7418
7579
  });
7419
7580
  };
7420
- const useScreenOrientHook = (params = {}) => {
7421
- const { autoListen = true, autoListenCb = () => {
7422
- } } = params;
7423
- const { injectData } = useGlobalInject();
7424
- const screenOrientationMode = ref(
7425
- "Vertical"
7426
- /* Vertical */
7427
- );
7428
- const pageFullscreen = computed(() => {
7429
- var _a;
7430
- return (_a = injectData.pageFullscreen) != null ? _a : false;
7431
- });
7432
- const isVerticalScreenOrientation = computed(() => {
7433
- if (!isMobile) {
7434
- return false;
7435
- }
7436
- return screenOrientationMode.value === "Vertical";
7437
- });
7438
- const isHorizontalScreenOrientation = computed(() => {
7439
- if (!isMobile) {
7440
- return false;
7441
- }
7442
- if (pageFullscreen.value) {
7443
- return true;
7444
- }
7445
- return screenOrientationMode.value === "Horizontal";
7446
- });
7447
- function resetScreenOrientationModeByWindow() {
7448
- if (window.innerWidth < window.innerHeight) {
7449
- screenOrientationMode.value = "Vertical";
7450
- }
7451
- }
7452
- function updateScreenOrientationModeManually() {
7453
- if (window.orientation === 180 || window.orientation === 0) {
7454
- screenOrientationMode.value = "Vertical";
7455
- }
7456
- if (window.orientation === 90 || window.orientation === -90) {
7457
- screenOrientationMode.value = "Horizontal";
7458
- }
7459
- resetScreenOrientationModeByWindow();
7460
- }
7461
- function onOrientationChange() {
7462
- setTimeout(() => {
7463
- const mql = window.matchMedia("(orientation: portrait)");
7464
- if (mql == null ? void 0 : mql.matches) {
7465
- screenOrientationMode.value = "Vertical";
7466
- } else {
7467
- screenOrientationMode.value = "Horizontal";
7468
- }
7469
- resetScreenOrientationModeByWindow();
7470
- autoListenCb(screenOrientationMode.value);
7471
- }, 200);
7472
- }
7473
- function listenOrientationEvent() {
7474
- window.addEventListener(
7475
- "onorientationchange" in window ? "orientationchange" : "resize",
7476
- onOrientationChange,
7477
- false
7478
- );
7479
- }
7480
- function unlistenOrientationEvent() {
7481
- window.removeEventListener(
7482
- "onorientationchange" in window ? "orientationchange" : "resize",
7483
- onOrientationChange,
7484
- false
7485
- );
7486
- }
7487
- onMounted(() => {
7488
- if (autoListen) {
7489
- listenOrientationEvent();
7490
- onOrientationChange();
7491
- }
7492
- });
7493
- onBeforeUnmount(() => {
7494
- unlistenOrientationEvent();
7495
- });
7496
- return {
7497
- screenOrientationMode,
7498
- isVerticalScreenOrientation,
7499
- isHorizontalScreenOrientation,
7500
- pageFullscreen,
7501
- listenOrientationEvent,
7502
- updateScreenOrientationModeManually
7503
- };
7504
- };
7505
7581
  const useFullscreenApi = () => {
7506
7582
  const apis = [
7507
7583
  {
@@ -7726,7 +7802,7 @@ const useDynamicHeight = (options) => {
7726
7802
  const props = __props;
7727
7803
  const { injectData: globalInjectData } = useGlobalInject();
7728
7804
  const popupInjectData = useCommonPopupInject();
7729
- const { isHorizontalScreenOrientation, pageFullscreen } = useScreenOrientHook();
7805
+ const { isHorizontalScreenOrientation, pageFullscreen, screenOrientationMode } = useScreenOrientHook();
7730
7806
  const { isFullscreen } = useFullscreen();
7731
7807
  const { dynamicContentHeightPercent, handleScroll, reset: resetContentHeight } = useDynamicHeight(props.dynamicHeightOptions);
7732
7808
  function getOriginAppendTo() {
@@ -7795,7 +7871,7 @@ const useDynamicHeight = (options) => {
7795
7871
  cls.push(props.horizontalScreenClassName);
7796
7872
  }
7797
7873
  }
7798
- if (pageFullscreen.value) {
7874
+ if (pageFullscreen.value && screenOrientationMode.value !== ScreenOrientationMode.Horizontal) {
7799
7875
  cls.push("plv-product-common-popup--page-fullscreen");
7800
7876
  }
7801
7877
  return cls;
@@ -7841,6 +7917,7 @@ const useDynamicHeight = (options) => {
7841
7917
  if (props.fillBody) {
7842
7918
  return "90%";
7843
7919
  }
7920
+ if (isHorizontalScreenOrientation.value) return document.documentElement.clientHeight;
7844
7921
  if (props.enableDynamicHeight) {
7845
7922
  return document.documentElement.clientHeight * dynamicContentHeightPercent.value;
7846
7923
  }
@@ -7951,7 +8028,7 @@ const useDynamicHeight = (options) => {
7951
8028
  expose({
7952
8029
  resetScroll
7953
8030
  });
7954
- 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 };
8031
+ return { __sfc: true, props, emit, globalInjectData, popupInjectData, isHorizontalScreenOrientation, pageFullscreen, screenOrientationMode, 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 };
7955
8032
  }
7956
8033
  });
7957
8034
  const useTargetEventEmitter = (eventEmitter, listeners) => {
@@ -8044,6 +8121,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8044
8121
  });
8045
8122
  const { handleDirectBuy, getPayProviders } = useProductDirectBuy({ props, emitNotSupportDirectBuy });
8046
8123
  const { $t } = useI18n();
8124
+ const { isHorizontalScreenOrientation } = useScreenOrientHook();
8047
8125
  const { productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut } = useProductDetail({ props, emit });
8048
8126
  onMounted(() => {
8049
8127
  getPayProviders();
@@ -8052,14 +8130,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8052
8130
  provide("handleVideoPlay", handleVideoPlay);
8053
8131
  provide("handleVideoPause", handleVideoPause);
8054
8132
  expose(instance);
8055
- return { __sfc: true, props, emit, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, $t, productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut, isMobile, ProductCover, ProductInfo, ProductButton };
8133
+ return { __sfc: true, props, emit, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, $t, isHorizontalScreenOrientation, productCoverRef, product, ProductType, productCoverVisible, handleVideoPlay, handleVideoPause, instance, isSoldOut, isMobile, ProductCover, ProductInfo, ProductButton };
8056
8134
  }
8057
8135
  });
8058
8136
  var _sfc_render = function render10() {
8059
8137
  var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
8060
8138
  return _setup.product ? _c("div", { staticClass: "plv-product-detail-container", class: {
8061
8139
  "plv-product-detail-container--mobile": _setup.isMobile,
8062
- "plv-product-detail-container--pc": !_setup.isMobile
8140
+ "plv-product-detail-container--pc": !_setup.isMobile,
8141
+ "plv-product-common-popup--horizontal-screen": _setup.isHorizontalScreenOrientation
8063
8142
  } }, [_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() {
8064
8143
  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 }) {
8065
8144
  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) + " ")])];
@@ -8078,8 +8157,8 @@ console.log(
8078
8157
  "%c@polyv/product-ui",
8079
8158
  "background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff",
8080
8159
  "[component: product-detail]",
8081
- "[version: 1.0.0-rc-20250612.4]",
8082
- "[buildTime: 2025-06-12 09:58:25]"
8160
+ "[version: 1.2.0-rc-20250724.2]",
8161
+ "[buildTime: 2025-07-24 03:57:20]"
8083
8162
  );
8084
8163
  export {
8085
8164
  productDetail as default