pb-sxp-ui 1.0.40 → 1.0.41

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 (46) hide show
  1. package/dist/index.cjs +455 -135
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +8 -1
  4. package/dist/index.js +454 -135
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.cjs +3 -3
  7. package/dist/index.min.cjs.map +1 -1
  8. package/dist/index.min.js +3 -3
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/pb-ui.js +458 -139
  11. package/dist/pb-ui.js.map +1 -1
  12. package/dist/pb-ui.min.js +3 -3
  13. package/dist/pb-ui.min.js.map +1 -1
  14. package/es/core/components/DiyPortalPreview/PictureGroup.d.ts +13 -0
  15. package/es/core/components/DiyPortalPreview/PictureGroup.js +11 -0
  16. package/es/core/components/DiyPortalPreview/VideoWidget.d.ts +15 -0
  17. package/es/core/components/DiyPortalPreview/VideoWidget.js +236 -0
  18. package/es/core/components/DiyPortalPreview/index.d.ts +6 -0
  19. package/es/core/components/DiyPortalPreview/index.js +112 -0
  20. package/es/core/components/SxpPageRender/PictureGroup/Picture.js +1 -0
  21. package/es/core/components/SxpPageRender/VideoWidget/index.js +46 -79
  22. package/es/core/components/SxpPageRender/WaterFall/index.js +1 -1
  23. package/es/core/components/SxpPageRender/index.js +8 -13
  24. package/es/core/context/SxpDataSourceProvider.js +1 -1
  25. package/es/core/hooks/useEventReport.js +4 -4
  26. package/es/index.d.ts +1 -0
  27. package/es/index.js +1 -0
  28. package/es/materials/sxp/popup/CommodityDetail/index.js +6 -6
  29. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +9 -9
  30. package/lib/core/components/DiyPortalPreview/PictureGroup.d.ts +13 -0
  31. package/lib/core/components/DiyPortalPreview/PictureGroup.js +14 -0
  32. package/lib/core/components/DiyPortalPreview/VideoWidget.d.ts +15 -0
  33. package/lib/core/components/DiyPortalPreview/VideoWidget.js +239 -0
  34. package/lib/core/components/DiyPortalPreview/index.d.ts +6 -0
  35. package/lib/core/components/DiyPortalPreview/index.js +115 -0
  36. package/lib/core/components/SxpPageRender/PictureGroup/Picture.js +1 -0
  37. package/lib/core/components/SxpPageRender/VideoWidget/index.js +46 -79
  38. package/lib/core/components/SxpPageRender/WaterFall/index.js +1 -1
  39. package/lib/core/components/SxpPageRender/index.js +8 -13
  40. package/lib/core/context/SxpDataSourceProvider.js +1 -1
  41. package/lib/core/hooks/useEventReport.js +4 -4
  42. package/lib/index.d.ts +1 -0
  43. package/lib/index.js +3 -1
  44. package/lib/materials/sxp/popup/CommodityDetail/index.js +6 -6
  45. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +9 -9
  46. package/package.json +2 -1
package/dist/pb-ui.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash'), require('uuid'), require('pako'), require('react'), require('qs'), require('@emotion/css'), require('@ant-design/pro-components'), require('react-dom'), require('eventemitter3')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'lodash', 'uuid', 'pako', 'react', 'qs', '@emotion/css', '@ant-design/pro-components', 'react-dom', 'eventemitter3'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.PUI = {}, global.lodash, global.uuid$1, global.pako, global.React, global.qs, global.css, global.proComponents, global.ReactDOM, global.EventEmitter));
5
- })(this, (function (exports, lodash, uuid$1, pako, React, qs, css, proComponents, ReactDOM, EventEmitter) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash'), require('uuid'), require('pako'), require('react'), require('qs'), require('@emotion/css'), require('@ant-design/pro-components'), require('react-dom'), require('eventemitter3'), require('hls.js')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'lodash', 'uuid', 'pako', 'react', 'qs', '@emotion/css', '@ant-design/pro-components', 'react-dom', 'eventemitter3', 'hls.js'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.PUI = {}, global.lodash, global.uuid$1, global.pako, global.React, global.qs, global.css, global.proComponents, global.ReactDOM, global.EventEmitter, global.Hls));
5
+ })(this, (function (exports, lodash, uuid$1, pako, React, qs, css, proComponents, ReactDOM, EventEmitter, Hls) { 'use strict';
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -569,7 +569,7 @@
569
569
  fromKName = 'imagePage';
570
570
  }
571
571
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
572
- eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_h = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _h !== void 0 ? _h : '', ctaName: (_j = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _j !== void 0 ? _j : '', contentTags: JSON.stringify(cta === null || cta === void 0 ? void 0 : cta.tags), position: position + '', relatedContentId: (_l = (_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.itemId) !== null && _l !== void 0 ? _l : '', relatedProductId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_m = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _m !== void 0 ? _m : '', fromKName })
572
+ eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_h = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _h !== void 0 ? _h : '', ctaName: (_j = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _j !== void 0 ? _j : '', contentTags: JSON.stringify(cta === null || cta === void 0 ? void 0 : cta.tags), position: position + '', contentId: (_l = (_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.itemId) !== null && _l !== void 0 ? _l : '', productId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_m = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _m !== void 0 ? _m : '', fromKName })
573
573
  });
574
574
  }, [bffEventReport, isFromHashtag]);
575
575
  React.useEffect(() => {
@@ -856,7 +856,7 @@
856
856
  React.createElement(DataSourceProvider$1, { isSsr: isSsr, enable: enableDataSource }, children)));
857
857
  });
858
858
 
859
- var index$1 = /*#__PURE__*/Object.freeze({
859
+ var index$2 = /*#__PURE__*/Object.freeze({
860
860
  __proto__: null,
861
861
  EditorCore: EditorCore
862
862
  });
@@ -8142,8 +8142,8 @@
8142
8142
  fromKPage: location === null || location === void 0 ? void 0 : location.href,
8143
8143
  contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
8144
8144
  position: position + '',
8145
- relatedContentId: (_m = (_l = data === null || data === void 0 ? void 0 : data.video) === null || _l === void 0 ? void 0 : _l.itemId) !== null && _m !== void 0 ? _m : '',
8146
- relatedCtatId: (_o = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _o !== void 0 ? _o : '',
8145
+ contentId: (_m = (_l = data === null || data === void 0 ? void 0 : data.video) === null || _l === void 0 ? void 0 : _l.itemId) !== null && _m !== void 0 ? _m : '',
8146
+ ctatId: (_o = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _o !== void 0 ? _o : '',
8147
8147
  traceInfo: (_p = product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _p !== void 0 ? _p : ''
8148
8148
  }
8149
8149
  });
@@ -8167,8 +8167,8 @@
8167
8167
  fromKPage: location === null || location === void 0 ? void 0 : location.href,
8168
8168
  contentTags: JSON.stringify(product === null || product === void 0 ? void 0 : product.tags),
8169
8169
  position: position + '',
8170
- relatedContentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
8171
- relatedCtatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
8170
+ contentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
8171
+ ctatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
8172
8172
  traceInfo: product === null || product === void 0 ? void 0 : product.traceInfo,
8173
8173
  timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
8174
8174
  eventSubject: 'productView',
@@ -8331,7 +8331,7 @@
8331
8331
  var FormatImage$1 = React.memo(FormatImage);
8332
8332
 
8333
8333
  const CommodityDetail$1 = (_a) => {
8334
- var _b, _c, _d, _e, _f, _g, _h, _j;
8334
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k;
8335
8335
  var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index"]);
8336
8336
  const { sxpParameter } = useSxpDataSource();
8337
8337
  const { popupDetailData, bffEventReport, isPreview, waterFallData } = useSxpDataSource();
@@ -8372,7 +8372,7 @@
8372
8372
  return '$7,000';
8373
8373
  }
8374
8374
  }, [product === null || product === void 0 ? void 0 : product.price, product === null || product === void 0 ? void 0 : product.currency]);
8375
- const width = isPreview ? 375 : window.innerWidth;
8375
+ const width = isPreview ? 375 : (_f = style === null || style === void 0 ? void 0 : style.width) !== null && _f !== void 0 ? _f : window.innerWidth;
8376
8376
  const renderContent = ({ isPost }) => {
8377
8377
  var _a, _b, _c;
8378
8378
  return (React.createElement("div", null,
@@ -8392,7 +8392,7 @@
8392
8392
  };
8393
8393
  return (React.createElement("div", { className: 'pb-commondity' },
8394
8394
  React.createElement("div", Object.assign({ className: css.css(Object.assign({}, style)) }, props),
8395
- product && ((_f = product === null || product === void 0 ? void 0 : product.homePage) === null || _f === void 0 ? void 0 : _f.length) > 0 && (React.createElement(Swiper, { height: width, modules: [Pagination, Autoplay], pagination: {
8395
+ product && ((_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.length) > 0 && (React.createElement(Swiper, { height: width, modules: [Pagination, Autoplay], pagination: {
8396
8396
  clickable: true,
8397
8397
  bulletActiveClass: 'swipe-item-active-bullet',
8398
8398
  clickableClass: (swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign) === 'left'
@@ -8400,7 +8400,7 @@
8400
8400
  : 'commondityDetail-swiper-clickable-center'
8401
8401
  }, loop: true, autoplay: {
8402
8402
  delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
8403
- } }, (_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.map((src) => {
8403
+ } }, (_h = product === null || product === void 0 ? void 0 : product.homePage) === null || _h === void 0 ? void 0 : _h.map((src) => {
8404
8404
  return (React.createElement(SwiperSlide, { key: src },
8405
8405
  React.createElement("div", { style: {
8406
8406
  overflow: 'hidden',
@@ -8409,7 +8409,7 @@
8409
8409
  } },
8410
8410
  React.createElement(FormatImage$1, { style: { height: '100%', width: '100%', objectFit: 'cover', display: 'block' }, src: src }))));
8411
8411
  }))),
8412
- !((_h = product === null || product === void 0 ? void 0 : product.homePage) === null || _h === void 0 ? void 0 : _h.length) && (React.createElement("div", { className: css.css({
8412
+ !((_j = product === null || product === void 0 ? void 0 : product.homePage) === null || _j === void 0 ? void 0 : _j.length) && (React.createElement("div", { className: css.css({
8413
8413
  position: 'relative',
8414
8414
  height: 0,
8415
8415
  width: '100%',
@@ -8422,7 +8422,7 @@
8422
8422
  top: 0,
8423
8423
  objectFit: 'cover',
8424
8424
  width: '100%'
8425
- }), src: (_j = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _j !== void 0 ? _j : bottom_image, alt: '' }))),
8425
+ }), src: (_k = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _k !== void 0 ? _k : bottom_image, alt: '' }))),
8426
8426
  React.createElement("div", { className: 'pb-commondity-content' }, renderContent({ isPost }))),
8427
8427
  renderBtn(),
8428
8428
  React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) },
@@ -8782,7 +8782,7 @@
8782
8782
  ];
8783
8783
 
8784
8784
  const CommodityDetailDiroNew$1 = (_a) => {
8785
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
8785
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
8786
8786
  var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText, swiper, commodityStyles, buttonStyle, index } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText", "swiper", "commodityStyles", "buttonStyle", "index"]);
8787
8787
  React.useState(true);
8788
8788
  const { sxpParameter } = useSxpDataSource();
@@ -8830,7 +8830,7 @@
8830
8830
  return '£102,300.00';
8831
8831
  }
8832
8832
  }, [product === null || product === void 0 ? void 0 : product.price, product === null || product === void 0 ? void 0 : product.currency]);
8833
- const width = isPreview ? 375 : window.innerWidth;
8833
+ const width = isPreview ? 375 : (_f = style === null || style === void 0 ? void 0 : style.width) !== null && _f !== void 0 ? _f : window.innerWidth;
8834
8834
  const productInfoText = ({ isPost }) => {
8835
8835
  return (React.createElement("div", { hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.info) || (product === null || product === void 0 ? void 0 : product.info) === '') },
8836
8836
  React.createElement(ExpandableText$1, { isPost: isPost, onClick: () => setShowModal(true), className: 'pb-commondityDiroNew-info', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.info, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (product === null || product === void 0 ? void 0 : product.info) ||
@@ -8839,7 +8839,7 @@ Made in Italy` })));
8839
8839
  };
8840
8840
  return (React.createElement("div", { className: 'pb-commondityDiroNew' },
8841
8841
  React.createElement("div", Object.assign({ ref: scrollRef, className: css.css(Object.assign({}, style)) }, props),
8842
- product && ((_f = product === null || product === void 0 ? void 0 : product.homePage) === null || _f === void 0 ? void 0 : _f.length) > 0 && (React.createElement(Swiper, { height: width, modules: [Pagination, Autoplay], pagination: {
8842
+ product && ((_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.length) > 0 && (React.createElement(Swiper, { height: width, modules: [Pagination, Autoplay], pagination: {
8843
8843
  clickable: true,
8844
8844
  bulletActiveClass: 'commondityDiroNew-swipe-item-active-bullet',
8845
8845
  clickableClass: (swiper === null || swiper === void 0 ? void 0 : swiper.dotsAlign) === 'left'
@@ -8847,7 +8847,7 @@ Made in Italy` })));
8847
8847
  : 'commondityDiroNew-swiper-clickable-center'
8848
8848
  }, loop: true, autoplay: {
8849
8849
  delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
8850
- } }, (_g = product === null || product === void 0 ? void 0 : product.homePage) === null || _g === void 0 ? void 0 : _g.map((src) => {
8850
+ } }, (_h = product === null || product === void 0 ? void 0 : product.homePage) === null || _h === void 0 ? void 0 : _h.map((src) => {
8851
8851
  return (React.createElement(SwiperSlide, { key: src },
8852
8852
  React.createElement("div", { style: {
8853
8853
  overflow: 'hidden',
@@ -8856,7 +8856,7 @@ Made in Italy` })));
8856
8856
  } },
8857
8857
  React.createElement(FormatImage$1, { style: { height: '100%', width: '100%', objectFit: 'cover', display: 'block' }, src: src }))));
8858
8858
  }))),
8859
- !((_h = product === null || product === void 0 ? void 0 : product.homePage) === null || _h === void 0 ? void 0 : _h.length) && (React.createElement("div", { className: css.css({
8859
+ !((_j = product === null || product === void 0 ? void 0 : product.homePage) === null || _j === void 0 ? void 0 : _j.length) && (React.createElement("div", { className: css.css({
8860
8860
  position: 'relative',
8861
8861
  height: 0,
8862
8862
  width: '100%',
@@ -8869,16 +8869,16 @@ Made in Italy` })));
8869
8869
  top: 0,
8870
8870
  objectFit: 'cover',
8871
8871
  width: '100%'
8872
- }), src: (_j = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _j !== void 0 ? _j : bottom_image, alt: '' }))),
8872
+ }), src: (_k = sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _k !== void 0 ? _k : bottom_image, alt: '' }))),
8873
8873
  React.createElement("div", { className: 'pb-commondityDiroNew-content' },
8874
8874
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top' },
8875
8875
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left' },
8876
- React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left-title', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title }, (_k = product === null || product === void 0 ? void 0 : product.title) !== null && _k !== void 0 ? _k : 'Large Dior Toujours Bag'),
8876
+ React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left-title', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title }, (_l = product === null || product === void 0 ? void 0 : product.title) !== null && _l !== void 0 ? _l : 'Large Dior Toujours Bag'),
8877
8877
  React.createElement("div", { className: 'pb-commondityDiroNew-content-collection', hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.collection) || (product === null || product === void 0 ? void 0 : product.collection) === ''), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection }, (product === null || product === void 0 ? void 0 : product.collection) || 'Black Macrocannage Calfskin')),
8878
8878
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right' },
8879
8879
  React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.price), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price }, priceText),
8880
- React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo }, (_l = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _l !== void 0 ? _l : '税费'))),
8881
- (!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle }, (_m = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _m !== void 0 ? _m : 'Shop now')),
8880
+ React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo }, (_m = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _m !== void 0 ? _m : '税费'))),
8881
+ (!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle }, (_o = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _o !== void 0 ? _o : 'Shop now')),
8882
8882
  productInfoText({ isPost }))),
8883
8883
  React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) }, productInfoText({ isPost: false }))));
8884
8884
  };
@@ -11786,7 +11786,7 @@ Made in Italy` })));
11786
11786
  }
11787
11787
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
11788
11788
  eventInfo: {
11789
- relatedContentId: (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.itemId,
11789
+ contentId: (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.itemId,
11790
11790
  position: cacheActiveIndex + '',
11791
11791
  contentTags: JSON.stringify((_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.tags),
11792
11792
  traceInfo: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.traceInfo,
@@ -11919,14 +11919,14 @@ Made in Italy` })));
11919
11919
  Prompt: Prompt
11920
11920
  });
11921
11921
 
11922
- const defaultUnLikeIconPath = '/pb_static/f71266d2c64446c5ae6a5a7f5489cc0a.png';
11923
- const defaultLikeIconPath = '/pb_static/f07900fe3f0f4ae188ea1611d4801a44.png';
11922
+ const defaultUnLikeIconPath$1 = '/pb_static/f71266d2c64446c5ae6a5a7f5489cc0a.png';
11923
+ const defaultLikeIconPath$1 = '/pb_static/f07900fe3f0f4ae188ea1611d4801a44.png';
11924
11924
  const LikeButton = (_a) => {
11925
11925
  var { active, activeIcon, unActicveIcon, recData, position } = _a, props = __rest(_a, ["active", "activeIcon", "unActicveIcon", "recData", "position"]);
11926
11926
  const { mutateLike, mutateUnlike, bffEventReport } = useSxpDataSource();
11927
11927
  const [state, setState] = React.useState(active);
11928
- const likeIcon = useIconLink(defaultLikeIconPath);
11929
- const unlikeIcon = useIconLink(defaultUnLikeIconPath);
11928
+ const likeIcon = useIconLink(defaultLikeIconPath$1);
11929
+ const unlikeIcon = useIconLink(defaultUnLikeIconPath$1);
11930
11930
  const handleClick = lodash.debounce(() => __awaiter(void 0, void 0, void 0, function* () {
11931
11931
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
11932
11932
  if (state) {
@@ -11982,7 +11982,7 @@ Made in Italy` })));
11982
11982
  SXP_EVENT_TYPE["PAGE_DID_HIDE"] = "pageDidHide";
11983
11983
  })(SXP_EVENT_TYPE || (SXP_EVENT_TYPE = {}));
11984
11984
 
11985
- const VideoWidget = ({ rec, index, height, data, muted, activeIndex, videoPostConfig }) => {
11985
+ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPostConfig }) => {
11986
11986
  const [isPauseVideo, setIsPauseVideo] = React.useState(false);
11987
11987
  const videoRef = React.useRef(null);
11988
11988
  const { bffEventReport, sxpParameter, waterFallData, openHashtag } = useSxpDataSource();
@@ -11992,13 +11992,12 @@ Made in Italy` })));
11992
11992
  const { isActive } = useSwiperSlide();
11993
11993
  const canvasRef = React.useRef(null);
11994
11994
  const [firstFrameSrc, setFirstFrameSrc] = React.useState('');
11995
- const videoId = `pb-video-${index}`;
11996
11995
  React.useEffect(() => {
11997
11996
  if (!videoRef.current)
11998
11997
  return;
11999
- videoRef.current.muted(muted);
11998
+ videoRef.current.muted = muted;
12000
11999
  }, [muted]);
12001
- const handleEnded = React.useCallback(() => {
12000
+ const handleVideoStart = React.useCallback(() => {
12002
12001
  var _a;
12003
12002
  (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
12004
12003
  }, []);
@@ -12007,10 +12006,10 @@ Made in Italy` })));
12007
12006
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
12008
12007
  setIsPauseVideo(false);
12009
12008
  const item = data[index];
12010
- if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration())) {
12011
- videoStartTime.current = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.currentTime()) || 0;
12012
- const videoDuration = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.duration()) !== null && _d !== void 0 ? _d : 0).toFixed(2);
12013
- const videoCurrentTime = ((_f = (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.currentTime()) !== null && _f !== void 0 ? _f : 0).toFixed(2);
12009
+ if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
12010
+ videoStartTime.current = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.currentTime) || 0;
12011
+ const videoDuration = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.duration) !== null && _d !== void 0 ? _d : 0).toFixed(2);
12012
+ const videoCurrentTime = ((_f = (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.currentTime) !== null && _f !== void 0 ? _f : 0).toFixed(2);
12014
12013
  const playType = isFirstPlay ? '0' : '1';
12015
12014
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
12016
12015
  eventInfo: {
@@ -12030,15 +12029,14 @@ Made in Italy` })));
12030
12029
  setIsFirstPlay(false);
12031
12030
  }
12032
12031
  }, [bffEventReport, data, index, isFirstPlay]);
12033
- const handleCanplay = React.useCallback(() => {
12034
- handLoadeddata();
12032
+ const handleLoadedMetadata = React.useCallback(() => {
12035
12033
  setIsLoadFinish(true);
12036
12034
  }, []);
12037
12035
  const handleClickVideo = React.useCallback((type) => () => {
12038
12036
  var _a, _b, _c, _d, _e;
12039
12037
  if (!isLoadFinish)
12040
12038
  return;
12041
- const isPause = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.paused();
12039
+ const isPause = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
12042
12040
  switch (type) {
12043
12041
  case 'start':
12044
12042
  if (!isPause)
@@ -12063,13 +12061,13 @@ Made in Italy` })));
12063
12061
  break;
12064
12062
  }
12065
12063
  }, [isLoadFinish]);
12066
- const handlePause = React.useCallback(() => {
12064
+ const onPause = React.useCallback(() => {
12067
12065
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
12068
12066
  const item = data[index];
12069
- const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration()) !== null && _b !== void 0 ? _b : 0).toFixed(2);
12070
- const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime()) !== null && _d !== void 0 ? _d : 0).toFixed(2);
12071
- if ((_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.duration()) {
12072
- const playDuration = (((_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.currentTime()) - videoStartTime.current).toFixed(2);
12067
+ const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
12068
+ const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
12069
+ if ((_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.duration) {
12070
+ const playDuration = (((_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.currentTime) - videoStartTime.current).toFixed(2);
12073
12071
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
12074
12072
  eventInfo: {
12075
12073
  eventSubject: 'playOverVideo',
@@ -12101,66 +12099,56 @@ Made in Italy` })));
12101
12099
  return ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.cover) || firstFrameSrc;
12102
12100
  }, [firstFrameSrc, rec]);
12103
12101
  const handLoadeddata = React.useCallback(() => {
12104
- var _a;
12105
- const videoDomRef = document.getElementById(`${videoId}_html5_api`);
12106
- if (((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.cover) || !canvasRef || !videoDomRef || !canvasRef.current)
12102
+ if (!canvasRef || !videoRef || !videoRef.current || !canvasRef.current)
12107
12103
  return;
12108
- const setFrameImg = () => {
12109
- const video = videoDomRef;
12110
- const canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
12111
- const ctx = canvas.getContext('2d');
12112
- const targetWidth = window === null || window === void 0 ? void 0 : window.innerWidth;
12113
- const targetHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
12114
- canvas.height = targetHeight;
12115
- canvas.width = targetWidth;
12116
- ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
12117
- setFirstFrameSrc(canvas.toDataURL());
12118
- };
12119
- setFrameImg();
12120
- setTimeout(() => {
12121
- setFrameImg();
12122
- }, 500);
12104
+ const video = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current;
12105
+ const canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
12106
+ const ctx = canvas.getContext('2d');
12107
+ const targetWidth = window === null || window === void 0 ? void 0 : window.innerWidth;
12108
+ const targetHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
12109
+ canvas.height = targetHeight;
12110
+ canvas.width = targetWidth;
12111
+ ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
12112
+ setFirstFrameSrc(canvas.toDataURL());
12123
12113
  }, []);
12124
12114
  React.useEffect(() => {
12125
- var _a, _b, _c, _d, _e;
12115
+ var _a, _b, _c, _d;
12116
+ if (!videoRef.current)
12117
+ return;
12126
12118
  setIsPauseVideo(false);
12127
- const videoSrc = rec.video.url;
12128
- if (videoSrc && typeof TCPlayer === 'function') {
12129
- videoRef.current = TCPlayer(videoId, {
12130
- sources: [
12131
- {
12132
- src: videoSrc // 播放地址
12133
- }
12134
- ],
12135
- licenseUrl: 'https://license.vod2.myqcloud.com/license/v2/1325816236_1/v_cube.license', // license 地址,参考准备工作部分,在视立方控制台申请 license 后可获得 licenseUrl
12136
- controls: false,
12137
- autoplay: false,
12138
- loop: false,
12139
- muted: true,
12140
- preload: 'auto',
12141
- posterImage: false,
12142
- bigPlayButton: true
12143
- });
12144
- videoRef.current.play();
12145
- videoRef.current.pause();
12146
- }
12147
- (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.on('loadedmetadata', handleCanplay);
12148
- (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.on('canplay', handleCanplay);
12149
- (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.on('playing', handlePlaying);
12150
- // videoRef.current?.on('loadeddata', handLoadeddata);
12151
- (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.on('pause', handlePause);
12152
- (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.on('ended', handleEnded);
12119
+ if (!videoRef.current.src) {
12120
+ const videoSrc = rec.video.url;
12121
+ // if (videoSrc.includes('.m3u8')) {
12122
+ // if (Hls.isSupported()) {
12123
+ // const hls = new Hls();
12124
+ // hls.loadSource(videoSrc);
12125
+ // hls.attachMedia(videoRef.current);
12126
+ // hls.on(Hls.Events.MANIFEST_PARSED, function () {
12127
+ // videoRef?.current?.play();
12128
+ // });
12129
+ // } else if (videoRef.current.canPlayType('application/vnd.apple.mpegurl')) {
12130
+ // videoRef.current.src = videoSrc;
12131
+ // } else {
12132
+ // videoRef.current.src = videoSrc;
12133
+ // }
12134
+ // } else {
12135
+ videoRef.current.src = videoSrc;
12136
+ // }
12137
+ videoRef.current.setAttribute('x5-playsinline', 'true');
12138
+ videoRef.current.setAttribute('webkit-playsinline', 'true');
12139
+ }
12140
+ (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('loadedmetadata', handleLoadedMetadata);
12141
+ (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.addEventListener('canplay', handleLoadedMetadata);
12142
+ (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.addEventListener('playing', handlePlaying);
12143
+ (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('loadeddata', handLoadeddata);
12153
12144
  return () => {
12154
- var _a, _b, _c, _d, _e;
12155
- (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.off('loadedmetadata', handleCanplay);
12156
- (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.off('canplay', handleCanplay);
12157
- (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.off('playing', handlePlaying);
12158
- // videoRef.current?.off('loadeddata', handLoadeddata);
12159
- (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.off('pause', handlePause);
12160
- (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.off('ended', handleEnded);
12161
- videoRef.current.dispose();
12145
+ var _a, _b, _c, _d;
12146
+ (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('loadedmetadata', handleLoadedMetadata);
12147
+ (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('canplay', handleLoadedMetadata);
12148
+ (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('playing', handlePlaying);
12149
+ (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.removeEventListener('loadeddata', handLoadeddata);
12162
12150
  };
12163
- }, []);
12151
+ }, [handleLoadedMetadata, handlePlaying, rec.video, handLoadeddata]);
12164
12152
  React.useEffect(() => {
12165
12153
  var _a;
12166
12154
  if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || !isLoadFinish)
@@ -12246,31 +12234,23 @@ Made in Italy` })));
12246
12234
  right: 0
12247
12235
  } },
12248
12236
  React.createElement("div", { style: { position: 'relative', width: '100%', height: '100%' } },
12249
- React.createElement("video", { id: `pb-video-${index}`, playsInline: true, crossOrigin: 'anonymous', style: {
12237
+ React.createElement("video", { id: `pb-video-${index}`, className: 'clc-pb-video', ref: videoRef, crossOrigin: 'anonymous', muted: true, controls: false, playsInline: true, preload: 'auto', onPause: onPause, onEnded: handleVideoStart, style: {
12250
12238
  width: '100%',
12251
12239
  height: '100%',
12252
- objectFit: 'contain',
12253
- backgroundColor: 'transparent',
12254
- pointerEvents: 'none'
12240
+ objectFit: 'contain'
12255
12241
  } }),
12256
12242
  React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON }))),
12257
- renderPoster)) : (React.createElement("div", { className: 'video-container', key: rec.video.itemId, style: {
12243
+ renderPoster)) : (React.createElement("div", { className: 'video-container', key: rec.video.itemId, onClick: handleClickVideo(), style: {
12258
12244
  position: 'relative',
12259
12245
  width: '100%',
12260
12246
  height,
12261
12247
  overflow: 'hidden'
12262
- }, onClick: handleClickVideo() },
12263
- React.createElement("video", { id: `pb-video-${index}`, playsInline: true, crossOrigin: 'anonymous', style: {
12264
- backgroundColor: 'transparent',
12265
- width: '100%',
12266
- height: '100%',
12267
- objectFit: 'cover',
12268
- pointerEvents: 'none'
12269
- } }),
12248
+ } },
12249
+ React.createElement("video", { id: `pb-video-${index}`, className: 'clc-pb-video', ref: videoRef, crossOrigin: 'anonymous', muted: true, controls: false, playsInline: true, preload: 'auto', onPause: onPause, onEnded: handleVideoStart }),
12270
12250
  renderPoster,
12271
12251
  React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON })))));
12272
12252
  };
12273
- var VideoWidget$1 = React.memo(VideoWidget);
12253
+ var VideoWidget$3 = React.memo(VideoWidget$2);
12274
12254
 
12275
12255
  /*
12276
12256
  * @Author: binruan@chatlabs.com
@@ -12321,7 +12301,7 @@ Made in Italy` })));
12321
12301
  * @Author: binruan@chatlabs.com
12322
12302
  * @Date: 2024-03-20 10:27:31
12323
12303
  * @LastEditors: binruan@chatlabs.com
12324
- * @LastEditTime: 2024-04-22 14:04:00
12304
+ * @LastEditTime: 2024-04-26 14:33:25
12325
12305
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\PictureGroup\Picture.tsx
12326
12306
  *
12327
12307
  */
@@ -12353,6 +12333,7 @@ Made in Italy` })));
12353
12333
  React.createElement(FormatImage$1, { src: src, style: Object.assign({ height: '100%', width: '100%', objectFit: 'cover' }, blurStyle) }),
12354
12334
  blur && (React.createElement(FormatImage$1, { src: src, style: {
12355
12335
  width: '100%',
12336
+ height: '100%',
12356
12337
  objectFit: 'contain',
12357
12338
  position: 'absolute',
12358
12339
  top: '50%',
@@ -12369,7 +12350,7 @@ Made in Italy` })));
12369
12350
  * @LastEditTime: 2024-04-18 19:56:22
12370
12351
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\PictureGroup\index.tsx
12371
12352
  */
12372
- const PictureGroup = ({ imgUrls, width, height, rec, index, onReportViewImageEnd, onViewImageStartEvent, imgUrlsPostConfig }) => {
12353
+ const PictureGroup$2 = ({ imgUrls, width, height, rec, index, onReportViewImageEnd, onViewImageStartEvent, imgUrlsPostConfig }) => {
12373
12354
  var _a;
12374
12355
  const ref = React.useRef();
12375
12356
  const { isActive } = useSwiperSlide();
@@ -12398,7 +12379,7 @@ Made in Italy` })));
12398
12379
  React.createElement(Picture, { src: url, height: height, imgUrlsPostConfig: imgUrlsPostConfig })));
12399
12380
  })));
12400
12381
  };
12401
- var PictureGroup$1 = React.memo(PictureGroup);
12382
+ var PictureGroup$3 = React.memo(PictureGroup$2);
12402
12383
 
12403
12384
  /*
12404
12385
  * @Author: binruan@chatlabs.com
@@ -12577,7 +12558,7 @@ Made in Italy` })));
12577
12558
  * @Author: binruan@chatlabs.com
12578
12559
  * @Date: 2024-01-15 19:03:09
12579
12560
  * @LastEditors: binruan@chatlabs.com
12580
- * @LastEditTime: 2024-04-25 17:03:41
12561
+ * @LastEditTime: 2024-04-23 15:48:32
12581
12562
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
12582
12563
  *
12583
12564
  */
@@ -12659,8 +12640,8 @@ Made in Italy` })));
12659
12640
  // sessionDuration: Math.floor(((new Date() as any) - curTime) / 1000) + '',
12660
12641
  // eventSubject: 'sessionCompleted',
12661
12642
  // eventDescription: 'Session completed',
12662
- // relatedContentId: item?.video?.itemId,
12663
- // relatedProductId: item?.product?.itemId,
12643
+ // contentId: item?.video?.itemId,
12644
+ // productId: item?.product?.itemId,
12664
12645
  // position: item?.position
12665
12646
  // }
12666
12647
  // });
@@ -12704,12 +12685,12 @@ Made in Italy` })));
12704
12685
  sessionDuration: Math.floor((new Date() - curTime.current) / 1000) + '',
12705
12686
  eventSubject: 'sessionCompleted',
12706
12687
  eventDescription: 'Session completed',
12707
- relatedContentId: (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.itemId,
12708
- relatedProductId: (_m = item === null || item === void 0 ? void 0 : item.product) === null || _m === void 0 ? void 0 : _m.itemId,
12688
+ contentId: (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.itemId,
12689
+ productId: (_m = item === null || item === void 0 ? void 0 : item.product) === null || _m === void 0 ? void 0 : _m.itemId,
12709
12690
  position: activeIndex + '',
12710
12691
  fromKName,
12711
12692
  fromKPage: location === null || location === void 0 ? void 0 : location.href,
12712
- relatedCtatId: (_q = (_p = (_o = item.video) === null || _o === void 0 ? void 0 : _o.bindCta) === null || _p === void 0 ? void 0 : _p.itemId) !== null && _q !== void 0 ? _q : ''
12693
+ ctatId: (_q = (_p = (_o = item.video) === null || _o === void 0 ? void 0 : _o.bindCta) === null || _p === void 0 ? void 0 : _p.itemId) !== null && _q !== void 0 ? _q : ''
12713
12694
  }
12714
12695
  });
12715
12696
  }
@@ -12738,10 +12719,10 @@ Made in Italy` })));
12738
12719
  const renderContent = React.useCallback((rec, index) => {
12739
12720
  var _a, _b, _c, _d;
12740
12721
  if ((_a = rec.video) === null || _a === void 0 ? void 0 : _a.url) {
12741
- return (React.createElement(VideoWidget$1, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost }));
12722
+ return (React.createElement(VideoWidget$3, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost }));
12742
12723
  }
12743
12724
  if ((_b = rec.video) === null || _b === void 0 ? void 0 : _b.imgUrls) {
12744
- return (React.createElement(PictureGroup$1, { key: rec.video.itemId, imgUrls: rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onReportViewImageEnd: handleReportViewImageEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
12725
+ return (React.createElement(PictureGroup$3, { key: rec.video.itemId, imgUrls: rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onReportViewImageEnd: handleReportViewImageEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
12745
12726
  }
12746
12727
  if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _c === void 0 ? void 0 : _c.length) > 0) {
12747
12728
  return (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _d === void 0 ? void 0 : _d.map((value, idx) => {
@@ -12843,8 +12824,8 @@ Made in Italy` })));
12843
12824
  eventInfo: {
12844
12825
  eventSubject: 'scrollDown',
12845
12826
  eventDescription: 'User scroll down',
12846
- relatedContentId: (_b = (_a = item.video) === null || _a === void 0 ? void 0 : _a.itemId) !== null && _b !== void 0 ? _b : '',
12847
- relatedProductId: (_d = (_c = item.product) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
12827
+ contentId: (_b = (_a = item.video) === null || _a === void 0 ? void 0 : _a.itemId) !== null && _b !== void 0 ? _b : '',
12828
+ productId: (_d = (_c = item.product) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
12848
12829
  requestId: null
12849
12830
  }
12850
12831
  });
@@ -12856,8 +12837,8 @@ Made in Italy` })));
12856
12837
  eventInfo: {
12857
12838
  eventSubject: 'scrollUp',
12858
12839
  eventDescription: 'User scroll up',
12859
- relatedContentId: (_f = (_e = item.video) === null || _e === void 0 ? void 0 : _e.itemId) !== null && _f !== void 0 ? _f : '',
12860
- relatedProductId: (_h = (_g = item.product) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
12840
+ contentId: (_f = (_e = item.video) === null || _e === void 0 ? void 0 : _e.itemId) !== null && _f !== void 0 ? _f : '',
12841
+ productId: (_h = (_g = item.product) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
12861
12842
  requestId: null
12862
12843
  }
12863
12844
  });
@@ -12938,12 +12919,7 @@ Made in Italy` })));
12938
12919
  } })),
12939
12920
  renderLogo,
12940
12921
  isShowFingerTip ? React.createElement(FingerSwipeTip, { imageUrl: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipIcon }) : null,
12941
- React.createElement(Swiper, { ref: swiperRef, onSlideChange: () => {
12942
- swiperRef.current.swiper.allowTouchMove = false;
12943
- setTimeout(() => {
12944
- swiperRef.current.swiper.allowTouchMove = true;
12945
- }, 500);
12946
- }, onActiveIndexChange: (swiper) => {
12922
+ React.createElement(Swiper, { ref: swiperRef, onActiveIndexChange: (swiper) => {
12947
12923
  setActiveIndex(swiper.activeIndex);
12948
12924
  if (openHashtag)
12949
12925
  return;
@@ -12960,9 +12936,6 @@ Made in Italy` })));
12960
12936
  }
12961
12937
  }
12962
12938
  },
12963
- // style={{
12964
- // pointerEvents: canSwiper ? 'auto' : 'none'
12965
- // }}
12966
12939
  // onReachEnd={() => {
12967
12940
  // // 由hashtaglist跳转过来时不执行下面的方法
12968
12941
  // if (waterFallData) return;
@@ -12988,6 +12961,351 @@ Made in Italy` })));
12988
12961
  React.createElement(WaterFall$1, Object.assign({}, (_g = (_f = (_e = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.item) === null || _g === void 0 ? void 0 : _g.props))));
12989
12962
  };
12990
12963
 
12964
+ const PictureGroup = ({ imgUrls, width, height, imgUrlsPostConfig, rec, index }) => {
12965
+ return (React.createElement(Swiper, { defaultValue: 0, direction: 'horizontal', modules: [Pagination, Autoplay], pagination: { clickable: true, bulletActiveClass: 'swipe-item-active-bullet' }, height: height, style: { width }, loop: true, autoplay: false }, imgUrls === null || imgUrls === void 0 ? void 0 : imgUrls.map((url) => {
12966
+ return (React.createElement(SwiperSlide, { key: url },
12967
+ React.createElement(Picture, { src: url, height: height, imgUrlsPostConfig: imgUrlsPostConfig })));
12968
+ })));
12969
+ };
12970
+ var PictureGroup$1 = React.memo(PictureGroup);
12971
+
12972
+ const VideoWidget = ({ rec, index, height, data, muted, activeIndex, videoPostConfig, width }) => {
12973
+ const [isPauseVideo, setIsPauseVideo] = React.useState(false);
12974
+ const videoRef = React.useRef(null);
12975
+ const { bffEventReport, sxpParameter, waterFallData, openHashtag } = useSxpDataSource();
12976
+ const videoStartTime = React.useRef(0);
12977
+ const [isLoadFinish, setIsLoadFinish] = React.useState(false);
12978
+ const [isFirstPlay, setIsFirstPlay] = React.useState(true);
12979
+ const canvasRef = React.useRef(null);
12980
+ const [firstFrameSrc, setFirstFrameSrc] = React.useState('');
12981
+ React.useEffect(() => {
12982
+ if (!videoRef.current)
12983
+ return;
12984
+ videoRef.current.muted = muted;
12985
+ }, [muted]);
12986
+ const handleVideoStart = React.useCallback(() => {
12987
+ var _a;
12988
+ (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
12989
+ }, []);
12990
+ const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
12991
+ const handlePlaying = React.useCallback(() => {
12992
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
12993
+ setIsPauseVideo(false);
12994
+ const item = data[index];
12995
+ if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
12996
+ videoStartTime.current = ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.currentTime) || 0;
12997
+ const videoDuration = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.duration) !== null && _d !== void 0 ? _d : 0).toFixed(2);
12998
+ const videoCurrentTime = ((_f = (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.currentTime) !== null && _f !== void 0 ? _f : 0).toFixed(2);
12999
+ const playType = isFirstPlay ? '0' : '1';
13000
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
13001
+ eventInfo: {
13002
+ eventSubject: 'playVideo',
13003
+ eventDescription: 'User played the video',
13004
+ contentId: (_h = (_g = item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
13005
+ contentName: (_k = (_j = item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
13006
+ playType,
13007
+ startTime: videoCurrentTime,
13008
+ videoDuration,
13009
+ contentTags: JSON.stringify((_m = (_l = item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
13010
+ position: index + '',
13011
+ contentFormat: 'video',
13012
+ traceInfo: (_o = item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
13013
+ }
13014
+ });
13015
+ setIsFirstPlay(false);
13016
+ }
13017
+ }, [bffEventReport, data, index, isFirstPlay]);
13018
+ const handleLoadedMetadata = React.useCallback(() => {
13019
+ setIsLoadFinish(true);
13020
+ }, []);
13021
+ const handleClickVideo = React.useCallback((type) => () => {
13022
+ var _a, _b, _c, _d, _e;
13023
+ if (!isLoadFinish)
13024
+ return;
13025
+ const isPause = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
13026
+ switch (type) {
13027
+ case 'start':
13028
+ if (!isPause)
13029
+ return;
13030
+ (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.play();
13031
+ setIsPauseVideo(false);
13032
+ break;
13033
+ case 'pause':
13034
+ if (isPause)
13035
+ return;
13036
+ (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.pause();
13037
+ setIsPauseVideo(true);
13038
+ break;
13039
+ default:
13040
+ if (isPause) {
13041
+ (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.play();
13042
+ }
13043
+ else {
13044
+ (_e = videoRef.current) === null || _e === void 0 ? void 0 : _e.pause();
13045
+ }
13046
+ setIsPauseVideo(!isPause);
13047
+ break;
13048
+ }
13049
+ }, [isLoadFinish]);
13050
+ const onPause = React.useCallback(() => {
13051
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
13052
+ const item = data[index];
13053
+ const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
13054
+ const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
13055
+ if ((_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.duration) {
13056
+ const playDuration = (((_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.currentTime) - videoStartTime.current).toFixed(2);
13057
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
13058
+ eventInfo: {
13059
+ eventSubject: 'playOverVideo',
13060
+ eventDescription: 'User finished playing the video',
13061
+ contentId: (_h = (_g = item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
13062
+ contentName: (_k = (_j = item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
13063
+ endTime: videoCurrentTime,
13064
+ videoDuration,
13065
+ playDuration,
13066
+ contentTags: JSON.stringify((_m = (_l = item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
13067
+ position: index + '',
13068
+ contentFormat: 'video',
13069
+ traceInfo: (_o = item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
13070
+ }
13071
+ });
13072
+ }
13073
+ }, [data, index, bffEventReport]);
13074
+ const blur = React.useMemo(() => {
13075
+ return (videoPostConfig === null || videoPostConfig === void 0 ? void 0 : videoPostConfig.mode) === '2';
13076
+ }, [videoPostConfig]);
13077
+ const translateY = React.useMemo(() => {
13078
+ var _a;
13079
+ return (videoPostConfig === null || videoPostConfig === void 0 ? void 0 : videoPostConfig.mode) === '2'
13080
+ ? `translateY(-${50 + ((_a = videoPostConfig === null || videoPostConfig === void 0 ? void 0 : videoPostConfig.offsetTop) !== null && _a !== void 0 ? _a : 0)}%) translate3d(0px, 0px, 0px)`
13081
+ : 'translateY(-50%)';
13082
+ }, [videoPostConfig]);
13083
+ const blurBgSrc = React.useMemo(() => {
13084
+ var _a;
13085
+ return ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.cover) || firstFrameSrc;
13086
+ }, [firstFrameSrc, rec]);
13087
+ const handLoadeddata = React.useCallback(() => {
13088
+ if (!canvasRef || !videoRef || !videoRef.current || !canvasRef.current)
13089
+ return;
13090
+ const video = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current;
13091
+ const canvas = canvasRef === null || canvasRef === void 0 ? void 0 : canvasRef.current;
13092
+ const ctx = canvas.getContext('2d');
13093
+ const targetWidth = window === null || window === void 0 ? void 0 : window.innerWidth;
13094
+ const targetHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
13095
+ canvas.height = targetHeight;
13096
+ canvas.width = targetWidth;
13097
+ ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
13098
+ setFirstFrameSrc(canvas.toDataURL());
13099
+ }, []);
13100
+ React.useEffect(() => {
13101
+ var _a, _b, _c, _d;
13102
+ if (!videoRef.current)
13103
+ return;
13104
+ setIsPauseVideo(false);
13105
+ if (!videoRef.current.src) {
13106
+ const videoSrc = rec.video.url;
13107
+ if (videoSrc.includes('.m3u8')) {
13108
+ if (Hls.isSupported()) {
13109
+ const hls = new Hls();
13110
+ hls.loadSource(videoSrc);
13111
+ hls.attachMedia(videoRef.current);
13112
+ }
13113
+ else if (videoRef.current.canPlayType('application/vnd.apple.mpegurl')) {
13114
+ videoRef.current.src = videoSrc;
13115
+ }
13116
+ else {
13117
+ videoRef.current.src = videoSrc;
13118
+ }
13119
+ }
13120
+ else {
13121
+ videoRef.current.src = videoSrc;
13122
+ }
13123
+ videoRef.current.setAttribute('x5-playsinline', 'true');
13124
+ videoRef.current.setAttribute('webkit-playsinline', 'true');
13125
+ }
13126
+ (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener('loadedmetadata', handleLoadedMetadata);
13127
+ (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.addEventListener('canplay', handleLoadedMetadata);
13128
+ (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.addEventListener('playing', handlePlaying);
13129
+ (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('loadeddata', handLoadeddata);
13130
+ return () => {
13131
+ var _a, _b, _c, _d;
13132
+ (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('loadedmetadata', handleLoadedMetadata);
13133
+ (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('canplay', handleLoadedMetadata);
13134
+ (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.removeEventListener('playing', handlePlaying);
13135
+ (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.removeEventListener('loadeddata', handLoadeddata);
13136
+ };
13137
+ }, [handleLoadedMetadata, handlePlaying, rec.video, handLoadeddata]);
13138
+ const renderPoster = React.useMemo(() => {
13139
+ if (!(sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image) || isLoadFinish) {
13140
+ return null;
13141
+ }
13142
+ return (React.createElement("img", { style: { position: 'absolute', left: 0, top: 0, width: '100%', height: '100%', objectFit: 'cover' }, src: sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image }));
13143
+ }, [isLoadFinish, sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.placeholder_image]);
13144
+ React.useEffect(() => {
13145
+ const handleBeforeUnload = () => {
13146
+ var _a, _b;
13147
+ if (activeIndex === index && ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) && ((_b = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _b === void 0 ? void 0 : _b.src) && !isPauseVideo) {
13148
+ handleClickVideo('pause')();
13149
+ }
13150
+ };
13151
+ window.addEventListener('beforeunload', handleBeforeUnload);
13152
+ return () => {
13153
+ window.removeEventListener('beforeunload', handleBeforeUnload);
13154
+ };
13155
+ }, [activeIndex, index, rec, videoRef, handleClickVideo, isPauseVideo]);
13156
+ const blurStyle = React.useMemo(() => {
13157
+ return blur
13158
+ ? {
13159
+ filter: 'blur(10px)',
13160
+ transform: 'translate3d(0px, 0px, 0px) scale(1.2)'
13161
+ }
13162
+ : {};
13163
+ }, [blur]);
13164
+ if (!rec.video) {
13165
+ return null;
13166
+ }
13167
+ return (React.createElement(React.Fragment, null, blur ? (React.createElement("div", { className: 'video-container', key: rec.video.itemId, onClick: handleClickVideo(), style: {
13168
+ position: 'relative',
13169
+ width,
13170
+ height,
13171
+ overflow: 'hidden'
13172
+ } },
13173
+ React.createElement(FormatImage$1, { src: blurBgSrc, style: Object.assign({ height,
13174
+ width, objectFit: 'cover' }, blurStyle) }),
13175
+ React.createElement("canvas", { ref: canvasRef, style: { display: 'none' } }),
13176
+ React.createElement("div", { style: {
13177
+ position: 'absolute',
13178
+ width,
13179
+ height,
13180
+ top: '50%',
13181
+ transform: translateY,
13182
+ left: 0,
13183
+ right: 0
13184
+ } },
13185
+ React.createElement("div", { style: { position: 'relative', width, height: '100%' } },
13186
+ React.createElement("video", { id: `pb-video-${index}`, className: 'clc-pb-video', ref: videoRef, crossOrigin: 'anonymous', muted: true, controls: false, playsInline: true, preload: 'auto', onPause: onPause, onEnded: handleVideoStart, style: {
13187
+ width: '100%',
13188
+ height,
13189
+ objectFit: 'contain'
13190
+ } }),
13191
+ React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON }))),
13192
+ renderPoster)) : (React.createElement("div", { className: 'video-container', key: rec.video.itemId, onClick: handleClickVideo(), style: {
13193
+ position: 'relative',
13194
+ width,
13195
+ height,
13196
+ overflow: 'hidden'
13197
+ } },
13198
+ React.createElement("video", { id: `pb-video-${index}`, className: 'clc-pb-video', ref: videoRef, crossOrigin: 'anonymous', muted: true, controls: false, playsInline: true, preload: 'auto', onPause: onPause, onEnded: handleVideoStart }),
13199
+ renderPoster,
13200
+ React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON })))));
13201
+ };
13202
+ var VideoWidget$1 = React.memo(VideoWidget);
13203
+
13204
+ const RESOLVER$1 = {};
13205
+ Object.values(_materials_).forEach((v) => {
13206
+ RESOLVER$1[v.extend.type] = v;
13207
+ });
13208
+ const defaultUnLikeIconPath = '/pb_static/f71266d2c64446c5ae6a5a7f5489cc0a.png';
13209
+ const defaultLikeIconPath = '/pb_static/f07900fe3f0f4ae188ea1611d4801a44.png';
13210
+ const DiyPortalPreview = ({ data, globalConfig, tipText, nudge, tempMap, descStyle, hashTagStyle, containerHeight = 664, containerWidth = 375, appDomain }) => {
13211
+ const height = React.useMemo(() => {
13212
+ return (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo) ? containerHeight - 45 : containerHeight;
13213
+ }, [globalConfig, containerHeight]);
13214
+ const renderContent = (rec, index) => {
13215
+ var _a, _b, _c, _d;
13216
+ if ((_a = rec.video) === null || _a === void 0 ? void 0 : _a.url) {
13217
+ return (React.createElement(VideoWidget$1, { rec: rec, index: index, muted: true, width: containerWidth, data: data !== null && data !== void 0 ? data : [], height: height, activeIndex: index, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost }));
13218
+ }
13219
+ if ((_b = rec.video) === null || _b === void 0 ? void 0 : _b.imgUrls) {
13220
+ return (React.createElement(PictureGroup$1, { key: rec.video.itemId, imgUrls: rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
13221
+ }
13222
+ if (rec.product) {
13223
+ if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _c === void 0 ? void 0 : _c.length) > 0) {
13224
+ return (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _d === void 0 ? void 0 : _d.map((value, idx) => {
13225
+ var _a, _b, _c, _d, _e, _f, _g, _h;
13226
+ const t = RESOLVER$1[(_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type];
13227
+ const Component = withBindDataSource(t);
13228
+ const defaulSetting = (_b = t === null || t === void 0 ? void 0 : t.extend) === null || _b === void 0 ? void 0 : _b.defaulSetting;
13229
+ return (React.createElement(Component, Object.assign({ key: `${index}${idx}`, textStyle: Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.textStyle), (_c = value === null || value === void 0 ? void 0 : value.item) === null || _c === void 0 ? void 0 : _c.textStyle), bindDatas: (_e = (_d = value === null || value === void 0 ? void 0 : value.item) === null || _d === void 0 ? void 0 : _d.bindDatas) !== null && _e !== void 0 ? _e : [] }, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.props, (_f = value === null || value === void 0 ? void 0 : value.item) === null || _f === void 0 ? void 0 : _f.props, { event: ((_g = value === null || value === void 0 ? void 0 : value.item) === null || _g === void 0 ? void 0 : _g.event) || {},
13230
+ // schema={schema}
13231
+ id: value === null || value === void 0 ? void 0 : value.id,
13232
+ // viewTime={viewTime.current}
13233
+ rec: rec, isPost: true, tipText: tipText, style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), (_h = value === null || value === void 0 ? void 0 : value.item) === null || _h === void 0 ? void 0 : _h.style), { width: containerWidth, height, overflow: 'auto' }), index: index })));
13234
+ });
13235
+ }
13236
+ }
13237
+ };
13238
+ const renderLogo = React.useMemo(() => {
13239
+ if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo)) {
13240
+ return (React.createElement("div", { className: 'clc-sxp-logo-banner', style: { backgroundColor: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.color } },
13241
+ React.createElement("img", { src: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl, alt: 'logo' })));
13242
+ }
13243
+ return null;
13244
+ }, [globalConfig]);
13245
+ const renderBottom = (rec, index) => {
13246
+ var _a, _b, _c, _d, _e, _f, _g;
13247
+ if (rec.video) {
13248
+ return (React.createElement(React.Fragment, null,
13249
+ ((_a = rec.video) === null || _a === void 0 ? void 0 : _a.title) && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
13250
+ React.createElement("div", { className: 'clc-sxp-bottom' },
13251
+ React.createElement(Nudge, { nudge: nudge }),
13252
+ React.createElement("div", { className: 'clc-sxp-bottom-card' },
13253
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1 })),
13254
+ React.createElement("div", null,
13255
+ React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_c = (_b = rec.video) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : '', style: Object.assign(Object.assign({}, descStyle), { textShadow: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isOpenTextShadow) ? '2px 2px 4px rgba(0, 0, 0, 0.5)' : 'none' }) })),
13256
+ React.createElement(Hashtag$1, { index: index, tags: (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.hashTags) !== null && _e !== void 0 ? _e : [], itemId: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.itemId, itemType: ((_g = rec.video) === null || _g === void 0 ? void 0 : _g.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle }))));
13257
+ }
13258
+ return null;
13259
+ };
13260
+ const likeIcon = useIconLink(defaultLikeIconPath, appDomain);
13261
+ const unlikeIcon = useIconLink(defaultUnLikeIconPath, appDomain);
13262
+ const renderLikeButton = (rec, index) => {
13263
+ var _a, _b, _c, _d;
13264
+ if (!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLike))
13265
+ return;
13266
+ let top = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconY) !== null && _a !== void 0 ? _a : 400;
13267
+ if (top < 40) {
13268
+ top += 40;
13269
+ }
13270
+ if (rec.video) {
13271
+ return (React.createElement(LikeButton$1, { key: rec.position, activeIcon: (_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIcon) !== null && _b !== void 0 ? _b : likeIcon, unActicveIcon: (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unlikeIcon) !== null && _c !== void 0 ? _c : unlikeIcon, position: index, active: rec.isCollected, recData: rec, className: 'clc-sxp-like-button', style: {
13272
+ top,
13273
+ right: (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconX) !== null && _d !== void 0 ? _d : 0
13274
+ } }));
13275
+ }
13276
+ return null;
13277
+ };
13278
+ const mutedIcon = useIconLink('/pb_static/5beaaa5ce7f3477b99db3838619cc471.png', appDomain);
13279
+ const unmutedIcon = useIconLink('/pb_static/fea8668a8a894e4aa3a86bcc775e895e.png', appDomain);
13280
+ const renderView = (rec, index) => {
13281
+ var _a, _b, _c, _d;
13282
+ return (React.createElement("div", { style: { position: 'relative' } },
13283
+ renderLogo,
13284
+ React.createElement(ToggleButton$1, { style: {
13285
+ position: 'absolute',
13286
+ right: (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconX) !== null && _a !== void 0 ? _a : 0,
13287
+ visibility: ((_c = (_b = data === null || data === void 0 ? void 0 : data[index]) === null || _b === void 0 ? void 0 : _b.video) === null || _c === void 0 ? void 0 : _c.url) ? 'visible' : 'hidden',
13288
+ bottom: (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconY) !== null && _d !== void 0 ? _d : 23,
13289
+ zIndex: 999
13290
+ }, defaultValue: true, activeIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.unMuteIcon : mutedIcon, unactiveIcon: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon) ? globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIcon : unmutedIcon }),
13291
+ renderContent(rec, index),
13292
+ renderBottom(rec, index),
13293
+ renderLikeButton(rec, index)));
13294
+ };
13295
+ return (React.createElement("div", { style: {
13296
+ width: '100%',
13297
+ height: containerHeight,
13298
+ display: 'flex',
13299
+ boxSizing: 'border-box',
13300
+ gap: 16,
13301
+ pointerEvents: 'none',
13302
+ userSelect: 'none'
13303
+ } }, data === null || data === void 0 ? void 0 : data.map((rec, index) => {
13304
+ return renderView(rec, index);
13305
+ })));
13306
+ };
13307
+ var index$1 = React.memo(DiyPortalPreview);
13308
+
12991
13309
  /*
12992
13310
  * @Author: binruan@chatlabs.com
12993
13311
  * @Date: 2023-10-31 10:56:01
@@ -13128,12 +13446,13 @@ Made in Italy` })));
13128
13446
  * @FilePath: \pb-sxp-ui\src\index.ts
13129
13447
  */
13130
13448
 
13449
+ exports.DiyPortalPreview = index$1;
13131
13450
  exports.EditorDataProvider = EditorDataProvider;
13132
13451
  exports.Modal = Modal$1;
13133
13452
  exports.SxpDataSourceProvider = SxpDataSourceProvider$1;
13134
13453
  exports.SxpPageCore = index;
13135
13454
  exports.SxpPageRender = SxpPageRender;
13136
- exports.core = index$1;
13455
+ exports.core = index$2;
13137
13456
  exports.default = Pagebuilder;
13138
13457
  exports.defaultSetting = defaultSetting;
13139
13458
  exports.materials = _materials_;