pb-sxp-ui 1.0.99 → 1.0.101
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 +408 -184
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +23 -20
- package/dist/index.js +409 -184
- 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 +408 -184
- 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 +6 -3
- package/es/core/components/SxpPageRender/Hashtag/index.js +3 -1
- package/es/core/components/SxpPageRender/Navbar.js +4 -1
- package/es/core/components/SxpPageRender/Tagbar.d.ts +1 -0
- package/es/core/components/SxpPageRender/Tagbar.js +2 -2
- 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 +9 -3
- 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 +14 -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 +17 -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/settingRender.d.ts +16 -24
- package/es/materials/sxp/template/components/settingRender.js +30 -12
- package/lib/core/components/SxpPageRender/ExpandableText.js +6 -3
- package/lib/core/components/SxpPageRender/Hashtag/index.js +3 -1
- package/lib/core/components/SxpPageRender/Navbar.js +4 -1
- package/lib/core/components/SxpPageRender/Tagbar.d.ts +1 -0
- package/lib/core/components/SxpPageRender/Tagbar.js +2 -2
- 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 +9 -3
- 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 +14 -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 +17 -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/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
package/dist/index.cjs
CHANGED
@@ -157,13 +157,6 @@ const getSxpTokenInfo = (builder, dataId) => __awaiter(void 0, void 0, void 0, f
|
|
157
157
|
return tokenData;
|
158
158
|
});
|
159
159
|
|
160
|
-
/*
|
161
|
-
* @Author : haocanweng@chatlabs.cn
|
162
|
-
* @Date : 2023-08-21 16:58:40
|
163
|
-
* @LastEditors : haocanweng@chatlabs.cn
|
164
|
-
* @LastEditTime : 2023-08-21 17:00:14
|
165
|
-
* @FilePath : /page-builder-component/src/core/utils/tool.ts
|
166
|
-
*/
|
167
160
|
// 生成uuid
|
168
161
|
function uuid(len, radix) {
|
169
162
|
const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
|
@@ -203,6 +196,49 @@ const getUid = () => {
|
|
203
196
|
const uid = (originalUid === null || originalUid === void 0 ? void 0 : originalUid.replaceAll) ? originalUid.replaceAll('-', '') : generateRandomString(32);
|
204
197
|
return uid; // uid为32位长度
|
205
198
|
};
|
199
|
+
const setFontForText = (textContent, style) => {
|
200
|
+
if (!textContent)
|
201
|
+
return '';
|
202
|
+
let content = '';
|
203
|
+
const cn = style === null || style === void 0 ? void 0 : style['fontFamily-cn'];
|
204
|
+
const en = style === null || style === void 0 ? void 0 : style['fontFamily-en'];
|
205
|
+
if (!cn && !en) {
|
206
|
+
return textContent;
|
207
|
+
}
|
208
|
+
let text = textContent;
|
209
|
+
const chineseRegex = /[\u4e00-\u9fa5]/g;
|
210
|
+
const englishRegex = /[^\u4e00-\u9fa5]/g;
|
211
|
+
const cnStyle = `font-family:${cn !== null && cn !== void 0 ? cn : 'inherit'}`;
|
212
|
+
const enStyle = `font-family:${en !== null && en !== void 0 ? en : 'inherit'}`;
|
213
|
+
const fn = (str) => {
|
214
|
+
let chineseStartIndex = str.search(chineseRegex);
|
215
|
+
let englishStartIndex = str.search(englishRegex);
|
216
|
+
if (chineseStartIndex !== -1 && englishStartIndex !== -1 && chineseStartIndex < englishStartIndex) {
|
217
|
+
content += `<span style="${cnStyle}">${str.substring(chineseStartIndex, englishStartIndex)}</span>`;
|
218
|
+
text = str.substring(englishStartIndex, str === null || str === void 0 ? void 0 : str.length);
|
219
|
+
}
|
220
|
+
if (chineseStartIndex !== -1 && englishStartIndex !== -1 && chineseStartIndex > englishStartIndex) {
|
221
|
+
content += `<span style="${enStyle}">${str.substring(englishStartIndex, chineseStartIndex)}</span>`;
|
222
|
+
text = str.substring(chineseStartIndex, str === null || str === void 0 ? void 0 : str.length);
|
223
|
+
}
|
224
|
+
if (chineseStartIndex === -1) {
|
225
|
+
content += `<span style="${enStyle}">${str.substring(englishStartIndex, str === null || str === void 0 ? void 0 : str.length)}</span>`;
|
226
|
+
text = '';
|
227
|
+
return false;
|
228
|
+
}
|
229
|
+
if (englishStartIndex === -1) {
|
230
|
+
content += `<span style="${cnStyle}">${str.substring(chineseStartIndex, str === null || str === void 0 ? void 0 : str.length)}</span>`;
|
231
|
+
text = '';
|
232
|
+
return false;
|
233
|
+
}
|
234
|
+
return true;
|
235
|
+
};
|
236
|
+
let w = true;
|
237
|
+
while (w) {
|
238
|
+
w = fn(text);
|
239
|
+
}
|
240
|
+
return content;
|
241
|
+
};
|
206
242
|
|
207
243
|
function unzip(b64Data) {
|
208
244
|
const strData = atob(b64Data);
|
@@ -1073,30 +1109,14 @@ var interactionRender$8 = [
|
|
1073
1109
|
}
|
1074
1110
|
];
|
1075
1111
|
|
1076
|
-
/*
|
1077
|
-
* @Author: binruan@chatlabs.com
|
1078
|
-
* @Date: 2024-04-28 14:42:22
|
1079
|
-
* @LastEditors: binruan@chatlabs.com
|
1080
|
-
* @LastEditTime: 2024-05-23 17:01:21
|
1081
|
-
* @FilePath: \pb-sxp-ui\src\materials\sxp\defaultSetting.ts
|
1082
|
-
*
|
1083
|
-
*/
|
1084
|
-
const fontOptions = [{ label: 'defalut', value: 'appFont' }];
|
1085
|
-
const sxpFonts = typeof window !== 'undefined' && (window === null || window === void 0 ? void 0 : window.localStorage.getItem('sxp_font_links'));
|
1086
|
-
const data = sxpFonts && sxpFonts !== '' ? JSON.parse(sxpFonts) : [];
|
1087
|
-
var defaultSetting = {
|
1088
|
-
fontOptions: [...fontOptions, ...data]
|
1089
|
-
};
|
1090
|
-
|
1091
1112
|
/*
|
1092
1113
|
* @Author: binruan@chatlabs.com
|
1093
1114
|
* @Date: 2023-07-28 18:29:57
|
1094
1115
|
* @LastEditors: binruan@chatlabs.com
|
1095
|
-
* @LastEditTime: 2024-
|
1116
|
+
* @LastEditTime: 2024-06-27 09:50:07
|
1096
1117
|
* @FilePath: \pb-sxp-ui\src\materials\sxp\popup\AppointForm\settingRender.tsx
|
1097
1118
|
*
|
1098
1119
|
*/
|
1099
|
-
var _a$5, _b$5, _c;
|
1100
1120
|
var settingRender$6 = [
|
1101
1121
|
{
|
1102
1122
|
type: 'Text',
|
@@ -1116,14 +1136,24 @@ var settingRender$6 = [
|
|
1116
1136
|
label: '标题字体',
|
1117
1137
|
child: [
|
1118
1138
|
{
|
1119
|
-
type: '
|
1120
|
-
name: ['
|
1139
|
+
type: 'Select',
|
1140
|
+
name: ['testStyle', 'fontFamily-cn'],
|
1141
|
+
bottomText: '中文字体'
|
1121
1142
|
},
|
1122
1143
|
{
|
1123
1144
|
type: 'Select',
|
1124
|
-
name: ['
|
1125
|
-
|
1126
|
-
|
1145
|
+
name: ['testStyle', 'fontFamily-en'],
|
1146
|
+
bottomText: '英文/其他字体'
|
1147
|
+
}
|
1148
|
+
]
|
1149
|
+
},
|
1150
|
+
{
|
1151
|
+
type: 'Group',
|
1152
|
+
label: '',
|
1153
|
+
child: [
|
1154
|
+
{
|
1155
|
+
type: 'Color',
|
1156
|
+
name: ['textStyle', 'color']
|
1127
1157
|
},
|
1128
1158
|
{
|
1129
1159
|
type: 'Number',
|
@@ -1171,15 +1201,25 @@ var settingRender$6 = [
|
|
1171
1201
|
label: '提交按钮字体',
|
1172
1202
|
child: [
|
1173
1203
|
{
|
1174
|
-
type: '
|
1175
|
-
name: ['props', 'submitButtonStyle', '
|
1176
|
-
|
1204
|
+
type: 'Select',
|
1205
|
+
name: ['props', 'submitButtonStyle', 'fontFamily-cn'],
|
1206
|
+
bottomText: '中文字体'
|
1177
1207
|
},
|
1178
1208
|
{
|
1179
1209
|
type: 'Select',
|
1180
|
-
name: ['props', 'submitButtonStyle', 'fontFamily'],
|
1181
|
-
|
1182
|
-
|
1210
|
+
name: ['props', 'submitButtonStyle', 'fontFamily-en'],
|
1211
|
+
bottomText: '英文/其他字体'
|
1212
|
+
}
|
1213
|
+
]
|
1214
|
+
},
|
1215
|
+
{
|
1216
|
+
type: 'Group',
|
1217
|
+
label: '',
|
1218
|
+
child: [
|
1219
|
+
{
|
1220
|
+
type: 'Color',
|
1221
|
+
name: ['props', 'submitButtonStyle', 'color'],
|
1222
|
+
initialValue: '#fff'
|
1183
1223
|
},
|
1184
1224
|
{
|
1185
1225
|
type: 'Number',
|
@@ -1325,11 +1365,25 @@ function useEventReport() {
|
|
1325
1365
|
};
|
1326
1366
|
}
|
1327
1367
|
|
1368
|
+
/*
|
1369
|
+
* @Author: binruan@chatlabs.com
|
1370
|
+
* @Date: 2024-06-27 16:22:34
|
1371
|
+
* @LastEditors: binruan@chatlabs.com
|
1372
|
+
* @LastEditTime: 2024-06-27 18:27:11
|
1373
|
+
* @FilePath: \pb-sxp-ui\src\materials\sxp\popup\AppointForm\Form.tsx
|
1374
|
+
*
|
1375
|
+
*/
|
1376
|
+
const Form = ({ layout, columns, onChange }) => {
|
1377
|
+
return (React.createElement(React.Fragment, null, columns === null || columns === void 0 ? void 0 : columns.map((item, index) => (React.createElement("div", { key: index, className: 'pb-appoint-form-container-item', style: { flexDirection: layout === 'horizontal' ? 'row' : 'column' } },
|
1378
|
+
layout !== 'inline' && React.createElement("label", { className: 'pb-appoint-form-container-label' }, item === null || item === void 0 ? void 0 : item.title),
|
1379
|
+
(item === null || item === void 0 ? void 0 : item.valueType) === 'text' && (React.createElement("input", { className: 'pb-appoint-form-container-input', type: 'text', placeholder: layout === 'inline' ? item === null || item === void 0 ? void 0 : item.title : '请输入', name: item === null || item === void 0 ? void 0 : item.dataIndex, onChange: onChange })))))));
|
1380
|
+
};
|
1381
|
+
var Form$1 = React.memo(Form);
|
1382
|
+
|
1328
1383
|
const AppointForm$1 = (_a) => {
|
1329
|
-
var { columns, style, title, textStyle, submitBgColor, submitColor, submitText, layoutType, isExternalLink, isPopup, onClick, onClose, submitButtonStyle } = _a, props = __rest(_a, ["columns", "style", "title", "textStyle", "submitBgColor", "submitColor", "submitText", "layoutType", "isExternalLink", "isPopup", "onClick", "onClose", "submitButtonStyle"]);
|
1384
|
+
var { columns, style, title, textStyle, submitBgColor, submitColor, submitText, layoutType = 'inline', isExternalLink, isPopup, onClick, onClose, submitButtonStyle } = _a, props = __rest(_a, ["columns", "style", "title", "textStyle", "submitBgColor", "submitColor", "submitText", "layoutType", "isExternalLink", "isPopup", "onClick", "onClose", "submitButtonStyle"]);
|
1330
1385
|
const { submitForm, popupDetailData } = useSxpDataSource();
|
1331
1386
|
const { jumpToWeb } = useEventReport();
|
1332
|
-
const formRef = React.useRef();
|
1333
1387
|
const [loading, setLoading] = React.useState(false);
|
1334
1388
|
const defaultColumns = React.useMemo(() => [
|
1335
1389
|
{
|
@@ -1357,27 +1411,26 @@ const AppointForm$1 = (_a) => {
|
|
1357
1411
|
key: '4'
|
1358
1412
|
}
|
1359
1413
|
], []);
|
1360
|
-
React.
|
1361
|
-
|
1362
|
-
|
1363
|
-
|
1364
|
-
|
1365
|
-
|
1366
|
-
|
1367
|
-
|
1368
|
-
}, [layoutType, columns, defaultColumns]);
|
1414
|
+
const [formData, setFormData] = React.useState({});
|
1415
|
+
const columnsData = React.useMemo(() => {
|
1416
|
+
return lodash.cloneDeep(columns) || defaultColumns;
|
1417
|
+
}, [columns, defaultColumns]);
|
1418
|
+
const handleChange = React.useCallback((e) => {
|
1419
|
+
const { name, value } = e.target;
|
1420
|
+
setFormData(Object.assign(Object.assign({}, formData), { [name]: value }));
|
1421
|
+
}, [formData]);
|
1369
1422
|
const handleSubmit = lodash.debounce(() => __awaiter(void 0, void 0, void 0, function* () {
|
1370
|
-
var _b, _c, _d, _e, _f
|
1371
|
-
const vals =
|
1423
|
+
var _b, _c, _d, _e, _f;
|
1424
|
+
const vals = formData;
|
1372
1425
|
if (!vals)
|
1373
1426
|
return;
|
1374
|
-
const arr = (
|
1427
|
+
const arr = (_c = (_b = Object.keys(vals)) === null || _b === void 0 ? void 0 : _b.map((key) => {
|
1375
1428
|
var _a;
|
1376
1429
|
return ({
|
1377
1430
|
name: key,
|
1378
1431
|
value: (_a = vals[key]) !== null && _a !== void 0 ? _a : ''
|
1379
1432
|
});
|
1380
|
-
})) === null ||
|
1433
|
+
})) === null || _c === void 0 ? void 0 : _c.filter((item) => item === null || item === void 0 ? void 0 : item.value);
|
1381
1434
|
if (!arr || !(arr === null || arr === void 0 ? void 0 : arr.length))
|
1382
1435
|
return;
|
1383
1436
|
setLoading(true);
|
@@ -1386,8 +1439,8 @@ const AppointForm$1 = (_a) => {
|
|
1386
1439
|
if (res) {
|
1387
1440
|
if (isExternalLink) {
|
1388
1441
|
const data = popupDetailData;
|
1389
|
-
const product = (
|
1390
|
-
const cta = (
|
1442
|
+
const product = (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.bindProduct;
|
1443
|
+
const cta = (_f = (_e = data === null || data === void 0 ? void 0 : data.video) === null || _e === void 0 ? void 0 : _e.bindProduct) === null || _f === void 0 ? void 0 : _f.bindCta;
|
1391
1444
|
const position = popupDetailData === null || popupDetailData === void 0 ? void 0 : popupDetailData.index;
|
1392
1445
|
jumpToWeb(data, product, cta, position);
|
1393
1446
|
}
|
@@ -1398,11 +1451,16 @@ const AppointForm$1 = (_a) => {
|
|
1398
1451
|
}
|
1399
1452
|
}), 1000);
|
1400
1453
|
return (React.createElement("div", { className: 'pb-appoint-form' },
|
1401
|
-
React.createElement("div", { className: `pb-appoint-form-title ${css.css(Object.assign({}, textStyle))}
|
1454
|
+
React.createElement("div", { className: `pb-appoint-form-title ${css.css(Object.assign({}, textStyle))}`, dangerouslySetInnerHTML: {
|
1455
|
+
__html: setFontForText(title, textStyle)
|
1456
|
+
} }),
|
1402
1457
|
React.createElement("div", Object.assign({ className: css.css(Object.assign({}, style)) }, props),
|
1403
|
-
React.createElement("div", { className: 'pb-appoint-form-container' }
|
1458
|
+
React.createElement("div", { className: 'pb-appoint-form-container' },
|
1459
|
+
React.createElement(Form$1, { columns: columnsData, layout: layoutType, onChange: handleChange }))),
|
1404
1460
|
React.createElement("div", { className: 'pb-appoint-form-btn-wrapper' },
|
1405
|
-
React.createElement("button", { "aria-label": submitText, onClick: handleSubmit, className: 'pb-appoint-form-btn', style: Object.assign({ color: submitColor, background: submitBgColor }, submitButtonStyle)
|
1461
|
+
React.createElement("button", { "aria-label": submitText, onClick: handleSubmit, className: 'pb-appoint-form-btn', style: Object.assign({ color: submitColor, background: submitBgColor }, submitButtonStyle), dangerouslySetInnerHTML: {
|
1462
|
+
__html: setFontForText(loading ? 'loading...' : submitText, submitButtonStyle)
|
1463
|
+
} }))));
|
1406
1464
|
};
|
1407
1465
|
var AppointFormComponent = React.memo(AppointForm$1);
|
1408
1466
|
|
@@ -1450,7 +1508,6 @@ const AppointForm = createMaterial(AppointFormComponent, {
|
|
1450
1508
|
sort: 2
|
1451
1509
|
});
|
1452
1510
|
|
1453
|
-
var _a$4, _b$4;
|
1454
1511
|
var settingRender$5 = [
|
1455
1512
|
{
|
1456
1513
|
title: '商品图片',
|
@@ -1543,14 +1600,24 @@ var settingRender$5 = [
|
|
1543
1600
|
label: '标题字体',
|
1544
1601
|
child: [
|
1545
1602
|
{
|
1546
|
-
type: '
|
1547
|
-
name: ['
|
1603
|
+
type: 'Select',
|
1604
|
+
name: ['fontFamily-cn'],
|
1605
|
+
bottomText: '中文字体'
|
1548
1606
|
},
|
1549
1607
|
{
|
1550
1608
|
type: 'Select',
|
1551
|
-
|
1552
|
-
|
1553
|
-
|
1609
|
+
name: ['fontFamily-en'],
|
1610
|
+
bottomText: '英文/其他字体'
|
1611
|
+
}
|
1612
|
+
]
|
1613
|
+
},
|
1614
|
+
{
|
1615
|
+
type: 'Group',
|
1616
|
+
label: '',
|
1617
|
+
child: [
|
1618
|
+
{
|
1619
|
+
type: 'Color',
|
1620
|
+
name: ['color']
|
1554
1621
|
},
|
1555
1622
|
{
|
1556
1623
|
type: 'Number',
|
@@ -1622,15 +1689,25 @@ var settingRender$5 = [
|
|
1622
1689
|
label: '字体',
|
1623
1690
|
child: [
|
1624
1691
|
{
|
1625
|
-
type: '
|
1626
|
-
name: ['props', 'buttonStyle', '
|
1627
|
-
|
1692
|
+
type: 'Select',
|
1693
|
+
name: ['props', 'buttonStyle', 'fontFamily-cn'],
|
1694
|
+
bottomText: '中文字体'
|
1628
1695
|
},
|
1629
1696
|
{
|
1630
1697
|
type: 'Select',
|
1631
|
-
name: ['props', 'buttonStyle', 'fontFamily'],
|
1632
|
-
|
1633
|
-
|
1698
|
+
name: ['props', 'buttonStyle', 'fontFamily-en'],
|
1699
|
+
bottomText: '英文/其他字体'
|
1700
|
+
}
|
1701
|
+
]
|
1702
|
+
},
|
1703
|
+
{
|
1704
|
+
type: 'Group',
|
1705
|
+
label: '',
|
1706
|
+
child: [
|
1707
|
+
{
|
1708
|
+
type: 'Color',
|
1709
|
+
name: ['props', 'buttonStyle', 'color'],
|
1710
|
+
initialValue: '#fff'
|
1634
1711
|
},
|
1635
1712
|
{
|
1636
1713
|
type: 'Number',
|
@@ -8531,7 +8608,7 @@ var Modal$1 = React.memo(Modal);
|
|
8531
8608
|
* @Author: binruan@chatlabs.com
|
8532
8609
|
* @Date: 2023-12-26 16:11:34
|
8533
8610
|
* @LastEditors: binruan@chatlabs.com
|
8534
|
-
* @LastEditTime: 2024-
|
8611
|
+
* @LastEditTime: 2024-06-28 15:17:10
|
8535
8612
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\ExpandableText.tsx
|
8536
8613
|
*
|
8537
8614
|
*/
|
@@ -8584,9 +8661,11 @@ const ExpandableText = ({ text, maxStr = 108, style, className, onClick, foldTex
|
|
8584
8661
|
display: '-webkit-box',
|
8585
8662
|
WebkitBoxOrient: 'vertical',
|
8586
8663
|
wordBreak: 'break-word'
|
8587
|
-
}, dangerouslySetInnerHTML: { __html: text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>') } }),
|
8588
|
-
React.createElement("div", { ref: multiRowCopy, dangerouslySetInnerHTML: { __html: text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>') } }),
|
8589
|
-
text && isPost && isShow && (React.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer' }, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick
|
8664
|
+
}, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
8665
|
+
React.createElement("div", { ref: multiRowCopy, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
8666
|
+
text && isPost && isShow && (React.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer' }, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick, dangerouslySetInnerHTML: {
|
8667
|
+
__html: setFontForText(isShowMore ? unfoldText || 'show less' : foldText || 'show more', style)
|
8668
|
+
} }))));
|
8590
8669
|
};
|
8591
8670
|
var ExpandableText$1 = React.memo(ExpandableText);
|
8592
8671
|
|
@@ -8698,9 +8777,15 @@ const CommodityDetail$1 = (_a) => {
|
|
8698
8777
|
const renderContent = ({ isPost }) => {
|
8699
8778
|
var _a, _b, _c;
|
8700
8779
|
return (React.createElement("div", null,
|
8701
|
-
React.createElement("div", { className: 'pb-commondity-content-collection', style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection), hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.collection) || (product === null || product === void 0 ? void 0 : product.collection) === '')
|
8702
|
-
|
8703
|
-
|
8780
|
+
React.createElement("div", { className: 'pb-commondity-content-collection', style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection), hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.collection) || (product === null || product === void 0 ? void 0 : product.collection) === ''), dangerouslySetInnerHTML: {
|
8781
|
+
__html: setFontForText((_a = product === null || product === void 0 ? void 0 : product.collection) !== null && _a !== void 0 ? _a : 'Tiffany Lock', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection)
|
8782
|
+
} }),
|
8783
|
+
React.createElement("div", { className: 'pb-commondity-content-title', style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title), hidden: !!product && !(product === null || product === void 0 ? void 0 : product.title), dangerouslySetInnerHTML: {
|
8784
|
+
__html: setFontForText((_b = product === null || product === void 0 ? void 0 : product.title) !== null && _b !== void 0 ? _b : 'Pendant in Yellow Gold with Diamonds, Medium', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
|
8785
|
+
} }),
|
8786
|
+
React.createElement("div", { className: 'pb-commondity-content-price', style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price), hidden: !!product && !(product === null || product === void 0 ? void 0 : product.price), dangerouslySetInnerHTML: {
|
8787
|
+
__html: setFontForText(priceText, commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price)
|
8788
|
+
} }),
|
8704
8789
|
React.createElement("div", { hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.info) || (product === null || product === void 0 ? void 0 : product.info) === '') },
|
8705
8790
|
React.createElement(ExpandableText$1, { foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, onClick: () => setShowModal(true), isPost: isPost, text: (_c = product === null || product === void 0 ? void 0 : product.info) !== null && _c !== void 0 ? _c : `The design inspiration of Tiffany Lock series comes from the power of connection and inclusiveness, and the
|
8706
8791
|
bold and avant-garde visual design interprets the emotional bond connecting my heart. The Tiffany Lock
|
@@ -8710,7 +8795,10 @@ const CommodityDetail$1 = (_a) => {
|
|
8710
8795
|
};
|
8711
8796
|
const renderBtn = () => {
|
8712
8797
|
var _a, _b;
|
8713
|
-
return (React.createElement(React.Fragment, null, (isDefault || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_a = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _a !== void 0 ? _a : 'Purchase on Website', onClick: handleLink, className: 'pb-commondity-btn', style: buttonStyle },
|
8798
|
+
return (React.createElement(React.Fragment, null, (isDefault || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_a = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _a !== void 0 ? _a : 'Purchase on Website', onClick: handleLink, className: 'pb-commondity-btn', style: buttonStyle },
|
8799
|
+
React.createElement("span", { dangerouslySetInnerHTML: {
|
8800
|
+
__html: setFontForText((_b = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _b !== void 0 ? _b : 'Purchase on Website', buttonStyle)
|
8801
|
+
} })))));
|
8714
8802
|
};
|
8715
8803
|
const getStyle = React.useCallback((style) => {
|
8716
8804
|
if (style === null || style === void 0 ? void 0 : style.lineClamp) {
|
@@ -8840,11 +8928,10 @@ var interactionRender$7 = [
|
|
8840
8928
|
* @Author: binruan@chatlabs.com
|
8841
8929
|
* @Date: 2023-10-27 14:06:35
|
8842
8930
|
* @LastEditors: binruan@chatlabs.com
|
8843
|
-
* @LastEditTime: 2024-
|
8931
|
+
* @LastEditTime: 2024-06-27 09:57:31
|
8844
8932
|
* @FilePath: \pb-sxp-ui\src\materials\sxp\popup\Prompt\settingRender.tsx
|
8845
8933
|
*
|
8846
8934
|
*/
|
8847
|
-
var _a$3, _b$3;
|
8848
8935
|
var settingRender$4 = [
|
8849
8936
|
{
|
8850
8937
|
title: '',
|
@@ -8870,15 +8957,25 @@ var settingRender$4 = [
|
|
8870
8957
|
label: '提交按钮字体',
|
8871
8958
|
child: [
|
8872
8959
|
{
|
8873
|
-
type: '
|
8874
|
-
name: ['props', 'submitButtonStyle', '
|
8875
|
-
|
8960
|
+
type: 'Select',
|
8961
|
+
name: ['props', 'submitButtonStyle', 'fontFamily-cn'],
|
8962
|
+
bottomText: '中文字体'
|
8876
8963
|
},
|
8877
8964
|
{
|
8878
8965
|
type: 'Select',
|
8879
|
-
name: ['props', 'submitButtonStyle', 'fontFamily'],
|
8880
|
-
|
8881
|
-
|
8966
|
+
name: ['props', 'submitButtonStyle', 'fontFamily-en'],
|
8967
|
+
bottomText: '英文/其他字体'
|
8968
|
+
}
|
8969
|
+
]
|
8970
|
+
},
|
8971
|
+
{
|
8972
|
+
type: 'Group',
|
8973
|
+
label: '',
|
8974
|
+
child: [
|
8975
|
+
{
|
8976
|
+
type: 'Color',
|
8977
|
+
name: ['props', 'submitButtonStyle', 'color'],
|
8978
|
+
initialValue: '#fff'
|
8882
8979
|
},
|
8883
8980
|
{
|
8884
8981
|
type: 'Number',
|
@@ -8962,7 +9059,9 @@ const Prompt$1 = (_a) => {
|
|
8962
9059
|
React.createElement("div", { className: 'pb-prompt-icon' },
|
8963
9060
|
React.createElement("img", { width: '100%', src: iconSrc !== null && iconSrc !== void 0 ? iconSrc : img$3, alt: 'success image' })),
|
8964
9061
|
React.createElement("div", { className: 'pb-prompt-content' }, content),
|
8965
|
-
React.createElement("button", { "aria-label": btnText, className: 'pb-prompt-btn', style: submitButtonStyle, onClick: handleOk
|
9062
|
+
React.createElement("button", { "aria-label": btnText, className: 'pb-prompt-btn', style: submitButtonStyle, onClick: handleOk, dangerouslySetInnerHTML: {
|
9063
|
+
__html: setFontForText(btnText, submitButtonStyle)
|
9064
|
+
} })));
|
8966
9065
|
};
|
8967
9066
|
var PromptComponent = React.memo(Prompt$1);
|
8968
9067
|
|
@@ -8989,12 +9088,11 @@ const Prompt = createMaterial(PromptComponent, {
|
|
8989
9088
|
sort: 3
|
8990
9089
|
});
|
8991
9090
|
|
8992
|
-
var _a$2, _b$2;
|
8993
9091
|
/*
|
8994
9092
|
* @Author: binruan@chatlabs.com
|
8995
9093
|
* @Date: 2024-03-26 16:50:25
|
8996
9094
|
* @LastEditors: binruan@chatlabs.com
|
8997
|
-
* @LastEditTime: 2024-
|
9095
|
+
* @LastEditTime: 2024-06-27 09:54:23
|
8998
9096
|
* @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetailDiroNew\settingRender.tsx
|
8999
9097
|
*
|
9000
9098
|
*/
|
@@ -9077,14 +9175,24 @@ var settingRender$3 = [
|
|
9077
9175
|
label: '标题字体',
|
9078
9176
|
child: [
|
9079
9177
|
{
|
9080
|
-
type: '
|
9081
|
-
name: ['
|
9178
|
+
type: 'Select',
|
9179
|
+
name: ['fontFamily-cn'],
|
9180
|
+
bottomText: '中文字体'
|
9082
9181
|
},
|
9083
9182
|
{
|
9084
9183
|
type: 'Select',
|
9085
|
-
|
9086
|
-
|
9087
|
-
|
9184
|
+
name: ['fontFamily-en'],
|
9185
|
+
bottomText: '英文/其他字体'
|
9186
|
+
}
|
9187
|
+
]
|
9188
|
+
},
|
9189
|
+
{
|
9190
|
+
type: 'Group',
|
9191
|
+
label: '',
|
9192
|
+
child: [
|
9193
|
+
{
|
9194
|
+
type: 'Color',
|
9195
|
+
name: ['color']
|
9088
9196
|
},
|
9089
9197
|
{
|
9090
9198
|
type: 'Number',
|
@@ -9156,15 +9264,25 @@ var settingRender$3 = [
|
|
9156
9264
|
label: '字体',
|
9157
9265
|
child: [
|
9158
9266
|
{
|
9159
|
-
type: '
|
9160
|
-
name: ['props', 'buttonStyle', '
|
9161
|
-
|
9267
|
+
type: 'Select',
|
9268
|
+
name: ['props', 'buttonStyle', 'fontFamily-cn'],
|
9269
|
+
bottomText: '中文字体'
|
9162
9270
|
},
|
9163
9271
|
{
|
9164
9272
|
type: 'Select',
|
9165
|
-
name: ['props', 'buttonStyle', 'fontFamily'],
|
9166
|
-
|
9167
|
-
|
9273
|
+
name: ['props', 'buttonStyle', 'fontFamily-en'],
|
9274
|
+
bottomText: '英文/其他字体'
|
9275
|
+
}
|
9276
|
+
]
|
9277
|
+
},
|
9278
|
+
{
|
9279
|
+
type: 'Group',
|
9280
|
+
label: '',
|
9281
|
+
child: [
|
9282
|
+
{
|
9283
|
+
type: 'Color',
|
9284
|
+
name: ['props', 'buttonStyle', 'color'],
|
9285
|
+
initialValue: '#fff'
|
9168
9286
|
},
|
9169
9287
|
{
|
9170
9288
|
type: 'Number',
|
@@ -9296,12 +9414,23 @@ Made in Italy` })));
|
|
9296
9414
|
React.createElement("div", { className: 'pb-commondityDiroNew-content' },
|
9297
9415
|
React.createElement("div", { className: 'pb-commondityDiroNew-content-top' },
|
9298
9416
|
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left' },
|
9299
|
-
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left-title', style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
|
9300
|
-
|
9417
|
+
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-left-title', style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title), dangerouslySetInnerHTML: {
|
9418
|
+
__html: setFontForText((_l = product === null || product === void 0 ? void 0 : product.title) !== null && _l !== void 0 ? _l : 'Large Dior Toujours BagLarge', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.title)
|
9419
|
+
} }),
|
9420
|
+
React.createElement("div", { className: 'pb-commondityDiroNew-content-collection', hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.collection) || (product === null || product === void 0 ? void 0 : product.collection) === ''), style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection), dangerouslySetInnerHTML: {
|
9421
|
+
__html: setFontForText((product === null || product === void 0 ? void 0 : product.collection) || 'Black Macrocannage CalfskinLarge', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.collection)
|
9422
|
+
} })),
|
9301
9423
|
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right' },
|
9302
|
-
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.price), style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price)
|
9303
|
-
|
9304
|
-
|
9424
|
+
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.price), style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price), dangerouslySetInnerHTML: {
|
9425
|
+
__html: setFontForText(priceText, commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.price)
|
9426
|
+
} }),
|
9427
|
+
React.createElement("div", { className: 'pb-commondityDiroNew-content-top-right-price', hidden: !!product && !(product === null || product === void 0 ? void 0 : product.taxInfo), style: getStyle(commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo), dangerouslySetInnerHTML: {
|
9428
|
+
__html: setFontForText((_m = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _m !== void 0 ? _m : '税费', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo)
|
9429
|
+
} }))),
|
9430
|
+
(!product || (product === null || product === void 0 ? void 0 : product.link)) && (React.createElement("button", { "aria-label": (_o = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _o !== void 0 ? _o : 'Shop now', onClick: handleLink, className: 'pb-commondityDiroNew-btn', style: buttonStyle },
|
9431
|
+
React.createElement("span", { dangerouslySetInnerHTML: {
|
9432
|
+
__html: setFontForText((_p = cta === null || cta === void 0 ? void 0 : cta.enTitle) !== null && _p !== void 0 ? _p : 'Shop now', buttonStyle)
|
9433
|
+
} }))),
|
9305
9434
|
productInfoText({ isPost }))),
|
9306
9435
|
React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) }, productInfoText({ isPost: false }))));
|
9307
9436
|
};
|
@@ -9373,12 +9502,11 @@ const CommodityDetailDiroNew = createMaterial(CommodityDetailDiroNewComponent, {
|
|
9373
9502
|
sort: 1
|
9374
9503
|
});
|
9375
9504
|
|
9376
|
-
var _a$1, _b$1;
|
9377
9505
|
/*
|
9378
9506
|
* @Author: binruan@chatlabs.com
|
9379
9507
|
* @Date: 2024-03-26 16:50:25
|
9380
9508
|
* @LastEditors: binruan@chatlabs.com
|
9381
|
-
* @LastEditTime: 2024-
|
9509
|
+
* @LastEditTime: 2024-06-27 09:55:59
|
9382
9510
|
* @FilePath: \pb-sxp-ui\src\materials\sxp\template\components\settingRender.tsx
|
9383
9511
|
*
|
9384
9512
|
*/
|
@@ -9499,14 +9627,24 @@ var settingRender$2 = [
|
|
9499
9627
|
label: '字体',
|
9500
9628
|
child: [
|
9501
9629
|
{
|
9502
|
-
type: '
|
9503
|
-
name: ['props', 'ctaTempStyles', 'title', '
|
9630
|
+
type: 'Select',
|
9631
|
+
name: ['props', 'ctaTempStyles', 'title', 'fontFamily-cn'],
|
9632
|
+
bottomText: '中文字体'
|
9504
9633
|
},
|
9505
9634
|
{
|
9506
9635
|
type: 'Select',
|
9507
|
-
|
9508
|
-
|
9509
|
-
|
9636
|
+
name: ['props', 'ctaTempStyles', 'title', 'fontFamily-en'],
|
9637
|
+
bottomText: '英文/其他字体'
|
9638
|
+
}
|
9639
|
+
]
|
9640
|
+
},
|
9641
|
+
{
|
9642
|
+
type: 'Group',
|
9643
|
+
label: '',
|
9644
|
+
child: [
|
9645
|
+
{
|
9646
|
+
type: 'Color',
|
9647
|
+
name: ['props', 'ctaTempStyles', 'title', 'color']
|
9510
9648
|
},
|
9511
9649
|
{
|
9512
9650
|
type: 'Number',
|
@@ -9578,14 +9716,24 @@ var settingRender$2 = [
|
|
9578
9716
|
label: '字体',
|
9579
9717
|
child: [
|
9580
9718
|
{
|
9581
|
-
type: '
|
9582
|
-
name: ['props', 'ctaTempStyles', 'ctaTitle', '
|
9719
|
+
type: 'Select',
|
9720
|
+
name: ['props', 'ctaTempStyles', 'ctaTitle', 'fontFamily-cn'],
|
9721
|
+
bottomText: '中文字体'
|
9583
9722
|
},
|
9584
9723
|
{
|
9585
9724
|
type: 'Select',
|
9586
|
-
|
9587
|
-
|
9588
|
-
|
9725
|
+
name: ['props', 'ctaTempStyles', 'ctaTitle', 'fontFamily-en'],
|
9726
|
+
bottomText: '英文/其他字体'
|
9727
|
+
}
|
9728
|
+
]
|
9729
|
+
},
|
9730
|
+
{
|
9731
|
+
type: 'Group',
|
9732
|
+
label: '',
|
9733
|
+
child: [
|
9734
|
+
{
|
9735
|
+
type: 'Color',
|
9736
|
+
name: ['props', 'ctaTempStyles', 'ctaTitle', 'color']
|
9589
9737
|
},
|
9590
9738
|
{
|
9591
9739
|
type: 'Number',
|
@@ -9724,8 +9872,12 @@ const Commodity$1 = (_a) => {
|
|
9724
9872
|
width: '100%',
|
9725
9873
|
overflow: 'hidden'
|
9726
9874
|
}) },
|
9727
|
-
React.createElement("div", { className: styles$6['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
9728
|
-
|
9875
|
+
React.createElement("div", { className: styles$6['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
9876
|
+
__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)
|
9877
|
+
} }),
|
9878
|
+
React.createElement("div", { className: css.css(Object.assign({ padding: '0 7px', textOverflow: 'ellipsis', overflow: 'hidden', 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: {
|
9879
|
+
__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)
|
9880
|
+
} }))));
|
9729
9881
|
};
|
9730
9882
|
var CommodityComponent = React.memo(Commodity$1);
|
9731
9883
|
|
@@ -9805,7 +9957,9 @@ const Appoint$1 = (_a) => {
|
|
9805
9957
|
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;
|
9806
9958
|
return (React.createElement(EventProvider$1, Object.assign({ isExternalLink: isExternalLink, rec: recData, className: css.css(Object.assign({ alignItems: 'center' }, style)), style: { display: 'flex' }, index: index }, props),
|
9807
9959
|
React.createElement(Img$1, { 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 }),
|
9808
|
-
React.createElement("div", { className: css.css(Object.assign({ overflow: 'hidden', textOverflow: 'ellipsis' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle))
|
9960
|
+
React.createElement("div", { className: css.css(Object.assign({ overflow: 'hidden', textOverflow: 'ellipsis' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
|
9961
|
+
__html: 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)
|
9962
|
+
} })));
|
9809
9963
|
};
|
9810
9964
|
var AppointComponent = React.memo(Appoint$1);
|
9811
9965
|
|
@@ -9883,7 +10037,9 @@ const Link$1 = (_a) => {
|
|
9883
10037
|
width: '100%',
|
9884
10038
|
overflow: 'hidden'
|
9885
10039
|
}) },
|
9886
|
-
React.createElement("div", { className: styles$5['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle
|
10040
|
+
React.createElement("div", { className: styles$5['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle, dangerouslySetInnerHTML: {
|
10041
|
+
__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)
|
10042
|
+
} }))));
|
9887
10043
|
};
|
9888
10044
|
var LinkComponent = React.memo(Link$1);
|
9889
10045
|
|
@@ -9951,7 +10107,7 @@ var interactionRender$4 = [
|
|
9951
10107
|
var styles$4 = {"tow-line-ellipsis":"index-module_tow-line-ellipsis__yyHVb"};
|
9952
10108
|
|
9953
10109
|
const CommodityDiro$1 = (_a) => {
|
9954
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
10110
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
9955
10111
|
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"]);
|
9956
10112
|
const { sxpParameter } = useSxpDataSource();
|
9957
10113
|
const product = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProduct;
|
@@ -9966,8 +10122,12 @@ const CommodityDiro$1 = (_a) => {
|
|
9966
10122
|
width: '100%',
|
9967
10123
|
overflow: 'hidden'
|
9968
10124
|
}) },
|
9969
|
-
React.createElement("div", { className: styles$4['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
9970
|
-
|
10125
|
+
React.createElement("div", { className: styles$4['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
10126
|
+
__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)
|
10127
|
+
} }),
|
10128
|
+
React.createElement("div", { className: css.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: {
|
10129
|
+
__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)
|
10130
|
+
} }))));
|
9971
10131
|
};
|
9972
10132
|
var CommodityDiroComponent = React.memo(CommodityDiro$1);
|
9973
10133
|
|
@@ -10057,8 +10217,12 @@ const CommodityDiroNew$1 = (_a) => {
|
|
10057
10217
|
width: '100%',
|
10058
10218
|
overflow: 'hidden'
|
10059
10219
|
}) },
|
10060
|
-
React.createElement("div", { className: styles$3['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
10061
|
-
|
10220
|
+
React.createElement("div", { className: styles$3['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
10221
|
+
__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)
|
10222
|
+
} }),
|
10223
|
+
React.createElement("div", { className: css.css(Object.assign({ textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
|
10224
|
+
__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)
|
10225
|
+
} }))));
|
10062
10226
|
};
|
10063
10227
|
var CommodityDiroNewComponent = React.memo(CommodityDiroNew$1);
|
10064
10228
|
|
@@ -10162,7 +10326,7 @@ const MultiCommodityDiro$1 = (_a) => {
|
|
10162
10326
|
}
|
10163
10327
|
}, popup === null || popup === void 0 ? void 0 : popup.duration);
|
10164
10328
|
return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item) => {
|
10165
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
10329
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
10166
10330
|
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.css(Object.assign(Object.assign({}, style), { display: 'flex', flexShrink: 0, marginLeft: 0, marginRight: '8px' })) }, props, { onClick: () => handleClick(item) }),
|
10167
10331
|
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 }),
|
10168
10332
|
React.createElement("div", { className: css.css({
|
@@ -10173,8 +10337,12 @@ const MultiCommodityDiro$1 = (_a) => {
|
|
10173
10337
|
width: '100%',
|
10174
10338
|
overflow: 'hidden'
|
10175
10339
|
}) },
|
10176
|
-
React.createElement("div", { className: styles$2['two-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
10177
|
-
|
10340
|
+
React.createElement("div", { className: styles$2['two-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
10341
|
+
__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)
|
10342
|
+
} }),
|
10343
|
+
React.createElement("div", { className: css.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: {
|
10344
|
+
__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)
|
10345
|
+
} }))))));
|
10178
10346
|
})));
|
10179
10347
|
};
|
10180
10348
|
var MultiCommodityDiroComponent = React.memo(MultiCommodityDiro$1);
|
@@ -10285,8 +10453,12 @@ const MultiCommodity$1 = (_a) => {
|
|
10285
10453
|
width: '100%',
|
10286
10454
|
overflow: 'hidden'
|
10287
10455
|
}) },
|
10288
|
-
React.createElement("div", { className: styles$1['two-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
10289
|
-
|
10456
|
+
React.createElement("div", { className: styles$1['two-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
10457
|
+
__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)
|
10458
|
+
} }),
|
10459
|
+
React.createElement("div", { className: css.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: {
|
10460
|
+
__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)
|
10461
|
+
} }))))));
|
10290
10462
|
})));
|
10291
10463
|
};
|
10292
10464
|
var MultiCommodityComponent = React.memo(MultiCommodity$1);
|
@@ -10397,8 +10569,12 @@ const MultiCommodityDiroNew$1 = (_a) => {
|
|
10397
10569
|
overflow: 'hidden',
|
10398
10570
|
lineHeight: '20px'
|
10399
10571
|
}) },
|
10400
|
-
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title
|
10401
|
-
|
10572
|
+
React.createElement("div", { className: styles['tow-line-ellipsis'], style: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.title, dangerouslySetInnerHTML: {
|
10573
|
+
__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)
|
10574
|
+
} }),
|
10575
|
+
React.createElement("div", { className: css.css(Object.assign({ textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' }, ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.ctaTitle)), dangerouslySetInnerHTML: {
|
10576
|
+
__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)
|
10577
|
+
} }))))));
|
10402
10578
|
})));
|
10403
10579
|
};
|
10404
10580
|
var MultiCommodityDiroNewComponent = React.memo(MultiCommodityDiroNew$1);
|
@@ -10460,12 +10636,11 @@ const MultiCommodityDiroNew = createMaterial(MultiCommodityDiroNewComponent, {
|
|
10460
10636
|
sort: 4
|
10461
10637
|
});
|
10462
10638
|
|
10463
|
-
var _a, _b;
|
10464
10639
|
/*
|
10465
10640
|
* @Author: binruan@chatlabs.com
|
10466
10641
|
* @Date: 2024-04-07 14:07:12
|
10467
10642
|
* @LastEditors: binruan@chatlabs.com
|
10468
|
-
* @LastEditTime: 2024-06-
|
10643
|
+
* @LastEditTime: 2024-06-27 09:49:19
|
10469
10644
|
* @FilePath: \pb-sxp-ui\src\materials\sxp\HashTag\settingRender.tsx
|
10470
10645
|
*
|
10471
10646
|
*/
|
@@ -10537,14 +10712,24 @@ var settingRender$1 = [
|
|
10537
10712
|
label: '标题字体',
|
10538
10713
|
child: [
|
10539
10714
|
{
|
10540
|
-
type: '
|
10541
|
-
name: ['
|
10715
|
+
type: 'Select',
|
10716
|
+
name: ['fontFamily-cn'],
|
10717
|
+
bottomText: '中文字体'
|
10542
10718
|
},
|
10543
10719
|
{
|
10544
10720
|
type: 'Select',
|
10545
|
-
|
10546
|
-
|
10547
|
-
|
10721
|
+
name: ['fontFamily-en'],
|
10722
|
+
bottomText: '英文/其他字体'
|
10723
|
+
}
|
10724
|
+
]
|
10725
|
+
},
|
10726
|
+
{
|
10727
|
+
type: 'Group',
|
10728
|
+
label: '',
|
10729
|
+
child: [
|
10730
|
+
{
|
10731
|
+
type: 'Color',
|
10732
|
+
name: ['color']
|
10548
10733
|
},
|
10549
10734
|
{
|
10550
10735
|
type: 'Number',
|
@@ -10611,15 +10796,25 @@ var settingRender$1 = [
|
|
10611
10796
|
label: '字体',
|
10612
10797
|
child: [
|
10613
10798
|
{
|
10614
|
-
type: '
|
10615
|
-
name: ['props', 'buttonStyle', '
|
10616
|
-
|
10799
|
+
type: 'Select',
|
10800
|
+
name: ['props', 'buttonStyle', 'fontFamily-cn'],
|
10801
|
+
bottomText: '中文字体'
|
10617
10802
|
},
|
10618
10803
|
{
|
10619
10804
|
type: 'Select',
|
10620
|
-
name: ['props', 'buttonStyle', 'fontFamily'],
|
10621
|
-
|
10622
|
-
|
10805
|
+
name: ['props', 'buttonStyle', 'fontFamily-en'],
|
10806
|
+
bottomText: '英文/其他字体'
|
10807
|
+
}
|
10808
|
+
]
|
10809
|
+
},
|
10810
|
+
{
|
10811
|
+
type: 'Group',
|
10812
|
+
label: '',
|
10813
|
+
child: [
|
10814
|
+
{
|
10815
|
+
type: 'Color',
|
10816
|
+
name: ['props', 'buttonStyle', 'color'],
|
10817
|
+
initialValue: '#fff'
|
10623
10818
|
},
|
10624
10819
|
{
|
10625
10820
|
type: 'Number',
|
@@ -10666,7 +10861,7 @@ var settingRender$1 = [
|
|
10666
10861
|
* @Author: binruan@chatlabs.com
|
10667
10862
|
* @Date: 2023-12-26 16:11:34
|
10668
10863
|
* @LastEditors: binruan@chatlabs.com
|
10669
|
-
* @LastEditTime: 2024-
|
10864
|
+
* @LastEditTime: 2024-06-27 10:19:28
|
10670
10865
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Navbar.tsx
|
10671
10866
|
*
|
10672
10867
|
*/
|
@@ -10675,7 +10870,9 @@ const Navbar = ({ icon, styles, textStyle, onClose }) => {
|
|
10675
10870
|
const { waterFallData, setOpenHashtag } = useSxpDataSource();
|
10676
10871
|
return (React.createElement("div", { className: 'clc-sxp-nav', style: styles },
|
10677
10872
|
React.createElement("img", { className: 'clc-sxp-nav-left', src: icon, alt: 'back button', onClick: onClose }),
|
10678
|
-
React.createElement("div", { className: 'clc-sxp-nav-title', style: textStyle
|
10873
|
+
React.createElement("div", { className: 'clc-sxp-nav-title', style: textStyle, dangerouslySetInnerHTML: {
|
10874
|
+
__html: setFontForText(`#${(_a = waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag) !== null && _a !== void 0 ? _a : '标题'}`, textStyle)
|
10875
|
+
} })));
|
10679
10876
|
};
|
10680
10877
|
var Navbar$1 = React.memo(Navbar);
|
10681
10878
|
|
@@ -12062,11 +12259,15 @@ const WaterfallFlowItem$1 = (props) => {
|
|
12062
12259
|
React.createElement("div", { className: 'waterFallList-content-listItem-picture', ref: pictRef },
|
12063
12260
|
React.createElement(FormatImage$1, { loading: 'lazy', className: 'waterFallList-content-listItem-picture-img', onLoad: imgLoad, ref: imgDom })),
|
12064
12261
|
React.createElement("div", { className: 'waterFallList-content-listItem-info' },
|
12065
|
-
React.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)
|
12066
|
-
|
12262
|
+
React.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: {
|
12263
|
+
__html: setFontForText(title, textStyles === null || textStyles === void 0 ? void 0 : textStyles.title)
|
12264
|
+
} }),
|
12265
|
+
React.createElement("div", { className: 'waterFallList-content-listItem-info-price', hidden: !priceText, style: textStyles.price, dangerouslySetInnerHTML: {
|
12266
|
+
__html: setFontForText(priceText, textStyles === null || textStyles === void 0 ? void 0 : textStyles.price)
|
12267
|
+
} }))));
|
12067
12268
|
};
|
12068
12269
|
function WaterfallList$1(_a) {
|
12069
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
12270
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
|
12070
12271
|
var { reportTagsView, showBanner } = _a, props = __rest(_a, ["reportTagsView", "showBanner"]);
|
12071
12272
|
const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
|
12072
12273
|
/** 滚动的父元素 */
|
@@ -12276,25 +12477,31 @@ function WaterfallList$1(_a) {
|
|
12276
12477
|
objectFit: 'cover',
|
12277
12478
|
marginBottom: '20px'
|
12278
12479
|
}), src: (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.picture }))),
|
12279
|
-
React.createElement("div", { className: 'waterFallList-info', style: (_d = props === null || props === void 0 ? void 0 : props.textStyles) === null || _d === void 0 ? void 0 : _d.hashTagDesc
|
12280
|
-
|
12480
|
+
React.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: {
|
12481
|
+
__html: 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)
|
12482
|
+
} }),
|
12483
|
+
React.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: {
|
12484
|
+
__html: 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)
|
12485
|
+
} }),
|
12281
12486
|
React.createElement("div", { className: 'waterFallList-content' }, list === null || list === void 0 ? void 0 :
|
12282
12487
|
list.map((item, ind) => {
|
12283
12488
|
var _a;
|
12284
12489
|
return (React.createElement(WaterfallFlowItem$1, 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)));
|
12285
12490
|
}),
|
12286
|
-
React.createElement("div", { hidden: !((
|
12491
|
+
React.createElement("div", { hidden: !((_l = data === null || data === void 0 ? void 0 : data.tag) === null || _l === void 0 ? void 0 : _l.link), style: {
|
12287
12492
|
position: 'absolute',
|
12288
12493
|
width: '100%',
|
12289
|
-
transform: `translate(0px,${(
|
12290
|
-
((
|
12291
|
-
height: ((
|
12292
|
-
? ((
|
12494
|
+
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) +
|
12495
|
+
((_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)`,
|
12496
|
+
height: ((_s = data === null || data === void 0 ? void 0 : data.tag) === null || _s === void 0 ? void 0 : _s.link)
|
12497
|
+
? ((_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'
|
12293
12498
|
: 0
|
12294
12499
|
} }))),
|
12295
|
-
React.createElement("div", { className: 'waterFallList-bottom', hidden: !((
|
12296
|
-
React.createElement("div", { ref: buttonRef, hidden: !((
|
12297
|
-
React.createElement("button", { "aria-label": ((
|
12500
|
+
React.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 }),
|
12501
|
+
React.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' }) },
|
12502
|
+
React.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: {
|
12503
|
+
__html: 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)
|
12504
|
+
} }))))));
|
12298
12505
|
}
|
12299
12506
|
|
12300
12507
|
var img$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAaZJREFUeF7t2jFKBEEQRuG3mSJeQTARURDMTL2EqXfwAnoKD6FHMDEzNVIw2tzQC2gFggyDrExX1V92T7wz9PumFnqbXdH5teq8nwEwJqBzgfEVKDYAW8Ae8NZq3ZUm4Aa4AnaBR+C8BUIVAIu/ngSfAs9LESoAWLgB/LzWwP7SeLtfHWAu3tZ9Adz/dwD3eOUJCIlXBQiLVwQIjVcDCI9XAkiJVwFIi1cASI3PBpjb3jbd5GyyUcraCUrEZ02ATHwGgFR8NIBcfCSAZHwUgGx8BIB0vDeAfLwnQIl4L4Ay8R4ApeJbA2wD78DOZA/e7ABzk739Xz/T8rfAIfA6WYCd3BqA7NUSwCKfgLNKCK0BjoC7rzP74yoIrQGsuxSCB0ApBC+AMgieACUQvAHkESIApBGiAGQRIgEkEaIB5BAyAKQQsgBkEDIBJBCyAdIRFABSEVQA0hCUAFIQ1ADCERQBQhFUAcIQlAFCENQBfkOwg9eXpeftFQDmEOzv8ifARy8A3wiXwAHwANwujbf7q0xAi9bZZwwAN9oiDx4TUORFuS2z+wn4BAiAaEHnKChjAAAAAElFTkSuQmCC";
|
@@ -12419,11 +12626,15 @@ const WaterfallFlowItem = (props) => {
|
|
12419
12626
|
React.createElement("canvas", { ref: canvasRef }))),
|
12420
12627
|
React.createElement(FormatImage$1, { loading: 'lazy', className: 'list-content-listItem-picture-img', ref: imgDom })),
|
12421
12628
|
React.createElement("div", { className: 'list-content-listItem-info' },
|
12422
|
-
React.createElement("div", { className: `${'list-content-listItem-info-title'} ${priceText ? 'list-content-listItem-info-nowrap' : ''}`, style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.title
|
12423
|
-
|
12629
|
+
React.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: {
|
12630
|
+
__html: setFontForText(title, textStyles === null || textStyles === void 0 ? void 0 : textStyles.title)
|
12631
|
+
} }),
|
12632
|
+
React.createElement("div", { className: 'list-content-listItem-info-price', style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.price, hidden: !priceText, dangerouslySetInnerHTML: {
|
12633
|
+
__html: setFontForText(priceText, textStyles === null || textStyles === void 0 ? void 0 : textStyles.price)
|
12634
|
+
} }))));
|
12424
12635
|
};
|
12425
12636
|
function WaterfallList(_a) {
|
12426
|
-
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
12637
|
+
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
12427
12638
|
var { reportTagsView, showBanner } = _a, props = __rest(_a, ["reportTagsView", "showBanner"]);
|
12428
12639
|
const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
|
12429
12640
|
const [list, setList] = React.useState();
|
@@ -12501,18 +12712,24 @@ function WaterfallList(_a) {
|
|
12501
12712
|
objectFit: 'cover',
|
12502
12713
|
marginBottom: '20px'
|
12503
12714
|
}), src: (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.picture }))),
|
12504
|
-
React.createElement("div", { className: 'list-info', style: (_d = props === null || props === void 0 ? void 0 : props.textStyles) === null || _d === void 0 ? void 0 : _d.hashTagDesc
|
12505
|
-
|
12715
|
+
React.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: {
|
12716
|
+
__html: 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)
|
12717
|
+
} }),
|
12718
|
+
React.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: {
|
12719
|
+
__html: 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)
|
12720
|
+
} }),
|
12506
12721
|
React.createElement("div", { className: 'list-content' }, list === null || list === void 0 ? void 0 : list.map((item, ind) => {
|
12507
12722
|
return (React.createElement(WaterfallFlowItem, Object.assign({ key: ind, index: ind, rec: item, list: list, reportTagsView: reportTagsView }, props)));
|
12508
12723
|
})),
|
12509
12724
|
React.createElement("div", { hidden: !isLoadMore, style: { textAlign: 'center' } }, "loading..."),
|
12510
|
-
React.createElement("div", { hidden: !((
|
12511
|
-
height: ((
|
12725
|
+
React.createElement("div", { hidden: !((_l = data === null || data === void 0 ? void 0 : data.tag) === null || _l === void 0 ? void 0 : _l.link), style: {
|
12726
|
+
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
|
12512
12727
|
} })),
|
12513
|
-
React.createElement("div", { className: 'list-bottom', hidden: !((
|
12514
|
-
React.createElement("div", { hidden: !((
|
12515
|
-
React.createElement("button", { "aria-label": ((
|
12728
|
+
React.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 }),
|
12729
|
+
React.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' }) },
|
12730
|
+
React.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: {
|
12731
|
+
__html: 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)
|
12732
|
+
} }))))));
|
12516
12733
|
}
|
12517
12734
|
|
12518
12735
|
/*
|
@@ -12866,7 +13083,7 @@ var LikeButton$1 = React.memo(LikeButton);
|
|
12866
13083
|
|
12867
13084
|
var img$1 = "data:image/gif;base64,R0lGODlhlgCWAPf/AAAAAICAgMzMzMzMzNXV1dXV1dXV1dfX19jOztjY2NvOztvb29zc3N/Pz9/V1d/f3+Pj4+bm5ubm5ujR0ejg4Ojo6Onp6erj4+rj4+rl5evr6+vr6+3k5O3t7e3t7e7u7u7u7u/v7/Dw8PDw8PHx8fHx8fHx8fLs7PLu7vLu7vLy8vPu7vPz8/Tp6fTx8fTx8fT09PT09PT09PXw8Pbx8fbz8/b29vb29vb29vb29vb29vf09Pf39/f39/f39/f39/f39/f39/f39/f39/f39/j09Pj09Pj19fj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pn29vn39/n5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fr09Pr4+Pr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vv39/v39/v4+Pv5+fv5+fv6+vv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/z4+Pz5+fz5+fz5+fz6+vz6+vz6+vz6+vz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P36+v36+v36+v37+/37+/37+/37+/38/P38/P38/P38/P39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f78/P78/P78/P78/P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v/V1f/39//4+P/6+v/7+//8/P/8/P/9/f/9/f/9/f/9/f/+/v/+/v/+/v/+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wD/ACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAwBLACxFABcADwAMAIYAAACAgIDMzMzV1dXX19fYzs7Y2Njbzs7b29vc3Nzfz8/f1dXf39/j4+Pm5ubo0dHo4ODo6Ojp6enq4+Pq5eXr6+vt5OTt7e3u7u7v7+/w8PDx8fHy7Ozy7u7y8vLz7u7z8/P06en08fH09PT18PD28fH28/P29vb39PT39/f49PT49fX4+Pj59vb59/f5+fn69PT6+Pj6+vr79/f7+Pj7+fn7+vr7+/v8+Pj8+fn8+vr8/Pz9+vr9+/v9/Pz9/f3+/Pz+/v7/1dX/9/f/+Pj/+vr/+/v//Pz//f3//v7///8A/wD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8IUgCXCNzxI8gOJQV3CFy4RIkMJTccQnQYZCGShAgNZiS45MfDiB8lglzSQyPGk0FCqpwY8iBKlyZFyly5xKRNmAJrzGQJcWFJmDB1MBQ4MwnDgAAAIfkECQQA/wAsRwAXAA8ADAAACFMA/wkslAhcqWKJsLkRyPAfODfgujyM+LAYQ4QGMR4sWGrhRIkQQVJcyFGjyYJrRqoU2aXYxowlS7L8SBNiIZg4XwqcGfIjw5g5G/6zUROcDYYBAQAh+QQJAwD/ACxIABcAEAAMAAAIWwD/CfzXqVSxRNgSlRrIEAm4LuDcPIz4sBNDcAYTYTy4MVEigRMlQhRJsYvAjB1TGuxio6RLkhJDaURJk+PCkDhHTvxXc6bNgzxh5ow40E3Pjm4Y/lszNKnAgAAAIfkECQMA/wAsSgAXABEADQAACGUA/wn856YLtkSlBioceAScG3BdHEJ0uLBLsUTgSl3MuLFUooESIz4UOfHhvzYYNabs2PFflJIwSUZcU0olx5U4SyEJyXNkyH84bwotFepfzJ4TB7IMqrGLwlIyeUZZuNAjR4UBAQAh+QQJBAD/ACxMABcAEgAOAAAIaAD/CRTYpdTAgwgFgusCzs1CcGvAJfwXBVypYoksYtSYqNjBhw4Zhmy4kJvAUhczpuTIEds/kSBjwiy4caXNmhhH6pRJEiVOlT8t/iM5kyhRk0NvAgX6cWfRKBNLLdXYZiLCiEhCHQwIACH5BAkDAP8ALE4AGAATAA4AAAhkAP8JBOcGXBeCxQQqXCiwWCJwpRxClMhwYMGDFwka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";
|
12868
13085
|
|
12869
|
-
const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoRef }) => {
|
13086
|
+
const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoRef, videoPlayIcon }) => {
|
12870
13087
|
const [isPauseVideo, setIsPauseVideo] = React.useState(false);
|
12871
13088
|
const { bffEventReport, sxpParameter, waterFallData, openHashtag, bffFbReport } = useSxpDataSource();
|
12872
13089
|
const videoStartTime = React.useRef(0);
|
@@ -13193,7 +13410,7 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
13193
13410
|
} },
|
13194
13411
|
React.createElement("div", { style: { position: 'relative', width: '100%', height: '100%' } },
|
13195
13412
|
React.createElement("div", { className: 'n-full-screen', ref: videoEleRef, id: videoId, style: { width: '100%', height: '100%' } }),
|
13196
|
-
React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', alt: 'pause', src: PAUSE_ICON }))),
|
13413
|
+
React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', alt: 'pause', src: videoPlayIcon !== null && videoPlayIcon !== void 0 ? videoPlayIcon : PAUSE_ICON }))),
|
13197
13414
|
renderPoster,
|
13198
13415
|
renderLoading)) : (React.createElement("div", { className: 'video-container', key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, style: {
|
13199
13416
|
position: 'relative',
|
@@ -13204,7 +13421,7 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
13204
13421
|
React.createElement("div", { className: 'n-full-screen', ref: videoEleRef, id: videoId, style: { width: '100%', height: '100%' } }),
|
13205
13422
|
renderPoster,
|
13206
13423
|
renderLoading,
|
13207
|
-
React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: PAUSE_ICON, alt: 'pause' })))));
|
13424
|
+
React.createElement("img", { hidden: !isPauseVideo, className: 'clc-pb-video-pause', src: videoPlayIcon !== null && videoPlayIcon !== void 0 ? videoPlayIcon : PAUSE_ICON, alt: 'pause' })))));
|
13208
13425
|
};
|
13209
13426
|
var VideoWidget$3 = React.memo(VideoWidget$2);
|
13210
13427
|
|
@@ -13346,7 +13563,7 @@ var PictureGroup$3 = React.memo(PictureGroup$2);
|
|
13346
13563
|
* @Author: binruan@chatlabs.com
|
13347
13564
|
* @Date: 2024-01-15 19:03:09
|
13348
13565
|
* @LastEditors: binruan@chatlabs.com
|
13349
|
-
* @LastEditTime: 2024-
|
13566
|
+
* @LastEditTime: 2024-06-26 18:52:46
|
13350
13567
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Hashtag\index.tsx
|
13351
13568
|
*
|
13352
13569
|
*/
|
@@ -13383,7 +13600,8 @@ const Hashtag = ({ tags, itemId, itemType, index, rec, hashTagStyle }) => {
|
|
13383
13600
|
return (React.createElement("span", { style: { textDecoration: 'underline', cursor: 'pointer', color: '#fff' }, onClick: () => setIsShowMore(!isShowMore) }, isShowMore ? 'show less' : 'show more'));
|
13384
13601
|
}, [isShowMore, tags]);
|
13385
13602
|
return (React.createElement("div", { className: 'clc-sxp-bottom-hashtag' },
|
13386
|
-
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) },
|
13603
|
+
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) },
|
13604
|
+
React.createElement("div", { dangerouslySetInnerHTML: { __html: setFontForText(`#${item}`, hashTagStyle) } })))))));
|
13387
13605
|
};
|
13388
13606
|
var Hashtag$1 = React.memo(Hashtag);
|
13389
13607
|
|
@@ -13520,11 +13738,11 @@ const Nudge = ({ nudge }) => {
|
|
13520
13738
|
* @Author: binruan@chatlabs.com
|
13521
13739
|
* @Date: 2024-04-29 16:32:21
|
13522
13740
|
* @LastEditors: binruan@chatlabs.com
|
13523
|
-
* @LastEditTime: 2024-06-
|
13741
|
+
* @LastEditTime: 2024-06-28 18:03:50
|
13524
13742
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Tagbar.tsx
|
13525
13743
|
*
|
13526
13744
|
*/
|
13527
|
-
const Tagbar = ({ tagList = [], setActiveIndex }) => {
|
13745
|
+
const Tagbar = ({ tagList = [], setActiveIndex, style }) => {
|
13528
13746
|
const { getRecommendVideos, setRtcList, setCacheRtcList, setCacheActiveIndex, setLoading, swiperRef, waterFallData, bffEventReport, selectTag, setSelectTag } = useSxpDataSource();
|
13529
13747
|
const { backMainFeed } = useEventReport();
|
13530
13748
|
const realTagList = React.useMemo(() => {
|
@@ -13565,7 +13783,7 @@ const Tagbar = ({ tagList = [], setActiveIndex }) => {
|
|
13565
13783
|
};
|
13566
13784
|
if (waterFallData || tagList.length <= 0)
|
13567
13785
|
return null;
|
13568
|
-
return (React.createElement("div", { className: 'clc-sxp-tagbar' },
|
13786
|
+
return (React.createElement("div", { className: 'clc-sxp-tagbar', style: style },
|
13569
13787
|
React.createElement("ul", { className: 'clc-sxp-tagbar-list', style: { margin: 'auto', gap: 24 } }, realTagList.map((tag) => {
|
13570
13788
|
return (React.createElement("li", { className: `clc-sxp-tagbar-list-item ${tag === selectTag ? 'clc-sxp-tagbar-list-item-active' : ''}`, key: tag, onClick: handleSelectTag(tag) }, tag));
|
13571
13789
|
}))));
|
@@ -13576,7 +13794,7 @@ var Tagbar$1 = React.memo(Tagbar);
|
|
13576
13794
|
* @Author: binruan@chatlabs.com
|
13577
13795
|
* @Date: 2024-01-15 19:03:09
|
13578
13796
|
* @LastEditors: binruan@chatlabs.com
|
13579
|
-
* @LastEditTime: 2024-06-
|
13797
|
+
* @LastEditTime: 2024-06-28 14:53:42
|
13580
13798
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
13581
13799
|
*
|
13582
13800
|
*/
|
@@ -13730,11 +13948,14 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
13730
13948
|
}
|
13731
13949
|
return h;
|
13732
13950
|
}, [tagList, waterFallData]);
|
13733
|
-
const
|
13951
|
+
const minusHeight = React.useMemo(() => {
|
13734
13952
|
let minusHeight = 0;
|
13735
13953
|
if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo)) {
|
13736
13954
|
minusHeight += 45;
|
13737
13955
|
}
|
13956
|
+
return minusHeight;
|
13957
|
+
}, []);
|
13958
|
+
const height = React.useMemo(() => {
|
13738
13959
|
return containerHeight - minusHeight - tagHeight;
|
13739
13960
|
}, [globalConfig, containerHeight, tagHeight]);
|
13740
13961
|
const renderLogo = React.useMemo(() => {
|
@@ -13747,7 +13968,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
13747
13968
|
const renderContent = React.useCallback((rec, index) => {
|
13748
13969
|
var _a, _b, _c, _d;
|
13749
13970
|
if ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.url) {
|
13750
|
-
return (React.createElement(VideoWidget$3, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoRef: videoRef.current }));
|
13971
|
+
return (React.createElement(VideoWidget$3, { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoRef: videoRef.current, videoPlayIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon }));
|
13751
13972
|
}
|
13752
13973
|
if ((_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.imgUrls) {
|
13753
13974
|
return (React.createElement(PictureGroup$3, { 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 }));
|
@@ -13769,6 +13990,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
13769
13990
|
isMuted,
|
13770
13991
|
activeIndex,
|
13771
13992
|
globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost,
|
13993
|
+
globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon,
|
13772
13994
|
viewTime,
|
13773
13995
|
tipText,
|
13774
13996
|
resolver,
|
@@ -13970,7 +14192,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
13970
14192
|
setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(true);
|
13971
14193
|
} })),
|
13972
14194
|
renderLogo,
|
13973
|
-
React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex
|
14195
|
+
React.createElement(Tagbar$1, { tagList: tagList, setActiveIndex: setActiveIndex, style: {
|
14196
|
+
top: minusHeight
|
14197
|
+
} }),
|
13974
14198
|
isShowFingerTip ? (React.createElement(FingerSwipeTip, { imageUrl: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipIcon, style: { top: `${50 + ((_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.swipeTipOffset) !== null && _a !== void 0 ? _a : 0)}%` } })) : null,
|
13975
14199
|
React.createElement(Swiper, { style: {
|
13976
14200
|
marginTop: tagHeight
|
@@ -14484,7 +14708,7 @@ var index = React.memo(SxpPageCore);
|
|
14484
14708
|
* @Author: binruan@chatlabs.com
|
14485
14709
|
* @Date: 2023-12-26 10:38:53
|
14486
14710
|
* @LastEditors: binruan@chatlabs.com
|
14487
|
-
* @LastEditTime: 2024-
|
14711
|
+
* @LastEditTime: 2024-06-25 11:20:15
|
14488
14712
|
* @FilePath: \pb-sxp-ui\src\core\context\EditorDataProvider.tsx
|
14489
14713
|
*
|
14490
14714
|
*/
|
@@ -14513,7 +14737,8 @@ const EditorDataProvider = ({ children, data }) => {
|
|
14513
14737
|
openHashtag,
|
14514
14738
|
setOpenHashtag,
|
14515
14739
|
openConsent,
|
14516
|
-
setOpenConsent
|
14740
|
+
setOpenConsent,
|
14741
|
+
sxpFontLinks: data === null || data === void 0 ? void 0 : data.sxpFontLinks
|
14517
14742
|
} }, children));
|
14518
14743
|
};
|
14519
14744
|
function useEditorDataProvider() {
|
@@ -14524,7 +14749,7 @@ function useEditorDataProvider() {
|
|
14524
14749
|
* @Author : haocanweng@chatlabs.cn
|
14525
14750
|
* @Date : 2023-08-21 16:31:58
|
14526
14751
|
* @LastEditors: binruan@chatlabs.com
|
14527
|
-
* @LastEditTime: 2024-
|
14752
|
+
* @LastEditTime: 2024-06-25 11:37:48
|
14528
14753
|
* @FilePath: \pb-sxp-ui\src\index.ts
|
14529
14754
|
*/
|
14530
14755
|
|
@@ -14536,7 +14761,6 @@ exports.SxpPageCore = index;
|
|
14536
14761
|
exports.SxpPageRender = SxpPageRender;
|
14537
14762
|
exports.core = index$2;
|
14538
14763
|
exports.default = Pagebuilder;
|
14539
|
-
exports.defaultSetting = defaultSetting;
|
14540
14764
|
exports.materials = _materials_;
|
14541
14765
|
exports.useEditorDataProvider = useEditorDataProvider;
|
14542
14766
|
//# sourceMappingURL=index.cjs.map
|