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.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { isEmpty, isEqual, cloneDeep, debounce, throttle, get } from 'lodash';
2
2
  import { v4 } from 'uuid';
3
3
  import pako from 'pako';
4
- import React, { useContext, useMemo, createContext, memo, useState, useRef, useEffect, useCallback, forwardRef, useImperativeHandle, useLayoutEffect } from 'react';
4
+ import React, { useContext, useMemo, memo, useEffect, createContext, useState, useRef, useCallback, forwardRef, useImperativeHandle, useLayoutEffect } from 'react';
5
5
  import qs from 'qs';
6
6
  import EventEmitter from 'eventemitter3';
7
7
  import { css } from '@emotion/css';
@@ -370,6 +370,7 @@ const getFeSessionId = () => {
370
370
 
371
371
  const FAKE_USER_KEY = 'SXP_FAKE_USER_ID';
372
372
  const FAKE_USER_STATE = 'FAKE_USER_STATE';
373
+ const AGREE_POLICY = 'AGREE_POLICY';
373
374
  const storeAndLoadFeUserId = () => {
374
375
  let fakeUserId = window.localStorage.getItem(FAKE_USER_KEY);
375
376
  if (isEmpty(fakeUserId)) {
@@ -414,6 +415,70 @@ var SXP_EVENT_TYPE;
414
415
  SXP_EVENT_TYPE["CHANGE_THEME_TAG"] = "changeThemeTag";
415
416
  })(SXP_EVENT_TYPE || (SXP_EVENT_TYPE = {}));
416
417
 
418
+ /*
419
+ * @Author: binruan@chatlabs.com
420
+ * @Date: 2024-06-13 15:16:53
421
+ * @LastEditors: binruan@chatlabs.com
422
+ * @LastEditTime: 2024-06-13 18:22:53
423
+ * @FilePath: \pb-sxp-ui\src\core\components\Consent\index.tsx
424
+ *
425
+ */
426
+ const Consent$2 = ({ width = window.innerWidth, height = window.innerHeight, privacy_title, privacy_context, privacy_policy_url, privacy_policy_title }) => {
427
+ const { setIsAgreePolicy, bffEventReport } = useSxpDataSource();
428
+ const channelObj = useMemo(() => {
429
+ const queryString = location.search.slice(1);
430
+ const params = qs.parse(queryString.replace(/\+/g, '%2B'));
431
+ for (const key in params) {
432
+ params[key] = params[key].replace(/%2B/g, '+');
433
+ }
434
+ return params;
435
+ }, []);
436
+ const getUtmValue = (key) => { var _a; return (_a = channelObj[key]) !== null && _a !== void 0 ? _a : null; };
437
+ useEffect(() => {
438
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
439
+ eventInfo: {
440
+ eventSubject: 'privacyEnter',
441
+ eventDescription: 'User enter privacy page',
442
+ utmSource: getUtmValue('utm_source'),
443
+ utmMedium: getUtmValue('utm_medium'),
444
+ utmCampaign: getUtmValue('utm_campaign'),
445
+ utmId: getUtmValue('utm_id'),
446
+ utmContent: getUtmValue('utm_content'),
447
+ clSource: getUtmValue('cl_source'),
448
+ enterTime: `${Date.now()}`,
449
+ enterUrl: window.location.href,
450
+ rtc: null,
451
+ requestId: null,
452
+ sessionID: null
453
+ }
454
+ });
455
+ }, []);
456
+ const handleAgree = () => {
457
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
458
+ eventInfo: {
459
+ eventSubject: 'userConsent',
460
+ eventDescription: '用户授权【操作结果】',
461
+ consentResult: '0',
462
+ consentTags: '[]',
463
+ rtc: null,
464
+ requestId: null,
465
+ sessionID: null
466
+ }
467
+ });
468
+ setIsAgreePolicy === null || setIsAgreePolicy === void 0 ? void 0 : setIsAgreePolicy(true);
469
+ window.localStorage.setItem(AGREE_POLICY, 'yes');
470
+ };
471
+ return (React.createElement("div", { className: 'consent-bg' },
472
+ React.createElement("div", { className: 'consent' },
473
+ React.createElement("div", { className: 'consent-col' },
474
+ React.createElement("div", { className: 'consent-title' }, privacy_title !== null && privacy_title !== void 0 ? privacy_title : 'Privacy Policy'),
475
+ 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.')),
476
+ React.createElement("div", { className: 'consent-col' },
477
+ React.createElement("button", { className: 'consent-btn', onClick: handleAgree }, "Agree"),
478
+ 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')))));
479
+ };
480
+ var Consent$3 = memo(Consent$2);
481
+
417
482
  const SxpDataSourceContext = createContext({
418
483
  rtcList: [],
419
484
  tagList: []
@@ -423,13 +488,15 @@ var DataSourceType;
423
488
  DataSourceType[DataSourceType["BFF"] = 5] = "BFF";
424
489
  })(DataSourceType || (DataSourceType = {}));
425
490
  const UTM_KEYS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_id', 'utm_content', 'cl_source'];
426
- const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent = true, maxSize, defaultSize, isPreview = false, sxpParameter, appDomain, hashTagSize, loadingImage, isOpenHashTag = false, enabledMetaConversionApi = false, isShowTag = true }) => {
491
+ 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 }) => {
492
+ var _a, _b, _c, _d, _e, _f, _g;
427
493
  const [rtcList, setRtcList] = useState([]);
428
494
  const [tagList, setTagList] = useState([]);
429
495
  const [loading, setLoading] = useState(false);
430
496
  const [curReqInfo, setCurReqInfo] = useState({ rtc: '', requestId: '' });
431
497
  const swiperRef = useRef(null);
432
498
  const isInit = useRef(false);
499
+ const [isAgreePolicy, setIsAgreePolicy] = useState(() => !!window.localStorage.getItem(AGREE_POLICY));
433
500
  // 弹窗数据
434
501
  const [popupDetailData, setPopupDetailData] = useState();
435
502
  const [waterFallData, setWaterFallData] = useState();
@@ -439,6 +506,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
439
506
  const [isFromHashtag, setIsFromHashtag] = useState(false);
440
507
  const [videoRef, setVideoRef] = useState(null);
441
508
  const themeTag = useRef();
509
+ const curTime = useRef();
442
510
  useEffect(() => {
443
511
  const handleChangeThemeTag = (tag) => {
444
512
  themeTag.current = tag;
@@ -483,10 +551,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
483
551
  }, [bffDataSource]);
484
552
  // 获取推荐视频数据
485
553
  const getRecommendVideos = useCallback((query) => __awaiter(void 0, void 0, void 0, function* () {
486
- var _a, _b, _c, _d, _e;
554
+ var _h, _j, _k, _l, _m;
487
555
  query = {
488
- maxSize: (_a = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _a !== void 0 ? _a : maxSize,
489
- defaultSize: (_b = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _b !== void 0 ? _b : defaultSize,
556
+ maxSize: (_h = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _h !== void 0 ? _h : maxSize,
557
+ defaultSize: (_j = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _j !== void 0 ? _j : defaultSize,
490
558
  'itemFilter.itemId': query === null || query === void 0 ? void 0 : query['itemFilter.itemId'],
491
559
  'itemFilter.itemType': query === null || query === void 0 ? void 0 : query['itemFilter.itemType'],
492
560
  hashTag: query === null || query === void 0 ? void 0 : query.hashTag,
@@ -494,10 +562,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
494
562
  themeTag: query === null || query === void 0 ? void 0 : query.themeTag
495
563
  };
496
564
  if (utmVal) {
497
- const val = (_e = (_d = (_c = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _c === void 0 ? void 0 : _c.filter((val) => {
565
+ const val = (_m = (_l = (_k = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _k === void 0 ? void 0 : _k.filter((val) => {
498
566
  const key = val.split('=')[0];
499
567
  return UTM_KEYS.includes(key);
500
- })) === null || _d === void 0 ? void 0 : _d.join('&')) !== null && _e !== void 0 ? _e : '';
568
+ })) === null || _l === void 0 ? void 0 : _l.join('&')) !== null && _m !== void 0 ? _m : '';
501
569
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
502
570
  }
503
571
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/list', { method: 'GET', query }));
@@ -509,7 +577,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
509
577
  return result === null || result === void 0 ? void 0 : result.data;
510
578
  }), [bffFetch, utmVal, maxSize, defaultSize]);
511
579
  const loadVideos = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
512
- var _f, _g;
580
+ var _o, _p;
513
581
  if (rtcList.length <= 0) {
514
582
  return;
515
583
  }
@@ -519,8 +587,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
519
587
  'itemFilter.itemType': waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.itemType,
520
588
  themeTag: themeTag.current
521
589
  });
522
- setRtcList(rtcList.concat((_f = data === null || data === void 0 ? void 0 : data.recList) !== null && _f !== void 0 ? _f : []));
523
- setCacheRtcList(cacheRtcList.concat((_g = data === null || data === void 0 ? void 0 : data.recList) !== null && _g !== void 0 ? _g : []));
590
+ setRtcList(rtcList.concat((_o = data === null || data === void 0 ? void 0 : data.recList) !== null && _o !== void 0 ? _o : []));
591
+ setCacheRtcList(cacheRtcList.concat((_p = data === null || data === void 0 ? void 0 : data.recList) !== null && _p !== void 0 ? _p : []));
524
592
  }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
525
593
  const bffEventReport = useCallback(({ userInfo, eventInfo }) => {
526
594
  // 关闭 BFF 事件上报
@@ -584,16 +652,16 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
584
652
  }), [bffFetch]);
585
653
  // 获取 Tag
586
654
  const bffGetTagList = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
587
- var _h, _j, _k, _l, _m;
655
+ var _q, _r, _s, _t, _u;
588
656
  if (!utmVal || !isShowTag)
589
657
  return;
590
658
  try {
591
- const val = (_k = (_j = (_h = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _h === void 0 ? void 0 : _h.filter((val) => {
659
+ const val = (_s = (_r = (_q = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _q === void 0 ? void 0 : _q.filter((val) => {
592
660
  const key = val.split('=')[0];
593
661
  return UTM_KEYS.includes(key);
594
- })) === null || _j === void 0 ? void 0 : _j.join('&')) !== null && _k !== void 0 ? _k : '';
662
+ })) === null || _r === void 0 ? void 0 : _r.join('&')) !== null && _s !== void 0 ? _s : '';
595
663
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
596
- 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 : []);
664
+ 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 : []);
597
665
  }
598
666
  catch (e) {
599
667
  console.log('e', e);
@@ -617,7 +685,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
617
685
  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 })
618
686
  });
619
687
  }, [bffEventReport, isFromHashtag]);
620
- useEffect(() => {
688
+ const h5EnterLink = useCallback(() => {
621
689
  var _a, _b;
622
690
  const queryString = location.search.slice(1);
623
691
  const params = qs.parse(queryString.replace(/\+/g, '%2B'));
@@ -625,6 +693,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
625
693
  params[key] = params[key].replace(/%2B/g, '+');
626
694
  }
627
695
  const getVal = (key) => { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ''; };
696
+ const time = new Date();
697
+ curTime.current = time;
628
698
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
629
699
  eventInfo: {
630
700
  eventSubject: 'h5LinkEnterFeed',
@@ -634,14 +704,19 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
634
704
  utmCampaign: getVal('utm_campaign'),
635
705
  utmId: getVal('utm_id'),
636
706
  utmContent: getVal('utm_content'),
637
- enterTime: `${Date.now()}`,
707
+ enterTime: Math.floor(time / 1000) + '',
638
708
  requestId: null,
639
709
  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 : '',
640
- clSource: getVal('cl_sourc')
710
+ clSource: getVal('cl_source')
641
711
  }
642
712
  });
713
+ }, [bffEventReport]);
714
+ useEffect(() => {
715
+ h5EnterLink();
643
716
  }, []);
644
717
  useEffect(() => {
718
+ if (!isAgreePolicy)
719
+ return;
645
720
  setLoading(true);
646
721
  bffGetTagList();
647
722
  getRecommendVideos()
@@ -660,7 +735,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
660
735
  setLoading(false);
661
736
  isInit.current = true;
662
737
  });
663
- }, []);
738
+ }, [isAgreePolicy]);
664
739
  useEffect(() => {
665
740
  if (!isInit.current)
666
741
  return;
@@ -712,14 +787,19 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
712
787
  setLoading,
713
788
  videoRef,
714
789
  setVideoRef,
715
- bffFbReport
716
- } }, render({
790
+ bffFbReport,
791
+ isAgreePolicy,
792
+ setIsAgreePolicy,
793
+ curTime,
794
+ h5EnterLink,
795
+ themeTag
796
+ } }, (((_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({
717
797
  rtcList,
718
798
  mutateLike: bffMutateLike,
719
799
  mutateUnlike: bffMutateUnlike,
720
800
  submitForm: bffSubmitForm,
721
801
  tagList
722
- })));
802
+ }))));
723
803
  };
724
804
  var SxpDataSourceProvider$1 = memo(SxpDataSourceProvider);
725
805
 
@@ -985,7 +1065,7 @@ var defaultSetting = {
985
1065
  *
986
1066
  */
987
1067
  var _a$5, _b$5, _c;
988
- var settingRender$5 = [
1068
+ var settingRender$6 = [
989
1069
  {
990
1070
  type: 'Text',
991
1071
  label: '组件名称',
@@ -1123,7 +1203,7 @@ var settingRender$5 = [
1123
1203
  * @Author: binruan@chatlabs.com
1124
1204
  * @Date: 2024-03-12 10:59:06
1125
1205
  * @LastEditors: binruan@chatlabs.com
1126
- * @LastEditTime: 2024-04-15 09:47:08
1206
+ * @LastEditTime: 2024-06-12 10:53:57
1127
1207
  * @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
1128
1208
  *
1129
1209
  */
@@ -1193,9 +1273,21 @@ function useEventReport() {
1193
1273
  }
1194
1274
  });
1195
1275
  }, [bffEventReport, popupDetailData]);
1276
+ const backMainFeed = useCallback((lastFeed, themeTag, hashTag) => {
1277
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
1278
+ eventInfo: {
1279
+ lastFeed,
1280
+ themeTags: themeTag ? `[${themeTag}]` : '',
1281
+ hashTags: hashTag ? `[${hashTag}]` : '',
1282
+ eventSubject: 'backMainFeed',
1283
+ eventDescription: 'back Main Feed'
1284
+ }
1285
+ });
1286
+ }, [bffEventReport]);
1196
1287
  return {
1197
1288
  jumpToWeb,
1198
- productView
1289
+ productView,
1290
+ backMainFeed
1199
1291
  };
1200
1292
  }
1201
1293
 
@@ -1300,7 +1392,7 @@ const AppointForm = createMaterial(AppointFormComponent, {
1300
1392
  category: 'popup',
1301
1393
  type: 'AppointForm',
1302
1394
  related: {
1303
- settingRender: settingRender$5,
1395
+ settingRender: settingRender$6,
1304
1396
  bindableProps: [],
1305
1397
  interactionRender: interactionRender$8
1306
1398
  },
@@ -1326,7 +1418,7 @@ const AppointForm = createMaterial(AppointFormComponent, {
1326
1418
  });
1327
1419
 
1328
1420
  var _a$4, _b$4;
1329
- var settingRender$4 = [
1421
+ var settingRender$5 = [
1330
1422
  {
1331
1423
  title: '商品图片',
1332
1424
  child: [
@@ -8640,7 +8732,7 @@ const CommodityDetail = createMaterial(CommodityDetailComponent, {
8640
8732
  category: 'popup',
8641
8733
  type: 'CommodityDetail',
8642
8734
  related: {
8643
- settingRender: settingRender$4
8735
+ settingRender: settingRender$5
8644
8736
  },
8645
8737
  defaulSetting: {
8646
8738
  props: {
@@ -8706,7 +8798,7 @@ var interactionRender$7 = [
8706
8798
  *
8707
8799
  */
8708
8800
  var _a$3, _b$3;
8709
- var settingRender$3 = [
8801
+ var settingRender$4 = [
8710
8802
  {
8711
8803
  title: '',
8712
8804
  child: [
@@ -8833,7 +8925,7 @@ const Prompt = createMaterial(PromptComponent, {
8833
8925
  category: 'popup',
8834
8926
  type: 'Prompt',
8835
8927
  related: {
8836
- settingRender: settingRender$3,
8928
+ settingRender: settingRender$4,
8837
8929
  bindableProps: [],
8838
8930
  interactionRender: interactionRender$7
8839
8931
  },
@@ -8859,7 +8951,7 @@ var _a$2, _b$2;
8859
8951
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetailDiroNew\settingRender.tsx
8860
8952
  *
8861
8953
  */
8862
- var settingRender$2 = [
8954
+ var settingRender$3 = [
8863
8955
  {
8864
8956
  title: '商品图片',
8865
8957
  child: [
@@ -9182,7 +9274,7 @@ const CommodityDetailDiroNew = createMaterial(CommodityDetailDiroNewComponent, {
9182
9274
  category: 'popup',
9183
9275
  type: 'CommodityDetailDiroNew',
9184
9276
  related: {
9185
- settingRender: settingRender$2
9277
+ settingRender: settingRender$3
9186
9278
  },
9187
9279
  defaulSetting: {
9188
9280
  props: {
@@ -9243,7 +9335,7 @@ var _a$1, _b$1;
9243
9335
  * @FilePath: \pb-sxp-ui\src\materials\sxp\template\components\settingRender.tsx
9244
9336
  *
9245
9337
  */
9246
- var settingRender$1 = [
9338
+ var settingRender$2 = [
9247
9339
  {
9248
9340
  title: '主题样式',
9249
9341
  child: [
@@ -9595,7 +9687,7 @@ const Commodity = createMaterial(CommodityComponent, {
9595
9687
  related: {
9596
9688
  interactionRender: interactionRender$6,
9597
9689
  bindableProps: [],
9598
- settingRender: settingRender$1
9690
+ settingRender: settingRender$2
9599
9691
  },
9600
9692
  defaulSetting: {
9601
9693
  props: {
@@ -9674,7 +9766,7 @@ const Appoint = createMaterial(AppointComponent, {
9674
9766
  type: 'Appoint',
9675
9767
  related: {
9676
9768
  interactionRender: interactionRender$5,
9677
- settingRender: settingRender$1 === null || settingRender$1 === void 0 ? void 0 : settingRender$1.filter((i) => i.type !== 'commodityTitle'),
9769
+ settingRender: settingRender$2 === null || settingRender$2 === void 0 ? void 0 : settingRender$2.filter((i) => i.type !== 'commodityTitle'),
9678
9770
  bindableProps: []
9679
9771
  },
9680
9772
  defaulSetting: {
@@ -9751,7 +9843,7 @@ const Link = createMaterial(LinkComponent, {
9751
9843
  category: 'template',
9752
9844
  type: 'Link',
9753
9845
  related: {
9754
- settingRender: settingRender$1 === null || settingRender$1 === void 0 ? void 0 : settingRender$1.filter((i) => i.type !== 'commodityTitle'),
9846
+ settingRender: settingRender$2 === null || settingRender$2 === void 0 ? void 0 : settingRender$2.filter((i) => i.type !== 'commodityTitle'),
9755
9847
  bindableProps: []
9756
9848
  },
9757
9849
  defaulSetting: {
@@ -9843,7 +9935,7 @@ const CommodityDiro = createMaterial(CommodityDiroComponent, {
9843
9935
  type: 'CommodityDiro',
9844
9936
  related: {
9845
9937
  interactionRender: interactionRender$4,
9846
- settingRender: settingRender$1,
9938
+ settingRender: settingRender$2,
9847
9939
  bindableProps: []
9848
9940
  },
9849
9941
  defaulSetting: {
@@ -9942,7 +10034,7 @@ const CommodityDiroNew = createMaterial(CommodityDiroNewComponent, {
9942
10034
  related: {
9943
10035
  interactionRender: interactionRender$3,
9944
10036
  bindableProps: [],
9945
- settingRender: settingRender$1
10037
+ settingRender: settingRender$2
9946
10038
  },
9947
10039
  defaulSetting: {
9948
10040
  props: {
@@ -10087,7 +10179,7 @@ const MultiCommodityDiro = createMaterial(MultiCommodityDiroComponent, {
10087
10179
  related: {
10088
10180
  interactionRender: interactionRender$2,
10089
10181
  bindableProps: [],
10090
- settingRender: settingRender$1
10182
+ settingRender: settingRender$2
10091
10183
  },
10092
10184
  defaulSetting: {
10093
10185
  props: {
@@ -10201,7 +10293,7 @@ const MultiCommodity = createMaterial(MultiCommodityComponent, {
10201
10293
  type: 'MultiCommodity',
10202
10294
  related: {
10203
10295
  interactionRender: interactionRender$1,
10204
- settingRender: settingRender$1,
10296
+ settingRender: settingRender$2,
10205
10297
  bindableProps: []
10206
10298
  },
10207
10299
  defaulSetting: {
@@ -10317,7 +10409,7 @@ const MultiCommodityDiroNew = createMaterial(MultiCommodityDiroNewComponent, {
10317
10409
  related: {
10318
10410
  interactionRender,
10319
10411
  bindableProps: [],
10320
- settingRender: settingRender$1
10412
+ settingRender: settingRender$2
10321
10413
  },
10322
10414
  defaulSetting: {
10323
10415
  props: {
@@ -10363,11 +10455,11 @@ var _a, _b;
10363
10455
  * @Author: binruan@chatlabs.com
10364
10456
  * @Date: 2024-04-07 14:07:12
10365
10457
  * @LastEditors: binruan@chatlabs.com
10366
- * @LastEditTime: 2024-06-07 15:51:49
10458
+ * @LastEditTime: 2024-06-11 11:04:55
10367
10459
  * @FilePath: \pb-sxp-ui\src\materials\sxp\HashTag\settingRender.tsx
10368
10460
  *
10369
10461
  */
10370
- var settingRender = [
10462
+ var settingRender$1 = [
10371
10463
  {
10372
10464
  title: 'Banner',
10373
10465
  child: [
@@ -10390,7 +10482,7 @@ var settingRender = [
10390
10482
  {
10391
10483
  type: 'Switch',
10392
10484
  label: '固定宽高',
10393
- name: ['props', 'isWaterfallFlow'],
10485
+ name: ['props', 'openFixedSize'],
10394
10486
  initialValue: true
10395
10487
  }
10396
10488
  ]
@@ -12000,8 +12092,8 @@ const WaterfallFlowItem$1 = (props) => {
12000
12092
  React.createElement("div", { className: 'waterFallList-content-listItem-info-price', hidden: !priceText, style: textStyles.price }, priceText))));
12001
12093
  };
12002
12094
  function WaterfallList$1(_a) {
12003
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
12004
- var { reportTagsView } = _a, props = __rest(_a, ["reportTagsView"]);
12095
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
12096
+ var { reportTagsView, showBanner } = _a, props = __rest(_a, ["reportTagsView", "showBanner"]);
12005
12097
  const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
12006
12098
  /** 滚动的父元素 */
12007
12099
  const scrollParent = useRef(null);
@@ -12205,25 +12297,30 @@ function WaterfallList$1(_a) {
12205
12297
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
12206
12298
  React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement("div", { className: 'waterFallList', ref: waterfallFlowDom },
12207
12299
  React.createElement("div", { className: 'waterFallList-scroll', ref: scrollParent },
12208
- 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),
12209
- 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'),
12300
+ 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({
12301
+ width: '100%',
12302
+ objectFit: 'cover',
12303
+ marginBottom: '20px'
12304
+ }), src: (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.picture })),
12305
+ 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),
12306
+ 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'),
12210
12307
  React.createElement("div", { className: 'waterFallList-content' }, list === null || list === void 0 ? void 0 :
12211
12308
  list.map((item, ind) => {
12212
12309
  var _a;
12213
12310
  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)));
12214
12311
  }),
12215
- React.createElement("div", { hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link), style: {
12312
+ React.createElement("div", { hidden: !((_j = data === null || data === void 0 ? void 0 : data.tag) === null || _j === void 0 ? void 0 : _j.link), style: {
12216
12313
  position: 'absolute',
12217
12314
  width: '100%',
12218
- 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) +
12219
- ((_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)`,
12220
- height: ((_o = data === null || data === void 0 ? void 0 : data.tag) === null || _o === void 0 ? void 0 : _o.link)
12221
- ? ((_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'
12315
+ 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) +
12316
+ ((_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)`,
12317
+ height: ((_q = data === null || data === void 0 ? void 0 : data.tag) === null || _q === void 0 ? void 0 : _q.link)
12318
+ ? ((_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'
12222
12319
  : 0
12223
12320
  } }))),
12224
- 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 }),
12225
- 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' }) },
12226
- 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'))))));
12321
+ 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 }),
12322
+ 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' }) },
12323
+ 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'))))));
12227
12324
  }
12228
12325
 
12229
12326
  var img$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAaZJREFUeF7t2jFKBEEQRuG3mSJeQTARURDMTL2EqXfwAnoKD6FHMDEzNVIw2tzQC2gFggyDrExX1V92T7wz9PumFnqbXdH5teq8nwEwJqBzgfEVKDYAW8Ae8NZq3ZUm4Aa4AnaBR+C8BUIVAIu/ngSfAs9LESoAWLgB/LzWwP7SeLtfHWAu3tZ9Adz/dwD3eOUJCIlXBQiLVwQIjVcDCI9XAkiJVwFIi1cASI3PBpjb3jbd5GyyUcraCUrEZ02ATHwGgFR8NIBcfCSAZHwUgGx8BIB0vDeAfLwnQIl4L4Ay8R4ApeJbA2wD78DOZA/e7ABzk739Xz/T8rfAIfA6WYCd3BqA7NUSwCKfgLNKCK0BjoC7rzP74yoIrQGsuxSCB0ApBC+AMgieACUQvAHkESIApBGiAGQRIgEkEaIB5BAyAKQQsgBkEDIBJBCyAdIRFABSEVQA0hCUAFIQ1ADCERQBQhFUAcIQlAFCENQBfkOwg9eXpeftFQDmEOzv8ifARy8A3wiXwAHwANwujbf7q0xAi9bZZwwAN9oiDx4TUORFuS2z+wn4BAiAaEHnKChjAAAAAElFTkSuQmCC";
@@ -12352,8 +12449,8 @@ const WaterfallFlowItem = (props) => {
12352
12449
  React.createElement("div", { className: 'list-content-listItem-info-price', style: textStyles === null || textStyles === void 0 ? void 0 : textStyles.price, hidden: !priceText }, priceText))));
12353
12450
  };
12354
12451
  function WaterfallList(_a) {
12355
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
12356
- var { reportTagsView } = _a, props = __rest(_a, ["reportTagsView"]);
12452
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
12453
+ var { reportTagsView, showBanner } = _a, props = __rest(_a, ["reportTagsView", "showBanner"]);
12357
12454
  const { waterFallData, getRecommendVideos, hashTagSize, loadingImage, isOpenHashTag } = useSxpDataSource();
12358
12455
  const [list, setList] = useState();
12359
12456
  const [data, setData] = useState();
@@ -12424,31 +12521,37 @@ function WaterfallList(_a) {
12424
12521
  return (React.createElement(React.Fragment, null, isLoadingData ? (React.createElement("div", { style: { height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'center' } },
12425
12522
  React.createElement("img", { width: 64, height: 64, src: loadingImage, alt: 'loading...', style: { objectFit: 'contain' } }))) : (React.createElement("div", { className: 'list' },
12426
12523
  React.createElement("div", { className: 'list-scroll', ref: containerRef },
12427
- 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),
12428
- 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'),
12524
+ 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({
12525
+ width: '100%',
12526
+ objectFit: 'cover',
12527
+ marginBottom: '20px'
12528
+ }), src: (_c = data === null || data === void 0 ? void 0 : data.tag) === null || _c === void 0 ? void 0 : _c.picture })),
12529
+ 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),
12530
+ 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'),
12429
12531
  React.createElement("div", { className: 'list-content' }, list === null || list === void 0 ? void 0 : list.map((item, ind) => {
12430
12532
  return (React.createElement(WaterfallFlowItem, Object.assign({ key: ind, index: ind, rec: item, list: list, reportTagsView: reportTagsView }, props)));
12431
12533
  })),
12432
12534
  React.createElement("div", { hidden: !isLoadMore, style: { textAlign: 'center' } }, "loading..."),
12433
- React.createElement("div", { hidden: !((_g = data === null || data === void 0 ? void 0 : data.tag) === null || _g === void 0 ? void 0 : _g.link), style: {
12434
- 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
12535
+ React.createElement("div", { hidden: !((_j = data === null || data === void 0 ? void 0 : data.tag) === null || _j === void 0 ? void 0 : _j.link), style: {
12536
+ 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
12435
12537
  } })),
12436
- 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 }),
12437
- 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' }) },
12438
- 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'))))));
12538
+ 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 }),
12539
+ 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' }) },
12540
+ 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'))))));
12439
12541
  }
12440
12542
 
12441
12543
  /*
12442
12544
  * @Author: binruan@chatlabs.com
12443
12545
  * @Date: 2024-01-10 10:58:24
12444
12546
  * @LastEditors: binruan@chatlabs.com
12445
- * @LastEditTime: 2024-06-07 15:57:29
12547
+ * @LastEditTime: 2024-06-12 14:18:56
12446
12548
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
12447
12549
  *
12448
12550
  */
12449
12551
  const WaterFall = (props) => {
12450
12552
  var _a;
12451
- const { waterFallData, setOpenHashtag, openHashtag, swiperRef, setWaterFallData, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, setCacheRtcList, setIsFromHashtag, isFromHashtag, bffEventReport } = useSxpDataSource();
12553
+ const { waterFallData, setOpenHashtag, openHashtag, swiperRef, setWaterFallData, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, setCacheRtcList, setIsFromHashtag, isFromHashtag, bffEventReport, themeTag } = useSxpDataSource();
12554
+ const { backMainFeed } = useEventReport();
12452
12555
  useRef(null);
12453
12556
  const modalEleRef = useRef(null);
12454
12557
  const [viewTime, setViewTime] = useState();
@@ -12469,6 +12572,9 @@ const WaterFall = (props) => {
12469
12572
  if (!isEq && cacheRtcList && (cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.length)) {
12470
12573
  setRtcList === null || setRtcList === void 0 ? void 0 : setRtcList(cacheRtcList);
12471
12574
  }
12575
+ if (!(themeTag === null || themeTag === void 0 ? void 0 : themeTag.current)) {
12576
+ backMainFeed('branch', themeTag === null || themeTag === void 0 ? void 0 : themeTag.current, waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag);
12577
+ }
12472
12578
  reportTagsView();
12473
12579
  setWaterFallData === null || setWaterFallData === void 0 ? void 0 : setWaterFallData(undefined);
12474
12580
  setIsFromHashtag === null || setIsFromHashtag === void 0 ? void 0 : setIsFromHashtag(false);
@@ -12536,7 +12642,7 @@ const WaterFall = (props) => {
12536
12642
  display: openHashtag ? 'block' : 'none'
12537
12643
  } },
12538
12644
  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 }),
12539
- (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);
12645
+ (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);
12540
12646
  };
12541
12647
  var WaterFall$1 = memo(WaterFall);
12542
12648
 
@@ -12567,7 +12673,7 @@ const HashTag = createMaterial(HashTagComponent, {
12567
12673
  category: 'base',
12568
12674
  type: 'HashTag',
12569
12675
  related: {
12570
- settingRender,
12676
+ settingRender: settingRender$1,
12571
12677
  bindableProps: []
12572
12678
  },
12573
12679
  defaulSetting: {
@@ -12624,6 +12730,84 @@ const HashTag = createMaterial(HashTagComponent, {
12624
12730
  sort: 2
12625
12731
  });
12626
12732
 
12733
+ /*
12734
+ * @Author: binruan@chatlabs.com
12735
+ * @Date: 2024-06-13 10:08:32
12736
+ * @LastEditors: binruan@chatlabs.com
12737
+ * @LastEditTime: 2024-06-13 17:42:50
12738
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\Consent\settingRender.tsx
12739
+ *
12740
+ */
12741
+ var settingRender = [
12742
+ {
12743
+ title: '协议详情',
12744
+ child: [
12745
+ {
12746
+ type: 'Switch',
12747
+ label: '必须同意用户协议',
12748
+ name: ['props', 'privacy_necessity'],
12749
+ extra: '当新用户进入页面时,会出现用户协议弹窗,用户需要先同意协议后才能访问内容。'
12750
+ },
12751
+ {
12752
+ type: 'Text',
12753
+ label: '弹窗标题',
12754
+ name: ['props', 'privacy_title']
12755
+ },
12756
+ {
12757
+ type: 'TextArea',
12758
+ label: '用户协议弹窗内容',
12759
+ name: ['props', 'privacy_context']
12760
+ },
12761
+ {
12762
+ type: 'Group',
12763
+ label: '隐私政策',
12764
+ child: [
12765
+ {
12766
+ type: 'Text',
12767
+ name: ['props', 'privacy_policy_title']
12768
+ },
12769
+ {
12770
+ type: 'Text',
12771
+ name: ['props', 'privacy_policy_url'],
12772
+ addonBefore: 'https://'
12773
+ }
12774
+ ],
12775
+ extra: '当用户点击更多信息按钮时,将会跳转至设置的链接查看政策内容'
12776
+ }
12777
+ ]
12778
+ }
12779
+ ];
12780
+
12781
+ const Consent$1 = (props) => {
12782
+ return React.createElement(Consent$1, Object.assign({}, props));
12783
+ };
12784
+ var ConsentComponent = memo(Consent$1);
12785
+
12786
+ /*
12787
+ * @Author: binruan@chatlabs.com
12788
+ * @Date: 2023-07-28 18:29:57
12789
+ * @LastEditors: binruan@chatlabs.com
12790
+ * @LastEditTime: 2024-06-13 17:32:17
12791
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\Consent\material.tsx
12792
+ *
12793
+ */
12794
+ const Consent = createMaterial(ConsentComponent, {
12795
+ displayName: 'Consent',
12796
+ icon: '',
12797
+ category: 'base',
12798
+ type: 'Consent',
12799
+ related: {
12800
+ settingRender
12801
+ },
12802
+ defaulSetting: {
12803
+ props: {},
12804
+ style: {}
12805
+ },
12806
+ w: 100,
12807
+ h: 40,
12808
+ sort: 1
12809
+ });
12810
+
12627
12811
  /*
12628
12812
  * @Author: binruan@chatlabs.com
12629
12813
  * @Date: 2023-07-25 14:56:49
@@ -12642,6 +12826,7 @@ var _materials_ = /*#__PURE__*/Object.freeze({
12642
12826
  CommodityDetailDiroNew: CommodityDetailDiroNew,
12643
12827
  CommodityDiro: CommodityDiro,
12644
12828
  CommodityDiroNew: CommodityDiroNew,
12829
+ Consent: Consent,
12645
12830
  HashTag: HashTag,
12646
12831
  Link: Link,
12647
12832
  MultiCommodity: MultiCommodity,
@@ -13314,16 +13499,37 @@ const Nudge = ({ nudge }) => {
13314
13499
  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 : '')))));
13315
13500
  };
13316
13501
 
13502
+ /*
13503
+ * @Author: binruan@chatlabs.com
13504
+ * @Date: 2024-04-29 16:32:21
13505
+ * @LastEditors: binruan@chatlabs.com
13506
+ * @LastEditTime: 2024-06-12 11:01:48
13507
+ * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\Tagbar.tsx
13508
+ *
13509
+ */
13317
13510
  const DEFAULT_TAG = 'FOR U';
13318
13511
  const Tagbar = ({ tagList = [], setActiveIndex }) => {
13319
13512
  const [selectTag, setSelectTag] = useState(DEFAULT_TAG);
13320
- const { getRecommendVideos, setRtcList, setCacheRtcList, setCacheActiveIndex, setLoading, swiperRef, waterFallData } = useSxpDataSource();
13513
+ const { getRecommendVideos, setRtcList, setCacheRtcList, setCacheActiveIndex, setLoading, swiperRef, waterFallData, bffEventReport } = useSxpDataSource();
13514
+ const { backMainFeed } = useEventReport();
13321
13515
  const realTagList = useMemo(() => {
13322
13516
  return [DEFAULT_TAG, ...tagList];
13323
13517
  }, [tagList]);
13324
13518
  const handleSelectTag = (tag) => () => {
13325
13519
  if (tag === selectTag)
13326
13520
  return;
13521
+ if (tag !== 'FOR U') {
13522
+ bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
13523
+ eventInfo: {
13524
+ eventSubject: 'clickThemeTagsViewContents',
13525
+ eventDescription: 'click Theme Tags View Contents',
13526
+ themeTags: `[${tag}]`
13527
+ }
13528
+ });
13529
+ }
13530
+ else {
13531
+ backMainFeed('theme', selectTag);
13532
+ }
13327
13533
  let themeTag;
13328
13534
  if (tag !== DEFAULT_TAG) {
13329
13535
  themeTag = tag;
@@ -13355,7 +13561,7 @@ var Tagbar$1 = memo(Tagbar);
13355
13561
  * @Author: binruan@chatlabs.com
13356
13562
  * @Date: 2024-01-15 19:03:09
13357
13563
  * @LastEditors: binruan@chatlabs.com
13358
- * @LastEditTime: 2024-06-07 11:10:42
13564
+ * @LastEditTime: 2024-06-13 18:09:16
13359
13565
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
13360
13566
  *
13361
13567
  */
@@ -13366,11 +13572,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13366
13572
  const viewImageStartTime = useRef(0);
13367
13573
  const [isInit, setIsInit] = useState(false);
13368
13574
  const [isMuted, setIsMuted] = useState(true);
13369
- const curTime = useRef();
13370
13575
  const viewTime = useRef();
13371
13576
  const [isLoadMore, setIsLoadMore] = useState(false);
13372
13577
  const [isShowMore, setIsShowMore] = useState(false);
13373
- const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport } = useSxpDataSource();
13578
+ const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink } = useSxpDataSource();
13579
+ const { backMainFeed } = useEventReport();
13374
13580
  const [videoRef, setVideoRef] = useState(null);
13375
13581
  const playerRef = useRef();
13376
13582
  const { productView } = useEventReport();
@@ -13381,17 +13587,17 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13381
13587
  if (data.length <= 0) {
13382
13588
  return;
13383
13589
  }
13384
- initTime();
13590
+ refreshFeSessionId();
13591
+ const now = new Date();
13592
+ viewTime.current = now;
13593
+ if (isInit) {
13594
+ h5EnterLink === null || h5EnterLink === void 0 ? void 0 : h5EnterLink();
13595
+ }
13385
13596
  bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
13386
13597
  eventName: 'PageView'
13387
13598
  });
13388
13599
  setIsInit(true);
13389
- }, [data.length, bffFbReport]);
13390
- const initTime = () => {
13391
- curTime.current = new Date();
13392
- viewTime.current = new Date();
13393
- refreshFeSessionId();
13394
- };
13600
+ }, [data.length, bffFbReport, h5EnterLink, isInit]);
13395
13601
  const firstRef = useRef();
13396
13602
  useEffect(() => {
13397
13603
  var _a, _b, _c, _d;
@@ -13487,13 +13693,33 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
13487
13693
  handleH5EnterLink();
13488
13694
  handleViewImageStartEvent(activeIndex);
13489
13695
  SXP_EVENT_BUS.emit(SXP_EVENT_TYPE.PAGE_DID_SHOW, item);
13696
+ backMainFeed('external');
13490
13697
  }
13491
13698
  };
13492
13699
  document.addEventListener('visibilitychange', visibleChange);
13493
13700
  return () => {
13494
13701
  document.removeEventListener('visibilitychange', visibleChange);
13495
13702
  };
13496
- }, [activeIndex, bffEventReport, curTime, data, handleH5EnterLink, popupDetailData, isFromHashtag, tempMap]);
13703
+ }, [
13704
+ activeIndex,
13705
+ bffEventReport,
13706
+ data,
13707
+ handleH5EnterLink,
13708
+ popupDetailData,
13709
+ isFromHashtag,
13710
+ tempMap,
13711
+ curTime,
13712
+ backMainFeed
13713
+ ]);
13714
+ useEffect(() => {
13715
+ const initTime = () => {
13716
+ backMainFeed('external');
13717
+ };
13718
+ window.addEventListener('pageshow', initTime);
13719
+ return () => {
13720
+ window.removeEventListener('pageshow', initTime);
13721
+ };
13722
+ }, []);
13497
13723
  const tagHeight = useMemo(() => {
13498
13724
  let h = 0;
13499
13725
  if (tagList.length > 0) {
@@ -14235,7 +14461,7 @@ const Popup = () => {
14235
14461
  * @Author: binruan@chatlabs.com
14236
14462
  * @Date: 2024-01-15 19:03:09
14237
14463
  * @LastEditors: binruan@chatlabs.com
14238
- * @LastEditTime: 2024-05-17 18:41:05
14464
+ * @LastEditTime: 2024-06-13 14:54:12
14239
14465
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageCore\index.tsx
14240
14466
  *
14241
14467
  */
@@ -14252,14 +14478,14 @@ Object.values(_materials_).forEach((v) => {
14252
14478
  RESOLVER[v.extend.type] = v;
14253
14479
  });
14254
14480
  const SxpPageCore = ({ data, maxSize = 10, defaultSize = 10, hashTagSize = 20, loadingImage, appDomain, licenseUrl, enabledMetaConversionApi }) => {
14255
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
14481
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
14256
14482
  const utmVal = useMemo(() => {
14257
14483
  var _a;
14258
14484
  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('?', '') : '';
14259
14485
  return searchParams;
14260
14486
  }, []);
14261
14487
  return (React.createElement(EditorCore, { resolver: RESOLVER, enableDataSource: false, schema: data === null || data === void 0 ? void 0 : data.data, utmVal: utmVal },
14262
- 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 }) => {
14488
+ 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 }) => {
14263
14489
  var _a;
14264
14490
  return (React.createElement(React.Fragment, null,
14265
14491
  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 })),
@@ -14278,8 +14504,9 @@ var index = memo(SxpPageCore);
14278
14504
  */
14279
14505
  const EditorDataContext = createContext({});
14280
14506
  const EditorDataProvider = ({ children, data }) => {
14281
- var _a, _b, _c, _d, _e, _f;
14507
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
14282
14508
  const [openHashtag, setOpenHashtag] = useState(false);
14509
+ const [openConsent, setOpenConsent] = useState(false);
14283
14510
  return (React.createElement(EditorDataContext.Provider, { value: {
14284
14511
  sxpPrameter: {
14285
14512
  bottomImage: (_a = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _a === void 0 ? void 0 : _a.bottom_image,
@@ -14287,11 +14514,20 @@ const EditorDataProvider = ({ children, data }) => {
14287
14514
  personalizedRecommend: (_c = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _c === void 0 ? void 0 : _c.personalized_recommend,
14288
14515
  placeholderImage: (_d = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _d === void 0 ? void 0 : _d.placeholder_image,
14289
14516
  hashTagSize: (_e = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _e === void 0 ? void 0 : _e.hash_tag_size,
14290
- loadingImage: (_f = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _f === void 0 ? void 0 : _f.loading_image
14517
+ loadingImage: (_f = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _f === void 0 ? void 0 : _f.loading_image,
14518
+ privacyContent: (_g = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _g === void 0 ? void 0 : _g.privacy_context,
14519
+ privacyNecessity: (_h = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _h === void 0 ? void 0 : _h.privacy_necessity,
14520
+ privacyPolicyTitle: (_j = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _j === void 0 ? void 0 : _j.privacy_policy_title,
14521
+ privacyPolicyUrl: (_k = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _k === void 0 ? void 0 : _k.privacy_policy_url,
14522
+ privacyTitle: (_l = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _l === void 0 ? void 0 : _l.privacy_title,
14523
+ template: (_m = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _m === void 0 ? void 0 : _m.template,
14524
+ industry: (_o = data === null || data === void 0 ? void 0 : data.sxp_parameter) === null || _o === void 0 ? void 0 : _o.industry
14291
14525
  },
14292
14526
  appDomain: data === null || data === void 0 ? void 0 : data.appDomain,
14293
14527
  openHashtag,
14294
- setOpenHashtag
14528
+ setOpenHashtag,
14529
+ openConsent,
14530
+ setOpenConsent
14295
14531
  } }, children));
14296
14532
  };
14297
14533
  function useEditorDataProvider() {