pb-sxp-ui 1.0.98 → 1.0.100
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 +396 -181
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +23 -20
- package/dist/index.js +397 -181
- 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 +396 -181
- 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/SxpPageRender/ExpandableText.js +3 -2
- package/es/core/components/SxpPageRender/Hashtag/index.js +3 -1
- package/es/core/components/SxpPageRender/Navbar.js +4 -1
- package/es/core/components/SxpPageRender/VideoWidget/index.d.ts +1 -0
- package/es/core/components/SxpPageRender/VideoWidget/index.js +3 -3
- package/es/core/components/SxpPageRender/WaterFall/List.js +21 -10
- package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +24 -13
- package/es/core/components/SxpPageRender/index.d.ts +1 -0
- package/es/core/components/SxpPageRender/index.js +2 -1
- package/es/core/context/EditorDataProvider.d.ts +1 -0
- package/es/core/context/EditorDataProvider.js +2 -1
- package/es/core/utils/tool.d.ts +5 -0
- package/es/core/utils/tool.js +43 -0
- package/es/index.d.ts +0 -1
- package/es/index.js +0 -1
- package/es/materials/sxp/HashTag/settingRender.d.ts +19 -22
- package/es/materials/sxp/HashTag/settingRender.js +31 -13
- package/es/materials/sxp/popup/AppointForm/Form.d.ts +14 -0
- package/es/materials/sxp/popup/AppointForm/Form.js +8 -0
- package/es/materials/sxp/popup/AppointForm/index.js +25 -20
- package/es/materials/sxp/popup/AppointForm/settingRender.d.ts +9 -20
- package/es/materials/sxp/popup/AppointForm/settingRender.js +31 -13
- package/es/materials/sxp/popup/CommodityDetail/index.js +13 -4
- package/es/materials/sxp/popup/CommodityDetail/settingRender.d.ts +19 -22
- package/es/materials/sxp/popup/CommodityDetail/settingRender.js +31 -13
- package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +16 -5
- package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +19 -22
- package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +31 -13
- package/es/materials/sxp/popup/Prompt/index.js +4 -1
- package/es/materials/sxp/popup/Prompt/settingRender.d.ts +10 -8
- package/es/materials/sxp/popup/Prompt/settingRender.js +16 -8
- package/es/materials/sxp/template/Appoint/index.js +4 -1
- package/es/materials/sxp/template/Commodity/index.js +7 -2
- package/es/materials/sxp/template/CommodityDiro/index.js +8 -3
- package/es/materials/sxp/template/CommodityDiroNew/index.js +7 -2
- package/es/materials/sxp/template/Link/index.js +4 -1
- package/es/materials/sxp/template/MultiCommodity/index.js +7 -2
- package/es/materials/sxp/template/MultiCommodityDiro/index.js +8 -3
- package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +7 -2
- package/es/materials/sxp/template/components/Img.js +1 -1
- package/es/materials/sxp/template/components/settingRender.d.ts +16 -24
- package/es/materials/sxp/template/components/settingRender.js +30 -12
- package/lib/core/components/SxpPageRender/ExpandableText.js +3 -2
- package/lib/core/components/SxpPageRender/Hashtag/index.js +3 -1
- package/lib/core/components/SxpPageRender/Navbar.js +4 -1
- package/lib/core/components/SxpPageRender/VideoWidget/index.d.ts +1 -0
- package/lib/core/components/SxpPageRender/VideoWidget/index.js +3 -3
- package/lib/core/components/SxpPageRender/WaterFall/List.js +21 -10
- package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +24 -13
- package/lib/core/components/SxpPageRender/index.d.ts +1 -0
- package/lib/core/components/SxpPageRender/index.js +2 -1
- package/lib/core/context/EditorDataProvider.d.ts +1 -0
- package/lib/core/context/EditorDataProvider.js +2 -1
- package/lib/core/utils/tool.d.ts +5 -0
- package/lib/core/utils/tool.js +45 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +1 -3
- package/lib/materials/sxp/HashTag/settingRender.d.ts +19 -22
- package/lib/materials/sxp/HashTag/settingRender.js +31 -13
- package/lib/materials/sxp/popup/AppointForm/Form.d.ts +14 -0
- package/lib/materials/sxp/popup/AppointForm/Form.js +11 -0
- package/lib/materials/sxp/popup/AppointForm/index.js +24 -19
- package/lib/materials/sxp/popup/AppointForm/settingRender.d.ts +9 -20
- package/lib/materials/sxp/popup/AppointForm/settingRender.js +31 -14
- package/lib/materials/sxp/popup/CommodityDetail/index.js +13 -4
- package/lib/materials/sxp/popup/CommodityDetail/settingRender.d.ts +19 -22
- package/lib/materials/sxp/popup/CommodityDetail/settingRender.js +31 -13
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +16 -5
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +19 -22
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +31 -13
- package/lib/materials/sxp/popup/Prompt/index.js +4 -1
- package/lib/materials/sxp/popup/Prompt/settingRender.d.ts +10 -8
- package/lib/materials/sxp/popup/Prompt/settingRender.js +16 -9
- package/lib/materials/sxp/template/Appoint/index.js +4 -1
- package/lib/materials/sxp/template/Commodity/index.js +7 -2
- package/lib/materials/sxp/template/CommodityDiro/index.js +8 -3
- package/lib/materials/sxp/template/CommodityDiroNew/index.js +7 -2
- package/lib/materials/sxp/template/Link/index.js +4 -1
- package/lib/materials/sxp/template/MultiCommodity/index.js +7 -2
- package/lib/materials/sxp/template/MultiCommodityDiro/index.js +8 -3
- package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +7 -2
- package/lib/materials/sxp/template/components/Img.js +1 -1
- package/lib/materials/sxp/template/components/settingRender.d.ts +16 -24
- package/lib/materials/sxp/template/components/settingRender.js +30 -12
- package/package.json +1 -1
- package/es/materials/sxp/defaultSetting.d.ts +0 -8
- package/es/materials/sxp/defaultSetting.js +0 -6
- package/lib/materials/sxp/defaultSetting.d.ts +0 -8
- package/lib/materials/sxp/defaultSetting.js +0 -9
@@ -5,8 +5,9 @@ import EventProvider from '../components/EventProvider';
|
|
5
5
|
import styles from './index.module.less';
|
6
6
|
import { useSxpDataSource } from '../../../../core/hooks';
|
7
7
|
import Img from '../components/Img';
|
8
|
+
import { setFontForText } from '../../../../core/utils/tool';
|
8
9
|
const CommodityDiro = (_a) => {
|
9
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
10
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
10
11
|
var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, translateY = 0, index } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "translateY", "index"]);
|
11
12
|
const { sxpParameter } = useSxpDataSource();
|
12
13
|
const product = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProduct;
|
@@ -21,7 +22,11 @@ const CommodityDiro = (_a) => {
|
|
21
22
|
width: '100%',
|
22
23
|
overflow: 'hidden'
|
23
24
|
}) },
|
24
|
-
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
25
|
-
|
25
|
+
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
26
|
+
__html: setFontForText((_j = product === null || product === void 0 ? void 0 : product.title) !== null && _j !== void 0 ? _j : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
|
27
|
+
} }),
|
28
|
+
React.createElement("div", { className: css(Object.assign({ padding: '0 7px', textOverflow: 'ellipsis', overflow: 'hidden', borderRadius: '25px', whiteSpace: 'nowrap', lineHeight: ((_k = ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle) === null || _k === void 0 ? void 0 : _k.height) + 'px' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
|
29
|
+
__html: setFontForText((_m = (_l = product === null || product === void 0 ? void 0 : product.bindCta) === null || _l === void 0 ? void 0 : _l.enTitle) !== null && _m !== void 0 ? _m : 'Shop Now', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
|
30
|
+
} }))));
|
26
31
|
};
|
27
32
|
export default memo(CommodityDiro);
|
@@ -5,6 +5,7 @@ import EventProvider from '../components/EventProvider';
|
|
5
5
|
import styles from './index.module.less';
|
6
6
|
import { useSxpDataSource } from '../../../../core/hooks';
|
7
7
|
import Img from '../components/Img';
|
8
|
+
import { setFontForText } from '../../../../core/utils/tool';
|
8
9
|
const CommodityDiroNew = (_a) => {
|
9
10
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
10
11
|
var { content, style, bgImg, recData, bottom_image, ctaTempStyles, isExternalLink, translateY = 0, index } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "isExternalLink", "translateY", "index"]);
|
@@ -21,7 +22,11 @@ const CommodityDiroNew = (_a) => {
|
|
21
22
|
width: '100%',
|
22
23
|
overflow: 'hidden'
|
23
24
|
}) },
|
24
|
-
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
25
|
-
|
25
|
+
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
26
|
+
__html: setFontForText((_j = product === null || product === void 0 ? void 0 : product.title) !== null && _j !== void 0 ? _j : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
|
27
|
+
} }),
|
28
|
+
React.createElement("div", { className: css(Object.assign({ textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
|
29
|
+
__html: setFontForText((_l = (_k = product === null || product === void 0 ? void 0 : product.bindCta) === null || _k === void 0 ? void 0 : _k.enTitle) !== null && _l !== void 0 ? _l : 'Shop Now', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
|
30
|
+
} }))));
|
26
31
|
};
|
27
32
|
export default memo(CommodityDiroNew);
|
@@ -6,6 +6,7 @@ import styles from './index.module.less';
|
|
6
6
|
import { useSxpDataSource } from '../../../../core/hooks';
|
7
7
|
import { useEventReport } from '../../../../core/hooks/useEventReport';
|
8
8
|
import Img from '../components/Img';
|
9
|
+
import { setFontForText } from '../../../../core/utils/tool';
|
9
10
|
const Link = (_a) => {
|
10
11
|
var _b, _c, _d, _e, _f, _g, _h;
|
11
12
|
var { content, style, bgImg, recData, bottom_image, ctaTempStyles, index } = _a, props = __rest(_a, ["content", "style", "bgImg", "recData", "bottom_image", "ctaTempStyles", "index"]);
|
@@ -28,6 +29,8 @@ const Link = (_a) => {
|
|
28
29
|
width: '100%',
|
29
30
|
overflow: 'hidden'
|
30
31
|
}) },
|
31
|
-
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle
|
32
|
+
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle, dangerouslySetInnerHTML: {
|
33
|
+
__html: setFontForText((_h = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _h !== void 0 ? _h : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
|
34
|
+
} }))));
|
32
35
|
};
|
33
36
|
export default memo(Link);
|
@@ -8,6 +8,7 @@ import Scroll from '../components/Scroll';
|
|
8
8
|
import styles from './index.module.less';
|
9
9
|
import { useEditor, useSxpDataSource } from '../../../../core/hooks';
|
10
10
|
import { useEventReport } from '../../../../core/hooks/useEventReport';
|
11
|
+
import { setFontForText } from '../../../../core/utils/tool';
|
11
12
|
const MultiCommodity = (_a) => {
|
12
13
|
var _b, _c;
|
13
14
|
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"]);
|
@@ -44,8 +45,12 @@ const MultiCommodity = (_a) => {
|
|
44
45
|
width: '100%',
|
45
46
|
overflow: 'hidden'
|
46
47
|
}) },
|
47
|
-
React.createElement("div", { className: styles['two-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
48
|
-
|
48
|
+
React.createElement("div", { className: styles['two-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
49
|
+
__html: setFontForText((_e = item === null || item === void 0 ? void 0 : item.title) !== null && _e !== void 0 ? _e : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
|
50
|
+
} }),
|
51
|
+
React.createElement("div", { className: css(Object.assign({ padding: '0 7px', textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap', lineHeight: ((_f = ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle) === null || _f === void 0 ? void 0 : _f.height) + 'px' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
|
52
|
+
__html: setFontForText((_h = (_g = item === null || item === void 0 ? void 0 : item.bindCta) === null || _g === void 0 ? void 0 : _g.enTitle) !== null && _h !== void 0 ? _h : 'Shop Now', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
|
53
|
+
} }))))));
|
49
54
|
})));
|
50
55
|
};
|
51
56
|
export default memo(MultiCommodity);
|
@@ -8,6 +8,7 @@ import Img from '../components/Img';
|
|
8
8
|
import styles from './index.module.less';
|
9
9
|
import { useEditor, useSxpDataSource } from '../../../../core/hooks';
|
10
10
|
import { useEventReport } from '../../../../core/hooks/useEventReport';
|
11
|
+
import { setFontForText } from '../../../../core/utils/tool';
|
11
12
|
const MultiCommodityDiro = (_a) => {
|
12
13
|
var _b, _c;
|
13
14
|
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"]);
|
@@ -32,7 +33,7 @@ const MultiCommodityDiro = (_a) => {
|
|
32
33
|
}
|
33
34
|
}, popup === null || popup === void 0 ? void 0 : popup.duration);
|
34
35
|
return (React.createElement(Scroll, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item) => {
|
35
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
36
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
36
37
|
return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, Object.assign({ key: item === null || item === void 0 ? void 0 : item.itemId, className: css(Object.assign(Object.assign({}, style), { display: 'flex', flexShrink: 0, marginLeft: 0, marginRight: '8px' })) }, props, { onClick: () => handleClick(item) }),
|
37
38
|
React.createElement(Img, { 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 }),
|
38
39
|
React.createElement("div", { className: css({
|
@@ -43,8 +44,12 @@ const MultiCommodityDiro = (_a) => {
|
|
43
44
|
width: '100%',
|
44
45
|
overflow: 'hidden'
|
45
46
|
}) },
|
46
|
-
React.createElement("div", { className: styles['two-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
47
|
-
|
47
|
+
React.createElement("div", { className: styles['two-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
48
|
+
__html: setFontForText((_e = item === null || item === void 0 ? void 0 : item.title) !== null && _e !== void 0 ? _e : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
|
49
|
+
} }),
|
50
|
+
React.createElement("div", { className: css(Object.assign({ padding: '0 7px', textOverflow: 'ellipsis', overflow: 'hidden', borderRadius: '25px', whiteSpace: 'nowrap', lineHeight: ((_f = ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle) === null || _f === void 0 ? void 0 : _f.height) + 'px' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
|
51
|
+
__html: setFontForText((_h = (_g = item === null || item === void 0 ? void 0 : item.bindCta) === null || _g === void 0 ? void 0 : _g.enTitle) !== null && _h !== void 0 ? _h : 'Shop Now', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
|
52
|
+
} }))))));
|
48
53
|
})));
|
49
54
|
};
|
50
55
|
export default memo(MultiCommodityDiro);
|
@@ -8,6 +8,7 @@ import Img from '../components/Img';
|
|
8
8
|
import styles from './index.module.less';
|
9
9
|
import { useEditor, useSxpDataSource } from '../../../../core/hooks';
|
10
10
|
import { useEventReport } from '../../../../core/hooks/useEventReport';
|
11
|
+
import { setFontForText } from '../../../../core/utils/tool';
|
11
12
|
const MultiCommodityDiroNew = (_a) => {
|
12
13
|
var _b, _c;
|
13
14
|
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"]);
|
@@ -44,8 +45,12 @@ const MultiCommodityDiroNew = (_a) => {
|
|
44
45
|
overflow: 'hidden',
|
45
46
|
lineHeight: '20px'
|
46
47
|
}) },
|
47
|
-
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
48
|
-
|
48
|
+
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
49
|
+
__html: setFontForText((_e = item === null || item === void 0 ? void 0 : item.title) !== null && _e !== void 0 ? _e : 'Product Name', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title)
|
50
|
+
} }),
|
51
|
+
React.createElement("div", { className: css(Object.assign({ textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
|
52
|
+
__html: setFontForText((_g = (_f = item === null || item === void 0 ? void 0 : item.bindCta) === null || _f === void 0 ? void 0 : _f.enTitle) !== null && _g !== void 0 ? _g : 'Shop Now', ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)
|
53
|
+
} }))))));
|
49
54
|
})));
|
50
55
|
};
|
51
56
|
export default memo(MultiCommodityDiroNew);
|
@@ -20,6 +20,6 @@ const Img = ({ src, rec, item, index, style, translateY, imgStyle }) => {
|
|
20
20
|
}, [src]);
|
21
21
|
return (React.createElement("div", { className: css(Object.assign({ overflow: 'hidden', flexShrink: 0, backgroundColor: '#f2f2f2' }, imgStyle)) },
|
22
22
|
React.createElement("div", { ref: ref, hidden: !src, className: css({ width: '100%', height: '100%' }) },
|
23
|
-
React.createElement(FormatImage, { className: css(Object.assign({ width: '100%', objectFit: 'cover', height: '100%', display: 'block', objectPosition: `50% ${translateY ? -translateY + 50 : 50}%` }, style)), src:
|
23
|
+
React.createElement(FormatImage, { className: css(Object.assign({ width: '100%', objectFit: 'cover', height: '100%', display: 'block', objectPosition: `50% ${translateY ? -translateY + 50 : 50}%` }, style)), src: src }))));
|
24
24
|
};
|
25
25
|
export default memo(Img);
|
@@ -96,27 +96,23 @@ declare const _default: ({
|
|
96
96
|
child: ({
|
97
97
|
type: string;
|
98
98
|
label: string;
|
99
|
-
child:
|
99
|
+
child: {
|
100
100
|
type: string;
|
101
101
|
name: string[];
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
102
|
+
bottomText: string;
|
103
|
+
}[];
|
104
|
+
name?: undefined;
|
105
|
+
} | {
|
106
|
+
type: string;
|
107
|
+
label: string;
|
108
|
+
child: ({
|
106
109
|
type: string;
|
107
|
-
options: {
|
108
|
-
label: string;
|
109
|
-
value: string;
|
110
|
-
}[];
|
111
110
|
name: string[];
|
112
|
-
initialValue: string;
|
113
111
|
addonAfter?: undefined;
|
114
112
|
} | {
|
115
113
|
type: string;
|
116
114
|
addonAfter: string;
|
117
115
|
name: string[];
|
118
|
-
options?: undefined;
|
119
|
-
initialValue?: undefined;
|
120
116
|
})[];
|
121
117
|
name?: undefined;
|
122
118
|
} | {
|
@@ -150,27 +146,23 @@ declare const _default: ({
|
|
150
146
|
} | {
|
151
147
|
type: string;
|
152
148
|
label: string;
|
153
|
-
child:
|
149
|
+
child: {
|
154
150
|
type: string;
|
155
151
|
name: string[];
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
152
|
+
bottomText: string;
|
153
|
+
}[];
|
154
|
+
name?: undefined;
|
155
|
+
} | {
|
156
|
+
type: string;
|
157
|
+
label: string;
|
158
|
+
child: ({
|
160
159
|
type: string;
|
161
|
-
options: {
|
162
|
-
label: string;
|
163
|
-
value: string;
|
164
|
-
}[];
|
165
160
|
name: string[];
|
166
|
-
initialValue: string;
|
167
161
|
addonAfter?: undefined;
|
168
162
|
} | {
|
169
163
|
type: string;
|
170
164
|
addonAfter: string;
|
171
165
|
name: string[];
|
172
|
-
options?: undefined;
|
173
|
-
initialValue?: undefined;
|
174
166
|
})[];
|
175
167
|
name?: undefined;
|
176
168
|
})[];
|
@@ -1,5 +1,3 @@
|
|
1
|
-
var _a, _b;
|
2
|
-
import { fontOptions } from '../../defaultSetting';
|
3
1
|
export default [
|
4
2
|
{
|
5
3
|
title: '主题样式',
|
@@ -117,14 +115,24 @@ export default [
|
|
117
115
|
label: '字体',
|
118
116
|
child: [
|
119
117
|
{
|
120
|
-
type: '
|
121
|
-
name: ['props', 'ctaTempStyles', 'title', '
|
118
|
+
type: 'Select',
|
119
|
+
name: ['props', 'ctaTempStyles', 'title', 'fontFamily-cn'],
|
120
|
+
bottomText: '中文字体'
|
122
121
|
},
|
123
122
|
{
|
124
123
|
type: 'Select',
|
125
|
-
|
126
|
-
|
127
|
-
|
124
|
+
name: ['props', 'ctaTempStyles', 'title', 'fontFamily-en'],
|
125
|
+
bottomText: '英文/其他字体'
|
126
|
+
}
|
127
|
+
]
|
128
|
+
},
|
129
|
+
{
|
130
|
+
type: 'Group',
|
131
|
+
label: '',
|
132
|
+
child: [
|
133
|
+
{
|
134
|
+
type: 'Color',
|
135
|
+
name: ['props', 'ctaTempStyles', 'title', 'color']
|
128
136
|
},
|
129
137
|
{
|
130
138
|
type: 'Number',
|
@@ -196,14 +204,24 @@ export default [
|
|
196
204
|
label: '字体',
|
197
205
|
child: [
|
198
206
|
{
|
199
|
-
type: '
|
200
|
-
name: ['props', 'ctaTempStyles', 'ctaTitle', '
|
207
|
+
type: 'Select',
|
208
|
+
name: ['props', 'ctaTempStyles', 'ctaTitle', 'fontFamily-cn'],
|
209
|
+
bottomText: '中文字体'
|
201
210
|
},
|
202
211
|
{
|
203
212
|
type: 'Select',
|
204
|
-
|
205
|
-
|
206
|
-
|
213
|
+
name: ['props', 'ctaTempStyles', 'ctaTitle', 'fontFamily-en'],
|
214
|
+
bottomText: '英文/其他字体'
|
215
|
+
}
|
216
|
+
]
|
217
|
+
},
|
218
|
+
{
|
219
|
+
type: 'Group',
|
220
|
+
label: '',
|
221
|
+
child: [
|
222
|
+
{
|
223
|
+
type: 'Color',
|
224
|
+
name: ['props', 'ctaTempStyles', 'ctaTitle', 'color']
|
207
225
|
},
|
208
226
|
{
|
209
227
|
type: 'Number',
|
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
const tslib_1 = require("tslib");
|
4
|
+
const tool_1 = require("../../../core/utils/tool");
|
4
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
5
6
|
const limitTextLastWholeWord = (originalText = '', limit) => {
|
6
7
|
const chineseRegex = /[\u4e00-\u9fa5]+/;
|
@@ -48,8 +49,8 @@ const ExpandableText = ({ text, maxStr = 108, style, className, onClick, foldTex
|
|
48
49
|
display: '-webkit-box',
|
49
50
|
WebkitBoxOrient: 'vertical',
|
50
51
|
wordBreak: 'break-word'
|
51
|
-
}, dangerouslySetInnerHTML: { __html: text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>') } }),
|
52
|
-
react_1.default.createElement("div", { ref: multiRowCopy, dangerouslySetInnerHTML: { __html: text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>') } }),
|
52
|
+
}, dangerouslySetInnerHTML: { __html: (0, tool_1.setFontForText)(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
53
|
+
react_1.default.createElement("div", { ref: multiRowCopy, dangerouslySetInnerHTML: { __html: (0, tool_1.setFontForText)(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
53
54
|
text && isPost && isShow && (react_1.default.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer' }, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick }, isShowMore ? unfoldText || 'show less' : foldText || 'show more'))));
|
54
55
|
};
|
55
56
|
exports.default = (0, react_1.memo)(ExpandableText);
|
@@ -5,6 +5,7 @@ const react_1 = tslib_1.__importStar(require("react"));
|
|
5
5
|
const react_2 = require("swiper/react");
|
6
6
|
const hooks_1 = require("../../../../core/hooks");
|
7
7
|
const Scroll_1 = tslib_1.__importDefault(require("../../../../materials/sxp/template/components/Scroll"));
|
8
|
+
const tool_1 = require("../../../../core/utils/tool");
|
8
9
|
const Hashtag = ({ tags, itemId, itemType, index, rec, hashTagStyle }) => {
|
9
10
|
const [isShowMore, setIsShowMore] = (0, react_1.useState)(false);
|
10
11
|
const { setWaterFallData, setOpenHashtag, setCacheActiveIndex, waterFallData, setIsFromHashtag } = (0, hooks_1.useSxpDataSource)();
|
@@ -38,6 +39,7 @@ const Hashtag = ({ tags, itemId, itemType, index, rec, hashTagStyle }) => {
|
|
38
39
|
return (react_1.default.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer', color: '#fff' }, onClick: () => setIsShowMore(!isShowMore) }, isShowMore ? 'show less' : 'show more'));
|
39
40
|
}, [isShowMore, tags]);
|
40
41
|
return (react_1.default.createElement("div", { className: 'clc-sxp-bottom-hashtag' },
|
41
|
-
react_1.default.createElement(Scroll_1.default, null, tags === null || tags === void 0 ? void 0 : tags.map((item, index) => (react_1.default.createElement(react_2.SwiperSlide, { key: index, hidden: !isShowMore ? index >= 6 : false, className: 'clc-sxp-bottom-hashtag-item', style: hashTagStyle, onClick: () => handleClickTag(item) },
|
42
|
+
react_1.default.createElement(Scroll_1.default, null, tags === null || tags === void 0 ? void 0 : tags.map((item, index) => (react_1.default.createElement(react_2.SwiperSlide, { key: index, hidden: !isShowMore ? index >= 6 : false, className: 'clc-sxp-bottom-hashtag-item', style: hashTagStyle, onClick: () => handleClickTag(item) },
|
43
|
+
react_1.default.createElement("div", { dangerouslySetInnerHTML: { __html: (0, tool_1.setFontForText)(`#${item}`, hashTagStyle) } })))))));
|
42
44
|
};
|
43
45
|
exports.default = (0, react_1.memo)(Hashtag);
|
@@ -3,11 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
4
4
|
const react_1 = tslib_1.__importStar(require("react"));
|
5
5
|
const hooks_1 = require("../../../core/hooks");
|
6
|
+
const tool_1 = require("../../../core/utils/tool");
|
6
7
|
const Navbar = ({ icon, styles, textStyle, onClose }) => {
|
7
8
|
var _a;
|
8
9
|
const { waterFallData, setOpenHashtag } = (0, hooks_1.useSxpDataSource)();
|
9
10
|
return (react_1.default.createElement("div", { className: 'clc-sxp-nav', style: styles },
|
10
11
|
react_1.default.createElement("img", { className: 'clc-sxp-nav-left', src: icon, alt: 'back button', onClick: onClose }),
|
11
|
-
react_1.default.createElement("div", { className: 'clc-sxp-nav-title', style: textStyle
|
12
|
+
react_1.default.createElement("div", { className: 'clc-sxp-nav-title', style: textStyle, dangerouslySetInnerHTML: {
|
13
|
+
__html: (0, tool_1.setFontForText)(`#${(_a = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag) !== null && _a !== void 0 ? _a : '标题'}`, textStyle)
|
14
|
+
} })));
|
12
15
|
};
|
13
16
|
exports.default = (0, react_1.memo)(Navbar);
|
@@ -8,7 +8,7 @@ const FormatImage_1 = tslib_1.__importDefault(require("../FormatImage"));
|
|
8
8
|
const hooks_1 = require("../../../../core/hooks");
|
9
9
|
const event_1 = tslib_1.__importStar(require("../../../../core/utils/event"));
|
10
10
|
const loading_gif_1 = tslib_1.__importDefault(require("./loading.gif"));
|
11
|
-
const VideoWidget = ({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoRef }) => {
|
11
|
+
const VideoWidget = ({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoRef, videoPlayIcon }) => {
|
12
12
|
const [isPauseVideo, setIsPauseVideo] = (0, react_1.useState)(false);
|
13
13
|
const { bffEventReport, sxpParameter, waterFallData, openHashtag, bffFbReport } = (0, hooks_1.useSxpDataSource)();
|
14
14
|
const videoStartTime = (0, react_1.useRef)(0);
|
@@ -332,7 +332,7 @@ const VideoWidget = ({ rec, index, height, data, muted, activeIndex, videoPostCo
|
|
332
332
|
} },
|
333
333
|
react_1.default.createElement("div", { style: { position: 'relative', width: '100%', height: '100%' } },
|
334
334
|
react_1.default.createElement("div", { className: 'n-full-screen', ref: videoEleRef, id: videoId, style: { width: '100%', height: '100%' } }),
|
335
|
-
react_1.default.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', alt: 'pause', src: PAUSE_ICON }))),
|
335
|
+
react_1.default.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', alt: 'pause', src: videoPlayIcon !== null && videoPlayIcon !== void 0 ? videoPlayIcon : PAUSE_ICON }))),
|
336
336
|
renderPoster,
|
337
337
|
renderLoading)) : (react_1.default.createElement("div", { className: 'video-container', key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, style: {
|
338
338
|
position: 'relative',
|
@@ -343,6 +343,6 @@ const VideoWidget = ({ rec, index, height, data, muted, activeIndex, videoPostCo
|
|
343
343
|
react_1.default.createElement("div", { className: 'n-full-screen', ref: videoEleRef, id: videoId, style: { width: '100%', height: '100%' } }),
|
344
344
|
renderPoster,
|
345
345
|
renderLoading,
|
346
|
-
react_1.default.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON, alt: 'pause' })))));
|
346
|
+
react_1.default.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: videoPlayIcon !== null && videoPlayIcon !== void 0 ? videoPlayIcon : PAUSE_ICON, alt: 'pause' })))));
|
347
347
|
};
|
348
348
|
exports.default = (0, react_1.memo)(VideoWidget);
|
@@ -7,6 +7,7 @@ const FormatImage_1 = tslib_1.__importDefault(require("../FormatImage"));
|
|
7
7
|
const preview_json_1 = tslib_1.__importDefault(require("./preview.json"));
|
8
8
|
const hooks_1 = require("../../../../core/hooks");
|
9
9
|
const css_1 = require("@emotion/css");
|
10
|
+
const tool_1 = require("../../../../core/utils/tool");
|
10
11
|
const WaterfallFlowItem = (props) => {
|
11
12
|
const { rec, index, list, reportTagsView, textStyles, space } = props;
|
12
13
|
const { swiperRef, setRtcList, setOpenHashtag, bffEventReport, sxpParameter } = (0, hooks_1.useSxpDataSource)();
|
@@ -112,11 +113,15 @@ const WaterfallFlowItem = (props) => {
|
|
112
113
|
react_1.default.createElement("canvas", { ref: canvasRef }))),
|
113
114
|
react_1.default.createElement(FormatImage_1.default, { loading: 'lazy', className: 'list-content-listItem-picture-img', ref: imgDom })),
|
114
115
|
react_1.default.createElement("div", { className: 'list-content-listItem-info' },
|
115
|
-
react_1.default.createElement("div", { className: `${'list-content-listItem-info-title'} ${priceText ? 'list-content-listItem-info-nowrap' : ''}`, style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.title
|
116
|
-
|
116
|
+
react_1.default.createElement("div", { className: `${'list-content-listItem-info-title'} ${priceText ? 'list-content-listItem-info-nowrap' : ''}`, style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.title, dangerouslySetInnerHTML: {
|
117
|
+
__html: (0, tool_1.setFontForText)(title, textStyles === null || textStyles === void 0 ? void 0 : textStyles.title)
|
118
|
+
} }),
|
119
|
+
react_1.default.createElement("div", { className: 'list-content-listItem-info-price', style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.price, hidden: !priceText, dangerouslySetInnerHTML: {
|
120
|
+
__html: (0, tool_1.setFontForText)(priceText, textStyles === null || textStyles === void 0 ? void 0 : textStyles.price)
|
121
|
+
} }))));
|
117
122
|
};
|
118
123
|
function WaterfallList(_a) {
|
119
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
124
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
120
125
|
var { reportTagsView, showBanner } = _a, props = tslib_1.__rest(_a, ["reportTagsView", "showBanner"]);
|
121
126
|
const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = (0, hooks_1.useSxpDataSource)();
|
122
127
|
const [list, setList] = (0, react_1.useState)();
|
@@ -178,17 +183,23 @@ function WaterfallList(_a) {
|
|
178
183
|
objectFit: 'cover',
|
179
184
|
marginBottom: '20px'
|
180
185
|
}), src: (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.picture }))),
|
181
|
-
react_1.default.createElement("div", { className: 'list-info', style: (_d = props === null || props === void 0 ? void 0 : props.textStyles) === null || _d === void 0 ? void 0 : _d.hashTagDesc
|
182
|
-
|
186
|
+
react_1.default.createElement("div", { className: 'list-info', style: (_d = props === null || props === void 0 ? void 0 : props.textStyles) === null || _d === void 0 ? void 0 : _d.hashTagDesc, dangerouslySetInnerHTML: {
|
187
|
+
__html: (0, tool_1.setFontForText)((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.info, (_f = props === null || props === void 0 ? void 0 : props.textStyles) === null || _f === void 0 ? void 0 : _f.hashTagDesc)
|
188
|
+
} }),
|
189
|
+
react_1.default.createElement("div", { hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link), className: 'list-collection', onClick: handleClickLink, style: Object.assign(Object.assign({}, (_h = props === null || props === void 0 ? void 0 : props.textStyles) === null || _h === void 0 ? void 0 : _h.hashTagLink), { marginBottom: props === null || props === void 0 ? void 0 : props.space }), dangerouslySetInnerHTML: {
|
190
|
+
__html: (0, tool_1.setFontForText)(((_j = data === null || data === void 0 ? void 0 : data.tag) === null || _j === void 0 ? void 0 : _j.linkTitle) || 'Shop the collection', (_k = props === null || props === void 0 ? void 0 : props.textStyles) === null || _k === void 0 ? void 0 : _k.hashTagLink)
|
191
|
+
} }),
|
183
192
|
react_1.default.createElement("div", { className: 'list-content' }, list === null || list === void 0 ? void 0 : list.map((item, ind) => {
|
184
193
|
return (react_1.default.createElement(WaterfallFlowItem, Object.assign({ key: ind, index: ind, rec: item, list: list, reportTagsView: reportTagsView }, props)));
|
185
194
|
})),
|
186
195
|
react_1.default.createElement("div", { hidden: !isLoadMore, style: { textAlign: 'center' } }, "loading..."),
|
187
|
-
react_1.default.createElement("div", { hidden: !((
|
188
|
-
height: ((
|
196
|
+
react_1.default.createElement("div", { hidden: !((_l = data === null || data === void 0 ? void 0 : data.tag) === null || _l === void 0 ? void 0 : _l.link), style: {
|
197
|
+
height: ((_m = data === null || data === void 0 ? void 0 : data.tag) === null || _m === void 0 ? void 0 : _m.link) ? ((_o = props === null || props === void 0 ? void 0 : props.buttonBgStyle) === null || _o === void 0 ? void 0 : _o.height) || ((_p = props === null || props === void 0 ? void 0 : props.buttonStyle) === null || _p === void 0 ? void 0 : _p.height) || '100px' : 0
|
189
198
|
} })),
|
190
|
-
react_1.default.createElement("div", { className: 'list-bottom', hidden: !((
|
191
|
-
react_1.default.createElement("div", { hidden: !((
|
192
|
-
react_1.default.createElement("button", { "aria-label": ((
|
199
|
+
react_1.default.createElement("div", { className: 'list-bottom', hidden: !((_q = data === null || data === void 0 ? void 0 : data.tag) === null || _q === void 0 ? void 0 : _q.link), style: props === null || props === void 0 ? void 0 : props.buttonBgStyle }),
|
200
|
+
react_1.default.createElement("div", { hidden: !((_r = data === null || data === void 0 ? void 0 : data.tag) === null || _r === void 0 ? void 0 : _r.link), className: 'list-btn-wrap', style: Object.assign(Object.assign({}, props === null || props === void 0 ? void 0 : props.buttonBgStyle), { height: 'auto', backgroundColor: 'transparent' }) },
|
201
|
+
react_1.default.createElement("button", { "aria-label": ((_s = data === null || data === void 0 ? void 0 : data.tag) === null || _s === void 0 ? void 0 : _s.linkTitle) || 'Shop the collection', className: 'list-btn', style: props === null || props === void 0 ? void 0 : props.buttonStyle, onClick: handleClickLink, dangerouslySetInnerHTML: {
|
202
|
+
__html: (0, tool_1.setFontForText)(((_t = data === null || data === void 0 ? void 0 : data.tag) === null || _t === void 0 ? void 0 : _t.linkTitle) || 'Shop the collection', props === null || props === void 0 ? void 0 : props.buttonStyle)
|
203
|
+
} }))))));
|
193
204
|
}
|
194
205
|
exports.default = WaterfallList;
|
@@ -7,6 +7,7 @@ require("./WaterfallList.less");
|
|
7
7
|
const preview_json_1 = tslib_1.__importDefault(require("./preview.json"));
|
8
8
|
const FormatImage_1 = tslib_1.__importDefault(require("../FormatImage"));
|
9
9
|
const css_1 = require("@emotion/css");
|
10
|
+
const tool_1 = require("../../../../core/utils/tool");
|
10
11
|
const WaterfallFlowItem = (props) => {
|
11
12
|
const { rec, style = {}, sizeChange = () => { }, unitWidth, index, showBorder, list, reportTagsView, textStyles, space } = props;
|
12
13
|
const { swiperRef, setRtcList, setOpenHashtag, sxpParameter } = (0, hooks_1.useSxpDataSource)();
|
@@ -104,11 +105,15 @@ const WaterfallFlowItem = (props) => {
|
|
104
105
|
react_1.default.createElement("div", { className: 'waterFallList-content-listItem-picture', ref: pictRef },
|
105
106
|
react_1.default.createElement(FormatImage_1.default, { loading: 'lazy', className: 'waterFallList-content-listItem-picture-img', onLoad: imgLoad, ref: imgDom })),
|
106
107
|
react_1.default.createElement("div", { className: 'waterFallList-content-listItem-info' },
|
107
|
-
react_1.default.createElement("div", { className: `${'waterFallList-content-listItem-info-title'} ${priceText ? 'waterFallList-content-listItem-info-nowrap' : ''}`, style: Object.assign({}, textStyles === null || textStyles === void 0 ? void 0 : textStyles.title)
|
108
|
-
|
108
|
+
react_1.default.createElement("div", { className: `${'waterFallList-content-listItem-info-title'} ${priceText ? 'waterFallList-content-listItem-info-nowrap' : ''}`, style: Object.assign({}, textStyles === null || textStyles === void 0 ? void 0 : textStyles.title), dangerouslySetInnerHTML: {
|
109
|
+
__html: (0, tool_1.setFontForText)(title, textStyles === null || textStyles === void 0 ? void 0 : textStyles.title)
|
110
|
+
} }),
|
111
|
+
react_1.default.createElement("div", { className: 'waterFallList-content-listItem-info-price', hidden: !priceText, style: textStyles.price, dangerouslySetInnerHTML: {
|
112
|
+
__html: (0, tool_1.setFontForText)(priceText, textStyles === null || textStyles === void 0 ? void 0 : textStyles.price)
|
113
|
+
} }))));
|
109
114
|
};
|
110
115
|
function WaterfallList(_a) {
|
111
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
116
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
112
117
|
var { reportTagsView, showBanner } = _a, props = tslib_1.__rest(_a, ["reportTagsView", "showBanner"]);
|
113
118
|
const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = (0, hooks_1.useSxpDataSource)();
|
114
119
|
const scrollParent = (0, react_1.useRef)(null);
|
@@ -286,24 +291,30 @@ function WaterfallList(_a) {
|
|
286
291
|
objectFit: 'cover',
|
287
292
|
marginBottom: '20px'
|
288
293
|
}), src: (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.picture }))),
|
289
|
-
react_1.default.createElement("div", { className: 'waterFallList-info', style: (_d = props === null || props === void 0 ? void 0 : props.textStyles) === null || _d === void 0 ? void 0 : _d.hashTagDesc
|
290
|
-
|
294
|
+
react_1.default.createElement("div", { className: 'waterFallList-info', style: (_d = props === null || props === void 0 ? void 0 : props.textStyles) === null || _d === void 0 ? void 0 : _d.hashTagDesc, dangerouslySetInnerHTML: {
|
295
|
+
__html: (0, tool_1.setFontForText)((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.info, (_f = props === null || props === void 0 ? void 0 : props.textStyles) === null || _f === void 0 ? void 0 : _f.hashTagDesc)
|
296
|
+
} }),
|
297
|
+
react_1.default.createElement("div", { hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link), className: 'waterFallList-collection', style: Object.assign({}, (_h = props === null || props === void 0 ? void 0 : props.textStyles) === null || _h === void 0 ? void 0 : _h.hashTagLink), onClick: handleClickLink, dangerouslySetInnerHTML: {
|
298
|
+
__html: (0, tool_1.setFontForText)(((_j = data === null || data === void 0 ? void 0 : data.tag) === null || _j === void 0 ? void 0 : _j.linkTitle) || 'Shop the collection', (_k = props === null || props === void 0 ? void 0 : props.textStyles) === null || _k === void 0 ? void 0 : _k.hashTagLink)
|
299
|
+
} }),
|
291
300
|
react_1.default.createElement("div", { className: 'waterFallList-content' }, list === null || list === void 0 ? void 0 :
|
292
301
|
list.map((item, ind) => {
|
293
302
|
var _a;
|
294
303
|
return (react_1.default.createElement(WaterfallFlowItem, Object.assign({ key: ind, index: ind, rec: item, list: list, showBorder: scrollTop + ((_a = scrollParent === null || scrollParent === void 0 ? void 0 : scrollParent.current) === null || _a === void 0 ? void 0 : _a.clientHeight), style: styleList[ind], sizeChange: onSizeChange, unitWidth: unitWidth, reportTagsView: reportTagsView }, props)));
|
295
304
|
}),
|
296
|
-
react_1.default.createElement("div", { hidden: !((
|
305
|
+
react_1.default.createElement("div", { hidden: !((_l = data === null || data === void 0 ? void 0 : data.tag) === null || _l === void 0 ? void 0 : _l.link), style: {
|
297
306
|
position: 'absolute',
|
298
307
|
width: '100%',
|
299
|
-
transform: `translate(0px,${(
|
300
|
-
((
|
301
|
-
height: ((
|
302
|
-
? ((
|
308
|
+
transform: `translate(0px,${(_r = ((_o = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current[((_m = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current) === null || _m === void 0 ? void 0 : _m.length) - 1]) === null || _o === void 0 ? void 0 : _o.top) +
|
309
|
+
((_q = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current[((_p = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current) === null || _p === void 0 ? void 0 : _p.length) - 1]) === null || _q === void 0 ? void 0 : _q.height)) !== null && _r !== void 0 ? _r : 0}px)`,
|
310
|
+
height: ((_s = data === null || data === void 0 ? void 0 : data.tag) === null || _s === void 0 ? void 0 : _s.link)
|
311
|
+
? ((_t = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _t === void 0 ? void 0 : _t.offsetHeight) || ((_u = props === null || props === void 0 ? void 0 : props.buttonBgStyle) === null || _u === void 0 ? void 0 : _u.height) || '100px'
|
303
312
|
: 0
|
304
313
|
} }))),
|
305
|
-
react_1.default.createElement("div", { className: 'waterFallList-bottom', hidden: !((
|
306
|
-
react_1.default.createElement("div", { ref: buttonRef, hidden: !((
|
307
|
-
react_1.default.createElement("button", { "aria-label": ((
|
314
|
+
react_1.default.createElement("div", { className: 'waterFallList-bottom', hidden: !((_v = data === null || data === void 0 ? void 0 : data.tag) === null || _v === void 0 ? void 0 : _v.link), style: props === null || props === void 0 ? void 0 : props.buttonBgStyle }),
|
315
|
+
react_1.default.createElement("div", { ref: buttonRef, hidden: !((_w = data === null || data === void 0 ? void 0 : data.tag) === null || _w === void 0 ? void 0 : _w.link), className: 'waterFallList-btn-wrap', style: Object.assign(Object.assign({}, props === null || props === void 0 ? void 0 : props.buttonBgStyle), { height: 'auto', backgroundColor: 'transparent' }) },
|
316
|
+
react_1.default.createElement("button", { "aria-label": ((_x = data === null || data === void 0 ? void 0 : data.tag) === null || _x === void 0 ? void 0 : _x.linkTitle) || 'Shop the collection', className: 'waterFallList-btn', style: props === null || props === void 0 ? void 0 : props.buttonStyle, onClick: handleClickLink, dangerouslySetInnerHTML: {
|
317
|
+
__html: (0, tool_1.setFontForText)(((_y = data === null || data === void 0 ? void 0 : data.tag) === null || _y === void 0 ? void 0 : _y.linkTitle) || 'Shop the collection', props === null || props === void 0 ? void 0 : props.buttonStyle)
|
318
|
+
} }))))));
|
308
319
|
}
|
309
320
|
exports.default = WaterfallList;
|
@@ -188,7 +188,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
188
188
|
const renderContent = (0, react_1.useCallback)((rec, index) => {
|
189
189
|
var _a, _b, _c, _d;
|
190
190
|
if ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) {
|
191
|
-
return (react_1.default.createElement(VideoWidget_1.default, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoRef: videoRef.current }));
|
191
|
+
return (react_1.default.createElement(VideoWidget_1.default, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoRef: videoRef.current, videoPlayIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon }));
|
192
192
|
}
|
193
193
|
if ((_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.imgUrls) {
|
194
194
|
return (react_1.default.createElement(PictureGroup_1.default, { key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, imgUrls: rec === null || rec === void 0 ? void 0 : rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onReportViewImageEnd: handleReportViewImageEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
|
@@ -210,6 +210,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
210
210
|
isMuted,
|
211
211
|
activeIndex,
|
212
212
|
globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost,
|
213
|
+
globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon,
|
213
214
|
viewTime,
|
214
215
|
tipText,
|
215
216
|
resolver,
|
@@ -20,6 +20,7 @@ interface IEditorDataContext {
|
|
20
20
|
setOpenHashtag?: React.Dispatch<React.SetStateAction<boolean>>;
|
21
21
|
openConsent?: boolean;
|
22
22
|
setOpenConsent?: React.Dispatch<React.SetStateAction<boolean>>;
|
23
|
+
sxpFontLinks?: any[];
|
23
24
|
}
|
24
25
|
interface IEditorProviderProps {
|
25
26
|
data?: any;
|
@@ -28,7 +28,8 @@ const EditorDataProvider = ({ children, data }) => {
|
|
28
28
|
openHashtag,
|
29
29
|
setOpenHashtag,
|
30
30
|
openConsent,
|
31
|
-
setOpenConsent
|
31
|
+
setOpenConsent,
|
32
|
+
sxpFontLinks: data === null || data === void 0 ? void 0 : data.sxpFontLinks
|
32
33
|
} }, children));
|
33
34
|
};
|
34
35
|
function useEditorDataProvider() {
|