@bikdotai/bik-component-library 0.0.721-beta.16 โ 0.0.721-beta.18
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),t=require("react"),o=require("react-joyride"),n=require("./MajorUpdatePopup.js"),a=require("./MinorUpdatePopup.js"),r=require("./useFeatureAnnouncements.js"),s=require("./VideoModal.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(o);const u="#007bff";exports.default=i=>{let{children:d,fetchVisibleFeatures:c,getStoreFeatureProgress:p,fetchFeatureById:f,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:g,module:x,router:h}=i;var m;const{majorUpdateFeatures:y,minorUpdateFeatures:C,isLoading:k,markFeatureAsViewed:S}=r.useFeatureAnnouncements({fetchVisibleFeatures:c,getStoreFeatureProgress:p,fetchFeatureById:f,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:g,module:x,router:h}),[T,w]=t.useState(null),[E,j]=t.useState(null),[v,B]=t.useState(!1),[I,F]=t.useState([]),[N,R]=t.useState(!1),[M,P]=t.useState([]),[O,W]=t.useState(!1),[q,V]=t.useState(!1),[A,L]=t.useState([]),[U,$]=t.useState(!1),[_,z]=t.useState(!1),[J,D]=t.useState(!1),[G,H]=t.useState(""),[K,Q]=t.useState(!1),[X,Y]=t.useState(!1),[Z,ee]=t.useState(!1);t.useEffect((()=>{const e="minor-spotlight-cutout-style";let t=document.getElementById(e);return t||(t=document.createElement("style"),t.id=e,document.head.appendChild(t)),t.textContent="\n\t\t\t.react-joyride__spotlight {\n\t\t\t\ttransition: box-shadow 0.3s ease-in-out !important;\n\t\t\t}\n\t\t",()=>{const t=document.getElementById(e);t&&t.remove()}}),[]),t.useEffect((()=>{if(!(y.length>0)||T||k||O||K)0!==y.length||k||z(!0);else{z(!1),$(!1),B(!1),F([]),j(null),L([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?te(y[0]):setTimeout(e,1e3)};e()}}),[y,T,k,O,K]),t.useEffect((()=>{var e;const t=null===(e=null==h?void 0:h.query)||void 0===e?void 0:e.featureId;if(!t||k||0===C.length)return;const o=C.find((e=>e.id===t));if(!o||!o.featureTag)return;$(!0),V(!0);let n=0;const a=setInterval((()=>{n++;const e=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;if(document.querySelector(e)){const e=[o];L(e),ue(o,e),clearInterval(a)}else n>=25&&(console.warn(`FeatureAnnouncements: Timed out waiting for element with selector: ${e}`),V(!1),clearInterval(a))}),200);return()=>{clearInterval(a)}}),[C,null===(m=null==h?void 0:h.query)||void 0===m?void 0:m.featureId,k]),t.useEffect((()=>{if(C.length>0&&!k&&!v&&!q&&!E&&!U&&_&&!K){let e=null,t=null,o=null,n=!1;const a=()=>{if(n||q||E||U||!_)return;const a=C.filter((e=>{if(!e.featureTag||""===e.featureTag.trim())return!1;const t=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`;return null!==document.querySelector(t)}));a.length>0&&(L(a),ue(a[0]),e&&(e.disconnect(),e=null),t&&(window.removeEventListener("scroll",t),t=null),o&&(clearTimeout(o),o=null))};return e=new MutationObserver((e=>{let t=!1;for(const o of e){if("childList"===o.type&&o.addedNodes.length>0)for(let e=0;e<o.addedNodes.length;e++){const n=o.addedNodes[e];if(n.nodeType===Node.ELEMENT_NODE){const e=n;if(e.id||e.querySelector("[id]")){t=!0;break}}}if(t)break}v||n||q||E||U||!_||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||q||E||U||!_||a()}),200))})),t=()=>{v||n||q||E||U||!_||(o&&clearTimeout(o),o=setTimeout((()=>{n||q||E||U||!_||a()}),300))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),a(),setTimeout((()=>{n||q||E||U||!_||a()}),100),setTimeout((()=>{n||q||E||U||!_||a()}),1e3),setTimeout((()=>{n||q||E||U||!_||a()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}(0===C.length||k)&&(B(!1),F([]),j(null),L([]),$(!1))}),[C,k,v,q,E,U,_,S,K]);const te=t=>{w(t);const o=y.findIndex((e=>e.id===t.id)),a=y.length,r=[{target:'[data-testid="whats-new-button"]',content:e.jsxRuntimeExports.jsx(n.default,{feature:t,currentIndex:o,totalFeatures:a,onSkip:()=>oe(t),onExplore:()=>ne(t),onPrevious:()=>ae(t),onNext:()=>re(t),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];P(r),R(!0)},oe=t.useCallback((e=>{(e||T)&&(W(!0),y.forEach((e=>{S(e.id)})),R(!1),w(null),P([]),z(!0),setTimeout((()=>{W(!1)}),500))}),[T,y,S]),ne=t.useCallback((e=>{W(!0),S(e.id),e.productVideo&&(H(e.productVideo),D(!0),Q(!0)),R(!1),w(null),P([]);y.findIndex((t=>t.id===e.id))===y.length-1&&z(!0),setTimeout((()=>{W(!1)}),500)}),[y,S]),ae=t.useCallback((t=>{const o=t||T;if(!o)return;const a=y.findIndex((e=>e.id===o.id));if(a>0){const t=y[a-1];w(t);const o=a-1,r=y.length,s=[{target:'[data-testid="whats-new-button"]',content:e.jsxRuntimeExports.jsx(n.default,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>oe(t),onExplore:()=>ne(t),onPrevious:()=>ae(t),onNext:()=>re(t),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];P(s)}}),[T,y]),re=t.useCallback((t=>{const o=t||T;if(!o)return;const a=y.findIndex((e=>e.id===o.id));if(a<y.length-1){const t=y[a+1];w(t);const o=a+1,r=y.length,s=[{target:'[data-testid="whats-new-button"]',content:e.jsxRuntimeExports.jsx(n.default,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>oe(t),onExplore:()=>ne(t),onPrevious:()=>ae(t),onNext:()=>re(t),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];P(s)}else W(!0),S(o.id),R(!1),w(null),P([]),z(!0),setTimeout((()=>{W(!1)}),500)}),[T,y,S]),se=()=>{if(y.length>0&&!T){document.querySelector('[data-testid="whats-new-button"]')&&te(y[0])}};t.useEffect((()=>(window.showMajorUpdatePopup=se,()=>{delete window.showMajorUpdatePopup})),[y,T]);const ie=t.useCallback((e=>{const{action:t}=e;t===o.ACTIONS.CLOSE&&(T&&(W(!0),y.forEach((e=>{S(e.id)})),z(!0),setTimeout((()=>{W(!1)}),500)),R(!1),w(null),P([]))}),[T,y,S]),le=t.useCallback((e=>{var t;const{action:n,type:a,status:r,lifecycle:s}=e;console.log("Minor Joyride Callback:",JSON.stringify({action:n,type:a,status:r,lifecycle:s,step:null===(t=e.step)||void 0===t?void 0:t.target},null,2)),n===o.ACTIONS.CLOSE&&(console.log("โ CLOSE action triggered - clearing minor joyride"),E&&(V(!0),$(!0),C.forEach((e=>{S(e.id)})),setTimeout((()=>{V(!1)}),500)),B(!1),j(null),F([]))}),[E,C,S]),ue=(t,o)=>{console.log("๐ showMinorUpdateJoyride called:",{featureId:t.id,featuresToUse:o,availableMinorFeatures:A}),j(t);const n=o||A,r=n.findIndex((e=>e.id===t.id)),s=n.length;console.log("๐ Minor popup config:",{currentIndex:r,totalFeatures:s,features:n});const i=[{target:t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,content:e.jsxRuntimeExports.jsx(a.default,{feature:t,currentIndex:r,totalFeatures:s,onSkip:()=>de(t),onExplore:()=>ce(t),onPrevious:()=>pe(t),onNext:()=>fe(t),setIsClosing:ee}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];console.log("โ
Setting minor joyride steps and running:",{steps:i.length}),F(i),B(!0)},de=t.useCallback((e=>{(e||E)&&(V(!0),$(!0),C.forEach((e=>{S(e.id)})),B(!1),j(null),F([]),setTimeout((()=>{V(!1)}),500))}),[E,C,S]),ce=t.useCallback((e=>{V(!0),$(!0),S(e.id),e.productVideo&&(H(e.productVideo),D(!0),Q(!0)),B(!1),j(null),F([]),setTimeout((()=>{V(!1)}),500)}),[S]),pe=t.useCallback((t=>{const o=t||E;if(!o)return;const n=A.findIndex((e=>e.id===o.id));if(n>0){const t=A[n-1];j(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=n-1,s=A.length,i=[{target:o,content:e.jsxRuntimeExports.jsx(a.default,{feature:t,currentIndex:r,totalFeatures:s,onSkip:()=>de(t),onExplore:()=>ce(t),onPrevious:()=>pe(t),onNext:()=>fe(t),setIsClosing:ee}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];F(i)}}),[E,A]),fe=t.useCallback((t=>{const o=t||E;if(!o)return;const n=A.findIndex((e=>e.id===o.id));if(n<A.length-1){const t=A[n+1];j(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=n+1,s=A.length,i=[{target:o,content:e.jsxRuntimeExports.jsx(a.default,{feature:t,currentIndex:r,totalFeatures:s,onSkip:()=>de(t),onExplore:()=>ce(t),onPrevious:()=>pe(t),onNext:()=>fe(t),setIsClosing:ee}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];F(i)}else V(!0),$(!0),S(o.id),B(!1),j(null),F([]),setTimeout((()=>{V(!1)}),500)}),[E,A,S]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[d,M.length>0&&e.jsxRuntimeExports.jsx(l.default,{steps:M,run:N,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ie,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:X?"transparent":"#212121"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",border:"none"},tooltip:{borderRadius:"16px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}}),I.length>0&&e.jsxRuntimeExports.jsx(l.default,{steps:I,run:v,continuous:!1,showProgress:!1,showSkipButton:!1,callback:le,disableOverlayClose:!0,disableCloseOnEsc:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:Z?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:Z?"none":"0 0 0 9999px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(255, 255, 255, 0.8), 0 0 20px 8px rgba(255, 255, 255, 0.4)"},tooltip:{borderRadius:"4px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonSkip:{display:"none"},buttonClose:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}}),e.jsxRuntimeExports.jsx(s.VideoModal,{isOpen:J,videoUrl:G,onClose:()=>{D(!1),H(""),Q(!1)}})]})};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),t=require("react"),o=require("react-joyride"),n=require("./MajorUpdatePopup.js"),a=require("./MinorUpdatePopup.js"),r=require("./useFeatureAnnouncements.js"),s=require("./VideoModal.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(o);const u="#007bff";exports.default=i=>{let{children:d,fetchVisibleFeatures:c,getStoreFeatureProgress:p,fetchFeatureById:f,markFeatureAsViewedForStore:g,isFeatureApplicableToCurrentPage:b,module:h,router:x}=i;var m;const{majorUpdateFeatures:y,minorUpdateFeatures:C,isLoading:k,markFeatureAsViewed:S}=r.useFeatureAnnouncements({fetchVisibleFeatures:c,getStoreFeatureProgress:p,fetchFeatureById:f,markFeatureAsViewedForStore:g,isFeatureApplicableToCurrentPage:b,module:h,router:x}),[T,w]=t.useState(null),[E,j]=t.useState(null),[B,F]=t.useState(!1),[v,I]=t.useState([]),[N,M]=t.useState(!1),[R,P]=t.useState([]),[O,W]=t.useState(!1),[q,L]=t.useState(!1),[A,U]=t.useState([]),[V,$]=t.useState(!1),[_,z]=t.useState(!1),[J,D]=t.useState(!1),[Q,G]=t.useState(""),[H,K]=t.useState(!1),[X,Y]=t.useState(!1),[Z,ee]=t.useState(!1);t.useEffect((()=>{const e="minor-spotlight-cutout-style";let t=document.getElementById(e);return t||(t=document.createElement("style"),t.id=e,document.head.appendChild(t)),t.textContent="\n\t\t\t.react-joyride__spotlight {\n\t\t\t\ttransition: box-shadow 0.3s ease-in-out !important;\n\t\t\t}\n\t\t",()=>{const t=document.getElementById(e);t&&t.remove()}}),[]),t.useEffect((()=>{console.log("๐ joyrideSteps changed:",{length:v.length,runJoyride:B})}),[v,B]),t.useEffect((()=>{console.log("๐ฏ currentMinorFeature changed:",{id:(null==E?void 0:E.id)||"null"})}),[E]),t.useEffect((()=>{if(!(y.length>0)||T||k||O||H)0!==y.length||k||z(!0);else{z(!1),$(!1),F(!1),I([]),j(null),U([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?te(y[0]):setTimeout(e,1e3)};e()}}),[y,T,k,O,H]),t.useEffect((()=>{var e;const t=null===(e=null==x?void 0:x.query)||void 0===e?void 0:e.featureId;if(console.log("๐งช Test mode effect triggered:",{featureIdFromQuery:t,isLoading:k,minorUpdateFeaturesCount:C.length}),!t||k||0===C.length)return;const o=C.find((e=>e.id===t));if(!o||!o.featureTag)return;$(!0),L(!0);let n=0;const a=setInterval((()=>{n++;const e=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;if(document.querySelector(e)){console.log("โจ Test mode: Element found, showing joyride");const e=[o];U(e),ue(o,e),clearInterval(a)}else n>=25&&(console.warn(`FeatureAnnouncements: Timed out waiting for element with selector: ${e}`),L(!1),clearInterval(a))}),200);return()=>{clearInterval(a)}}),[C,null===(m=null==x?void 0:x.query)||void 0===m?void 0:m.featureId,k]),t.useEffect((()=>{if(console.log("๐ Main minor effect check:",{minorUpdateFeaturesCount:C.length,isLoading:k,runJoyride:B,isProcessingMinorUpdate:q,currentMinorFeature:(null==E?void 0:E.id)||"null",minorFeaturesSkipped:V,showMinorUpdates:_,blockPopups:H}),C.length>0&&!k&&!B&&!q&&!E&&!V&&_&&!H){let e=null,t=null,o=null,n=!1;const a=()=>{if(n||q||E||V||!_)return;const a=C.filter((e=>{if(!e.featureTag||""===e.featureTag.trim())return!1;const t=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`;return null!==document.querySelector(t)}));a.length>0&&(console.log("๐ Found available features:",a.length),U(a),ue(a[0],a),e&&(e.disconnect(),e=null),t&&(window.removeEventListener("scroll",t),t=null),o&&(clearTimeout(o),o=null))};return e=new MutationObserver((e=>{let t=!1;for(const o of e){if("childList"===o.type&&o.addedNodes.length>0)for(let e=0;e<o.addedNodes.length;e++){const n=o.addedNodes[e];if(n.nodeType===Node.ELEMENT_NODE){const e=n;if(e.id||e.querySelector("[id]")){t=!0;break}}}if(t)break}B||n||q||E||V||!_||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||q||E||V||!_||a()}),200))})),t=()=>{B||n||q||E||V||!_||(o&&clearTimeout(o),o=setTimeout((()=>{n||q||E||V||!_||a()}),300))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),a(),setTimeout((()=>{n||q||E||V||!_||a()}),100),setTimeout((()=>{n||q||E||V||!_||a()}),1e3),setTimeout((()=>{n||q||E||V||!_||a()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}(0===C.length||k)&&(console.log("๐๏ธ Clearing joyride - no features or loading"),F(!1),I([]),j(null),U([]),$(!1))}),[C,k,B,q,E,V,_,S,H]);const te=t=>{w(t);const o=y.findIndex((e=>e.id===t.id)),a=y.length,r=[{target:'[data-testid="whats-new-button"]',content:e.jsxRuntimeExports.jsx(n.default,{feature:t,currentIndex:o,totalFeatures:a,onSkip:()=>oe(t),onExplore:()=>ne(t),onPrevious:()=>ae(t),onNext:()=>re(t),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];P(r),M(!0)},oe=t.useCallback((e=>{(e||T)&&(W(!0),y.forEach((e=>{S(e.id)})),M(!1),w(null),P([]),z(!0),setTimeout((()=>{W(!1)}),500))}),[T,y,S]),ne=t.useCallback((e=>{W(!0),S(e.id),e.productVideo&&(G(e.productVideo),D(!0),K(!0)),M(!1),w(null),P([]);y.findIndex((t=>t.id===e.id))===y.length-1&&z(!0),setTimeout((()=>{W(!1)}),500)}),[y,S]),ae=t.useCallback((t=>{const o=t||T;if(!o)return;const a=y.findIndex((e=>e.id===o.id));if(a>0){const t=y[a-1];w(t);const o=a-1,r=y.length,s=[{target:'[data-testid="whats-new-button"]',content:e.jsxRuntimeExports.jsx(n.default,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>oe(t),onExplore:()=>ne(t),onPrevious:()=>ae(t),onNext:()=>re(t),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];P(s)}}),[T,y]),re=t.useCallback((t=>{const o=t||T;if(!o)return;const a=y.findIndex((e=>e.id===o.id));if(a<y.length-1){const t=y[a+1];w(t);const o=a+1,r=y.length,s=[{target:'[data-testid="whats-new-button"]',content:e.jsxRuntimeExports.jsx(n.default,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>oe(t),onExplore:()=>ne(t),onPrevious:()=>ae(t),onNext:()=>re(t),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];P(s)}else W(!0),S(o.id),M(!1),w(null),P([]),z(!0),setTimeout((()=>{W(!1)}),500)}),[T,y,S]),se=()=>{if(y.length>0&&!T){document.querySelector('[data-testid="whats-new-button"]')&&te(y[0])}};t.useEffect((()=>(window.showMajorUpdatePopup=se,()=>{delete window.showMajorUpdatePopup})),[y,T]);const ie=t.useCallback((e=>{const{action:t}=e;t===o.ACTIONS.CLOSE&&(T&&(W(!0),y.forEach((e=>{S(e.id)})),z(!0),setTimeout((()=>{W(!1)}),500)),M(!1),w(null),P([]))}),[T,y,S]),le=t.useCallback((e=>{const{action:t,type:n,status:a,lifecycle:r,index:s}=e;console.log("๐ Minor Callback:",{action:t,type:n,status:a,lifecycle:r,index:s,hasSteps:v.length,runJoyride:B}),t===o.ACTIONS.CLOSE&&(console.log("โ CLOSE ACTION - Clearing joyride"),E&&(L(!0),$(!0),C.forEach((e=>{S(e.id)})),setTimeout((()=>{L(!1)}),500)),F(!1),j(null),I([]))}),[E,C,S]),ue=(t,o)=>{j(t);const n=o||A,r=n.findIndex((e=>e.id===t.id)),s=n.length,i=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,l=[{target:i,content:e.jsxRuntimeExports.jsx(a.default,{feature:t,currentIndex:r,totalFeatures:s,onSkip:()=>de(t),onExplore:()=>ce(t),onPrevious:()=>pe(t),onNext:()=>fe(t),setIsClosing:ee}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];console.log("โ
Setting joyride:",{currentIndex:r,totalFeatures:s,hasFeatures:n.length,target:i}),I(l),F(!0)},de=t.useCallback((e=>{(e||E)&&(L(!0),$(!0),C.forEach((e=>{S(e.id)})),F(!1),j(null),I([]),setTimeout((()=>{L(!1)}),500))}),[E,C,S]),ce=t.useCallback((e=>{L(!0),$(!0),S(e.id),e.productVideo&&(G(e.productVideo),D(!0),K(!0)),F(!1),j(null),I([]),setTimeout((()=>{L(!1)}),500)}),[S]),pe=t.useCallback((t=>{const o=t||E;if(!o)return;const n=A.findIndex((e=>e.id===o.id));if(n>0){const t=A[n-1];j(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=n-1,s=A.length,i=[{target:o,content:e.jsxRuntimeExports.jsx(a.default,{feature:t,currentIndex:r,totalFeatures:s,onSkip:()=>de(t),onExplore:()=>ce(t),onPrevious:()=>pe(t),onNext:()=>fe(t),setIsClosing:ee}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];I(i)}}),[E,A]),fe=t.useCallback((t=>{const o=t||E;if(!o)return;const n=A.findIndex((e=>e.id===o.id));if(n<A.length-1){const t=A[n+1];j(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=n+1,s=A.length,i=[{target:o,content:e.jsxRuntimeExports.jsx(a.default,{feature:t,currentIndex:r,totalFeatures:s,onSkip:()=>de(t),onExplore:()=>ce(t),onPrevious:()=>pe(t),onNext:()=>fe(t),setIsClosing:ee}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];I(i)}else L(!0),$(!0),S(o.id),F(!1),j(null),I([]),setTimeout((()=>{L(!1)}),500)}),[E,A,S]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[d,R.length>0&&e.jsxRuntimeExports.jsx(l.default,{steps:R,run:N,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ie,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:X?"transparent":"#212121"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",border:"none"},tooltip:{borderRadius:"16px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}}),v.length>0&&e.jsxRuntimeExports.jsx(l.default,{steps:v,run:B,continuous:!1,showProgress:!1,showSkipButton:!1,callback:le,disableOverlayClose:!0,disableCloseOnEsc:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:Z?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:Z?"none":"0 0 0 9999px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(255, 255, 255, 0.8), 0 0 20px 8px rgba(255, 255, 255, 0.4)"},tooltip:{borderRadius:"4px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonSkip:{display:"none"},buttonClose:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}}),e.jsxRuntimeExports.jsx(s.VideoModal,{isOpen:J,videoUrl:Q,onClose:()=>{D(!1),G(""),K(!1)}})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useEffect as o,useCallback as n}from"react";import a,{ACTIONS as r}from"react-joyride";import s from"./MajorUpdatePopup.js";import i from"./MinorUpdatePopup.js";import{useFeatureAnnouncements as l}from"./useFeatureAnnouncements.js";import{VideoModal as d}from"./VideoModal.js";const u="#007bff",p=p=>{let{children:c,fetchVisibleFeatures:f,getStoreFeatureProgress:g,fetchFeatureById:b,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:m,module:x,router:y}=p;var C;const{majorUpdateFeatures:k,minorUpdateFeatures:T,isLoading:S,markFeatureAsViewed:w}=l({fetchVisibleFeatures:f,getStoreFeatureProgress:g,fetchFeatureById:b,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:m,module:x,router:y}),[B,v]=t(null),[I,F]=t(null),[j,E]=t(!1),[N,M]=t([]),[P,W]=t(!1),[O,L]=t([]),[V,R]=t(!1),[U,q]=t(!1),[A,$]=t([]),[z,_]=t(!1),[J,D]=t(!1),[G,H]=t(!1),[K,Q]=t(""),[X,Y]=t(!1),[Z,ee]=t(!1),[te,oe]=t(!1);o((()=>{const e="minor-spotlight-cutout-style";let t=document.getElementById(e);return t||(t=document.createElement("style"),t.id=e,document.head.appendChild(t)),t.textContent="\n\t\t\t.react-joyride__spotlight {\n\t\t\t\ttransition: box-shadow 0.3s ease-in-out !important;\n\t\t\t}\n\t\t",()=>{const t=document.getElementById(e);t&&t.remove()}}),[]),o((()=>{if(!(k.length>0)||B||S||V||X)0!==k.length||S||D(!0);else{D(!1),_(!1),E(!1),M([]),F(null),$([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?ne(k[0]):setTimeout(e,1e3)};e()}}),[k,B,S,V,X]),o((()=>{var e;const t=null===(e=null==y?void 0:y.query)||void 0===e?void 0:e.featureId;if(!t||S||0===T.length)return;const o=T.find((e=>e.id===t));if(!o||!o.featureTag)return;_(!0),q(!0);let n=0;const a=setInterval((()=>{n++;const e=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;if(document.querySelector(e)){const e=[o];$(e),pe(o,e),clearInterval(a)}else n>=25&&(console.warn(`FeatureAnnouncements: Timed out waiting for element with selector: ${e}`),q(!1),clearInterval(a))}),200);return()=>{clearInterval(a)}}),[T,null===(C=null==y?void 0:y.query)||void 0===C?void 0:C.featureId,S]),o((()=>{if(T.length>0&&!S&&!j&&!U&&!I&&!z&&J&&!X){let e=null,t=null,o=null,n=!1;const a=()=>{if(n||U||I||z||!J)return;const a=T.filter((e=>{if(!e.featureTag||""===e.featureTag.trim())return!1;const t=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`;return null!==document.querySelector(t)}));a.length>0&&($(a),pe(a[0]),e&&(e.disconnect(),e=null),t&&(window.removeEventListener("scroll",t),t=null),o&&(clearTimeout(o),o=null))};return e=new MutationObserver((e=>{let t=!1;for(const o of e){if("childList"===o.type&&o.addedNodes.length>0)for(let e=0;e<o.addedNodes.length;e++){const n=o.addedNodes[e];if(n.nodeType===Node.ELEMENT_NODE){const e=n;if(e.id||e.querySelector("[id]")){t=!0;break}}}if(t)break}j||n||U||I||z||!J||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||U||I||z||!J||a()}),200))})),t=()=>{j||n||U||I||z||!J||(o&&clearTimeout(o),o=setTimeout((()=>{n||U||I||z||!J||a()}),300))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),a(),setTimeout((()=>{n||U||I||z||!J||a()}),100),setTimeout((()=>{n||U||I||z||!J||a()}),1e3),setTimeout((()=>{n||U||I||z||!J||a()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}(0===T.length||S)&&(E(!1),M([]),F(null),$([]),_(!1))}),[T,S,j,U,I,z,J,w,X]);const ne=t=>{v(t);const o=k.findIndex((e=>e.id===t.id)),n=k.length,a=[{target:'[data-testid="whats-new-button"]',content:e.jsx(s,{feature:t,currentIndex:o,totalFeatures:n,onSkip:()=>ae(t),onExplore:()=>re(t),onPrevious:()=>se(t),onNext:()=>ie(t),setIsClosing:ee}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];L(a),W(!0)},ae=n((e=>{(e||B)&&(R(!0),k.forEach((e=>{w(e.id)})),W(!1),v(null),L([]),D(!0),setTimeout((()=>{R(!1)}),500))}),[B,k,w]),re=n((e=>{R(!0),w(e.id),e.productVideo&&(Q(e.productVideo),H(!0),Y(!0)),W(!1),v(null),L([]);k.findIndex((t=>t.id===e.id))===k.length-1&&D(!0),setTimeout((()=>{R(!1)}),500)}),[k,w]),se=n((t=>{const o=t||B;if(!o)return;const n=k.findIndex((e=>e.id===o.id));if(n>0){const t=k[n-1];v(t);const o=n-1,a=k.length,r=[{target:'[data-testid="whats-new-button"]',content:e.jsx(s,{feature:t,currentIndex:o,totalFeatures:a,onSkip:()=>ae(t),onExplore:()=>re(t),onPrevious:()=>se(t),onNext:()=>ie(t),setIsClosing:ee}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];L(r)}}),[B,k]),ie=n((t=>{const o=t||B;if(!o)return;const n=k.findIndex((e=>e.id===o.id));if(n<k.length-1){const t=k[n+1];v(t);const o=n+1,a=k.length,r=[{target:'[data-testid="whats-new-button"]',content:e.jsx(s,{feature:t,currentIndex:o,totalFeatures:a,onSkip:()=>ae(t),onExplore:()=>re(t),onPrevious:()=>se(t),onNext:()=>ie(t),setIsClosing:ee}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];L(r)}else R(!0),w(o.id),W(!1),v(null),L([]),D(!0),setTimeout((()=>{R(!1)}),500)}),[B,k,w]),le=()=>{if(k.length>0&&!B){document.querySelector('[data-testid="whats-new-button"]')&&ne(k[0])}};o((()=>(window.showMajorUpdatePopup=le,()=>{delete window.showMajorUpdatePopup})),[k,B]);const de=n((e=>{const{action:t}=e;t===r.CLOSE&&(B&&(R(!0),k.forEach((e=>{w(e.id)})),D(!0),setTimeout((()=>{R(!1)}),500)),W(!1),v(null),L([]))}),[B,k,w]),ue=n((e=>{var t;const{action:o,type:n,status:a,lifecycle:s}=e;console.log("Minor Joyride Callback:",JSON.stringify({action:o,type:n,status:a,lifecycle:s,step:null===(t=e.step)||void 0===t?void 0:t.target},null,2)),o===r.CLOSE&&(console.log("โ CLOSE action triggered - clearing minor joyride"),I&&(q(!0),_(!0),T.forEach((e=>{w(e.id)})),setTimeout((()=>{q(!1)}),500)),E(!1),F(null),M([]))}),[I,T,w]),pe=(t,o)=>{console.log("๐ showMinorUpdateJoyride called:",{featureId:t.id,featuresToUse:o,availableMinorFeatures:A}),F(t);const n=o||A,a=n.findIndex((e=>e.id===t.id)),r=n.length;console.log("๐ Minor popup config:",{currentIndex:a,totalFeatures:r,features:n});const s=[{target:t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,content:e.jsx(i,{feature:t,currentIndex:a,totalFeatures:r,onSkip:()=>ce(t),onExplore:()=>fe(t),onPrevious:()=>ge(t),onNext:()=>be(t),setIsClosing:oe}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];console.log("โ
Setting minor joyride steps and running:",{steps:s.length}),M(s),E(!0)},ce=n((e=>{(e||I)&&(q(!0),_(!0),T.forEach((e=>{w(e.id)})),E(!1),F(null),M([]),setTimeout((()=>{q(!1)}),500))}),[I,T,w]),fe=n((e=>{q(!0),_(!0),w(e.id),e.productVideo&&(Q(e.productVideo),H(!0),Y(!0)),E(!1),F(null),M([]),setTimeout((()=>{q(!1)}),500)}),[w]),ge=n((t=>{const o=t||I;if(!o)return;const n=A.findIndex((e=>e.id===o.id));if(n>0){const t=A[n-1];F(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,a=n-1,r=A.length,s=[{target:o,content:e.jsx(i,{feature:t,currentIndex:a,totalFeatures:r,onSkip:()=>ce(t),onExplore:()=>fe(t),onPrevious:()=>ge(t),onNext:()=>be(t),setIsClosing:oe}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];M(s)}}),[I,A]),be=n((t=>{const o=t||I;if(!o)return;const n=A.findIndex((e=>e.id===o.id));if(n<A.length-1){const t=A[n+1];F(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,a=n+1,r=A.length,s=[{target:o,content:e.jsx(i,{feature:t,currentIndex:a,totalFeatures:r,onSkip:()=>ce(t),onExplore:()=>fe(t),onPrevious:()=>ge(t),onNext:()=>be(t),setIsClosing:oe}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];M(s)}else q(!0),_(!0),w(o.id),E(!1),F(null),M([]),setTimeout((()=>{q(!1)}),500)}),[I,A,w]);return e.jsxs(e.Fragment,{children:[c,O.length>0&&e.jsx(a,{steps:O,run:P,continuous:!1,showProgress:!1,showSkipButton:!1,callback:de,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:Z?"transparent":"#212121"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",border:"none"},tooltip:{borderRadius:"16px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}}),N.length>0&&e.jsx(a,{steps:N,run:j,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ue,disableOverlayClose:!0,disableCloseOnEsc:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:te?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:te?"none":"0 0 0 9999px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(255, 255, 255, 0.8), 0 0 20px 8px rgba(255, 255, 255, 0.4)"},tooltip:{borderRadius:"4px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonSkip:{display:"none"},buttonClose:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}}),e.jsx(d,{isOpen:G,videoUrl:K,onClose:()=>{H(!1),Q(""),Y(!1)}})]})};export{p as default};
|
|
1
|
+
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useEffect as o,useCallback as n}from"react";import r,{ACTIONS as a}from"react-joyride";import s from"./MajorUpdatePopup.js";import i from"./MinorUpdatePopup.js";import{useFeatureAnnouncements as l}from"./useFeatureAnnouncements.js";import{VideoModal as d}from"./VideoModal.js";const u="#007bff",p=p=>{let{children:c,fetchVisibleFeatures:g,getStoreFeatureProgress:f,fetchFeatureById:b,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:m,module:x,router:y}=p;var C;const{majorUpdateFeatures:k,minorUpdateFeatures:T,isLoading:S,markFeatureAsViewed:w}=l({fetchVisibleFeatures:g,getStoreFeatureProgress:f,fetchFeatureById:b,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:m,module:x,router:y}),[B,F]=t(null),[v,I]=t(null),[j,E]=t(!1),[N,M]=t([]),[P,W]=t(!1),[L,O]=t([]),[U,V]=t(!1),[R,A]=t(!1),[q,$]=t([]),[z,_]=t(!1),[J,D]=t(!1),[Q,G]=t(!1),[H,K]=t(""),[X,Y]=t(!1),[Z,ee]=t(!1),[te,oe]=t(!1);o((()=>{const e="minor-spotlight-cutout-style";let t=document.getElementById(e);return t||(t=document.createElement("style"),t.id=e,document.head.appendChild(t)),t.textContent="\n\t\t\t.react-joyride__spotlight {\n\t\t\t\ttransition: box-shadow 0.3s ease-in-out !important;\n\t\t\t}\n\t\t",()=>{const t=document.getElementById(e);t&&t.remove()}}),[]),o((()=>{console.log("๐ joyrideSteps changed:",{length:N.length,runJoyride:j})}),[N,j]),o((()=>{console.log("๐ฏ currentMinorFeature changed:",{id:(null==v?void 0:v.id)||"null"})}),[v]),o((()=>{if(!(k.length>0)||B||S||U||X)0!==k.length||S||D(!0);else{D(!1),_(!1),E(!1),M([]),I(null),$([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?ne(k[0]):setTimeout(e,1e3)};e()}}),[k,B,S,U,X]),o((()=>{var e;const t=null===(e=null==y?void 0:y.query)||void 0===e?void 0:e.featureId;if(console.log("๐งช Test mode effect triggered:",{featureIdFromQuery:t,isLoading:S,minorUpdateFeaturesCount:T.length}),!t||S||0===T.length)return;const o=T.find((e=>e.id===t));if(!o||!o.featureTag)return;_(!0),A(!0);let n=0;const r=setInterval((()=>{n++;const e=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;if(document.querySelector(e)){console.log("โจ Test mode: Element found, showing joyride");const e=[o];$(e),pe(o,e),clearInterval(r)}else n>=25&&(console.warn(`FeatureAnnouncements: Timed out waiting for element with selector: ${e}`),A(!1),clearInterval(r))}),200);return()=>{clearInterval(r)}}),[T,null===(C=null==y?void 0:y.query)||void 0===C?void 0:C.featureId,S]),o((()=>{if(console.log("๐ Main minor effect check:",{minorUpdateFeaturesCount:T.length,isLoading:S,runJoyride:j,isProcessingMinorUpdate:R,currentMinorFeature:(null==v?void 0:v.id)||"null",minorFeaturesSkipped:z,showMinorUpdates:J,blockPopups:X}),T.length>0&&!S&&!j&&!R&&!v&&!z&&J&&!X){let e=null,t=null,o=null,n=!1;const r=()=>{if(n||R||v||z||!J)return;const r=T.filter((e=>{if(!e.featureTag||""===e.featureTag.trim())return!1;const t=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`;return null!==document.querySelector(t)}));r.length>0&&(console.log("๐ Found available features:",r.length),$(r),pe(r[0],r),e&&(e.disconnect(),e=null),t&&(window.removeEventListener("scroll",t),t=null),o&&(clearTimeout(o),o=null))};return e=new MutationObserver((e=>{let t=!1;for(const o of e){if("childList"===o.type&&o.addedNodes.length>0)for(let e=0;e<o.addedNodes.length;e++){const n=o.addedNodes[e];if(n.nodeType===Node.ELEMENT_NODE){const e=n;if(e.id||e.querySelector("[id]")){t=!0;break}}}if(t)break}j||n||R||v||z||!J||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||R||v||z||!J||r()}),200))})),t=()=>{j||n||R||v||z||!J||(o&&clearTimeout(o),o=setTimeout((()=>{n||R||v||z||!J||r()}),300))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),r(),setTimeout((()=>{n||R||v||z||!J||r()}),100),setTimeout((()=>{n||R||v||z||!J||r()}),1e3),setTimeout((()=>{n||R||v||z||!J||r()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}(0===T.length||S)&&(console.log("๐๏ธ Clearing joyride - no features or loading"),E(!1),M([]),I(null),$([]),_(!1))}),[T,S,j,R,v,z,J,w,X]);const ne=t=>{F(t);const o=k.findIndex((e=>e.id===t.id)),n=k.length,r=[{target:'[data-testid="whats-new-button"]',content:e.jsx(s,{feature:t,currentIndex:o,totalFeatures:n,onSkip:()=>re(t),onExplore:()=>ae(t),onPrevious:()=>se(t),onNext:()=>ie(t),setIsClosing:ee}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];O(r),W(!0)},re=n((e=>{(e||B)&&(V(!0),k.forEach((e=>{w(e.id)})),W(!1),F(null),O([]),D(!0),setTimeout((()=>{V(!1)}),500))}),[B,k,w]),ae=n((e=>{V(!0),w(e.id),e.productVideo&&(K(e.productVideo),G(!0),Y(!0)),W(!1),F(null),O([]);k.findIndex((t=>t.id===e.id))===k.length-1&&D(!0),setTimeout((()=>{V(!1)}),500)}),[k,w]),se=n((t=>{const o=t||B;if(!o)return;const n=k.findIndex((e=>e.id===o.id));if(n>0){const t=k[n-1];F(t);const o=n-1,r=k.length,a=[{target:'[data-testid="whats-new-button"]',content:e.jsx(s,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>re(t),onExplore:()=>ae(t),onPrevious:()=>se(t),onNext:()=>ie(t),setIsClosing:ee}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];O(a)}}),[B,k]),ie=n((t=>{const o=t||B;if(!o)return;const n=k.findIndex((e=>e.id===o.id));if(n<k.length-1){const t=k[n+1];F(t);const o=n+1,r=k.length,a=[{target:'[data-testid="whats-new-button"]',content:e.jsx(s,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>re(t),onExplore:()=>ae(t),onPrevious:()=>se(t),onNext:()=>ie(t),setIsClosing:ee}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMajor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"16px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];O(a)}else V(!0),w(o.id),W(!1),F(null),O([]),D(!0),setTimeout((()=>{V(!1)}),500)}),[B,k,w]),le=()=>{if(k.length>0&&!B){document.querySelector('[data-testid="whats-new-button"]')&&ne(k[0])}};o((()=>(window.showMajorUpdatePopup=le,()=>{delete window.showMajorUpdatePopup})),[k,B]);const de=n((e=>{const{action:t}=e;t===a.CLOSE&&(B&&(V(!0),k.forEach((e=>{w(e.id)})),D(!0),setTimeout((()=>{V(!1)}),500)),W(!1),F(null),O([]))}),[B,k,w]),ue=n((e=>{const{action:t,type:o,status:n,lifecycle:r,index:s}=e;console.log("๐ Minor Callback:",{action:t,type:o,status:n,lifecycle:r,index:s,hasSteps:N.length,runJoyride:j}),t===a.CLOSE&&(console.log("โ CLOSE ACTION - Clearing joyride"),v&&(A(!0),_(!0),T.forEach((e=>{w(e.id)})),setTimeout((()=>{A(!1)}),500)),E(!1),I(null),M([]))}),[v,T,w]),pe=(t,o)=>{I(t);const n=o||q,r=n.findIndex((e=>e.id===t.id)),a=n.length,s=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,l=[{target:s,content:e.jsx(i,{feature:t,currentIndex:r,totalFeatures:a,onSkip:()=>ce(t),onExplore:()=>ge(t),onPrevious:()=>fe(t),onNext:()=>be(t),setIsClosing:oe}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];console.log("โ
Setting joyride:",{currentIndex:r,totalFeatures:a,hasFeatures:n.length,target:s}),M(l),E(!0)},ce=n((e=>{(e||v)&&(A(!0),_(!0),T.forEach((e=>{w(e.id)})),E(!1),I(null),M([]),setTimeout((()=>{A(!1)}),500))}),[v,T,w]),ge=n((e=>{A(!0),_(!0),w(e.id),e.productVideo&&(K(e.productVideo),G(!0),Y(!0)),E(!1),I(null),M([]),setTimeout((()=>{A(!1)}),500)}),[w]),fe=n((t=>{const o=t||v;if(!o)return;const n=q.findIndex((e=>e.id===o.id));if(n>0){const t=q[n-1];I(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=n-1,a=q.length,s=[{target:o,content:e.jsx(i,{feature:t,currentIndex:r,totalFeatures:a,onSkip:()=>ce(t),onExplore:()=>ge(t),onPrevious:()=>fe(t),onNext:()=>be(t),setIsClosing:oe}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];M(s)}}),[v,q]),be=n((t=>{const o=t||v;if(!o)return;const n=q.findIndex((e=>e.id===o.id));if(n<q.length-1){const t=q[n+1];I(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=n+1,a=q.length,s=[{target:o,content:e.jsx(i,{feature:t,currentIndex:r,totalFeatures:a,onSkip:()=>ce(t),onExplore:()=>ge(t),onPrevious:()=>fe(t),onNext:()=>be(t),setIsClosing:oe}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:t,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];M(s)}else A(!0),_(!0),w(o.id),E(!1),I(null),M([]),setTimeout((()=>{A(!1)}),500)}),[v,q,w]);return e.jsxs(e.Fragment,{children:[c,L.length>0&&e.jsx(r,{steps:L,run:P,continuous:!1,showProgress:!1,showSkipButton:!1,callback:de,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:Z?"transparent":"#212121"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",border:"none"},tooltip:{borderRadius:"16px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}}),N.length>0&&e.jsx(r,{steps:N,run:j,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ue,disableOverlayClose:!0,disableCloseOnEsc:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:te?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:te?"none":"0 0 0 9999px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(255, 255, 255, 0.8), 0 0 20px 8px rgba(255, 255, 255, 0.4)"},tooltip:{borderRadius:"4px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonSkip:{display:"none"},buttonClose:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}}),e.jsx(d,{isOpen:Q,videoUrl:H,onClose:()=>{G(!1),K(""),Y(!1)}})]})};export{p as default};
|