@bikdotai/bik-component-library 0.0.721-beta.24 โ†’ 0.0.721-beta.26

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");require("./constants/animations.js");var n=require("./constants/selectors.js"),a=require("./hooks/useFeatureAnnouncements.js"),r=require("./MajorUpdatePopup.js"),s=require("./MinorUpdatePopup.js"),i=require("./VideoModal.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=l(o);exports.default=l=>{let{children:d,fetchVisibleFeatures:c,getStoreFeatureProgress:p,fetchFeatureById:f,markFeatureAsViewedForStore:g,isFeatureApplicableToCurrentPage:b,module:h,router:x}=l;var m;const{majorUpdateFeatures:y,minorUpdateFeatures:C,isLoading:k,markFeatureAsViewed:S}=a.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),[v,B]=t.useState(!1),[F,I]=t.useState([]),[N,M]=t.useState(!1),[R,P]=t.useState([]),[q,O]=t.useState(!1),[W,L]=t.useState(!1),[A,U]=t.useState([]),[V,_]=t.useState(!1),[$,z]=t.useState(!1),[J,D]=t.useState(!1),[H,Q]=t.useState(""),[G,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:F.length,runJoyride:v})}),[F,v]),t.useEffect((()=>{console.log("๐ŸŽฏ currentMinorFeature changed:",{id:(null==E?void 0:E.id)||"null"})}),[E]),t.useEffect((()=>{if(!(y.length>0)||T||k||q||G)0!==y.length||k||z(!0);else{z(!1),_(!1),B(!1),I([]),j(null),U([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?te(y[0]):setTimeout(e,1e3)};e()}}),[y,T,k,q,G]),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((()=>{var e;if(console.log("๐Ÿ” Main minor effect check:",{minorUpdateFeaturesCount:C.length,isLoading:k,runJoyride:v,isProcessingMinorUpdate:W,currentMinorFeature:(null==E?void 0:E.id)||"null",minorFeaturesSkipped:V,showMinorUpdates:$,blockPopups:G}),C.length>0&&!k&&!v&&!W&&!E&&!V&&$&&!G){let e=null,t=null,o=null,n=!1;const a=()=>{if(n||W||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}v||n||W||E||V||!$||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||W||E||V||!$||a()}),200))})),t=()=>{v||n||W||E||V||!$||(o&&clearTimeout(o),o=setTimeout((()=>{n||W||E||V||!$||a()}),300))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),a(),setTimeout((()=>{n||W||E||V||!$||a()}),100),setTimeout((()=>{n||W||E||V||!$||a()}),1e3),setTimeout((()=>{n||W||E||V||!$||a()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}if(0===C.length||k){(null===(e=null==x?void 0:x.query)||void 0===e?void 0:e.featureId)&&E?console.log("๐Ÿšซ Skipping joyride clear - test mode with active feature"):(console.log("๐Ÿ—‘๏ธ Clearing joyride - no features or loading"),B(!1),I([]),j(null),U([]),_(!1))}}),[C,k,v,W,E,V,$,S,G]);const te=t=>{w(t);const o=y.findIndex((e=>e.id===t.id)),a=y.length,s=[{target:n.SELECTORS.WHATS_NEW_BUTTON,content:e.jsxRuntimeExports.jsx(r.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(s),M(!0)},oe=t.useCallback((e=>{(e||T)&&(O(!0),y.forEach((e=>{S(e.id)})),M(!1),w(null),P([]),z(!0),setTimeout((()=>{O(!1)}),500))}),[T,y,S]),ne=t.useCallback((e=>{O(!0),S(e.id),e.productVideo&&(Q(e.productVideo),D(!0),K(!0)),M(!1),w(null),P([]);y.findIndex((t=>t.id===e.id))===y.length-1&&z(!0),setTimeout((()=>{O(!1)}),500)}),[y,S]),ae=t.useCallback((t=>{const o=t||T;if(!o)return;const n=y.findIndex((e=>e.id===o.id));if(n>0){const t=y[n-1];w(t);const o=n-1,a=y.length,s=[{target:'[data-testid="whats-new-button"]',content:e.jsxRuntimeExports.jsx(r.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(s)}}),[T,y]),re=t.useCallback((t=>{const o=t||T;if(!o)return;const n=y.findIndex((e=>e.id===o.id));if(n<y.length-1){const t=y[n+1];w(t);const o=n+1,a=y.length,s=[{target:'[data-testid="whats-new-button"]',content:e.jsxRuntimeExports.jsx(r.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(s)}else O(!0),S(o.id),M(!1),w(null),P([]),z(!0),setTimeout((()=>{O(!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&&(O(!0),y.forEach((e=>{S(e.id)})),z(!0),setTimeout((()=>{O(!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:F.length,runJoyride:v}),t===o.ACTIONS.CLOSE&&(console.log("โŒ CLOSE ACTION - Clearing joyride"),E&&(L(!0),_(!0),C.forEach((e=>{S(e.id)})),setTimeout((()=>{L(!1)}),500)),B(!1),j(null),I([]))}),[E,C,S]),ue=(t,o)=>{j(t);const n=o||A,a=n.findIndex((e=>e.id===t.id)),r=n.length,i=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,l=[{target:i,content:e.jsxRuntimeExports.jsx(s.default,{feature:t,currentIndex:a,totalFeatures:r,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:a,totalFeatures:r,hasFeatures:n.length,target:i}),I(l),B(!0)},de=t.useCallback((e=>{(e||E)&&(L(!0),_(!0),C.forEach((e=>{S(e.id)})),B(!1),j(null),I([]),setTimeout((()=>{L(!1)}),500))}),[E,C,S]),ce=t.useCallback((e=>{L(!0),_(!0),S(e.id),e.productVideo&&(Q(e.productVideo),D(!0),K(!0)),B(!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}`,a=n-1,r=A.length,i=[{target:o,content:e.jsxRuntimeExports.jsx(s.default,{feature:t,currentIndex:a,totalFeatures:r,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}`,a=n+1,r=A.length,i=[{target:o,content:e.jsxRuntimeExports.jsx(s.default,{feature:t,currentIndex:a,totalFeatures:r,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),B(!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(u.default,{steps:R,run:N,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ie,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:"#007bff",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"}}),F.length>0&&e.jsxRuntimeExports.jsx(u.default,{steps:F,run:v,continuous:!1,showProgress:!1,showSkipButton:!1,callback:le,disableOverlayClose:!0,disableCloseOnEsc:!1,styles:{options:{primaryColor:"#007bff",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(i.VideoModal,{isOpen:J,videoUrl:H,onClose:()=>{D(!1),Q(""),K(!1)}})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("../../node_modules/react/jsx-runtime.js"),o=require("react"),n=require("react-joyride");require("./constants/animations.js");var r=require("./constants/selectors.js"),a=require("./hooks/useFeatureAnnouncements.js"),s=require("./MajorUpdatePopup.js"),i=require("./MinorUpdatePopup.js"),l=require("./VideoModal.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=u(n);exports.default=u=>{let{children:c,fetchVisibleFeatures:p,getStoreFeatureProgress:f,fetchFeatureById:g,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:h,module:m,router:x}=u;var y;const{majorUpdateFeatures:S,minorUpdateFeatures:C,isLoading:k,markFeatureAsViewed:T}=a.useFeatureAnnouncements({fetchVisibleFeatures:p,getStoreFeatureProgress:f,fetchFeatureById:g,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:h,module:m,router:x}),[v,w]=o.useState(null),[j,E]=o.useState(null),[F,B]=o.useState(!1),[I,N]=o.useState([]),[q,P]=o.useState(!1),[M,R]=o.useState([]),[O,_]=o.useState(!1),[W,A]=o.useState(!1),[L,U]=o.useState([]),[V,$]=o.useState(!1),[z,H]=o.useState(!1),[J,Z]=o.useState(!1),[D,Q]=o.useState(""),[G,K]=o.useState(!1),[X,Y]=o.useState(!1),[ee,te]=o.useState(!1);o.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\twill-change: box-shadow, transform;\n\t\t\t\ttransform: translateZ(0);\n\t\t\t}\n\t\t\t.react-joyride__tooltip {\n\t\t\t\twill-change: transform, opacity;\n\t\t\t\ttransform: translateZ(0);\n\t\t\t}\n\t\t",()=>{const t=document.getElementById(e);t&&t.remove()}}),[]),o.useEffect((()=>{console.log("๐Ÿ“‹ joyrideSteps changed:",{length:I.length,runJoyride:F})}),[I,F]),o.useEffect((()=>{console.log("๐ŸŽฏ currentMinorFeature changed:",{id:(null==j?void 0:j.id)||"null"})}),[j]),o.useEffect((()=>{if(!(S.length>0)||v||k||O||G)0!==S.length||k||H(!0);else{H(!1),$(!1),B(!1),N([]),E(null),U([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?oe(S[0]):setTimeout(e,1e3)};e()}}),[S,v,k,O,G]),o.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),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];U(e),de(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)}}),[C,null===(y=null==x?void 0:x.query)||void 0===y?void 0:y.featureId,k]),o.useEffect((()=>{var e;if(console.log("๐Ÿ” Main minor effect check:",{minorUpdateFeaturesCount:C.length,isLoading:k,runJoyride:F,isProcessingMinorUpdate:W,currentMinorFeature:(null==j?void 0:j.id)||"null",minorFeaturesSkipped:V,showMinorUpdates:z,blockPopups:G}),C.length>0&&!k&&!F&&!W&&!j&&!V&&z&&!G){let e=null,t=null,o=null,n=!1;const r=()=>{if(n||W||j||V||!z)return;const r=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)}));r.length>0&&(console.log("๐ŸŽ‰ Found available features:",r.length),U(r),de(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}F||n||W||j||V||!z||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||W||j||V||!z||r()}),200))})),t=()=>{F||n||W||j||V||!z||(o&&clearTimeout(o),requestAnimationFrame((()=>{o=setTimeout((()=>{n||W||j||V||!z||r()}),300)})))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),r(),setTimeout((()=>{n||W||j||V||!z||r()}),100),setTimeout((()=>{n||W||j||V||!z||r()}),1e3),setTimeout((()=>{n||W||j||V||!z||r()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}if(0===C.length||k){(null===(e=null==x?void 0:x.query)||void 0===e?void 0:e.featureId)&&j?console.log("๐Ÿšซ Skipping joyride clear - test mode with active feature"):(console.log("๐Ÿ—‘๏ธ Clearing joyride - no features or loading"),B(!1),N([]),E(null),U([]),$(!1))}}),[C,k,F,W,j,V,z,T,G]);const oe=e=>{w(e);const o=S.findIndex((t=>t.id===e.id)),n=S.length,a=[{target:r.SELECTORS.WHATS_NEW_BUTTON,content:t.jsxRuntimeExports.jsx(s.default,{feature:e,currentIndex:o,totalFeatures:n,onSkip:()=>ne(e),onExplore:()=>re(e),onPrevious:()=>ae(e),onNext:()=>se(e),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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"}}}];R(a),P(!0)},ne=o.useCallback((e=>{(e||v)&&(_(!0),S.forEach((e=>{T(e.id)})),P(!1),w(null),R([]),H(!0),setTimeout((()=>{_(!1)}),500))}),[v,S,T]),re=o.useCallback((e=>{_(!0),T(e.id),e.productVideo&&(Q(e.productVideo),Z(!0),K(!0)),P(!1),w(null),R([]);S.findIndex((t=>t.id===e.id))===S.length-1&&H(!0),setTimeout((()=>{_(!1)}),500)}),[S,T]),ae=o.useCallback((e=>{const o=e||v;if(!o)return;const n=S.findIndex((e=>e.id===o.id));if(n>0){const e=S[n-1];w(e);const o=n-1,r=S.length,a=[{target:'[data-testid="whats-new-button"]',content:t.jsxRuntimeExports.jsx(s.default,{feature:e,currentIndex:o,totalFeatures:r,onSkip:()=>ne(e),onExplore:()=>re(e),onPrevious:()=>ae(e),onNext:()=>se(e),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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"}}}];R(a)}}),[v,S]),se=o.useCallback((e=>{const o=e||v;if(!o)return;const n=S.findIndex((e=>e.id===o.id));if(n<S.length-1){const e=S[n+1];w(e);const o=n+1,r=S.length,a=[{target:'[data-testid="whats-new-button"]',content:t.jsxRuntimeExports.jsx(s.default,{feature:e,currentIndex:o,totalFeatures:r,onSkip:()=>ne(e),onExplore:()=>re(e),onPrevious:()=>ae(e),onNext:()=>se(e),setIsClosing:Y}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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"}}}];R(a)}else _(!0),T(o.id),P(!1),w(null),R([]),H(!0),setTimeout((()=>{_(!1)}),500)}),[v,S,T]),ie=()=>{if(S.length>0&&!v){document.querySelector('[data-testid="whats-new-button"]')&&oe(S[0])}};o.useEffect((()=>(window.showMajorUpdatePopup=ie,()=>{delete window.showMajorUpdatePopup})),[S,v]);const le=o.useCallback((e=>{const{action:t}=e;t===n.ACTIONS.CLOSE&&(v&&(_(!0),S.forEach((e=>{T(e.id)})),H(!0),setTimeout((()=>{_(!1)}),500)),P(!1),w(null),R([]))}),[v,S,T]),ue=o.useCallback((e=>{const{action:t,type:o,status:r,lifecycle:a,index:s}=e;console.log("๐Ÿ”” Minor Callback:",{action:t,type:o,status:r,lifecycle:a,index:s,hasSteps:I.length,runJoyride:F}),t===n.ACTIONS.CLOSE&&(console.log("โŒ CLOSE ACTION - Clearing joyride"),j&&(A(!0),$(!0),C.forEach((e=>{T(e.id)})),setTimeout((()=>{A(!1)}),500)),B(!1),E(null),N([]))}),[j,C,T]),de=(o,n)=>e.__awaiter(void 0,void 0,void 0,(function*(){E(o);const e=n||L,r=e.findIndex((e=>e.id===o.id)),a=e.length,s=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`,l=document.querySelector(s);if(l)try{const{scrollToElementSmooth:e}=yield Promise.resolve().then((function(){return require("./utils/elementHelpers.js")}));yield e(l,120)}catch(e){console.warn("Scroll to element failed:",e)}const u=[{target:s,content:t.jsxRuntimeExports.jsx(i.default,{feature:o,currentIndex:r,totalFeatures:a,onSkip:()=>ce(o),onExplore:()=>pe(o),onPrevious:()=>fe(o),onNext:()=>ge(o),setIsClosing:te}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:o,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:e.length,target:s}),N(u),B(!0)})),ce=o.useCallback((e=>{(e||j)&&(A(!0),$(!0),C.forEach((e=>{T(e.id)})),B(!1),E(null),N([]),setTimeout((()=>{A(!1)}),500))}),[j,C,T]),pe=o.useCallback((e=>{A(!0),$(!0),T(e.id),e.productVideo&&(Q(e.productVideo),Z(!0),K(!0)),B(!1),E(null),N([]),setTimeout((()=>{A(!1)}),500)}),[T]),fe=o.useCallback((o=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=o||j;if(!e)return;const n=L.findIndex((t=>t.id===e.id));if(n>0){const e=L[n-1];E(e);const o=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`,r=document.querySelector(o);if(r)try{const{scrollToElementSmooth:e}=yield Promise.resolve().then((function(){return require("./utils/elementHelpers.js")}));yield e(r,120)}catch(e){console.warn("Scroll to previous element failed:",e)}const a=n-1,s=L.length,l=[{target:o,content:t.jsxRuntimeExports.jsx(i.default,{feature:e,currentIndex:a,totalFeatures:s,onSkip:()=>ce(e),onExplore:()=>pe(e),onPrevious:()=>fe(e),onNext:()=>ge(e),setIsClosing:te}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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"}}}];N(l)}}))),[j,L]),ge=o.useCallback((o=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=o||j;if(!e)return;const n=L.findIndex((t=>t.id===e.id));if(n<L.length-1){const e=L[n+1];E(e);const o=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`,r=document.querySelector(o);if(r)try{const{scrollToElementSmooth:e}=yield Promise.resolve().then((function(){return require("./utils/elementHelpers.js")}));yield e(r,120)}catch(e){console.warn("Scroll to next element failed:",e)}const a=n+1,s=L.length,l=[{target:o,content:t.jsxRuntimeExports.jsx(i.default,{feature:e,currentIndex:a,totalFeatures:s,onSkip:()=>ce(e),onExplore:()=>pe(e),onPrevious:()=>fe(e),onNext:()=>ge(e),setIsClosing:te}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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"}}}];N(l)}else A(!0),$(!0),T(e.id),B(!1),E(null),N([]),setTimeout((()=>{A(!1)}),500)}))),[j,L,T]);return t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[c,M.length>0&&t.jsxRuntimeExports.jsx(d.default,{steps:M,run:q,continuous:!1,showProgress:!1,showSkipButton:!1,callback:le,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:"#007bff",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&&t.jsxRuntimeExports.jsx(d.default,{steps:I,run:F,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ue,disableOverlayClose:!0,disableCloseOnEsc:!1,scrollToFirstStep:!0,scrollOffset:120,disableScrolling:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:ee?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:ee?"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"}}),t.jsxRuntimeExports.jsx(l.VideoModal,{isOpen:J,videoUrl:D,onClose:()=>{Z(!1),Q(""),K(!1)}})]})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),t=require("react"),s=require("./constants/index.js"),n=require("./styles/majorPopup.styles.js");require("../../constants/Theme.js"),require("./constants/animations.js");var r=require("./utils/htmlHelpers.js"),i=require("./utils/animationHelpers.js"),o=require("./utils/elementHelpers.js");exports.default=a=>{let{feature:u,currentIndex:l,totalFeatures:c,onSkip:j,onExplore:x,onPrevious:g,onNext:p,setIsClosing:d}=a;const[E,b]=t.useState(!1),[T,m]=t.useState(!1),[v,y]=t.useState(""),O=t.useRef(null);t.useEffect((()=>{E&&m(!0)}),[E]);const h=e=>{i.hideJoyrideArrow(O.current);const t=o.findWhatsNewButton();if(t&&O.current){const e=i.calculateCloseTransform(O.current,t);y(e)}else y("scale(0)");null==d||d(!0),b(!0),i.executeAfterAnimation(e)},R=n.getMajorPopupStyles(T,v);return e.jsxRuntimeExports.jsxs("div",Object.assign({ref:O,style:R.container},{children:[e.jsxRuntimeExports.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),h(j)},style:R.skipButton.base,onMouseEnter:e=>Object.assign(e.currentTarget.style,R.skipButton.hover),onMouseLeave:e=>Object.assign(e.currentTarget.style,R.skipButton.base)},{children:s.TEXT.SKIP_BUTTON})),e.jsxRuntimeExports.jsx("div",Object.assign({style:R.imageContainer},{children:u.displayImage?e.jsxRuntimeExports.jsx("img",{src:u.displayImage,alt:u.title,style:R.image,onError:e=>{u.image&&(e.target.src=u.image)}}):e.jsxRuntimeExports.jsx("div",Object.assign({style:R.imagePlaceholder},{children:s.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxRuntimeExports.jsxs("div",Object.assign({style:R.contentContainer},{children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("h3",Object.assign({style:R.title},{children:u.title})),e.jsxRuntimeExports.jsx("div",{style:R.content,dangerouslySetInnerHTML:{__html:r.decodeHTMLEntities(u.content||u.body||"")}}),e.jsxRuntimeExports.jsx("button",Object.assign({onClick:()=>{h(x)},style:R.exploreButton.base,onMouseEnter:e=>Object.assign(e.currentTarget.style,R.exploreButton.hover),onMouseLeave:e=>Object.assign(e.currentTarget.style,R.exploreButton.base)},{children:u.buttonText||s.TEXT.DEFAULT_BUTTON_TEXT}))]}),c>1&&e.jsxRuntimeExports.jsxs("div",Object.assign({style:R.navigationContainer},{children:[e.jsxRuntimeExports.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),h(g)},disabled:0===l,style:R.navigationButton(0===l).base,onMouseEnter:e=>{0!==l&&Object.assign(e.currentTarget.style,R.navigationButton(!1).hover)},onMouseLeave:e=>{0!==l&&Object.assign(e.currentTarget.style,R.navigationButton(!1).base)}},{children:s.TEXT.NAVIGATION_PREVIOUS})),e.jsxRuntimeExports.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),h(p)},disabled:l===c-1,style:R.navigationButton(l===c-1).base,onMouseEnter:e=>{l!==c-1&&Object.assign(e.currentTarget.style,R.navigationButton(!1).hover)},onMouseLeave:e=>{l!==c-1&&Object.assign(e.currentTarget.style,R.navigationButton(l===c-1).base)}},{children:s.TEXT.NAVIGATION_NEXT}))]}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),t=require("react"),s=require("./constants/index.js"),n=require("./styles/majorPopup.styles.js");require("../../constants/Theme.js"),require("./constants/animations.js");var r=require("./utils/htmlHelpers.js"),o=require("./utils/animationHelpers.js"),i=require("./utils/elementHelpers.js");exports.default=a=>{let{feature:u,currentIndex:l,totalFeatures:c,onSkip:j,onExplore:x,onPrevious:g,onNext:d,setIsClosing:p}=a;const[E,b]=t.useState(!1),[T,m]=t.useState(!1),[y,v]=t.useState(""),O=t.useRef(null);t.useEffect((()=>{E&&m(!0)}),[E]);const h=n.getMajorPopupStyles(T,y);return e.jsxRuntimeExports.jsxs("div",Object.assign({ref:O,style:h.container},{children:[e.jsxRuntimeExports.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),(e=>{o.hideJoyrideArrow(O.current);const t=i.findWhatsNewButton();if(t&&O.current){const e=o.calculateCloseTransform(O.current,t);v(e)}else v("scale(0)");null==p||p(!0),b(!0),o.executeAfterAnimation(e)})(j)},style:h.skipButton.base,onMouseEnter:e=>Object.assign(e.currentTarget.style,h.skipButton.hover),onMouseLeave:e=>Object.assign(e.currentTarget.style,h.skipButton.base)},{children:s.TEXT.SKIP_BUTTON})),e.jsxRuntimeExports.jsx("div",Object.assign({style:h.imageContainer},{children:u.displayImage?e.jsxRuntimeExports.jsx("img",{src:u.displayImage,alt:u.title,style:h.image,onError:e=>{u.image&&(e.target.src=u.image)}}):e.jsxRuntimeExports.jsx("div",Object.assign({style:h.imagePlaceholder},{children:s.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxRuntimeExports.jsxs("div",Object.assign({style:h.contentContainer},{children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("h3",Object.assign({style:h.title},{children:u.title})),e.jsxRuntimeExports.jsx("div",{style:h.content,dangerouslySetInnerHTML:{__html:r.decodeHTMLEntities(u.content||u.body||"")}}),e.jsxRuntimeExports.jsx("button",Object.assign({onClick:()=>{x(),o.hideJoyrideArrow(O.current);const e=i.findWhatsNewButton();if(e&&O.current){const t=o.calculateCloseTransform(O.current,e);v(t)}else v("scale(0)");null==p||p(!0),b(!0)},style:h.exploreButton.base,onMouseEnter:e=>Object.assign(e.currentTarget.style,h.exploreButton.hover),onMouseLeave:e=>Object.assign(e.currentTarget.style,h.exploreButton.base)},{children:u.buttonText||s.TEXT.DEFAULT_BUTTON_TEXT}))]}),c>1&&e.jsxRuntimeExports.jsxs("div",Object.assign({style:h.navigationContainer},{children:[e.jsxRuntimeExports.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),g()},disabled:0===l,style:h.navigationButton(0===l).base,onMouseEnter:e=>{0!==l&&Object.assign(e.currentTarget.style,h.navigationButton(!1).hover)},onMouseLeave:e=>{0!==l&&Object.assign(e.currentTarget.style,h.navigationButton(!1).base)}},{children:s.TEXT.NAVIGATION_PREVIOUS})),e.jsxRuntimeExports.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),d()},disabled:l===c-1,style:h.navigationButton(l===c-1).base,onMouseEnter:e=>{l!==c-1&&Object.assign(e.currentTarget.style,h.navigationButton(!1).hover)},onMouseLeave:e=>{l!==c-1&&Object.assign(e.currentTarget.style,h.navigationButton(l===c-1).base)}},{children:s.TEXT.NAVIGATION_NEXT}))]}))]}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),s=require("react"),t=require("./constants/index.js");require("../../constants/Theme.js"),require("./constants/animations.js");var n=require("./styles/minorPopup.styles.js"),r=require("./utils/htmlHelpers.js"),i=require("./utils/animationHelpers.js"),o=require("./utils/elementHelpers.js");exports.default=l=>{let{feature:a,currentIndex:u,totalFeatures:c,onSkip:x,onExplore:j,onPrevious:d,onNext:E,setIsClosing:m}=l;const[p,g]=s.useState(!1),[T,y]=s.useState(!1),[R,h]=s.useState(""),b=s.useRef(null);s.useEffect((()=>{p&&y(!0)}),[p]);const O=e=>{if(i.hideJoyrideArrow(b.current),b.current&&a.featureTag){const e=o.findFeatureTagElement(a.featureTag);if(e){const s=i.calculateCloseTransform(b.current,e);h(s)}else h("scale(0)")}else h("scale(0)");null==m||m(!0),g(!0),i.executeAfterAnimation(e)},f=n.getMinorPopupStyles(T,R);return e.jsxRuntimeExports.jsxs("div",Object.assign({ref:b,style:f.container},{children:[e.jsxRuntimeExports.jsx("div",Object.assign({style:f.imageContainer},{children:a.displayImage?e.jsxRuntimeExports.jsxs("div",Object.assign({style:f.imageWrapper},{children:[e.jsxRuntimeExports.jsx("img",{src:a.displayImage,alt:a.title,style:f.image,onError:e=>{a.image&&(e.target.src=a.image)}}),e.jsxRuntimeExports.jsx("div",Object.assign({style:f.badge},{children:e.jsxRuntimeExports.jsx("span",Object.assign({style:f.badgeText},{children:t.TEXT.NEW_FEATURE_BADGE}))}))]})):e.jsxRuntimeExports.jsx("div",Object.assign({style:f.imagePlaceholder},{children:t.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxRuntimeExports.jsxs("div",Object.assign({style:f.contentContainer},{children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("h3",Object.assign({style:f.title},{children:a.title})),e.jsxRuntimeExports.jsx("div",{style:f.content,dangerouslySetInnerHTML:{__html:r.decodeHTMLEntities(a.content||a.body||"")}})]}),e.jsxRuntimeExports.jsxs("div",Object.assign({style:f.actionsContainer},{children:[e.jsxRuntimeExports.jsx("span",Object.assign({onClick:()=>{O(x)},style:f.understoodText},{children:t.TEXT.UNDERSTOOD})),a.productVideo&&e.jsxRuntimeExports.jsx("button",Object.assign({onClick:()=>{O(j)},style:f.exploreButton},{children:a.buttonText||t.TEXT.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),t=require("react"),s=require("./constants/index.js");require("../../constants/Theme.js"),require("./constants/animations.js");var r=require("./styles/minorPopup.styles.js"),n=require("./utils/htmlHelpers.js"),i=require("./utils/animationHelpers.js"),a=require("./utils/elementHelpers.js");exports.default=l=>{let{feature:o,currentIndex:u,totalFeatures:c,onSkip:x,onExplore:j,onPrevious:d,onNext:m,setIsClosing:E}=l;const[g,p]=t.useState(!1),[T,y]=t.useState(!1),[f,h]=t.useState(""),R=t.useRef(null);t.useEffect((()=>{g&&y(!0)}),[g]);const b=r.getMinorPopupStyles(T,f);return e.jsxRuntimeExports.jsxs("div",Object.assign({ref:R,style:b.container},{children:[e.jsxRuntimeExports.jsx("div",Object.assign({style:b.imageContainer},{children:o.displayImage?e.jsxRuntimeExports.jsxs("div",Object.assign({style:b.imageWrapper},{children:[e.jsxRuntimeExports.jsx("img",{src:o.displayImage,alt:o.title,style:b.image,onError:e=>{o.image&&(e.target.src=o.image)}}),e.jsxRuntimeExports.jsx("div",Object.assign({style:b.badge},{children:e.jsxRuntimeExports.jsx("span",Object.assign({style:b.badgeText},{children:s.TEXT.NEW_FEATURE_BADGE}))}))]})):e.jsxRuntimeExports.jsx("div",Object.assign({style:b.imagePlaceholder},{children:s.TEXT.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxRuntimeExports.jsxs("div",Object.assign({style:b.contentContainer},{children:[e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("h3",Object.assign({style:b.title},{children:o.title})),e.jsxRuntimeExports.jsx("div",{style:b.content,dangerouslySetInnerHTML:{__html:n.decodeHTMLEntities(o.content||o.body||"")}})]}),e.jsxRuntimeExports.jsxs("div",Object.assign({style:b.actionsContainer},{children:[e.jsxRuntimeExports.jsx("span",Object.assign({onClick:()=>{(e=>{if(i.hideJoyrideArrow(R.current),R.current&&o.featureTag){const e=a.findFeatureTagElement(o.featureTag);if(e){const t=i.calculateCloseTransform(R.current,e);h(t)}else h("scale(0)")}else h("scale(0)");null==E||E(!0),p(!0),i.executeAfterAnimation(e)})(x)},style:b.understoodText},{children:s.TEXT.UNDERSTOOD})),o.productVideo&&e.jsxRuntimeExports.jsx("button",Object.assign({onClick:()=>{if(j(),i.hideJoyrideArrow(R.current),R.current&&o.featureTag){const e=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`,t=document.querySelector(e);if(t){const e=i.calculateCloseTransform(R.current,t);h(e)}else h("scale(0)")}else h("scale(0)");null==E||E(!0),p(!0)},style:b.exploreButton},{children:o.buttonText||s.TEXT.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};
@@ -15,3 +15,16 @@ export declare const findFeatureTagElement: (featureTag: string) => Element | nu
15
15
  * @returns Normalized selector
16
16
  */
17
17
  export declare const normalizeSelector: (selector: string) => string;
18
+ /**
19
+ * Check if element is fully visible in viewport
20
+ * @param element - Element to check
21
+ * @returns True if element is fully visible
22
+ */
23
+ export declare const isElementInViewport: (element: Element) => boolean;
24
+ /**
25
+ * Scroll to element smoothly with offset
26
+ * @param element - Element to scroll to
27
+ * @param offset - Offset from top (default 120px for popup space)
28
+ * @returns Promise that resolves when scroll completes
29
+ */
30
+ export declare const scrollToElementSmooth: (element: Element, offset?: number) => Promise<void>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("../constants/animations.js");var e=require("../constants/selectors.js");exports.findFeatureTagElement=e=>{const t=e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?e:`#${e}`;return document.querySelector(t)},exports.findWhatsNewButton=()=>{let t=document.querySelector(e.SELECTORS.WHATS_NEW_BUTTON);if(t)return t;if(t=document.querySelector(e.SELECTORS.MAIN_ICON_CLASS),t)return t;const r=document.querySelector(e.SELECTORS.SVG_VIEWBOX);if(r){if(r.querySelector(e.SELECTORS.CLIPPATH_PATTERN))return r.closest(e.SELECTORS.WHATS_NEW_BUTTON)||r.parentElement}return null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("../constants/animations.js");var e=require("../constants/selectors.js");const t=e=>{const t=e.getBoundingClientRect(),o=window.innerHeight||document.documentElement.clientHeight,n=window.innerWidth||document.documentElement.clientWidth,r=t.top>=120&&t.bottom<=o,s=t.left>=0&&t.right<=n;return r&&s};exports.findFeatureTagElement=e=>{const t=e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?e:`#${e}`;return document.querySelector(t)},exports.findWhatsNewButton=()=>{let t=document.querySelector(e.SELECTORS.WHATS_NEW_BUTTON);if(t)return t;if(t=document.querySelector(e.SELECTORS.MAIN_ICON_CLASS),t)return t;const o=document.querySelector(e.SELECTORS.SVG_VIEWBOX);if(o){if(o.querySelector(e.SELECTORS.CLIPPATH_PATTERN))return o.closest(e.SELECTORS.WHATS_NEW_BUTTON)||o.parentElement}return null},exports.isElementInViewport=t,exports.normalizeSelector=e=>e.startsWith("#")||e.startsWith(".")||e.startsWith("[")?e:`#${e}`,exports.scrollToElementSmooth=function(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:120;return new Promise((n=>{if(t(e))return void n();const r=e.getBoundingClientRect().top+window.pageYOffset-o;let s;window.scrollTo({top:r,behavior:"smooth"});const i=()=>{clearTimeout(s),s=setTimeout((()=>{window.removeEventListener("scroll",i),setTimeout((()=>n()),100)}),100)};window.addEventListener("scroll",i,{passive:!0}),setTimeout((()=>{window.removeEventListener("scroll",i),n()}),1e3)}))};
@@ -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 r,{ACTIONS as a}from"react-joyride";import"./constants/animations.js";import{SELECTORS as s}from"./constants/selectors.js";import{useFeatureAnnouncements as i}from"./hooks/useFeatureAnnouncements.js";import l from"./MajorUpdatePopup.js";import d from"./MinorUpdatePopup.js";import{VideoModal as u}from"./VideoModal.js";const 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}=i({fetchVisibleFeatures:g,getStoreFeatureProgress:f,fetchFeatureById:b,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:m,module:x,router:y}),[v,B]=t(null),[F,I]=t(null),[j,E]=t(!1),[N,M]=t([]),[P,W]=t(!1),[O,L]=t([]),[U,V]=t(!1),[A,R]=t(!1),[q,$]=t([]),[_,z]=t(!1),[J,D]=t(!1),[H,Q]=t(!1),[G,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==F?void 0:F.id)||"null"})}),[F]),o((()=>{if(!(k.length>0)||v||S||U||X)0!==k.length||S||D(!0);else{D(!1),z(!1),E(!1),M([]),I(null),$([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?ne(k[0]):setTimeout(e,1e3)};e()}}),[k,v,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;z(!0),R(!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}`),R(!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((()=>{var e;if(console.log("๐Ÿ” Main minor effect check:",{minorUpdateFeaturesCount:T.length,isLoading:S,runJoyride:j,isProcessingMinorUpdate:A,currentMinorFeature:(null==F?void 0:F.id)||"null",minorFeaturesSkipped:_,showMinorUpdates:J,blockPopups:X}),T.length>0&&!S&&!j&&!A&&!F&&!_&&J&&!X){let e=null,t=null,o=null,n=!1;const r=()=>{if(n||A||F||_||!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||A||F||_||!J||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||A||F||_||!J||r()}),200))})),t=()=>{j||n||A||F||_||!J||(o&&clearTimeout(o),o=setTimeout((()=>{n||A||F||_||!J||r()}),300))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),r(),setTimeout((()=>{n||A||F||_||!J||r()}),100),setTimeout((()=>{n||A||F||_||!J||r()}),1e3),setTimeout((()=>{n||A||F||_||!J||r()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}if(0===T.length||S){(null===(e=null==y?void 0:y.query)||void 0===e?void 0:e.featureId)&&F?console.log("๐Ÿšซ Skipping joyride clear - test mode with active feature"):(console.log("๐Ÿ—‘๏ธ Clearing joyride - no features or loading"),E(!1),M([]),I(null),$([]),z(!1))}}),[T,S,j,A,F,_,J,w,X]);const ne=t=>{B(t);const o=k.findIndex((e=>e.id===t.id)),n=k.length,r=[{target:s.WHATS_NEW_BUTTON,content:e.jsx(l,{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"}}}];L(r),W(!0)},re=n((e=>{(e||v)&&(V(!0),k.forEach((e=>{w(e.id)})),W(!1),B(null),L([]),D(!0),setTimeout((()=>{V(!1)}),500))}),[v,k,w]),ae=n((e=>{V(!0),w(e.id),e.productVideo&&(K(e.productVideo),Q(!0),Y(!0)),W(!1),B(null),L([]);k.findIndex((t=>t.id===e.id))===k.length-1&&D(!0),setTimeout((()=>{V(!1)}),500)}),[k,w]),se=n((t=>{const o=t||v;if(!o)return;const n=k.findIndex((e=>e.id===o.id));if(n>0){const t=k[n-1];B(t);const o=n-1,r=k.length,a=[{target:'[data-testid="whats-new-button"]',content:e.jsx(l,{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"}}}];L(a)}}),[v,k]),ie=n((t=>{const o=t||v;if(!o)return;const n=k.findIndex((e=>e.id===o.id));if(n<k.length-1){const t=k[n+1];B(t);const o=n+1,r=k.length,a=[{target:'[data-testid="whats-new-button"]',content:e.jsx(l,{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"}}}];L(a)}else V(!0),w(o.id),W(!1),B(null),L([]),D(!0),setTimeout((()=>{V(!1)}),500)}),[v,k,w]),le=()=>{if(k.length>0&&!v){document.querySelector('[data-testid="whats-new-button"]')&&ne(k[0])}};o((()=>(window.showMajorUpdatePopup=le,()=>{delete window.showMajorUpdatePopup})),[k,v]);const de=n((e=>{const{action:t}=e;t===a.CLOSE&&(v&&(V(!0),k.forEach((e=>{w(e.id)})),D(!0),setTimeout((()=>{V(!1)}),500)),W(!1),B(null),L([]))}),[v,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"),F&&(R(!0),z(!0),T.forEach((e=>{w(e.id)})),setTimeout((()=>{R(!1)}),500)),E(!1),I(null),M([]))}),[F,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}`,i=[{target:s,content:e.jsx(d,{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(i),E(!0)},ce=n((e=>{(e||F)&&(R(!0),z(!0),T.forEach((e=>{w(e.id)})),E(!1),I(null),M([]),setTimeout((()=>{R(!1)}),500))}),[F,T,w]),ge=n((e=>{R(!0),z(!0),w(e.id),e.productVideo&&(K(e.productVideo),Q(!0),Y(!0)),E(!1),I(null),M([]),setTimeout((()=>{R(!1)}),500)}),[w]),fe=n((t=>{const o=t||F;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(d,{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)}}),[F,q]),be=n((t=>{const o=t||F;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(d,{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 R(!0),z(!0),w(o.id),E(!1),I(null),M([]),setTimeout((()=>{R(!1)}),500)}),[F,q,w]);return e.jsxs(e.Fragment,{children:[c,O.length>0&&e.jsx(r,{steps:O,run:P,continuous:!1,showProgress:!1,showSkipButton:!1,callback:de,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:"#007bff",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:"#007bff",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(u,{isOpen:H,videoUrl:G,onClose:()=>{Q(!1),K(""),Y(!1)}})]})};export{p as default};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{j as t}from"../../node_modules/react/jsx-runtime.js";import{useState as o,useEffect as n,useCallback as r}from"react";import a,{ACTIONS as i}from"react-joyride";import"./constants/animations.js";import{SELECTORS as s}from"./constants/selectors.js";import{useFeatureAnnouncements as l}from"./hooks/useFeatureAnnouncements.js";import d from"./MajorUpdatePopup.js";import u from"./MinorUpdatePopup.js";import{VideoModal as c}from"./VideoModal.js";const p=p=>{let{children:f,fetchVisibleFeatures:g,getStoreFeatureProgress:m,fetchFeatureById:b,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:y,module:x,router:C}=p;var k;const{majorUpdateFeatures:S,minorUpdateFeatures:T,isLoading:w,markFeatureAsViewed:v}=l({fetchVisibleFeatures:g,getStoreFeatureProgress:m,fetchFeatureById:b,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:y,module:x,router:C}),[B,F]=o(null),[j,I]=o(null),[E,N]=o(!1),[M,P]=o([]),[W,O]=o(!1),[q,L]=o([]),[U,A]=o(!1),[V,_]=o(!1),[R,$]=o([]),[z,H]=o(!1),[J,Z]=o(!1),[D,Q]=o(!1),[G,K]=o(""),[X,Y]=o(!1),[ee,te]=o(!1),[oe,ne]=o(!1);n((()=>{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\twill-change: box-shadow, transform;\n\t\t\t\ttransform: translateZ(0);\n\t\t\t}\n\t\t\t.react-joyride__tooltip {\n\t\t\t\twill-change: transform, opacity;\n\t\t\t\ttransform: translateZ(0);\n\t\t\t}\n\t\t",()=>{const t=document.getElementById(e);t&&t.remove()}}),[]),n((()=>{console.log("๐Ÿ“‹ joyrideSteps changed:",{length:M.length,runJoyride:E})}),[M,E]),n((()=>{console.log("๐ŸŽฏ currentMinorFeature changed:",{id:(null==j?void 0:j.id)||"null"})}),[j]),n((()=>{if(!(S.length>0)||B||w||U||X)0!==S.length||w||Z(!0);else{Z(!1),H(!1),N(!1),P([]),I(null),$([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?re(S[0]):setTimeout(e,1e3)};e()}}),[S,B,w,U,X]),n((()=>{var e;const t=null===(e=null==C?void 0:C.query)||void 0===e?void 0:e.featureId;if(console.log("๐Ÿงช Test mode effect triggered:",{featureIdFromQuery:t,isLoading:w,minorUpdateFeaturesCount:T.length}),!t||w||0===T.length)return;const o=T.find((e=>e.id===t));if(!o||!o.featureTag)return;H(!0),_(!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}`),_(!1),clearInterval(r))}),200);return()=>{clearInterval(r)}}),[T,null===(k=null==C?void 0:C.query)||void 0===k?void 0:k.featureId,w]),n((()=>{var e;if(console.log("๐Ÿ” Main minor effect check:",{minorUpdateFeaturesCount:T.length,isLoading:w,runJoyride:E,isProcessingMinorUpdate:V,currentMinorFeature:(null==j?void 0:j.id)||"null",minorFeaturesSkipped:z,showMinorUpdates:J,blockPopups:X}),T.length>0&&!w&&!E&&!V&&!j&&!z&&J&&!X){let e=null,t=null,o=null,n=!1;const r=()=>{if(n||V||j||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}E||n||V||j||z||!J||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||V||j||z||!J||r()}),200))})),t=()=>{E||n||V||j||z||!J||(o&&clearTimeout(o),requestAnimationFrame((()=>{o=setTimeout((()=>{n||V||j||z||!J||r()}),300)})))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),r(),setTimeout((()=>{n||V||j||z||!J||r()}),100),setTimeout((()=>{n||V||j||z||!J||r()}),1e3),setTimeout((()=>{n||V||j||z||!J||r()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}if(0===T.length||w){(null===(e=null==C?void 0:C.query)||void 0===e?void 0:e.featureId)&&j?console.log("๐Ÿšซ Skipping joyride clear - test mode with active feature"):(console.log("๐Ÿ—‘๏ธ Clearing joyride - no features or loading"),N(!1),P([]),I(null),$([]),H(!1))}}),[T,w,E,V,j,z,J,v,X]);const re=e=>{F(e);const o=S.findIndex((t=>t.id===e.id)),n=S.length,r=[{target:s.WHATS_NEW_BUTTON,content:t.jsx(d,{feature:e,currentIndex:o,totalFeatures:n,onSkip:()=>ae(e),onExplore:()=>ie(e),onPrevious:()=>se(e),onNext:()=>le(e),setIsClosing:te}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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),O(!0)},ae=r((e=>{(e||B)&&(A(!0),S.forEach((e=>{v(e.id)})),O(!1),F(null),L([]),Z(!0),setTimeout((()=>{A(!1)}),500))}),[B,S,v]),ie=r((e=>{A(!0),v(e.id),e.productVideo&&(K(e.productVideo),Q(!0),Y(!0)),O(!1),F(null),L([]);S.findIndex((t=>t.id===e.id))===S.length-1&&Z(!0),setTimeout((()=>{A(!1)}),500)}),[S,v]),se=r((e=>{const o=e||B;if(!o)return;const n=S.findIndex((e=>e.id===o.id));if(n>0){const e=S[n-1];F(e);const o=n-1,r=S.length,a=[{target:'[data-testid="whats-new-button"]',content:t.jsx(d,{feature:e,currentIndex:o,totalFeatures:r,onSkip:()=>ae(e),onExplore:()=>ie(e),onPrevious:()=>se(e),onNext:()=>le(e),setIsClosing:te}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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)}}),[B,S]),le=r((e=>{const o=e||B;if(!o)return;const n=S.findIndex((e=>e.id===o.id));if(n<S.length-1){const e=S[n+1];F(e);const o=n+1,r=S.length,a=[{target:'[data-testid="whats-new-button"]',content:t.jsx(d,{feature:e,currentIndex:o,totalFeatures:r,onSkip:()=>ae(e),onExplore:()=>ie(e),onPrevious:()=>se(e),onNext:()=>le(e),setIsClosing:te}),placement:"bottom-start",placementBeacon:"top-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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)}else A(!0),v(o.id),O(!1),F(null),L([]),Z(!0),setTimeout((()=>{A(!1)}),500)}),[B,S,v]),de=()=>{if(S.length>0&&!B){document.querySelector('[data-testid="whats-new-button"]')&&re(S[0])}};n((()=>(window.showMajorUpdatePopup=de,()=>{delete window.showMajorUpdatePopup})),[S,B]);const ue=r((e=>{const{action:t}=e;t===i.CLOSE&&(B&&(A(!0),S.forEach((e=>{v(e.id)})),Z(!0),setTimeout((()=>{A(!1)}),500)),O(!1),F(null),L([]))}),[B,S,v]),ce=r((e=>{const{action:t,type:o,status:n,lifecycle:r,index:a}=e;console.log("๐Ÿ”” Minor Callback:",{action:t,type:o,status:n,lifecycle:r,index:a,hasSteps:M.length,runJoyride:E}),t===i.CLOSE&&(console.log("โŒ CLOSE ACTION - Clearing joyride"),j&&(_(!0),H(!0),T.forEach((e=>{v(e.id)})),setTimeout((()=>{_(!1)}),500)),N(!1),I(null),P([]))}),[j,T,v]),pe=(o,n)=>e(void 0,void 0,void 0,(function*(){I(o);const e=n||R,r=e.findIndex((e=>e.id===o.id)),a=e.length,i=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`,s=document.querySelector(i);if(s)try{const{scrollToElementSmooth:e}=yield import("./utils/elementHelpers.js");yield e(s,120)}catch(e){console.warn("Scroll to element failed:",e)}const l=[{target:i,content:t.jsx(u,{feature:o,currentIndex:r,totalFeatures:a,onSkip:()=>fe(o),onExplore:()=>ge(o),onPrevious:()=>me(o),onNext:()=>be(o),setIsClosing:ne}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:o,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:e.length,target:i}),P(l),N(!0)})),fe=r((e=>{(e||j)&&(_(!0),H(!0),T.forEach((e=>{v(e.id)})),N(!1),I(null),P([]),setTimeout((()=>{_(!1)}),500))}),[j,T,v]),ge=r((e=>{_(!0),H(!0),v(e.id),e.productVideo&&(K(e.productVideo),Q(!0),Y(!0)),N(!1),I(null),P([]),setTimeout((()=>{_(!1)}),500)}),[v]),me=r((o=>e(void 0,void 0,void 0,(function*(){const e=o||j;if(!e)return;const n=R.findIndex((t=>t.id===e.id));if(n>0){const e=R[n-1];I(e);const o=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`,r=document.querySelector(o);if(r)try{const{scrollToElementSmooth:e}=yield import("./utils/elementHelpers.js");yield e(r,120)}catch(e){console.warn("Scroll to previous element failed:",e)}const a=n-1,i=R.length,s=[{target:o,content:t.jsx(u,{feature:e,currentIndex:a,totalFeatures:i,onSkip:()=>fe(e),onExplore:()=>ge(e),onPrevious:()=>me(e),onNext:()=>be(e),setIsClosing:ne}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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"}}}];P(s)}}))),[j,R]),be=r((o=>e(void 0,void 0,void 0,(function*(){const e=o||j;if(!e)return;const n=R.findIndex((t=>t.id===e.id));if(n<R.length-1){const e=R[n+1];I(e);const o=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`,r=document.querySelector(o);if(r)try{const{scrollToElementSmooth:e}=yield import("./utils/elementHelpers.js");yield e(r,120)}catch(e){console.warn("Scroll to next element failed:",e)}const a=n+1,i=R.length,s=[{target:o,content:t.jsx(u,{feature:e,currentIndex:a,totalFeatures:i,onSkip:()=>fe(e),onExplore:()=>ge(e),onPrevious:()=>me(e),onNext:()=>be(e),setIsClosing:ne}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,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"}}}];P(s)}else _(!0),H(!0),v(e.id),N(!1),I(null),P([]),setTimeout((()=>{_(!1)}),500)}))),[j,R,v]);return t.jsxs(t.Fragment,{children:[f,q.length>0&&t.jsx(a,{steps:q,run:W,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ue,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:ee?"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"}}),M.length>0&&t.jsx(a,{steps:M,run:E,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ce,disableOverlayClose:!0,disableCloseOnEsc:!1,scrollToFirstStep:!0,scrollOffset:120,disableScrolling:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:oe?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:oe?"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"}}),t.jsx(c,{isOpen:D,videoUrl:G,onClose:()=>{Q(!1),K(""),Y(!1)}})]})};export{p as default};
@@ -1 +1 @@
1
- import{j as t}from"../../node_modules/react/jsx-runtime.js";import{useState as e,useRef as s,useEffect as n}from"react";import{TEXT as o}from"./constants/index.js";import{getMajorPopupStyles as r}from"./styles/majorPopup.styles.js";import"../../constants/Theme.js";import"./constants/animations.js";import{decodeHTMLEntities as i}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as a,calculateCloseTransform as l,executeAfterAnimation as c}from"./utils/animationHelpers.js";import{findWhatsNewButton as u}from"./utils/elementHelpers.js";const g=g=>{let{feature:j,currentIndex:b,totalFeatures:p,onSkip:m,onExplore:d,onPrevious:v,onNext:y,setIsClosing:O}=g;const[x,T]=e(!1),[h,E]=e(!1),[f,B]=e(""),I=s(null);n((()=>{x&&E(!0)}),[x]);const P=t=>{a(I.current);const e=u();if(e&&I.current){const t=l(I.current,e);B(t)}else B("scale(0)");null==O||O(!0),T(!0),c(t)},_=r(h,f);return t.jsxs("div",Object.assign({ref:I,style:_.container},{children:[t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),P(m)},style:_.skipButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,_.skipButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,_.skipButton.base)},{children:o.SKIP_BUTTON})),t.jsx("div",Object.assign({style:_.imageContainer},{children:j.displayImage?t.jsx("img",{src:j.displayImage,alt:j.title,style:_.image,onError:t=>{j.image&&(t.target.src=j.image)}}):t.jsx("div",Object.assign({style:_.imagePlaceholder},{children:o.FEATURE_PREVIEW_PLACEHOLDER}))})),t.jsxs("div",Object.assign({style:_.contentContainer},{children:[t.jsxs("div",{children:[t.jsx("h3",Object.assign({style:_.title},{children:j.title})),t.jsx("div",{style:_.content,dangerouslySetInnerHTML:{__html:i(j.content||j.body||"")}}),t.jsx("button",Object.assign({onClick:()=>{P(d)},style:_.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,_.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,_.exploreButton.base)},{children:j.buttonText||o.DEFAULT_BUTTON_TEXT}))]}),p>1&&t.jsxs("div",Object.assign({style:_.navigationContainer},{children:[t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),P(v)},disabled:0===b,style:_.navigationButton(0===b).base,onMouseEnter:t=>{0!==b&&Object.assign(t.currentTarget.style,_.navigationButton(!1).hover)},onMouseLeave:t=>{0!==b&&Object.assign(t.currentTarget.style,_.navigationButton(!1).base)}},{children:o.NAVIGATION_PREVIOUS})),t.jsx("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),P(y)},disabled:b===p-1,style:_.navigationButton(b===p-1).base,onMouseEnter:t=>{b!==p-1&&Object.assign(t.currentTarget.style,_.navigationButton(!1).hover)},onMouseLeave:t=>{b!==p-1&&Object.assign(t.currentTarget.style,_.navigationButton(b===p-1).base)}},{children:o.NAVIGATION_NEXT}))]}))]}))]}))};export{g as default};
1
+ import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useRef as s,useEffect as n}from"react";import{TEXT as o}from"./constants/index.js";import{getMajorPopupStyles as r}from"./styles/majorPopup.styles.js";import"../../constants/Theme.js";import"./constants/animations.js";import{decodeHTMLEntities as i}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as a,calculateCloseTransform as l,executeAfterAnimation as c}from"./utils/animationHelpers.js";import{findWhatsNewButton as u}from"./utils/elementHelpers.js";const g=g=>{let{feature:j,currentIndex:b,totalFeatures:p,onSkip:m,onExplore:d,onPrevious:v,onNext:y,setIsClosing:O}=g;const[x,T]=t(!1),[h,E]=t(!1),[f,B]=t(""),I=s(null);n((()=>{x&&E(!0)}),[x]);const P=r(h,f);return e.jsxs("div",Object.assign({ref:I,style:P.container},{children:[e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),(e=>{a(I.current);const t=u();if(t&&I.current){const e=l(I.current,t);B(e)}else B("scale(0)");null==O||O(!0),T(!0),c(e)})(m)},style:P.skipButton.base,onMouseEnter:e=>Object.assign(e.currentTarget.style,P.skipButton.hover),onMouseLeave:e=>Object.assign(e.currentTarget.style,P.skipButton.base)},{children:o.SKIP_BUTTON})),e.jsx("div",Object.assign({style:P.imageContainer},{children:j.displayImage?e.jsx("img",{src:j.displayImage,alt:j.title,style:P.image,onError:e=>{j.image&&(e.target.src=j.image)}}):e.jsx("div",Object.assign({style:P.imagePlaceholder},{children:o.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:P.contentContainer},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:P.title},{children:j.title})),e.jsx("div",{style:P.content,dangerouslySetInnerHTML:{__html:i(j.content||j.body||"")}}),e.jsx("button",Object.assign({onClick:()=>{d(),a(I.current);const e=u();if(e&&I.current){const t=l(I.current,e);B(t)}else B("scale(0)");null==O||O(!0),T(!0)},style:P.exploreButton.base,onMouseEnter:e=>Object.assign(e.currentTarget.style,P.exploreButton.hover),onMouseLeave:e=>Object.assign(e.currentTarget.style,P.exploreButton.base)},{children:j.buttonText||o.DEFAULT_BUTTON_TEXT}))]}),p>1&&e.jsxs("div",Object.assign({style:P.navigationContainer},{children:[e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),v()},disabled:0===b,style:P.navigationButton(0===b).base,onMouseEnter:e=>{0!==b&&Object.assign(e.currentTarget.style,P.navigationButton(!1).hover)},onMouseLeave:e=>{0!==b&&Object.assign(e.currentTarget.style,P.navigationButton(!1).base)}},{children:o.NAVIGATION_PREVIOUS})),e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),y()},disabled:b===p-1,style:P.navigationButton(b===p-1).base,onMouseEnter:e=>{b!==p-1&&Object.assign(e.currentTarget.style,P.navigationButton(!1).hover)},onMouseLeave:e=>{b!==p-1&&Object.assign(e.currentTarget.style,P.navigationButton(b===p-1).base)}},{children:o.NAVIGATION_NEXT}))]}))]}))]}))};export{g as default};
@@ -1 +1 @@
1
- import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as s,useRef as t,useEffect as n}from"react";import{TEXT as i}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{getMinorPopupStyles as r}from"./styles/minorPopup.styles.js";import{decodeHTMLEntities as l}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as o,calculateCloseTransform as a,executeAfterAnimation as c}from"./utils/animationHelpers.js";import{findFeatureTagElement as d}from"./utils/elementHelpers.js";const j=j=>{let{feature:m,currentIndex:g,totalFeatures:p,onSkip:u,onExplore:x,onPrevious:y,onNext:h,setIsClosing:b}=j;const[E,O]=s(!1),[T,f]=s(!1),[v,_]=s(""),C=t(null);n((()=>{E&&f(!0)}),[E]);const I=e=>{if(o(C.current),C.current&&m.featureTag){const e=d(m.featureTag);if(e){const s=a(C.current,e);_(s)}else _("scale(0)")}else _("scale(0)");null==b||b(!0),O(!0),c(e)},A=r(T,v);return e.jsxs("div",Object.assign({ref:C,style:A.container},{children:[e.jsx("div",Object.assign({style:A.imageContainer},{children:m.displayImage?e.jsxs("div",Object.assign({style:A.imageWrapper},{children:[e.jsx("img",{src:m.displayImage,alt:m.title,style:A.image,onError:e=>{m.image&&(e.target.src=m.image)}}),e.jsx("div",Object.assign({style:A.badge},{children:e.jsx("span",Object.assign({style:A.badgeText},{children:i.NEW_FEATURE_BADGE}))}))]})):e.jsx("div",Object.assign({style:A.imagePlaceholder},{children:i.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:A.contentContainer},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:A.title},{children:m.title})),e.jsx("div",{style:A.content,dangerouslySetInnerHTML:{__html:l(m.content||m.body||"")}})]}),e.jsxs("div",Object.assign({style:A.actionsContainer},{children:[e.jsx("span",Object.assign({onClick:()=>{I(u)},style:A.understoodText},{children:i.UNDERSTOOD})),m.productVideo&&e.jsx("button",Object.assign({onClick:()=>{I(x)},style:A.exploreButton},{children:m.buttonText||i.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};export{j as default};
1
+ import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useRef as s,useEffect as n}from"react";import{TEXT as r}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{getMinorPopupStyles as i}from"./styles/minorPopup.styles.js";import{decodeHTMLEntities as a}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as l,calculateCloseTransform as o,executeAfterAnimation as c}from"./utils/animationHelpers.js";import{findFeatureTagElement as d}from"./utils/elementHelpers.js";const u=u=>{let{feature:j,currentIndex:m,totalFeatures:g,onSkip:p,onExplore:x,onPrevious:f,onNext:T,setIsClosing:h}=u;const[y,b]=t(!1),[E,O]=t(!1),[v,_]=t(""),C=s(null);n((()=>{y&&O(!0)}),[y]);const I=i(E,v);return e.jsxs("div",Object.assign({ref:C,style:I.container},{children:[e.jsx("div",Object.assign({style:I.imageContainer},{children:j.displayImage?e.jsxs("div",Object.assign({style:I.imageWrapper},{children:[e.jsx("img",{src:j.displayImage,alt:j.title,style:I.image,onError:e=>{j.image&&(e.target.src=j.image)}}),e.jsx("div",Object.assign({style:I.badge},{children:e.jsx("span",Object.assign({style:I.badgeText},{children:r.NEW_FEATURE_BADGE}))}))]})):e.jsx("div",Object.assign({style:I.imagePlaceholder},{children:r.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:I.contentContainer},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:I.title},{children:j.title})),e.jsx("div",{style:I.content,dangerouslySetInnerHTML:{__html:a(j.content||j.body||"")}})]}),e.jsxs("div",Object.assign({style:I.actionsContainer},{children:[e.jsx("span",Object.assign({onClick:()=>{(e=>{if(l(C.current),C.current&&j.featureTag){const e=d(j.featureTag);if(e){const t=o(C.current,e);_(t)}else _("scale(0)")}else _("scale(0)");null==h||h(!0),b(!0),c(e)})(p)},style:I.understoodText},{children:r.UNDERSTOOD})),j.productVideo&&e.jsx("button",Object.assign({onClick:()=>{if(x(),l(C.current),C.current&&j.featureTag){const e=j.featureTag.startsWith("#")||j.featureTag.startsWith(".")||j.featureTag.startsWith("[")?j.featureTag:`#${j.featureTag}`,t=document.querySelector(e);if(t){const e=o(C.current,t);_(e)}else _("scale(0)")}else _("scale(0)");null==h||h(!0),b(!0)},style:I.exploreButton},{children:j.buttonText||r.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};export{u as default};
@@ -15,3 +15,16 @@ export declare const findFeatureTagElement: (featureTag: string) => Element | nu
15
15
  * @returns Normalized selector
16
16
  */
17
17
  export declare const normalizeSelector: (selector: string) => string;
18
+ /**
19
+ * Check if element is fully visible in viewport
20
+ * @param element - Element to check
21
+ * @returns True if element is fully visible
22
+ */
23
+ export declare const isElementInViewport: (element: Element) => boolean;
24
+ /**
25
+ * Scroll to element smoothly with offset
26
+ * @param element - Element to scroll to
27
+ * @param offset - Offset from top (default 120px for popup space)
28
+ * @returns Promise that resolves when scroll completes
29
+ */
30
+ export declare const scrollToElementSmooth: (element: Element, offset?: number) => Promise<void>;
@@ -1 +1 @@
1
- import"../constants/animations.js";import{SELECTORS as t}from"../constants/selectors.js";const e=()=>{let e=document.querySelector(t.WHATS_NEW_BUTTON);if(e)return e;if(e=document.querySelector(t.MAIN_ICON_CLASS),e)return e;const r=document.querySelector(t.SVG_VIEWBOX);if(r){if(r.querySelector(t.CLIPPATH_PATTERN))return r.closest(t.WHATS_NEW_BUTTON)||r.parentElement}return null},r=t=>{const e=t.startsWith("#")||t.startsWith(".")||t.startsWith("[")?t:`#${t}`;return document.querySelector(e)};export{r as findFeatureTagElement,e as findWhatsNewButton};
1
+ import"../constants/animations.js";import{SELECTORS as t}from"../constants/selectors.js";const e=()=>{let e=document.querySelector(t.WHATS_NEW_BUTTON);if(e)return e;if(e=document.querySelector(t.MAIN_ICON_CLASS),e)return e;const n=document.querySelector(t.SVG_VIEWBOX);if(n){if(n.querySelector(t.CLIPPATH_PATTERN))return n.closest(t.WHATS_NEW_BUTTON)||n.parentElement}return null},n=t=>{const e=t.startsWith("#")||t.startsWith(".")||t.startsWith("[")?t:`#${t}`;return document.querySelector(e)},o=t=>t.startsWith("#")||t.startsWith(".")||t.startsWith("[")?t:`#${t}`,r=t=>{const e=t.getBoundingClientRect(),n=window.innerHeight||document.documentElement.clientHeight,o=window.innerWidth||document.documentElement.clientWidth,r=e.top>=120&&e.bottom<=n,i=e.left>=0&&e.right<=o;return r&&i},i=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:120;return new Promise((n=>{if(r(t))return void n();const o=t.getBoundingClientRect().top+window.pageYOffset-e;let i;window.scrollTo({top:o,behavior:"smooth"});const s=()=>{clearTimeout(i),i=setTimeout((()=>{window.removeEventListener("scroll",s),setTimeout((()=>n()),100)}),100)};window.addEventListener("scroll",s,{passive:!0}),setTimeout((()=>{window.removeEventListener("scroll",s),n()}),1e3)}))};export{n as findFeatureTagElement,e as findWhatsNewButton,r as isElementInViewport,o as normalizeSelector,i as scrollToElementSmooth};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bikdotai/bik-component-library",
3
- "version": "0.0.721-beta.24",
3
+ "version": "0.0.721-beta.26",
4
4
  "description": "Bik Component Library",
5
5
  "repository": {
6
6
  "type": "git",