pb-sxp-ui 1.5.5 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +121 -71
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +17 -1
- package/dist/index.js +121 -71
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +3 -3
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.js +3 -3
- package/dist/index.min.js.map +1 -1
- package/dist/pb-ui.js +121 -71
- package/dist/pb-ui.js.map +1 -1
- package/dist/pb-ui.min.js +3 -3
- package/dist/pb-ui.min.js.map +1 -1
- package/es/core/components/DiyPortalPreview/PictureGroup.js +5 -1
- package/es/core/components/SxpPageRender/Hashtag/index.js +1 -1
- package/es/core/components/SxpPageRender/Modal/index.js +6 -6
- package/es/core/components/SxpPageRender/Navbar.js +2 -1
- package/es/core/components/SxpPageRender/PictureGroup/index.js +2 -1
- package/es/core/components/SxpPageRender/RenderCard.d.ts +3 -3
- package/es/core/components/SxpPageRender/RenderCard.js +27 -17
- package/es/core/components/SxpPageRender/Tagbar.js +2 -2
- package/es/core/components/SxpPageRender/WaterFall/index.js +5 -1
- package/es/core/components/SxpPageRender/index.d.ts +8 -0
- package/es/core/components/SxpPageRender/index.js +47 -19
- package/es/core/context/SxpDataSourceProvider.js +4 -1
- package/es/materials/sxp/popup/CommodityDetail/index.js +2 -1
- package/es/materials/sxp/popup/CommodityDetailDiro/index.js +5 -1
- package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +2 -1
- package/es/materials/sxp/template/MultiCommodity/index.d.ts +1 -0
- package/es/materials/sxp/template/MultiCommodity/index.js +2 -2
- package/es/materials/sxp/template/MultiCommodityDiro/index.d.ts +1 -0
- package/es/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
- package/es/materials/sxp/template/MultiCommodityDiroNew/index.d.ts +1 -0
- package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -2
- package/es/materials/sxp/template/components/Img.d.ts +1 -0
- package/es/materials/sxp/template/components/Img.js +6 -4
- package/lib/core/components/DiyPortalPreview/PictureGroup.js +5 -1
- package/lib/core/components/SxpPageRender/Hashtag/index.js +1 -1
- package/lib/core/components/SxpPageRender/Modal/index.js +6 -6
- package/lib/core/components/SxpPageRender/Navbar.js +2 -1
- package/lib/core/components/SxpPageRender/PictureGroup/index.js +2 -1
- package/lib/core/components/SxpPageRender/RenderCard.d.ts +3 -3
- package/lib/core/components/SxpPageRender/RenderCard.js +26 -16
- package/lib/core/components/SxpPageRender/Tagbar.js +2 -2
- package/lib/core/components/SxpPageRender/WaterFall/index.js +5 -1
- package/lib/core/components/SxpPageRender/index.d.ts +8 -0
- package/lib/core/components/SxpPageRender/index.js +47 -19
- package/lib/core/context/SxpDataSourceProvider.js +4 -1
- package/lib/materials/sxp/popup/CommodityDetail/index.js +2 -1
- package/lib/materials/sxp/popup/CommodityDetailDiro/index.js +5 -1
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +2 -1
- package/lib/materials/sxp/template/MultiCommodity/index.d.ts +1 -0
- package/lib/materials/sxp/template/MultiCommodity/index.js +2 -2
- package/lib/materials/sxp/template/MultiCommodityDiro/index.d.ts +1 -0
- package/lib/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
- package/lib/materials/sxp/template/MultiCommodityDiroNew/index.d.ts +1 -0
- package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -2
- package/lib/materials/sxp/template/components/Img.d.ts +1 -0
- package/lib/materials/sxp/template/components/Img.js +5 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -852,18 +852,21 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
852
852
|
const cta = product === null || product === void 0 ? void 0 : product.bindCta;
|
853
853
|
const isProd = ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProduct) || (((_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProducts) && ((_d = (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProducts) === null || _d === void 0 ? void 0 : _d.length) > 0);
|
854
854
|
let fromKName = '';
|
855
|
+
let contentFormat = null;
|
855
856
|
if (isFromHashtag) {
|
856
857
|
fromKName = 'hashTagPage';
|
857
858
|
}
|
858
859
|
else if ((_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.url) {
|
859
860
|
fromKName = 'videoPage';
|
861
|
+
contentFormat = 'video';
|
860
862
|
}
|
861
863
|
else if ((_g = (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.imgUrls) === null || _g === void 0 ? void 0 : _g.length) {
|
862
864
|
fromKName = 'imagePage';
|
865
|
+
contentFormat = 'image';
|
863
866
|
}
|
864
867
|
const contentTags = (_p = (_m = (_h = product === null || product === void 0 ? void 0 : product.tags) !== null && _h !== void 0 ? _h : (_l = (_k = (_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.bindProducts) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : (_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : (_q = rec === null || rec === void 0 ? void 0 : rec.product) === null || _q === void 0 ? void 0 : _q.tags;
|
865
868
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
866
|
-
eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_r = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _r !== void 0 ? _r : '', ctaName: (_s = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _s !== void 0 ? _s : '', contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_u = (_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '', productId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_10 = (_7 = (_2 = (_y = (_v = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _v !== void 0 ? _v : (_x = (_w = rec === null || rec === void 0 ? void 0 : rec.video) === null || _w === void 0 ? void 0 : _w.bindCta) === null || _x === void 0 ? void 0 : _x.traceInfo) !== null && _y !== void 0 ? _y : (_1 = (_0 = (_z = rec === null || rec === void 0 ? void 0 : rec.video) === null || _z === void 0 ? void 0 : _z.bindProduct) === null || _0 === void 0 ? void 0 : _0.bindCta) === null || _1 === void 0 ? void 0 : _1.traceInfo) !== null && _2 !== void 0 ? _2 : (_6 = (_5 = (_4 = (_3 = rec === null || rec === void 0 ? void 0 : rec.video) === null || _3 === void 0 ? void 0 : _3.bindProducts) === null || _4 === void 0 ? void 0 : _4[0]) === null || _5 === void 0 ? void 0 : _5.bindCta) === null || _6 === void 0 ? void 0 : _6.traceInfo) !== null && _7 !== void 0 ? _7 : (_9 = (_8 = rec === null || rec === void 0 ? void 0 : rec.product) === null || _8 === void 0 ? void 0 : _8.bindCta) === null || _9 === void 0 ? void 0 : _9.traceInfo) !== null && _10 !== void 0 ? _10 : '', fromKName, fromKPage: (_11 = location === null || location === void 0 ? void 0 : location.href) !== null && _11 !== void 0 ? _11 : '' })
|
869
|
+
eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_r = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _r !== void 0 ? _r : '', ctaName: (_s = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _s !== void 0 ? _s : '', contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_u = (_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '', productId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_10 = (_7 = (_2 = (_y = (_v = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _v !== void 0 ? _v : (_x = (_w = rec === null || rec === void 0 ? void 0 : rec.video) === null || _w === void 0 ? void 0 : _w.bindCta) === null || _x === void 0 ? void 0 : _x.traceInfo) !== null && _y !== void 0 ? _y : (_1 = (_0 = (_z = rec === null || rec === void 0 ? void 0 : rec.video) === null || _z === void 0 ? void 0 : _z.bindProduct) === null || _0 === void 0 ? void 0 : _0.bindCta) === null || _1 === void 0 ? void 0 : _1.traceInfo) !== null && _2 !== void 0 ? _2 : (_6 = (_5 = (_4 = (_3 = rec === null || rec === void 0 ? void 0 : rec.video) === null || _3 === void 0 ? void 0 : _3.bindProducts) === null || _4 === void 0 ? void 0 : _4[0]) === null || _5 === void 0 ? void 0 : _5.bindCta) === null || _6 === void 0 ? void 0 : _6.traceInfo) !== null && _7 !== void 0 ? _7 : (_9 = (_8 = rec === null || rec === void 0 ? void 0 : rec.product) === null || _8 === void 0 ? void 0 : _8.bindCta) === null || _9 === void 0 ? void 0 : _9.traceInfo) !== null && _10 !== void 0 ? _10 : '', fromKName, fromKPage: (_11 = location === null || location === void 0 ? void 0 : location.href) !== null && _11 !== void 0 ? _11 : '', contentFormat })
|
867
870
|
});
|
868
871
|
}, [bffEventReport, isFromHashtag]);
|
869
872
|
const h5EnterLink = useCallback(() => {
|
@@ -8909,13 +8912,13 @@ SwiperSlide.displayName = 'SwiperSlide';
|
|
8909
8912
|
* @Author: binruan@chatlabs.com
|
8910
8913
|
* @Date: 2023-11-02 18:34:34
|
8911
8914
|
* @LastEditors: binruan@chatlabs.com
|
8912
|
-
* @LastEditTime: 2024-
|
8915
|
+
* @LastEditTime: 2024-10-11 18:18:41
|
8913
8916
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Modal\index.tsx
|
8914
8917
|
*
|
8915
8918
|
*/
|
8916
8919
|
const closeIcon$1 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
|
8917
8920
|
const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema, fullHeight = window.innerHeight, isFullScreen = false }) => {
|
8918
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
8921
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
|
8919
8922
|
const touchRef = useRef(null);
|
8920
8923
|
const fTouchRef = useRef(null);
|
8921
8924
|
const touchMoveRef = useRef(null);
|
@@ -9028,9 +9031,9 @@ const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema,
|
|
9028
9031
|
width: `calc(100% - ${((_r = (_q = (_p = (_o = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _o === void 0 ? void 0 : _o.props) === null || _p === void 0 ? void 0 : _p.popupBg) === null || _q === void 0 ? void 0 : _q.horizontalMargin) !== null && _r !== void 0 ? _r : 0) * 2}px)`,
|
9029
9032
|
height: '100%'
|
9030
9033
|
} },
|
9031
|
-
React.createElement("div", Object.assign({ className: `modal-container ${isOpen ? 'modal-popIn' : 'modal-popOut'}`, style: Object.assign(Object.assign({ padding, animationDuration: ((
|
9034
|
+
React.createElement("div", Object.assign({ className: `modal-container ${isOpen ? 'modal-popIn' : 'modal-popOut'}`, role: 'dialog', "aria-label": (_s = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _s === void 0 ? void 0 : _s.displayName, "aria-modal": true, style: Object.assign(Object.assign({ padding, animationDuration: ((_t = popup === null || popup === void 0 ? void 0 : popup.duration) !== null && _t !== void 0 ? _t : 0) / 1000 + 's' }, (isScrollFullScreen && {
|
9032
9035
|
transform: `translateY(${modalTrans}px)`
|
9033
|
-
})), { overflow: 'hidden', borderRadius: `${(
|
9036
|
+
})), { overflow: 'hidden', borderRadius: `${(_x = (_w = (_v = (_u = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _u === void 0 ? void 0 : _u.props) === null || _v === void 0 ? void 0 : _v.popupBg) === null || _w === void 0 ? void 0 : _w.borderRadius) !== null && _x !== void 0 ? _x : 0}px`, zIndex: 9 }), onClick: (e) => {
|
9034
9037
|
e.stopPropagation();
|
9035
9038
|
e.preventDefault();
|
9036
9039
|
} }, (isScrollFullScreen && {
|
@@ -9038,13 +9041,13 @@ const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema,
|
|
9038
9041
|
onTouchStart: handleTouchStart,
|
9039
9042
|
onTouchEnd: handleTouchEnd
|
9040
9043
|
})),
|
9041
|
-
React.createElement("
|
9042
|
-
React.createElement("img", { src: (
|
9044
|
+
React.createElement("button", { className: 'modal-icon-wrapper', role: 'button', "aria-label": 'close button', onClick: onClose, style: { top: scrollTop } },
|
9045
|
+
React.createElement("img", { src: (_y = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) !== null && _y !== void 0 ? _y : closeIcon$1, alt: 'close button', className: 'modal-icon' })),
|
9043
9046
|
React.createElement("div", Object.assign({ ref: ref, style: {
|
9044
9047
|
height: isScrollFullScreen ? fullHeight : MODAL_DEF_CON_H,
|
9045
9048
|
overflow: (isScrollFullScreen && modalTrans <= 0) || !isScrollFullScreen ? 'auto' : 'hidden',
|
9046
9049
|
zIndex: 1
|
9047
|
-
} }, (((
|
9050
|
+
} }, (((_0 = (_z = getPopupById === null || getPopupById === void 0 ? void 0 : getPopupById.item) === null || _z === void 0 ? void 0 : _z.props) === null || _0 === void 0 ? void 0 : _0.enableFixedCloseButton) && {
|
9048
9051
|
onScroll: (e) => {
|
9049
9052
|
var _a;
|
9050
9053
|
setScrollTop(15 - ((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.scrollTop));
|
@@ -9423,7 +9426,8 @@ const CommodityDetail$1 = (_a) => {
|
|
9423
9426
|
product && ((_w = product === null || product === void 0 ? void 0 : product.homePage) === null || _w === void 0 ? void 0 : _w.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
|
9424
9427
|
clickable: true,
|
9425
9428
|
bulletActiveClass: 'swipe-item-active-bullet',
|
9426
|
-
clickableClass: getDotsAlign
|
9429
|
+
clickableClass: getDotsAlign,
|
9430
|
+
bulletElement: 'button'
|
9427
9431
|
}, loop: true, autoplay: {
|
9428
9432
|
delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
|
9429
9433
|
}, ref: ref, className: css(Object.assign(Object.assign({ '.swiper-pagination': { bottom: (_x = swiper === null || swiper === void 0 ? void 0 : swiper.dotsMarginBottom) !== null && _x !== void 0 ? _x : 0, fontSize: '14px' } }, ((swiper === null || swiper === void 0 ? void 0 : swiper.dotsBgColor) && {
|
@@ -10330,7 +10334,8 @@ Made in Italy` })));
|
|
10330
10334
|
product && ((_w = product === null || product === void 0 ? void 0 : product.homePage) === null || _w === void 0 ? void 0 : _w.length) > 0 && (React.createElement(Swiper, { height: height, modules: [Pagination, Autoplay], pagination: {
|
10331
10335
|
clickable: true,
|
10332
10336
|
bulletActiveClass: 'swipe-item-active-bullet',
|
10333
|
-
clickableClass: getDotsAlign
|
10337
|
+
clickableClass: getDotsAlign,
|
10338
|
+
bulletElement: 'button'
|
10334
10339
|
}, loop: true, autoplay: {
|
10335
10340
|
delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
|
10336
10341
|
}, ref: ref, className: css(Object.assign(Object.assign({ '.swiper-pagination': {
|
@@ -10811,22 +10816,24 @@ function useOnScreen(ref) {
|
|
10811
10816
|
* @Author: binruan@chatlabs.com
|
10812
10817
|
* @Date: 2024-01-16 14:50:13
|
10813
10818
|
* @LastEditors: binruan@chatlabs.com
|
10814
|
-
* @LastEditTime: 2024-
|
10819
|
+
* @LastEditTime: 2024-10-12 18:04:36
|
10815
10820
|
* @FilePath: \pb-sxp-ui\src\materials\sxp\template\components\Img.tsx
|
10816
10821
|
*
|
10817
10822
|
*/
|
10818
|
-
const Img = ({ src, rec, item, index, style, translateY, imgStyle, enableEventReport = true }) => {
|
10823
|
+
const Img = ({ src, rec, item, index, style, translateY, imgStyle, enableEventReport = true, isActive }) => {
|
10819
10824
|
const ref = useRef(null);
|
10820
10825
|
const isOnScreen = useOnScreen(ref);
|
10821
10826
|
const { ctaEvent } = useSxpDataSource();
|
10827
|
+
const [visible, setVisible] = useState(false);
|
10822
10828
|
useEffect(() => {
|
10823
|
-
if (isOnScreen && src && (ref === null || ref === void 0 ? void 0 : ref.current) && enableEventReport) {
|
10829
|
+
if (isOnScreen && src && (ref === null || ref === void 0 ? void 0 : ref.current) && enableEventReport && !visible) {
|
10830
|
+
setVisible(true);
|
10824
10831
|
ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
|
10825
10832
|
eventSubject: 'ctaExposure',
|
10826
10833
|
eventDescription: 'The cta was shown to the user'
|
10827
10834
|
}, rec, item, index);
|
10828
10835
|
}
|
10829
|
-
}, [isOnScreen, src, ref, rec, ctaEvent, item, index, enableEventReport]);
|
10836
|
+
}, [isOnScreen, src, ref, rec, ctaEvent, item, index, enableEventReport, visible]);
|
10830
10837
|
useMemo(() => {
|
10831
10838
|
return (src === null || src === void 0 ? void 0 : src.includes('.avif')) ? src : `${src}?imrquality/rquality/20`;
|
10832
10839
|
}, [src]);
|
@@ -11936,7 +11943,7 @@ var styles$4 = {"two-line-ellipsis":"index-module_two-line-ellipsis__SFQwJ"};
|
|
11936
11943
|
|
11937
11944
|
const MultiCommodityDiro$1 = (_a) => {
|
11938
11945
|
var _b, _c;
|
11939
|
-
var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0 } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY"]);
|
11946
|
+
var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0, isActive } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY", "isActive"]);
|
11940
11947
|
const { ctaEvent, setPopupDetailData, sxpParameter } = useSxpDataSource();
|
11941
11948
|
const { popup } = useEditor();
|
11942
11949
|
const { jumpToWeb } = useEventReport();
|
@@ -11960,7 +11967,7 @@ const MultiCommodityDiro$1 = (_a) => {
|
|
11960
11967
|
return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, index) => {
|
11961
11968
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
11962
11969
|
return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, Object.assign({ key: index, className: css(Object.assign(Object.assign({}, style), { display: 'flex', flexShrink: 0, marginLeft: 0, marginRight: '8px' })) }, props, { onClick: () => handleClick(item, index) }),
|
11963
|
-
React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
|
11970
|
+
React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
|
11964
11971
|
React.createElement("div", { className: css({
|
11965
11972
|
color: '#000',
|
11966
11973
|
display: 'flex',
|
@@ -12052,7 +12059,7 @@ var styles$3 = {"two-line-ellipsis":"index-module_two-line-ellipsis__mdzn0"};
|
|
12052
12059
|
|
12053
12060
|
const MultiCommodity$1 = (_a) => {
|
12054
12061
|
var _b, _c;
|
12055
|
-
var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0 } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY"]);
|
12062
|
+
var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0, isActive } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY", "isActive"]);
|
12056
12063
|
const { sxpParameter } = useSxpDataSource();
|
12057
12064
|
const { ctaEvent, setPopupDetailData } = useSxpDataSource();
|
12058
12065
|
const { popup } = useEditor();
|
@@ -12077,7 +12084,7 @@ const MultiCommodity$1 = (_a) => {
|
|
12077
12084
|
return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, index) => {
|
12078
12085
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
12079
12086
|
return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, Object.assign({ key: index, className: css(Object.assign(Object.assign({}, style), { display: 'flex', flexShrink: 0, marginLeft: 0, marginRight: '8px' })) }, props, { onClick: () => handleClick(item, index) }),
|
12080
|
-
React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
|
12087
|
+
React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
|
12081
12088
|
React.createElement("div", { className: css({
|
12082
12089
|
color: '#fff',
|
12083
12090
|
display: 'flex',
|
@@ -12177,7 +12184,7 @@ var styles$2 = {"tow-line-ellipsis":"index-module_tow-line-ellipsis__fselR"};
|
|
12177
12184
|
|
12178
12185
|
const MultiCommodityDiroNew$1 = (_a) => {
|
12179
12186
|
var _b, _c;
|
12180
|
-
var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0 } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY"]);
|
12187
|
+
var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0, isActive } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY", "isActive"]);
|
12181
12188
|
const { ctaEvent, setPopupDetailData, sxpParameter } = useSxpDataSource();
|
12182
12189
|
const { popup } = useEditor();
|
12183
12190
|
const { jumpToWeb } = useEventReport();
|
@@ -12202,7 +12209,7 @@ const MultiCommodityDiroNew$1 = (_a) => {
|
|
12202
12209
|
return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, index) => {
|
12203
12210
|
var _a, _b, _c, _d, _e, _f, _g;
|
12204
12211
|
return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, Object.assign({ key: index, className: css(Object.assign(Object.assign({}, style), { display: 'flex', flexShrink: 0, marginLeft: 0, marginRight: '8px' })) }, props, { onClick: () => handleClick(item, index) }),
|
12205
|
-
React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
|
12212
|
+
React.createElement(Img$1, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
|
12206
12213
|
React.createElement("div", { className: css({
|
12207
12214
|
color: '#fff',
|
12208
12215
|
display: 'flex',
|
@@ -12520,7 +12527,7 @@ var settingRender$3 = [
|
|
12520
12527
|
* @Author: binruan@chatlabs.com
|
12521
12528
|
* @Date: 2023-12-26 16:11:34
|
12522
12529
|
* @LastEditors: binruan@chatlabs.com
|
12523
|
-
* @LastEditTime: 2024-
|
12530
|
+
* @LastEditTime: 2024-10-11 18:22:21
|
12524
12531
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Navbar.tsx
|
12525
12532
|
*
|
12526
12533
|
*/
|
@@ -12528,7 +12535,8 @@ const Navbar = ({ icon, styles, textStyle, onClose }) => {
|
|
12528
12535
|
var _a;
|
12529
12536
|
const { waterFallData, setOpenHashtag } = useSxpDataSource();
|
12530
12537
|
return (React.createElement("div", { className: 'clc-sxp-nav', style: styles },
|
12531
|
-
React.createElement("
|
12538
|
+
React.createElement("button", { className: 'clc-sxp-nav-left', role: 'button', "aria-label": 'back button', onClick: onClose },
|
12539
|
+
React.createElement("img", { src: icon, alt: 'back button' })),
|
12532
12540
|
React.createElement("div", { className: 'clc-sxp-nav-title', style: Object.assign(Object.assign({}, textStyle), { paddingLeft: (textStyle === null || textStyle === void 0 ? void 0 : textStyle.textAlign) === 'left' ? '35px' : 0 }), dangerouslySetInnerHTML: {
|
12533
12541
|
__html: setFontForText(`#${(_a = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag) !== null && _a !== void 0 ? _a : '标题'}`, textStyle)
|
12534
12542
|
} })));
|
@@ -14385,7 +14393,7 @@ function WaterfallList(_a) {
|
|
14385
14393
|
* @Author: binruan@chatlabs.com
|
14386
14394
|
* @Date: 2024-01-10 10:58:24
|
14387
14395
|
* @LastEditors: binruan@chatlabs.com
|
14388
|
-
* @LastEditTime: 2024-
|
14396
|
+
* @LastEditTime: 2024-10-11 13:43:22
|
14389
14397
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
|
14390
14398
|
*
|
14391
14399
|
*/
|
@@ -14437,14 +14445,17 @@ const WaterFall = (props) => {
|
|
14437
14445
|
if (!rec)
|
14438
14446
|
return;
|
14439
14447
|
let fromKName = '';
|
14448
|
+
let contentFormat = null;
|
14440
14449
|
if (isFromHashtag) {
|
14441
14450
|
fromKName = 'hashTagPage';
|
14442
14451
|
}
|
14443
14452
|
else if ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) {
|
14444
14453
|
fromKName = 'videoPage';
|
14454
|
+
contentFormat = 'video';
|
14445
14455
|
}
|
14446
14456
|
else if ((_c = (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.imgUrls) === null || _c === void 0 ? void 0 : _c.length) {
|
14447
14457
|
fromKName = 'imagePage';
|
14458
|
+
contentFormat = 'image';
|
14448
14459
|
}
|
14449
14460
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
14450
14461
|
eventInfo: {
|
@@ -14457,7 +14468,8 @@ const WaterFall = (props) => {
|
|
14457
14468
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
14458
14469
|
timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
|
14459
14470
|
eventSubject: 'clickTagsViewContents',
|
14460
|
-
eventDescription: 'User click tags view contents'
|
14471
|
+
eventDescription: 'User click tags view contents',
|
14472
|
+
contentFormat
|
14461
14473
|
}
|
14462
14474
|
});
|
14463
14475
|
}, [recData, bffEventReport, viewTime, isFromHashtag, cacheActiveIndex]);
|
@@ -15975,7 +15987,7 @@ const Picture = (props) => {
|
|
15975
15987
|
* @Author: lewinlu@chatlabs.com
|
15976
15988
|
* @Date: 2024-01-03 14:39:09
|
15977
15989
|
* @LastEditors: binruan@chatlabs.com
|
15978
|
-
* @LastEditTime: 2024-
|
15990
|
+
* @LastEditTime: 2024-10-10 17:53:30
|
15979
15991
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\PictureGroup\index.tsx
|
15980
15992
|
*/
|
15981
15993
|
const PictureGroup$2 = ({ imgUrls, width, height, rec, index, onReportViewImageEnd, onViewImageStartEvent, imgUrlsPostConfig }) => {
|
@@ -16008,7 +16020,8 @@ const PictureGroup$2 = ({ imgUrls, width, height, rec, index, onReportViewImageE
|
|
16008
16020
|
// }
|
16009
16021
|
return (React.createElement(Swiper, { ref: ref, defaultValue: 0, direction: 'horizontal', modules: [Pagination, Autoplay], pagination: {
|
16010
16022
|
clickable: true,
|
16011
|
-
bulletActiveClass: 'swipe-item-active-bullet'
|
16023
|
+
bulletActiveClass: 'swipe-item-active-bullet',
|
16024
|
+
bulletElement: 'button'
|
16012
16025
|
}, className: css(Object.assign(Object.assign({ '.swiper-pagination': {
|
16013
16026
|
bottom: (_a = imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.marginBottom) !== null && _a !== void 0 ? _a : 0,
|
16014
16027
|
fontSize: '14px'
|
@@ -16033,7 +16046,7 @@ var PictureGroup$3 = memo(PictureGroup$2);
|
|
16033
16046
|
* @Author: binruan@chatlabs.com
|
16034
16047
|
* @Date: 2024-01-15 19:03:09
|
16035
16048
|
* @LastEditors: binruan@chatlabs.com
|
16036
|
-
* @LastEditTime: 2024-
|
16049
|
+
* @LastEditTime: 2024-10-11 18:37:55
|
16037
16050
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Hashtag\index.tsx
|
16038
16051
|
*
|
16039
16052
|
*/
|
@@ -16071,7 +16084,7 @@ const Hashtag = ({ tags, itemId, itemType, index, rec, hashTagStyle }) => {
|
|
16071
16084
|
return (React.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer', color: '#fff' }, onClick: () => setIsShowMore(!isShowMore) }, isShowMore ? 'show less' : 'show more'));
|
16072
16085
|
}, [isShowMore, tags]);
|
16073
16086
|
return (React.createElement("div", { className: 'clc-sxp-bottom-hashtag', style: { marginTop: `${(_a = hashTagStyle === null || hashTagStyle === void 0 ? void 0 : hashTagStyle.marginTop) !== null && _a !== void 0 ? _a : 16}px` } },
|
16074
|
-
React.createElement(Scroll$1, null, tags === null || tags === void 0 ? void 0 : tags.map((item, index) => (React.createElement(SwiperSlide, { key: index, hidden: !isShowMore ? index >= 6 : false, className: 'clc-sxp-bottom-hashtag-item', style: hashTagStyle, onClick: () => handleClickTag(item) },
|
16087
|
+
React.createElement(Scroll$1, null, tags === null || tags === void 0 ? void 0 : tags.map((item, index) => (React.createElement(SwiperSlide, { key: index, hidden: !isShowMore ? index >= 6 : false, className: 'clc-sxp-bottom-hashtag-item', style: hashTagStyle, onClick: () => handleClickTag(item), tag: 'button', "aria-label": item },
|
16075
16088
|
React.createElement("div", { dangerouslySetInnerHTML: { __html: setFontForText(`#${item}`, hashTagStyle) } })))))));
|
16076
16089
|
};
|
16077
16090
|
var Hashtag$1 = memo(Hashtag);
|
@@ -16140,7 +16153,7 @@ function withBindDataSource(Component) {
|
|
16140
16153
|
* @Author: binruan@chatlabs.com
|
16141
16154
|
* @Date: 2023-12-26 16:11:34
|
16142
16155
|
* @LastEditors: binruan@chatlabs.com
|
16143
|
-
* @LastEditTime: 2024-
|
16156
|
+
* @LastEditTime: 2024-10-12 16:22:10
|
16144
16157
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\RenderCard.tsx
|
16145
16158
|
*
|
16146
16159
|
*/
|
@@ -16160,38 +16173,44 @@ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive }
|
|
16160
16173
|
cta = (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.bindCta) === null || _e === void 0 ? void 0 : _e.itemId;
|
16161
16174
|
}
|
16162
16175
|
const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
|
16163
|
-
const renderComp =
|
16164
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
|
16176
|
+
const renderComp = useMemo(() => {
|
16177
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
|
16165
16178
|
if (!(rec === null || rec === void 0 ? void 0 : rec.video))
|
16166
16179
|
return null;
|
16180
|
+
if ((_b = (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) ;
|
16181
|
+
else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) ;
|
16182
|
+
else {
|
16183
|
+
(_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.bindCta) === null || _e === void 0 ? void 0 : _e.itemId;
|
16184
|
+
}
|
16167
16185
|
//如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
|
16168
|
-
if (includesCtaType && !(includesCtaType === null || includesCtaType === void 0 ? void 0 : includesCtaType.includes((
|
16186
|
+
if (includesCtaType && !(includesCtaType === null || includesCtaType === void 0 ? void 0 : includesCtaType.includes((_f = value === null || value === void 0 ? void 0 : value.item) === null || _f === void 0 ? void 0 : _f.type)))
|
16169
16187
|
return;
|
16170
16188
|
//默认不渲染category为cta类型的组件,该类型的组件只用于某一处
|
16171
|
-
if (!includesCtaType && ((
|
16189
|
+
if (!includesCtaType && ((_g = value === null || value === void 0 ? void 0 : value.item) === null || _g === void 0 ? void 0 : _g.category) === 'cta')
|
16172
16190
|
return;
|
16173
|
-
if ((((
|
16174
|
-
(((
|
16175
|
-
(((
|
16176
|
-
(((
|
16177
|
-
(((
|
16178
|
-
(((
|
16191
|
+
if ((((_h = value === null || value === void 0 ? void 0 : value.item) === null || _h === void 0 ? void 0 : _h.type) === 'CommodityDiro' && !((_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.bindProduct)) ||
|
16192
|
+
(((_k = value === null || value === void 0 ? void 0 : value.item) === null || _k === void 0 ? void 0 : _k.type) === 'Commodity' && !((_l = rec === null || rec === void 0 ? void 0 : rec.video) === null || _l === void 0 ? void 0 : _l.bindProduct)) ||
|
16193
|
+
(((_m = value === null || value === void 0 ? void 0 : value.item) === null || _m === void 0 ? void 0 : _m.type) === 'CommodityDiroNew' && !((_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.bindProduct)) ||
|
16194
|
+
(((_p = value === null || value === void 0 ? void 0 : value.item) === null || _p === void 0 ? void 0 : _p.type) === 'MultiCommodity' && !((_r = (_q = rec === null || rec === void 0 ? void 0 : rec.video) === null || _q === void 0 ? void 0 : _q.bindProducts) === null || _r === void 0 ? void 0 : _r.length)) ||
|
16195
|
+
(((_s = value === null || value === void 0 ? void 0 : value.item) === null || _s === void 0 ? void 0 : _s.type) === 'MultiCommodityDiro' && !((_u = (_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.bindProducts) === null || _u === void 0 ? void 0 : _u.length)) ||
|
16196
|
+
(((_v = value === null || value === void 0 ? void 0 : value.item) === null || _v === void 0 ? void 0 : _v.type) === 'MultiCommodityDiroNew' && !((_x = (_w = rec === null || rec === void 0 ? void 0 : rec.video) === null || _w === void 0 ? void 0 : _w.bindProducts) === null || _x === void 0 ? void 0 : _x.length))) {
|
16179
16197
|
//
|
16180
16198
|
return null;
|
16181
16199
|
}
|
16182
16200
|
if (value && resolver) {
|
16183
|
-
const t = resolver[(
|
16201
|
+
const t = resolver[(_y = value === null || value === void 0 ? void 0 : value.item) === null || _y === void 0 ? void 0 : _y.type];
|
16184
16202
|
const Component = withBindDataSource(t);
|
16185
|
-
const defaulSetting = (
|
16186
|
-
const isExternalLink = ((
|
16187
|
-
return (React.createElement(Component, Object.assign({ style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), (
|
16203
|
+
const defaulSetting = (_z = t === null || t === void 0 ? void 0 : t.extend) === null || _z === void 0 ? void 0 : _z.defaulSetting;
|
16204
|
+
const isExternalLink = ((_2 = (_1 = (_0 = value === null || value === void 0 ? void 0 : value.item) === null || _0 === void 0 ? void 0 : _0.event) === null || _1 === void 0 ? void 0 : _1.onClick) === null || _2 === void 0 ? void 0 : _2.linkType) === 'externalLink';
|
16205
|
+
return (React.createElement(Component, Object.assign({ style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), (_3 = value === null || value === void 0 ? void 0 : value.item) === null || _3 === void 0 ? void 0 : _3.style), { zIndex: 50, marginLeft: '20px', boxSizing: 'border-box', transform: 'translate3d(0px, 0px, 0px)' }), textStyle: Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.textStyle), (_4 = value === null || value === void 0 ? void 0 : value.item) === null || _4 === void 0 ? void 0 : _4.textStyle), bindDatas: (_6 = (_5 = value === null || value === void 0 ? void 0 : value.item) === null || _5 === void 0 ? void 0 : _5.bindDatas) !== null && _6 !== void 0 ? _6 : [] }, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.props, (_7 = value === null || value === void 0 ? void 0 : value.item) === null || _7 === void 0 ? void 0 : _7.props, { event: ((_8 = value === null || value === void 0 ? void 0 : value.item) === null || _8 === void 0 ? void 0 : _8.event) || {}, schema: schema, id: value === null || value === void 0 ? void 0 : value.id, key: value === null || value === void 0 ? void 0 : value.id, recData: rec, isExternalLink: isExternalLink, index: index, isActive: isActive })));
|
16188
16206
|
}
|
16189
16207
|
else {
|
16190
16208
|
return null;
|
16191
16209
|
}
|
16192
16210
|
}, [rec, resolver, tempMap, schema, value === null || value === void 0 ? void 0 : value.id, isActive]);
|
16193
|
-
return React.createElement(React.Fragment, null, renderComp
|
16211
|
+
return React.createElement(React.Fragment, null, renderComp);
|
16194
16212
|
};
|
16213
|
+
var RenderCard$1 = memo(RenderCard);
|
16195
16214
|
|
16196
16215
|
/*
|
16197
16216
|
* @Author: binruan@chatlabs.com
|
@@ -16220,7 +16239,7 @@ const Nudge = ({ nudge }) => {
|
|
16220
16239
|
* @Author: binruan@chatlabs.com
|
16221
16240
|
* @Date: 2024-04-29 16:32:21
|
16222
16241
|
* @LastEditors: binruan@chatlabs.com
|
16223
|
-
* @LastEditTime: 2024-
|
16242
|
+
* @LastEditTime: 2024-10-11 18:59:43
|
16224
16243
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Tagbar.tsx
|
16225
16244
|
*
|
16226
16245
|
*/
|
@@ -16266,8 +16285,8 @@ const Tagbar = ({ tagList = [], setActiveIndex, style }) => {
|
|
16266
16285
|
if (waterFallData || tagList.length <= 0)
|
16267
16286
|
return null;
|
16268
16287
|
return (React.createElement("div", { className: 'clc-sxp-tagbar', style: style },
|
16269
|
-
React.createElement("
|
16270
|
-
return (React.createElement("
|
16288
|
+
React.createElement("div", { className: 'clc-sxp-tagbar-list', style: { margin: 'auto', gap: 24 } }, realTagList.map((tag) => {
|
16289
|
+
return (React.createElement("button", { className: `clc-sxp-tagbar-list-item ${tag === selectTag ? 'clc-sxp-tagbar-list-item-active' : ''}`, key: tag, "aria-label": tag, onClick: handleSelectTag(tag) }, tag));
|
16271
16290
|
}))));
|
16272
16291
|
};
|
16273
16292
|
var Tagbar$1 = memo(Tagbar);
|
@@ -16276,12 +16295,12 @@ var Tagbar$1 = memo(Tagbar);
|
|
16276
16295
|
* @Author: binruan@chatlabs.com
|
16277
16296
|
* @Date: 2024-01-15 19:03:09
|
16278
16297
|
* @LastEditors: binruan@chatlabs.com
|
16279
|
-
* @LastEditTime: 2024-
|
16298
|
+
* @LastEditTime: 2024-10-12 15:27:17
|
16280
16299
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
16281
16300
|
*
|
16282
16301
|
*/
|
16283
16302
|
const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.innerHeight, containerWidth = window.innerWidth, tempMap, resolver, data = [], ctaType, tipText, nudge, _schema, hashTagStyle, tagList = [], licenseUrl }) => {
|
16284
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
16303
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
16285
16304
|
const mutedIcon = useIconLink('/pb_static/5beaaa5ce7f3477b99db3838619cc471.png');
|
16286
16305
|
const unmutedIcon = useIconLink('/pb_static/fea8668a8a894e4aa3a86bcc775e895e.png');
|
16287
16306
|
const { schema } = useEditor();
|
@@ -16527,15 +16546,15 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16527
16546
|
if (rec === null || rec === void 0 ? void 0 : rec.video) {
|
16528
16547
|
return (React.createElement(React.Fragment, null,
|
16529
16548
|
((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.title) && !isShowMore && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
|
16530
|
-
React.createElement("div", { className: 'clc-sxp-bottom', style: {
|
16549
|
+
React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _b !== void 0 ? _b : 40}px` } },
|
16531
16550
|
React.createElement(Nudge, { nudge: nudge }),
|
16532
16551
|
(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { className: 'clc-sxp-bottom-card' },
|
16533
|
-
React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver }))) : null,
|
16552
|
+
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex }))) : null,
|
16534
16553
|
React.createElement("div", null,
|
16535
16554
|
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: (_d = (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : '', 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' }), onChange: onExpandableChange }),
|
16536
|
-
React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'] }),
|
16555
|
+
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'] }),
|
16537
16556
|
React.createElement(Hashtag$1, { index: activeIndex, tags: (_f = (_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.hashTags) !== null && _f !== void 0 ? _f : [], itemId: (_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.itemId, itemType: ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle }))),
|
16538
|
-
React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
|
16557
|
+
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
|
16539
16558
|
}
|
16540
16559
|
return null;
|
16541
16560
|
}, [
|
@@ -16590,7 +16609,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16590
16609
|
}
|
16591
16610
|
};
|
16592
16611
|
const handleSlideSkip = (item, position) => {
|
16593
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
16612
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
16594
16613
|
if (isPreview || waterFallData)
|
16595
16614
|
return;
|
16596
16615
|
const t = new Date() - curTime.current;
|
@@ -16598,18 +16617,26 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16598
16617
|
const link = ((_d = (_c = (_b = item === null || item === void 0 ? void 0 : item.video) === null || _b === void 0 ? void 0 : _b.bindProducts) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.link) || ((_f = (_e = item === null || item === void 0 ? void 0 : item.video) === null || _e === void 0 ? void 0 : _e.bindProduct) === null || _f === void 0 ? void 0 : _f.link) || ((_g = item === null || item === void 0 ? void 0 : item.product) === null || _g === void 0 ? void 0 : _g.link);
|
16599
16618
|
const product = (item === null || item === void 0 ? void 0 : item.product) || ((_h = item === null || item === void 0 ? void 0 : item.video) === null || _h === void 0 ? void 0 : _h.bindProduct) || ((_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.bindProducts) === null || _k === void 0 ? void 0 : _k[0]);
|
16600
16619
|
if (link) {
|
16620
|
+
let contentFormat = null;
|
16621
|
+
if ((_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.url) {
|
16622
|
+
contentFormat = 'video';
|
16623
|
+
}
|
16624
|
+
else if ((_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.imgUrls) === null || _o === void 0 ? void 0 : _o.length) {
|
16625
|
+
contentFormat = 'image';
|
16626
|
+
}
|
16601
16627
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
16602
16628
|
eventInfo: {
|
16603
16629
|
eventSubject: 'swipeToWeb',
|
16604
16630
|
eventDescription: 'User swiped to web',
|
16605
|
-
productId: (
|
16606
|
-
productName: (
|
16631
|
+
productId: (_p = product === null || product === void 0 ? void 0 : product.itemId) !== null && _p !== void 0 ? _p : '',
|
16632
|
+
productName: (_q = product === null || product === void 0 ? void 0 : product.title) !== null && _q !== void 0 ? _q : '',
|
16607
16633
|
price: (product === null || product === void 0 ? void 0 : product.price) ? (product === null || product === void 0 ? void 0 : product.price) + '' : '0',
|
16608
|
-
productCollection: (
|
16634
|
+
productCollection: (_r = product === null || product === void 0 ? void 0 : product.collection) !== null && _r !== void 0 ? _r : '',
|
16609
16635
|
contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
|
16610
16636
|
position: position + '',
|
16611
|
-
contentId: (
|
16612
|
-
traceInfo: (
|
16637
|
+
contentId: (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.itemId) !== null && _t !== void 0 ? _t : '',
|
16638
|
+
traceInfo: (_x = (_v = (_u = item === null || item === void 0 ? void 0 : item.video) === null || _u === void 0 ? void 0 : _u.traceInfo) !== null && _v !== void 0 ? _v : (_w = item === null || item === void 0 ? void 0 : item.product) === null || _w === void 0 ? void 0 : _w.traceInfo) !== null && _x !== void 0 ? _x : '',
|
16639
|
+
contentFormat
|
16613
16640
|
}
|
16614
16641
|
});
|
16615
16642
|
skipLinkRef.current = true;
|
@@ -16618,19 +16645,27 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16618
16645
|
}
|
16619
16646
|
};
|
16620
16647
|
const handleScrollEvent = (swiper) => {
|
16621
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
16648
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
16622
16649
|
const item = data[swiper.previousIndex];
|
16623
16650
|
if (!item)
|
16624
16651
|
return;
|
16652
|
+
let contentFormat = null;
|
16653
|
+
if ((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.url) {
|
16654
|
+
contentFormat = 'video';
|
16655
|
+
}
|
16656
|
+
else if ((_c = (_b = item === null || item === void 0 ? void 0 : item.video) === null || _b === void 0 ? void 0 : _b.imgUrls) === null || _c === void 0 ? void 0 : _c.length) {
|
16657
|
+
contentFormat = 'image';
|
16658
|
+
}
|
16625
16659
|
if (swiper.previousIndex - swiper.activeIndex < 0) {
|
16626
16660
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
16627
16661
|
eventInfo: {
|
16628
16662
|
eventSubject: 'scrollDown',
|
16629
16663
|
eventDescription: 'User scroll down',
|
16630
|
-
contentId: (
|
16631
|
-
productId: (
|
16664
|
+
contentId: (_e = (_d = item === null || item === void 0 ? void 0 : item.video) === null || _d === void 0 ? void 0 : _d.itemId) !== null && _e !== void 0 ? _e : '',
|
16665
|
+
productId: (_g = (_f = item === null || item === void 0 ? void 0 : item.product) === null || _f === void 0 ? void 0 : _f.itemId) !== null && _g !== void 0 ? _g : '',
|
16632
16666
|
requestId: null,
|
16633
|
-
traceInfo: (
|
16667
|
+
traceInfo: (_j = (_h = item === null || item === void 0 ? void 0 : item.video) === null || _h === void 0 ? void 0 : _h.traceInfo) !== null && _j !== void 0 ? _j : '',
|
16668
|
+
contentFormat
|
16634
16669
|
}
|
16635
16670
|
});
|
16636
16671
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
@@ -16642,10 +16677,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16642
16677
|
eventInfo: {
|
16643
16678
|
eventSubject: 'scrollUp',
|
16644
16679
|
eventDescription: 'User scroll up',
|
16645
|
-
contentId: (
|
16646
|
-
productId: (
|
16680
|
+
contentId: (_l = (_k = item === null || item === void 0 ? void 0 : item.video) === null || _k === void 0 ? void 0 : _k.itemId) !== null && _l !== void 0 ? _l : '',
|
16681
|
+
productId: (_o = (_m = item.product) === null || _m === void 0 ? void 0 : _m.itemId) !== null && _o !== void 0 ? _o : '',
|
16647
16682
|
requestId: null,
|
16648
|
-
traceInfo: (
|
16683
|
+
traceInfo: (_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.traceInfo) !== null && _q !== void 0 ? _q : '',
|
16684
|
+
contentFormat
|
16649
16685
|
}
|
16650
16686
|
});
|
16651
16687
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
@@ -16654,7 +16690,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16654
16690
|
// 商品浏览事件
|
16655
16691
|
handleReportProductView(item);
|
16656
16692
|
const curItem = data[swiper.activeIndex];
|
16657
|
-
if (!((
|
16693
|
+
if (!((_r = curItem === null || curItem === void 0 ? void 0 : curItem.video) === null || _r === void 0 ? void 0 : _r.url) && !((_s = curItem === null || curItem === void 0 ? void 0 : curItem.video) === null || _s === void 0 ? void 0 : _s.imgUrls) && (curItem === null || curItem === void 0 ? void 0 : curItem.product)) {
|
16658
16694
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
16659
16695
|
eventName: 'ProductView'
|
16660
16696
|
});
|
@@ -16757,7 +16793,17 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16757
16793
|
React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex, style: {
|
16758
16794
|
top: minusHeight
|
16759
16795
|
} }),
|
16760
|
-
|
16796
|
+
((_f = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _f === void 0 ? void 0 : _f.enable) && (React.createElement("button", { style: {
|
16797
|
+
position: 'absolute',
|
16798
|
+
[(_h = (_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _g === void 0 ? void 0 : _g.xPosit) !== null && _h !== void 0 ? _h : 'left']: (_k = (_j = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _j === void 0 ? void 0 : _j.x) !== null && _k !== void 0 ? _k : 0,
|
16799
|
+
[(_m = (_l = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _l === void 0 ? void 0 : _l.yPosit) !== null && _m !== void 0 ? _m : 'top']: (_p = (_o = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _o === void 0 ? void 0 : _o.y) !== null && _p !== void 0 ? _p : 0,
|
16800
|
+
zIndex: 8,
|
16801
|
+
border: 'none',
|
16802
|
+
padding: 0,
|
16803
|
+
background: 'transparent'
|
16804
|
+
}, role: 'button', "aria-label": 'back button', onClick: () => history === null || history === void 0 ? void 0 : history.back() },
|
16805
|
+
React.createElement("img", { src: (_r = (_q = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.backButton) === null || _q === void 0 ? void 0 : _q.icon) !== null && _r !== void 0 ? _r : img, alt: 'back button', width: 50, style: { objectFit: 'cover' } }))),
|
16806
|
+
isShowFingerTip ? (React.createElement(FingerSwipeTip, { imageUrl: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipIcon, style: { top: `${50 - ((_s = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipOffset) !== null && _s !== void 0 ? _s : 0)}%` }, duration: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swiperTipAniDur })) : null,
|
16761
16807
|
React.createElement(Swiper, { style: {
|
16762
16808
|
marginTop: tagHeight
|
16763
16809
|
}, ref: swiperRef, onSlideChange: () => {
|
@@ -16789,11 +16835,15 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16789
16835
|
renderLikeButton(visList[activeIndex], activeIndex, !!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.likeIconFixed)),
|
16790
16836
|
renderToggleButton(!!(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.muteIconFixed)),
|
16791
16837
|
renderView),
|
16792
|
-
React.createElement(WaterFall$1, Object.assign({}, (
|
16838
|
+
React.createElement(WaterFall$1, Object.assign({}, (_v = (_u = (_t = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === null || _t === void 0 ? void 0 : _t[0]) === null || _u === void 0 ? void 0 : _u.item) === null || _v === void 0 ? void 0 : _v.props))));
|
16793
16839
|
};
|
16794
16840
|
|
16795
16841
|
const PictureGroup = ({ imgUrls, width, height, imgUrlsPostConfig, rec, index }) => {
|
16796
|
-
return (React.createElement(Swiper, { defaultValue: 0, direction: 'horizontal', modules: [Pagination, Autoplay], pagination: {
|
16842
|
+
return (React.createElement(Swiper, { defaultValue: 0, direction: 'horizontal', modules: [Pagination, Autoplay], pagination: {
|
16843
|
+
clickable: true,
|
16844
|
+
bulletActiveClass: 'swipe-item-active-bullet',
|
16845
|
+
bulletElement: 'button'
|
16846
|
+
}, height: height, style: { width }, loop: true, autoplay: false }, imgUrls === null || imgUrls === void 0 ? void 0 : imgUrls.map((url) => {
|
16797
16847
|
return (React.createElement(SwiperSlide, { key: url },
|
16798
16848
|
React.createElement(Picture, { src: url, height: height, imgUrlsPostConfig: imgUrlsPostConfig })));
|
16799
16849
|
})));
|
@@ -17083,7 +17133,7 @@ const DiyPortalPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, de
|
|
17083
17133
|
const CTA = (rec, index) => {
|
17084
17134
|
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) {
|
17085
17135
|
return (React.createElement("div", { className: 'clc-sxp-bottom-card' },
|
17086
|
-
React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1 })));
|
17136
|
+
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1 })));
|
17087
17137
|
}
|
17088
17138
|
return null;
|
17089
17139
|
};
|