pb-sxp-ui 1.0.79 → 1.0.81

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 (78) hide show
  1. package/dist/index.cjs +342 -105
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +93 -0
  4. package/dist/index.js +343 -106
  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 +342 -105
  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/Pagebuilder/type.d.ts +7 -0
  15. package/es/core/components/Consent/index.d.ts +13 -0
  16. package/es/core/components/Consent/index.js +60 -0
  17. package/es/core/components/SxpPageCore/index.js +2 -2
  18. package/es/core/components/SxpPageRender/Tagbar.js +15 -1
  19. package/es/core/components/SxpPageRender/WaterFall/List.d.ts +1 -1
  20. package/es/core/components/SxpPageRender/WaterFall/List.js +15 -9
  21. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.d.ts +1 -1
  22. package/es/core/components/SxpPageRender/WaterFall/WaterfallList.js +18 -12
  23. package/es/core/components/SxpPageRender/WaterFall/index.js +7 -2
  24. package/es/core/components/SxpPageRender/index.d.ts +2 -1
  25. package/es/core/components/SxpPageRender/index.js +29 -32
  26. package/es/core/components/SxpPageRender/typing.d.ts +1 -0
  27. package/es/core/context/EditorDataProvider.d.ts +9 -0
  28. package/es/core/context/EditorDataProvider.js +13 -3
  29. package/es/core/context/SxpDataSourceProvider.d.ts +10 -0
  30. package/es/core/context/SxpDataSourceProvider.js +58 -18
  31. package/es/core/hooks/useEventReport.d.ts +1 -0
  32. package/es/core/hooks/useEventReport.js +13 -1
  33. package/es/core/utils/localStore.d.ts +1 -0
  34. package/es/core/utils/localStore.js +1 -0
  35. package/es/materials/sxp/Consent/index.d.ts +12 -0
  36. package/es/materials/sxp/Consent/index.js +5 -0
  37. package/es/materials/sxp/Consent/material.d.ts +2 -0
  38. package/es/materials/sxp/Consent/material.js +20 -0
  39. package/es/materials/sxp/Consent/settingRender.d.ts +31 -0
  40. package/es/materials/sxp/Consent/settingRender.js +39 -0
  41. package/es/materials/sxp/HashTag/index.d.ts +1 -1
  42. package/es/materials/sxp/HashTag/settingRender.d.ts +9 -0
  43. package/es/materials/sxp/HashTag/settingRender.js +2 -1
  44. package/es/materials/sxp/index.d.ts +1 -0
  45. package/es/materials/sxp/index.js +1 -0
  46. package/lib/core/Pagebuilder/type.d.ts +7 -0
  47. package/lib/core/components/Consent/index.d.ts +13 -0
  48. package/lib/core/components/Consent/index.js +63 -0
  49. package/lib/core/components/SxpPageCore/index.js +2 -2
  50. package/lib/core/components/SxpPageRender/Tagbar.js +15 -1
  51. package/lib/core/components/SxpPageRender/WaterFall/List.d.ts +1 -1
  52. package/lib/core/components/SxpPageRender/WaterFall/List.js +15 -9
  53. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.d.ts +1 -1
  54. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +18 -12
  55. package/lib/core/components/SxpPageRender/WaterFall/index.js +7 -2
  56. package/lib/core/components/SxpPageRender/index.d.ts +2 -1
  57. package/lib/core/components/SxpPageRender/index.js +29 -32
  58. package/lib/core/components/SxpPageRender/typing.d.ts +1 -0
  59. package/lib/core/context/EditorDataProvider.d.ts +9 -0
  60. package/lib/core/context/EditorDataProvider.js +13 -3
  61. package/lib/core/context/SxpDataSourceProvider.d.ts +10 -0
  62. package/lib/core/context/SxpDataSourceProvider.js +57 -17
  63. package/lib/core/hooks/useEventReport.d.ts +1 -0
  64. package/lib/core/hooks/useEventReport.js +13 -1
  65. package/lib/core/utils/localStore.d.ts +1 -0
  66. package/lib/core/utils/localStore.js +2 -1
  67. package/lib/materials/sxp/Consent/index.d.ts +12 -0
  68. package/lib/materials/sxp/Consent/index.js +8 -0
  69. package/lib/materials/sxp/Consent/material.d.ts +2 -0
  70. package/lib/materials/sxp/Consent/material.js +24 -0
  71. package/lib/materials/sxp/Consent/settingRender.d.ts +31 -0
  72. package/lib/materials/sxp/Consent/settingRender.js +41 -0
  73. package/lib/materials/sxp/HashTag/index.d.ts +1 -1
  74. package/lib/materials/sxp/HashTag/settingRender.d.ts +9 -0
  75. package/lib/materials/sxp/HashTag/settingRender.js +2 -1
  76. package/lib/materials/sxp/index.d.ts +1 -0
  77. package/lib/materials/sxp/index.js +1 -0
  78. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -393,6 +393,7 @@ const getFeSessionId = () => {
393
393
 
394
394
  const FAKE_USER_KEY = 'SXP_FAKE_USER_ID';
395
395
  const FAKE_USER_STATE = 'FAKE_USER_STATE';
396
+ const AGREE_POLICY = 'AGREE_POLICY';
396
397
  const storeAndLoadFeUserId = () => {
397
398
  let fakeUserId = window.localStorage.getItem(FAKE_USER_KEY);
398
399
  if (lodash.isEmpty(fakeUserId)) {
@@ -437,6 +438,70 @@ var SXP_EVENT_TYPE;
437
438
  SXP_EVENT_TYPE["CHANGE_THEME_TAG"] = "changeThemeTag";
438
439
  })(SXP_EVENT_TYPE || (SXP_EVENT_TYPE = {}));
439
440
 
441
+ /*
442
+ * @Author: binruan@chatlabs.com
443
+ * @Date: 2024-06-13 15:16:53
444
+ * @LastEditors: binruan@chatlabs.com
445
+ * @LastEditTime: 2024-06-13 18:22:53
446
+ * @FilePath: \pb-sxp-ui\src\core\components\Consent\index.tsx
447
+ *
448
+ */
449
+ const Consent$2 = ({ width = window.innerWidth, height = window.innerHeight, privacy_title, privacy_context, privacy_policy_url, privacy_policy_title }) => {
450
+ const { setIsAgreePolicy, bffEventReport } = useSxpDataSource();
451
+ const channelObj = React.useMemo(() => {
452
+ const queryString = location.search.slice(1);
453
+ const params = qs.parse(queryString.replace(/\+/g, '%2B'));
454
+ for (const key in params) {
455
+ params[key] = params[key].replace(/%2B/g, '+');
456
+ }
457
+ return params;
458
+ }, []);
459
+ const getUtmValue = (key) => { var _a; return (_a = channelObj[key]) !== null && _a !== void 0 ? _a : null; };
460
+ React.useEffect(() => {
461
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
462
+ eventInfo: {
463
+ eventSubject: 'privacyEnter',
464
+ eventDescription: 'User enter privacy page',
465
+ utmSource: getUtmValue('utm_source'),
466
+ utmMedium: getUtmValue('utm_medium'),
467
+ utmCampaign: getUtmValue('utm_campaign'),
468
+ utmId: getUtmValue('utm_id'),
469
+ utmContent: getUtmValue('utm_content'),
470
+ clSource: getUtmValue('cl_source'),
471
+ enterTime: `${Date.now()}`,
472
+ enterUrl: window.location.href,
473
+ rtc: null,
474
+ requestId: null,
475
+ sessionID: null
476
+ }
477
+ });
478
+ }, []);
479
+ const handleAgree = () => {
480
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
481
+ eventInfo: {
482
+ eventSubject: 'userConsent',
483
+ eventDescription: '用户授权【操作结果】',
484
+ consentResult: '0',
485
+ consentTags: '[]',
486
+ rtc: null,
487
+ requestId: null,
488
+ sessionID: null
489
+ }
490
+ });
491
+ setIsAgreePolicy === null || setIsAgreePolicy === void 0 ? void 0 : setIsAgreePolicy(true);
492
+ window.localStorage.setItem(AGREE_POLICY, 'yes');
493
+ };
494
+ return (React.createElement("div", { className: 'consent-bg' },
495
+ React.createElement("div", { className: 'consent' },
496
+ React.createElement("div", { className: 'consent-col' },
497
+ React.createElement("div", { className: 'consent-title' }, privacy_title !== null && privacy_title !== void 0 ? privacy_title : 'Privacy Policy'),
498
+ React.createElement("div", { className: 'consent-content' }, privacy_context !== null && privacy_context !== void 0 ? privacy_context : 'This site uses cookies to improve your online experience. By continuing to use the site please agree the policy first.')),
499
+ React.createElement("div", { className: 'consent-col' },
500
+ React.createElement("button", { className: 'consent-btn', onClick: handleAgree }, "Agree"),
501
+ React.createElement("a", { className: 'consent-policy', target: '_blank', href: privacy_policy_url }, privacy_policy_title !== null && privacy_policy_title !== void 0 ? privacy_policy_title : 'More information')))));
502
+ };
503
+ var Consent$3 = React.memo(Consent$2);
504
+
440
505
  const SxpDataSourceContext = React.createContext({
441
506
  rtcList: [],
442
507
  tagList: []
@@ -446,13 +511,15 @@ var DataSourceType;
446
511
  DataSourceType[DataSourceType["BFF"] = 5] = "BFF";
447
512
  })(DataSourceType || (DataSourceType = {}));
448
513
  const UTM_KEYS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_id', 'utm_content', 'cl_source'];
449
- const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent = true, maxSize, defaultSize, isPreview = false, sxpParameter, appDomain, hashTagSize, loadingImage, isOpenHashTag = false, enabledMetaConversionApi = false, isShowTag = true }) => {
514
+ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent = true, maxSize, defaultSize, isPreview = false, sxpParameter, appDomain, hashTagSize, loadingImage, isOpenHashTag = false, enabledMetaConversionApi = false, consentHeight, consentWidth, isShowTag = true, isOpenConsent = false, globalConfig }) => {
515
+ var _a, _b, _c, _d, _e, _f, _g;
450
516
  const [rtcList, setRtcList] = React.useState([]);
451
517
  const [tagList, setTagList] = React.useState([]);
452
518
  const [loading, setLoading] = React.useState(false);
453
519
  const [curReqInfo, setCurReqInfo] = React.useState({ rtc: '', requestId: '' });
454
520
  const swiperRef = React.useRef(null);
455
521
  const isInit = React.useRef(false);
522
+ const [isAgreePolicy, setIsAgreePolicy] = React.useState(() => !!window.localStorage.getItem(AGREE_POLICY));
456
523
  // 弹窗数据
457
524
  const [popupDetailData, setPopupDetailData] = React.useState();
458
525
  const [waterFallData, setWaterFallData] = React.useState();
@@ -462,6 +529,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
462
529
  const [isFromHashtag, setIsFromHashtag] = React.useState(false);
463
530
  const [videoRef, setVideoRef] = React.useState(null);
464
531
  const themeTag = React.useRef();
532
+ const curTime = React.useRef();
465
533
  React.useEffect(() => {
466
534
  const handleChangeThemeTag = (tag) => {
467
535
  themeTag.current = tag;
@@ -506,10 +574,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
506
574
  }, [bffDataSource]);
507
575
  // 获取推荐视频数据
508
576
  const getRecommendVideos = React.useCallback((query) => __awaiter(void 0, void 0, void 0, function* () {
509
- var _a, _b, _c, _d, _e;
577
+ var _h, _j, _k, _l, _m;
510
578
  query = {
511
- maxSize: (_a = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _a !== void 0 ? _a : maxSize,
512
- defaultSize: (_b = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _b !== void 0 ? _b : defaultSize,
579
+ maxSize: (_h = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _h !== void 0 ? _h : maxSize,
580
+ defaultSize: (_j = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _j !== void 0 ? _j : defaultSize,
513
581
  'itemFilter.itemId': query === null || query === void 0 ? void 0 : query['itemFilter.itemId'],
514
582
  'itemFilter.itemType': query === null || query === void 0 ? void 0 : query['itemFilter.itemType'],
515
583
  hashTag: query === null || query === void 0 ? void 0 : query.hashTag,
@@ -517,10 +585,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
517
585
  themeTag: query === null || query === void 0 ? void 0 : query.themeTag
518
586
  };
519
587
  if (utmVal) {
520
- const val = (_e = (_d = (_c = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _c === void 0 ? void 0 : _c.filter((val) => {
588
+ const val = (_m = (_l = (_k = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _k === void 0 ? void 0 : _k.filter((val) => {
521
589
  const key = val.split('=')[0];
522
590
  return UTM_KEYS.includes(key);
523
- })) === null || _d === void 0 ? void 0 : _d.join('&')) !== null && _e !== void 0 ? _e : '';
591
+ })) === null || _l === void 0 ? void 0 : _l.join('&')) !== null && _m !== void 0 ? _m : '';
524
592
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
525
593
  }
526
594
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/list', { method: 'GET', query }));
@@ -532,7 +600,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
532
600
  return result === null || result === void 0 ? void 0 : result.data;
533
601
  }), [bffFetch, utmVal, maxSize, defaultSize]);
534
602
  const loadVideos = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
535
- var _f, _g;
603
+ var _o, _p;
536
604
  if (rtcList.length <= 0) {
537
605
  return;
538
606
  }
@@ -542,8 +610,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
542
610
  'itemFilter.itemType': waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemType,
543
611
  themeTag: themeTag.current
544
612
  });
545
- setRtcList(rtcList.concat((_f = data === null || data === void 0 ? void 0 : data.recList) !== null && _f !== void 0 ? _f : []));
546
- setCacheRtcList(cacheRtcList.concat((_g = data === null || data === void 0 ? void 0 : data.recList) !== null && _g !== void 0 ? _g : []));
613
+ setRtcList(rtcList.concat((_o = data === null || data === void 0 ? void 0 : data.recList) !== null && _o !== void 0 ? _o : []));
614
+ setCacheRtcList(cacheRtcList.concat((_p = data === null || data === void 0 ? void 0 : data.recList) !== null && _p !== void 0 ? _p : []));
547
615
  }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
548
616
  const bffEventReport = React.useCallback(({ userInfo, eventInfo }) => {
549
617
  // 关闭 BFF 事件上报
@@ -607,16 +675,16 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
607
675
  }), [bffFetch]);
608
676
  // 获取 Tag
609
677
  const bffGetTagList = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
610
- var _h, _j, _k, _l, _m;
678
+ var _q, _r, _s, _t, _u;
611
679
  if (!utmVal || !isShowTag)
612
680
  return;
613
681
  try {
614
- const val = (_k = (_j = (_h = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _h === void 0 ? void 0 : _h.filter((val) => {
682
+ const val = (_s = (_r = (_q = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _q === void 0 ? void 0 : _q.filter((val) => {
615
683
  const key = val.split('=')[0];
616
684
  return UTM_KEYS.includes(key);
617
- })) === null || _j === void 0 ? void 0 : _j.join('&')) !== null && _k !== void 0 ? _k : '';
685
+ })) === null || _r === void 0 ? void 0 : _r.join('&')) !== null && _s !== void 0 ? _s : '';
618
686
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
619
- setTagList((_m = (_l = result === null || result === void 0 ? void 0 : result.data) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []);
687
+ setTagList((_u = (_t = result === null || result === void 0 ? void 0 : result.data) === null || _t === void 0 ? void 0 : _t.tags) !== null && _u !== void 0 ? _u : []);
620
688
  }
621
689
  catch (e) {
622
690
  console.log('e', e);
@@ -640,7 +708,38 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
640
708
  eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_h = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _h !== void 0 ? _h : '', ctaName: (_j = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _j !== void 0 ? _j : '', contentTags: JSON.stringify(cta === null || cta === void 0 ? void 0 : cta.tags), position: position + '', contentId: (_l = (_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.itemId) !== null && _l !== void 0 ? _l : '', productId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_m = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _m !== void 0 ? _m : '', fromKName })
641
709
  });
642
710
  }, [bffEventReport, isFromHashtag]);
711
+ const h5EnterLink = React.useCallback(() => {
712
+ var _a, _b;
713
+ const queryString = location.search.slice(1);
714
+ const params = qs.parse(queryString.replace(/\+/g, '%2B'));
715
+ for (const key in params) {
716
+ params[key] = params[key].replace(/%2B/g, '+');
717
+ }
718
+ const getVal = (key) => { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ''; };
719
+ const time = new Date();
720
+ curTime.current = time;
721
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
722
+ eventInfo: {
723
+ eventSubject: 'h5LinkEnterFeed',
724
+ eventDescription: 'User enter h5 link',
725
+ utmSource: getVal('utm_source'),
726
+ utmMedium: getVal('utm_medium'),
727
+ utmCampaign: getVal('utm_campaign'),
728
+ utmId: getVal('utm_id'),
729
+ utmContent: getVal('utm_content'),
730
+ enterTime: Math.floor(time / 1000) + '',
731
+ requestId: null,
732
+ enterUrl: (_b = (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href) !== null && _b !== void 0 ? _b : '',
733
+ clSource: getVal('cl_source')
734
+ }
735
+ });
736
+ }, [bffEventReport]);
737
+ React.useEffect(() => {
738
+ h5EnterLink();
739
+ }, []);
643
740
  React.useEffect(() => {
741
+ if (!isAgreePolicy)
742
+ return;
644
743
  setLoading(true);
645
744
  bffGetTagList();
646
745
  getRecommendVideos()
@@ -659,7 +758,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
659
758
  setLoading(false);
660
759
  isInit.current = true;
661
760
  });
662
- }, []);
761
+ }, [isAgreePolicy]);
663
762
  React.useEffect(() => {
664
763
  if (!isInit.current)
665
764
  return;
@@ -711,14 +810,19 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
711
810
  setLoading,
712
811
  videoRef,
713
812
  setVideoRef,
714
- bffFbReport
715
- } }, render({
813
+ bffFbReport,
814
+ isAgreePolicy,
815
+ setIsAgreePolicy,
816
+ curTime,
817
+ h5EnterLink,
818
+ themeTag
819
+ } }, (((_d = (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === 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.privacy_necessity) && !isAgreePolicy) || isOpenConsent ? (React.createElement(Consent$3, Object.assign({}, (_g = (_f = (_e = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.item) === null || _g === void 0 ? void 0 : _g.props))) : (render({
716
820
  rtcList,
717
821
  mutateLike: bffMutateLike,
718
822
  mutateUnlike: bffMutateUnlike,
719
823
  submitForm: bffSubmitForm,
720
824
  tagList
721
- })));
825
+ }))));
722
826
  };
723
827
  var SxpDataSourceProvider$1 = React.memo(SxpDataSourceProvider);
724
828
 
@@ -984,7 +1088,7 @@ var defaultSetting = {
984
1088
  *
985
1089
  */
986
1090
  var _a$5, _b$5, _c;
987
- var settingRender$5 = [
1091
+ var settingRender$6 = [
988
1092
  {
989
1093
  type: 'Text',
990
1094
  label: '组件名称',
@@ -1122,7 +1226,7 @@ var settingRender$5 = [
1122
1226
  * @Author: binruan@chatlabs.com
1123
1227
  * @Date: 2024-03-12 10:59:06
1124
1228
  * @LastEditors: binruan@chatlabs.com
1125
- * @LastEditTime: 2024-04-15 09:47:08
1229
+ * @LastEditTime: 2024-06-12 10:53:57
1126
1230
  * @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
1127
1231
  *
1128
1232
  */
@@ -1192,9 +1296,21 @@ function useEventReport() {
1192
1296
  }
1193
1297
  });
1194
1298
  }, [bffEventReport, popupDetailData]);
1299
+ const backMainFeed = React.useCallback((lastFeed, themeTag, hashTag) => {
1300
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
1301
+ eventInfo: {
1302
+ lastFeed,
1303
+ themeTags: themeTag ? `[${themeTag}]` : '',
1304
+ hashTags: hashTag ? `[${hashTag}]` : '',
1305
+ eventSubject: 'backMainFeed',
1306
+ eventDescription: 'back Main Feed'
1307
+ }
1308
+ });
1309
+ }, [bffEventReport]);
1195
1310
  return {
1196
1311
  jumpToWeb,
1197
- productView
1312
+ productView,
1313
+ backMainFeed
1198
1314
  };
1199
1315
  }
1200
1316
 
@@ -1299,7 +1415,7 @@ const AppointForm = createMaterial(AppointFormComponent, {
1299
1415
  category: 'popup',
1300
1416
  type: 'AppointForm',
1301
1417
  related: {
1302
- settingRender: settingRender$5,
1418
+ settingRender: settingRender$6,
1303
1419
  bindableProps: [],
1304
1420
  interactionRender: interactionRender$8
1305
1421
  },
@@ -1325,7 +1441,7 @@ const AppointForm = createMaterial(AppointFormComponent, {
1325
1441
  });
1326
1442
 
1327
1443
  var _a$4, _b$4;
1328
- var settingRender$4 = [
1444
+ var settingRender$5 = [
1329
1445
  {
1330
1446
  title: '商品图片',
1331
1447
  child: [
@@ -8639,7 +8755,7 @@ const CommodityDetail = createMaterial(CommodityDetailComponent, {
8639
8755
  category: 'popup',
8640
8756
  type: 'CommodityDetail',
8641
8757
  related: {
8642
- settingRender: settingRender$4
8758
+ settingRender: settingRender$5
8643
8759
  },
8644
8760
  defaulSetting: {
8645
8761
  props: {
@@ -8705,7 +8821,7 @@ var interactionRender$7 = [
8705
8821
  *
8706
8822
  */
8707
8823
  var _a$3, _b$3;
8708
- var settingRender$3 = [
8824
+ var settingRender$4 = [
8709
8825
  {
8710
8826
  title: '',
8711
8827
  child: [
@@ -8832,7 +8948,7 @@ const Prompt = createMaterial(PromptComponent, {
8832
8948
  category: 'popup',
8833
8949
  type: 'Prompt',
8834
8950
  related: {
8835
- settingRender: settingRender$3,
8951
+ settingRender: settingRender$4,
8836
8952
  bindableProps: [],
8837
8953
  interactionRender: interactionRender$7
8838
8954
  },
@@ -8858,7 +8974,7 @@ var _a$2, _b$2;
8858
8974
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetailDiroNew\settingRender.tsx
8859
8975
  *
8860
8976
  */
8861
- var settingRender$2 = [
8977
+ var settingRender$3 = [
8862
8978
  {
8863
8979
  title: '商品图片',
8864
8980
  child: [
@@ -9181,7 +9297,7 @@ const CommodityDetailDiroNew = createMaterial(CommodityDetailDiroNewComponent, {
9181
9297
  category: 'popup',
9182
9298
  type: 'CommodityDetailDiroNew',
9183
9299
  related: {
9184
- settingRender: settingRender$2
9300
+ settingRender: settingRender$3
9185
9301
  },
9186
9302
  defaulSetting: {
9187
9303
  props: {
@@ -9242,7 +9358,7 @@ var _a$1, _b$1;
9242
9358
  * @FilePath: \pb-sxp-ui\src\materials\sxp\template\components\settingRender.tsx
9243
9359
  *
9244
9360
  */
9245
- var settingRender$1 = [
9361
+ var settingRender$2 = [
9246
9362
  {
9247
9363
  title: '主题样式',
9248
9364
  child: [
@@ -9594,7 +9710,7 @@ const Commodity = createMaterial(CommodityComponent, {
9594
9710
  related: {
9595
9711
  interactionRender: interactionRender$6,
9596
9712
  bindableProps: [],
9597
- settingRender: settingRender$1
9713
+ settingRender: settingRender$2
9598
9714
  },
9599
9715
  defaulSetting: {
9600
9716
  props: {
@@ -9673,7 +9789,7 @@ const Appoint = createMaterial(AppointComponent, {
9673
9789
  type: 'Appoint',
9674
9790
  related: {
9675
9791
  interactionRender: interactionRender$5,
9676
- settingRender: settingRender$1 === null || settingRender$1 === void 0 ? void 0 : settingRender$1.filter((i) => i.type !== 'commodityTitle'),
9792
+ settingRender: settingRender$2 === null || settingRender$2 === void 0 ? void 0 : settingRender$2.filter((i) => i.type !== 'commodityTitle'),
9677
9793
  bindableProps: []
9678
9794
  },
9679
9795
  defaulSetting: {
@@ -9750,7 +9866,7 @@ const Link = createMaterial(LinkComponent, {
9750
9866
  category: 'template',
9751
9867
  type: 'Link',
9752
9868
  related: {
9753
- settingRender: settingRender$1 === null || settingRender$1 === void 0 ? void 0 : settingRender$1.filter((i) => i.type !== 'commodityTitle'),
9869
+ settingRender: settingRender$2 === null || settingRender$2 === void 0 ? void 0 : settingRender$2.filter((i) => i.type !== 'commodityTitle'),
9754
9870
  bindableProps: []
9755
9871
  },
9756
9872
  defaulSetting: {
@@ -9842,7 +9958,7 @@ const CommodityDiro = createMaterial(CommodityDiroComponent, {
9842
9958
  type: 'CommodityDiro',
9843
9959
  related: {
9844
9960
  interactionRender: interactionRender$4,
9845
- settingRender: settingRender$1,
9961
+ settingRender: settingRender$2,
9846
9962
  bindableProps: []
9847
9963
  },
9848
9964
  defaulSetting: {
@@ -9941,7 +10057,7 @@ const CommodityDiroNew = createMaterial(CommodityDiroNewComponent, {
9941
10057
  related: {
9942
10058
  interactionRender: interactionRender$3,
9943
10059
  bindableProps: [],
9944
- settingRender: settingRender$1
10060
+ settingRender: settingRender$2
9945
10061
  },
9946
10062
  defaulSetting: {
9947
10063
  props: {
@@ -10086,7 +10202,7 @@ const MultiCommodityDiro = createMaterial(MultiCommodityDiroComponent, {
10086
10202
  related: {
10087
10203
  interactionRender: interactionRender$2,
10088
10204
  bindableProps: [],
10089
- settingRender: settingRender$1
10205
+ settingRender: settingRender$2
10090
10206
  },
10091
10207
  defaulSetting: {
10092
10208
  props: {
@@ -10200,7 +10316,7 @@ const MultiCommodity = createMaterial(MultiCommodityComponent, {
10200
10316
  type: 'MultiCommodity',
10201
10317
  related: {
10202
10318
  interactionRender: interactionRender$1,
10203
- settingRender: settingRender$1,
10319
+ settingRender: settingRender$2,
10204
10320
  bindableProps: []
10205
10321
  },
10206
10322
  defaulSetting: {
@@ -10316,7 +10432,7 @@ const MultiCommodityDiroNew = createMaterial(MultiCommodityDiroNewComponent, {
10316
10432
  related: {
10317
10433
  interactionRender,
10318
10434
  bindableProps: [],
10319
- settingRender: settingRender$1
10435
+ settingRender: settingRender$2
10320
10436
  },
10321
10437
  defaulSetting: {
10322
10438
  props: {
@@ -10362,11 +10478,11 @@ var _a, _b;
10362
10478
  * @Author: binruan@chatlabs.com
10363
10479
  * @Date: 2024-04-07 14:07:12
10364
10480
  * @LastEditors: binruan@chatlabs.com
10365
- * @LastEditTime: 2024-05-23 11:03:15
10481
+ * @LastEditTime: 2024-06-11 11:04:55
10366
10482
  * @FilePath: \pb-sxp-ui\src\materials\sxp\HashTag\settingRender.tsx
10367
10483
  *
10368
10484
  */
10369
- var settingRender = [
10485
+ var settingRender$1 = [
10370
10486
  {
10371
10487
  title: 'Banner',
10372
10488
  child: [
@@ -10389,7 +10505,8 @@ var settingRender = [
10389
10505
  {
10390
10506
  type: 'Switch',
10391
10507
  label: '固定宽高',
10392
- name: ['props', 'isWaterfallFlow']
10508
+ name: ['props', 'openFixedSize'],
10509
+ initialValue: true
10393
10510
  }
10394
10511
  ]
10395
10512
  },
@@ -11998,8 +12115,8 @@ const WaterfallFlowItem$1 = (props) => {
11998
12115
  React.createElement("div", { className: 'waterFallList-content-listItem-info-price', hidden: !priceText, style: textStyles.price }, priceText))));
11999
12116
  };
12000
12117
  function WaterfallList$1(_a) {
12001
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
12002
- var { reportTagsView } = _a, props = __rest(_a, ["reportTagsView"]);
12118
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
12119
+ var { reportTagsView, showBanner } = _a, props = __rest(_a, ["reportTagsView", "showBanner"]);
12003
12120
  const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
12004
12121
  /** 滚动的父元素 */
12005
12122
  const scrollParent = React.useRef(null);
@@ -12203,25 +12320,30 @@ function WaterfallList$1(_a) {
12203
12320
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
12204
12321
  React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement("div", { className: 'waterFallList', ref: waterfallFlowDom },
12205
12322
  React.createElement("div", { className: 'waterFallList-scroll', ref: scrollParent },
12206
- React.createElement("div", { className: 'waterFallList-info', style: (_b = props === null || props === void 0 ? void 0 : props.textStyles) === null || _b === void 0 ? void 0 : _b.hashTagDesc }, (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.info),
12207
- React.createElement("div", { hidden: !((_d = data === null || data === void 0 ? void 0 : data.tag) === null || _d === void 0 ? void 0 : _d.link), className: 'waterFallList-collection', style: Object.assign({}, (_e = props === null || props === void 0 ? void 0 : props.textStyles) === null || _e === void 0 ? void 0 : _e.hashTagLink), onClick: handleClickLink }, ((_f = data === null || data === void 0 ? void 0 : data.tag) === null || _f === void 0 ? void 0 : _f.linkTitle) || 'Shop the collection'),
12323
+ showBanner && ((_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.picture) && (React.createElement(FormatImage$1, { className: css.css({
12324
+ width: '100%',
12325
+ objectFit: 'cover',
12326
+ marginBottom: '20px'
12327
+ }), src: (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.picture })),
12328
+ 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 }, (_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.info),
12329
+ React.createElement("div", { hidden: !((_f = data === null || data === void 0 ? void 0 : data.tag) === null || _f === void 0 ? void 0 : _f.link), className: 'waterFallList-collection', style: Object.assign({}, (_g = props === null || props === void 0 ? void 0 : props.textStyles) === null || _g === void 0 ? void 0 : _g.hashTagLink), onClick: handleClickLink }, ((_h = data === null || data === void 0 ? void 0 : data.tag) === null || _h === void 0 ? void 0 : _h.linkTitle) || 'Shop the collection'),
12208
12330
  React.createElement("div", { className: 'waterFallList-content' }, list === null || list === void 0 ? void 0 :
12209
12331
  list.map((item, ind) => {
12210
12332
  var _a;
12211
12333
  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)));
12212
12334
  }),
12213
- React.createElement("div", { hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link), style: {
12335
+ React.createElement("div", { hidden: !((_j = data === null || data === void 0 ? void 0 : data.tag) === null || _j === void 0 ? void 0 : _j.link), style: {
12214
12336
  position: 'absolute',
12215
12337
  width: '100%',
12216
- transform: `translate(0px,${(_m = ((_j = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current[((_h = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current) === null || _h === void 0 ? void 0 : _h.length) - 1]) === null || _j === void 0 ? void 0 : _j.top) +
12217
- ((_l = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current[((_k = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current) === null || _k === void 0 ? void 0 : _k.length) - 1]) === null || _l === void 0 ? void 0 : _l.height)) !== null && _m !== void 0 ? _m : 0}px)`,
12218
- height: ((_o = data === null || data === void 0 ? void 0 : data.tag) === null || _o === void 0 ? void 0 : _o.link)
12219
- ? ((_p = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _p === void 0 ? void 0 : _p.offsetHeight) || ((_q = props === null || props === void 0 ? void 0 : props.buttonBgStyle) === null || _q === void 0 ? void 0 : _q.height) || '100px'
12338
+ transform: `translate(0px,${(_p = ((_l = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current[((_k = waterfallFlowListInfo === null || waterfallFlowListInfo === void 0 ? void 0 : waterfallFlowListInfo.current) === null || _k === void 0 ? void 0 : _k.length) - 1]) === null || _l === void 0 ? void 0 : _l.top) +
12339
+ ((_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.height)) !== null && _p !== void 0 ? _p : 0}px)`,
12340
+ height: ((_q = data === null || data === void 0 ? void 0 : data.tag) === null || _q === void 0 ? void 0 : _q.link)
12341
+ ? ((_r = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _r === void 0 ? void 0 : _r.offsetHeight) || ((_s = props === null || props === void 0 ? void 0 : props.buttonBgStyle) === null || _s === void 0 ? void 0 : _s.height) || '100px'
12220
12342
  : 0
12221
12343
  } }))),
12222
- React.createElement("div", { className: 'waterFallList-bottom', hidden: !((_r = data === null || data === void 0 ? void 0 : data.tag) === null || _r === void 0 ? void 0 : _r.link), style: props === null || props === void 0 ? void 0 : props.buttonBgStyle }),
12223
- React.createElement("div", { ref: buttonRef, hidden: !((_s = data === null || data === void 0 ? void 0 : data.tag) === null || _s === void 0 ? void 0 : _s.link), className: 'waterFallList-btn-wrap', style: Object.assign(Object.assign({}, props === null || props === void 0 ? void 0 : props.buttonBgStyle), { height: 'auto', backgroundColor: 'transparent' }) },
12224
- React.createElement("button", { className: 'waterFallList-btn', style: props === null || props === void 0 ? void 0 : props.buttonStyle, onClick: handleClickLink }, ((_t = data === null || data === void 0 ? void 0 : data.tag) === null || _t === void 0 ? void 0 : _t.linkTitle) || 'Shop the collection'))))));
12344
+ React.createElement("div", { className: 'waterFallList-bottom', hidden: !((_t = data === null || data === void 0 ? void 0 : data.tag) === null || _t === void 0 ? void 0 : _t.link), style: props === null || props === void 0 ? void 0 : props.buttonBgStyle }),
12345
+ React.createElement("div", { ref: buttonRef, hidden: !((_u = data === null || data === void 0 ? void 0 : data.tag) === null || _u === void 0 ? void 0 : _u.link), className: 'waterFallList-btn-wrap', style: Object.assign(Object.assign({}, props === null || props === void 0 ? void 0 : props.buttonBgStyle), { height: 'auto', backgroundColor: 'transparent' }) },
12346
+ React.createElement("button", { className: 'waterFallList-btn', style: props === null || props === void 0 ? void 0 : props.buttonStyle, onClick: handleClickLink }, ((_v = data === null || data === void 0 ? void 0 : data.tag) === null || _v === void 0 ? void 0 : _v.linkTitle) || 'Shop the collection'))))));
12225
12347
  }
12226
12348
 
12227
12349
  var img$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAaZJREFUeF7t2jFKBEEQRuG3mSJeQTARURDMTL2EqXfwAnoKD6FHMDEzNVIw2tzQC2gFggyDrExX1V92T7wz9PumFnqbXdH5teq8nwEwJqBzgfEVKDYAW8Ae8NZq3ZUm4Aa4AnaBR+C8BUIVAIu/ngSfAs9LESoAWLgB/LzWwP7SeLtfHWAu3tZ9Adz/dwD3eOUJCIlXBQiLVwQIjVcDCI9XAkiJVwFIi1cASI3PBpjb3jbd5GyyUcraCUrEZ02ATHwGgFR8NIBcfCSAZHwUgGx8BIB0vDeAfLwnQIl4L4Ay8R4ApeJbA2wD78DOZA/e7ABzk739Xz/T8rfAIfA6WYCd3BqA7NUSwCKfgLNKCK0BjoC7rzP74yoIrQGsuxSCB0ApBC+AMgieACUQvAHkESIApBGiAGQRIgEkEaIB5BAyAKQQsgBkEDIBJBCyAdIRFABSEVQA0hCUAFIQ1ADCERQBQhFUAcIQlAFCENQBfkOwg9eXpeftFQDmEOzv8ifARy8A3wiXwAHwANwujbf7q0xAi9bZZwwAN9oiDx4TUORFuS2z+wn4BAiAaEHnKChjAAAAAElFTkSuQmCC";
@@ -12350,8 +12472,8 @@ const WaterfallFlowItem = (props) => {
12350
12472
  React.createElement("div", { className: 'list-content-listItem-info-price', style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.price, hidden: !priceText }, priceText))));
12351
12473
  };
12352
12474
  function WaterfallList(_a) {
12353
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
12354
- var { reportTagsView } = _a, props = __rest(_a, ["reportTagsView"]);
12475
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
12476
+ var { reportTagsView, showBanner } = _a, props = __rest(_a, ["reportTagsView", "showBanner"]);
12355
12477
  const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
12356
12478
  const [list, setList] = React.useState();
12357
12479
  const [data, setData] = React.useState();
@@ -12422,31 +12544,37 @@ function WaterfallList(_a) {
12422
12544
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
12423
12545
  React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement("div", { className: 'list' },
12424
12546
  React.createElement("div", { className: 'list-scroll', ref: containerRef },
12425
- React.createElement("div", { className: 'list-info', style: (_b = props === null || props === void 0 ? void 0 : props.textStyles) === null || _b === void 0 ? void 0 : _b.hashTagDesc }, (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.info),
12426
- React.createElement("div", { hidden: !((_d = data === null || data === void 0 ? void 0 : data.tag) === null || _d === void 0 ? void 0 : _d.link), className: 'list-collection', onClick: handleClickLink, style: Object.assign(Object.assign({}, (_e = props === null || props === void 0 ? void 0 : props.textStyles) === null || _e === void 0 ? void 0 : _e.hashTagLink), { 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'),
12547
+ showBanner && ((_b = data === null || data === void 0 ? void 0 : data.tag) === null || _b === void 0 ? void 0 : _b.picture) && (React.createElement(FormatImage$1, { className: css.css({
12548
+ width: '100%',
12549
+ objectFit: 'cover',
12550
+ marginBottom: '20px'
12551
+ }), src: (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.picture })),
12552
+ 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 }, (_e = data === null || data === void 0 ? void 0 : data.tag) === null || _e === void 0 ? void 0 : _e.info),
12553
+ React.createElement("div", { hidden: !((_f = data === null || data === void 0 ? void 0 : data.tag) === null || _f === void 0 ? void 0 : _f.link), className: 'list-collection', onClick: handleClickLink, style: Object.assign(Object.assign({}, (_g = props === null || props === void 0 ? void 0 : props.textStyles) === null || _g === void 0 ? void 0 : _g.hashTagLink), { marginBottom: props === null || props === void 0 ? void 0 : props.space }) }, ((_h = data === null || data === void 0 ? void 0 : data.tag) === null || _h === void 0 ? void 0 : _h.linkTitle) || 'Shop the collection'),
12427
12554
  React.createElement("div", { className: 'list-content' }, list === null || list === void 0 ? void 0 : list.map((item, ind) => {
12428
12555
  return (React.createElement(WaterfallFlowItem, Object.assign({ key: ind, index: ind, rec: item, list: list, reportTagsView: reportTagsView }, props)));
12429
12556
  })),
12430
12557
  React.createElement("div", { hidden: !isLoadMore, style: { textAlign: 'center' } }, "loading..."),
12431
- React.createElement("div", { hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link), style: {
12432
- height: ((_h = data === null || data === void 0 ? void 0 : data.tag) === null || _h === void 0 ? void 0 : _h.link) ? ((_j = props === null || props === void 0 ? void 0 : props.buttonBgStyle) === null || _j === void 0 ? void 0 : _j.height) || ((_k = props === null || props === void 0 ? void 0 : props.buttonStyle) === null || _k === void 0 ? void 0 : _k.height) || '100px' : 0
12558
+ React.createElement("div", { hidden: !((_j = data === null || data === void 0 ? void 0 : data.tag) === null || _j === void 0 ? void 0 : _j.link), style: {
12559
+ height: ((_k = data === null || data === void 0 ? void 0 : data.tag) === null || _k === void 0 ? void 0 : _k.link) ? ((_l = props === null || props === void 0 ? void 0 : props.buttonBgStyle) === null || _l === void 0 ? void 0 : _l.height) || ((_m = props === null || props === void 0 ? void 0 : props.buttonStyle) === null || _m === void 0 ? void 0 : _m.height) || '100px' : 0
12433
12560
  } })),
12434
- React.createElement("div", { className: 'list-bottom', hidden: !((_l = data === null || data === void 0 ? void 0 : data.tag) === null || _l === void 0 ? void 0 : _l.link), style: props === null || props === void 0 ? void 0 : props.buttonBgStyle }),
12435
- React.createElement("div", { hidden: !((_m = data === null || data === void 0 ? void 0 : data.tag) === null || _m === void 0 ? void 0 : _m.link), className: 'list-btn-wrap', style: Object.assign(Object.assign({}, props === null || props === void 0 ? void 0 : props.buttonBgStyle), { height: 'auto', backgroundColor: 'transparent' }) },
12436
- React.createElement("button", { className: 'list-btn', style: props === null || props === void 0 ? void 0 : props.buttonStyle, onClick: handleClickLink }, ((_o = data === null || data === void 0 ? void 0 : data.tag) === null || _o === void 0 ? void 0 : _o.linkTitle) || 'Shop the collection'))))));
12561
+ React.createElement("div", { className: 'list-bottom', hidden: !((_o = data === null || data === void 0 ? void 0 : data.tag) === null || _o === void 0 ? void 0 : _o.link), style: props === null || props === void 0 ? void 0 : props.buttonBgStyle }),
12562
+ React.createElement("div", { hidden: !((_p = data === null || data === void 0 ? void 0 : data.tag) === null || _p === void 0 ? void 0 : _p.link), className: 'list-btn-wrap', style: Object.assign(Object.assign({}, props === null || props === void 0 ? void 0 : props.buttonBgStyle), { height: 'auto', backgroundColor: 'transparent' }) },
12563
+ React.createElement("button", { className: 'list-btn', style: props === null || props === void 0 ? void 0 : props.buttonStyle, onClick: handleClickLink }, ((_q = data === null || data === void 0 ? void 0 : data.tag) === null || _q === void 0 ? void 0 : _q.linkTitle) || 'Shop the collection'))))));
12437
12564
  }
12438
12565
 
12439
12566
  /*
12440
12567
  * @Author: binruan@chatlabs.com
12441
12568
  * @Date: 2024-01-10 10:58:24
12442
12569
  * @LastEditors: binruan@chatlabs.com
12443
- * @LastEditTime: 2024-06-07 10:35:35
12570
+ * @LastEditTime: 2024-06-12 14:18:56
12444
12571
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
12445
12572
  *
12446
12573
  */
12447
12574
  const WaterFall = (props) => {
12448
12575
  var _a;
12449
- const { waterFallData, setOpenHashtag, openHashtag, swiperRef, setWaterFallData, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, setCacheRtcList, setIsFromHashtag, isFromHashtag, bffEventReport } = useSxpDataSource();
12576
+ const { waterFallData, setOpenHashtag, openHashtag, swiperRef, setWaterFallData, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, setCacheRtcList, setIsFromHashtag, isFromHashtag, bffEventReport, themeTag } = useSxpDataSource();
12577
+ const { backMainFeed } = useEventReport();
12450
12578
  React.useRef(null);
12451
12579
  const modalEleRef = React.useRef(null);
12452
12580
  const [viewTime, setViewTime] = React.useState();
@@ -12467,6 +12595,9 @@ const WaterFall = (props) => {
12467
12595
  if (!isEq && cacheRtcList && (cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.length)) {
12468
12596
  setRtcList === null || setRtcList === void 0 ? void 0 : setRtcList(cacheRtcList);
12469
12597
  }
12598
+ if (!(themeTag === null || themeTag === void 0 ? void 0 : themeTag.current)) {
12599
+ backMainFeed('branch', themeTag === null || themeTag === void 0 ? void 0 : themeTag.current, waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag);
12600
+ }
12470
12601
  reportTagsView();
12471
12602
  setWaterFallData === null || setWaterFallData === void 0 ? void 0 : setWaterFallData(undefined);
12472
12603
  setIsFromHashtag === null || setIsFromHashtag === void 0 ? void 0 : setIsFromHashtag(false);
@@ -12534,7 +12665,7 @@ const WaterFall = (props) => {
12534
12665
  display: openHashtag ? 'block' : 'none'
12535
12666
  } },
12536
12667
  React.createElement(Navbar$1, { icon: img$1, styles: { top: '32px' }, textStyle: (_a = props === null || props === void 0 ? void 0 : props.textStyles) === null || _a === void 0 ? void 0 : _a.hashTagTitle, onClose: handleClose }),
12537
- (props === null || props === void 0 ? void 0 : props.isWaterfallFlow) ? (React.createElement(WaterfallList$1, Object.assign({ reportTagsView: reportTagsView }, props))) : (React.createElement(WaterfallList, Object.assign({ reportTagsView: reportTagsView }, props)))), modalEleRef.current);
12668
+ (props === null || props === void 0 ? void 0 : props.openFixedSize) === true || (props === null || props === void 0 ? void 0 : props.openFixedSize) === undefined ? (React.createElement(WaterfallList, Object.assign({ reportTagsView: reportTagsView }, props))) : (React.createElement(WaterfallList$1, Object.assign({ reportTagsView: reportTagsView }, props)))), modalEleRef.current);
12538
12669
  };
12539
12670
  var WaterFall$1 = React.memo(WaterFall);
12540
12671
 
@@ -12565,7 +12696,7 @@ const HashTag = createMaterial(HashTagComponent, {
12565
12696
  category: 'base',
12566
12697
  type: 'HashTag',
12567
12698
  related: {
12568
- settingRender,
12699
+ settingRender: settingRender$1,
12569
12700
  bindableProps: []
12570
12701
  },
12571
12702
  defaulSetting: {
@@ -12622,6 +12753,84 @@ const HashTag = createMaterial(HashTagComponent, {
12622
12753
  sort: 2
12623
12754
  });
12624
12755
 
12756
+ /*
12757
+ * @Author: binruan@chatlabs.com
12758
+ * @Date: 2024-06-13 10:08:32
12759
+ * @LastEditors: binruan@chatlabs.com
12760
+ * @LastEditTime: 2024-06-13 17:42:50
12761
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\Consent\settingRender.tsx
12762
+ *
12763
+ */
12764
+ var settingRender = [
12765
+ {
12766
+ title: '协议详情',
12767
+ child: [
12768
+ {
12769
+ type: 'Switch',
12770
+ label: '必须同意用户协议',
12771
+ name: ['props', 'privacy_necessity'],
12772
+ extra: '当新用户进入页面时,会出现用户协议弹窗,用户需要先同意协议后才能访问内容。'
12773
+ },
12774
+ {
12775
+ type: 'Text',
12776
+ label: '弹窗标题',
12777
+ name: ['props', 'privacy_title']
12778
+ },
12779
+ {
12780
+ type: 'TextArea',
12781
+ label: '用户协议弹窗内容',
12782
+ name: ['props', 'privacy_context']
12783
+ },
12784
+ {
12785
+ type: 'Group',
12786
+ label: '隐私政策',
12787
+ child: [
12788
+ {
12789
+ type: 'Text',
12790
+ name: ['props', 'privacy_policy_title']
12791
+ },
12792
+ {
12793
+ type: 'Text',
12794
+ name: ['props', 'privacy_policy_url'],
12795
+ addonBefore: 'https://'
12796
+ }
12797
+ ],
12798
+ extra: '当用户点击更多信息按钮时,将会跳转至设置的链接查看政策内容'
12799
+ }
12800
+ ]
12801
+ }
12802
+ ];
12803
+
12804
+ const Consent$1 = (props) => {
12805
+ return React.createElement(Consent$1, Object.assign({}, props));
12806
+ };
12807
+ var ConsentComponent = React.memo(Consent$1);
12808
+
12809
+ /*
12810
+ * @Author: binruan@chatlabs.com
12811
+ * @Date: 2023-07-28 18:29:57
12812
+ * @LastEditors: binruan@chatlabs.com
12813
+ * @LastEditTime: 2024-06-13 17:32:17
12814
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\Consent\material.tsx
12815
+ *
12816
+ */
12817
+ const Consent = createMaterial(ConsentComponent, {
12818
+ displayName: 'Consent',
12819
+ icon: '',
12820
+ category: 'base',
12821
+ type: 'Consent',
12822
+ related: {
12823
+ settingRender
12824
+ },
12825
+ defaulSetting: {
12826
+ props: {},
12827
+ style: {}
12828
+ },
12829
+ w: 100,
12830
+ h: 40,
12831
+ sort: 1
12832
+ });
12833
+
12625
12834
  /*
12626
12835
  * @Author: binruan@chatlabs.com
12627
12836
  * @Date: 2023-07-25 14:56:49
@@ -12640,6 +12849,7 @@ var _materials_ = /*#__PURE__*/Object.freeze({
12640
12849
  CommodityDetailDiroNew: CommodityDetailDiroNew,
12641
12850
  CommodityDiro: CommodityDiro,
12642
12851
  CommodityDiroNew: CommodityDiroNew,
12852
+ Consent: Consent,
12643
12853
  HashTag: HashTag,
12644
12854
  Link: Link,
12645
12855
  MultiCommodity: MultiCommodity,
@@ -13312,16 +13522,37 @@ const Nudge = ({ nudge }) => {
13312
13522
  React.createElement("p", { style: Object.assign(Object.assign({}, nudge === null || nudge === void 0 ? void 0 : nudge.textStyle), { textWrap: 'nowrap', textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap', flex: 1, marginBottom: 0 }) }, (_g = nudge === null || nudge === void 0 ? void 0 : nudge.content) !== null && _g !== void 0 ? _g : '')))));
13313
13523
  };
13314
13524
 
13525
+ /*
13526
+ * @Author: binruan@chatlabs.com
13527
+ * @Date: 2024-04-29 16:32:21
13528
+ * @LastEditors: binruan@chatlabs.com
13529
+ * @LastEditTime: 2024-06-12 11:01:48
13530
+ * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Tagbar.tsx
13531
+ *
13532
+ */
13315
13533
  const DEFAULT_TAG = 'FOR U';
13316
13534
  const Tagbar = ({ tagList = [], setActiveIndex }) => {
13317
13535
  const [selectTag, setSelectTag] = React.useState(DEFAULT_TAG);
13318
- const { getRecommendVideos, setRtcList, setCacheRtcList, setCacheActiveIndex, setLoading, swiperRef, waterFallData } = useSxpDataSource();
13536
+ const { getRecommendVideos, setRtcList, setCacheRtcList, setCacheActiveIndex, setLoading, swiperRef, waterFallData, bffEventReport } = useSxpDataSource();
13537
+ const { backMainFeed } = useEventReport();
13319
13538
  const realTagList = React.useMemo(() => {
13320
13539
  return [DEFAULT_TAG, ...tagList];
13321
13540
  }, [tagList]);
13322
13541
  const handleSelectTag = (tag) => () => {
13323
13542
  if (tag === selectTag)
13324
13543
  return;
13544
+ if (tag !== 'FOR U') {
13545
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
13546
+ eventInfo: {
13547
+ eventSubject: 'clickThemeTagsViewContents',
13548
+ eventDescription: 'click Theme Tags View Contents',
13549
+ themeTags: `[${tag}]`
13550
+ }
13551
+ });
13552
+ }
13553
+ else {
13554
+ backMainFeed('theme', selectTag);
13555
+ }
13325
13556
  let themeTag;
13326
13557
  if (tag !== DEFAULT_TAG) {
13327
13558
  themeTag = tag;
@@ -13353,7 +13584,7 @@ var Tagbar$1 = React.memo(Tagbar);
13353
13584
  * @Author: binruan@chatlabs.com
13354
13585
  * @Date: 2024-01-15 19:03:09
13355
13586
  * @LastEditors: binruan@chatlabs.com
13356
- * @LastEditTime: 2024-06-07 11:10:42
13587
+ * @LastEditTime: 2024-06-13 18:09:16
13357
13588
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
13358
13589
  *
13359
13590
  */
@@ -13364,11 +13595,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13364
13595
  const viewImageStartTime = React.useRef(0);
13365
13596
  const [isInit, setIsInit] = React.useState(false);
13366
13597
  const [isMuted, setIsMuted] = React.useState(true);
13367
- const curTime = React.useRef();
13368
13598
  const viewTime = React.useRef();
13369
13599
  const [isLoadMore, setIsLoadMore] = React.useState(false);
13370
13600
  const [isShowMore, setIsShowMore] = React.useState(false);
13371
- const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport } = useSxpDataSource();
13601
+ const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink } = useSxpDataSource();
13602
+ const { backMainFeed } = useEventReport();
13372
13603
  const [videoRef, setVideoRef] = React.useState(null);
13373
13604
  const playerRef = React.useRef();
13374
13605
  const { productView } = useEventReport();
@@ -13376,44 +13607,20 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13376
13607
  return data.length > 0 && !loading && getFeUserId();
13377
13608
  }, [data, loading]);
13378
13609
  const handleH5EnterLink = React.useCallback(() => {
13379
- var _a, _b;
13380
13610
  if (data.length <= 0) {
13381
13611
  return;
13382
13612
  }
13383
- initTime();
13384
- // 刷新 sessionId
13385
- // refreshFeSessionId();
13386
- const queryString = location.search.slice(1);
13387
- const params = qs.parse(queryString.replace(/\+/g, '%2B'));
13388
- for (const key in params) {
13389
- params[key] = params[key].replace(/%2B/g, '+');
13613
+ refreshFeSessionId();
13614
+ const now = new Date();
13615
+ viewTime.current = now;
13616
+ if (isInit) {
13617
+ h5EnterLink === null || h5EnterLink === void 0 ? void 0 : h5EnterLink();
13390
13618
  }
13391
- const getVal = (key) => { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ''; };
13392
- bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
13393
- eventInfo: {
13394
- eventSubject: 'h5LinkEnterFeed',
13395
- eventDescription: 'User enter h5 link',
13396
- utmSource: getVal('utm_source'),
13397
- utmMedium: getVal('utm_medium'),
13398
- utmCampaign: getVal('utm_campaign'),
13399
- utmId: getVal('utm_id'),
13400
- utmContent: getVal('utm_content'),
13401
- enterTime: `${Date.now()}`,
13402
- requestId: null,
13403
- enterUrl: (_b = (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href) !== null && _b !== void 0 ? _b : '',
13404
- clSource: getVal('cl_sourc')
13405
- }
13406
- });
13407
13619
  bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
13408
13620
  eventName: 'PageView'
13409
13621
  });
13410
13622
  setIsInit(true);
13411
- }, [bffEventReport, data.length, bffFbReport]);
13412
- const initTime = () => {
13413
- curTime.current = new Date();
13414
- viewTime.current = new Date();
13415
- refreshFeSessionId();
13416
- };
13623
+ }, [data.length, bffFbReport, h5EnterLink, isInit]);
13417
13624
  const firstRef = React.useRef();
13418
13625
  React.useEffect(() => {
13419
13626
  var _a, _b, _c, _d;
@@ -13509,13 +13716,33 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13509
13716
  handleH5EnterLink();
13510
13717
  handleViewImageStartEvent(activeIndex);
13511
13718
  SXP_EVENT_BUS.emit(SXP_EVENT_TYPE.PAGE_DID_SHOW, item);
13719
+ backMainFeed('external');
13512
13720
  }
13513
13721
  };
13514
13722
  document.addEventListener('visibilitychange', visibleChange);
13515
13723
  return () => {
13516
13724
  document.removeEventListener('visibilitychange', visibleChange);
13517
13725
  };
13518
- }, [activeIndex, bffEventReport, curTime, data, handleH5EnterLink, popupDetailData, isFromHashtag, tempMap]);
13726
+ }, [
13727
+ activeIndex,
13728
+ bffEventReport,
13729
+ data,
13730
+ handleH5EnterLink,
13731
+ popupDetailData,
13732
+ isFromHashtag,
13733
+ tempMap,
13734
+ curTime,
13735
+ backMainFeed
13736
+ ]);
13737
+ React.useEffect(() => {
13738
+ const initTime = () => {
13739
+ backMainFeed('external');
13740
+ };
13741
+ window.addEventListener('pageshow', initTime);
13742
+ return () => {
13743
+ window.removeEventListener('pageshow', initTime);
13744
+ };
13745
+ }, []);
13519
13746
  const tagHeight = React.useMemo(() => {
13520
13747
  let h = 0;
13521
13748
  if (tagList.length > 0) {
@@ -14257,7 +14484,7 @@ const Popup = () => {
14257
14484
  * @Author: binruan@chatlabs.com
14258
14485
  * @Date: 2024-01-15 19:03:09
14259
14486
  * @LastEditors: binruan@chatlabs.com
14260
- * @LastEditTime: 2024-05-17 18:41:05
14487
+ * @LastEditTime: 2024-06-13 14:54:12
14261
14488
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageCore\index.tsx
14262
14489
  *
14263
14490
  */
@@ -14274,14 +14501,14 @@ Object.values(_materials_).forEach((v) => {
14274
14501
  RESOLVER[v.extend.type] = v;
14275
14502
  });
14276
14503
  const SxpPageCore = ({ data, maxSize = 10, defaultSize = 10, hashTagSize = 20, loadingImage, appDomain, licenseUrl, enabledMetaConversionApi }) => {
14277
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
14504
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
14278
14505
  const utmVal = React.useMemo(() => {
14279
14506
  var _a;
14280
14507
  const searchParams = (location === null || location === void 0 ? void 0 : location.search) ? (_a = location === null || location === void 0 ? void 0 : location.search) === null || _a === void 0 ? void 0 : _a.replace('?', '') : '';
14281
14508
  return searchParams;
14282
14509
  }, []);
14283
14510
  return (React.createElement(EditorCore, { resolver: RESOLVER, enableDataSource: false, schema: data === null || data === void 0 ? void 0 : data.data, utmVal: utmVal },
14284
- React.createElement(SxpDataSourceProvider$1, { utmVal: utmVal, dataSources: data === null || data === void 0 ? void 0 : data.data_sources, sxpParameter: data === null || data === void 0 ? void 0 : data.sxp_parameter, maxSize: (_b = (_a = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _a === void 0 ? void 0 : _a.personalized_recommend) !== null && _b !== void 0 ? _b : maxSize, defaultSize: (_d = (_c = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _c === void 0 ? void 0 : _c.default_recommend) !== null && _d !== void 0 ? _d : defaultSize, hashTagSize: (_f = (_e = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _e === void 0 ? void 0 : _e.hash_tag_size) !== null && _f !== void 0 ? _f : hashTagSize, loadingImage: loadingImage, appDomain: appDomain, enabledMetaConversionApi: enabledMetaConversionApi, isShowTag: (_j = (_h = (_g = data === null || data === void 0 ? void 0 : data.data) === null || _g === void 0 ? void 0 : _g.sxpPageConf) === null || _h === void 0 ? void 0 : _h.globalConfig) === null || _j === void 0 ? void 0 : _j.isShowTag, render: ({ rtcList, tagList }) => {
14511
+ React.createElement(SxpDataSourceProvider$1, { utmVal: utmVal, dataSources: data === null || data === void 0 ? void 0 : data.data_sources, sxpParameter: data === null || data === void 0 ? void 0 : data.sxp_parameter, maxSize: (_b = (_a = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _a === void 0 ? void 0 : _a.personalized_recommend) !== null && _b !== void 0 ? _b : maxSize, defaultSize: (_d = (_c = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _c === void 0 ? void 0 : _c.default_recommend) !== null && _d !== void 0 ? _d : defaultSize, hashTagSize: (_f = (_e = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _e === void 0 ? void 0 : _e.hash_tag_size) !== null && _f !== void 0 ? _f : hashTagSize, loadingImage: loadingImage, appDomain: appDomain, enabledMetaConversionApi: enabledMetaConversionApi, isShowTag: (_j = (_h = (_g = data === null || data === void 0 ? void 0 : data.data) === null || _g === void 0 ? void 0 : _g.sxpPageConf) === null || _h === void 0 ? void 0 : _h.globalConfig) === null || _j === void 0 ? void 0 : _j.isShowTag, globalConfig: (_l = (_k = data === null || data === void 0 ? void 0 : data.data) === null || _k === void 0 ? void 0 : _k.sxpPageConf) === null || _l === void 0 ? void 0 : _l.globalConfig, render: ({ rtcList, tagList }) => {
14285
14512
  var _a;
14286
14513
  return (React.createElement(React.Fragment, null,
14287
14514
  React.createElement(SxpPageRender, Object.assign({}, (_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.sxpPageConf, { tagList: tagList, data: rtcList, resolver: RESOLVER, licenseUrl: licenseUrl })),
@@ -14300,8 +14527,9 @@ var index = React.memo(SxpPageCore);
14300
14527
  */
14301
14528
  const EditorDataContext = React.createContext({});
14302
14529
  const EditorDataProvider = ({ children, data }) => {
14303
- var _a, _b, _c, _d, _e, _f;
14530
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
14304
14531
  const [openHashtag, setOpenHashtag] = React.useState(false);
14532
+ const [openConsent, setOpenConsent] = React.useState(false);
14305
14533
  return (React.createElement(EditorDataContext.Provider, { value: {
14306
14534
  sxpPrameter: {
14307
14535
  bottomImage: (_a = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _a === void 0 ? void 0 : _a.bottom_image,
@@ -14309,11 +14537,20 @@ const EditorDataProvider = ({ children, data }) => {
14309
14537
  personalizedRecommend: (_c = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _c === void 0 ? void 0 : _c.personalized_recommend,
14310
14538
  placeholderImage: (_d = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _d === void 0 ? void 0 : _d.placeholder_image,
14311
14539
  hashTagSize: (_e = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _e === void 0 ? void 0 : _e.hash_tag_size,
14312
- loadingImage: (_f = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _f === void 0 ? void 0 : _f.loading_image
14540
+ loadingImage: (_f = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _f === void 0 ? void 0 : _f.loading_image,
14541
+ privacyContent: (_g = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _g === void 0 ? void 0 : _g.privacy_context,
14542
+ privacyNecessity: (_h = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _h === void 0 ? void 0 : _h.privacy_necessity,
14543
+ privacyPolicyTitle: (_j = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _j === void 0 ? void 0 : _j.privacy_policy_title,
14544
+ privacyPolicyUrl: (_k = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _k === void 0 ? void 0 : _k.privacy_policy_url,
14545
+ privacyTitle: (_l = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _l === void 0 ? void 0 : _l.privacy_title,
14546
+ template: (_m = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _m === void 0 ? void 0 : _m.template,
14547
+ industry: (_o = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _o === void 0 ? void 0 : _o.industry
14313
14548
  },
14314
14549
  appDomain: data === null || data === void 0 ? void 0 : data.appDomain,
14315
14550
  openHashtag,
14316
- setOpenHashtag
14551
+ setOpenHashtag,
14552
+ openConsent,
14553
+ setOpenConsent
14317
14554
  } }, children));
14318
14555
  };
14319
14556
  function useEditorDataProvider() {