pb-sxp-ui 1.6.0 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/index.cjs +54 -46
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +54 -46
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.cjs +3 -3
  6. package/dist/index.min.cjs.map +1 -1
  7. package/dist/index.min.js +3 -3
  8. package/dist/index.min.js.map +1 -1
  9. package/dist/pb-ui.js +54 -46
  10. package/dist/pb-ui.js.map +1 -1
  11. package/dist/pb-ui.min.js +3 -3
  12. package/dist/pb-ui.min.js.map +1 -1
  13. package/es/core/components/SxpPageRender/RenderCard.d.ts +3 -3
  14. package/es/core/components/SxpPageRender/RenderCard.js +27 -17
  15. package/es/core/components/SxpPageRender/index.js +3 -3
  16. package/es/materials/sxp/cta/AniLink/index.d.ts +1 -0
  17. package/es/materials/sxp/cta/AniLink/index.js +3 -3
  18. package/es/materials/sxp/cta/AniLinkPopup/index.js +1 -1
  19. package/es/materials/sxp/template/Appoint/index.d.ts +1 -0
  20. package/es/materials/sxp/template/Appoint/index.js +2 -2
  21. package/es/materials/sxp/template/Commodity/index.d.ts +1 -0
  22. package/es/materials/sxp/template/Commodity/index.js +2 -2
  23. package/es/materials/sxp/template/CommodityDiro/index.d.ts +1 -0
  24. package/es/materials/sxp/template/CommodityDiro/index.js +2 -2
  25. package/es/materials/sxp/template/CommodityDiroNew/index.d.ts +1 -0
  26. package/es/materials/sxp/template/CommodityDiroNew/index.js +2 -2
  27. package/es/materials/sxp/template/Link/index.d.ts +1 -0
  28. package/es/materials/sxp/template/Link/index.js +2 -2
  29. package/es/materials/sxp/template/MultiCommodity/index.d.ts +1 -0
  30. package/es/materials/sxp/template/MultiCommodity/index.js +2 -2
  31. package/es/materials/sxp/template/MultiCommodityDiro/index.d.ts +1 -0
  32. package/es/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
  33. package/es/materials/sxp/template/MultiCommodityDiroNew/index.d.ts +1 -0
  34. package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -2
  35. package/es/materials/sxp/template/components/Img.d.ts +1 -0
  36. package/es/materials/sxp/template/components/Img.js +6 -4
  37. package/lib/core/components/SxpPageRender/RenderCard.d.ts +3 -3
  38. package/lib/core/components/SxpPageRender/RenderCard.js +26 -16
  39. package/lib/core/components/SxpPageRender/index.js +3 -3
  40. package/lib/materials/sxp/cta/AniLink/index.d.ts +1 -0
  41. package/lib/materials/sxp/cta/AniLink/index.js +3 -3
  42. package/lib/materials/sxp/cta/AniLinkPopup/index.js +1 -1
  43. package/lib/materials/sxp/template/Appoint/index.d.ts +1 -0
  44. package/lib/materials/sxp/template/Appoint/index.js +2 -2
  45. package/lib/materials/sxp/template/Commodity/index.d.ts +1 -0
  46. package/lib/materials/sxp/template/Commodity/index.js +2 -2
  47. package/lib/materials/sxp/template/CommodityDiro/index.d.ts +1 -0
  48. package/lib/materials/sxp/template/CommodityDiro/index.js +2 -2
  49. package/lib/materials/sxp/template/CommodityDiroNew/index.d.ts +1 -0
  50. package/lib/materials/sxp/template/CommodityDiroNew/index.js +2 -2
  51. package/lib/materials/sxp/template/Link/index.d.ts +1 -0
  52. package/lib/materials/sxp/template/Link/index.js +2 -2
  53. package/lib/materials/sxp/template/MultiCommodity/index.d.ts +1 -0
  54. package/lib/materials/sxp/template/MultiCommodity/index.js +2 -2
  55. package/lib/materials/sxp/template/MultiCommodityDiro/index.d.ts +1 -0
  56. package/lib/materials/sxp/template/MultiCommodityDiro/index.js +2 -2
  57. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.d.ts +1 -0
  58. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +2 -2
  59. package/lib/materials/sxp/template/components/Img.d.ts +1 -0
  60. package/lib/materials/sxp/template/components/Img.js +5 -3
  61. package/package.json +1 -1
@@ -10,7 +10,7 @@ const index_module_less_1 = tslib_1.__importDefault(require("./index.module.less
10
10
  const useOnScreen_1 = tslib_1.__importDefault(require("../../../../core/hooks/useOnScreen"));
11
11
  const AniLink = (_a) => {
12
12
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
13
- var { style, recData, ctaTempStyles, index, event, onClick, isExternalLink = false } = _a, props = tslib_1.__rest(_a, ["style", "recData", "ctaTempStyles", "index", "event", "onClick", "isExternalLink"]);
13
+ var { style, recData, ctaTempStyles, index, event, onClick, isExternalLink = false, isActive } = _a, props = tslib_1.__rest(_a, ["style", "recData", "ctaTempStyles", "index", "event", "onClick", "isExternalLink", "isActive"]);
14
14
  const { ctaEvent, setPopupDetailData } = (0, hooks_1.useSxpDataSource)();
15
15
  const { jumpToWeb } = (0, useEventReport_1.useEventReport)();
16
16
  const [visible, setVisible] = (0, react_1.useState)(false);
@@ -54,13 +54,13 @@ const AniLink = (_a) => {
54
54
  }, [event === null || event === void 0 ? void 0 : event.animation]);
55
55
  (0, react_1.useEffect)(() => {
56
56
  var _a, _b, _c;
57
- if (isOnScreen && (ref === null || ref === void 0 ? void 0 : ref.current)) {
57
+ if (isOnScreen && (ref === null || ref === void 0 ? void 0 : ref.current) && isActive) {
58
58
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
59
59
  eventSubject: 'ctaExposure',
60
60
  eventDescription: 'The cta was shown to the user'
61
61
  }, recData, ((_b = (_a = recData === null || recData === void 0 ? void 0 : recData.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b[0]) || ((_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.bindProduct) || (recData === null || recData === void 0 ? void 0 : recData.video), index);
62
62
  }
63
- }, [isOnScreen]);
63
+ }, [isOnScreen, isActive]);
64
64
  (0, react_1.useEffect)(() => {
65
65
  if (isOnScreen) {
66
66
  setVisible(true);
@@ -68,7 +68,7 @@ const AniLinkPopup = (_a) => {
68
68
  } }, "Cta Title")) : (react_1.default.createElement("div", Object.assign({}, props, { className: `${(0, css_1.css)(Object.assign(Object.assign({}, style), { '--transY': `translateY(calc(100% + ${(_r = style === null || style === void 0 ? void 0 : style.margin) !== null && _r !== void 0 ? _r : 0}px))` }))} ${index_module_less_1.default['aniLinkPopup']} ${aniNamStyle} ${(0, css_1.css)(aniTimStyle)}`, onClick: handleTo }),
69
69
  react_1.default.createElement("div", { onClick: onClose, className: index_module_less_1.default['modal-icon-wrapper'], style: { padding: (_s = style === null || style === void 0 ? void 0 : style['padding']) !== null && _s !== void 0 ? _s : 0 } },
70
70
  react_1.default.createElement("img", { src: (_t = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.popupCloseIcon) !== null && _t !== void 0 ? _t : closeIcon, alt: 'close', className: index_module_less_1.default['modal-icon-wrapper-img'] })),
71
- react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_y = (_w = (_v = (_u = recData === null || recData === void 0 ? void 0 : recData.video) === null || _u === void 0 ? void 0 : _u.bindProducts) === null || _v === void 0 ? void 0 : _v[0]) !== null && _w !== void 0 ? _w : (_x = recData === null || recData === void 0 ? void 0 : recData.video) === null || _x === void 0 ? void 0 : _x.bindProduct) !== null && _y !== void 0 ? _y : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
71
+ react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_y = (_w = (_v = (_u = recData === null || recData === void 0 ? void 0 : recData.video) === null || _u === void 0 ? void 0 : _u.bindProducts) === null || _v === void 0 ? void 0 : _v[0]) !== null && _w !== void 0 ? _w : (_x = recData === null || recData === void 0 ? void 0 : recData.video) === null || _x === void 0 ? void 0 : _x.bindProduct) !== null && _y !== void 0 ? _y : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
72
72
  (!recData || (product === null || product === void 0 ? void 0 : product.title)) && (react_1.default.createElement("div", { className: index_module_less_1.default['one-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
73
73
  __html: (0, tool_1.setFontForText)((_z = product === null || product === void 0 ? void 0 : product.title) !== null && _z !== void 0 ? _z : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
74
74
  } })),
@@ -10,6 +10,7 @@ export interface IAppointProps {
10
10
  ctaTempStyles?: ICtaTempStylesType;
11
11
  isExternalLink?: boolean;
12
12
  index?: number;
13
+ isActive?: boolean;
13
14
  }
14
15
  declare const _default: React.NamedExoticComponent<IAppointProps>;
15
16
  export default _default;
@@ -9,12 +9,12 @@ const Img_1 = tslib_1.__importDefault(require("../components/Img"));
9
9
  const tool_1 = require("../../../../core/utils/tool");
10
10
  const Appoint = (_a) => {
11
11
  var _b, _c, _d, _e, _f, _g;
12
- var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, index } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "index"]);
12
+ var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, index, isActive } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "isActive"]);
13
13
  const { sxpParameter } = (0, hooks_1.useSxpDataSource)();
14
14
  const cta = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindCta;
15
15
  const src = (_d = (_c = cta === null || cta === void 0 ? void 0 : cta.icon) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image;
16
16
  return (react_1.default.createElement(EventProvider_1.default, Object.assign({ isExternalLink: isExternalLink, rec: recData, className: (0, css_1.css)(Object.assign({ alignItems: 'center' }, style)), style: { display: 'flex' }, index: index }, props),
17
- react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_f = (_e = recData === null || recData === void 0 ? void 0 : recData.video) === null || _e === void 0 ? void 0 : _e.bindProduct) !== null && _f !== void 0 ? _f : recData === null || recData === void 0 ? void 0 : recData.video, index: index, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
17
+ react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_f = (_e = recData === null || recData === void 0 ? void 0 : recData.video) === null || _e === void 0 ? void 0 : _e.bindProduct) !== null && _f !== void 0 ? _f : recData === null || recData === void 0 ? void 0 : recData.video, index: index, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
18
18
  react_1.default.createElement("div", { className: (0, css_1.css)(Object.assign({ overflow: 'hidden', textOverflow: 'ellipsis' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
19
19
  __html: (0, tool_1.setFontForText)((_g = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _g !== void 0 ? _g : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
20
20
  } })));
@@ -11,6 +11,7 @@ export interface ICommodityProps {
11
11
  isExternalLink?: boolean;
12
12
  index?: number;
13
13
  translateY?: number;
14
+ isActive?: boolean;
14
15
  }
15
16
  declare const _default: React.NamedExoticComponent<ICommodityProps>;
16
17
  export default _default;
@@ -10,12 +10,12 @@ const Img_1 = tslib_1.__importDefault(require("../components/Img"));
10
10
  const tool_1 = require("../../../../core/utils/tool");
11
11
  const Commodity = (_a) => {
12
12
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
13
- var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, translateY = 0, index } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "translateY", "index"]);
13
+ var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, translateY = 0, index, isActive } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "translateY", "index", "isActive"]);
14
14
  const { sxpParameter } = (0, hooks_1.useSxpDataSource)();
15
15
  const product = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProduct;
16
16
  const src = (_f = (_e = (_c = product === null || product === void 0 ? void 0 : product.cover) !== null && _c !== void 0 ? _c : (_d = product === null || product === void 0 ? void 0 : product.homePage) === null || _d === void 0 ? void 0 : _d[0]) !== null && _e !== void 0 ? _e : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _f !== void 0 ? _f : bottom_image;
17
17
  return (react_1.default.createElement(EventProvider_1.default, Object.assign({ isExternalLink: isExternalLink, rec: recData, className: (0, css_1.css)(Object.assign({}, style)), style: { display: 'flex' }, index: index }, props),
18
- react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_h = (_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindProduct) !== null && _h !== void 0 ? _h : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
18
+ react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_h = (_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindProduct) !== null && _h !== void 0 ? _h : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
19
19
  react_1.default.createElement("div", { className: (0, css_1.css)({
20
20
  color: '#fff',
21
21
  display: 'flex',
@@ -11,6 +11,7 @@ export interface ICommodityDiroProps {
11
11
  isExternalLink?: boolean;
12
12
  index?: number;
13
13
  translateY?: number;
14
+ isActive?: boolean;
14
15
  }
15
16
  declare const _default: React.NamedExoticComponent<ICommodityDiroProps>;
16
17
  export default _default;
@@ -10,12 +10,12 @@ const Img_1 = tslib_1.__importDefault(require("../components/Img"));
10
10
  const tool_1 = require("../../../../core/utils/tool");
11
11
  const CommodityDiro = (_a) => {
12
12
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
13
- var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, translateY = 0, index } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "translateY", "index"]);
13
+ var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, translateY = 0, index, isActive } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "translateY", "index", "isActive"]);
14
14
  const { sxpParameter } = (0, hooks_1.useSxpDataSource)();
15
15
  const product = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProduct;
16
16
  const src = (_f = (_e = (_c = product === null || product === void 0 ? void 0 : product.cover) !== null && _c !== void 0 ? _c : (_d = product === null || product === void 0 ? void 0 : product.homePage) === null || _d === void 0 ? void 0 : _d[0]) !== null && _e !== void 0 ? _e : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _f !== void 0 ? _f : bottom_image;
17
17
  return (react_1.default.createElement(EventProvider_1.default, Object.assign({ isExternalLink: isExternalLink, rec: recData, className: (0, css_1.css)(Object.assign({}, style)), style: { display: 'flex' }, index: index }, props),
18
- react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_h = (_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindProduct) !== null && _h !== void 0 ? _h : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
18
+ react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_h = (_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindProduct) !== null && _h !== void 0 ? _h : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
19
19
  react_1.default.createElement("div", { className: (0, css_1.css)({
20
20
  color: '#fff',
21
21
  display: 'flex',
@@ -11,6 +11,7 @@ export interface ICommodityDiroNewProps {
11
11
  isExternalLink?: boolean;
12
12
  index?: number;
13
13
  translateY?: number;
14
+ isActive?: boolean;
14
15
  }
15
16
  declare const _default: React.NamedExoticComponent<ICommodityDiroNewProps>;
16
17
  export default _default;
@@ -10,12 +10,12 @@ const Img_1 = tslib_1.__importDefault(require("../components/Img"));
10
10
  const tool_1 = require("../../../../core/utils/tool");
11
11
  const CommodityDiroNew = (_a) => {
12
12
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
13
- var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, translateY = 0, index } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "translateY", "index"]);
13
+ var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, translateY = 0, index, isActive } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "translateY", "index", "isActive"]);
14
14
  const { sxpParameter } = (0, hooks_1.useSxpDataSource)();
15
15
  const product = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProduct;
16
16
  const src = (_f = (_e = (_c = product === null || product === void 0 ? void 0 : product.cover) !== null && _c !== void 0 ? _c : (_d = product === null || product === void 0 ? void 0 : product.homePage) === null || _d === void 0 ? void 0 : _d[0]) !== null && _e !== void 0 ? _e : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _f !== void 0 ? _f : bottom_image;
17
17
  return (react_1.default.createElement(EventProvider_1.default, Object.assign({ isExternalLink: isExternalLink, rec: recData, className: (0, css_1.css)(Object.assign({}, style)), style: { display: 'flex' }, index: index }, props),
18
- react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_h = (_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindProduct) !== null && _h !== void 0 ? _h : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
18
+ react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_h = (_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindProduct) !== null && _h !== void 0 ? _h : recData === null || recData === void 0 ? void 0 : recData.video, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
19
19
  react_1.default.createElement("div", { className: (0, css_1.css)({
20
20
  color: '#fff',
21
21
  display: 'flex',
@@ -14,6 +14,7 @@ export interface ILinkProps {
14
14
  display?: boolean;
15
15
  text?: string;
16
16
  };
17
+ isActive?: boolean;
17
18
  }
18
19
  declare const _default: React.NamedExoticComponent<ILinkProps>;
19
20
  export default _default;
@@ -11,14 +11,14 @@ const tool_1 = require("../../../../core/utils/tool");
11
11
  const index_module_less_1 = tslib_1.__importDefault(require("./index.module.less"));
12
12
  const Link = (_a) => {
13
13
  var _b, _c, _d, _e, _f, _g, _h, _j, _k;
14
- var { content, style, bgImg, recData, bottom_image, ctaTempStyles, index, customTitle } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "index", "customTitle"]);
14
+ var { content, style, bgImg, recData, bottom_image, ctaTempStyles, index, customTitle, isActive } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "index", "customTitle", "isActive"]);
15
15
  const { sxpParameter, bffEventReport } = (0, hooks_1.useSxpDataSource)();
16
16
  const { jumpToWeb } = (0, useEventReport_1.useEventReport)();
17
17
  const cta = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindCta;
18
18
  const product = (_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.bindProduct;
19
19
  const src = (_e = (_d = cta === null || cta === void 0 ? void 0 : cta.icon) !== null && _d !== void 0 ? _d : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _e !== void 0 ? _e : bottom_image;
20
20
  return (react_1.default.createElement(EventProvider_1.default, Object.assign({ index: index, rec: recData, className: (0, css_1.css)(Object.assign({ alignItems: 'center' }, style)), style: { display: 'flex' } }, props, { jumpLink: (_f = cta === null || cta === void 0 ? void 0 : cta.link) !== null && _f !== void 0 ? _f : '' }),
21
- react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_h = (_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindProduct) !== null && _h !== void 0 ? _h : recData === null || recData === void 0 ? void 0 : recData.video, index: index, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img }),
21
+ react_1.default.createElement(Img_1.default, { src: src, rec: recData, item: (_h = (_g = recData === null || recData === void 0 ? void 0 : recData.video) === null || _g === void 0 ? void 0 : _g.bindProduct) !== null && _h !== void 0 ? _h : recData === null || recData === void 0 ? void 0 : recData.video, index: index, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
22
22
  react_1.default.createElement("div", { className: (0, css_1.css)({
23
23
  display: 'flex',
24
24
  alignItems: 'center',
@@ -12,6 +12,7 @@ export interface IMultiCommodityProps {
12
12
  isExternalLink?: boolean;
13
13
  index?: number;
14
14
  translateY?: number;
15
+ isActive?: boolean;
15
16
  }
16
17
  declare const _default: React.NamedExoticComponent<IMultiCommodityProps>;
17
18
  export default _default;
@@ -13,7 +13,7 @@ const useEventReport_1 = require("../../../../core/hooks/useEventReport");
13
13
  const tool_1 = require("../../../../core/utils/tool");
14
14
  const MultiCommodity = (_a) => {
15
15
  var _b, _c;
16
- var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0 } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY"]);
16
+ var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0, isActive } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY", "isActive"]);
17
17
  const { sxpParameter } = (0, hooks_1.useSxpDataSource)();
18
18
  const { ctaEvent, setPopupDetailData } = (0, hooks_1.useSxpDataSource)();
19
19
  const { popup } = (0, hooks_1.useEditor)();
@@ -38,7 +38,7 @@ const MultiCommodity = (_a) => {
38
38
  return (react_1.default.createElement(Scroll_1.default, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, index) => {
39
39
  var _a, _b, _c, _d, _e, _f, _g, _h;
40
40
  return (react_1.default.createElement(react_1.default.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (react_1.default.createElement(react_2.SwiperSlide, Object.assign({ key: index, className: (0, css_1.css)(Object.assign(Object.assign({}, style), { display: 'flex', flexShrink: 0, marginLeft: 0, marginRight: '8px' })) }, props, { onClick: () => handleClick(item, index) }),
41
- react_1.default.createElement(Img_1.default, { 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 }),
41
+ react_1.default.createElement(Img_1.default, { 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 }),
42
42
  react_1.default.createElement("div", { className: (0, css_1.css)({
43
43
  color: '#fff',
44
44
  display: 'flex',
@@ -12,6 +12,7 @@ export interface IMultiCommodityDiroProps {
12
12
  isExternalLink?: boolean;
13
13
  index?: number;
14
14
  translateY?: number;
15
+ isActive?: boolean;
15
16
  }
16
17
  declare const _default: React.NamedExoticComponent<IMultiCommodityDiroProps>;
17
18
  export default _default;
@@ -13,7 +13,7 @@ const useEventReport_1 = require("../../../../core/hooks/useEventReport");
13
13
  const tool_1 = require("../../../../core/utils/tool");
14
14
  const MultiCommodityDiro = (_a) => {
15
15
  var _b, _c;
16
- var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0 } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY"]);
16
+ var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0, isActive } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY", "isActive"]);
17
17
  const { ctaEvent, setPopupDetailData, sxpParameter } = (0, hooks_1.useSxpDataSource)();
18
18
  const { popup } = (0, hooks_1.useEditor)();
19
19
  const { jumpToWeb } = (0, useEventReport_1.useEventReport)();
@@ -37,7 +37,7 @@ const MultiCommodityDiro = (_a) => {
37
37
  return (react_1.default.createElement(Scroll_1.default, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, index) => {
38
38
  var _a, _b, _c, _d, _e, _f, _g, _h;
39
39
  return (react_1.default.createElement(react_1.default.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (react_1.default.createElement(react_2.SwiperSlide, Object.assign({ key: index, className: (0, css_1.css)(Object.assign(Object.assign({}, style), { display: 'flex', flexShrink: 0, marginLeft: 0, marginRight: '8px' })) }, props, { onClick: () => handleClick(item, index) }),
40
- react_1.default.createElement(Img_1.default, { 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 }),
40
+ react_1.default.createElement(Img_1.default, { 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 }),
41
41
  react_1.default.createElement("div", { className: (0, css_1.css)({
42
42
  color: '#000',
43
43
  display: 'flex',
@@ -12,6 +12,7 @@ export interface IMultiCommodityDiroNewProps {
12
12
  isExternalLink?: boolean;
13
13
  index?: number;
14
14
  translateY?: number;
15
+ isActive?: boolean;
15
16
  }
16
17
  declare const _default: React.NamedExoticComponent<IMultiCommodityDiroNewProps>;
17
18
  export default _default;
@@ -13,7 +13,7 @@ const useEventReport_1 = require("../../../../core/hooks/useEventReport");
13
13
  const tool_1 = require("../../../../core/utils/tool");
14
14
  const MultiCommodityDiroNew = (_a) => {
15
15
  var _b, _c;
16
- var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0 } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY"]);
16
+ var { content, style, bgImg, recData, onClick, bottom_image, ctaTempStyles, isExternalLink, index, translateY = 0, isActive } = _a, props = tslib_1.__rest(_a, ["content", "style", "bgImg", "recData", "onClick", "bottom_image", "ctaTempStyles", "isExternalLink", "index", "translateY", "isActive"]);
17
17
  const { ctaEvent, setPopupDetailData, sxpParameter } = (0, hooks_1.useSxpDataSource)();
18
18
  const { popup } = (0, hooks_1.useEditor)();
19
19
  const { jumpToWeb } = (0, useEventReport_1.useEventReport)();
@@ -38,7 +38,7 @@ const MultiCommodityDiroNew = (_a) => {
38
38
  return (react_1.default.createElement(Scroll_1.default, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, index) => {
39
39
  var _a, _b, _c, _d, _e, _f, _g;
40
40
  return (react_1.default.createElement(react_1.default.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (react_1.default.createElement(react_2.SwiperSlide, Object.assign({ key: index, className: (0, css_1.css)(Object.assign(Object.assign({}, style), { display: 'flex', flexShrink: 0, marginLeft: 0, marginRight: '8px' })) }, props, { onClick: () => handleClick(item, index) }),
41
- react_1.default.createElement(Img_1.default, { 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 }),
41
+ react_1.default.createElement(Img_1.default, { 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 }),
42
42
  react_1.default.createElement("div", { className: (0, css_1.css)({
43
43
  color: '#fff',
44
44
  display: 'flex',
@@ -9,6 +9,7 @@ export interface IImgProps {
9
9
  translateY?: number;
10
10
  imgStyle?: CSSProperties;
11
11
  enableEventReport?: boolean;
12
+ isActive?: boolean;
12
13
  }
13
14
  declare const _default: React.NamedExoticComponent<IImgProps>;
14
15
  export default _default;
@@ -6,18 +6,20 @@ const react_1 = tslib_1.__importStar(require("react"));
6
6
  const useOnScreen_1 = tslib_1.__importDefault(require("../../../../core/hooks/useOnScreen"));
7
7
  const hooks_1 = require("../../../../core/hooks");
8
8
  const FormatImage_1 = tslib_1.__importDefault(require("../../../../core/components/SxpPageRender/FormatImage"));
9
- const Img = ({ src, rec, item, index, style, translateY, imgStyle, enableEventReport = true }) => {
9
+ const Img = ({ src, rec, item, index, style, translateY, imgStyle, enableEventReport = true, isActive }) => {
10
10
  const ref = (0, react_1.useRef)(null);
11
11
  const isOnScreen = (0, useOnScreen_1.default)(ref);
12
12
  const { ctaEvent } = (0, hooks_1.useSxpDataSource)();
13
+ const [visible, setVisible] = (0, react_1.useState)(false);
13
14
  (0, react_1.useEffect)(() => {
14
- if (isOnScreen && src && (ref === null || ref === void 0 ? void 0 : ref.current) && enableEventReport) {
15
+ if (isOnScreen && src && (ref === null || ref === void 0 ? void 0 : ref.current) && enableEventReport && !visible && isActive) {
16
+ setVisible(true);
15
17
  ctaEvent === null || ctaEvent === void 0 ? void 0 : ctaEvent({
16
18
  eventSubject: 'ctaExposure',
17
19
  eventDescription: 'The cta was shown to the user'
18
20
  }, rec, item, index);
19
21
  }
20
- }, [isOnScreen, src, ref, rec, ctaEvent, item, index, enableEventReport]);
22
+ }, [isOnScreen, src, ref, rec, ctaEvent, item, index, enableEventReport, visible, isActive]);
21
23
  const imgSrc = (0, react_1.useMemo)(() => {
22
24
  return (src === null || src === void 0 ? void 0 : src.includes('.avif')) ? src : `${src}?imrquality/rquality/20`;
23
25
  }, [src]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pb-sxp-ui",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "description": "React enterprise-class UI components",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",