pb-sxp-ui 1.0.80 → 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 (76) hide show
  1. package/dist/index.cjs +321 -85
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +93 -0
  4. package/dist/index.js +322 -86
  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 +321 -85
  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 +30 -10
  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 +37 -21
  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.js +1 -1
  43. package/es/materials/sxp/index.d.ts +1 -0
  44. package/es/materials/sxp/index.js +1 -0
  45. package/lib/core/Pagebuilder/type.d.ts +7 -0
  46. package/lib/core/components/Consent/index.d.ts +13 -0
  47. package/lib/core/components/Consent/index.js +63 -0
  48. package/lib/core/components/SxpPageCore/index.js +2 -2
  49. package/lib/core/components/SxpPageRender/Tagbar.js +15 -1
  50. package/lib/core/components/SxpPageRender/WaterFall/List.d.ts +1 -1
  51. package/lib/core/components/SxpPageRender/WaterFall/List.js +15 -9
  52. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.d.ts +1 -1
  53. package/lib/core/components/SxpPageRender/WaterFall/WaterfallList.js +18 -12
  54. package/lib/core/components/SxpPageRender/WaterFall/index.js +7 -2
  55. package/lib/core/components/SxpPageRender/index.d.ts +2 -1
  56. package/lib/core/components/SxpPageRender/index.js +30 -10
  57. package/lib/core/components/SxpPageRender/typing.d.ts +1 -0
  58. package/lib/core/context/EditorDataProvider.d.ts +9 -0
  59. package/lib/core/context/EditorDataProvider.js +13 -3
  60. package/lib/core/context/SxpDataSourceProvider.d.ts +10 -0
  61. package/lib/core/context/SxpDataSourceProvider.js +36 -20
  62. package/lib/core/hooks/useEventReport.d.ts +1 -0
  63. package/lib/core/hooks/useEventReport.js +13 -1
  64. package/lib/core/utils/localStore.d.ts +1 -0
  65. package/lib/core/utils/localStore.js +2 -1
  66. package/lib/materials/sxp/Consent/index.d.ts +12 -0
  67. package/lib/materials/sxp/Consent/index.js +8 -0
  68. package/lib/materials/sxp/Consent/material.d.ts +2 -0
  69. package/lib/materials/sxp/Consent/material.js +24 -0
  70. package/lib/materials/sxp/Consent/settingRender.d.ts +31 -0
  71. package/lib/materials/sxp/Consent/settingRender.js +41 -0
  72. package/lib/materials/sxp/HashTag/index.d.ts +1 -1
  73. package/lib/materials/sxp/HashTag/settingRender.js +1 -1
  74. package/lib/materials/sxp/index.d.ts +1 -0
  75. package/lib/materials/sxp/index.js +1 -0
  76. 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,7 @@ 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]);
643
- React.useEffect(() => {
711
+ const h5EnterLink = React.useCallback(() => {
644
712
  var _a, _b;
645
713
  const queryString = location.search.slice(1);
646
714
  const params = qs.parse(queryString.replace(/\+/g, '%2B'));
@@ -648,6 +716,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
648
716
  params[key] = params[key].replace(/%2B/g, '+');
649
717
  }
650
718
  const getVal = (key) => { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ''; };
719
+ const time = new Date();
720
+ curTime.current = time;
651
721
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
652
722
  eventInfo: {
653
723
  eventSubject: 'h5LinkEnterFeed',
@@ -657,14 +727,19 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
657
727
  utmCampaign: getVal('utm_campaign'),
658
728
  utmId: getVal('utm_id'),
659
729
  utmContent: getVal('utm_content'),
660
- enterTime: `${Date.now()}`,
730
+ enterTime: Math.floor(time / 1000) + '',
661
731
  requestId: null,
662
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 : '',
663
- clSource: getVal('cl_sourc')
733
+ clSource: getVal('cl_source')
664
734
  }
665
735
  });
736
+ }, [bffEventReport]);
737
+ React.useEffect(() => {
738
+ h5EnterLink();
666
739
  }, []);
667
740
  React.useEffect(() => {
741
+ if (!isAgreePolicy)
742
+ return;
668
743
  setLoading(true);
669
744
  bffGetTagList();
670
745
  getRecommendVideos()
@@ -683,7 +758,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
683
758
  setLoading(false);
684
759
  isInit.current = true;
685
760
  });
686
- }, []);
761
+ }, [isAgreePolicy]);
687
762
  React.useEffect(() => {
688
763
  if (!isInit.current)
689
764
  return;
@@ -735,14 +810,19 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
735
810
  setLoading,
736
811
  videoRef,
737
812
  setVideoRef,
738
- bffFbReport
739
- } }, 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({
740
820
  rtcList,
741
821
  mutateLike: bffMutateLike,
742
822
  mutateUnlike: bffMutateUnlike,
743
823
  submitForm: bffSubmitForm,
744
824
  tagList
745
- })));
825
+ }))));
746
826
  };
747
827
  var SxpDataSourceProvider$1 = React.memo(SxpDataSourceProvider);
748
828
 
@@ -1008,7 +1088,7 @@ var defaultSetting = {
1008
1088
  *
1009
1089
  */
1010
1090
  var _a$5, _b$5, _c;
1011
- var settingRender$5 = [
1091
+ var settingRender$6 = [
1012
1092
  {
1013
1093
  type: 'Text',
1014
1094
  label: '组件名称',
@@ -1146,7 +1226,7 @@ var settingRender$5 = [
1146
1226
  * @Author: binruan@chatlabs.com
1147
1227
  * @Date: 2024-03-12 10:59:06
1148
1228
  * @LastEditors: binruan@chatlabs.com
1149
- * @LastEditTime: 2024-04-15 09:47:08
1229
+ * @LastEditTime: 2024-06-12 10:53:57
1150
1230
  * @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
1151
1231
  *
1152
1232
  */
@@ -1216,9 +1296,21 @@ function useEventReport() {
1216
1296
  }
1217
1297
  });
1218
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]);
1219
1310
  return {
1220
1311
  jumpToWeb,
1221
- productView
1312
+ productView,
1313
+ backMainFeed
1222
1314
  };
1223
1315
  }
1224
1316
 
@@ -1323,7 +1415,7 @@ const AppointForm = createMaterial(AppointFormComponent, {
1323
1415
  category: 'popup',
1324
1416
  type: 'AppointForm',
1325
1417
  related: {
1326
- settingRender: settingRender$5,
1418
+ settingRender: settingRender$6,
1327
1419
  bindableProps: [],
1328
1420
  interactionRender: interactionRender$8
1329
1421
  },
@@ -1349,7 +1441,7 @@ const AppointForm = createMaterial(AppointFormComponent, {
1349
1441
  });
1350
1442
 
1351
1443
  var _a$4, _b$4;
1352
- var settingRender$4 = [
1444
+ var settingRender$5 = [
1353
1445
  {
1354
1446
  title: '商品图片',
1355
1447
  child: [
@@ -8663,7 +8755,7 @@ const CommodityDetail = createMaterial(CommodityDetailComponent, {
8663
8755
  category: 'popup',
8664
8756
  type: 'CommodityDetail',
8665
8757
  related: {
8666
- settingRender: settingRender$4
8758
+ settingRender: settingRender$5
8667
8759
  },
8668
8760
  defaulSetting: {
8669
8761
  props: {
@@ -8729,7 +8821,7 @@ var interactionRender$7 = [
8729
8821
  *
8730
8822
  */
8731
8823
  var _a$3, _b$3;
8732
- var settingRender$3 = [
8824
+ var settingRender$4 = [
8733
8825
  {
8734
8826
  title: '',
8735
8827
  child: [
@@ -8856,7 +8948,7 @@ const Prompt = createMaterial(PromptComponent, {
8856
8948
  category: 'popup',
8857
8949
  type: 'Prompt',
8858
8950
  related: {
8859
- settingRender: settingRender$3,
8951
+ settingRender: settingRender$4,
8860
8952
  bindableProps: [],
8861
8953
  interactionRender: interactionRender$7
8862
8954
  },
@@ -8882,7 +8974,7 @@ var _a$2, _b$2;
8882
8974
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetailDiroNew\settingRender.tsx
8883
8975
  *
8884
8976
  */
8885
- var settingRender$2 = [
8977
+ var settingRender$3 = [
8886
8978
  {
8887
8979
  title: '商品图片',
8888
8980
  child: [
@@ -9205,7 +9297,7 @@ const CommodityDetailDiroNew = createMaterial(CommodityDetailDiroNewComponent, {
9205
9297
  category: 'popup',
9206
9298
  type: 'CommodityDetailDiroNew',
9207
9299
  related: {
9208
- settingRender: settingRender$2
9300
+ settingRender: settingRender$3
9209
9301
  },
9210
9302
  defaulSetting: {
9211
9303
  props: {
@@ -9266,7 +9358,7 @@ var _a$1, _b$1;
9266
9358
  * @FilePath: \pb-sxp-ui\src\materials\sxp\template\components\settingRender.tsx
9267
9359
  *
9268
9360
  */
9269
- var settingRender$1 = [
9361
+ var settingRender$2 = [
9270
9362
  {
9271
9363
  title: '主题样式',
9272
9364
  child: [
@@ -9618,7 +9710,7 @@ const Commodity = createMaterial(CommodityComponent, {
9618
9710
  related: {
9619
9711
  interactionRender: interactionRender$6,
9620
9712
  bindableProps: [],
9621
- settingRender: settingRender$1
9713
+ settingRender: settingRender$2
9622
9714
  },
9623
9715
  defaulSetting: {
9624
9716
  props: {
@@ -9697,7 +9789,7 @@ const Appoint = createMaterial(AppointComponent, {
9697
9789
  type: 'Appoint',
9698
9790
  related: {
9699
9791
  interactionRender: interactionRender$5,
9700
- 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'),
9701
9793
  bindableProps: []
9702
9794
  },
9703
9795
  defaulSetting: {
@@ -9774,7 +9866,7 @@ const Link = createMaterial(LinkComponent, {
9774
9866
  category: 'template',
9775
9867
  type: 'Link',
9776
9868
  related: {
9777
- 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'),
9778
9870
  bindableProps: []
9779
9871
  },
9780
9872
  defaulSetting: {
@@ -9866,7 +9958,7 @@ const CommodityDiro = createMaterial(CommodityDiroComponent, {
9866
9958
  type: 'CommodityDiro',
9867
9959
  related: {
9868
9960
  interactionRender: interactionRender$4,
9869
- settingRender: settingRender$1,
9961
+ settingRender: settingRender$2,
9870
9962
  bindableProps: []
9871
9963
  },
9872
9964
  defaulSetting: {
@@ -9965,7 +10057,7 @@ const CommodityDiroNew = createMaterial(CommodityDiroNewComponent, {
9965
10057
  related: {
9966
10058
  interactionRender: interactionRender$3,
9967
10059
  bindableProps: [],
9968
- settingRender: settingRender$1
10060
+ settingRender: settingRender$2
9969
10061
  },
9970
10062
  defaulSetting: {
9971
10063
  props: {
@@ -10110,7 +10202,7 @@ const MultiCommodityDiro = createMaterial(MultiCommodityDiroComponent, {
10110
10202
  related: {
10111
10203
  interactionRender: interactionRender$2,
10112
10204
  bindableProps: [],
10113
- settingRender: settingRender$1
10205
+ settingRender: settingRender$2
10114
10206
  },
10115
10207
  defaulSetting: {
10116
10208
  props: {
@@ -10224,7 +10316,7 @@ const MultiCommodity = createMaterial(MultiCommodityComponent, {
10224
10316
  type: 'MultiCommodity',
10225
10317
  related: {
10226
10318
  interactionRender: interactionRender$1,
10227
- settingRender: settingRender$1,
10319
+ settingRender: settingRender$2,
10228
10320
  bindableProps: []
10229
10321
  },
10230
10322
  defaulSetting: {
@@ -10340,7 +10432,7 @@ const MultiCommodityDiroNew = createMaterial(MultiCommodityDiroNewComponent, {
10340
10432
  related: {
10341
10433
  interactionRender,
10342
10434
  bindableProps: [],
10343
- settingRender: settingRender$1
10435
+ settingRender: settingRender$2
10344
10436
  },
10345
10437
  defaulSetting: {
10346
10438
  props: {
@@ -10386,11 +10478,11 @@ var _a, _b;
10386
10478
  * @Author: binruan@chatlabs.com
10387
10479
  * @Date: 2024-04-07 14:07:12
10388
10480
  * @LastEditors: binruan@chatlabs.com
10389
- * @LastEditTime: 2024-06-07 15:51:49
10481
+ * @LastEditTime: 2024-06-11 11:04:55
10390
10482
  * @FilePath: \pb-sxp-ui\src\materials\sxp\HashTag\settingRender.tsx
10391
10483
  *
10392
10484
  */
10393
- var settingRender = [
10485
+ var settingRender$1 = [
10394
10486
  {
10395
10487
  title: 'Banner',
10396
10488
  child: [
@@ -10413,7 +10505,7 @@ var settingRender = [
10413
10505
  {
10414
10506
  type: 'Switch',
10415
10507
  label: '固定宽高',
10416
- name: ['props', 'isWaterfallFlow'],
10508
+ name: ['props', 'openFixedSize'],
10417
10509
  initialValue: true
10418
10510
  }
10419
10511
  ]
@@ -12023,8 +12115,8 @@ const WaterfallFlowItem$1 = (props) => {
12023
12115
  React.createElement("div", { className: 'waterFallList-content-listItem-info-price', hidden: !priceText, style: textStyles.price }, priceText))));
12024
12116
  };
12025
12117
  function WaterfallList$1(_a) {
12026
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
12027
- 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"]);
12028
12120
  const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
12029
12121
  /** 滚动的父元素 */
12030
12122
  const scrollParent = React.useRef(null);
@@ -12228,25 +12320,30 @@ function WaterfallList$1(_a) {
12228
12320
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
12229
12321
  React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement("div", { className: 'waterFallList', ref: waterfallFlowDom },
12230
12322
  React.createElement("div", { className: 'waterFallList-scroll', ref: scrollParent },
12231
- 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),
12232
- 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'),
12233
12330
  React.createElement("div", { className: 'waterFallList-content' }, list === null || list === void 0 ? void 0 :
12234
12331
  list.map((item, ind) => {
12235
12332
  var _a;
12236
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)));
12237
12334
  }),
12238
- 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: {
12239
12336
  position: 'absolute',
12240
12337
  width: '100%',
12241
- 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) +
12242
- ((_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)`,
12243
- height: ((_o = data === null || data === void 0 ? void 0 : data.tag) === null || _o === void 0 ? void 0 : _o.link)
12244
- ? ((_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'
12245
12342
  : 0
12246
12343
  } }))),
12247
- 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 }),
12248
- 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' }) },
12249
- 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'))))));
12250
12347
  }
12251
12348
 
12252
12349
  var img$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAaZJREFUeF7t2jFKBEEQRuG3mSJeQTARURDMTL2EqXfwAnoKD6FHMDEzNVIw2tzQC2gFggyDrExX1V92T7wz9PumFnqbXdH5teq8nwEwJqBzgfEVKDYAW8Ae8NZq3ZUm4Aa4AnaBR+C8BUIVAIu/ngSfAs9LESoAWLgB/LzWwP7SeLtfHWAu3tZ9Adz/dwD3eOUJCIlXBQiLVwQIjVcDCI9XAkiJVwFIi1cASI3PBpjb3jbd5GyyUcraCUrEZ02ATHwGgFR8NIBcfCSAZHwUgGx8BIB0vDeAfLwnQIl4L4Ay8R4ApeJbA2wD78DOZA/e7ABzk739Xz/T8rfAIfA6WYCd3BqA7NUSwCKfgLNKCK0BjoC7rzP74yoIrQGsuxSCB0ApBC+AMgieACUQvAHkESIApBGiAGQRIgEkEaIB5BAyAKQQsgBkEDIBJBCyAdIRFABSEVQA0hCUAFIQ1ADCERQBQhFUAcIQlAFCENQBfkOwg9eXpeftFQDmEOzv8ifARy8A3wiXwAHwANwujbf7q0xAi9bZZwwAN9oiDx4TUORFuS2z+wn4BAiAaEHnKChjAAAAAElFTkSuQmCC";
@@ -12375,8 +12472,8 @@ const WaterfallFlowItem = (props) => {
12375
12472
  React.createElement("div", { className: 'list-content-listItem-info-price', style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.price, hidden: !priceText }, priceText))));
12376
12473
  };
12377
12474
  function WaterfallList(_a) {
12378
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
12379
- 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"]);
12380
12477
  const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
12381
12478
  const [list, setList] = React.useState();
12382
12479
  const [data, setData] = React.useState();
@@ -12447,31 +12544,37 @@ function WaterfallList(_a) {
12447
12544
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
12448
12545
  React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement("div", { className: 'list' },
12449
12546
  React.createElement("div", { className: 'list-scroll', ref: containerRef },
12450
- 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),
12451
- 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'),
12452
12554
  React.createElement("div", { className: 'list-content' }, list === null || list === void 0 ? void 0 : list.map((item, ind) => {
12453
12555
  return (React.createElement(WaterfallFlowItem, Object.assign({ key: ind, index: ind, rec: item, list: list, reportTagsView: reportTagsView }, props)));
12454
12556
  })),
12455
12557
  React.createElement("div", { hidden: !isLoadMore, style: { textAlign: 'center' } }, "loading..."),
12456
- React.createElement("div", { hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link), style: {
12457
- 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
12458
12560
  } })),
12459
- 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 }),
12460
- 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' }) },
12461
- 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'))))));
12462
12564
  }
12463
12565
 
12464
12566
  /*
12465
12567
  * @Author: binruan@chatlabs.com
12466
12568
  * @Date: 2024-01-10 10:58:24
12467
12569
  * @LastEditors: binruan@chatlabs.com
12468
- * @LastEditTime: 2024-06-07 15:57:29
12570
+ * @LastEditTime: 2024-06-12 14:18:56
12469
12571
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
12470
12572
  *
12471
12573
  */
12472
12574
  const WaterFall = (props) => {
12473
12575
  var _a;
12474
- 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();
12475
12578
  React.useRef(null);
12476
12579
  const modalEleRef = React.useRef(null);
12477
12580
  const [viewTime, setViewTime] = React.useState();
@@ -12492,6 +12595,9 @@ const WaterFall = (props) => {
12492
12595
  if (!isEq && cacheRtcList && (cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.length)) {
12493
12596
  setRtcList === null || setRtcList === void 0 ? void 0 : setRtcList(cacheRtcList);
12494
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
+ }
12495
12601
  reportTagsView();
12496
12602
  setWaterFallData === null || setWaterFallData === void 0 ? void 0 : setWaterFallData(undefined);
12497
12603
  setIsFromHashtag === null || setIsFromHashtag === void 0 ? void 0 : setIsFromHashtag(false);
@@ -12559,7 +12665,7 @@ const WaterFall = (props) => {
12559
12665
  display: openHashtag ? 'block' : 'none'
12560
12666
  } },
12561
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 }),
12562
- (props === null || props === void 0 ? void 0 : props.isWaterfallFlow) === true || (props === null || props === void 0 ? void 0 : props.isWaterfallFlow) === undefined ? (React.createElement(WaterfallList, Object.assign({ reportTagsView: reportTagsView }, props))) : (React.createElement(WaterfallList$1, 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);
12563
12669
  };
12564
12670
  var WaterFall$1 = React.memo(WaterFall);
12565
12671
 
@@ -12590,7 +12696,7 @@ const HashTag = createMaterial(HashTagComponent, {
12590
12696
  category: 'base',
12591
12697
  type: 'HashTag',
12592
12698
  related: {
12593
- settingRender,
12699
+ settingRender: settingRender$1,
12594
12700
  bindableProps: []
12595
12701
  },
12596
12702
  defaulSetting: {
@@ -12647,6 +12753,84 @@ const HashTag = createMaterial(HashTagComponent, {
12647
12753
  sort: 2
12648
12754
  });
12649
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
+
12650
12834
  /*
12651
12835
  * @Author: binruan@chatlabs.com
12652
12836
  * @Date: 2023-07-25 14:56:49
@@ -12665,6 +12849,7 @@ var _materials_ = /*#__PURE__*/Object.freeze({
12665
12849
  CommodityDetailDiroNew: CommodityDetailDiroNew,
12666
12850
  CommodityDiro: CommodityDiro,
12667
12851
  CommodityDiroNew: CommodityDiroNew,
12852
+ Consent: Consent,
12668
12853
  HashTag: HashTag,
12669
12854
  Link: Link,
12670
12855
  MultiCommodity: MultiCommodity,
@@ -13337,16 +13522,37 @@ const Nudge = ({ nudge }) => {
13337
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 : '')))));
13338
13523
  };
13339
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
+ */
13340
13533
  const DEFAULT_TAG = 'FOR U';
13341
13534
  const Tagbar = ({ tagList = [], setActiveIndex }) => {
13342
13535
  const [selectTag, setSelectTag] = React.useState(DEFAULT_TAG);
13343
- const { getRecommendVideos, setRtcList, setCacheRtcList, setCacheActiveIndex, setLoading, swiperRef, waterFallData } = useSxpDataSource();
13536
+ const { getRecommendVideos, setRtcList, setCacheRtcList, setCacheActiveIndex, setLoading, swiperRef, waterFallData, bffEventReport } = useSxpDataSource();
13537
+ const { backMainFeed } = useEventReport();
13344
13538
  const realTagList = React.useMemo(() => {
13345
13539
  return [DEFAULT_TAG, ...tagList];
13346
13540
  }, [tagList]);
13347
13541
  const handleSelectTag = (tag) => () => {
13348
13542
  if (tag === selectTag)
13349
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
+ }
13350
13556
  let themeTag;
13351
13557
  if (tag !== DEFAULT_TAG) {
13352
13558
  themeTag = tag;
@@ -13378,7 +13584,7 @@ var Tagbar$1 = React.memo(Tagbar);
13378
13584
  * @Author: binruan@chatlabs.com
13379
13585
  * @Date: 2024-01-15 19:03:09
13380
13586
  * @LastEditors: binruan@chatlabs.com
13381
- * @LastEditTime: 2024-06-07 11:10:42
13587
+ * @LastEditTime: 2024-06-13 18:09:16
13382
13588
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
13383
13589
  *
13384
13590
  */
@@ -13389,11 +13595,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13389
13595
  const viewImageStartTime = React.useRef(0);
13390
13596
  const [isInit, setIsInit] = React.useState(false);
13391
13597
  const [isMuted, setIsMuted] = React.useState(true);
13392
- const curTime = React.useRef();
13393
13598
  const viewTime = React.useRef();
13394
13599
  const [isLoadMore, setIsLoadMore] = React.useState(false);
13395
13600
  const [isShowMore, setIsShowMore] = React.useState(false);
13396
- 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();
13397
13603
  const [videoRef, setVideoRef] = React.useState(null);
13398
13604
  const playerRef = React.useRef();
13399
13605
  const { productView } = useEventReport();
@@ -13404,17 +13610,17 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13404
13610
  if (data.length <= 0) {
13405
13611
  return;
13406
13612
  }
13407
- initTime();
13613
+ refreshFeSessionId();
13614
+ const now = new Date();
13615
+ viewTime.current = now;
13616
+ if (isInit) {
13617
+ h5EnterLink === null || h5EnterLink === void 0 ? void 0 : h5EnterLink();
13618
+ }
13408
13619
  bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
13409
13620
  eventName: 'PageView'
13410
13621
  });
13411
13622
  setIsInit(true);
13412
- }, [data.length, bffFbReport]);
13413
- const initTime = () => {
13414
- curTime.current = new Date();
13415
- viewTime.current = new Date();
13416
- refreshFeSessionId();
13417
- };
13623
+ }, [data.length, bffFbReport, h5EnterLink, isInit]);
13418
13624
  const firstRef = React.useRef();
13419
13625
  React.useEffect(() => {
13420
13626
  var _a, _b, _c, _d;
@@ -13510,13 +13716,33 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13510
13716
  handleH5EnterLink();
13511
13717
  handleViewImageStartEvent(activeIndex);
13512
13718
  SXP_EVENT_BUS.emit(SXP_EVENT_TYPE.PAGE_DID_SHOW, item);
13719
+ backMainFeed('external');
13513
13720
  }
13514
13721
  };
13515
13722
  document.addEventListener('visibilitychange', visibleChange);
13516
13723
  return () => {
13517
13724
  document.removeEventListener('visibilitychange', visibleChange);
13518
13725
  };
13519
- }, [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
+ }, []);
13520
13746
  const tagHeight = React.useMemo(() => {
13521
13747
  let h = 0;
13522
13748
  if (tagList.length > 0) {
@@ -14258,7 +14484,7 @@ const Popup = () => {
14258
14484
  * @Author: binruan@chatlabs.com
14259
14485
  * @Date: 2024-01-15 19:03:09
14260
14486
  * @LastEditors: binruan@chatlabs.com
14261
- * @LastEditTime: 2024-05-17 18:41:05
14487
+ * @LastEditTime: 2024-06-13 14:54:12
14262
14488
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageCore\index.tsx
14263
14489
  *
14264
14490
  */
@@ -14275,14 +14501,14 @@ Object.values(_materials_).forEach((v) => {
14275
14501
  RESOLVER[v.extend.type] = v;
14276
14502
  });
14277
14503
  const SxpPageCore = ({ data, maxSize = 10, defaultSize = 10, hashTagSize = 20, loadingImage, appDomain, licenseUrl, enabledMetaConversionApi }) => {
14278
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
14504
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
14279
14505
  const utmVal = React.useMemo(() => {
14280
14506
  var _a;
14281
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('?', '') : '';
14282
14508
  return searchParams;
14283
14509
  }, []);
14284
14510
  return (React.createElement(EditorCore, { resolver: RESOLVER, enableDataSource: false, schema: data === null || data === void 0 ? void 0 : data.data, utmVal: utmVal },
14285
- 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 }) => {
14286
14512
  var _a;
14287
14513
  return (React.createElement(React.Fragment, null,
14288
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 })),
@@ -14301,8 +14527,9 @@ var index = React.memo(SxpPageCore);
14301
14527
  */
14302
14528
  const EditorDataContext = React.createContext({});
14303
14529
  const EditorDataProvider = ({ children, data }) => {
14304
- var _a, _b, _c, _d, _e, _f;
14530
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
14305
14531
  const [openHashtag, setOpenHashtag] = React.useState(false);
14532
+ const [openConsent, setOpenConsent] = React.useState(false);
14306
14533
  return (React.createElement(EditorDataContext.Provider, { value: {
14307
14534
  sxpPrameter: {
14308
14535
  bottomImage: (_a = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _a === void 0 ? void 0 : _a.bottom_image,
@@ -14310,11 +14537,20 @@ const EditorDataProvider = ({ children, data }) => {
14310
14537
  personalizedRecommend: (_c = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _c === void 0 ? void 0 : _c.personalized_recommend,
14311
14538
  placeholderImage: (_d = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _d === void 0 ? void 0 : _d.placeholder_image,
14312
14539
  hashTagSize: (_e = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _e === void 0 ? void 0 : _e.hash_tag_size,
14313
- 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
14314
14548
  },
14315
14549
  appDomain: data === null || data === void 0 ? void 0 : data.appDomain,
14316
14550
  openHashtag,
14317
- setOpenHashtag
14551
+ setOpenHashtag,
14552
+ openConsent,
14553
+ setOpenConsent
14318
14554
  } }, children));
14319
14555
  };
14320
14556
  function useEditorDataProvider() {