@bikdotai/bik-component-library 0.0.721-beta.29 → 0.0.721-beta.3
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/feature-announcements/FeatureAnnouncement.types.d.ts +27 -0
- package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.d.ts +11 -1
- package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
- package/dist/cjs/components/feature-announcements/MajorUpdatePopup.d.ts +10 -1
- package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js +1 -1
- package/dist/cjs/components/feature-announcements/MinorUpdatePopup.d.ts +10 -1
- package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js +1 -1
- package/dist/cjs/components/feature-announcements/VideoModal.d.ts +6 -1
- package/dist/cjs/components/feature-announcements/VideoModal.js +1 -1
- package/dist/cjs/components/feature-announcements/index.d.ts +2 -3
- package/dist/cjs/components/feature-announcements/useFeatureAnnouncements.d.ts +14 -3
- package/dist/cjs/components/feature-announcements/useFeatureAnnouncements.js +1 -0
- package/dist/cjs/components/whats-new/WhatsNewButton.js +1 -1
- package/dist/cjs/components/whats-new/useWhatsNew.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/components/feature-announcements/FeatureAnnouncement.types.d.ts +27 -0
- package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.d.ts +11 -1
- package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
- package/dist/esm/components/feature-announcements/MajorUpdatePopup.d.ts +10 -1
- package/dist/esm/components/feature-announcements/MajorUpdatePopup.js +1 -1
- package/dist/esm/components/feature-announcements/MinorUpdatePopup.d.ts +10 -1
- package/dist/esm/components/feature-announcements/MinorUpdatePopup.js +1 -1
- package/dist/esm/components/feature-announcements/VideoModal.d.ts +6 -1
- package/dist/esm/components/feature-announcements/VideoModal.js +1 -1
- package/dist/esm/components/feature-announcements/index.d.ts +2 -3
- package/dist/esm/components/feature-announcements/useFeatureAnnouncements.d.ts +14 -3
- package/dist/esm/components/feature-announcements/useFeatureAnnouncements.js +1 -0
- package/dist/esm/components/whats-new/WhatsNewButton.js +1 -1
- package/dist/esm/components/whats-new/useWhatsNew.js +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/components/feature-announcements/constants/animations.d.ts +0 -27
- package/dist/cjs/components/feature-announcements/constants/animations.js +0 -1
- package/dist/cjs/components/feature-announcements/constants/dimensions.d.ts +0 -56
- package/dist/cjs/components/feature-announcements/constants/dimensions.js +0 -1
- package/dist/cjs/components/feature-announcements/constants/index.d.ts +0 -19
- package/dist/cjs/components/feature-announcements/constants/index.js +0 -1
- package/dist/cjs/components/feature-announcements/constants/localStorageKeys.d.ts +0 -18
- package/dist/cjs/components/feature-announcements/constants/localStorageKeys.js +0 -1
- package/dist/cjs/components/feature-announcements/constants/selectors.d.ts +0 -21
- package/dist/cjs/components/feature-announcements/constants/selectors.js +0 -1
- package/dist/cjs/components/feature-announcements/constants/zIndex.d.ts +0 -10
- package/dist/cjs/components/feature-announcements/constants/zIndex.js +0 -1
- package/dist/cjs/components/feature-announcements/hooks/index.d.ts +0 -1
- package/dist/cjs/components/feature-announcements/hooks/useFeatureAnnouncements.d.ts +0 -13
- package/dist/cjs/components/feature-announcements/hooks/useFeatureAnnouncements.js +0 -1
- package/dist/cjs/components/feature-announcements/styles/index.d.ts +0 -4
- package/dist/cjs/components/feature-announcements/styles/joyride.styles.d.ts +0 -125
- package/dist/cjs/components/feature-announcements/styles/majorPopup.styles.d.ts +0 -23
- package/dist/cjs/components/feature-announcements/styles/majorPopup.styles.js +0 -1
- package/dist/cjs/components/feature-announcements/styles/minorPopup.styles.d.ts +0 -16
- package/dist/cjs/components/feature-announcements/styles/minorPopup.styles.js +0 -1
- package/dist/cjs/components/feature-announcements/styles/videoModal.styles.d.ts +0 -13
- package/dist/cjs/components/feature-announcements/styles/videoModal.styles.js +0 -1
- package/dist/cjs/components/feature-announcements/types/feature.types.d.ts +0 -40
- package/dist/cjs/components/feature-announcements/types/index.d.ts +0 -4
- package/dist/cjs/components/feature-announcements/types/props.types.d.ts +0 -43
- package/dist/cjs/components/feature-announcements/types/repository.types.d.ts +0 -11
- package/dist/cjs/components/feature-announcements/types/router.types.d.ts +0 -7
- package/dist/cjs/components/feature-announcements/utils/animationHelpers.d.ts +0 -18
- package/dist/cjs/components/feature-announcements/utils/animationHelpers.js +0 -1
- package/dist/cjs/components/feature-announcements/utils/elementHelpers.d.ts +0 -30
- package/dist/cjs/components/feature-announcements/utils/elementHelpers.js +0 -1
- package/dist/cjs/components/feature-announcements/utils/htmlHelpers.d.ts +0 -18
- package/dist/cjs/components/feature-announcements/utils/htmlHelpers.js +0 -1
- package/dist/cjs/components/feature-announcements/utils/index.d.ts +0 -3
- package/dist/esm/components/feature-announcements/constants/animations.d.ts +0 -27
- package/dist/esm/components/feature-announcements/constants/animations.js +0 -1
- package/dist/esm/components/feature-announcements/constants/dimensions.d.ts +0 -56
- package/dist/esm/components/feature-announcements/constants/dimensions.js +0 -1
- package/dist/esm/components/feature-announcements/constants/index.d.ts +0 -19
- package/dist/esm/components/feature-announcements/constants/index.js +0 -1
- package/dist/esm/components/feature-announcements/constants/localStorageKeys.d.ts +0 -18
- package/dist/esm/components/feature-announcements/constants/localStorageKeys.js +0 -1
- package/dist/esm/components/feature-announcements/constants/selectors.d.ts +0 -21
- package/dist/esm/components/feature-announcements/constants/selectors.js +0 -1
- package/dist/esm/components/feature-announcements/constants/zIndex.d.ts +0 -10
- package/dist/esm/components/feature-announcements/constants/zIndex.js +0 -1
- package/dist/esm/components/feature-announcements/hooks/index.d.ts +0 -1
- package/dist/esm/components/feature-announcements/hooks/useFeatureAnnouncements.d.ts +0 -13
- package/dist/esm/components/feature-announcements/hooks/useFeatureAnnouncements.js +0 -1
- package/dist/esm/components/feature-announcements/styles/index.d.ts +0 -4
- package/dist/esm/components/feature-announcements/styles/joyride.styles.d.ts +0 -125
- package/dist/esm/components/feature-announcements/styles/majorPopup.styles.d.ts +0 -23
- package/dist/esm/components/feature-announcements/styles/majorPopup.styles.js +0 -1
- package/dist/esm/components/feature-announcements/styles/minorPopup.styles.d.ts +0 -16
- package/dist/esm/components/feature-announcements/styles/minorPopup.styles.js +0 -1
- package/dist/esm/components/feature-announcements/styles/videoModal.styles.d.ts +0 -13
- package/dist/esm/components/feature-announcements/styles/videoModal.styles.js +0 -1
- package/dist/esm/components/feature-announcements/types/feature.types.d.ts +0 -40
- package/dist/esm/components/feature-announcements/types/index.d.ts +0 -4
- package/dist/esm/components/feature-announcements/types/props.types.d.ts +0 -43
- package/dist/esm/components/feature-announcements/types/repository.types.d.ts +0 -11
- package/dist/esm/components/feature-announcements/types/router.types.d.ts +0 -7
- package/dist/esm/components/feature-announcements/utils/animationHelpers.d.ts +0 -18
- package/dist/esm/components/feature-announcements/utils/animationHelpers.js +0 -1
- package/dist/esm/components/feature-announcements/utils/elementHelpers.d.ts +0 -30
- package/dist/esm/components/feature-announcements/utils/elementHelpers.js +0 -1
- package/dist/esm/components/feature-announcements/utils/htmlHelpers.d.ts +0 -18
- package/dist/esm/components/feature-announcements/utils/htmlHelpers.js +0 -1
- package/dist/esm/components/feature-announcements/utils/index.d.ts +0 -3
|
@@ -1 +1 @@
|
|
|
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:h,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:y,module:x,router:C}=p;var k;const{majorUpdateFeatures:S,minorUpdateFeatures:T,isLoading:v,markFeatureAsViewed:w}=l({fetchVisibleFeatures:g,getStoreFeatureProgress:m,fetchFeatureById:h,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:y,module:x,router:C}),[j,B]=o(null),[F,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),[re,ae]=o(0),[ie,se]=o(0);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==F?void 0:F.id)||"null"})}),[F]),n((()=>{ae((e=>e+1)),se((e=>e+1)),te(!1),ne(!1)}),[null==C?void 0:C.pathname]),n((()=>{if(!(S.length>0)||j||v||U||X)0!==S.length||v||Z(!0);else{Z(!1),H(!1),N(!1),P([]),I(null),$([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?le(S[0]):setTimeout(e,1e3)};e()}}),[S,j,v,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:v,minorUpdateFeaturesCount:T.length}),!t||v||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),he(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,v]),n((()=>{var e;if(console.log("🔍 Main minor effect check:",{minorUpdateFeaturesCount:T.length,isLoading:v,runJoyride:E,isProcessingMinorUpdate:V,currentMinorFeature:(null==F?void 0:F.id)||"null",minorFeaturesSkipped:z,showMinorUpdates:J,blockPopups:X}),T.length>0&&!v&&!E&&!V&&!F&&!z&&J&&!X){let e=null,t=null,o=null,n=!1;const r=()=>{if(n||V||F||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),he(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||F||z||!J||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||V||F||z||!J||r()}),200))})),t=()=>{E||n||V||F||z||!J||(o&&clearTimeout(o),requestAnimationFrame((()=>{o=setTimeout((()=>{n||V||F||z||!J||r()}),300)})))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),r(),setTimeout((()=>{n||V||F||z||!J||r()}),100),setTimeout((()=>{n||V||F||z||!J||r()}),1e3),setTimeout((()=>{n||V||F||z||!J||r()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}if(0===T.length||v){(null===(e=null==C?void 0:C.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"),N(!1),P([]),I(null),$([]),H(!1))}}),[T,v,E,V,F,z,J,w,X]);const le=e=>{B(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:()=>de(e),onExplore:()=>ue(e),onPrevious:()=>ce(e),onNext:()=>pe(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)},de=r((e=>{(e||j)&&(A(!0),S.forEach((e=>{w(e.id)})),O(!1),B(null),L([]),Z(!0),setTimeout((()=>{A(!1)}),500))}),[j,S,w]),ue=r((e=>{A(!0),w(e.id),e.productVideo&&(K(e.productVideo),Q(!0),Y(!0)),O(!1),B(null),L([]);S.findIndex((t=>t.id===e.id))===S.length-1&&Z(!0),setTimeout((()=>{A(!1)}),500)}),[S,w]),ce=r((e=>{const o=e||j;if(!o)return;const n=S.findIndex((e=>e.id===o.id));if(n>0){const e=S[n-1];B(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:()=>de(e),onExplore:()=>ue(e),onPrevious:()=>ce(e),onNext:()=>pe(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)}}),[j,S]),pe=r((e=>{const o=e||j;if(!o)return;const n=S.findIndex((e=>e.id===o.id));if(n<S.length-1){const e=S[n+1];B(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:()=>de(e),onExplore:()=>ue(e),onPrevious:()=>ce(e),onNext:()=>pe(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),w(o.id),O(!1),B(null),L([]),Z(!0),setTimeout((()=>{A(!1)}),500)}),[j,S,w]),fe=()=>{if(S.length>0&&!j){document.querySelector('[data-testid="whats-new-button"]')&&le(S[0])}};n((()=>(window.showMajorUpdatePopup=fe,()=>{delete window.showMajorUpdatePopup})),[S,j]);const ge=r((e=>{const{action:t}=e;t===i.CLOSE&&(j&&(A(!0),S.forEach((e=>{w(e.id)})),Z(!0),setTimeout((()=>{A(!1)}),500)),O(!1),B(null),L([]))}),[j,S,w]),me=r((e=>{const{action:t,type:o,status:n,lifecycle:r,index:a}=e;if(console.log("🔔 Minor Callback:",{action:t,type:o,status:n,lifecycle:r,index:a,hasSteps:M.length,runJoyride:E}),t===i.CLOSE){if(console.log("❌ CLOSE ACTION - Clearing joyride"),F){_(!0),w(F.id);R.findIndex((e=>e.id===F.id))===R.length-1&&H(!0),setTimeout((()=>{_(!1)}),500)}N(!1),I(null),P([])}}),[F,R,w]),he=(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:()=>be(o),onExplore:()=>ye(o),onPrevious:()=>xe(o),onNext:()=>Ce(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)})),be=r((e=>{const t=e||F;if(t){_(!0),w(t.id),N(!1),I(null),P([]);R.findIndex((e=>e.id===t.id))===R.length-1&&H(!0),setTimeout((()=>{_(!1)}),500)}}),[F,R,w]),ye=r((e=>{_(!0),w(e.id),e.productVideo&&(K(e.productVideo),Q(!0),Y(!0)),N(!1),I(null),P([]);R.findIndex((t=>t.id===e.id))===R.length-1&&H(!0),setTimeout((()=>{_(!1)}),500)}),[R,w]),xe=r((o=>e(void 0,void 0,void 0,(function*(){const e=o||F;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:()=>be(e),onExplore:()=>ye(e),onPrevious:()=>xe(e),onNext:()=>Ce(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)}}))),[F,R]),Ce=r((o=>e(void 0,void 0,void 0,(function*(){const e=o||F;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:()=>be(e),onExplore:()=>ye(e),onPrevious:()=>xe(e),onNext:()=>Ce(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),w(e.id),N(!1),I(null),P([]),setTimeout((()=>{_(!1)}),500)}))),[F,R,w]);return t.jsxs(t.Fragment,{children:[f,q.length>0&&t.jsx(a,{steps:q,run:W,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ge,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!0,spotlightClicks:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:ee?"transparent":"#212121"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",border:"none",boxShadow:"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"}},`major-joyride-${re}`),M.length>0&&t.jsx(a,{steps:M,run:E,continuous:!1,showProgress:!1,showSkipButton:!1,callback:me,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,scrollToFirstStep:!0,scrollOffset:120,disableScrolling:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:oe?"transparent":"#ffffff"},overlay:{backgroundColor:oe?"transparent":"rgba(0, 0, 0, 0.5)"},spotlight:{backgroundColor:"transparent",borderRadius:"8px"},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"}},`minor-joyride-${ie}`),t.jsx(c,{isOpen:D,videoUrl:G,onClose:()=>{Q(!1),K(""),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 a,{ACTIONS as r}from"react-joyride";import i from"./MajorUpdatePopup.js";import s 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 k;const{majorUpdateFeatures:T,minorUpdateFeatures:C,isLoading:w,markFeatureAsViewed:S}=d({fetchVisibleFeatures:f,getStoreFeatureProgress:b,fetchFeatureById:g,markFeatureAsViewedForStore:h,isFeatureApplicableToCurrentPage:m,module:x,router:y}),[B,v]=t(null),[F,j]=t(null),[I,N]=t(!1),[E,P]=t([]),[W,M]=t(!1),[O,V]=t([]),[L,R]=t(!1),[q,A]=t(!1),[U,$]=t([]),[z,_]=t(!1),[D,G]=t(!1),[H,J]=t(!1),[K,Q]=t(""),[X,Y]=t(!1);o((()=>{if(!(T.length>0)||B||w||L||X)0!==T.length||w||G(!0);else{G(!1),_(!1),N(!1),P([]),j(null),$([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?Z(T[0]):setTimeout(e,1e3)};e()}}),[T,B,w,L,X]),o((()=>{var e;const t=null===(e=null==y?void 0:y.query)||void 0===e?void 0:e.featureId;if(!t||w||0===C.length)return;const o=C.find((e=>e.id===t));if(!o||!o.featureTag)return;_(!0);let n=0;const a=setInterval((()=>{n++;const e=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;document.querySelector(e)?(se(o),clearInterval(a)):n>=25&&(console.warn(`FeatureAnnouncements: Timed out waiting for element with selector: ${e}`),clearInterval(a))}),200);return()=>{clearInterval(a)}}),[C,null===(k=null==y?void 0:y.query)||void 0===k?void 0:k.featureId,w]),o((()=>{if(C.length>0&&!w&&!I&&!q&&!F&&!z&&D&&!X){let e=null,t=null,o=null,n=!1;const a=()=>{if(n||q||F||z||!D)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&&($(a),se(a[0]),e&&(e.disconnect(),e=null),t&&(window.removeEventListener("scroll",t),t=null),o&&(clearTimeout(o),o=null))};return e=new MutationObserver((e=>{let t=!1;for(const o of e){if("childList"===o.type&&o.addedNodes.length>0)for(let e=0;e<o.addedNodes.length;e++){const n=o.addedNodes[e];if(n.nodeType===Node.ELEMENT_NODE){const e=n;if(e.id||e.querySelector("[id]")){t=!0;break}}}if(t)break}I||n||q||F||z||!D||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||q||F||z||!D||a()}),200))})),t=()=>{I||n||q||F||z||!D||(o&&clearTimeout(o),o=setTimeout((()=>{n||q||F||z||!D||a()}),300))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),a(),setTimeout((()=>{n||q||F||z||!D||a()}),100),setTimeout((()=>{n||q||F||z||!D||a()}),1e3),setTimeout((()=>{n||q||F||z||!D||a()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}(0===C.length||w)&&(N(!1),P([]),j(null),$([]),_(!1))}),[C,w,I,q,F,z,D,S,X]);const Z=t=>{v(t);const o=T.findIndex((e=>e.id===t.id)),n=T.length,a=[{target:'[data-testid="whats-new-button"]',content:e.jsx(i,{feature:t,currentIndex:o,totalFeatures:n,onSkip:()=>ee(t),onExplore:()=>te(t),onPrevious:()=>oe(t),onNext:()=>ne(t)}),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"}}}];V(a),M(!0)},ee=n((e=>{(e||B)&&(R(!0),T.forEach((e=>{S(e.id)})),M(!1),v(null),V([]),G(!0),setTimeout((()=>{R(!1)}),500))}),[B,T,S]),te=n((e=>{R(!0),S(e.id),e.productVideo&&(Q(e.productVideo),J(!0),Y(!0)),M(!1),v(null),V([]);T.findIndex((t=>t.id===e.id))===T.length-1&&G(!0),setTimeout((()=>{R(!1)}),500)}),[T,S]),oe=n((t=>{const o=t||B;if(!o)return;const n=T.findIndex((e=>e.id===o.id));if(n>0){const t=T[n-1];v(t);const o=n-1,a=T.length,r=[{target:'[data-testid="whats-new-button"]',content:e.jsx(i,{feature:t,currentIndex:o,totalFeatures:a,onSkip:()=>ee(t),onExplore:()=>te(t),onPrevious:()=>oe(t),onNext:()=>ne(t)}),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"}}}];V(r)}}),[B,T]),ne=n((t=>{const o=t||B;if(!o)return;const n=T.findIndex((e=>e.id===o.id));if(n<T.length-1){const t=T[n+1];v(t);const o=n+1,a=T.length,r=[{target:'[data-testid="whats-new-button"]',content:e.jsx(i,{feature:t,currentIndex:o,totalFeatures:a,onSkip:()=>ee(t),onExplore:()=>te(t),onPrevious:()=>oe(t),onNext:()=>ne(t)}),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"}}}];V(r)}else R(!0),S(o.id),M(!1),v(null),V([]),G(!0),setTimeout((()=>{R(!1)}),500)}),[B,T,S]),ae=()=>{if(T.length>0&&!B){document.querySelector('[data-testid="whats-new-button"]')&&Z(T[0])}};o((()=>(window.showMajorUpdatePopup=ae,()=>{delete window.showMajorUpdatePopup})),[T,B]);const re=n((e=>{const{action:t}=e;t===r.CLOSE&&(B&&(R(!0),T.forEach((e=>{S(e.id)})),G(!0),setTimeout((()=>{R(!1)}),500)),M(!1),v(null),V([]))}),[B,T,S]),ie=n((e=>{const{action:t}=e;t===r.CLOSE&&(F&&(A(!0),_(!0),C.forEach((e=>{S(e.id)})),setTimeout((()=>{A(!1)}),500)),N(!1),j(null),P([]))}),[F,C,S]),se=t=>{j(t);const o=U.findIndex((e=>e.id===t.id)),n=U.length,a=[{target:t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,content:e.jsx(s,{feature:t,currentIndex:o,totalFeatures:n,onSkip:()=>de(t),onExplore:()=>le(t),onPrevious:()=>ue(t),onNext:()=>pe(t)}),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"}}}];P(a),N(!0)},de=n((e=>{(e||F)&&(A(!0),_(!0),C.forEach((e=>{S(e.id)})),N(!1),j(null),P([]),setTimeout((()=>{A(!1)}),500))}),[F,C,S]),le=n((e=>{A(!0),_(!0),S(e.id),e.productVideo&&(Q(e.productVideo),J(!0),Y(!0)),N(!1),j(null),P([]),setTimeout((()=>{A(!1)}),500)}),[S]),ue=n((t=>{const o=t||F;if(!o)return;const n=U.findIndex((e=>e.id===o.id));if(n>0){const t=U[n-1];j(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,a=n-1,r=U.length,i=[{target:o,content:e.jsx(s,{feature:t,currentIndex:a,totalFeatures:r,onSkip:()=>de(t),onExplore:()=>le(t),onPrevious:()=>ue(t),onNext:()=>pe(t)}),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"}}}];P(i)}}),[F,U]),pe=n((t=>{const o=t||F;if(!o)return;const n=U.findIndex((e=>e.id===o.id));if(n<U.length-1){const t=U[n+1];j(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,a=n+1,r=U.length,i=[{target:o,content:e.jsx(s,{feature:t,currentIndex:a,totalFeatures:r,onSkip:()=>de(t),onExplore:()=>le(t),onPrevious:()=>ue(t),onNext:()=>pe(t)}),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"}}}];P(i)}else A(!0),_(!0),S(o.id),N(!1),j(null),P([]),setTimeout((()=>{A(!1)}),500)}),[F,U,S]);return e.jsxs(e.Fragment,{children:[c,O.length>0&&e.jsx(a,{steps:O,run:W,continuous:!1,showProgress:!1,showSkipButton:!1,callback:re,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:"#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"}}),E.length>0&&e.jsx(a,{steps:E,run:I,continuous:!1,showProgress:!1,showSkipButton:!1,callback:ie,disableOverlayClose:!0,disableCloseOnEsc:!1,styles:{options:{primaryColor:u,zIndex:1e4,width:"auto",arrowColor:"#ffffff"},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(l,{isOpen:H,videoUrl:K,onClose:()=>{J(!1),Q(""),Y(!1)}})]})};export{p as default};
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { FeatureAnnouncement } from './FeatureAnnouncement.types';
|
|
3
|
+
interface MajorUpdatePopupProps {
|
|
4
|
+
feature: FeatureAnnouncement;
|
|
5
|
+
currentIndex: number;
|
|
6
|
+
totalFeatures: number;
|
|
7
|
+
onSkip: () => void;
|
|
8
|
+
onExplore: () => void;
|
|
9
|
+
onPrevious: () => void;
|
|
10
|
+
onNext: () => void;
|
|
11
|
+
}
|
|
3
12
|
declare const MajorUpdatePopup: React.FC<MajorUpdatePopupProps>;
|
|
4
13
|
export default MajorUpdatePopup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useRef as
|
|
1
|
+
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useRef as r,useEffect as n}from"react";const o=e=>{if(!e)return"";const t=document.createElement("textarea");return t.innerHTML=e,t.value},i=i=>{let{feature:s,currentIndex:l,totalFeatures:a,onSkip:c,onExplore:p,onPrevious:d,onNext:u}=i;const[g,x]=t(!1),[f,h]=t(""),b=r(null);n((()=>{if(g&&b.current){const e=b.current.closest('[class*="react-joyride__tooltip"]');if(e){const t=e.querySelector('[class*="react-joyride__arrow"]');t&&(t.style.opacity="0")}}}),[g]);const y=e=>{const t=document.querySelector('[data-testid="whats-new-button"]');if(t&&b.current){const e=b.current.getBoundingClientRect(),r=t.getBoundingClientRect(),n=r.left+r.width/2-(e.left+e.width/2),o=r.top+r.height/2-(e.top+e.height/2);h(`translate(${n}px, ${o}px) scale(0)`)}else h("scale(0)");x(!0),setTimeout((()=>{e()}),400)};return e.jsx(e.Fragment,{children:e.jsxs("div",Object.assign({ref:b,style:{width:"959px",height:"274px",display:"flex",backgroundColor:"#212121",borderRadius:"4px",overflow:"hidden",position:"relative",transform:g?f:"scale(1)",opacity:g?0:1,transition:"transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1)"}},{children:[e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),y(c)},style:{position:"absolute",top:"10px",right:"10px",background:"transparent",border:"none",color:"#BDBDBD",fontSize:"14px",fontWeight:"500",cursor:"pointer",zIndex:10,transition:"all 0.2s"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#f3f4f6",e.currentTarget.style.color="#374151"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent",e.currentTarget.style.color="#6b7280"}},{children:"Skip"})),e.jsx("div",Object.assign({style:{backgroundColor:"#212121",width:"480px",height:"274px",position:"relative",display:"flex",alignItems:"center",justifyContent:"center",padding:"8px"}},{children:s.displayImage?e.jsx("img",{src:s.displayImage,alt:s.title,style:{width:"464px",height:"258px",objectFit:"cover"},onError:e=>{s.image&&(e.target.src=s.image)}}):e.jsx("div",Object.assign({style:{color:"#9ca3af",fontSize:"14px",textAlign:"center",width:"290px",height:"258px",display:"flex",alignItems:"center",justifyContent:"center"}},{children:"Feature Preview"}))})),e.jsxs("div",Object.assign({style:{flex:1,display:"flex",margin:"0 8px 0 0",flexDirection:"column",justifyContent:"space-between",background:"transparent"}},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:{fontSize:"16px",fontWeight:"600",padding:"36px 0 0 0",color:"#fff",lineHeight:"1.25",textAlign:"left"}},{children:s.title})),e.jsx("div",{style:{fontSize:"14px",lineHeight:"1.5",color:"rgba(255, 255, 255, 0.8)",textAlign:"left"},dangerouslySetInnerHTML:{__html:o(s.content||s.body||"")}}),e.jsx("div",{children:e.jsx("button",Object.assign({onClick:()=>{y(p)},style:{backgroundColor:"transparent",border:"1px solid #FEC02D",color:"#FEC02D",borderRadius:"4px",fontSize:"14px",fontWeight:"500",cursor:"pointer",width:"154px",height:"32px",transition:"all 0.2s",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center",marginTop:"16px"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="rgba(254, 192, 45, 0.1)"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent"}},{children:s.buttonText||"Explore the feature"}))})]}),a>1&&e.jsxs("div",Object.assign({style:{position:"absolute",bottom:"16px",right:"16px",display:"flex",gap:"8px",alignItems:"center"}},{children:[e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),y(d)},disabled:0===l,style:{width:"24px",height:"24px",backgroundColor:"transparent",border:"none",color:0===l?"#666":"#fff",fontSize:"20px",cursor:0===l?"not-allowed":"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s"},onMouseEnter:e=>{0!==l&&(e.currentTarget.style.color="#FEC02D")},onMouseLeave:e=>{0!==l&&(e.currentTarget.style.color="#fff")}},{children:"‹"})),e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),y(u)},disabled:l===a-1,style:{width:"24px",height:"24px",backgroundColor:"transparent",border:"none",color:l===a-1?"#666":"#fff",fontSize:"20px",cursor:l===a-1?"not-allowed":"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s"},onMouseEnter:e=>{l!==a-1&&(e.currentTarget.style.color="#FEC02D")},onMouseLeave:e=>{l!==a-1&&(e.currentTarget.style.color="#fff")}},{children:"›"}))]}))]}))]}))})};export{i as default};
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { FeatureAnnouncement } from './FeatureAnnouncement.types';
|
|
3
|
+
interface MinorUpdatePopupProps {
|
|
4
|
+
feature: FeatureAnnouncement;
|
|
5
|
+
currentIndex: number;
|
|
6
|
+
totalFeatures: number;
|
|
7
|
+
onSkip: () => void;
|
|
8
|
+
onExplore: () => void;
|
|
9
|
+
onPrevious: () => void;
|
|
10
|
+
onNext: () => void;
|
|
11
|
+
}
|
|
3
12
|
declare const MinorUpdatePopup: React.FC<MinorUpdatePopupProps>;
|
|
4
13
|
export default MinorUpdatePopup;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useRef as
|
|
1
|
+
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useRef as i,useEffect as r}from"react";const n=e=>{if(!e)return"";const t=document.createElement("textarea");return t.innerHTML=e,t.value},s=s=>{let{feature:o,currentIndex:a,totalFeatures:l,onSkip:c,onExplore:x,onPrevious:p,onNext:d}=s;const[f,g]=t(!1),[h,u]=t(""),b=i(null);r((()=>{if(f&&b.current){const e=b.current.closest('[class*="react-joyride__tooltip"]');if(e){const t=e.querySelector('[class*="react-joyride__arrow"]');t&&(t.style.opacity="0")}}}),[f]);const y=e=>{if(b.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=b.current.getBoundingClientRect(),i=t.getBoundingClientRect(),r=i.left+i.width/2-(e.left+e.width/2),n=i.top+i.height/2-(e.top+e.height/2);u(`translate(${r}px, ${n}px) scale(0)`)}else u("scale(0)")}else u("scale(0)");g(!0),setTimeout((()=>{e()}),400)};return e.jsx(e.Fragment,{children:e.jsxs("div",Object.assign({ref:b,style:{width:"519px",height:"160px",display:"flex",backgroundColor:"#ffffff",borderRadius:"4px",overflow:"hidden",position:"relative",boxShadow:"0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04)",transform:f?h:"scale(1)",opacity:f?0:1,transition:"transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1)"}},{children:[e.jsx("div",Object.assign({style:{backgroundColor:"#f9fafb",borderRadius:"4px",position:"relative",display:"flex",alignItems:"center",justifyContent:"center",margin:"13px 10px 13px 10px",width:"235px",minWidth:"235px",maxWidth:"235px",height:"134px"}},{children:o.displayImage?e.jsxs("div",Object.assign({style:{position:"relative",width:"235px",height:"134px"}},{children:[e.jsx("img",{src:o.displayImage,alt:o.title,style:{width:"235px",height:"134px",objectFit:"cover",borderRadius:"4px",display:"block"},onError:e=>{o.image&&(e.target.src=o.image)}}),e.jsx("div",Object.assign({style:{position:"absolute",top:"0px",left:"0px",right:"0px",height:"27px",backgroundColor:"rgba(0, 0, 0, 0.26)",borderRadius:"4px 4px 4px 4px",display:"flex",alignItems:"center",justifyContent:"center",zIndex:10}},{children:e.jsx("span",Object.assign({style:{color:"#ffffff",fontWeight:"400",fontSize:"14px"}},{children:"New feature"}))}))]})):e.jsx("div",Object.assign({style:{color:"#9ca3af",fontSize:"14px",textAlign:"center",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#f3f4f6",borderRadius:"4px"}},{children:"Feature Preview"}))})),e.jsxs("div",Object.assign({style:{flex:1,display:"flex",margin:"13px 13px 13px 3px",flexDirection:"column",justifyContent:"space-between",background:"transparent"}},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:{fontSize:"16px",fontWeight:"600",padding:"0 0 0 0",color:"#212121",lineHeight:"1.25",textAlign:"left"}},{children:o.title})),e.jsx("div",{style:{fontSize:"12px",fontWeight:"400",lineHeight:"1.2",color:"#616161",textAlign:"left",maxHeight:"48px",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical"},dangerouslySetInnerHTML:{__html:n(o.content||o.body||"")}})]}),e.jsxs("div",Object.assign({style:{position:"absolute",bottom:"13px",right:"10px",display:"flex",gap:"16px",alignItems:"center"}},{children:[e.jsx("span",Object.assign({onClick:()=>y(c),style:{color:"#4B1583",fontSize:"14px",fontWeight:"500",cursor:"pointer",transition:"all 0.2s"}},{children:"Understood"})),o.productVideo&&e.jsx("button",Object.assign({onClick:()=>{y(x)},style:{backgroundColor:"#4B1583",border:"none",color:"#ffffff",borderRadius:"4px",fontSize:"14px",fontWeight:"500",cursor:"pointer",width:"154px",height:"32px",transition:"all 0.2s",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center"}},{children:o.buttonText||"Explore the feature"}))]}))]}))]}))})};export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"../../node_modules/react/jsx-runtime.js";
|
|
1
|
+
import{j as e}from"../../node_modules/react/jsx-runtime.js";const t=t=>{let{isOpen:o,videoUrl:r,onClose:i}=t;if(!o)return null;const s=r.includes("youtube.com")||r.includes("youtu.be")?r.replace("watch?v=","embed/").replace("youtu.be/","youtube.com/embed/"):r,n=r.includes("youtube.com")||r.includes("youtu.be");return e.jsx("div",Object.assign({style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0, 0, 0, 0.9)",zIndex:2e3,display:"flex",justifyContent:"center",alignItems:"center",padding:"20px"},onClick:e=>{e.target===e.currentTarget&&i()}},{children:e.jsxs("div",Object.assign({style:{position:"relative",width:"90vw",height:"90vh",maxWidth:"1200px",maxHeight:"800px",backgroundColor:"black",borderRadius:"12px",overflow:"hidden",boxShadow:"0 25px 50px rgba(0, 0, 0, 0.8)"},onClick:e=>e.stopPropagation()},{children:[e.jsx("button",Object.assign({onClick:i,style:{position:"absolute",top:"20px",right:"20px",background:"rgba(0, 0, 0, 0.7)",border:"none",color:"white",fontSize:"24px",width:"40px",height:"40px",borderRadius:"50%",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",zIndex:10,transition:"background-color 0.2s"},onMouseOver:e=>{e.currentTarget.style.backgroundColor="rgba(0, 0, 0, 0.9)"},onMouseOut:e=>{e.currentTarget.style.backgroundColor="rgba(0, 0, 0, 0.7)"}},{children:"×"})),e.jsx("div",Object.assign({style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"}},{children:r?n?e.jsx("iframe",{width:"100%",height:"100%",src:s,title:"Product Video",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0,style:{borderRadius:"12px"}}):e.jsxs("video",Object.assign({controls:!0,autoPlay:!0,style:{width:"100%",height:"100%",objectFit:"contain",borderRadius:"12px"}},{children:[e.jsx("source",{src:r,type:"video/mp4"}),e.jsx("source",{src:r,type:"video/webm"}),e.jsx("source",{src:r,type:"video/ogg"}),"Your browser does not support the video tag."]})):e.jsx("div",Object.assign({style:{color:"white",fontSize:"18px",textAlign:"center"}},{children:"No video available"}))}))]}))}))};export{t as VideoModal};
|
|
@@ -2,6 +2,5 @@ export { default as FeatureAnnouncementProvider } from './FeatureAnnouncementPro
|
|
|
2
2
|
export { default as MajorUpdatePopup } from './MajorUpdatePopup';
|
|
3
3
|
export { default as MinorUpdatePopup } from './MinorUpdatePopup';
|
|
4
4
|
export { VideoModal } from './VideoModal';
|
|
5
|
-
export
|
|
6
|
-
export * from './types';
|
|
7
|
-
export { TEXT, ANIMATION_TIMING, POPUP_DIMENSIONS } from './constants';
|
|
5
|
+
export * from './useFeatureAnnouncements';
|
|
6
|
+
export * from './FeatureAnnouncement.types';
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
import { FeatureAnnouncement
|
|
2
|
-
export
|
|
3
|
-
module?: string |
|
|
1
|
+
import { FeatureAnnouncement } from './FeatureAnnouncement.types';
|
|
2
|
+
export interface FeatureAnnouncementRepoInjected {
|
|
3
|
+
fetchVisibleFeatures: (module?: string) => Promise<[any, FeatureAnnouncement[] | null]>;
|
|
4
|
+
getStoreFeatureProgress: (storeId: string) => Promise<[any, any | null]>;
|
|
5
|
+
fetchFeatureById: (featureId: string) => Promise<[any, FeatureAnnouncement | null]>;
|
|
6
|
+
markFeatureAsViewedForStore: (storeId: string, featureId: string) => Promise<[any]>;
|
|
7
|
+
isFeatureApplicableToCurrentPage: (feature: FeatureAnnouncement) => boolean;
|
|
8
|
+
module?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface RouterProps {
|
|
11
|
+
pathname: string;
|
|
12
|
+
query: Record<string, string | string[] | undefined>;
|
|
13
|
+
}
|
|
14
|
+
export declare const useFeatureAnnouncements: ({ fetchVisibleFeatures, getStoreFeatureProgress, fetchFeatureById, markFeatureAsViewedForStore, isFeatureApplicableToCurrentPage, module, router, }: FeatureAnnouncementRepoInjected & {
|
|
4
15
|
router?: RouterProps | undefined;
|
|
5
16
|
}) => {
|
|
6
17
|
features: FeatureAnnouncement[];
|
|
@@ -0,0 +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:s,module:d,router:c}=a;const f=(()=>{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})(),[p,g]=t([]),[y,m]=t([]),[v,w]=t([]),[F,h]=t(!1),[D,U]=t(null),x=r((()=>e(void 0,void 0,void 0,(function*(){if(f){h(!0),U(null);try{const[e,t]=yield n(d);if(e||!t)return console.error("FeatureAnnouncements: Failed to fetch features",e),void U("Failed to fetch features");const[r,o]=yield i(f);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},p=t.filter((e=>{var t;return!((null===(t=null==o?void 0:o.viewedFeatures)||void 0===t?void 0:t[e.id])||!1)&&s(e)&&u(e)&&c(e)})),y=p.filter((e=>"Major"===e.featureUpdateType)),v=p.filter((e=>"Minor"===e.featureUpdateType));g(p),m(y),setTimeout((()=>{w(v)}),2e3)}catch(e){console.error("FeatureAnnouncements: Unexpected error in fetchFeatures",e),U("An unexpected error occurred")}finally{h(!1)}}}))),[f,n,i,s,d]),I=r((t=>e(void 0,void 0,void 0,(function*(){h(!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?m([r]):w([r]),g([r])}catch(e){U("An unexpected error occurred while fetching by ID")}finally{h(!1)}}))),[l]),A=r((t=>e(void 0,void 0,void 0,(function*(){if(!f)return;const[e]=yield u(f,t);e?(console.warn("FeatureAnnouncements: Failed to mark feature as viewed, removing from local state anyway",e),g((e=>e.filter((e=>e.id!==t)))),m((e=>e.filter((e=>e.id!==t)))),w((e=>e.filter((e=>e.id!==t))))):(g((e=>e.filter((e=>e.id!==t)))),m((e=>e.filter((e=>e.id!==t)))),w((e=>e.filter((e=>e.id!==t)))))}))),[f,u]);return o((()=>{if(!c)return void x();const e=c.query.featureId;e?I(e):x()}),[null==c?void 0:c.query,x,I]),{features:p,majorUpdateFeatures:y,minorUpdateFeatures:v,isLoading:F,error:D,markFeatureAsViewed:A,refetch:x}};export{a as useFeatureAnnouncements};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as t}from"../../node_modules/react/jsx-runtime.js";import{COLORS as s}from"../../constants/Theme.js";import{Tooltip as e}from"../tooltips/Tooltip.js";import{WhatsNewIconContainer as
|
|
1
|
+
import{j as t}from"../../node_modules/react/jsx-runtime.js";import{COLORS as s}from"../../constants/Theme.js";import{Tooltip as e}from"../tooltips/Tooltip.js";import{WhatsNewIconContainer as n}from"./WhatsNew.styles.js";const i=s=>{let{width:e=32,height:n=32}=s;return t.jsxs("svg",Object.assign({width:e,height:n,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},{children:[t.jsxs("g",Object.assign({clipPath:"url(#clip0_4309_13422)"},{children:[t.jsx("path",{d:"M22.1797 15.3052L15.4548 24.4022C15.3815 24.5014 15.3339 24.6172 15.316 24.7392C15.2982 24.8613 15.3108 24.9859 15.3526 25.1019L15.7733 26.2675C15.8141 26.3806 15.8815 26.4822 15.9698 26.5638C16.0581 26.6454 16.1647 26.7046 16.2806 26.7364C16.3966 26.7682 16.5185 26.7716 16.636 26.7464C16.7536 26.7212 16.8634 26.6681 16.9561 26.5916L20.7368 23.5654",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M6.4457 17.6642C6.36082 17.7791 6.31051 17.9158 6.30068 18.0583C6.29085 18.2008 6.32192 18.3431 6.39022 18.4686C6.45853 18.594 6.56123 18.6973 6.68626 18.7664C6.81128 18.8355 6.95343 18.8674 7.09598 18.8584C13.4962 18.4646 17.7214 21.3363 17.7214 21.3363L20.7369 23.5654C21.5366 24.1567 22.5385 24.406 23.5221 24.2585C24.5056 24.111 25.3903 23.5789 25.9816 22.7791C26.5728 21.9794 26.8221 20.9775 26.6746 19.9939C26.5272 19.0104 25.995 18.1257 25.1952 17.5344L22.1797 15.3053C22.1797 15.3053 18.1953 12.1079 16.6943 5.87443C16.6611 5.7356 16.5889 5.60913 16.4863 5.50988C16.3837 5.41062 16.2549 5.34272 16.1151 5.31413C15.9752 5.28554 15.8301 5.29746 15.6968 5.34849C15.5635 5.39952 15.4475 5.48754 15.3624 5.6022L6.4457 17.6642Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M7.69175 12.0819L5.24902 11.3518",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),t.jsx("path",{d:"M10.9423 8.35748L9.88867 6.03589",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),t.jsx("path",{d:"M8.91955 9.68574L5.66699 6.87134",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})),t.jsx("defs",{children:t.jsx("clipPath",Object.assign({id:"clip0_4309_13422"},{children:t.jsx("rect",{width:"24",height:"24",fill:"white",transform:"translate(4 4)"})}))})]}))},o=o=>{let{onClick:r,newContentCount:c=0,isOpen:d=!1,isLoading:a=!1,tooltip:h="What's new",testId:l="whats-new-button",iconWidth:j=32,iconHeight:p=32,customIcon:x}=o;return a?t.jsxs("div",Object.assign({style:{margin:"0px 8px"}},{children:[t.jsx("div",{style:{width:16,height:16,border:"2px solid #f3f3f3",borderTop:"2px solid #731DCF",borderRadius:"50%",animation:"spin 1s linear infinite"}}),t.jsx("style",{children:"\n\t\t\t\t\t\t@keyframes spin {\n\t\t\t\t\t\t\t0% { transform: rotate(0deg); }\n\t\t\t\t\t\t\t100% { transform: rotate(360deg); }\n\t\t\t\t\t\t}\n\t\t\t\t\t"})]})):t.jsx(n,Object.assign({count:c},{children:t.jsxs("div",Object.assign({className:"main-icon-class "+(d?"icon-active":""),style:{color:d?s.content.brand:s.content.secondary},onClick:r,"data-testid":l},{children:[t.jsx(e,Object.assign({body:h},{children:t.jsx("div",{children:x?t.jsx(x,{width:j,height:p,color:d?s.content.brand:s.content.secondary}):t.jsx(i,{width:j,height:p})})})),c>0&&t.jsx("div",Object.assign({className:"notification--count"},{children:t.jsx("div",Object.assign({className:"count--text"},{children:c}))}))]}))}))};export{o as WhatsNewButton};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../_virtual/_tslib.js";import{differenceInBusinessDays as t}from"date-fns";import{useState as o,
|
|
1
|
+
import{__awaiter as e}from"../../_virtual/_tslib.js";import{differenceInBusinessDays as t}from"date-fns";import{useState as o,useCallback as n,useEffect as r}from"react";const a=a=>{let{fetchWhatsNewContent:i,markContentAsViewed:d,module:c,newContentThresholdDays:l=7}=a;const[s,f]=o([]),[u,w]=o(!0),v=n((()=>e(void 0,void 0,void 0,(function*(){w(!0);try{const[e,t]=yield i();if(e)console.error("Failed to fetch what's new content:",e),f([]);else if(t){let e=t;c&&(e=t.filter((e=>Array.isArray(e.module)?e.module.includes(c):e.module===c))),e.sort(((e,t)=>{var o,n;const r=(null===(o=e.createdAt)||void 0===o?void 0:o.toDate)?e.createdAt.toDate():new Date(e.createdAt);return((null===(n=t.createdAt)||void 0===n?void 0:n.toDate)?t.createdAt.toDate():new Date(t.createdAt)).getTime()-r.getTime()})),f(e)}else f([])}catch(e){console.error("Failed to fetch what's new content:",e),f([])}finally{w(!1)}}))),[i,c]);r((()=>{v()}),[v]);const m=n((e=>{if(!e.createdAt)return!1;const o=e.createdAt.toDate?e.createdAt.toDate():new Date(e.createdAt);return t(new Date,o)<l}),[l]),A=s.reduce(((e,t)=>m(t)?e+1:e),0);return{whatsNewContent:s,isLoading:u,newContentCount:A,markAsViewed:n((t=>e(void 0,void 0,void 0,(function*(){if(d)try{yield d(t)}catch(e){console.warn("Failed to mark content as viewed:",e)}}))),[d]),refreshContent:n((()=>e(void 0,void 0,void 0,(function*(){yield v()}))),[v])}};export{a as useWhatsNew};
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AmplitudeEvent}from"./amplitude/index.js";import*as o from"./components/template-preview/constants/regexPatterns.js";export{o as regexPatterns};export{default as StringUtils}from"./utils/StringUtils.js";export{BASE_COLORS,COLORS,DEFAULT_THEME,FONTS}from"./constants/Theme.js";export{ComponentZindex}from"./constants/zindex.js";export{CheckBox}from"./components/checkBox/CheckBox.js";export{ListItem}from"./components/list-item/ListItem.js";export{Pagination}from"./components/pagination/Pagination.js";export{RadioButton}from"./components/radioButton/RadioButton.js";export{Toaster}from"./components/toaster/Toaster.js";export{Tooltip}from"./components/tooltips/Tooltip.js";export{PureSpinner,Spinner}from"./components/spinner/Spinner.js";export{Stepper}from"./components/stepper/Stepper.js";export{Tag}from"./components/tag/Tag.js";export{IconButton}from"./components/icon-button/IconButton.js";export{TemplatePreview}from"./components/template-preview/TemplatePreview.js";export{WhatsappLikePreview}from"./components/template-preview/WhatsApp/WhatsAppLikePreview.js";export{WhatsappLikePreviewV2}from"./components/template-preview/WhatsApp/WhatsAppLikePreviewV2.js";export{renderVariableUIForPreview}from"./components/template-preview/helpers/SmsTemplateHelper.js";export{WhatsAppFormatToHTML}from"./components/template-preview/helpers/WhatsAppFormatToHTML.js";export{VariableEditorHelper}from"./components/template-preview/helpers/VariableEditorHelper.js";export{ACTIONS_TYPES,CUSTOM_URL_NAME,HEADER_TYPES,STATIC_URL_CTA_OPTION,TEMPLATE_EDITOR,TEMPLATE_STATUS,UNSUBSCRIBE_URL_OPTION}from"./components/template-preview/models/TemplateMeta.js";export{BUTTON_TYPE,POD,TEMPLATE_QUALITY}from"./components/template-preview/models/WhatsAppTemplate.js";export{CHANNEL_TYPE}from"./components/template-preview/models/Channels.js";export{TemplateContextMapper}from"./components/template-context-mapper/TemplateContextMapper.js";export{getAllDataFromTemplateComponent,getAllDataFromWebpushTemplateComponent}from"./components/template-context-mapper/utils/getDataFromTemplateComponent.js";export{isVariable,validateIsUrl}from"./components/template-context-mapper/utils/validateIsUrl.js";import"./_virtual/_tslib.js";export{TemplateAnalyticsSkeleton}from"./components/template-context-mapper/modalElements/TemplateAnalyticsSkeleton.js";export{AnalyticsItem,QualityTimelineChart,RightPanelTemplateAnalytics,TemplateAnalyticsComponent}from"./components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js";export{FABMenu}from"./components/fab-menu/FABMenu.js";export{FloatingActionButton}from"./components/floating-action-button/FloatingActionButton.js";export{DROP_POSITION,DropdownToggleContainer,FAB_POSITION,FloatingActionButtonContainer,FloatingActionButtonOuterContainer,MENU_ALIGNMENT,StyledDropdown,TooltipStyled}from"./components/floating-action-button/FloatingActionButton.styles.js";export{ImageService}from"./components/image-compress/ImageCompress.js";export{AiBodyCaption,AiBodyTiny,BodyCaption,BodyLarge,BodyPrimary,BodyPrimaryLink,BodyRegular,BodySecondary,BodySecondaryLink,BodySmall,BodyTiny,ButtonLarge,ButtonLargeAI,ButtonRegular,ButtonRegularAI,Caption,CaptionBold,Display,SmallRegular,SubHeading,TextPlaceholder,Tiny,TitleFour,TitleLarge,TitleMedium,TitleRegular,TitleSmall,TitleXlarge}from"./components/TypographyStyle.js";export{Button}from"./components/button/Button.js";export{ProgressBarComponent,ProgressCompletedBar}from"./components/progress-bar/ProgressBarComponent.js";import"./node_modules/react/jsx-runtime.js";export{ProgressBarType,ProgressBarV2,TextAlignment}from"./components/progress-bar-v2/ProgressBarV2.js";export{QueryBuilder}from"./components/QueryBuilder/QueryBuilder.js";export{BaseQueryBuilderNode}from"./components/QueryBuilder/components/QueryBuilderNode/Base/BaseQueryBuilderNode.js";export{PropertyNode,PropertyNodeHeadless}from"./components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js";export{queryBuilderSlice}from"./components/QueryBuilder/redux/queryBuilder.reducer.js";export{queryBuilderCacheSlice}from"./components/QueryBuilder/redux/queryBuilderCache.reducer.js";export{AD_STRING_OPERATORS,ANY_AD_OPERATORS,ANY_IG_OPERATORS,BOOLEAN_OPERATORS,DATE_OPERATORS,EVENT_VALUES,EXACTLY_OPERATORS,FREQUENCY_OPERATORS,ICE_BREAKER_OPERATORS,IG_STRING_OPERATORS,INTEGER_OPERATORS,MAIL_SUBJECT_OPERATORS,REACTION_OPERATORS,SPECIFIC_IG_OPERATORS,STRING_OPERATORS,STRING_RESTRICTED_OPERATORS,STRING_RESTRICTED_OPERATORS_2,STRING_RESTRICTED_OPERATORS_3}from"./components/QueryBuilder/types/QueryBuilderOperator.type.js";export{StyledModal}from"./components/modals/styledModal.js";export{DropdownPopover}from"./components/dropdown/DropdownPopover/index.js";export{Dropdown}from"./components/dropdown/Dropdown.js";export{ChipDropdown,ChipDropdownContainer}from"./components/dropdown/ChipDropdown.js";export{OpenedDropdown}from"./components/dropdown/OpenedDropdown/components/OpennedDropdown.js";export{MenuItemDropdown}from"./components/dropdown/MenuItem/MenuItem.js";export{AnalyticsCard}from"./components/analytics-card/AnalyticsCard.js";export{AnalyticsContainer,CardDataContainer}from"./components/analytics-card/AnalyticsCard.styled.js";export{Input}from"./components/input/Input.js";export{AnalyticsChip}from"./components/analytics-chips-and-dropdowns/AnalyticsChip.js";export{AnalyticsDropdown,EachItem,formatDate}from"./components/analytics-chips-and-dropdowns/AnalyticsDropdown.js";export{AnalyticsMultiChip}from"./components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js";export{AnalyticsMetric}from"./components/analytics-chips-and-dropdowns/AnalyticsMetric.js";export{AnalyticsTrend}from"./components/analytics-chips-and-dropdowns/AnalyticsTrend.js";export{LineChart}from"./components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js";export{LinearChipGroupedChart}from"./components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js";export{Card,PieChartAnalytics}from"./components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js";export{PieChart}from"./components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js";export{HorizontalGraph}from"./components/analytics-chips-and-dropdowns/chart/HorizontalBarGraph/HorizontalGraph.js";export{StackedBarChart}from"./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js";export{StackedBarDistributionChart}from"./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.js";export{GRAPH_ORIENTATION}from"./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.model.js";export{VerticalGraph}from"./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js";export{FunnelVerticalBarGraph}from"./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js";export{HEAT,HEAT_COLORS,HEAT_GRADING_TYPE,HeatMap}from"./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js";export{HeatBoxStyled,HeatMapVertical}from"./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js";export{VerticalBarAndLinearGraph}from"./components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js";export{TruncateValue,calculatePercentage,roundNumber,truncateValueForIndianStore,truncateValueForInternationalStore,truncateValueTo10K,truncateValueToA,truncateValueToB,truncateValueToC,truncateValueToK,truncateValueToL,truncateValueToM,truncateValueToT}from"./components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js";export{AVATAR_SIZE_VS_ICON_SIZE_MAP,Avatar,BACKGROUND_VS_TEXT_COLOR_MAP,MESSAGE_CHANNELS}from"./components/avatar/Avatar.js";export{AVATAR_BACKGROUND,AVATAR_SIZE_MAP,AVATAR_TYPES,SIZE}from"./components/avatar/AvatarHelper.js";export{Alert}from"./components/alerts/Alert.js";export{ALERT_TYPES,COLOR_CONFIG_MAP,CONTENT_POSITION}from"./components/alerts/AlertHelper.js";export{RATIO,Thumbnail}from"./components/thumbnail/Thumbnail.js";export{Curtain}from"./components/curtain/Curtain.js";export{DatePicker}from"./components/datePicker/DatePicker.js";export{DatePickerWrapper}from"./components/datePicker/DatePickerWrapper.js";export{TimePicker}from"./components/datePicker/TimePicker.js";export{Loader,Switch,SwitchContainer,Thumb}from"./components/switch/Switch.js";export{SubscriptionPlan}from"./components/plans/SubscriptionPlan.js";export{BottomWrapper,HeaderWrapper,SubscriptionPlanSelector,defaultTabs}from"./components/plans/SubscriptionPlanSelector.js";export{NewSubscriptionPlan}from"./components/plans/NewSubscriptionPlan.js";export{SubscriptionPlansCollected}from"./components/plans/SubscriptionPlansCollected.js";export{TabItemComponent,Tabs}from"./components/tabs/Tabs.js";export{DynamicTabs}from"./components/dynamic-tabs/DynamicTabs.js";export{BikShimmer}from"./components/shimmer/ShimmerComponent/BikShimmer.js";export{TablePagination}from"./components/TablePagination/TablePagination.js";export{TablePaginationCard,TablePaginationCardStyled}from"./components/TablePagination/TablePaginationCard.js";export{StateModalComponent}from"./components/states-modal/StateModalComponent.js";export{DeleteConfirmationModal}from"./components/states-modal/DeleteConfirmationModal.js";export{ButtonActions,ButtonTypes,StateComponent,StateInterface}from"./components/states/StateComponent.js";export{ShopifyScopeWrapper}from"./components/states/ShopifyScopeWrapper.js";export{WhatsAppTextEditor}from"./components/WhatsAppTextEditor/WhatsAppTextEditor.js";export{CustomRightBorder,EditorActionTypes,WhatsAppTextEditorHeader}from"./components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js";export{BackgroundImageContainer,MainCardContainer,MainContainer,WhatsNewIconContainer,WhatsNewWrapper}from"./components/whats-new/WhatsNew.styles.js";export{WhatsNewButton}from"./components/whats-new/WhatsNewButton.js";export{WhatsNewPanel}from"./components/whats-new/WhatsNewPanel.js";export{WhatsNewProvider,useWhatsNewContext}from"./components/whats-new/WhatsNewProvider.js";export{WhatsNew}from"./components/whats-new/WhatsNew.js";export{useWhatsNew}from"./components/whats-new/useWhatsNew.js";export{BaseWhatsappContentLangHelper}from"./helpers/BaseWhatsappContentLang.helper.js";export{CURTAIN_COLOR_CONFIG_MAP,CURTAIN_MODE,CURTAIN_TYPES}from"./components/curtain/CurtainHelper.js";export{resizeImage}from"./utils/resizeImage.js";export{PickerType}from"./components/variable-picker-v3/model.js";export{CardSelectionModal}from"./components/card-selection-modal/CardSelectionModal.js";export{BikImageCropper}from"./components/image-cropper/BikImageCropper.js";export{BikImagePipeline}from"./components/image-cropper/BikImagePipeline/BikImagePipeline.js";export{ButtonGroup}from"./components/buttonGroup/ButtonGroup.js";export{BikAccordion}from"./components/accordion/Accordion.js";export{FileUploader}from"./components/file-uploader/FileUploader.js";export{ColourInput}from"./components/colourInput/ColourInput.js";export{CodeBlock}from"./components/code-block/CodeBlock.js";export{CodeLanguage}from"./components/code-block/types.js";export{BikHeader}from"./components/bik-layout/BikHeader.js";export{BikLayout}from"./components/bik-layout/BikLayout.js";export{BikProfile}from"./components/bik-layout/BikProfile.js";export{SimpleSidebar}from"./components/bik-layout/SimpleSidebar.js";export{BikSidebar}from"./components/bik-layout/BikSidebar.js";export{FeatureModal}from"./components/bik-layout/FeatureModal.js";export{SidebarSkeleton}from"./components/bik-layout/SidebarSkeleton.js";export{ShowShopifyRestrictedModal}from"./components/bik-layout/ShowShopifyRestrictedModal.js";export{FeatureModalV2}from"./components/bik-layout/FeatureModalV2.js";export{SearchBar}from"./components/searchBar/searchBar.js";export{CustomDateTime}from"./components/custom-date-time/CustomDateTime.js";export{PricePleaseProductPicker,ProductPickerContent}from"./components/product-picker/ProductPickerModal.js";export{DiscountModal}from"./components/discount-modal/DiscountModal.js";export{CouponExpiration}from"./components/discount-modal/CouponExpiration/CouponExpiration.js";export{COUPON_EXPIRATION,DISCOUNT_APPLIES_TO,DISCOUNT_TARGET_SELECTION,DISCOUNT_TARGET_TYPES,DISCOUNT_TYPES,DISCOUNT_VALUE_TYPES,MIN_PURCHASE_REQUIREMENT,OFFER_APPLIES_TO,initialDynamicCouponErrorState,initialStaticCouponErrorState}from"./components/discount-modal/type.js";export{CountryCodePicker}from"./components/country-code-picker/CountryCodePicker.js";export{CountriesData}from"./components/country-code-picker/CountryCodePicker.modal.js";export{DEFAULT_IMAGE,ShimmerImage}from"./components/shimmer-image/ShimmerImage.js";export{ProductPickerModal}from"./components/product-picker-v2/modal.js";export{ScreenName}from"./components/product-picker-v2/type.js";export{Carousel}from"./components/carousel/carousel.js";export{CarouselSecondary}from"./components/carousel-secondary/CarouselSecondary.js";export{AccessTokenTroubleshootDialog}from"./components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js";export{RadioList}from"./components/radioList/RadioList.js";export{CheckList}from"./components/checkList/CheckList.js";export{DateKeys,MEDIA_TYPES,PostPicker,dateOptions}from"./components/postPicker/postPicker.js";export{DropdownButton}from"./components/dropdown-button/DropdownButton.js";export{SideModal}from"./components/side-modal/SideModal.js";export{KeywordsInput}from"./components/keywords-input/KeywordsInput.js";export{AddVariableV2SideModal}from"./components/add-variableV2/AddVariableV2SideModal.js";export{AddVariableV2}from"./components/add-variableV2/AddVariableV2.js";export{NaLinkWrapper,NavigationHyperlink}from"./components/navigation-hyperlink/NavigationHyperlink.js";export{SearchFilter}from"./components/SearchFilter/index.js";export{InputWithVariables}from"./components/input-with-vars/InputWithVariables.js";export{DashboardReviewPopUp}from"./components/dashboard-review-popup/DashboardReviewPopUp.js";export{StarRating}from"./components/star-rating/StarRating.js";export{TestimonialCard}from"./components/testimonial-card/TestimonialCard.js";export{BikSlider}from"./components/slider/slider.js";export{ResizableImage}from"./components/resizeImage/index.js";export{validateURL}from"./utils/validator.js";export{CarouselPreview}from"./components/carousel-preview/CarouselPreview.js";export{Floater}from"./components/floater/floater.js";export{CardSelector}from"./components/card-selector/CardSelector.js";export{CardSelectorGroup}from"./components/card-selector/CardSelectorGroup.js";export{VariablePicker}from"./components/variable-picker-v3/VariablePicker.js";export{ActionButtons}from"./components/action-button/ActionButtons.js";export{ActivateBikAi}from"./components/ai-modals/ActivateBikAI.js";export{AiSyncProgress}from"./components/ai-modals/AiSyncProgress.js";export{AiCreditsExhausted}from"./components/ai-modals/AiCreditsExhausted.js";export{AiCreditsLow}from"./components/ai-modals/AiCreditsLow.js";export{CustomPortal}from"./components/input-with-vars/customPortal.js";export{FloatingInputDropdown}from"./components/floating-input-dropdown/FloatingInputDropdown.js";export{MultilevelDropdownPopover}from"./components/dropdown/MultilevelDropdownPopover/index.js";export{DropShadow}from"./components/dropShadow/DropShadow.js";export{MultiLevelDropdown}from"./components/multi-level-dropdown/MultiLevelDropdown.js";export{DataSourcePanel}from"./components/data-source-panel/DataSourcePanel.js";export{UnsatisfactoryResponseList}from"./components/unsatisfactory-response-list/UnsatisfactoryResponseList.js";export{UnsatisfactoryCountIntentWiseModal}from"./components/unsatisfactory-response-list/UnsatisfactoryCountIntentWiseModal.js";export{CustomDataCategories,CustomDataType}from"./components/data-source-panel/model.js";export{TextPickerModal}from"./components/text-picker/TextPickerModal.js";export{DotPulse}from"./components/dot-pulse/DotPulse.js";export{BIKChatbot}from"./components/bik-chatbot/components/BIKChatbot.js";export{AIChat}from"./components/bik-chatbot/components/AIChat.js";export{AIProvider,useAIContext}from"./components/bik-chatbot/contexts/AIContext.js";export{useAIChat}from"./components/bik-chatbot/services/useAIChat.js";export{CHAT_MESSAGE_ROLES,DEFAULT_CONVERSATION_ID,createSessionRecord}from"./components/bik-chatbot/types/chat.js";export{DEFAULT_MAX_TOOL_CALLS,DEFAULT_RESPONSE_FORMAT,RESPONSE_FORMATS}from"./components/bik-chatbot/types/ai.js";export{default as AdBanner}from"./components/banner/AdBanner.js";export{BannerThirdPartyIcon,BannerType,getUrlForBannerThirdPartyIcon}from"./components/banner/model.js";export{default as FeatureAnnouncementProvider}from"./components/feature-announcements/FeatureAnnouncementProvider.js";export{default as MajorUpdatePopup}from"./components/feature-announcements/MajorUpdatePopup.js";export{default as MinorUpdatePopup}from"./components/feature-announcements/MinorUpdatePopup.js";export{VideoModal}from"./components/feature-announcements/VideoModal.js";export{useFeatureAnnouncements}from"./components/feature-announcements/hooks/useFeatureAnnouncements.js";export{TEXT}from"./components/feature-announcements/constants/index.js";export{CarouselVersion}from"./components/carousel-secondary/model.js";export{ANIMATION_TIMING}from"./components/feature-announcements/constants/animations.js";export{POPUP_DIMENSIONS}from"./components/feature-announcements/constants/dimensions.js";
|
|
1
|
+
export{AmplitudeEvent}from"./amplitude/index.js";import*as o from"./components/template-preview/constants/regexPatterns.js";export{o as regexPatterns};export{default as StringUtils}from"./utils/StringUtils.js";export{BASE_COLORS,COLORS,DEFAULT_THEME,FONTS}from"./constants/Theme.js";export{ComponentZindex}from"./constants/zindex.js";export{CheckBox}from"./components/checkBox/CheckBox.js";export{ListItem}from"./components/list-item/ListItem.js";export{Pagination}from"./components/pagination/Pagination.js";export{RadioButton}from"./components/radioButton/RadioButton.js";export{Toaster}from"./components/toaster/Toaster.js";export{Tooltip}from"./components/tooltips/Tooltip.js";export{PureSpinner,Spinner}from"./components/spinner/Spinner.js";export{Stepper}from"./components/stepper/Stepper.js";export{Tag}from"./components/tag/Tag.js";export{IconButton}from"./components/icon-button/IconButton.js";export{TemplatePreview}from"./components/template-preview/TemplatePreview.js";export{WhatsappLikePreview}from"./components/template-preview/WhatsApp/WhatsAppLikePreview.js";export{WhatsappLikePreviewV2}from"./components/template-preview/WhatsApp/WhatsAppLikePreviewV2.js";export{renderVariableUIForPreview}from"./components/template-preview/helpers/SmsTemplateHelper.js";export{WhatsAppFormatToHTML}from"./components/template-preview/helpers/WhatsAppFormatToHTML.js";export{VariableEditorHelper}from"./components/template-preview/helpers/VariableEditorHelper.js";export{ACTIONS_TYPES,CUSTOM_URL_NAME,HEADER_TYPES,STATIC_URL_CTA_OPTION,TEMPLATE_EDITOR,TEMPLATE_STATUS,UNSUBSCRIBE_URL_OPTION}from"./components/template-preview/models/TemplateMeta.js";export{BUTTON_TYPE,POD,TEMPLATE_QUALITY}from"./components/template-preview/models/WhatsAppTemplate.js";export{CHANNEL_TYPE}from"./components/template-preview/models/Channels.js";export{TemplateContextMapper}from"./components/template-context-mapper/TemplateContextMapper.js";export{getAllDataFromTemplateComponent,getAllDataFromWebpushTemplateComponent}from"./components/template-context-mapper/utils/getDataFromTemplateComponent.js";export{isVariable,validateIsUrl}from"./components/template-context-mapper/utils/validateIsUrl.js";import"./_virtual/_tslib.js";export{TemplateAnalyticsSkeleton}from"./components/template-context-mapper/modalElements/TemplateAnalyticsSkeleton.js";export{AnalyticsItem,QualityTimelineChart,RightPanelTemplateAnalytics,TemplateAnalyticsComponent}from"./components/template-context-mapper/modalElements/TemplateAnalyticsComponent.js";export{FABMenu}from"./components/fab-menu/FABMenu.js";export{FloatingActionButton}from"./components/floating-action-button/FloatingActionButton.js";export{DROP_POSITION,DropdownToggleContainer,FAB_POSITION,FloatingActionButtonContainer,FloatingActionButtonOuterContainer,MENU_ALIGNMENT,StyledDropdown,TooltipStyled}from"./components/floating-action-button/FloatingActionButton.styles.js";export{ImageService}from"./components/image-compress/ImageCompress.js";export{AiBodyCaption,AiBodyTiny,BodyCaption,BodyLarge,BodyPrimary,BodyPrimaryLink,BodyRegular,BodySecondary,BodySecondaryLink,BodySmall,BodyTiny,ButtonLarge,ButtonLargeAI,ButtonRegular,ButtonRegularAI,Caption,CaptionBold,Display,SmallRegular,SubHeading,TextPlaceholder,Tiny,TitleFour,TitleLarge,TitleMedium,TitleRegular,TitleSmall,TitleXlarge}from"./components/TypographyStyle.js";export{Button}from"./components/button/Button.js";export{ProgressBarComponent,ProgressCompletedBar}from"./components/progress-bar/ProgressBarComponent.js";import"./node_modules/react/jsx-runtime.js";export{ProgressBarType,ProgressBarV2,TextAlignment}from"./components/progress-bar-v2/ProgressBarV2.js";export{QueryBuilder}from"./components/QueryBuilder/QueryBuilder.js";export{BaseQueryBuilderNode}from"./components/QueryBuilder/components/QueryBuilderNode/Base/BaseQueryBuilderNode.js";export{PropertyNode,PropertyNodeHeadless}from"./components/QueryBuilder/components/QueryBuilderNode/Property/PropertyNode.js";export{queryBuilderSlice}from"./components/QueryBuilder/redux/queryBuilder.reducer.js";export{queryBuilderCacheSlice}from"./components/QueryBuilder/redux/queryBuilderCache.reducer.js";export{AD_STRING_OPERATORS,ANY_AD_OPERATORS,ANY_IG_OPERATORS,BOOLEAN_OPERATORS,DATE_OPERATORS,EVENT_VALUES,EXACTLY_OPERATORS,FREQUENCY_OPERATORS,ICE_BREAKER_OPERATORS,IG_STRING_OPERATORS,INTEGER_OPERATORS,MAIL_SUBJECT_OPERATORS,REACTION_OPERATORS,SPECIFIC_IG_OPERATORS,STRING_OPERATORS,STRING_RESTRICTED_OPERATORS,STRING_RESTRICTED_OPERATORS_2,STRING_RESTRICTED_OPERATORS_3}from"./components/QueryBuilder/types/QueryBuilderOperator.type.js";export{StyledModal}from"./components/modals/styledModal.js";export{DropdownPopover}from"./components/dropdown/DropdownPopover/index.js";export{Dropdown}from"./components/dropdown/Dropdown.js";export{ChipDropdown,ChipDropdownContainer}from"./components/dropdown/ChipDropdown.js";export{OpenedDropdown}from"./components/dropdown/OpenedDropdown/components/OpennedDropdown.js";export{MenuItemDropdown}from"./components/dropdown/MenuItem/MenuItem.js";export{AnalyticsCard}from"./components/analytics-card/AnalyticsCard.js";export{AnalyticsContainer,CardDataContainer}from"./components/analytics-card/AnalyticsCard.styled.js";export{Input}from"./components/input/Input.js";export{AnalyticsChip}from"./components/analytics-chips-and-dropdowns/AnalyticsChip.js";export{AnalyticsDropdown,EachItem,formatDate}from"./components/analytics-chips-and-dropdowns/AnalyticsDropdown.js";export{AnalyticsMultiChip}from"./components/analytics-chips-and-dropdowns/AnalyticsMultiChip.js";export{AnalyticsMetric}from"./components/analytics-chips-and-dropdowns/AnalyticsMetric.js";export{AnalyticsTrend}from"./components/analytics-chips-and-dropdowns/AnalyticsTrend.js";export{LineChart}from"./components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.js";export{LinearChipGroupedChart}from"./components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.js";export{Card,PieChartAnalytics}from"./components/analytics-chips-and-dropdowns/chart/Pie/PieChartAnalytics.js";export{PieChart}from"./components/analytics-chips-and-dropdowns/chart/Pie/PieChart.js";export{HorizontalGraph}from"./components/analytics-chips-and-dropdowns/chart/HorizontalBarGraph/HorizontalGraph.js";export{StackedBarChart}from"./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js";export{StackedBarDistributionChart}from"./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.js";export{GRAPH_ORIENTATION}from"./components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarDistributionChart.model.js";export{VerticalGraph}from"./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/VerticalGraph.js";export{FunnelVerticalBarGraph}from"./components/analytics-chips-and-dropdowns/chart/VerticalBarGraph/FunnelVerticalBarGraph.js";export{HEAT,HEAT_COLORS,HEAT_GRADING_TYPE,HeatMap}from"./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js";export{HeatBoxStyled,HeatMapVertical}from"./components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js";export{VerticalBarAndLinearGraph}from"./components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js";export{TruncateValue,calculatePercentage,roundNumber,truncateValueForIndianStore,truncateValueForInternationalStore,truncateValueTo10K,truncateValueToA,truncateValueToB,truncateValueToC,truncateValueToK,truncateValueToL,truncateValueToM,truncateValueToT}from"./components/analytics-chips-and-dropdowns/chart/utils/calcPercentage.js";export{AVATAR_SIZE_VS_ICON_SIZE_MAP,Avatar,BACKGROUND_VS_TEXT_COLOR_MAP,MESSAGE_CHANNELS}from"./components/avatar/Avatar.js";export{AVATAR_BACKGROUND,AVATAR_SIZE_MAP,AVATAR_TYPES,SIZE}from"./components/avatar/AvatarHelper.js";export{Alert}from"./components/alerts/Alert.js";export{ALERT_TYPES,COLOR_CONFIG_MAP,CONTENT_POSITION}from"./components/alerts/AlertHelper.js";export{RATIO,Thumbnail}from"./components/thumbnail/Thumbnail.js";export{Curtain}from"./components/curtain/Curtain.js";export{DatePicker}from"./components/datePicker/DatePicker.js";export{DatePickerWrapper}from"./components/datePicker/DatePickerWrapper.js";export{TimePicker}from"./components/datePicker/TimePicker.js";export{Loader,Switch,SwitchContainer,Thumb}from"./components/switch/Switch.js";export{SubscriptionPlan}from"./components/plans/SubscriptionPlan.js";export{BottomWrapper,HeaderWrapper,SubscriptionPlanSelector,defaultTabs}from"./components/plans/SubscriptionPlanSelector.js";export{NewSubscriptionPlan}from"./components/plans/NewSubscriptionPlan.js";export{SubscriptionPlansCollected}from"./components/plans/SubscriptionPlansCollected.js";export{TabItemComponent,Tabs}from"./components/tabs/Tabs.js";export{DynamicTabs}from"./components/dynamic-tabs/DynamicTabs.js";export{BikShimmer}from"./components/shimmer/ShimmerComponent/BikShimmer.js";export{TablePagination}from"./components/TablePagination/TablePagination.js";export{TablePaginationCard,TablePaginationCardStyled}from"./components/TablePagination/TablePaginationCard.js";export{StateModalComponent}from"./components/states-modal/StateModalComponent.js";export{DeleteConfirmationModal}from"./components/states-modal/DeleteConfirmationModal.js";export{ButtonActions,ButtonTypes,StateComponent,StateInterface}from"./components/states/StateComponent.js";export{ShopifyScopeWrapper}from"./components/states/ShopifyScopeWrapper.js";export{WhatsAppTextEditor}from"./components/WhatsAppTextEditor/WhatsAppTextEditor.js";export{CustomRightBorder,EditorActionTypes,WhatsAppTextEditorHeader}from"./components/WhatsAppTextEditor/WhatsAppTextEditorHeader.js";export{BackgroundImageContainer,MainCardContainer,MainContainer,WhatsNewIconContainer,WhatsNewWrapper}from"./components/whats-new/WhatsNew.styles.js";export{WhatsNewButton}from"./components/whats-new/WhatsNewButton.js";export{WhatsNewPanel}from"./components/whats-new/WhatsNewPanel.js";export{WhatsNewProvider,useWhatsNewContext}from"./components/whats-new/WhatsNewProvider.js";export{WhatsNew}from"./components/whats-new/WhatsNew.js";export{useWhatsNew}from"./components/whats-new/useWhatsNew.js";export{BaseWhatsappContentLangHelper}from"./helpers/BaseWhatsappContentLang.helper.js";export{CURTAIN_COLOR_CONFIG_MAP,CURTAIN_MODE,CURTAIN_TYPES}from"./components/curtain/CurtainHelper.js";export{resizeImage}from"./utils/resizeImage.js";export{PickerType}from"./components/variable-picker-v3/model.js";export{CardSelectionModal}from"./components/card-selection-modal/CardSelectionModal.js";export{BikImageCropper}from"./components/image-cropper/BikImageCropper.js";export{BikImagePipeline}from"./components/image-cropper/BikImagePipeline/BikImagePipeline.js";export{ButtonGroup}from"./components/buttonGroup/ButtonGroup.js";export{BikAccordion}from"./components/accordion/Accordion.js";export{FileUploader}from"./components/file-uploader/FileUploader.js";export{ColourInput}from"./components/colourInput/ColourInput.js";export{CodeBlock}from"./components/code-block/CodeBlock.js";export{CodeLanguage}from"./components/code-block/types.js";export{BikHeader}from"./components/bik-layout/BikHeader.js";export{BikLayout}from"./components/bik-layout/BikLayout.js";export{BikProfile}from"./components/bik-layout/BikProfile.js";export{SimpleSidebar}from"./components/bik-layout/SimpleSidebar.js";export{BikSidebar}from"./components/bik-layout/BikSidebar.js";export{FeatureModal}from"./components/bik-layout/FeatureModal.js";export{SidebarSkeleton}from"./components/bik-layout/SidebarSkeleton.js";export{ShowShopifyRestrictedModal}from"./components/bik-layout/ShowShopifyRestrictedModal.js";export{FeatureModalV2}from"./components/bik-layout/FeatureModalV2.js";export{SearchBar}from"./components/searchBar/searchBar.js";export{CustomDateTime}from"./components/custom-date-time/CustomDateTime.js";export{PricePleaseProductPicker,ProductPickerContent}from"./components/product-picker/ProductPickerModal.js";export{DiscountModal}from"./components/discount-modal/DiscountModal.js";export{CouponExpiration}from"./components/discount-modal/CouponExpiration/CouponExpiration.js";export{COUPON_EXPIRATION,DISCOUNT_APPLIES_TO,DISCOUNT_TARGET_SELECTION,DISCOUNT_TARGET_TYPES,DISCOUNT_TYPES,DISCOUNT_VALUE_TYPES,MIN_PURCHASE_REQUIREMENT,OFFER_APPLIES_TO,initialDynamicCouponErrorState,initialStaticCouponErrorState}from"./components/discount-modal/type.js";export{CountryCodePicker}from"./components/country-code-picker/CountryCodePicker.js";export{CountriesData}from"./components/country-code-picker/CountryCodePicker.modal.js";export{DEFAULT_IMAGE,ShimmerImage}from"./components/shimmer-image/ShimmerImage.js";export{ProductPickerModal}from"./components/product-picker-v2/modal.js";export{ScreenName}from"./components/product-picker-v2/type.js";export{Carousel}from"./components/carousel/carousel.js";export{CarouselSecondary}from"./components/carousel-secondary/CarouselSecondary.js";export{AccessTokenTroubleshootDialog}from"./components/access-token-troubleshoot-dialog/AccessTokenTroubleshootDialog.js";export{RadioList}from"./components/radioList/RadioList.js";export{CheckList}from"./components/checkList/CheckList.js";export{DateKeys,MEDIA_TYPES,PostPicker,dateOptions}from"./components/postPicker/postPicker.js";export{DropdownButton}from"./components/dropdown-button/DropdownButton.js";export{SideModal}from"./components/side-modal/SideModal.js";export{KeywordsInput}from"./components/keywords-input/KeywordsInput.js";export{AddVariableV2SideModal}from"./components/add-variableV2/AddVariableV2SideModal.js";export{AddVariableV2}from"./components/add-variableV2/AddVariableV2.js";export{NaLinkWrapper,NavigationHyperlink}from"./components/navigation-hyperlink/NavigationHyperlink.js";export{SearchFilter}from"./components/SearchFilter/index.js";export{InputWithVariables}from"./components/input-with-vars/InputWithVariables.js";export{DashboardReviewPopUp}from"./components/dashboard-review-popup/DashboardReviewPopUp.js";export{StarRating}from"./components/star-rating/StarRating.js";export{TestimonialCard}from"./components/testimonial-card/TestimonialCard.js";export{BikSlider}from"./components/slider/slider.js";export{ResizableImage}from"./components/resizeImage/index.js";export{validateURL}from"./utils/validator.js";export{CarouselPreview}from"./components/carousel-preview/CarouselPreview.js";export{Floater}from"./components/floater/floater.js";export{CardSelector}from"./components/card-selector/CardSelector.js";export{CardSelectorGroup}from"./components/card-selector/CardSelectorGroup.js";export{VariablePicker}from"./components/variable-picker-v3/VariablePicker.js";export{ActionButtons}from"./components/action-button/ActionButtons.js";export{ActivateBikAi}from"./components/ai-modals/ActivateBikAI.js";export{AiSyncProgress}from"./components/ai-modals/AiSyncProgress.js";export{AiCreditsExhausted}from"./components/ai-modals/AiCreditsExhausted.js";export{AiCreditsLow}from"./components/ai-modals/AiCreditsLow.js";export{CustomPortal}from"./components/input-with-vars/customPortal.js";export{FloatingInputDropdown}from"./components/floating-input-dropdown/FloatingInputDropdown.js";export{MultilevelDropdownPopover}from"./components/dropdown/MultilevelDropdownPopover/index.js";export{DropShadow}from"./components/dropShadow/DropShadow.js";export{MultiLevelDropdown}from"./components/multi-level-dropdown/MultiLevelDropdown.js";export{DataSourcePanel}from"./components/data-source-panel/DataSourcePanel.js";export{UnsatisfactoryResponseList}from"./components/unsatisfactory-response-list/UnsatisfactoryResponseList.js";export{UnsatisfactoryCountIntentWiseModal}from"./components/unsatisfactory-response-list/UnsatisfactoryCountIntentWiseModal.js";export{CustomDataCategories,CustomDataType}from"./components/data-source-panel/model.js";export{TextPickerModal}from"./components/text-picker/TextPickerModal.js";export{DotPulse}from"./components/dot-pulse/DotPulse.js";export{BIKChatbot}from"./components/bik-chatbot/components/BIKChatbot.js";export{AIChat}from"./components/bik-chatbot/components/AIChat.js";export{AIProvider,useAIContext}from"./components/bik-chatbot/contexts/AIContext.js";export{useAIChat}from"./components/bik-chatbot/services/useAIChat.js";export{CHAT_MESSAGE_ROLES,DEFAULT_CONVERSATION_ID,createSessionRecord}from"./components/bik-chatbot/types/chat.js";export{DEFAULT_MAX_TOOL_CALLS,DEFAULT_RESPONSE_FORMAT,RESPONSE_FORMATS}from"./components/bik-chatbot/types/ai.js";export{default as AdBanner}from"./components/banner/AdBanner.js";export{BannerThirdPartyIcon,BannerType,getUrlForBannerThirdPartyIcon}from"./components/banner/model.js";export{default as FeatureAnnouncementProvider}from"./components/feature-announcements/FeatureAnnouncementProvider.js";export{default as MajorUpdatePopup}from"./components/feature-announcements/MajorUpdatePopup.js";export{default as MinorUpdatePopup}from"./components/feature-announcements/MinorUpdatePopup.js";export{VideoModal}from"./components/feature-announcements/VideoModal.js";export{useFeatureAnnouncements}from"./components/feature-announcements/useFeatureAnnouncements.js";export{CarouselVersion}from"./components/carousel-secondary/model.js";
|
package/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Animation timing constants
|
|
3
|
-
*/
|
|
4
|
-
export declare const ANIMATION_TIMING: {
|
|
5
|
-
readonly CLOSE_DURATION: 1150;
|
|
6
|
-
readonly PROCESSING_DELAY: 500;
|
|
7
|
-
readonly MINOR_POPUP_DELAY: 2000;
|
|
8
|
-
readonly TRANSITION_DURATION: "1s";
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Animation easing functions
|
|
12
|
-
*/
|
|
13
|
-
export declare const ANIMATION_EASING: {
|
|
14
|
-
readonly STANDARD: "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Element check configuration
|
|
18
|
-
*/
|
|
19
|
-
export declare const ELEMENT_CHECK_CONFIG: {
|
|
20
|
-
readonly MAX_ATTEMPTS: 25;
|
|
21
|
-
readonly RETRY_INTERVAL_MS: 200;
|
|
22
|
-
readonly SCROLL_DEBOUNCE_MS: 300;
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Combined transition string
|
|
26
|
-
*/
|
|
27
|
-
export declare const POPUP_TRANSITION: string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const N={CLOSE_DURATION:1150,PROCESSING_DELAY:500,MINOR_POPUP_DELAY:2e3,TRANSITION_DURATION:"1s"},A={STANDARD:"cubic-bezier(0.4, 0, 0.2, 1)"},I=`transform ${N.TRANSITION_DURATION} ${A.STANDARD}, opacity ${N.TRANSITION_DURATION} ${A.STANDARD}`;exports.ANIMATION_EASING=A,exports.ANIMATION_TIMING=N,exports.POPUP_TRANSITION=I;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Popup dimension constants
|
|
3
|
-
*/
|
|
4
|
-
export declare const POPUP_DIMENSIONS: {
|
|
5
|
-
readonly MAJOR: {
|
|
6
|
-
readonly width: 959;
|
|
7
|
-
readonly height: 274;
|
|
8
|
-
readonly imageWidth: 480;
|
|
9
|
-
readonly imageHeight: 274;
|
|
10
|
-
readonly imageInnerWidth: 464;
|
|
11
|
-
readonly imageInnerHeight: 258;
|
|
12
|
-
readonly imagePlaceholderWidth: 290;
|
|
13
|
-
readonly imagePlaceholderHeight: 258;
|
|
14
|
-
};
|
|
15
|
-
readonly MINOR: {
|
|
16
|
-
readonly width: 519;
|
|
17
|
-
readonly height: 160;
|
|
18
|
-
readonly imageWidth: 235;
|
|
19
|
-
readonly imageHeight: 134;
|
|
20
|
-
readonly badgeHeight: 27;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Spacing constants
|
|
25
|
-
*/
|
|
26
|
-
export declare const SPACING: {
|
|
27
|
-
readonly MAJOR: {
|
|
28
|
-
readonly contentMargin: "0 8px 0 0";
|
|
29
|
-
readonly imagePadding: "8px";
|
|
30
|
-
readonly titlePadding: "36px 0 0 0";
|
|
31
|
-
readonly buttonMarginTop: "16px";
|
|
32
|
-
readonly skipButtonTop: "10px";
|
|
33
|
-
readonly skipButtonRight: "10px";
|
|
34
|
-
readonly navigationBottom: "16px";
|
|
35
|
-
readonly navigationRight: "16px";
|
|
36
|
-
readonly navigationGap: "8px";
|
|
37
|
-
};
|
|
38
|
-
readonly MINOR: {
|
|
39
|
-
readonly imageMargin: "13px 10px 13px 10px";
|
|
40
|
-
readonly contentMargin: "13px 13px 13px 3px";
|
|
41
|
-
readonly actionsBottom: "13px";
|
|
42
|
-
readonly actionsRight: "10px";
|
|
43
|
-
readonly actionsGap: "16px";
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Border radius constants
|
|
48
|
-
*/
|
|
49
|
-
export declare const BORDER_RADIUS: {
|
|
50
|
-
readonly POPUP: "4px";
|
|
51
|
-
readonly IMAGE: "4px";
|
|
52
|
-
readonly BUTTON: "4px";
|
|
53
|
-
readonly VIDEO_MODAL: "12px";
|
|
54
|
-
readonly CLOSE_BUTTON: "50%";
|
|
55
|
-
readonly SPOTLIGHT: "8px";
|
|
56
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.BORDER_RADIUS={POPUP:"4px",IMAGE:"4px",BUTTON:"4px",VIDEO_MODAL:"12px",CLOSE_BUTTON:"50%",SPOTLIGHT:"8px"},exports.POPUP_DIMENSIONS={MAJOR:{width:959,height:274,imageWidth:480,imageHeight:274,imageInnerWidth:464,imageInnerHeight:258,imagePlaceholderWidth:290,imagePlaceholderHeight:258},MINOR:{width:519,height:160,imageWidth:235,imageHeight:134,badgeHeight:27}},exports.SPACING={MAJOR:{contentMargin:"0 8px 0 0",imagePadding:"8px",titlePadding:"36px 0 0 0",buttonMarginTop:"16px",skipButtonTop:"10px",skipButtonRight:"10px",navigationBottom:"16px",navigationRight:"16px",navigationGap:"8px"},MINOR:{imageMargin:"13px 10px 13px 10px",contentMargin:"13px 13px 13px 3px",actionsBottom:"13px",actionsRight:"10px",actionsGap:"16px"}};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export * from './animations';
|
|
2
|
-
export * from './dimensions';
|
|
3
|
-
export * from './selectors';
|
|
4
|
-
export * from './zIndex';
|
|
5
|
-
export * from './localStorageKeys';
|
|
6
|
-
/**
|
|
7
|
-
* Text constants
|
|
8
|
-
*/
|
|
9
|
-
export declare const TEXT: {
|
|
10
|
-
readonly DEFAULT_BUTTON_TEXT: "Explore the feature";
|
|
11
|
-
readonly SKIP_BUTTON: "Skip";
|
|
12
|
-
readonly UNDERSTOOD: "Understood";
|
|
13
|
-
readonly NEW_FEATURE_BADGE: "New feature";
|
|
14
|
-
readonly FEATURE_PREVIEW_PLACEHOLDER: "Feature Preview";
|
|
15
|
-
readonly NO_VIDEO_AVAILABLE: "No video available";
|
|
16
|
-
readonly VIDEO_MODAL_TITLE: "Product Video";
|
|
17
|
-
readonly NAVIGATION_PREVIOUS: "‹";
|
|
18
|
-
readonly NAVIGATION_NEXT: "›";
|
|
19
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./animations.js");exports.ANIMATION_EASING=e.ANIMATION_EASING,exports.ANIMATION_TIMING=e.ANIMATION_TIMING,exports.POPUP_TRANSITION=e.POPUP_TRANSITION,exports.TEXT={DEFAULT_BUTTON_TEXT:"Explore the feature",SKIP_BUTTON:"Skip",UNDERSTOOD:"Understood",NEW_FEATURE_BADGE:"New feature",FEATURE_PREVIEW_PLACEHOLDER:"Feature Preview",NO_VIDEO_AVAILABLE:"No video available",VIDEO_MODAL_TITLE:"Product Video",NAVIGATION_PREVIOUS:"‹",NAVIGATION_NEXT:"›"};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Local storage keys for feature announcements
|
|
3
|
-
*/
|
|
4
|
-
export declare const LOCAL_STORAGE_KEYS: {
|
|
5
|
-
readonly STORE_ID: "storeId";
|
|
6
|
-
readonly BIK_STORE_ID: "Bik/StoreId";
|
|
7
|
-
readonly CURRENT_STORE: "currentStore";
|
|
8
|
-
readonly STORE: "store";
|
|
9
|
-
readonly CURRENT_USER: "Bik/CurrentUser";
|
|
10
|
-
readonly QUERY_PARAM: "storeId";
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* URL query parameters
|
|
14
|
-
*/
|
|
15
|
-
export declare const QUERY_PARAMS: {
|
|
16
|
-
readonly FEATURE_ID: "featureId";
|
|
17
|
-
readonly STORE_ID: "storeId";
|
|
18
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LOCAL_STORAGE_KEYS={STORE_ID:"storeId",BIK_STORE_ID:"Bik/StoreId",CURRENT_STORE:"currentStore",STORE:"store",CURRENT_USER:"Bik/CurrentUser",QUERY_PARAM:"storeId"},exports.QUERY_PARAMS={FEATURE_ID:"featureId",STORE_ID:"storeId"};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CSS selectors for feature announcements
|
|
3
|
-
*/
|
|
4
|
-
export declare const SELECTORS: {
|
|
5
|
-
readonly WHATS_NEW_BUTTON: "[data-testid=\"whats-new-button\"]";
|
|
6
|
-
readonly MAIN_ICON_CLASS: ".main-icon-class";
|
|
7
|
-
readonly SVG_VIEWBOX: "svg[viewBox=\"0 0 32 32\"]";
|
|
8
|
-
readonly CLIPPATH_PATTERN: "clipPath[id*=\"clip\"]";
|
|
9
|
-
readonly JOYRIDE_TOOLTIP: "[class*=\"react-joyride__tooltip\"]";
|
|
10
|
-
readonly JOYRIDE_ARROW: "[class*=\"react-joyride__arrow\"]";
|
|
11
|
-
readonly JOYRIDE_SPOTLIGHT: ".react-joyride__spotlight";
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Data test IDs
|
|
15
|
-
*/
|
|
16
|
-
export declare const TEST_IDS: {
|
|
17
|
-
readonly WHATS_NEW_BUTTON: "whats-new-button";
|
|
18
|
-
readonly MAJOR_POPUP: "major-update-popup";
|
|
19
|
-
readonly MINOR_POPUP: "minor-update-popup";
|
|
20
|
-
readonly VIDEO_MODAL: "video-modal";
|
|
21
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SELECTORS={WHATS_NEW_BUTTON:'[data-testid="whats-new-button"]',MAIN_ICON_CLASS:".main-icon-class",SVG_VIEWBOX:'svg[viewBox="0 0 32 32"]',CLIPPATH_PATTERN:'clipPath[id*="clip"]',JOYRIDE_TOOLTIP:'[class*="react-joyride__tooltip"]',JOYRIDE_ARROW:'[class*="react-joyride__arrow"]',JOYRIDE_SPOTLIGHT:".react-joyride__spotlight"};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Z_INDEX={JOYRIDE:1e4,VIDEO_MODAL:2e3,SKIP_BUTTON:10,IMAGE_BADGE:10,CLOSE_BUTTON:10};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useFeatureAnnouncements } from './useFeatureAnnouncements';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { FeatureAnnouncement, FeatureAnnouncementRepository, RouterProps } from '../types';
|
|
2
|
-
export declare const useFeatureAnnouncements: ({ fetchVisibleFeatures, getStoreFeatureProgress, fetchFeatureById, markFeatureAsViewedForStore, isFeatureApplicableToCurrentPage, module, router, }: FeatureAnnouncementRepository & {
|
|
3
|
-
module?: string | undefined;
|
|
4
|
-
router?: RouterProps | undefined;
|
|
5
|
-
}) => {
|
|
6
|
-
features: FeatureAnnouncement[];
|
|
7
|
-
majorUpdateFeatures: FeatureAnnouncement[];
|
|
8
|
-
minorUpdateFeatures: FeatureAnnouncement[];
|
|
9
|
-
isLoading: boolean;
|
|
10
|
-
error: string | null;
|
|
11
|
-
markFeatureAsViewed: (featureId: string) => Promise<void>;
|
|
12
|
-
refetch: () => Promise<void>;
|
|
13
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react"),r=require("../constants/animations.js"),a=require("../constants/localStorageKeys.js");exports.useFeatureAnnouncements=o=>{let{fetchVisibleFeatures:n,getStoreFeatureProgress:i,fetchFeatureById:l,markFeatureAsViewedForStore:u,isFeatureApplicableToCurrentPage:s,module:c,router:d}=o;var f;const p=(()=>{const[e,r]=t.useState(null);return t.useEffect((()=>{if("undefined"!=typeof window){let e=null;try{if(e=localStorage.getItem(a.LOCAL_STORAGE_KEYS.STORE_ID)||localStorage.getItem(a.LOCAL_STORAGE_KEYS.BIK_STORE_ID)||localStorage.getItem(a.LOCAL_STORAGE_KEYS.CURRENT_STORE)||localStorage.getItem(a.LOCAL_STORAGE_KEYS.STORE),!e){const t=localStorage.getItem(a.LOCAL_STORAGE_KEYS.CURRENT_USER);t&&(e=JSON.parse(t).storeId)}e||(e=new URLSearchParams(window.location.search).get(a.LOCAL_STORAGE_KEYS.QUERY_PARAM))}catch(e){console.error("FeatureAnnouncements: Failed to get store ID",e)}r(e)}}),[]),e})(),[A,S]=t.useState([]),[_,g]=t.useState([]),[v,y]=t.useState([]),[E,m]=t.useState(!1),[R,w]=t.useState(null),F=t.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(p){m(!0),w(null);try{const[e,t]=yield n(c);if(e||!t)return console.error("FeatureAnnouncements: Failed to fetch features",e),void w("Failed to fetch features");const[a,o]=yield i(p);a&&console.warn("FeatureAnnouncements: Progress fetch failed, treating all features as new",a);const l=new Date,u="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()))&&l<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(u)}return!0},A=t.filter((e=>{var t;return!((null===(t=null==o?void 0:o.viewedFeatures)||void 0===t?void 0:t[e.id])||!1)&&s(e)&&d(e)&&f(e)})),_=A.filter((e=>"Major"===e.featureUpdateType)),v=A.filter((e=>"Minor"===e.featureUpdateType));S(A),g(_),setTimeout((()=>{y(v)}),r.ANIMATION_TIMING.MINOR_POPUP_DELAY)}catch(e){console.error("FeatureAnnouncements: Unexpected error in fetchFeatures",e),w("An unexpected error occurred")}finally{m(!1)}}}))),[p,n,i,s,c]),T=t.useCallback((t=>e.__awaiter(void 0,void 0,void 0,(function*(){m(!0),w(null);try{const[e,r]=yield l(t);if(e||!r)return void w("Failed to fetch feature by ID");"Major"===r.featureUpdateType?g([r]):y([r]),S([r])}catch(e){w("An unexpected error occurred while fetching by ID")}finally{m(!1)}}))),[l]),U=t.useCallback((t=>e.__awaiter(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),S((e=>e.filter((e=>e.id!==t)))),g((e=>e.filter((e=>e.id!==t)))),y((e=>e.filter((e=>e.id!==t))))):(S((e=>e.filter((e=>e.id!==t)))),g((e=>e.filter((e=>e.id!==t)))),y((e=>e.filter((e=>e.id!==t)))))}))),[p,u]);return t.useEffect((()=>{var e;const t=null===(e=null==d?void 0:d.query)||void 0===e?void 0:e[a.QUERY_PARAMS.FEATURE_ID];t&&d?T(t):F()}),[null==d?void 0:d.pathname,null===(f=null==d?void 0:d.query)||void 0===f?void 0:f[a.QUERY_PARAMS.FEATURE_ID],p,F,T,d]),{features:A,majorUpdateFeatures:_,minorUpdateFeatures:v,isLoading:E,error:R,markFeatureAsViewed:U,refetch:F}};
|