@bikdotai/bik-component-library 0.0.721-beta.34 → 0.0.721-beta.36
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/analytics-chips-and-dropdowns/AnalyticsTrend.d.ts +1 -0
- package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsTrend.js +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.model.d.ts +5 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.styles.d.ts +6 -0
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.styles.js +23 -2
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraphModel.d.ts +11 -0
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraphModel.js +1 -0
- package/dist/cjs/index.d.ts +0 -2
- package/dist/cjs/index.js +1 -1
- package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsTrend.d.ts +1 -0
- package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsTrend.js +1 -1
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.js +1 -1
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/StackedBarChart/StackedBarChart.model.d.ts +5 -1
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.js +1 -1
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.styles.d.ts +6 -0
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraph.styles.js +24 -3
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraphModel.d.ts +11 -0
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/VerticalBarAndLinearGraph/VerticalBarAndLinearGraphModel.js +1 -0
- package/dist/esm/index.d.ts +0 -2
- package/dist/esm/index.js +1 -1
- package/package.json +1 -2
- package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.d.ts +0 -4
- package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js +0 -1
- package/dist/cjs/components/feature-announcements/MajorUpdatePopup.d.ts +0 -4
- package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js +0 -1
- package/dist/cjs/components/feature-announcements/MinorUpdatePopup.d.ts +0 -4
- package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js +0 -1
- package/dist/cjs/components/feature-announcements/VideoModal.d.ts +0 -3
- package/dist/cjs/components/feature-announcements/VideoModal.js +0 -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/index.d.ts +0 -7
- 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/useFeatureAnnouncements.d.ts +0 -13
- 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/cjs/components/whats-new/WhatsNew.d.ts +0 -23
- package/dist/cjs/components/whats-new/WhatsNew.js +0 -1
- package/dist/cjs/components/whats-new/WhatsNew.styles.d.ts +0 -11
- package/dist/cjs/components/whats-new/WhatsNew.styles.js +0 -185
- package/dist/cjs/components/whats-new/WhatsNew.types.d.ts +0 -58
- package/dist/cjs/components/whats-new/WhatsNewButton.d.ts +0 -3
- package/dist/cjs/components/whats-new/WhatsNewButton.js +0 -1
- package/dist/cjs/components/whats-new/WhatsNewPanel.d.ts +0 -3
- package/dist/cjs/components/whats-new/WhatsNewPanel.js +0 -1
- package/dist/cjs/components/whats-new/WhatsNewProvider.d.ts +0 -4
- package/dist/cjs/components/whats-new/WhatsNewProvider.js +0 -1
- package/dist/cjs/components/whats-new/index.d.ts +0 -7
- package/dist/cjs/components/whats-new/useWhatsNew.d.ts +0 -9
- package/dist/cjs/components/whats-new/useWhatsNew.js +0 -1
- package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.d.ts +0 -4
- package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js +0 -1
- package/dist/esm/components/feature-announcements/MajorUpdatePopup.d.ts +0 -4
- package/dist/esm/components/feature-announcements/MajorUpdatePopup.js +0 -1
- package/dist/esm/components/feature-announcements/MinorUpdatePopup.d.ts +0 -4
- package/dist/esm/components/feature-announcements/MinorUpdatePopup.js +0 -1
- package/dist/esm/components/feature-announcements/VideoModal.d.ts +0 -3
- package/dist/esm/components/feature-announcements/VideoModal.js +0 -1
- 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/index.d.ts +0 -7
- 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/useFeatureAnnouncements.d.ts +0 -13
- 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
- package/dist/esm/components/whats-new/WhatsNew.d.ts +0 -23
- package/dist/esm/components/whats-new/WhatsNew.js +0 -1
- package/dist/esm/components/whats-new/WhatsNew.styles.d.ts +0 -11
- package/dist/esm/components/whats-new/WhatsNew.styles.js +0 -185
- package/dist/esm/components/whats-new/WhatsNew.types.d.ts +0 -58
- package/dist/esm/components/whats-new/WhatsNewButton.d.ts +0 -3
- package/dist/esm/components/whats-new/WhatsNewButton.js +0 -1
- package/dist/esm/components/whats-new/WhatsNewPanel.d.ts +0 -3
- package/dist/esm/components/whats-new/WhatsNewPanel.js +0 -1
- package/dist/esm/components/whats-new/WhatsNewProvider.d.ts +0 -4
- package/dist/esm/components/whats-new/WhatsNewProvider.js +0 -1
- package/dist/esm/components/whats-new/index.d.ts +0 -7
- package/dist/esm/components/whats-new/useWhatsNew.d.ts +0 -9
- package/dist/esm/components/whats-new/useWhatsNew.js +0 -1
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export interface WhatsNewContent {
|
|
3
|
-
id: string;
|
|
4
|
-
title: string;
|
|
5
|
-
body: string;
|
|
6
|
-
content: string;
|
|
7
|
-
image: string;
|
|
8
|
-
buttonText: string;
|
|
9
|
-
redirectUrl: string;
|
|
10
|
-
productVideo?: string;
|
|
11
|
-
docId?: string;
|
|
12
|
-
createdAt: any;
|
|
13
|
-
module: string[];
|
|
14
|
-
visibility: boolean;
|
|
15
|
-
}
|
|
16
|
-
export interface WhatsNewProviderProps {
|
|
17
|
-
children: React.ReactNode;
|
|
18
|
-
fetchWhatsNewContent: () => Promise<[Error | null, WhatsNewContent[] | null]>;
|
|
19
|
-
markContentAsViewed?: (contentId: string) => Promise<void>;
|
|
20
|
-
module?: string;
|
|
21
|
-
isLoading?: boolean;
|
|
22
|
-
}
|
|
23
|
-
export interface WhatsNewButtonProps {
|
|
24
|
-
onClick?: () => void;
|
|
25
|
-
newContentCount?: number;
|
|
26
|
-
isOpen?: boolean;
|
|
27
|
-
isLoading?: boolean;
|
|
28
|
-
tooltip?: string;
|
|
29
|
-
testId?: string;
|
|
30
|
-
iconWidth?: number;
|
|
31
|
-
iconHeight?: number;
|
|
32
|
-
customIcon?: React.ComponentType<{
|
|
33
|
-
width?: number;
|
|
34
|
-
height?: number;
|
|
35
|
-
color?: string;
|
|
36
|
-
}>;
|
|
37
|
-
}
|
|
38
|
-
export interface WhatsNewPanelProps {
|
|
39
|
-
isOpen: boolean;
|
|
40
|
-
onClose: () => void;
|
|
41
|
-
content: WhatsNewContent[];
|
|
42
|
-
isLoading?: boolean;
|
|
43
|
-
title?: string;
|
|
44
|
-
searchPlaceholder?: string;
|
|
45
|
-
emptyStateTitle?: string;
|
|
46
|
-
emptyStateDescription?: string;
|
|
47
|
-
noResultsText?: string;
|
|
48
|
-
width?: string;
|
|
49
|
-
onContentClick?: (content: WhatsNewContent) => void;
|
|
50
|
-
renderCustomContent?: (content: WhatsNewContent) => React.ReactNode;
|
|
51
|
-
}
|
|
52
|
-
export interface WhatsNewHookReturn {
|
|
53
|
-
whatsNewContent: WhatsNewContent[];
|
|
54
|
-
isLoading: boolean;
|
|
55
|
-
newContentCount: number;
|
|
56
|
-
markAsViewed: (contentId: string) => Promise<void>;
|
|
57
|
-
refreshContent: () => Promise<void>;
|
|
58
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("../../node_modules/react/jsx-runtime.js"),s=require("../../constants/Theme.js"),e=require("../tooltips/Tooltip.js"),n=require("./WhatsNew.styles.js");const i=s=>{let{width:e=32,height:n=32}=s;return t.jsxRuntimeExports.jsxs("svg",Object.assign({width:e,height:n,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},{children:[t.jsxRuntimeExports.jsxs("g",Object.assign({clipPath:"url(#clip0_4309_13422)"},{children:[t.jsxRuntimeExports.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.jsxRuntimeExports.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.jsxRuntimeExports.jsx("path",{d:"M7.69175 12.0819L5.24902 11.3518",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),t.jsxRuntimeExports.jsx("path",{d:"M10.9423 8.35748L9.88867 6.03589",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),t.jsxRuntimeExports.jsx("path",{d:"M8.91955 9.68574L5.66699 6.87134",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})),t.jsxRuntimeExports.jsx("defs",{children:t.jsxRuntimeExports.jsx("clipPath",Object.assign({id:"clip0_4309_13422"},{children:t.jsxRuntimeExports.jsx("rect",{width:"24",height:"24",fill:"white",transform:"translate(4 4)"})}))})]}))};exports.WhatsNewButton=r=>{let{onClick:o,newContentCount:x=0,isOpen:c=!1,isLoading:d=!1,tooltip:a="What's new",testId:j="whats-new-button",iconWidth:l=32,iconHeight:p=32,customIcon:u}=r;return d?t.jsxRuntimeExports.jsxs("div",Object.assign({style:{margin:"0px 8px"}},{children:[t.jsxRuntimeExports.jsx("div",{style:{width:16,height:16,border:"2px solid #f3f3f3",borderTop:"2px solid #731DCF",borderRadius:"50%",animation:"spin 1s linear infinite"}}),t.jsxRuntimeExports.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.jsxRuntimeExports.jsx(n.WhatsNewIconContainer,Object.assign({count:x},{children:t.jsxRuntimeExports.jsxs("div",Object.assign({className:"main-icon-class "+(c?"icon-active":""),style:{color:c?s.COLORS.content.brand:s.COLORS.content.primary},onClick:o,"data-testid":j},{children:[t.jsxRuntimeExports.jsx(e.Tooltip,Object.assign({body:a},{children:t.jsxRuntimeExports.jsx("div",{children:u?t.jsxRuntimeExports.jsx(u,{width:l,height:p,color:c?s.COLORS.content.brand:s.COLORS.content.primary}):t.jsxRuntimeExports.jsx(i,{width:l,height:p})})})),x>0&&t.jsxRuntimeExports.jsx("div",Object.assign({className:"notification--count"},{children:t.jsxRuntimeExports.jsx("div",Object.assign({className:"count--text"},{children:x}))}))]}))}))};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),t=require("date-fns"),s=require("react"),n=require("../../constants/Theme.js"),r=require("../button/Button.js"),o=require("../feature-announcements/VideoModal.js"),i=require("../searchBar/searchBar.js"),a=require("../side-modal/SideModal.js"),l=require("../TypographyStyle.js"),d=require("./WhatsNew.styles.js");const c=t=>{let{width:s=32,height:n=32}=t;return e.jsxRuntimeExports.jsx("svg",Object.assign({width:s,height:n,viewBox:"0 0 24 24",fill:"none"},{children:e.jsxRuntimeExports.jsx("path",{d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}))},x=t=>{let{width:s=32,height:n=32}=t;return e.jsxRuntimeExports.jsxs("svg",Object.assign({width:s,height:n,viewBox:"0 0 32 32",fill:"none"},{children:[e.jsxRuntimeExports.jsx("path",{d:"M16 2C8.268 2 2 8.268 2 16s6.268 14 14 14 14-6.268 14-14S23.732 2 16 2zm0 25c-6.065 0-11-4.935-11-11S9.935 5 16 5s11 4.935 11 11-4.935 11-11 11z",fill:"currentColor"}),e.jsxRuntimeExports.jsx("path",{d:"M16 10.5c-.828 0-1.5.672-1.5 1.5s.672 1.5 1.5 1.5 1.5-.672 1.5-1.5-.672-1.5-1.5-1.5zM15 15h2v8h-2v-8z",fill:"currentColor"})]}))};exports.WhatsNewPanel=u=>{let{isOpen:j,onClose:m,content:h,isLoading:p=!1,title:g="What's new on BIK",searchPlaceholder:R="Search posts",emptyStateTitle:C="Nothing new!",emptyStateDescription:E="There are no new updates or features at the moment. Check back soon!",noResultsText:w="Sorry, no results found.",width:b="480px",onContentClick:O,renderCustomContent:y}=u;const[f,v]=s.useState(""),[S,M]=s.useState(!1),[N,k]=s.useState("");console.log("WhatsNewPanel render - isVideoModalOpen:",S,"videoUrl:",N);const L=e=>{if(!e.createdAt)return!1;const s=e.createdAt.toDate?e.createdAt.toDate():new Date(e.createdAt);return t.differenceInBusinessDays(new Date,s)<7},B=s.useMemo((()=>{if(!f.trim())return h;const e=f.toLowerCase();return h.filter((t=>t.title.toLowerCase().includes(e)||t.body.toLowerCase().includes(e)||t.content&&t.content.toLowerCase().includes(e)))}),[h,f]),T=0===h.length,q=0===B.length;return j?e.jsxRuntimeExports.jsxs(a.SideModal,Object.assign({width:b,onClose:m,header:"",headerCustomComponent:e.jsxRuntimeExports.jsx(l.TitleMedium,Object.assign({color:n.COLORS.background.inverse},{children:g})),headerStyle:{background:n.COLORS.background.brandLight},hideFooter:!0},{children:[e.jsxRuntimeExports.jsxs(d.MainContainer,{children:[e.jsxRuntimeExports.jsx("div",Object.assign({className:"mt-8"},{children:e.jsxRuntimeExports.jsx(i.SearchBar,{width:"100%",isEnabled:!T,onChange:e=>{v(e)},onEnter:e=>{v(e)},placeholder:R,variant:"default",searchValue:f,onClickCross:()=>{v("")}})})),e.jsxRuntimeExports.jsx(d.WhatsNewWrapper,{children:T||q?e.jsxRuntimeExports.jsxs("div",Object.assign({className:"no--data--found"},{children:[e.jsxRuntimeExports.jsx("div",Object.assign({className:"icon--wrapper"},{children:T?e.jsxRuntimeExports.jsx(x,{width:32,height:32}):e.jsxRuntimeExports.jsx(c,{width:32,height:32})})),T?e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(l.TitleRegular,{children:C}),e.jsxRuntimeExports.jsx(l.BodyPrimary,Object.assign({color:n.COLORS.content.secondary,className:"text--align",style:{maxWidth:300}},{children:E}))]}):q?e.jsxRuntimeExports.jsx(l.BodyPrimary,Object.assign({color:n.COLORS.content.secondary,className:"text--align",style:{maxWidth:300}},{children:w})):null]})):e.jsxRuntimeExports.jsx("div",Object.assign({className:"scroller"},{children:B.map(((s,o)=>y?y(s):e.jsxRuntimeExports.jsxs(d.MainCardContainer,Object.assign({className:"padding--16 mb-mt-8"},{children:[e.jsxRuntimeExports.jsx(d.BackgroundImageContainer,{imageUrl:s.image,height:"209px",width:"100%",style:{borderRadius:"4px"}}),e.jsxRuntimeExports.jsx("div",Object.assign({className:"mt-20 full--width"},{children:e.jsxRuntimeExports.jsxs("div",Object.assign({className:"created--at flex flex--row"},{children:[L(s)?e.jsxRuntimeExports.jsx("div",Object.assign({className:"new--content--tag"},{children:e.jsxRuntimeExports.jsx(l.Caption,{children:"New"})})):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{}),e.jsxRuntimeExports.jsx(l.Caption,Object.assign({style:{color:n.COLORS.content.placeholder}},{children:s.createdAt?t.format(s.createdAt.toDate?s.createdAt.toDate():new Date(s.createdAt),"dd MMMM yyyy"):""}))]}))})),e.jsxRuntimeExports.jsx("div",Object.assign({className:"mt--8"},{children:e.jsxRuntimeExports.jsx(l.TitleSmall,{children:s.title})})),e.jsxRuntimeExports.jsx("div",{dangerouslySetInnerHTML:{__html:s.body},className:"card--desc mt--12"}),e.jsxRuntimeExports.jsx("div",Object.assign({className:"flex flex--row mt-20 full--width"},{children:e.jsxRuntimeExports.jsx(r.Button,{buttonText:s.buttonText||"Explore the feature",onClick:()=>(e=>{console.log("handleContentClick called with:",e),console.log("productVideo:",e.productVideo),console.log("redirectUrl:",e.redirectUrl),console.log("onContentClick:",O),e.productVideo?(console.log("Setting video URL:",e.productVideo),k(e.productVideo),M(!0),console.log("Video modal state set to true")):e.redirectUrl&&(console.log("Opening redirectUrl:",e.redirectUrl),window.open(e.redirectUrl,"_blank")),O&&(console.log("Calling onContentClick for analytics"),O(e))})(s),matchParentWidth:!0,size:"medium"})}))]}),`whats-new-${o}`)))}))})]}),e.jsxRuntimeExports.jsx(o.VideoModal,{isOpen:S,videoUrl:N,onClose:()=>{console.log("Closing video modal"),M(!1)}})]})):e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{})};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../node_modules/react/jsx-runtime.js"),t=require("react"),r=require("./useWhatsNew.js");const s=t.createContext(null);exports.WhatsNewProvider=t=>{let{children:n,fetchWhatsNewContent:o,markContentAsViewed:u,module:a}=t;const i=r.useWhatsNew({fetchWhatsNewContent:o,markContentAsViewed:u,module:a});return e.jsxRuntimeExports.jsx(s.Provider,Object.assign({value:i},{children:n}))},exports.useWhatsNewContext=()=>{const e=t.useContext(s);if(!e)throw new Error("useWhatsNewContext must be used within a WhatsNewProvider");return e};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { WhatsNewContent, WhatsNewHookReturn } from './WhatsNew.types';
|
|
2
|
-
interface UseWhatsNewProps {
|
|
3
|
-
fetchWhatsNewContent: () => Promise<[Error | null, WhatsNewContent[] | null]>;
|
|
4
|
-
markContentAsViewed?: (contentId: string) => Promise<void>;
|
|
5
|
-
module?: string;
|
|
6
|
-
newContentThresholdDays?: number;
|
|
7
|
-
}
|
|
8
|
-
export declare const useWhatsNew: ({ fetchWhatsNewContent, markContentAsViewed, module, newContentThresholdDays, }: UseWhatsNewProps) => WhatsNewHookReturn;
|
|
9
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("date-fns"),r=require("react");exports.useWhatsNew=a=>{let{fetchWhatsNewContent:n,markContentAsViewed:o,module:c,newContentThresholdDays:s=7}=a;const[i,d]=r.useState([]),[u,l]=r.useState(!0),f=r.useRef(n),w=r.useRef(o);r.useEffect((()=>{f.current=n}),[n]),r.useEffect((()=>{w.current=o}),[o]);const v=r.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){l(!0);try{const[e,t]=yield f.current();if(e)console.error("Failed to fetch what's new content:",e),d([]);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 r,a;const n=(null===(r=e.createdAt)||void 0===r?void 0:r.toDate)?e.createdAt.toDate():new Date(e.createdAt);return((null===(a=t.createdAt)||void 0===a?void 0:a.toDate)?t.createdAt.toDate():new Date(t.createdAt)).getTime()-n.getTime()})),d(e)}else d([])}catch(e){console.error("Failed to fetch what's new content:",e),d([])}finally{l(!1)}}))),[c]);r.useEffect((()=>{v()}),[v]);const A=r.useCallback((e=>{if(!e.createdAt)return!1;const r=e.createdAt.toDate?e.createdAt.toDate():new Date(e.createdAt);return t.differenceInBusinessDays(new Date,r)<s}),[s]),h=i.reduce(((e,t)=>A(t)?e+1:e),0);return{whatsNewContent:i,isLoading:u,newContentCount:h,markAsViewed:r.useCallback((t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(w.current)try{yield w.current(t)}catch(e){console.warn("Failed to mark content as viewed:",e)}}))),[]),refreshContent:r.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){yield v()}))),[v])}};
|
|
@@ -1 +0,0 @@
|
|
|
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:S}=p;var C;const{majorUpdateFeatures:k,minorUpdateFeatures:T,isLoading:w,markFeatureAsViewed:v}=l({fetchVisibleFeatures:g,getStoreFeatureProgress:m,fetchFeatureById:h,markFeatureAsViewedForStore:b,isFeatureApplicableToCurrentPage:y,module:x,router:S}),[j,B]=o(null),[F,I]=o(null),[E,N]=o(!1),[M,P]=o([]),[W,O]=o(!1),[q,L]=o([]),[U,V]=o(!1),[A,_]=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),[le,de]=o(new Set);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),de(new Set)}),[null==S?void 0:S.pathname]),n((()=>{if(!(k.length>0)||j||w||U||X)0!==k.length||w||Z(!0);else{Z(!1),H(!1),N(!1),P([]),I(null),$([]);const e=()=>{document.querySelector('[data-testid="whats-new-button"]')?ue(k[0]):setTimeout(e,1e3)};e()}}),[k,j,w,U,X]),n((()=>{var e;const t=null===(e=null==S?void 0:S.query)||void 0===e?void 0:e.featureId;if(console.log("🧪 Test mode effect triggered:",{featureIdFromQuery:t,isLoading:w,minorUpdateFeaturesCount:T.length}),!t||w||0===T.length)return;const o=T.find((e=>e.id===t));if(!o||!o.featureTag)return;H(!0),_(!0);let n=0;const r=setInterval((()=>{n++;const e=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;if(document.querySelector(e)){console.log("✨ Test mode: Element found, showing joyride");const e=[o];$(e),ye(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===(C=null==S?void 0:S.query)||void 0===C?void 0:C.featureId,w]),n((()=>{var e;if(console.log("🔍 Main minor effect check:",{minorUpdateFeaturesCount:T.length,isLoading:w,runJoyride:E,isProcessingMinorUpdate:A,currentMinorFeature:(null==F?void 0:F.id)||"null",minorFeaturesSkipped:z,showMinorUpdates:J,blockPopups:X}),T.length>0&&!w&&!E&&!A&&!F&&!z&&J&&!X){let e=null,t=null,o=null,n=!1;const r=()=>{if(n||A||F||z||!J)return;const r=T.filter((e=>{if(!e.featureTag||""===e.featureTag.trim())return!1;if(le.has(e.id))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),ye(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||A||F||z||!J||!t||(o&&clearTimeout(o),o=setTimeout((()=>{n||A||F||z||!J||r()}),200))})),t=()=>{E||n||A||F||z||!J||(o&&clearTimeout(o),requestAnimationFrame((()=>{o=setTimeout((()=>{n||A||F||z||!J||r()}),300)})))},e&&e.observe(document.body,{childList:!0,subtree:!0}),t&&window.addEventListener("scroll",t,{passive:!0}),r(),setTimeout((()=>{n||A||F||z||!J||r()}),100),setTimeout((()=>{n||A||F||z||!J||r()}),1e3),setTimeout((()=>{n||A||F||z||!J||r()}),500),()=>{n=!0,e&&e.disconnect(),t&&window.removeEventListener("scroll",t),o&&clearTimeout(o)}}if(0===T.length||w){(null===(e=null==S?void 0:S.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,w,E,A,F,z,J,v,X]);const ue=e=>{B(e);const o=k.findIndex((t=>t.id===e.id)),n=k.length,r=[{target:s.WHATS_NEW_BUTTON,content:t.jsx(d,{feature:e,currentIndex:o,totalFeatures:n,onSkip:()=>ce(e),onExplore:()=>pe(e),onPrevious:()=>fe(e),onNext:()=>ge(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)},ce=r((e=>{(e||j)&&(V(!0),k.forEach((e=>{v(e.id)})),O(!1),B(null),L([]),Z(!0),setTimeout((()=>{V(!1)}),500))}),[j,k,v]),pe=r((e=>{V(!0),v(e.id),e.productVideo&&(K(e.productVideo),Q(!0),Y(!0)),O(!1),B(null),L([]);k.findIndex((t=>t.id===e.id))===k.length-1&&Z(!0),setTimeout((()=>{V(!1)}),500)}),[k,v]),fe=r((e=>{const o=e||j;if(!o)return;const n=k.findIndex((e=>e.id===o.id));if(n>0){const e=k[n-1];B(e);const o=n-1,r=k.length,a=[{target:'[data-testid="whats-new-button"]',content:t.jsx(d,{feature:e,currentIndex:o,totalFeatures:r,onSkip:()=>ce(e),onExplore:()=>pe(e),onPrevious:()=>fe(e),onNext:()=>ge(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,k]),ge=r((e=>{const o=e||j;if(!o)return;const n=k.findIndex((e=>e.id===o.id));if(n<k.length-1){const e=k[n+1];B(e);const o=n+1,r=k.length,a=[{target:'[data-testid="whats-new-button"]',content:t.jsx(d,{feature:e,currentIndex:o,totalFeatures:r,onSkip:()=>ce(e),onExplore:()=>pe(e),onPrevious:()=>fe(e),onNext:()=>ge(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 V(!0),v(o.id),O(!1),B(null),L([]),Z(!0),setTimeout((()=>{V(!1)}),500)}),[j,k,v]),me=()=>{if(k.length>0&&!j){document.querySelector('[data-testid="whats-new-button"]')&&ue(k[0])}};n((()=>(window.showMajorUpdatePopup=me,()=>{delete window.showMajorUpdatePopup})),[k,j]);const he=r((e=>{const{action:t}=e;t===i.CLOSE&&(j&&(V(!0),k.forEach((e=>{v(e.id)})),Z(!0),setTimeout((()=>{V(!1)}),500)),O(!1),B(null),L([]))}),[j,k,v]),be=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),v(F.id);R.findIndex((e=>e.id===F.id))===R.length-1&&H(!0),setTimeout((()=>{_(!1)}),500)}N(!1),I(null),P([])}}),[F,R,v]),ye=(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:()=>xe(o),onExplore:()=>Se(o),onPrevious:()=>Ce(o),onNext:()=>ke(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)})),xe=r((e=>{const t=e||F;if(t){_(!0),v(t.id),de((e=>new Set(e).add(t.id))),N(!1),I(null),P([]);const e=R.find((e=>e.id!==t.id&&!le.has(e.id)));setTimeout((()=>{_(!1),e?ye(e,R):H(!0)}),500)}}),[F,R,v,le]),Se=r((e=>{_(!0),v(e.id),de((t=>new Set(t).add(e.id))),e.productVideo&&(K(e.productVideo),Q(!0),Y(!0)),N(!1),I(null),P([]);const t=R.find((t=>t.id!==e.id&&!le.has(t.id)));setTimeout((()=>{_(!1),t&&!e.productVideo?ye(t,R):t||H(!0)}),500)}),[R,v,le]),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>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:()=>xe(e),onExplore:()=>Se(e),onPrevious:()=>Ce(e),onNext:()=>ke(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]),ke=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:()=>xe(e),onExplore:()=>Se(e),onPrevious:()=>Ce(e),onNext:()=>ke(e),setIsClosing:ne}),placement:"bottom",placementBeacon:"bottom-end",disableBeacon:!0,hideCloseButton:!0,hideSkipButton:!0,hideFooter:!0,offset:0,data:{feature:e,isMinor:!0},styles:{tooltip:{padding:0,backgroundColor:"transparent",borderRadius:"4px",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonClose:{display:"none"},buttonSkip:{display:"none"}}}];P(s)}else _(!0),H(!0),v(e.id),N(!1),I(null),P([]),setTimeout((()=>{_(!1)}),500)}))),[F,R,v]);return t.jsxs(t.Fragment,{children:[f,q.length>0&&t.jsx(a,{steps:q,run:W,continuous:!1,showProgress:!1,showSkipButton:!1,callback:he,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:be,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:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:oe?"none":"0 0 0 9999px rgba(0, 0, 0, 0.4), 0 0 0 3px rgba(255, 255, 255, 0.8), 0 0 20px 8px rgba(255, 255, 255, 0.4)"},tooltip:{borderRadius:"4px",fontSize:"14px",padding:0,backgroundColor:"transparent",border:"none",filter:"none",boxShadow:"none"},tooltipContent:{padding:0},buttonNext:{display:"none"},buttonBack:{display:"none"},buttonSkip:{display:"none"},buttonClose:{display:"none"}},locale:{back:"Back",close:"Close",last:"Close",next:"Next",skip:"Skip"}},`minor-joyride-${ie}`),t.jsx(c,{isOpen:D,videoUrl:G,onClose:()=>{Q(!1),K(""),Y(!1);const e=R.find((e=>!le.has(e.id)));e?setTimeout((()=>{ye(e,R)}),300):H(!0)}})]})};export{p as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useRef as s,useEffect as n}from"react";import{TEXT as o}from"./constants/index.js";import{getMajorPopupStyles as r}from"./styles/majorPopup.styles.js";import"../../constants/Theme.js";import"./constants/animations.js";import{decodeHTMLEntities as i}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as a,calculateCloseTransform as l,executeAfterAnimation as c}from"./utils/animationHelpers.js";import{findWhatsNewButton as u}from"./utils/elementHelpers.js";const g=g=>{let{feature:j,currentIndex:b,totalFeatures:p,onSkip:m,onExplore:d,onPrevious:v,onNext:y,setIsClosing:O}=g;const[x,T]=t(!1),[h,E]=t(!1),[f,B]=t(""),I=s(null);n((()=>{x&&E(!0)}),[x]);const P=r(h,f);return e.jsxs("div",Object.assign({ref:I,style:P.container},{children:[e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),(e=>{a(I.current);const t=u();if(t&&I.current){const e=l(I.current,t);B(e)}else B("scale(0)");null==O||O(!0),T(!0),c(e)})(m)},style:P.skipButton.base,onMouseEnter:e=>Object.assign(e.currentTarget.style,P.skipButton.hover),onMouseLeave:e=>Object.assign(e.currentTarget.style,P.skipButton.base)},{children:o.SKIP_BUTTON})),e.jsx("div",Object.assign({style:P.imageContainer},{children:j.displayImage?e.jsx("img",{src:j.displayImage,alt:j.title,style:P.image,onError:e=>{j.image&&(e.target.src=j.image)}}):e.jsx("div",Object.assign({style:P.imagePlaceholder},{children:o.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:P.contentContainer},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:P.title},{children:j.title})),e.jsx("div",{style:P.content,dangerouslySetInnerHTML:{__html:i(j.content||j.body||"")}}),e.jsx("button",Object.assign({onClick:()=>{d(),a(I.current);const e=u();if(e&&I.current){const t=l(I.current,e);B(t)}else B("scale(0)");null==O||O(!0),T(!0)},style:P.exploreButton.base,onMouseEnter:e=>Object.assign(e.currentTarget.style,P.exploreButton.hover),onMouseLeave:e=>Object.assign(e.currentTarget.style,P.exploreButton.base)},{children:j.buttonText||o.DEFAULT_BUTTON_TEXT}))]}),p>1&&e.jsxs("div",Object.assign({style:P.navigationContainer},{children:[e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),v()},disabled:0===b,style:P.navigationButton(0===b).base,onMouseEnter:e=>{0!==b&&Object.assign(e.currentTarget.style,P.navigationButton(!1).hover)},onMouseLeave:e=>{0!==b&&Object.assign(e.currentTarget.style,P.navigationButton(!1).base)}},{children:o.NAVIGATION_PREVIOUS})),e.jsx("button",Object.assign({onClick:e=>{e.preventDefault(),e.stopPropagation(),y()},disabled:b===p-1,style:P.navigationButton(b===p-1).base,onMouseEnter:e=>{b!==p-1&&Object.assign(e.currentTarget.style,P.navigationButton(!1).hover)},onMouseLeave:e=>{b!==p-1&&Object.assign(e.currentTarget.style,P.navigationButton(b===p-1).base)}},{children:o.NAVIGATION_NEXT}))]}))]}))]}))};export{g as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{useState as t,useRef as s,useEffect as n}from"react";import{TEXT as r}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{getMinorPopupStyles as i}from"./styles/minorPopup.styles.js";import{decodeHTMLEntities as a}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as l,calculateCloseTransform as o,executeAfterAnimation as c}from"./utils/animationHelpers.js";import{findFeatureTagElement as d}from"./utils/elementHelpers.js";const u=u=>{let{feature:j,currentIndex:m,totalFeatures:g,onSkip:p,onExplore:x,onPrevious:f,onNext:T,setIsClosing:h}=u;const[y,b]=t(!1),[E,O]=t(!1),[v,_]=t(""),C=s(null);n((()=>{y&&O(!0)}),[y]);const I=i(E,v);return e.jsxs("div",Object.assign({ref:C,style:I.container},{children:[e.jsx("div",Object.assign({style:I.imageContainer},{children:j.displayImage?e.jsxs("div",Object.assign({style:I.imageWrapper},{children:[e.jsx("img",{src:j.displayImage,alt:j.title,style:I.image,onError:e=>{j.image&&(e.target.src=j.image)}}),e.jsx("div",Object.assign({style:I.badge},{children:e.jsx("span",Object.assign({style:I.badgeText},{children:r.NEW_FEATURE_BADGE}))}))]})):e.jsx("div",Object.assign({style:I.imagePlaceholder},{children:r.FEATURE_PREVIEW_PLACEHOLDER}))})),e.jsxs("div",Object.assign({style:I.contentContainer},{children:[e.jsxs("div",{children:[e.jsx("h3",Object.assign({style:I.title},{children:j.title})),e.jsx("div",{style:I.content,dangerouslySetInnerHTML:{__html:a(j.content||j.body||"")}})]}),e.jsxs("div",Object.assign({style:I.actionsContainer},{children:[e.jsx("span",Object.assign({onClick:()=>{(e=>{if(l(C.current),C.current&&j.featureTag){const e=d(j.featureTag);if(e){const t=o(C.current,e);_(t)}else _("scale(0)")}else _("scale(0)");null==h||h(!0),b(!0),c(e)})(p)},style:I.understoodText},{children:r.UNDERSTOOD})),j.productVideo&&e.jsx("button",Object.assign({onClick:()=>{if(x(),l(C.current),C.current&&j.featureTag){const e=j.featureTag.startsWith("#")||j.featureTag.startsWith(".")||j.featureTag.startsWith("[")?j.featureTag:`#${j.featureTag}`,t=document.querySelector(e);if(t){const e=o(C.current,t);_(e)}else _("scale(0)")}else _("scale(0)");null==h||h(!0),b(!0)},style:I.exploreButton},{children:j.buttonText||r.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};export{u as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"../../node_modules/react/jsx-runtime.js";import{TEXT as s}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{videoModalStyles as t}from"./styles/videoModal.styles.js";import{formatVideoUrl as o,isYouTubeVideo as r}from"./utils/htmlHelpers.js";const i=i=>{let{isOpen:n,videoUrl:c,onClose:l}=i;if(!n)return null;const a=o(c),d=r(c);return e.jsx("div",Object.assign({style:t.backdrop,onClick:e=>{e.target===e.currentTarget&&l()}},{children:e.jsxs("div",Object.assign({style:t.container,onClick:e=>e.stopPropagation()},{children:[e.jsx("button",Object.assign({onClick:l,style:t.closeButton.base,onMouseOver:e=>Object.assign(e.currentTarget.style,t.closeButton.hover),onMouseOut:e=>Object.assign(e.currentTarget.style,t.closeButton.base)},{children:"×"})),e.jsx("div",Object.assign({style:t.videoWrapper},{children:c?d?e.jsx("iframe",{width:"100%",height:"100%",src:a,title:s.VIDEO_MODAL_TITLE,frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0,style:t.iframe}):e.jsxs("video",Object.assign({controls:!0,autoPlay:!0,style:t.video},{children:[e.jsx("source",{src:c,type:"video/mp4"}),e.jsx("source",{src:c,type:"video/webm"}),e.jsx("source",{src:c,type:"video/ogg"}),"Your browser does not support the video tag."]})):e.jsx("div",Object.assign({style:t.noVideoMessage},{children:s.NO_VIDEO_AVAILABLE}))}))]}))}))};export{i as VideoModal};
|
|
@@ -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
|
-
const A={CLOSE_DURATION:1150,PROCESSING_DELAY:500,MINOR_POPUP_DELAY:2e3,TRANSITION_DURATION:"1s"},N={STANDARD:"cubic-bezier(0.4, 0, 0.2, 1)"},T=`transform ${A.TRANSITION_DURATION} ${N.STANDARD}, opacity ${A.TRANSITION_DURATION} ${N.STANDARD}`;export{N as ANIMATION_EASING,A as ANIMATION_TIMING,T as POPUP_TRANSITION};
|
|
@@ -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
|
-
const i={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}},t={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"}},p={POPUP:"4px",IMAGE:"4px",BUTTON:"4px",VIDEO_MODAL:"12px",CLOSE_BUTTON:"50%",SPOTLIGHT:"8px"};export{p as BORDER_RADIUS,i as POPUP_DIMENSIONS,t as SPACING};
|
|
@@ -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
|
-
export{ANIMATION_EASING,ANIMATION_TIMING,POPUP_TRANSITION}from"./animations.js";const E={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:"›"};export{E as TEXT};
|
|
@@ -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
|
-
const r={STORE_ID:"storeId",BIK_STORE_ID:"Bik/StoreId",CURRENT_STORE:"currentStore",STORE:"store",CURRENT_USER:"Bik/CurrentUser",QUERY_PARAM:"storeId"},R={FEATURE_ID:"featureId",STORE_ID:"storeId"};export{r as LOCAL_STORAGE_KEYS,R as QUERY_PARAMS};
|
|
@@ -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
|
-
const t={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"};export{t as SELECTORS};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const O={JOYRIDE:1e4,VIDEO_MODAL:2e3,SKIP_BUTTON:10,IMAGE_BADGE:10,CLOSE_BUTTON:10};export{O as Z_INDEX};
|
|
@@ -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
|
-
import{__awaiter as e}from"../../../_virtual/_tslib.js";import{useState as t,useCallback as r,useEffect as o}from"react";import{ANIMATION_TIMING as a}from"../constants/animations.js";import{QUERY_PARAMS as n,LOCAL_STORAGE_KEYS as i}from"../constants/localStorageKeys.js";const l=l=>{let{fetchVisibleFeatures:s,getStoreFeatureProgress:u,fetchFeatureById:d,markFeatureAsViewedForStore:c,isFeatureApplicableToCurrentPage:f,module:p,router:m}=l;var g;const y=(()=>{const[e,r]=t(null);return o((()=>{if("undefined"!=typeof window){let e=null;try{if(e=localStorage.getItem(i.STORE_ID)||localStorage.getItem(i.BIK_STORE_ID)||localStorage.getItem(i.CURRENT_STORE)||localStorage.getItem(i.STORE),!e){const t=localStorage.getItem(i.CURRENT_USER);t&&(e=JSON.parse(t).storeId)}e||(e=new URLSearchParams(window.location.search).get(i.QUERY_PARAM))}catch(e){console.error("FeatureAnnouncements: Failed to get store ID",e)}r(e)}}),[]),e})(),[v,F]=t([]),[D,w]=t([]),[U,h]=t([]),[A,I]=t(!1),[R,S]=t(null),T=r((()=>e(void 0,void 0,void 0,(function*(){if(y){I(!0),S(null);try{const[e,t]=yield s(p);if(e||!t)return console.error("FeatureAnnouncements: Failed to fetch features",e),void S("Failed to fetch features");const[r,o]=yield u(y);r&&console.warn("FeatureAnnouncements: Progress fetch failed, treating all features as new",r);const n=new Date,i="undefined"!=typeof window?window.location.pathname:"",l=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()))&&n<t},d=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(i)}return!0},c=t.filter((e=>{var t;return!((null===(t=null==o?void 0:o.viewedFeatures)||void 0===t?void 0:t[e.id])||!1)&&f(e)&&l(e)&&d(e)})),m=c.filter((e=>"Major"===e.featureUpdateType)),g=c.filter((e=>"Minor"===e.featureUpdateType));F(c),w(m),setTimeout((()=>{h(g)}),a.MINOR_POPUP_DELAY)}catch(e){console.error("FeatureAnnouncements: Unexpected error in fetchFeatures",e),S("An unexpected error occurred")}finally{I(!1)}}}))),[y,s,u,f,p]),x=r((t=>e(void 0,void 0,void 0,(function*(){I(!0),S(null);try{const[e,r]=yield d(t);if(e||!r)return void S("Failed to fetch feature by ID");"Major"===r.featureUpdateType?w([r]):h([r]),F([r])}catch(e){S("An unexpected error occurred while fetching by ID")}finally{I(!1)}}))),[d]),E=r((t=>e(void 0,void 0,void 0,(function*(){if(!y)return;const[e]=yield c(y,t);e?(console.warn("FeatureAnnouncements: Failed to mark feature as viewed, removing from local state anyway",e),F((e=>e.filter((e=>e.id!==t)))),w((e=>e.filter((e=>e.id!==t)))),h((e=>e.filter((e=>e.id!==t))))):(F((e=>e.filter((e=>e.id!==t)))),w((e=>e.filter((e=>e.id!==t)))),h((e=>e.filter((e=>e.id!==t)))))}))),[y,c]);return o((()=>{var e;const t=null===(e=null==m?void 0:m.query)||void 0===e?void 0:e[n.FEATURE_ID];t&&m?x(t):T()}),[null==m?void 0:m.pathname,null===(g=null==m?void 0:m.query)||void 0===g?void 0:g[n.FEATURE_ID],y,T,x,m]),{features:v,majorUpdateFeatures:D,minorUpdateFeatures:U,isLoading:A,error:R,markFeatureAsViewed:E,refetch:T}};export{l as useFeatureAnnouncements};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { default as FeatureAnnouncementProvider } from './FeatureAnnouncementProvider';
|
|
2
|
-
export { default as MajorUpdatePopup } from './MajorUpdatePopup';
|
|
3
|
-
export { default as MinorUpdatePopup } from './MinorUpdatePopup';
|
|
4
|
-
export { VideoModal } from './VideoModal';
|
|
5
|
-
export { useFeatureAnnouncements } from './hooks/useFeatureAnnouncements';
|
|
6
|
-
export * from './types';
|
|
7
|
-
export { TEXT, ANIMATION_TIMING, POPUP_DIMENSIONS } from './constants';
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
export declare const majorStepStyles: {
|
|
2
|
-
tooltip: {
|
|
3
|
-
padding: number;
|
|
4
|
-
backgroundColor: string;
|
|
5
|
-
borderRadius: string;
|
|
6
|
-
border: string;
|
|
7
|
-
filter: string;
|
|
8
|
-
boxShadow: string;
|
|
9
|
-
};
|
|
10
|
-
tooltipContent: {
|
|
11
|
-
padding: number;
|
|
12
|
-
};
|
|
13
|
-
buttonNext: {
|
|
14
|
-
display: string;
|
|
15
|
-
};
|
|
16
|
-
buttonBack: {
|
|
17
|
-
display: string;
|
|
18
|
-
};
|
|
19
|
-
buttonClose: {
|
|
20
|
-
display: string;
|
|
21
|
-
};
|
|
22
|
-
buttonSkip: {
|
|
23
|
-
display: string;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
export declare const minorStepStyles: {
|
|
27
|
-
tooltip: {
|
|
28
|
-
padding: number;
|
|
29
|
-
backgroundColor: string;
|
|
30
|
-
borderRadius: "4px";
|
|
31
|
-
border: string;
|
|
32
|
-
filter: string;
|
|
33
|
-
boxShadow: string;
|
|
34
|
-
};
|
|
35
|
-
tooltipContent: {
|
|
36
|
-
padding: number;
|
|
37
|
-
};
|
|
38
|
-
buttonNext: {
|
|
39
|
-
display: string;
|
|
40
|
-
};
|
|
41
|
-
buttonBack: {
|
|
42
|
-
display: string;
|
|
43
|
-
};
|
|
44
|
-
buttonClose: {
|
|
45
|
-
display: string;
|
|
46
|
-
};
|
|
47
|
-
buttonSkip: {
|
|
48
|
-
display: string;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
export declare const getMajorJoyrideStyles: (isClosing: boolean) => {
|
|
52
|
-
options: {
|
|
53
|
-
arrowColor: string;
|
|
54
|
-
backgroundColor: string;
|
|
55
|
-
overlayColor: string;
|
|
56
|
-
primaryColor: string;
|
|
57
|
-
textColor: string;
|
|
58
|
-
zIndex: 10000;
|
|
59
|
-
};
|
|
60
|
-
tooltip: {
|
|
61
|
-
padding: number;
|
|
62
|
-
backgroundColor: string;
|
|
63
|
-
borderRadius: string;
|
|
64
|
-
border: string;
|
|
65
|
-
filter: string;
|
|
66
|
-
boxShadow: string;
|
|
67
|
-
position: "fixed";
|
|
68
|
-
top: string;
|
|
69
|
-
left: string;
|
|
70
|
-
transform: string;
|
|
71
|
-
};
|
|
72
|
-
tooltipContent: {
|
|
73
|
-
padding: number;
|
|
74
|
-
};
|
|
75
|
-
buttonNext: {
|
|
76
|
-
display: string;
|
|
77
|
-
};
|
|
78
|
-
buttonBack: {
|
|
79
|
-
display: string;
|
|
80
|
-
};
|
|
81
|
-
buttonClose: {
|
|
82
|
-
display: string;
|
|
83
|
-
};
|
|
84
|
-
buttonSkip: {
|
|
85
|
-
display: string;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
export declare const getMinorJoyrideStyles: (isClosing: boolean) => {
|
|
89
|
-
options: {
|
|
90
|
-
arrowColor: string;
|
|
91
|
-
backgroundColor: string;
|
|
92
|
-
overlayColor: string;
|
|
93
|
-
primaryColor: string;
|
|
94
|
-
textColor: string;
|
|
95
|
-
zIndex: 10000;
|
|
96
|
-
};
|
|
97
|
-
spotlight: {
|
|
98
|
-
boxShadow: string;
|
|
99
|
-
borderRadius: "8px";
|
|
100
|
-
};
|
|
101
|
-
tooltip: {
|
|
102
|
-
padding: number;
|
|
103
|
-
backgroundColor: string;
|
|
104
|
-
borderRadius: "4px";
|
|
105
|
-
border: string;
|
|
106
|
-
filter: string;
|
|
107
|
-
boxShadow: string;
|
|
108
|
-
maxWidth: string;
|
|
109
|
-
};
|
|
110
|
-
tooltipContent: {
|
|
111
|
-
padding: number;
|
|
112
|
-
};
|
|
113
|
-
buttonNext: {
|
|
114
|
-
display: string;
|
|
115
|
-
};
|
|
116
|
-
buttonBack: {
|
|
117
|
-
display: string;
|
|
118
|
-
};
|
|
119
|
-
buttonClose: {
|
|
120
|
-
display: string;
|
|
121
|
-
};
|
|
122
|
-
buttonSkip: {
|
|
123
|
-
display: string;
|
|
124
|
-
};
|
|
125
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { CSSProperties } from 'react';
|
|
2
|
-
export declare const getMajorPopupStyles: (startAnimation: boolean, transform: string) => {
|
|
3
|
-
container: CSSProperties;
|
|
4
|
-
skipButton: {
|
|
5
|
-
base: CSSProperties;
|
|
6
|
-
hover: CSSProperties;
|
|
7
|
-
};
|
|
8
|
-
imageContainer: CSSProperties;
|
|
9
|
-
image: CSSProperties;
|
|
10
|
-
imagePlaceholder: CSSProperties;
|
|
11
|
-
contentContainer: CSSProperties;
|
|
12
|
-
title: CSSProperties;
|
|
13
|
-
content: CSSProperties;
|
|
14
|
-
exploreButton: {
|
|
15
|
-
base: CSSProperties;
|
|
16
|
-
hover: CSSProperties;
|
|
17
|
-
};
|
|
18
|
-
navigationContainer: CSSProperties;
|
|
19
|
-
navigationButton: (disabled: boolean) => {
|
|
20
|
-
base: CSSProperties;
|
|
21
|
-
hover: CSSProperties;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{BASE_COLORS as t}from"../../../constants/Theme.js";import{POPUP_TRANSITION as e}from"../constants/animations.js";import{POPUP_DIMENSIONS as n,BORDER_RADIUS as i,SPACING as o}from"../constants/dimensions.js";import{Z_INDEX as a}from"../constants/zIndex.js";const r=(r,l)=>({container:{width:`${n.MAJOR.width}px`,height:`${n.MAJOR.height}px`,display:"flex",backgroundColor:t.grayscale[900],borderRadius:i.POPUP,overflow:"hidden",position:"relative",transform:r?l:"scale(1)",opacity:r?0:1,transition:e},skipButton:{base:{position:"absolute",top:o.MAJOR.skipButtonTop,right:o.MAJOR.skipButtonRight,background:"transparent",border:"none",color:t.grayscale[400],fontSize:"14px",fontWeight:"500",cursor:"pointer",zIndex:a.SKIP_BUTTON,transition:"all 0.2s"},hover:{backgroundColor:t.grayscale[100],color:t.grayscale[700]}},imageContainer:{backgroundColor:t.grayscale[900],width:`${n.MAJOR.imageWidth}px`,height:`${n.MAJOR.imageHeight}px`,position:"relative",display:"flex",alignItems:"center",justifyContent:"center",padding:o.MAJOR.imagePadding},image:{width:`${n.MAJOR.imageInnerWidth}px`,height:`${n.MAJOR.imageInnerHeight}px`,objectFit:"cover"},imagePlaceholder:{color:t.grayscale[500],fontSize:"14px",textAlign:"center",width:`${n.MAJOR.imagePlaceholderWidth}px`,height:`${n.MAJOR.imagePlaceholderHeight}px`,display:"flex",alignItems:"center",justifyContent:"center"},contentContainer:{flex:1,display:"flex",margin:o.MAJOR.contentMargin,flexDirection:"column",justifyContent:"space-between",background:"transparent"},title:{fontSize:"16px",fontWeight:"600",padding:o.MAJOR.titlePadding,color:t.grayscale.white,lineHeight:"1.25",textAlign:"left"},content:{fontSize:"14px",lineHeight:"1.5",color:"rgba(255, 255, 255, 0.8)",textAlign:"left"},exploreButton:{base:{backgroundColor:"transparent",border:`1px solid ${t.warning[500]}`,color:t.warning[500],borderRadius:i.BUTTON,fontSize:"14px",fontWeight:"600",cursor:"pointer",width:"154px",height:"32px",transition:"all 0.2s",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center",marginTop:o.MAJOR.buttonMarginTop},hover:{backgroundColor:"rgba(254, 192, 45, 0.1)"}},navigationContainer:{position:"absolute",bottom:o.MAJOR.navigationBottom,right:o.MAJOR.navigationRight,display:"flex",gap:o.MAJOR.navigationGap,alignItems:"center"},navigationButton:e=>({base:{width:"24px",height:"24px",backgroundColor:"transparent",border:"none",color:e?t.grayscale[700]:t.grayscale.white,fontSize:"20px",cursor:e?"not-allowed":"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s"},hover:{color:t.warning[500]}})});export{r as getMajorPopupStyles};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CSSProperties } from 'react';
|
|
2
|
-
export declare const getMinorPopupStyles: (startAnimation: boolean, transform: string) => {
|
|
3
|
-
container: CSSProperties;
|
|
4
|
-
imageContainer: CSSProperties;
|
|
5
|
-
imageWrapper: CSSProperties;
|
|
6
|
-
image: CSSProperties;
|
|
7
|
-
badge: CSSProperties;
|
|
8
|
-
badgeText: CSSProperties;
|
|
9
|
-
imagePlaceholder: CSSProperties;
|
|
10
|
-
contentContainer: CSSProperties;
|
|
11
|
-
title: CSSProperties;
|
|
12
|
-
content: CSSProperties;
|
|
13
|
-
actionsContainer: CSSProperties;
|
|
14
|
-
understoodText: CSSProperties;
|
|
15
|
-
exploreButton: CSSProperties;
|
|
16
|
-
};
|