pb-sxp-ui 1.0.3-alpha.1 → 1.0.3-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/index.cjs +2373 -823
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +115 -112
  4. package/dist/index.js +2374 -824
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.cjs +3 -3
  7. package/dist/index.min.cjs.map +1 -1
  8. package/dist/index.min.js +3 -3
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/pb-ui.js +2373 -823
  11. package/dist/pb-ui.js.map +1 -1
  12. package/dist/pb-ui.min.js +3 -3
  13. package/dist/pb-ui.min.js.map +1 -1
  14. package/es/core/components/SxpPageRender/Hashtag/index.d.ts +2 -1
  15. package/es/core/components/SxpPageRender/Hashtag/index.js +2 -2
  16. package/es/core/components/SxpPageRender/Navbar.d.ts +1 -0
  17. package/es/core/components/SxpPageRender/Navbar.js +3 -2
  18. package/es/core/components/SxpPageRender/WaterFall/List.d.ts +2 -1
  19. package/es/core/components/SxpPageRender/WaterFall/List.js +24 -14
  20. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.d.ts +2 -1
  21. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +13 -11
  22. package/es/core/components/SxpPageRender/WaterFall/index.d.ts +2 -1
  23. package/es/core/components/SxpPageRender/WaterFall/index.js +4 -3
  24. package/es/core/components/SxpPageRender/WaterFall/preview.json +1242 -0
  25. package/es/core/components/SxpPageRender/index.d.ts +2 -0
  26. package/es/core/components/SxpPageRender/index.js +5 -5
  27. package/es/core/context/EditorDataProvider.d.ts +3 -1
  28. package/es/core/context/EditorDataProvider.js +5 -2
  29. package/es/core/context/SxpDataSourceProvider.d.ts +2 -0
  30. package/es/core/context/SxpDataSourceProvider.js +7 -3
  31. package/es/materials/sxp/HashTag/index.d.ts +14 -0
  32. package/es/materials/sxp/HashTag/index.js +6 -0
  33. package/es/materials/sxp/HashTag/material.d.ts +2 -0
  34. package/es/materials/sxp/HashTag/material.js +52 -0
  35. package/es/materials/sxp/HashTag/settingRender.d.ts +122 -0
  36. package/es/materials/sxp/HashTag/settingRender.js +153 -0
  37. package/es/materials/sxp/index.d.ts +1 -0
  38. package/es/materials/sxp/index.js +1 -0
  39. package/es/materials/sxp/template/components/settingRender.d.ts +15 -0
  40. package/es/materials/sxp/template/components/settingRender.js +17 -0
  41. package/lib/core/components/SxpPageRender/Hashtag/index.d.ts +2 -1
  42. package/lib/core/components/SxpPageRender/Hashtag/index.js +2 -2
  43. package/lib/core/components/SxpPageRender/Navbar.d.ts +1 -0
  44. package/lib/core/components/SxpPageRender/Navbar.js +3 -2
  45. package/lib/core/components/SxpPageRender/WaterFall/List.d.ts +2 -1
  46. package/lib/core/components/SxpPageRender/WaterFall/List.js +23 -14
  47. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.d.ts +2 -1
  48. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +12 -11
  49. package/lib/core/components/SxpPageRender/WaterFall/index.d.ts +2 -1
  50. package/lib/core/components/SxpPageRender/WaterFall/index.js +4 -3
  51. package/lib/core/components/SxpPageRender/WaterFall/preview.json +1242 -0
  52. package/lib/core/components/SxpPageRender/index.d.ts +2 -0
  53. package/lib/core/components/SxpPageRender/index.js +5 -5
  54. package/lib/core/context/EditorDataProvider.d.ts +3 -1
  55. package/lib/core/context/EditorDataProvider.js +4 -1
  56. package/lib/core/context/SxpDataSourceProvider.d.ts +2 -0
  57. package/lib/core/context/SxpDataSourceProvider.js +7 -3
  58. package/lib/materials/sxp/HashTag/index.d.ts +14 -0
  59. package/lib/materials/sxp/HashTag/index.js +9 -0
  60. package/lib/materials/sxp/HashTag/material.d.ts +2 -0
  61. package/lib/materials/sxp/HashTag/material.js +56 -0
  62. package/lib/materials/sxp/HashTag/settingRender.d.ts +122 -0
  63. package/lib/materials/sxp/HashTag/settingRender.js +155 -0
  64. package/lib/materials/sxp/index.d.ts +1 -0
  65. package/lib/materials/sxp/index.js +1 -0
  66. package/lib/materials/sxp/template/components/settingRender.d.ts +15 -0
  67. package/lib/materials/sxp/template/components/settingRender.js +17 -0
  68. package/package.json +1 -1
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const react_1 = tslib_1.__importStar(require("react"));
5
5
  require("./List.less");
6
+ const preview_json_1 = tslib_1.__importDefault(require("./preview.json"));
6
7
  const hooks_1 = require("../../../../core/hooks");
7
8
  const WaterfallFlowItem = (props) => {
8
- const { rec, index, list, reportTagsView } = props;
9
+ const { rec, index, list, reportTagsView, textStyles, space } = props;
9
10
  const { swiperRef, setRtcList, setOpenHashtag, bffEventReport, sxpParameter } = (0, hooks_1.useSxpDataSource)();
10
11
  const [showVideo, setShowVideo] = (0, react_1.useState)(false);
11
12
  const imgDom = (0, react_1.useRef)(null);
@@ -105,19 +106,20 @@ const WaterfallFlowItem = (props) => {
105
106
  setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(false);
106
107
  }, 0);
107
108
  };
108
- return (react_1.default.createElement("div", { className: 'list-content-listItem', key: index, onClick: handleClickToDetail },
109
+ return (react_1.default.createElement("div", { className: 'list-content-listItem', key: index, onClick: handleClickToDetail, style: { marginBottom: space } },
109
110
  react_1.default.createElement("div", { className: 'list-content-listItem-picture' },
110
111
  showVideo && (react_1.default.createElement("div", { style: { display: 'none' } },
111
112
  react_1.default.createElement("video", { ref: videoDom, crossOrigin: 'anonymous', className: 'list-content-listItem-picture-img' }),
112
113
  react_1.default.createElement("canvas", { ref: canvasRef }))),
113
114
  react_1.default.createElement("img", { className: 'list-content-listItem-picture-img', loading: 'lazy', ref: imgDom })),
114
115
  react_1.default.createElement("div", { className: 'list-content-listItem-info' },
115
- react_1.default.createElement("div", { className: `${'list-content-listItem-info-title'} ${priceText ? 'list-content-listItem-info-nowrap' : ''}` }, title && title),
116
- react_1.default.createElement("div", { className: 'list-content-listItem-info-price', hidden: !priceText }, priceText))));
116
+ react_1.default.createElement("div", { className: `${'list-content-listItem-info-title'} ${priceText ? 'list-content-listItem-info-nowrap' : ''}`, style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.title }, title && title),
117
+ react_1.default.createElement("div", { className: 'list-content-listItem-info-price', style: textStyles.price, hidden: !priceText }, priceText))));
117
118
  };
118
- function WaterfallList({ reportTagsView }) {
119
- var _a, _b, _c, _d, _e, _f;
120
- const { waterFallData, getRecommendVideos, hashTagSize, loadingImage } = (0, hooks_1.useSxpDataSource)();
119
+ function WaterfallList(_a) {
120
+ var _b, _c, _d, _e, _f, _g, _h;
121
+ var { reportTagsView } = _a, props = tslib_1.__rest(_a, ["reportTagsView"]);
122
+ const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = (0, hooks_1.useSxpDataSource)();
121
123
  const [list, setList] = (0, react_1.useState)();
122
124
  const [data, setData] = (0, react_1.useState)();
123
125
  const [isLoadingData, setIsLoadingData] = (0, react_1.useState)(false);
@@ -139,6 +141,7 @@ function WaterfallList({ reportTagsView }) {
139
141
  }));
140
142
  }, [waterFallData, getRecommendVideos, list, isLoadMore]);
141
143
  (0, react_1.useEffect)(() => {
144
+ var _a, _b;
142
145
  setIsLoadingData(true);
143
146
  waterFallData &&
144
147
  (getRecommendVideos === null || getRecommendVideos === void 0 ? void 0 : getRecommendVideos({
@@ -152,7 +155,13 @@ function WaterfallList({ reportTagsView }) {
152
155
  setList((_b = (_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.filter((item) => (item === null || item === void 0 ? void 0 : item.video) !== null || (item === null || item === void 0 ? void 0 : item.product) !== null)) !== null && _b !== void 0 ? _b : []);
153
156
  setIsLoadingData(false);
154
157
  }));
155
- }, [waterFallData, getRecommendVideos, hashTagSize]);
158
+ if (isOpenHashTag) {
159
+ const res = preview_json_1.default;
160
+ setData(res);
161
+ setList((_b = (_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.filter((item) => (item === null || item === void 0 ? void 0 : item.video) !== null || (item === null || item === void 0 ? void 0 : item.product) !== null)) !== null && _b !== void 0 ? _b : []);
162
+ setIsLoadingData(false);
163
+ }
164
+ }, [waterFallData, getRecommendVideos, hashTagSize, isOpenHashTag]);
156
165
  const handleClickLink = () => {
157
166
  var _a, _b;
158
167
  if ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) {
@@ -163,15 +172,15 @@ function WaterfallList({ reportTagsView }) {
163
172
  return (react_1.default.createElement(react_1.default.Fragment, null, isLoadingData ? (react_1.default.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
164
173
  react_1.default.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (react_1.default.createElement("div", { className: 'list' },
165
174
  react_1.default.createElement("div", { className: 'list-scroll', ref: containerRef, style: {
166
- bottom: ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) ? '100px' : 0
175
+ bottom: ((_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.link) ? '100px' : 0
167
176
  } },
168
- react_1.default.createElement("div", { className: 'list-info' }, (_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.info),
169
- react_1.default.createElement("div", { hidden: !((_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.link), className: 'list-collection', onClick: handleClickLink }, ((_d = data === null || data === void 0 ? void 0 : data.tag) === null || _d === void 0 ? void 0 : _d.linkTitle) || 'Shop the collection'),
177
+ react_1.default.createElement("div", { className: 'list-info', style: (_c = props === null || props === void 0 ? void 0 : props.textStyles) === null || _c === void 0 ? void 0 : _c.hashTagDesc }, (_d = data === null || data === void 0 ? void 0 : data.tag) === null || _d === void 0 ? void 0 : _d.info),
178
+ react_1.default.createElement("div", { hidden: !((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link), className: 'list-collection', onClick: handleClickLink, style: { marginBottom: props === null || props === void 0 ? void 0 : props.space } }, ((_f = data === null || data === void 0 ? void 0 : data.tag) === null || _f === void 0 ? void 0 : _f.linkTitle) || 'Shop the collection'),
170
179
  react_1.default.createElement("div", { className: 'list-content' }, list === null || list === void 0 ? void 0 : list.map((item, ind) => {
171
- return (react_1.default.createElement(WaterfallFlowItem, { key: ind, index: ind, rec: item, list: list, reportTagsView: reportTagsView }));
180
+ return (react_1.default.createElement(WaterfallFlowItem, Object.assign({ key: ind, index: ind, rec: item, list: list, reportTagsView: reportTagsView }, props)));
172
181
  })),
173
182
  react_1.default.createElement("div", { hidden: !isLoadMore, style: { textAlign: 'center' } }, "loading...")),
174
- react_1.default.createElement("div", { className: 'list-bottom', hidden: !((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link) },
175
- react_1.default.createElement("button", { className: 'list-bottom-btn', onClick: handleClickLink }, ((_f = data === null || data === void 0 ? void 0 : data.tag) === null || _f === void 0 ? void 0 : _f.linkTitle) || 'Shop the collection'))))));
183
+ react_1.default.createElement("div", { className: 'list-bottom', hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link) },
184
+ react_1.default.createElement("button", { className: 'list-bottom-btn', style: props === null || props === void 0 ? void 0 : props.buttonStyle, onClick: handleClickLink }, ((_h = data === null || data === void 0 ? void 0 : data.tag) === null || _h === void 0 ? void 0 : _h.linkTitle) || 'Shop the collection'))))));
176
185
  }
177
186
  exports.default = WaterfallList;
@@ -1,3 +1,4 @@
1
1
  import React from 'react';
2
2
  import './WaterfallList.less';
3
- export default function WaterfallList({ reportTagsView }: any): React.JSX.Element;
3
+ import { IHashTagProps } from '../../../../materials/sxp/HashTag';
4
+ export default function WaterfallList({ reportTagsView, ...props }: any & IHashTagProps): React.JSX.Element;
@@ -5,7 +5,7 @@ const react_1 = tslib_1.__importStar(require("react"));
5
5
  const hooks_1 = require("../../../../core/hooks");
6
6
  require("./WaterfallList.less");
7
7
  const WaterfallFlowItem = (props) => {
8
- const { rec, style = {}, sizeChange = () => { }, unitWidth, index, showBorder, list, reportTagsView } = props;
8
+ const { rec, style = {}, sizeChange = () => { }, unitWidth, index, showBorder, list, reportTagsView, textStyles, lineClamp } = props;
9
9
  const { swiperRef, setRtcList, setOpenHashtag, sxpParameter } = (0, hooks_1.useSxpDataSource)();
10
10
  const [showVideo, setShowVideo] = (0, react_1.useState)(false);
11
11
  const [isLoading, setIsLoading] = (0, react_1.useState)(false);
@@ -141,11 +141,12 @@ const WaterfallFlowItem = (props) => {
141
141
  visibility: isLoading ? 'visible' : 'hidden'
142
142
  } })),
143
143
  react_1.default.createElement("div", { className: 'waterFallList-content-listItem-info' },
144
- react_1.default.createElement("div", { className: `${'waterFallList-content-listItem-info-title'} ${priceText ? 'waterFallList-content-listItem-info-nowrap' : ''}` }, title && title),
145
- react_1.default.createElement("div", { className: 'waterFallList-content-listItem-info-price', hidden: !priceText }, priceText))));
144
+ react_1.default.createElement("div", { className: `${'waterFallList-content-listItem-info-title'} ${priceText ? 'waterFallList-content-listItem-info-nowrap' : ''}`, style: Object.assign({}, textStyles === null || textStyles === void 0 ? void 0 : textStyles.title) }, title && title),
145
+ react_1.default.createElement("div", { className: 'waterFallList-content-listItem-info-price', hidden: !priceText, style: textStyles.price }, priceText))));
146
146
  };
147
- function WaterfallList({ reportTagsView }) {
148
- var _a, _b, _c, _d, _e, _f;
147
+ function WaterfallList(_a) {
148
+ var _b, _c, _d, _e, _f, _g, _h;
149
+ var { reportTagsView } = _a, props = tslib_1.__rest(_a, ["reportTagsView"]);
149
150
  const { popupAni } = (0, hooks_1.useEditor)();
150
151
  const { waterFallData, getRecommendVideos, loadingImage } = (0, hooks_1.useSxpDataSource)();
151
152
  const scrollParent = (0, react_1.useRef)(null);
@@ -309,14 +310,14 @@ function WaterfallList({ reportTagsView }) {
309
310
  react_1.default.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } })),
310
311
  react_1.default.createElement("div", { className: 'waterFallList', hidden: isLoadingData },
311
312
  react_1.default.createElement("div", { className: 'waterFallList-scroll', ref: scrollParent, style: {
312
- bottom: ((_a = data === null || data === void 0 ? void 0 : data.tag) === null || _a === void 0 ? void 0 : _a.link) ? '100px' : 0
313
+ bottom: ((_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.link) ? '100px' : 0
313
314
  } },
314
- react_1.default.createElement("div", { className: 'waterFallList-info' }, (_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.info),
315
- react_1.default.createElement("div", { hidden: !((_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.link), className: 'waterFallList-collection', onClick: handleClickLink }, ((_d = data === null || data === void 0 ? void 0 : data.tag) === null || _d === void 0 ? void 0 : _d.linkTitle) || 'Shop the collection'),
315
+ react_1.default.createElement("div", { className: 'waterFallList-info', style: (_c = props === null || props === void 0 ? void 0 : props.textStyles) === null || _c === void 0 ? void 0 : _c.hashTagDesc }, (_d = data === null || data === void 0 ? void 0 : data.tag) === null || _d === void 0 ? void 0 : _d.info),
316
+ react_1.default.createElement("div", { hidden: !((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link), className: 'waterFallList-collection', onClick: handleClickLink }, ((_f = data === null || data === void 0 ? void 0 : data.tag) === null || _f === void 0 ? void 0 : _f.linkTitle) || 'Shop the collection'),
316
317
  react_1.default.createElement("div", { className: 'waterFallList-content', ref: waterfallFlowDom }, list === null || list === void 0 ? void 0 : list.map((item, ind) => {
317
- return (react_1.default.createElement(WaterfallFlowItem, { key: ind, index: ind, rec: item, list: list, showBorder: scrollTop + scrollParent.current.clientHeight, style: styleList[ind], sizeChange: onSizeChange, unitWidth: unitWidth, reportTagsView: reportTagsView }));
318
+ return (react_1.default.createElement(WaterfallFlowItem, Object.assign({ key: ind, index: ind, rec: item, list: list, showBorder: scrollTop + scrollParent.current.clientHeight, style: styleList[ind], sizeChange: onSizeChange, unitWidth: unitWidth, reportTagsView: reportTagsView }, props)));
318
319
  }))),
319
- react_1.default.createElement("div", { className: 'waterFallList-bottom', hidden: !((_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.link) },
320
- react_1.default.createElement("button", { className: 'waterFallList-bottom-btn', onClick: handleClickLink }, ((_f = data === null || data === void 0 ? void 0 : data.tag) === null || _f === void 0 ? void 0 : _f.linkTitle) || 'Shop the collection')))));
320
+ react_1.default.createElement("div", { className: 'waterFallList-bottom', hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link) },
321
+ react_1.default.createElement("button", { className: 'waterFallList-bottom-btn', style: props === null || props === void 0 ? void 0 : props.buttonStyle, onClick: handleClickLink }, ((_h = data === null || data === void 0 ? void 0 : data.tag) === null || _h === void 0 ? void 0 : _h.linkTitle) || 'Shop the collection')))));
321
322
  }
322
323
  exports.default = WaterfallList;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import './index.less';
3
+ import { IHashTagProps } from '../../../../materials/sxp/HashTag';
3
4
  interface IWaterFallProps {
4
5
  }
5
- declare const _default: React.NamedExoticComponent<IWaterFallProps>;
6
+ declare const _default: React.NamedExoticComponent<IWaterFallProps & IHashTagProps>;
6
7
  export default _default;
@@ -9,7 +9,8 @@ const Navbar_1 = tslib_1.__importDefault(require("../Navbar"));
9
9
  const List_1 = tslib_1.__importDefault(require("./List"));
10
10
  const left_png_1 = tslib_1.__importDefault(require("./left.png"));
11
11
  const hooks_1 = require("../../../../core/hooks");
12
- const WaterFall = () => {
12
+ const WaterFall = (props) => {
13
+ var _a;
13
14
  const { waterFallData, setOpenHashtag, openHashtag, swiperRef, setWaterFallData, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, setCacheRtcList, setIsFromHashtag, isFromHashtag, bffEventReport } = (0, hooks_1.useSxpDataSource)();
14
15
  const ref = (0, react_1.useRef)(null);
15
16
  const modalEleRef = (0, react_1.useRef)(null);
@@ -97,7 +98,7 @@ const WaterFall = () => {
97
98
  return ReactDOM.createPortal(react_1.default.createElement("div", { className: 'waterfall', style: {
98
99
  display: openHashtag ? 'block' : 'none'
99
100
  } },
100
- react_1.default.createElement(Navbar_1.default, { icon: left_png_1.default, styles: { top: '32px' }, onClose: handleClose }),
101
- react_1.default.createElement(List_1.default, { reportTagsView: reportTagsView })), modalEleRef.current);
101
+ react_1.default.createElement(Navbar_1.default, { icon: left_png_1.default, styles: { top: '32px' }, textStyle: (_a = props === null || props === void 0 ? void 0 : props.textStyles) === null || _a === void 0 ? void 0 : _a.hashTagTitle, onClose: handleClose }),
102
+ react_1.default.createElement(List_1.default, Object.assign({ reportTagsView: reportTagsView }, props))), modalEleRef.current);
102
103
  };
103
104
  exports.default = (0, react_1.memo)(WaterFall);