@bikdotai/bik-component-library 0.0.721-beta.17 โ 0.0.721-beta.19
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.
- package/dist/cjs/components/QueryBuilder/helpers/MetaCustomProcessor.d.ts +1 -1
- package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
- package/dist/cjs/components/feature-announcements/useFeatureAnnouncements.js +1 -1
- package/dist/esm/components/QueryBuilder/helpers/MetaCustomProcessor.d.ts +1 -1
- package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
- package/dist/esm/components/feature-announcements/useFeatureAnnouncements.js +1 -1
- package/package.json +1 -1
|
@@ -36,7 +36,7 @@ export declare class MetaCustomProcessor {
|
|
|
36
36
|
value: {
|
|
37
37
|
operator: string;
|
|
38
38
|
dataType: import("../types").QueryBuilderConnectorType;
|
|
39
|
-
value?: string | number | string[] | number[] | Date
|
|
39
|
+
value?: string | number | string[] | Date | number[] | Date[] | undefined;
|
|
40
40
|
};
|
|
41
41
|
key: string;
|
|
42
42
|
refresh?: boolean | undefined;
|
|
@@ -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:p,getStoreFeatureProgress:c,fetchFeatureById:f,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:g,module:x,router:h}=i;var m;const{majorUpdateFeatures:C,minorUpdateFeatures:k,isLoading:y,markFeatureAsViewed:S}=r.useFeatureAnnouncements({fetchVisibleFeatures:p,getStoreFeatureProgress:c,fetchFeatureById:f,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:g,module:x,router:h}),[T,w]=t.useState(null),[B,E]=t.useState(null),[j,v]=t.useState(!1),[I,F]=t.useState([]),[N,R]=t.useState(!1),[P,M]=t.useState([]),[W,q]=t.useState(!1),[O,V]=t.useState(!1),[A,L]=t.useState([]),[U,$]=t.useState(!1),[_,z]=t.useState(!1),[D,G]=t.useState(!1),[H,J]=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(!(C.length>0)||T||y||W||K)0!==C.length||y||z(!0);else{z(!1),$(!1),v(!1),F([]),E(null),L([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?te(C[0]):setTimeout(e,1e3)};e()}}),[C,T,y,W,K]),t.useEffect((()=>{var e;const t=null===(e=null==h?void 0:h.query)||void 0===e?void 0:e.featureId;if(!t||y||0===k.length)return;const o=k.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)}}),[k,null===(m=null==h?void 0:h.query)||void 0===m?void 0:m.featureId,y]),t.useEffect((()=>{if(k.length>0&&!y&&!j&&!O&&!B&&!U&&_&&!K){let e=null,t=null,o=null,n=!1;const a=()=>{if(n||O||B||U||!_)return;const a=k.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],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}j||n||O||B||U||!_||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||O||B||U||!_||a()}),200))})),t=()=>{j||n||O||B||U||!_||(o&&clearTimeout(o),o=setTimeout((()=>{n||O||B||U||!_||a()}),300))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),a(),setTimeout((()=>{n||O||B||U||!_||a()}),100),setTimeout((()=>{n||O||B||U||!_||a()}),1e3),setTimeout((()=>{n||O||B||U||!_||a()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}(0===k.length||y)&&(v(!1),F([]),E(null),L([]),$(!1))}),[k,y,j,O,B,U,_,S,K]);const te=t=>{w(t);const o=C.findIndex((e=>e.id===t.id)),a=C.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"}}}];M(r),R(!0)},oe=t.useCallback((e=>{(e||T)&&(q(!0),C.forEach((e=>{S(e.id)})),R(!1),w(null),M([]),z(!0),setTimeout((()=>{q(!1)}),500))}),[T,C,S]),ne=t.useCallback((e=>{q(!0),S(e.id),e.productVideo&&(J(e.productVideo),G(!0),Q(!0)),R(!1),w(null),M([]);C.findIndex((t=>t.id===e.id))===C.length-1&&z(!0),setTimeout((()=>{q(!1)}),500)}),[C,S]),ae=t.useCallback((t=>{const o=t||T;if(!o)return;const a=C.findIndex((e=>e.id===o.id));if(a>0){const t=C[a-1];w(t);const o=a-1,r=C.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"}}}];M(s)}}),[T,C]),re=t.useCallback((t=>{const o=t||T;if(!o)return;const a=C.findIndex((e=>e.id===o.id));if(a<C.length-1){const t=C[a+1];w(t);const o=a+1,r=C.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"}}}];M(s)}else q(!0),S(o.id),R(!1),w(null),M([]),z(!0),setTimeout((()=>{q(!1)}),500)}),[T,C,S]),se=()=>{if(C.length>0&&!T){document.querySelector('[data-testid="whats-new-button"]')&&te(C[0])}};t.useEffect((()=>(window.showMajorUpdatePopup=se,()=>{delete window.showMajorUpdatePopup})),[C,T]);const ie=t.useCallback((e=>{const{action:t}=e;t===o.ACTIONS.CLOSE&&(T&&(q(!0),C.forEach((e=>{S(e.id)})),z(!0),setTimeout((()=>{q(!1)}),500)),R(!1),w(null),M([]))}),[T,C,S]),le=t.useCallback((e=>{const{action:t}=e;t===o.ACTIONS.CLOSE&&(B&&(V(!0),$(!0),k.forEach((e=>{S(e.id)})),setTimeout((()=>{V(!1)}),500)),v(!1),E(null),F([]))}),[B,k,S]),ue=(t,o)=>{E(t);const n=o||A,r=n.findIndex((e=>e.id===t.id)),s=n.length,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:()=>pe(t),onPrevious:()=>ce(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),v(!0)},de=t.useCallback((e=>{(e||B)&&(V(!0),$(!0),k.forEach((e=>{S(e.id)})),v(!1),E(null),F([]),setTimeout((()=>{V(!1)}),500))}),[B,k,S]),pe=t.useCallback((e=>{V(!0),$(!0),S(e.id),e.productVideo&&(J(e.productVideo),G(!0),Q(!0)),v(!1),E(null),F([]),setTimeout((()=>{V(!1)}),500)}),[S]),ce=t.useCallback((t=>{const o=t||B;if(!o)return;const n=A.findIndex((e=>e.id===o.id));if(n>0){const t=A[n-1];E(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:()=>pe(t),onPrevious:()=>ce(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)}}),[B,A]),fe=t.useCallback((t=>{const o=t||B;if(!o)return;const n=A.findIndex((e=>e.id===o.id));if(n<A.length-1){const t=A[n+1];E(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:()=>pe(t),onPrevious:()=>ce(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),v(!1),E(null),F([]),setTimeout((()=>{V(!1)}),500)}),[B,A,S]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[d,P.length>0&&e.jsxRuntimeExports.jsx(l.default,{steps:P,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:j,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:D,videoUrl:H,onClose:()=>{G(!1),J(""),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
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react");exports.useFeatureAnnouncements=r=>{let{fetchVisibleFeatures:a,getStoreFeatureProgress:o,fetchFeatureById:n,markFeatureAsViewedForStore:i,isFeatureApplicableToCurrentPage:l,module:u,router:s}=r;const c=(()=>{const[e,r]=t.useState(null);return t.useEffect((()=>{if("undefined"!=typeof window){let e=null;try{if(e=localStorage.getItem("storeId")||localStorage.getItem("Bik/StoreId")||localStorage.getItem("currentStore")||localStorage.getItem("store"),!e){const t=localStorage.getItem("Bik/CurrentUser");t&&(e=JSON.parse(t).storeId)}e||(e=new URLSearchParams(window.location.search).get("storeId"))}catch(e){console.error("FeatureAnnouncements: Failed to get store ID",e)}r(e)}}),[]),e})(),[
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react");exports.useFeatureAnnouncements=r=>{let{fetchVisibleFeatures:a,getStoreFeatureProgress:o,fetchFeatureById:n,markFeatureAsViewedForStore:i,isFeatureApplicableToCurrentPage:l,module:u,router:s}=r;var d;const c=(()=>{const[e,r]=t.useState(null);return t.useEffect((()=>{if("undefined"!=typeof window){let e=null;try{if(e=localStorage.getItem("storeId")||localStorage.getItem("Bik/StoreId")||localStorage.getItem("currentStore")||localStorage.getItem("store"),!e){const t=localStorage.getItem("Bik/CurrentUser");t&&(e=JSON.parse(t).storeId)}e||(e=new URLSearchParams(window.location.search).get("storeId"))}catch(e){console.error("FeatureAnnouncements: Failed to get store ID",e)}r(e)}}),[]),e})(),[f,p]=t.useState([]),[v,g]=t.useState([]),[y,m]=t.useState([]),[w,F]=t.useState(!1),[h,D]=t.useState(null),S=t.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(c){F(!0),D(null);try{const[e,t]=yield a(u);if(e||!t)return console.error("FeatureAnnouncements: Failed to fetch features",e),void D("Failed to fetch features");const[r,n]=yield o(c);r&&console.warn("FeatureAnnouncements: Progress fetch failed, treating all features as new",r);const i=new Date,s="undefined"!=typeof window?window.location.pathname:"",d=e=>{if(!e.expirationDate)return!0;let t;return"object"==typeof e.expirationDate&&null!==e.expirationDate&&("seconds"in e.expirationDate||"nanoseconds"in e.expirationDate)?t=new Date(1e3*e.expirationDate.seconds):"string"==typeof e.expirationDate?t=new Date(e.expirationDate):e.expirationDate instanceof Date&&(t=e.expirationDate),!(!t||isNaN(t.getTime()))&&i<t},f=e=>{if("Major"===e.featureUpdateType){let t=[];return Array.isArray(e.pageUrls)?t=e.pageUrls:"object"==typeof e.pageUrls&&null!==e.pageUrls&&"length"in e.pageUrls&&(t=Array.from(e.pageUrls)),t.includes(s)}return!0},v=t.filter((e=>{var t;return!((null===(t=null==n?void 0:n.viewedFeatures)||void 0===t?void 0:t[e.id])||!1)&&l(e)&&d(e)&&f(e)})),y=v.filter((e=>"Major"===e.featureUpdateType)),w=v.filter((e=>"Minor"===e.featureUpdateType));p(v),g(y),setTimeout((()=>{m(w)}),2e3)}catch(e){console.error("FeatureAnnouncements: Unexpected error in fetchFeatures",e),D("An unexpected error occurred")}finally{F(!1)}}}))),[c,a,o,l,u]),x=t.useCallback((t=>e.__awaiter(void 0,void 0,void 0,(function*(){F(!0),D(null);try{const[e,r]=yield n(t);if(e||!r)return void D("Failed to fetch feature by ID");"Major"===r.featureUpdateType?g([r]):m([r]),p([r])}catch(e){D("An unexpected error occurred while fetching by ID")}finally{F(!1)}}))),[n]),I=t.useCallback((t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(!c)return;const[e]=yield i(c,t);e?(console.warn("FeatureAnnouncements: Failed to mark feature as viewed, removing from local state anyway",e),p((e=>e.filter((e=>e.id!==t)))),g((e=>e.filter((e=>e.id!==t)))),m((e=>e.filter((e=>e.id!==t))))):(p((e=>e.filter((e=>e.id!==t)))),g((e=>e.filter((e=>e.id!==t)))),m((e=>e.filter((e=>e.id!==t)))))}))),[c,i]);return t.useEffect((()=>{var e;const t=null===(e=null==s?void 0:s.query)||void 0===e?void 0:e.featureId;t&&s?x(t):S()}),[null==s?void 0:s.pathname,null===(d=null==s?void 0:s.query)||void 0===d?void 0:d.featureId,c,S,x,s]),{features:f,majorUpdateFeatures:v,minorUpdateFeatures:y,isLoading:w,error:h,markFeatureAsViewed:I,refetch:S}};
|
|
@@ -36,7 +36,7 @@ export declare class MetaCustomProcessor {
|
|
|
36
36
|
value: {
|
|
37
37
|
operator: string;
|
|
38
38
|
dataType: import("../types").QueryBuilderConnectorType;
|
|
39
|
-
value?: string | number | string[] | number[] | Date
|
|
39
|
+
value?: string | number | string[] | Date | number[] | Date[] | undefined;
|
|
40
40
|
};
|
|
41
41
|
key: string;
|
|
42
42
|
refresh?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t}from"../../node_modules/react/jsx-runtime.js";import{useState as e,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 d}from"./useFeatureAnnouncements.js";import{VideoModal as l}from"./VideoModal.js";const u="#007bff",p=p=>{let{children:c,fetchVisibleFeatures:f,getStoreFeatureProgress:b,fetchFeatureById:g,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:m,module:x,router:y}=p;var C;const{majorUpdateFeatures:k,minorUpdateFeatures:T,isLoading:w,markFeatureAsViewed:S}=d({fetchVisibleFeatures:f,getStoreFeatureProgress:b,fetchFeatureById:g,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:m,module:x,router:y}),[B,v]=e(null),[I,F]=e(null),[j,E]=e(!1),[N,P]=e([]),[W,M]=e(!1),[O,V]=e([]),[L,R]=e(!1),[q,A]=e(!1),[U,$]=e([]),[z,_]=e(!1),[D,G]=e(!1),[H,J]=e(!1),[K,Q]=e(""),[X,Y]=e(!1),[Z,tt]=e(!1),[et,ot]=e(!1);o((()=>{const t="minor-spotlight-cutout-style";let e=document.getElementById(t);return e||(e=document.createElement("style"),e.id=t,document.head.appendChild(e)),e.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 e=document.getElementById(t);e&&e.remove()}}),[]),o((()=>{if(!(k.length>0)||B||w||L||X)0!==k.length||w||G(!0);else{G(!1),_(!1),E(!1),P([]),F(null),$([]);const t=()=>{document.querySelector('[data-testid="whats-new-button"]')?nt(k[0]):setTimeout(t,1e3)};t()}}),[k,B,w,L,X]),o((()=>{var t;const e=null===(t=null==y?void 0:y.query)||void 0===t?void 0:t.featureId;if(!e||w||0===T.length)return;const o=T.find((t=>t.id===e));if(!o||!o.featureTag)return;_(!0),A(!0);let n=0;const a=setInterval((()=>{n++;const t=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;if(document.querySelector(t)){const t=[o];$(t),pt(o,t),clearInterval(a)}else n>=25&&(console.warn(`FeatureAnnouncements: Timed out waiting for element with selector: ${t}`),A(!1),clearInterval(a))}),200);return()=>{clearInterval(a)}}),[T,null===(C=null==y?void 0:y.query)||void 0===C?void 0:C.featureId,w]),o((()=>{if(T.length>0&&!w&&!j&&!q&&!I&&!z&&D&&!X){let t=null,e=null,o=null,n=!1;const a=()=>{if(n||q||I||z||!D)return;const a=T.filter((t=>{if(!t.featureTag||""===t.featureTag.trim())return!1;const e=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`;return null!==document.querySelector(e)}));a.length>0&&($(a),pt(a[0],a),t&&(t.disconnect(),t=null),e&&(window.removeEventListener("scroll",e),e=null),o&&(clearTimeout(o),o=null))};return t=new MutationObserver((t=>{let e=!1;for(const o of t){if("childList"===o.type&&o.addedNodes.length>0)for(let t=0;t<o.addedNodes.length;t++){const n=o.addedNodes[t];if(n.nodeType===Node.ELEMENT_NODE){const t=n;if(t.id||t.querySelector("[id]")){e=!0;break}}}if(e)break}j||n||q||I||z||!D||!e||(o&&clearTimeout(o),o=setTimeout((()=>{n||q||I||z||!D||a()}),200))})),e=()=>{j||n||q||I||z||!D||(o&&clearTimeout(o),o=setTimeout((()=>{n||q||I||z||!D||a()}),300))},t&&t.observe(document.body,{childList:!0,subtree:!0}),e&&window.addEventListener("scroll",e,{passive:!0}),a(),setTimeout((()=>{n||q||I||z||!D||a()}),100),setTimeout((()=>{n||q||I||z||!D||a()}),1e3),setTimeout((()=>{n||q||I||z||!D||a()}),500),()=>{n=!0,t&&t.disconnect(),e&&window.removeEventListener("scroll",e),o&&clearTimeout(o)}}(0===T.length||w)&&(E(!1),P([]),F(null),$([]),_(!1))}),[T,w,j,q,I,z,D,S,X]);const nt=e=>{v(e);const o=k.findIndex((t=>t.id===e.id)),n=k.length,a=[{target:'[data-testid="whats-new-button"]',content:t.jsx(s,{feature:e,currentIndex:o,totalFeatures:n,onSkip:()=>at(e),onExplore:()=>rt(e),onPrevious:()=>st(e),onNext:()=>it(e),setIsClosing:tt}),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"}}}];V(a),M(!0)},at=n((t=>{(t||B)&&(R(!0),k.forEach((t=>{S(t.id)})),M(!1),v(null),V([]),G(!0),setTimeout((()=>{R(!1)}),500))}),[B,k,S]),rt=n((t=>{R(!0),S(t.id),t.productVideo&&(Q(t.productVideo),J(!0),Y(!0)),M(!1),v(null),V([]);k.findIndex((e=>e.id===t.id))===k.length-1&&G(!0),setTimeout((()=>{R(!1)}),500)}),[k,S]),st=n((e=>{const o=e||B;if(!o)return;const n=k.findIndex((t=>t.id===o.id));if(n>0){const e=k[n-1];v(e);const o=n-1,a=k.length,r=[{target:'[data-testid="whats-new-button"]',content:t.jsx(s,{feature:e,currentIndex:o,totalFeatures:a,onSkip:()=>at(e),onExplore:()=>rt(e),onPrevious:()=>st(e),onNext:()=>it(e),setIsClosing:tt}),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"}}}];V(r)}}),[B,k]),it=n((e=>{const o=e||B;if(!o)return;const n=k.findIndex((t=>t.id===o.id));if(n<k.length-1){const e=k[n+1];v(e);const o=n+1,a=k.length,r=[{target:'[data-testid="whats-new-button"]',content:t.jsx(s,{feature:e,currentIndex:o,totalFeatures:a,onSkip:()=>at(e),onExplore:()=>rt(e),onPrevious:()=>st(e),onNext:()=>it(e),setIsClosing:tt}),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"}}}];V(r)}else R(!0),S(o.id),M(!1),v(null),V([]),G(!0),setTimeout((()=>{R(!1)}),500)}),[B,k,S]),dt=()=>{if(k.length>0&&!B){document.querySelector('[data-testid="whats-new-button"]')&&nt(k[0])}};o((()=>(window.showMajorUpdatePopup=dt,()=>{delete window.showMajorUpdatePopup})),[k,B]);const lt=n((t=>{const{action:e}=t;e===r.CLOSE&&(B&&(R(!0),k.forEach((t=>{S(t.id)})),G(!0),setTimeout((()=>{R(!1)}),500)),M(!1),v(null),V([]))}),[B,k,S]),ut=n((t=>{const{action:e}=t;e===r.CLOSE&&(I&&(A(!0),_(!0),T.forEach((t=>{S(t.id)})),setTimeout((()=>{A(!1)}),500)),E(!1),F(null),P([]))}),[I,T,S]),pt=(e,o)=>{F(e);const n=o||U,a=n.findIndex((t=>t.id===e.id)),r=n.length,s=[{target:e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`,content:t.jsx(i,{feature:e,currentIndex:a,totalFeatures:r,onSkip:()=>ct(e),onExplore:()=>ft(e),onPrevious:()=>bt(e),onNext:()=>gt(e),setIsClosing:ot}),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),E(!0)},ct=n((t=>{(t||I)&&(A(!0),_(!0),T.forEach((t=>{S(t.id)})),E(!1),F(null),P([]),setTimeout((()=>{A(!1)}),500))}),[I,T,S]),ft=n((t=>{A(!0),_(!0),S(t.id),t.productVideo&&(Q(t.productVideo),J(!0),Y(!0)),E(!1),F(null),P([]),setTimeout((()=>{A(!1)}),500)}),[S]),bt=n((e=>{const o=e||I;if(!o)return;const n=U.findIndex((t=>t.id===o.id));if(n>0){const e=U[n-1];F(e);const o=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`,a=n-1,r=U.length,s=[{target:o,content:t.jsx(i,{feature:e,currentIndex:a,totalFeatures:r,onSkip:()=>ct(e),onExplore:()=>ft(e),onPrevious:()=>bt(e),onNext:()=>gt(e),setIsClosing:ot}),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)}}),[I,U]),gt=n((e=>{const o=e||I;if(!o)return;const n=U.findIndex((t=>t.id===o.id));if(n<U.length-1){const e=U[n+1];F(e);const o=e.featureTag.startsWith("#")||e.featureTag.startsWith(".")||e.featureTag.startsWith("[")?e.featureTag:`#${e.featureTag}`,a=n+1,r=U.length,s=[{target:o,content:t.jsx(i,{feature:e,currentIndex:a,totalFeatures:r,onSkip:()=>ct(e),onExplore:()=>ft(e),onPrevious:()=>bt(e),onNext:()=>gt(e),setIsClosing:ot}),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 A(!0),_(!0),S(o.id),E(!1),F(null),P([]),setTimeout((()=>{A(!1)}),500)}),[I,U,S]);return t.jsxs(t.Fragment,{children:[c,O.length>0&&t.jsx(a,{steps:O,run:W,continuous:!1,showProgress:!1,showSkipButton:!1,callback:lt,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&&t.jsx(a,{steps:N,run:j,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ut,disableOverlayClose:!0,disableCloseOnEsc:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:et?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:et?"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(l,{isOpen:H,videoUrl:K,onClose:()=>{J(!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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../_virtual/_tslib.js";import{useState as t,useCallback as r,useEffect as o}from"react";const a=a=>{let{fetchVisibleFeatures:n,getStoreFeatureProgress:i,fetchFeatureById:l,markFeatureAsViewedForStore:u,isFeatureApplicableToCurrentPage:
|
|
1
|
+
import{__awaiter as e}from"../../_virtual/_tslib.js";import{useState as t,useCallback as r,useEffect as o}from"react";const a=a=>{let{fetchVisibleFeatures:n,getStoreFeatureProgress:i,fetchFeatureById:l,markFeatureAsViewedForStore:u,isFeatureApplicableToCurrentPage:d,module:s,router:c}=a;var f;const p=(()=>{const[e,r]=t(null);return o((()=>{if("undefined"!=typeof window){let e=null;try{if(e=localStorage.getItem("storeId")||localStorage.getItem("Bik/StoreId")||localStorage.getItem("currentStore")||localStorage.getItem("store"),!e){const t=localStorage.getItem("Bik/CurrentUser");t&&(e=JSON.parse(t).storeId)}e||(e=new URLSearchParams(window.location.search).get("storeId"))}catch(e){console.error("FeatureAnnouncements: Failed to get store ID",e)}r(e)}}),[]),e})(),[g,m]=t([]),[v,y]=t([]),[w,F]=t([]),[h,D]=t(!1),[I,U]=t(null),x=r((()=>e(void 0,void 0,void 0,(function*(){if(p){D(!0),U(null);try{const[e,t]=yield n(s);if(e||!t)return console.error("FeatureAnnouncements: Failed to fetch features",e),void U("Failed to fetch features");const[r,o]=yield i(p);r&&console.warn("FeatureAnnouncements: Progress fetch failed, treating all features as new",r);const a=new Date,l="undefined"!=typeof window?window.location.pathname:"",u=e=>{if(!e.expirationDate)return!0;let t;return"object"==typeof e.expirationDate&&null!==e.expirationDate&&("seconds"in e.expirationDate||"nanoseconds"in e.expirationDate)?t=new Date(1e3*e.expirationDate.seconds):"string"==typeof e.expirationDate?t=new Date(e.expirationDate):e.expirationDate instanceof Date&&(t=e.expirationDate),!(!t||isNaN(t.getTime()))&&a<t},c=e=>{if("Major"===e.featureUpdateType){let t=[];return Array.isArray(e.pageUrls)?t=e.pageUrls:"object"==typeof e.pageUrls&&null!==e.pageUrls&&"length"in e.pageUrls&&(t=Array.from(e.pageUrls)),t.includes(l)}return!0},f=t.filter((e=>{var t;return!((null===(t=null==o?void 0:o.viewedFeatures)||void 0===t?void 0:t[e.id])||!1)&&d(e)&&u(e)&&c(e)})),g=f.filter((e=>"Major"===e.featureUpdateType)),v=f.filter((e=>"Minor"===e.featureUpdateType));m(f),y(g),setTimeout((()=>{F(v)}),2e3)}catch(e){console.error("FeatureAnnouncements: Unexpected error in fetchFeatures",e),U("An unexpected error occurred")}finally{D(!1)}}}))),[p,n,i,d,s]),A=r((t=>e(void 0,void 0,void 0,(function*(){D(!0),U(null);try{const[e,r]=yield l(t);if(e||!r)return void U("Failed to fetch feature by ID");"Major"===r.featureUpdateType?y([r]):F([r]),m([r])}catch(e){U("An unexpected error occurred while fetching by ID")}finally{D(!1)}}))),[l]),S=r((t=>e(void 0,void 0,void 0,(function*(){if(!p)return;const[e]=yield u(p,t);e?(console.warn("FeatureAnnouncements: Failed to mark feature as viewed, removing from local state anyway",e),m((e=>e.filter((e=>e.id!==t)))),y((e=>e.filter((e=>e.id!==t)))),F((e=>e.filter((e=>e.id!==t))))):(m((e=>e.filter((e=>e.id!==t)))),y((e=>e.filter((e=>e.id!==t)))),F((e=>e.filter((e=>e.id!==t)))))}))),[p,u]);return o((()=>{var e;const t=null===(e=null==c?void 0:c.query)||void 0===e?void 0:e.featureId;t&&c?A(t):x()}),[null==c?void 0:c.pathname,null===(f=null==c?void 0:c.query)||void 0===f?void 0:f.featureId,p,x,A,c]),{features:g,majorUpdateFeatures:v,minorUpdateFeatures:w,isLoading:h,error:I,markFeatureAsViewed:S,refetch:x}};export{a as useFeatureAnnouncements};
|