pb-sxp-ui 1.3.6 → 1.3.8
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/LICENSE +21 -21
- package/README.md +111 -111
- package/dist/index.cjs +42 -28
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +42 -28
- 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 +42 -28
- 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/WaterFall/index.js +3 -12
- package/es/core/components/SxpPageRender/index.js +6 -1
- package/es/materials/sxp/popup/CommodityDetail/index.d.ts +1 -0
- package/es/materials/sxp/popup/CommodityDetail/index.js +7 -7
- package/es/materials/sxp/popup/CommodityDetail/settingRender.d.ts +7 -2
- package/es/materials/sxp/popup/CommodityDetail/settingRender.js +6 -1
- package/es/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +1 -0
- package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +4 -4
- package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +7 -2
- package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +6 -1
- package/lib/core/components/SxpPageRender/WaterFall/index.js +3 -12
- package/lib/core/components/SxpPageRender/index.js +6 -1
- package/lib/materials/sxp/popup/CommodityDetail/index.d.ts +1 -0
- package/lib/materials/sxp/popup/CommodityDetail/index.js +7 -7
- package/lib/materials/sxp/popup/CommodityDetail/settingRender.d.ts +7 -2
- package/lib/materials/sxp/popup/CommodityDetail/settingRender.js +6 -1
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +1 -0
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +4 -4
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +7 -2
- package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +6 -1
- package/package.json +111 -111
package/LICENSE
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) 2023 ChatLabs
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
SOFTWARE.
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2023 ChatLabs
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
@@ -1,111 +1,111 @@
|
|
1
|
-
<!--
|
2
|
-
* @Author : haocanweng@chatlabs.cn
|
3
|
-
* @Date : 2023-08-23 18:25:31
|
4
|
-
* @LastEditors: binruan@chatlabs.com
|
5
|
-
* @LastEditTime: 2024-03-20 16:26:29
|
6
|
-
* @FilePath: \pb-sxp-ui\README.md
|
7
|
-
-->
|
8
|
-
<h1 align="center">Page Builder SXP UI</h1>
|
9
|
-
|
10
|
-
<div align="center">
|
11
|
-
React enterprise-class UI components
|
12
|
-
</div>
|
13
|
-
|
14
|
-
## 📦 安装
|
15
|
-
|
16
|
-
```bash
|
17
|
-
npm install pb-sxp-ui
|
18
|
-
# or
|
19
|
-
yarn add pb-sxp-ui
|
20
|
-
```
|
21
|
-
|
22
|
-
## 🔨 使用
|
23
|
-
以 Next.js 框架为例子:
|
24
|
-
|
25
|
-
```jsx
|
26
|
-
import { GetServerSideProps } from 'next';
|
27
|
-
import React, { FC } from 'react'
|
28
|
-
import Pagebuilder, { PageView } from 'pb-sxp-ui';
|
29
|
-
|
30
|
-
// 初始化 PageBuilder 配置
|
31
|
-
Pagebuilder.init({
|
32
|
-
tenantId: 'xxxxxxxxxx',
|
33
|
-
appId: 'xxxxxxxxx',
|
34
|
-
env: 'live' // 可选参数,默认是 live 环境
|
35
|
-
});
|
36
|
-
|
37
|
-
|
38
|
-
interface IProps {
|
39
|
-
path: string;
|
40
|
-
data: any
|
41
|
-
}
|
42
|
-
|
43
|
-
const ContentPage: FC<IProps> = ({ data ,path}) => {
|
44
|
-
return (
|
45
|
-
<PageView data={data?.data} isSsr path={path}/>
|
46
|
-
)
|
47
|
-
}
|
48
|
-
|
49
|
-
export const getServerSideProps: GetServerSideProps<IProps> = async (
|
50
|
-
context
|
51
|
-
) => {
|
52
|
-
// 接收传来的路径
|
53
|
-
const path = context.query.path as string;
|
54
|
-
// 获取页面数据
|
55
|
-
const result = await Pagebuilder.getDetail(path)
|
56
|
-
return {
|
57
|
-
props: {
|
58
|
-
path,
|
59
|
-
data: result.data
|
60
|
-
},
|
61
|
-
};
|
62
|
-
};
|
63
|
-
|
64
|
-
export default ContentPage;
|
65
|
-
|
66
|
-
```
|
67
|
-
|
68
|
-
## ⌨️ 本地调试
|
69
|
-
|
70
|
-
### 运行开发环境
|
71
|
-
|
72
|
-
```bash
|
73
|
-
$ npm install
|
74
|
-
$ npm run start
|
75
|
-
```
|
76
|
-
|
77
|
-
### 生成本地开发全局链接
|
78
|
-
|
79
|
-
```bash
|
80
|
-
npm link
|
81
|
-
# or
|
82
|
-
yarn link
|
83
|
-
```
|
84
|
-
|
85
|
-
### 在使用该包的项目中安装调试
|
86
|
-
|
87
|
-
```bash
|
88
|
-
npm link pb-sxp-ui
|
89
|
-
# or
|
90
|
-
yarn link pb-sxp-ui
|
91
|
-
```
|
92
|
-
|
93
|
-
## 👾 发布
|
94
|
-
|
95
|
-
### 打包线上安装包
|
96
|
-
|
97
|
-
```bash
|
98
|
-
npm run package
|
99
|
-
# or
|
100
|
-
yarn package
|
101
|
-
```
|
102
|
-
|
103
|
-
### 发布 npm
|
104
|
-
|
105
|
-
```bash
|
106
|
-
$ npm version patch|minor|major
|
107
|
-
$ npm publish
|
108
|
-
|
109
|
-
# 自动化发布包
|
110
|
-
$ npm run pub patch|minor|major|xx.xx.xx
|
111
|
-
```
|
1
|
+
<!--
|
2
|
+
* @Author : haocanweng@chatlabs.cn
|
3
|
+
* @Date : 2023-08-23 18:25:31
|
4
|
+
* @LastEditors: binruan@chatlabs.com
|
5
|
+
* @LastEditTime: 2024-03-20 16:26:29
|
6
|
+
* @FilePath: \pb-sxp-ui\README.md
|
7
|
+
-->
|
8
|
+
<h1 align="center">Page Builder SXP UI</h1>
|
9
|
+
|
10
|
+
<div align="center">
|
11
|
+
React enterprise-class UI components
|
12
|
+
</div>
|
13
|
+
|
14
|
+
## 📦 安装
|
15
|
+
|
16
|
+
```bash
|
17
|
+
npm install pb-sxp-ui
|
18
|
+
# or
|
19
|
+
yarn add pb-sxp-ui
|
20
|
+
```
|
21
|
+
|
22
|
+
## 🔨 使用
|
23
|
+
以 Next.js 框架为例子:
|
24
|
+
|
25
|
+
```jsx
|
26
|
+
import { GetServerSideProps } from 'next';
|
27
|
+
import React, { FC } from 'react'
|
28
|
+
import Pagebuilder, { PageView } from 'pb-sxp-ui';
|
29
|
+
|
30
|
+
// 初始化 PageBuilder 配置
|
31
|
+
Pagebuilder.init({
|
32
|
+
tenantId: 'xxxxxxxxxx',
|
33
|
+
appId: 'xxxxxxxxx',
|
34
|
+
env: 'live' // 可选参数,默认是 live 环境
|
35
|
+
});
|
36
|
+
|
37
|
+
|
38
|
+
interface IProps {
|
39
|
+
path: string;
|
40
|
+
data: any
|
41
|
+
}
|
42
|
+
|
43
|
+
const ContentPage: FC<IProps> = ({ data ,path}) => {
|
44
|
+
return (
|
45
|
+
<PageView data={data?.data} isSsr path={path}/>
|
46
|
+
)
|
47
|
+
}
|
48
|
+
|
49
|
+
export const getServerSideProps: GetServerSideProps<IProps> = async (
|
50
|
+
context
|
51
|
+
) => {
|
52
|
+
// 接收传来的路径
|
53
|
+
const path = context.query.path as string;
|
54
|
+
// 获取页面数据
|
55
|
+
const result = await Pagebuilder.getDetail(path)
|
56
|
+
return {
|
57
|
+
props: {
|
58
|
+
path,
|
59
|
+
data: result.data
|
60
|
+
},
|
61
|
+
};
|
62
|
+
};
|
63
|
+
|
64
|
+
export default ContentPage;
|
65
|
+
|
66
|
+
```
|
67
|
+
|
68
|
+
## ⌨️ 本地调试
|
69
|
+
|
70
|
+
### 运行开发环境
|
71
|
+
|
72
|
+
```bash
|
73
|
+
$ npm install
|
74
|
+
$ npm run start
|
75
|
+
```
|
76
|
+
|
77
|
+
### 生成本地开发全局链接
|
78
|
+
|
79
|
+
```bash
|
80
|
+
npm link
|
81
|
+
# or
|
82
|
+
yarn link
|
83
|
+
```
|
84
|
+
|
85
|
+
### 在使用该包的项目中安装调试
|
86
|
+
|
87
|
+
```bash
|
88
|
+
npm link pb-sxp-ui
|
89
|
+
# or
|
90
|
+
yarn link pb-sxp-ui
|
91
|
+
```
|
92
|
+
|
93
|
+
## 👾 发布
|
94
|
+
|
95
|
+
### 打包线上安装包
|
96
|
+
|
97
|
+
```bash
|
98
|
+
npm run package
|
99
|
+
# or
|
100
|
+
yarn package
|
101
|
+
```
|
102
|
+
|
103
|
+
### 发布 npm
|
104
|
+
|
105
|
+
```bash
|
106
|
+
$ npm version patch|minor|major
|
107
|
+
$ npm publish
|
108
|
+
|
109
|
+
# 自动化发布包
|
110
|
+
$ npm run pub patch|minor|major|xx.xx.xx
|
111
|
+
```
|
package/dist/index.cjs
CHANGED
@@ -1999,7 +1999,12 @@ var settingRender$9 = [
|
|
1999
1999
|
label: '弹窗按钮',
|
2000
2000
|
type: 'Upload',
|
2001
2001
|
name: ['props', 'iframeIcon'],
|
2002
|
-
text: '建议尺寸:72 *
|
2002
|
+
text: '建议尺寸:72 * 30'
|
2003
|
+
},
|
2004
|
+
{
|
2005
|
+
label: '背景色',
|
2006
|
+
type: 'Color',
|
2007
|
+
name: ['props', 'iframeBgColor']
|
2003
2008
|
}
|
2004
2009
|
]
|
2005
2010
|
}
|
@@ -9131,7 +9136,7 @@ var CommodityGroup$1 = React.memo(CommodityGroup);
|
|
9131
9136
|
|
9132
9137
|
const CommodityDetail$1 = (_a) => {
|
9133
9138
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
9134
|
-
var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio, isTel } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio", "isTel"]);
|
9139
|
+
var { content, style, bgImg, onClick, schema, isDefault, bottom_image, tipText, isPost, viewTime, rec, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio, isTel, iframeBgColor } = _a, props = __rest(_a, ["content", "style", "bgImg", "onClick", "schema", "isDefault", "bottom_image", "tipText", "isPost", "viewTime", "rec", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio", "isTel", "iframeBgColor"]);
|
9135
9140
|
const { sxpParameter, popupDetailData, isPreview, bffFbReport, popupCurTimeRef, checkCommodityIndexRef } = useSxpDataSource();
|
9136
9141
|
const { jumpToWeb, productView } = useEventReport();
|
9137
9142
|
const curTimeRef = React.useRef(null);
|
@@ -9209,10 +9214,10 @@ const CommodityDetail$1 = (_a) => {
|
|
9209
9214
|
__html: setFontForText((_c = product === null || product === void 0 ? void 0 : product.taxInfo) !== null && _c !== void 0 ? _c : '税费', commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.taxInfo)
|
9210
9215
|
} }),
|
9211
9216
|
React.createElement("div", { hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.info) || (product === null || product === void 0 ? void 0 : product.info) === '') },
|
9212
|
-
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: (_d = product === null || product === void 0 ? void 0 : product.info) !== null && _d !== void 0 ? _d : `The design inspiration of Tiffany Lock series comes from the power of connection and inclusiveness, and the
|
9213
|
-
bold and avant-garde visual design interprets the emotional bond connecting my heart. The Tiffany Lock
|
9214
|
-
collection is unisex and is inspired by the padlock pattern found in the Tiffany Antique Collection. This
|
9215
|
-
necklace features a stylish and eye-catching oval clasp chain decorated with a lock pattern. Crafted from
|
9217
|
+
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: (_d = product === null || product === void 0 ? void 0 : product.info) !== null && _d !== void 0 ? _d : `The design inspiration of Tiffany Lock series comes from the power of connection and inclusiveness, and the
|
9218
|
+
bold and avant-garde visual design interprets the emotional bond connecting my heart. The Tiffany Lock
|
9219
|
+
collection is unisex and is inspired by the padlock pattern found in the Tiffany Antique Collection. This
|
9220
|
+
necklace features a stylish and eye-catching oval clasp chain decorated with a lock pattern. Crafted from
|
9216
9221
|
18-karat gold, this necklace is embellished with hand-set diamonds.`, maxStr: 79, className: 'pb-commondity-content-info', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.info }))));
|
9217
9222
|
};
|
9218
9223
|
const renderBtn = () => {
|
@@ -9305,10 +9310,10 @@ const CommodityDetail$1 = (_a) => {
|
|
9305
9310
|
React.createElement("div", { style: { paddingBottom: '80px' } }, renderContent({ isPost: false })),
|
9306
9311
|
renderBtn()),
|
9307
9312
|
React.createElement(Modal$1, { visible: show3DModal, padding: 0, isFullScreen: true, onClose: () => setShow3DModal(false) },
|
9308
|
-
React.createElement("div", { style: { height:
|
9313
|
+
React.createElement("div", { style: { backgroundColor: iframeBgColor, height: '100%' } },
|
9309
9314
|
React.createElement("iframe", { src: iframeUrl, style: {
|
9310
9315
|
width: '100%',
|
9311
|
-
height:
|
9316
|
+
height: 'calc(100% - 50px)',
|
9312
9317
|
marginTop: '50px',
|
9313
9318
|
border: 'none'
|
9314
9319
|
} })))));
|
@@ -9650,7 +9655,7 @@ const Prompt = createMaterial(PromptComponent, {
|
|
9650
9655
|
* @Author: binruan@chatlabs.com
|
9651
9656
|
* @Date: 2024-03-26 16:50:25
|
9652
9657
|
* @LastEditors: binruan@chatlabs.com
|
9653
|
-
* @LastEditTime: 2024-08-
|
9658
|
+
* @LastEditTime: 2024-08-23 10:58:38
|
9654
9659
|
* @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetailDiroNew\settingRender.tsx
|
9655
9660
|
*
|
9656
9661
|
*/
|
@@ -9957,7 +9962,12 @@ var settingRender$7 = [
|
|
9957
9962
|
label: '弹窗按钮',
|
9958
9963
|
type: 'Upload',
|
9959
9964
|
name: ['props', 'iframeIcon'],
|
9960
|
-
text: '建议尺寸:72 *
|
9965
|
+
text: '建议尺寸:72 * 30'
|
9966
|
+
},
|
9967
|
+
{
|
9968
|
+
label: '背景色',
|
9969
|
+
type: 'Color',
|
9970
|
+
name: ['props', 'iframeBgColor']
|
9961
9971
|
}
|
9962
9972
|
]
|
9963
9973
|
}
|
@@ -9965,7 +9975,7 @@ var settingRender$7 = [
|
|
9965
9975
|
|
9966
9976
|
const CommodityDetailDiroNew$1 = (_a) => {
|
9967
9977
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
|
9968
|
-
var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio, isTel } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio", "isTel"]);
|
9978
|
+
var { style, isDefault, rec, viewTime, isPost, bottom_image, tipText, swiper, commodityStyles, buttonStyle, index, commodityGroup, popupBg, iframeIcon, commodityImgRatio, isTel, iframeBgColor } = _a, props = __rest(_a, ["style", "isDefault", "rec", "viewTime", "isPost", "bottom_image", "tipText", "swiper", "commodityStyles", "buttonStyle", "index", "commodityGroup", "popupBg", "iframeIcon", "commodityImgRatio", "isTel", "iframeBgColor"]);
|
9969
9979
|
React.useState(true);
|
9970
9980
|
const { sxpParameter, popupCurTimeRef, popupDetailData, isPreview, bffFbReport, checkCommodityIndexRef } = useSxpDataSource();
|
9971
9981
|
const { jumpToWeb, productView } = useEventReport();
|
@@ -10084,7 +10094,7 @@ const CommodityDetailDiroNew$1 = (_a) => {
|
|
10084
10094
|
const productInfoText = ({ isPost }) => {
|
10085
10095
|
return (React.createElement("div", { hidden: !!product && (!(product === null || product === void 0 ? void 0 : product.info) || (product === null || product === void 0 ? void 0 : product.info) === '') },
|
10086
10096
|
React.createElement(ExpandableText$1, { isPost: isPost, onClick: () => setShowModal(true), className: 'pb-commondityDiroNew-info', style: commodityStyles === null || commodityStyles === void 0 ? void 0 : commodityStyles.info, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (product === null || product === void 0 ? void 0 : product.info) ||
|
10087
|
-
`Unveiled at the Spring-Summer 2023 fashion show, the Dior Toujours bag is distinguished by a casual and practical design. Crafted in black calfskin with Macrocannage topstitching, it showcases a spacious interior compartment with a matching pouch to organize essentials. Its leather strap closure keeps items secure while the D of the CD Lock closure twists to adjust the sides and enhance the bag's silhouette. The leather handles can be adjusted using the small notches in order to be able to carry the large bag by hand or wear it over the shoulder. CD Lock and strap closures D.I.O.R. charms Removable interior pouch Adjustable leather handles Dust bag included
|
10097
|
+
`Unveiled at the Spring-Summer 2023 fashion show, the Dior Toujours bag is distinguished by a casual and practical design. Crafted in black calfskin with Macrocannage topstitching, it showcases a spacious interior compartment with a matching pouch to organize essentials. Its leather strap closure keeps items secure while the D of the CD Lock closure twists to adjust the sides and enhance the bag's silhouette. The leather handles can be adjusted using the small notches in order to be able to carry the large bag by hand or wear it over the shoulder. CD Lock and strap closures D.I.O.R. charms Removable interior pouch Adjustable leather handles Dust bag included
|
10088
10098
|
Made in Italy` })));
|
10089
10099
|
};
|
10090
10100
|
const getStyle = React.useCallback((style) => {
|
@@ -10186,10 +10196,10 @@ Made in Italy` })));
|
|
10186
10196
|
productInfoText({ isPost }))),
|
10187
10197
|
React.createElement(Modal$1, { visible: showModal, onClose: () => setShowModal(false) }, productInfoText({ isPost: false })),
|
10188
10198
|
React.createElement(Modal$1, { visible: show3DModal, padding: 0, isFullScreen: true, onClose: () => setShow3DModal(false) },
|
10189
|
-
React.createElement("div", { style: { height:
|
10199
|
+
React.createElement("div", { style: { backgroundColor: iframeBgColor, height: '100%' } },
|
10190
10200
|
React.createElement("iframe", { src: iframeUrl, style: {
|
10191
10201
|
width: '100%',
|
10192
|
-
height:
|
10202
|
+
height: 'calc(100% - 50px)',
|
10193
10203
|
marginTop: '50px',
|
10194
10204
|
border: 'none'
|
10195
10205
|
} })))));
|
@@ -14153,7 +14163,7 @@ function WaterfallList(_a) {
|
|
14153
14163
|
* @Author: binruan@chatlabs.com
|
14154
14164
|
* @Date: 2024-01-10 10:58:24
|
14155
14165
|
* @LastEditors: binruan@chatlabs.com
|
14156
|
-
* @LastEditTime: 2024-
|
14166
|
+
* @LastEditTime: 2024-08-23 14:32:55
|
14157
14167
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
|
14158
14168
|
*
|
14159
14169
|
*/
|
@@ -14177,21 +14187,21 @@ const WaterFall = (props) => {
|
|
14177
14187
|
}
|
14178
14188
|
}, []);
|
14179
14189
|
const handleClose = () => {
|
14180
|
-
|
14181
|
-
|
14182
|
-
|
14183
|
-
|
14190
|
+
var _a, _b;
|
14191
|
+
// const isEq = isEqual(rtcList, cacheRtcList);
|
14192
|
+
// if (!isEq && cacheRtcList && cacheRtcList?.length) {
|
14193
|
+
// setRtcList?.(cacheRtcList);
|
14194
|
+
// }
|
14184
14195
|
backMainFeed('branch', selectTag, undefined, waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag);
|
14185
14196
|
reportTagsView();
|
14186
14197
|
setWaterFallData === null || setWaterFallData === void 0 ? void 0 : setWaterFallData(undefined);
|
14187
14198
|
setIsFromHashtag === null || setIsFromHashtag === void 0 ? void 0 : setIsFromHashtag(false);
|
14188
|
-
setTimeout(() => {
|
14189
|
-
|
14190
|
-
|
14191
|
-
|
14192
|
-
|
14193
|
-
|
14194
|
-
}, 0);
|
14199
|
+
// setTimeout(() => {
|
14200
|
+
// if (!isEq) {
|
14201
|
+
(_b = (_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper) === null || _b === void 0 ? void 0 : _b.slideTo(cacheActiveIndex, 0, false);
|
14202
|
+
// }
|
14203
|
+
setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(false);
|
14204
|
+
// }, 0);
|
14195
14205
|
};
|
14196
14206
|
const [recData, setRecData] = React.useState();
|
14197
14207
|
React.useEffect(() => {
|
@@ -16026,7 +16036,7 @@ var Tagbar$1 = React.memo(Tagbar);
|
|
16026
16036
|
* @Author: binruan@chatlabs.com
|
16027
16037
|
* @Date: 2024-01-15 19:03:09
|
16028
16038
|
* @LastEditors: binruan@chatlabs.com
|
16029
|
-
* @LastEditTime: 2024-08-
|
16039
|
+
* @LastEditTime: 2024-08-23 14:04:14
|
16030
16040
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
16031
16041
|
*
|
16032
16042
|
*/
|
@@ -16043,7 +16053,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16043
16053
|
const [isShowMore, setIsShowMore] = React.useState(false);
|
16044
16054
|
const [isReload, setIsReload] = React.useState(new Date().getTime());
|
16045
16055
|
const skipLinkRef = React.useRef(false);
|
16046
|
-
const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor } = useSxpDataSource();
|
16056
|
+
const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor, cacheRtcList, setRtcList, cacheActiveIndex, rtcList } = useSxpDataSource();
|
16047
16057
|
const { backMainFeed, productView, jumpToWeb } = useEventReport();
|
16048
16058
|
const isShowFingerTip = React.useMemo(() => {
|
16049
16059
|
return data.length > 0 && !loading && (getFeUserId() || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip));
|
@@ -16494,6 +16504,10 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
16494
16504
|
]);
|
16495
16505
|
return (React.createElement("div", { id: 'sxp-render', className: 'clc-sxp-container' },
|
16496
16506
|
waterFallData && (React.createElement(Navbar$1, { icon: img, styles: { background: 'rgba(0,0,0,.3)', color: '#fff' }, textStyle: Object.assign(Object.assign({}, (_e = (_d = (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.textStyles) === null || _e === void 0 ? void 0 : _e.hashTagTitle), { color: '#fff' }), onClose: () => {
|
16507
|
+
const isEq = lodash.isEqual(rtcList, cacheRtcList);
|
16508
|
+
if (!isEq && cacheRtcList && (cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.length)) {
|
16509
|
+
setRtcList === null || setRtcList === void 0 ? void 0 : setRtcList(cacheRtcList);
|
16510
|
+
}
|
16497
16511
|
setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(true);
|
16498
16512
|
} })),
|
16499
16513
|
renderLogo,
|