@bikdotai/bik-component-library 0.0.756-beta.9 → 0.0.757-beta.10
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/assets/icons/ActiveChecklistIcon.d.ts +3 -0
- package/dist/cjs/assets/icons/ActiveChecklistIcon.js +1 -0
- package/dist/cjs/assets/icons/CheckIndicatorIcon.d.ts +1 -0
- package/dist/cjs/assets/icons/CheckIndicatorIcon.js +1 -0
- package/dist/cjs/assets/icons/CheckSquareOffset.svg.js +1 -0
- package/dist/cjs/assets/icons/CompletedChecklistIcon.d.ts +3 -0
- package/dist/cjs/assets/icons/CompletedChecklistIcon.js +1 -0
- package/dist/cjs/assets/icons/CustomiseIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/CustomiseIcon.js +1 -0
- package/dist/cjs/assets/icons/EnableIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/EnableIcon.js +1 -0
- package/dist/cjs/assets/icons/GoLiveIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/GoLiveIcon.js +1 -0
- package/dist/cjs/assets/icons/HeadsetIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/HeadsetIcon.js +1 -0
- package/dist/cjs/assets/icons/InactiveChecklistIcon.d.ts +3 -0
- package/dist/cjs/assets/icons/InactiveChecklistIcon.js +1 -0
- package/dist/cjs/assets/icons/ListChecksIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/ListChecksIcon.js +1 -0
- package/dist/cjs/assets/icons/MarketingIcon.d.ts +6 -0
- package/dist/cjs/assets/icons/MarketingIcon.js +1 -0
- package/dist/cjs/assets/icons/NudgesIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/NudgesIcon.js +1 -0
- package/dist/cjs/assets/icons/OnboardingLogo.d.ts +7 -0
- package/dist/cjs/assets/icons/OnboardingLogo.js +1 -0
- package/dist/cjs/assets/icons/OrderTrackingIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/OrderTrackingIcon.js +1 -0
- package/dist/cjs/assets/icons/ProgressBadgeIcon.d.ts +3 -0
- package/dist/cjs/assets/icons/ProgressBadgeIcon.js +1 -0
- package/dist/cjs/assets/icons/Redirect2Icon.d.ts +2 -0
- package/dist/cjs/assets/icons/Redirect2Icon.js +1 -0
- package/dist/cjs/assets/icons/ShoppingIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/ShoppingIcon.js +1 -0
- package/dist/cjs/assets/icons/SmallCheckIcon.d.ts +3 -0
- package/dist/cjs/assets/icons/SmallCheckIcon.js +1 -0
- package/dist/cjs/assets/icons/SupportIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/SupportIcon.js +1 -0
- package/dist/cjs/assets/icons/TrainingIcon.d.ts +7 -0
- package/dist/cjs/assets/icons/TrainingIcon.js +1 -0
- package/dist/cjs/assets/icons/actionButton.svg.js +1 -0
- package/dist/cjs/assets/icons/alarm.svg.js +1 -0
- package/dist/cjs/assets/icons/bik_ai_stars_icon.svg.js +1 -0
- package/dist/cjs/assets/icons/brand_home.svg.js +1 -0
- package/dist/cjs/assets/icons/chat.svg.js +1 -0
- package/dist/cjs/assets/icons/circular-cross-icon.svg.js +1 -0
- package/dist/cjs/assets/icons/grid.svg.js +1 -0
- package/dist/cjs/assets/icons/home.svg.js +1 -0
- package/dist/cjs/assets/icons/hover_home.svg.js +1 -0
- package/dist/cjs/assets/icons/index.d.ts +160 -0
- package/dist/cjs/assets/icons/list.svg.js +1 -0
- package/dist/cjs/assets/icons/paperclip.svg.js +1 -0
- package/dist/cjs/assets/icons/play.svg.js +1 -0
- package/dist/cjs/assets/icons/pointer.svg.js +1 -0
- package/dist/cjs/assets/icons/profile.svg.js +1 -0
- package/dist/cjs/assets/icons/retry.svg.js +1 -0
- package/dist/cjs/assets/icons/send.svg.js +1 -0
- package/dist/cjs/assets/icons/smile_emoji.svg.js +1 -0
- package/dist/cjs/assets/icons/video_camcorder.svg.js +1 -0
- package/dist/cjs/components/ProgressChecklist/MultiChecklistItem.d.ts +10 -0
- package/dist/cjs/components/ProgressChecklist/MultiChecklistItem.js +1 -0
- package/dist/cjs/components/ProgressChecklist/ProgressChecklist.d.ts +75 -0
- package/dist/cjs/components/ProgressChecklist/ProgressChecklist.js +1 -0
- package/dist/cjs/components/ProgressChecklist/ProgressChecklist.style.d.ts +32 -0
- package/dist/cjs/components/ProgressChecklist/ProgressChecklist.style.js +133 -0
- package/dist/cjs/components/ProgressChecklist/ProgressStepper.d.ts +15 -0
- package/dist/cjs/components/ProgressChecklist/ProgressStepper.js +1 -0
- package/dist/cjs/components/ProgressChecklist/SimpleChecklistItem.d.ts +21 -0
- package/dist/cjs/components/ProgressChecklist/SimpleChecklistItem.js +1 -0
- package/dist/cjs/components/ProgressChecklist/index.d.ts +2 -0
- package/dist/cjs/components/TablePagination/TablePagination.d.ts +1 -0
- package/dist/cjs/components/TablePagination/TablePagination.js +1 -1
- package/dist/cjs/components/TablePagination/TablePaginationCard.d.ts +1 -1
- package/dist/cjs/components/WhatsAppTextEditor/CustomEditor.styled.d.ts +3 -3
- package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditorHeader.d.ts +1 -1
- package/dist/cjs/components/analytics-card/AnalyticsCard.styled.d.ts +2 -2
- package/dist/cjs/components/analytics-chips-and-dropdowns/CommonStyles.d.ts +5 -5
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.styled.d.ts +3 -3
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapStyled.d.ts +8 -8
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.d.ts +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.styled.d.ts +5 -5
- package/dist/cjs/components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.styled.d.ts +5 -5
- package/dist/cjs/components/banner/Banner.styled.d.ts +20 -20
- package/dist/cjs/components/bik-layout/CommonStyles.d.ts +17 -17
- package/dist/cjs/components/button/Button.styled.d.ts +1 -1
- package/dist/cjs/components/card-selection-modal/CardSelectionModal.styled.d.ts +2 -2
- package/dist/cjs/components/carousel-secondary/CarouselSecondary.style.d.ts +6 -6
- package/dist/cjs/components/checkList/CheckList.styled.d.ts +1 -1
- package/dist/cjs/components/code-block/CodeBlock.js +1 -1
- package/dist/cjs/components/colourInput/ColourInput.styled.d.ts +2 -2
- package/dist/cjs/components/country-code-picker/CountryCodePicker.styled.d.ts +2 -2
- package/dist/cjs/components/country-code-picker/CountryPicker.styled.d.ts +2 -2
- package/dist/cjs/components/custom-date-time/CustomDateTime.styled.d.ts +1 -1
- package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.styled.d.ts +2 -2
- package/dist/cjs/components/dashboard-review-popup/components/FiveStar.styled.d.ts +2 -2
- package/dist/cjs/components/dashboard-review-popup/components/Form.styled.d.ts +6 -6
- package/dist/cjs/components/datePicker/DatePicker.styled.d.ts +4 -4
- package/dist/cjs/components/discount-modal/DiscountModal.styled.d.ts +5 -5
- package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
- package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js +1 -1
- package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js +1 -1
- package/dist/cjs/components/feature-announcements/constants/dimensions.d.ts +99 -25
- package/dist/cjs/components/feature-announcements/constants/dimensions.js +1 -1
- package/dist/cjs/components/feature-announcements/styles/joyride.styles.d.ts +2 -2
- package/dist/cjs/components/feature-announcements/styles/majorPopup.styles.d.ts +14 -1
- package/dist/cjs/components/feature-announcements/styles/majorPopup.styles.js +1 -1
- package/dist/cjs/components/feature-announcements/styles/minorPopup.styles.d.ts +0 -2
- package/dist/cjs/components/feature-announcements/styles/minorPopup.styles.js +1 -1
- package/dist/cjs/components/feature-announcements/types/feature.types.d.ts +47 -0
- package/dist/cjs/components/feature-announcements/types/props.types.d.ts +25 -3
- package/dist/cjs/components/input/Input.styled.d.ts +4 -4
- package/dist/cjs/components/keywords-input/KeywordsInput.styled.d.ts +1 -1
- package/dist/cjs/components/list-item/ListItem.styled.d.ts +1 -1
- package/dist/cjs/components/modals/modal.styled.d.ts +4 -4
- package/dist/cjs/components/pagination/Pagination.styled.d.ts +1 -1
- package/dist/cjs/components/plans/DurationSelectorStyles.d.ts +1 -1
- package/dist/cjs/components/plans/SubscriptionPlanSelector.d.ts +2 -2
- package/dist/cjs/components/plans/SubscriptionPlanStyled.d.ts +2 -2
- package/dist/cjs/components/post-live-checklist/PostLiveChecklist.d.ts +18 -0
- package/dist/cjs/components/post-live-checklist/PostLiveChecklist.js +1 -0
- package/dist/cjs/components/post-live-checklist/PostLiveChecklist.stories.d.ts +12 -0
- package/dist/cjs/components/post-live-checklist/index.d.ts +2 -0
- package/dist/cjs/components/post-live-checklist-item/PostLiveChecklistItem.d.ts +10 -0
- package/dist/cjs/components/post-live-checklist-item/PostLiveChecklistItem.js +1 -0
- package/dist/cjs/components/post-live-checklist-item/index.d.ts +1 -0
- package/dist/cjs/components/product-picker/ProductPicker.styled.d.ts +2 -2
- package/dist/cjs/components/progress-bar/ProgressBarComponent.d.ts +1 -1
- package/dist/cjs/components/radioList/RadioList.styled.d.ts +1 -1
- package/dist/cjs/components/sample-button/SampleButton.styled.d.ts +1 -1
- package/dist/cjs/components/shimmer/ShimmerComponent/ShimmerStyled.d.ts +2 -2
- package/dist/cjs/components/switch/Switch.d.ts +3 -3
- package/dist/cjs/components/tabs/Tabs.styles.d.ts +5 -5
- package/dist/cjs/components/tag/Tag.styled.d.ts +1 -1
- package/dist/cjs/components/testimonial-card/TestimonialCard.style.d.ts +9 -9
- package/dist/cjs/components/toaster/Toaster.styled.d.ts +1 -1
- package/dist/cjs/components/toaster/Toaster.styled.js +1 -1
- package/dist/cjs/components/vertical-full-screen-modal/component.d.ts +24 -0
- package/dist/cjs/components/vertical-full-screen-modal/component.js +1 -0
- package/dist/cjs/components/vertical-full-screen-modal/index.d.ts +2 -0
- package/dist/cjs/components/vertical-full-screen-modal/styles.d.ts +8 -0
- package/dist/cjs/components/vertical-full-screen-modal/styles.js +45 -0
- package/dist/cjs/components/vertical-full-screen-modal/types.d.ts +27 -0
- package/dist/cjs/components/whats-new/WhatsNew.types.d.ts +6 -0
- package/dist/cjs/components/whats-new/WhatsNewButton.js +1 -1
- package/dist/cjs/components/whats-new/WhatsNewPanel.js +1 -1
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.js +1 -1
- package/dist/esm/assets/icons/ActiveChecklistIcon.d.ts +3 -0
- package/dist/esm/assets/icons/ActiveChecklistIcon.js +1 -0
- package/dist/esm/assets/icons/CheckIndicatorIcon.d.ts +1 -0
- package/dist/esm/assets/icons/CheckIndicatorIcon.js +1 -0
- package/dist/esm/assets/icons/CheckSquareOffset.svg.js +1 -0
- package/dist/esm/assets/icons/CompletedChecklistIcon.d.ts +3 -0
- package/dist/esm/assets/icons/CompletedChecklistIcon.js +1 -0
- package/dist/esm/assets/icons/CustomiseIcon.d.ts +7 -0
- package/dist/esm/assets/icons/CustomiseIcon.js +1 -0
- package/dist/esm/assets/icons/EnableIcon.d.ts +7 -0
- package/dist/esm/assets/icons/EnableIcon.js +1 -0
- package/dist/esm/assets/icons/GoLiveIcon.d.ts +7 -0
- package/dist/esm/assets/icons/GoLiveIcon.js +1 -0
- package/dist/esm/assets/icons/HeadsetIcon.d.ts +7 -0
- package/dist/esm/assets/icons/HeadsetIcon.js +1 -0
- package/dist/esm/assets/icons/InactiveChecklistIcon.d.ts +3 -0
- package/dist/esm/assets/icons/InactiveChecklistIcon.js +1 -0
- package/dist/esm/assets/icons/ListChecksIcon.d.ts +7 -0
- package/dist/esm/assets/icons/ListChecksIcon.js +1 -0
- package/dist/esm/assets/icons/MarketingIcon.d.ts +6 -0
- package/dist/esm/assets/icons/MarketingIcon.js +1 -0
- package/dist/esm/assets/icons/NudgesIcon.d.ts +7 -0
- package/dist/esm/assets/icons/NudgesIcon.js +1 -0
- package/dist/esm/assets/icons/OnboardingLogo.d.ts +7 -0
- package/dist/esm/assets/icons/OnboardingLogo.js +1 -0
- package/dist/esm/assets/icons/OrderTrackingIcon.d.ts +7 -0
- package/dist/esm/assets/icons/OrderTrackingIcon.js +1 -0
- package/dist/esm/assets/icons/ProgressBadgeIcon.d.ts +3 -0
- package/dist/esm/assets/icons/ProgressBadgeIcon.js +1 -0
- package/dist/esm/assets/icons/Redirect2Icon.d.ts +2 -0
- package/dist/esm/assets/icons/Redirect2Icon.js +1 -0
- package/dist/esm/assets/icons/ShoppingIcon.d.ts +7 -0
- package/dist/esm/assets/icons/ShoppingIcon.js +1 -0
- package/dist/esm/assets/icons/SmallCheckIcon.d.ts +3 -0
- package/dist/esm/assets/icons/SmallCheckIcon.js +1 -0
- package/dist/esm/assets/icons/SupportIcon.d.ts +7 -0
- package/dist/esm/assets/icons/SupportIcon.js +1 -0
- package/dist/esm/assets/icons/TrainingIcon.d.ts +7 -0
- package/dist/esm/assets/icons/TrainingIcon.js +1 -0
- package/dist/esm/assets/icons/actionButton.svg.js +1 -0
- package/dist/esm/assets/icons/alarm.svg.js +1 -0
- package/dist/esm/assets/icons/bik_ai_stars_icon.svg.js +1 -0
- package/dist/esm/assets/icons/brand_home.svg.js +1 -0
- package/dist/esm/assets/icons/chat.svg.js +1 -0
- package/dist/esm/assets/icons/circular-cross-icon.svg.js +1 -0
- package/dist/esm/assets/icons/grid.svg.js +1 -0
- package/dist/esm/assets/icons/home.svg.js +1 -0
- package/dist/esm/assets/icons/hover_home.svg.js +1 -0
- package/dist/esm/assets/icons/index.d.ts +160 -0
- package/dist/esm/assets/icons/list.svg.js +1 -0
- package/dist/esm/assets/icons/paperclip.svg.js +1 -0
- package/dist/esm/assets/icons/play.svg.js +1 -0
- package/dist/esm/assets/icons/pointer.svg.js +1 -0
- package/dist/esm/assets/icons/profile.svg.js +1 -0
- package/dist/esm/assets/icons/retry.svg.js +1 -0
- package/dist/esm/assets/icons/send.svg.js +1 -0
- package/dist/esm/assets/icons/smile_emoji.svg.js +1 -0
- package/dist/esm/assets/icons/video_camcorder.svg.js +1 -0
- package/dist/esm/components/ProgressChecklist/MultiChecklistItem.d.ts +10 -0
- package/dist/esm/components/ProgressChecklist/MultiChecklistItem.js +1 -0
- package/dist/esm/components/ProgressChecklist/ProgressChecklist.d.ts +75 -0
- package/dist/esm/components/ProgressChecklist/ProgressChecklist.js +1 -0
- package/dist/esm/components/ProgressChecklist/ProgressChecklist.style.d.ts +32 -0
- package/dist/esm/components/ProgressChecklist/ProgressChecklist.style.js +133 -0
- package/dist/esm/components/ProgressChecklist/ProgressStepper.d.ts +15 -0
- package/dist/esm/components/ProgressChecklist/ProgressStepper.js +1 -0
- package/dist/esm/components/ProgressChecklist/SimpleChecklistItem.d.ts +21 -0
- package/dist/esm/components/ProgressChecklist/SimpleChecklistItem.js +1 -0
- package/dist/esm/components/ProgressChecklist/index.d.ts +2 -0
- package/dist/esm/components/TablePagination/TablePagination.d.ts +1 -0
- package/dist/esm/components/TablePagination/TablePagination.js +1 -1
- package/dist/esm/components/TablePagination/TablePaginationCard.d.ts +1 -1
- package/dist/esm/components/WhatsAppTextEditor/CustomEditor.styled.d.ts +3 -3
- package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditorHeader.d.ts +1 -1
- package/dist/esm/components/analytics-card/AnalyticsCard.styled.d.ts +2 -2
- package/dist/esm/components/analytics-chips-and-dropdowns/CommonStyles.d.ts +5 -5
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/LineChart/LineChart.styled.d.ts +3 -3
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapStyled.d.ts +8 -8
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.d.ts +1 -1
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/linearChipGroupedChart/LinearChipGroupedChart.styled.d.ts +5 -5
- package/dist/esm/components/analytics-chips-and-dropdowns/chart/scoreBlock/ScoreBlock.styled.d.ts +5 -5
- package/dist/esm/components/banner/Banner.styled.d.ts +20 -20
- package/dist/esm/components/bik-layout/CommonStyles.d.ts +17 -17
- package/dist/esm/components/button/Button.styled.d.ts +1 -1
- package/dist/esm/components/card-selection-modal/CardSelectionModal.styled.d.ts +2 -2
- package/dist/esm/components/carousel-secondary/CarouselSecondary.style.d.ts +6 -6
- package/dist/esm/components/checkList/CheckList.styled.d.ts +1 -1
- package/dist/esm/components/code-block/CodeBlock.js +1 -1
- package/dist/esm/components/colourInput/ColourInput.styled.d.ts +2 -2
- package/dist/esm/components/country-code-picker/CountryCodePicker.styled.d.ts +2 -2
- package/dist/esm/components/country-code-picker/CountryPicker.styled.d.ts +2 -2
- package/dist/esm/components/custom-date-time/CustomDateTime.styled.d.ts +1 -1
- package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.styled.d.ts +2 -2
- package/dist/esm/components/dashboard-review-popup/components/FiveStar.styled.d.ts +2 -2
- package/dist/esm/components/dashboard-review-popup/components/Form.styled.d.ts +6 -6
- package/dist/esm/components/datePicker/DatePicker.styled.d.ts +4 -4
- package/dist/esm/components/discount-modal/DiscountModal.styled.d.ts +5 -5
- package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
- package/dist/esm/components/feature-announcements/MajorUpdatePopup.js +1 -1
- package/dist/esm/components/feature-announcements/MinorUpdatePopup.js +1 -1
- package/dist/esm/components/feature-announcements/constants/dimensions.d.ts +99 -25
- package/dist/esm/components/feature-announcements/constants/dimensions.js +1 -1
- package/dist/esm/components/feature-announcements/styles/joyride.styles.d.ts +2 -2
- package/dist/esm/components/feature-announcements/styles/majorPopup.styles.d.ts +14 -1
- package/dist/esm/components/feature-announcements/styles/majorPopup.styles.js +1 -1
- package/dist/esm/components/feature-announcements/styles/minorPopup.styles.d.ts +0 -2
- package/dist/esm/components/feature-announcements/styles/minorPopup.styles.js +1 -1
- package/dist/esm/components/feature-announcements/types/feature.types.d.ts +47 -0
- package/dist/esm/components/feature-announcements/types/props.types.d.ts +25 -3
- package/dist/esm/components/input/Input.styled.d.ts +4 -4
- package/dist/esm/components/keywords-input/KeywordsInput.styled.d.ts +1 -1
- package/dist/esm/components/list-item/ListItem.styled.d.ts +1 -1
- package/dist/esm/components/modals/modal.styled.d.ts +4 -4
- package/dist/esm/components/pagination/Pagination.styled.d.ts +1 -1
- package/dist/esm/components/plans/DurationSelectorStyles.d.ts +1 -1
- package/dist/esm/components/plans/SubscriptionPlanSelector.d.ts +2 -2
- package/dist/esm/components/plans/SubscriptionPlanStyled.d.ts +2 -2
- package/dist/esm/components/post-live-checklist/PostLiveChecklist.d.ts +18 -0
- package/dist/esm/components/post-live-checklist/PostLiveChecklist.js +1 -0
- package/dist/esm/components/post-live-checklist/PostLiveChecklist.stories.d.ts +12 -0
- package/dist/esm/components/post-live-checklist/index.d.ts +2 -0
- package/dist/esm/components/post-live-checklist-item/PostLiveChecklistItem.d.ts +10 -0
- package/dist/esm/components/post-live-checklist-item/PostLiveChecklistItem.js +1 -0
- package/dist/esm/components/post-live-checklist-item/index.d.ts +1 -0
- package/dist/esm/components/product-picker/ProductPicker.styled.d.ts +2 -2
- package/dist/esm/components/progress-bar/ProgressBarComponent.d.ts +1 -1
- package/dist/esm/components/radioList/RadioList.styled.d.ts +1 -1
- package/dist/esm/components/sample-button/SampleButton.styled.d.ts +1 -1
- package/dist/esm/components/shimmer/ShimmerComponent/ShimmerStyled.d.ts +2 -2
- package/dist/esm/components/switch/Switch.d.ts +3 -3
- package/dist/esm/components/tabs/Tabs.styles.d.ts +5 -5
- package/dist/esm/components/tag/Tag.styled.d.ts +1 -1
- package/dist/esm/components/testimonial-card/TestimonialCard.style.d.ts +9 -9
- package/dist/esm/components/toaster/Toaster.styled.d.ts +1 -1
- package/dist/esm/components/toaster/Toaster.styled.js +1 -1
- package/dist/esm/components/vertical-full-screen-modal/component.d.ts +24 -0
- package/dist/esm/components/vertical-full-screen-modal/component.js +1 -0
- package/dist/esm/components/vertical-full-screen-modal/index.d.ts +2 -0
- package/dist/esm/components/vertical-full-screen-modal/styles.d.ts +8 -0
- package/dist/esm/components/vertical-full-screen-modal/styles.js +45 -0
- package/dist/esm/components/vertical-full-screen-modal/types.d.ts +27 -0
- package/dist/esm/components/whats-new/WhatsNew.types.d.ts +6 -0
- package/dist/esm/components/whats-new/WhatsNewButton.js +1 -1
- package/dist/esm/components/whats-new/WhatsNewPanel.js +1 -1
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const Container: import("@emotion/styled").StyledComponent<{
|
|
3
3
|
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
-
as?: import("react").ElementType<any> | undefined;
|
|
4
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
5
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
6
6
|
export declare const StarWrapper: import("@emotion/styled").StyledComponent<{
|
|
7
7
|
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
-
as?: import("react").ElementType<any> | undefined;
|
|
8
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
9
9
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
10
10
|
export declare const Chip: import("@emotion/styled").StyledComponent<{
|
|
11
11
|
theme?: import("@emotion/react").Theme | undefined;
|
|
12
|
-
as?: import("react").ElementType<any> | undefined;
|
|
12
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
13
13
|
} & {
|
|
14
14
|
selected?: boolean | undefined;
|
|
15
15
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
16
16
|
export declare const Wrapper: import("@emotion/styled").StyledComponent<{
|
|
17
17
|
theme?: import("@emotion/react").Theme | undefined;
|
|
18
|
-
as?: import("react").ElementType<any> | undefined;
|
|
18
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
19
19
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
20
20
|
export declare const TextArea: import("@emotion/styled").StyledComponent<{
|
|
21
21
|
theme?: import("@emotion/react").Theme | undefined;
|
|
22
|
-
as?: import("react").ElementType<any> | undefined;
|
|
22
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
23
23
|
}, import("react").DetailedHTMLProps<import("react").TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, {}>;
|
|
24
24
|
export declare const Button: import("@emotion/styled").StyledComponent<{
|
|
25
25
|
theme?: import("@emotion/react").Theme | undefined;
|
|
26
|
-
as?: import("react").ElementType<any> | undefined;
|
|
26
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
27
27
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const PickerContainer: import("@emotion/styled").StyledComponent<{
|
|
3
3
|
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
-
as?: import("react").ElementType<any> | undefined;
|
|
4
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
5
|
} & {
|
|
6
6
|
selectRange: boolean;
|
|
7
7
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
8
8
|
export declare const TimePickerContainer: import("@emotion/styled").StyledComponent<{
|
|
9
9
|
theme?: import("@emotion/react").Theme | undefined;
|
|
10
|
-
as?: import("react").ElementType<any> | undefined;
|
|
10
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
11
11
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
12
12
|
export declare const TimeInputWrapper: import("@emotion/styled").StyledComponent<{
|
|
13
13
|
theme?: import("@emotion/react").Theme | undefined;
|
|
14
|
-
as?: import("react").ElementType<any> | undefined;
|
|
14
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
15
15
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
16
16
|
export declare const TimeLabel: import("@emotion/styled").StyledComponent<{
|
|
17
17
|
theme?: import("@emotion/react").Theme | undefined;
|
|
18
|
-
as?: import("react").ElementType<any> | undefined;
|
|
18
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
19
19
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const CouponTypeContainerStyled: import("@emotion/styled").StyledComponent<{
|
|
3
3
|
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
-
as?: import("react").ElementType<any> | undefined;
|
|
4
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
5
|
} & {
|
|
6
6
|
selectedDiv: number;
|
|
7
7
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
8
8
|
export declare const StaticCouponContainerStyled: import("@emotion/styled").StyledComponent<{
|
|
9
9
|
theme?: import("@emotion/react").Theme | undefined;
|
|
10
|
-
as?: import("react").ElementType<any> | undefined;
|
|
10
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
11
11
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
12
12
|
export declare const DynamicCouponContainer: import("@emotion/styled").StyledComponent<{
|
|
13
13
|
theme?: import("@emotion/react").Theme | undefined;
|
|
14
|
-
as?: import("react").ElementType<any> | undefined;
|
|
14
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
15
15
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
16
16
|
export declare const StyledDiscountDialogueContainer: import("@emotion/styled").StyledComponent<{
|
|
17
17
|
theme?: import("@emotion/react").Theme | undefined;
|
|
18
|
-
as?: import("react").ElementType<any> | undefined;
|
|
18
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
19
19
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
20
20
|
export declare const VariablePickerContainer: import("@emotion/styled").StyledComponent<{
|
|
21
21
|
theme?: import("@emotion/react").Theme | undefined;
|
|
22
|
-
as?: import("react").ElementType<any> | undefined;
|
|
22
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
23
23
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as t}from"../../_virtual/_tslib.js";import{jsx as e,jsxs as o,Fragment as n}from"react/jsx-runtime";import{useState as r,useEffect as a,useCallback as i}from"react";import s,{ACTIONS as d}from"react-joyride";import"./constants/animations.js";import{SELECTORS as l}from"./constants/selectors.js";import{useFeatureAnnouncements as u}from"./hooks/useFeatureAnnouncements.js";import c from"./MajorUpdatePopup.js";import p from"./MinorUpdatePopup.js";import{VideoModal as f}from"./VideoModal.js";const b=b=>{let{children:m,fetchVisibleFeatures:g,getStoreFeatureProgress:h,fetchFeatureById:y,markFeatureAsViewedForStore:x,isFeatureApplicableToCurrentPage:C,module:S,router:k}=b;var T;const{majorUpdateFeatures:w,minorUpdateFeatures:v,isLoading:B,markFeatureAsViewed:I}=u({fetchVisibleFeatures:g,getStoreFeatureProgress:h,fetchFeatureById:y,markFeatureAsViewedForStore:x,isFeatureApplicableToCurrentPage:C,module:S,router:k}),[F,E]=r(null),[j,N]=r(null),[W,P]=r(!1),[M,O]=r([]),[q,V]=r(!1),[L,R]=r([]),[_,A]=r(!1),[U,$]=r(!1),[z,H]=r([]),[Z,D]=r(!1),[G,J]=r(!1),[K,Q]=r(!1),[X,Y]=r(""),[tt,et]=r(!1),[ot,nt]=r(!1),[rt,at]=r(!1),[it,st]=r(0),[dt,lt]=r(0),[ut,ct]=r(new Set);a((()=>{const t="minor-spotlight-cutout-style";let e=document.getElementById(t);return e||(e=document.createElement("style"),e.id=t,document.head.appendChild(e)),e.textContent="\n\t\t\t.react-joyride__spotlight {\n\t\t\t\ttransition: box-shadow 0.3s ease-in-out !important;\n\t\t\t\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 e=document.getElementById(t);e&&e.remove()}}),[]),a((()=>{st((t=>t+1)),lt((t=>t+1)),nt(!1),at(!1),ct(new Set)}),[null==k?void 0:k.pathname]),a((()=>{if(!(w.length>0)||F||B||_||tt)0!==w.length||B||J(!0);else{J(!1),D(!1),P(!1),O([]),N(null),H([]);let t=0;const e=10,o=()=>{t++;document.querySelector('[data-testid="whats-new-button"]')?pt(w[0]):t<e?setTimeout(o,1e3):J(!0)};o()}}),[w,F,B,_,tt]),a((()=>{var t;const e=null===(t=null==k?void 0:k.query)||void 0===t?void 0:t.featureId;if(!e||B||0===v.length)return;const o=v.find((t=>t.id===e));if(!o||!o.featureTag)return;D(!0),$(!0);let n=0;const r=setInterval((()=>{n++;const t=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;if(document.querySelector(t)){const t=[o];H(t),Ct(o,t),clearInterval(r)}else n>=25&&($(!1),clearInterval(r))}),200);return()=>{clearInterval(r)}}),[v,null===(T=null==k?void 0:k.query)||void 0===T?void 0:T.featureId,B]),a((()=>{var t;if(v.length>0&&!B&&!W&&!U&&!j&&!Z&&G&&!tt){let t=null,e=null,o=null,n=!1;const r=()=>{if(n||U||j||Z||!G)return;const r=v.filter((t=>{if(!t.featureTag||""===t.featureTag.trim())return!1;if(ut.has(t.id))return!1;const e=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`;return null!==document.querySelector(e)}));r.length>0&&(H(r),Ct(r[0],r),t&&(t.disconnect(),t=null),e&&(window.removeEventListener("scroll",e),e=null),o&&(clearTimeout(o),o=null))};return t=new MutationObserver((t=>{let e=!1;for(const o of t){if("childList"===o.type&&o.addedNodes.length>0)for(let t=0;t<o.addedNodes.length;t++){const n=o.addedNodes[t];if(n.nodeType===Node.ELEMENT_NODE){const t=n;if(t.id||t.querySelector("[id]")){e=!0;break}}}if(e)break}W||n||U||j||Z||!G||!e||(o&&clearTimeout(o),o=setTimeout((()=>{n||U||j||Z||!G||r()}),200))})),e=()=>{W||n||U||j||Z||!G||(o&&clearTimeout(o),requestAnimationFrame((()=>{o=setTimeout((()=>{n||U||j||Z||!G||r()}),300)})))},t&&t.observe(document.body,{childList:!0,subtree:!0}),e&&window.addEventListener("scroll",e,{passive:!0}),r(),setTimeout((()=>{n||U||j||Z||!G||r()}),100),setTimeout((()=>{n||U||j||Z||!G||r()}),1e3),setTimeout((()=>{n||U||j||Z||!G||r()}),500),()=>{n=!0,t&&t.disconnect(),e&&window.removeEventListener("scroll",e),o&&clearTimeout(o)}}if(0===v.length||B){(null===(t=null==k?void 0:k.query)||void 0===t?void 0:t.featureId)&&j||(P(!1),O([]),N(null),H([]),D(!1))}}),[v,B,W,U,j,Z,G,I,tt]);const pt=t=>{E(t);const o=w.findIndex((e=>e.id===t.id)),n=w.length,r=[{target:l.WHATS_NEW_BUTTON,content:e(c,{feature:t,currentIndex:o,totalFeatures:n,onSkip:()=>ft(t),onExplore:()=>bt(t),onPrevious:()=>mt(t),onNext:()=>gt(t),setIsClosing:nt}),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"}}}];R(r),V(!0)},ft=i((t=>{(t||F)&&(A(!0),w.forEach((t=>{I(t.id)})),V(!1),E(null),R([]),J(!0),setTimeout((()=>{A(!1)}),500))}),[F,w,I]),bt=i((t=>{A(!0),I(t.id),t.productVideo&&(Y(t.productVideo),Q(!0),et(!0)),V(!1),E(null),R([]);w.findIndex((e=>e.id===t.id))===w.length-1&&J(!0),setTimeout((()=>{A(!1)}),500)}),[w,I]),mt=i((t=>{const o=t||F;if(!o)return;const n=w.findIndex((t=>t.id===o.id));if(n>0){const t=w[n-1];E(t);const o=n-1,r=w.length,a=[{target:'[data-testid="whats-new-button"]',content:e(c,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>ft(t),onExplore:()=>bt(t),onPrevious:()=>mt(t),onNext:()=>gt(t),setIsClosing:nt}),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"}}}];R(a)}}),[F,w]),gt=i((t=>{const o=t||F;if(!o)return;const n=w.findIndex((t=>t.id===o.id));if(n<w.length-1){const t=w[n+1];E(t);const o=n+1,r=w.length,a=[{target:'[data-testid="whats-new-button"]',content:e(c,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>ft(t),onExplore:()=>bt(t),onPrevious:()=>mt(t),onNext:()=>gt(t),setIsClosing:nt}),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"}}}];R(a)}else A(!0),I(o.id),V(!1),E(null),R([]),J(!0),setTimeout((()=>{A(!1)}),500)}),[F,w,I]),ht=()=>{if(w.length>0&&!F){document.querySelector('[data-testid="whats-new-button"]')&&pt(w[0])}};a((()=>(window.showMajorUpdatePopup=ht,()=>{delete window.showMajorUpdatePopup})),[w,F]);const yt=i((t=>{const{action:e}=t;e===d.CLOSE&&(F&&(A(!0),w.forEach((t=>{I(t.id)})),J(!0),setTimeout((()=>{A(!1)}),500)),V(!1),E(null),R([]))}),[F,w,I]),xt=i((t=>{const{action:e}=t;if(e===d.CLOSE){if(j){$(!0),I(j.id);z.findIndex((t=>t.id===j.id))===z.length-1&&D(!0),setTimeout((()=>{$(!1)}),500)}P(!1),N(null),O([])}}),[j,z,I]),Ct=(o,n)=>t(void 0,void 0,void 0,(function*(){N(o);const t=n||z,r=t.findIndex((t=>t.id===o.id)),a=t.length,i=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`,s=document.querySelector(i);if(s)try{const{scrollToElementSmooth:t}=yield import("./utils/elementHelpers.js");yield t(s,120)}catch(t){}const d=[{target:i,content:e(p,{feature:o,currentIndex:r,totalFeatures:a,onSkip:()=>St(o),onExplore:()=>kt(o),onPrevious:()=>Tt(o),onNext:()=>wt(o),setIsClosing:at}),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"}}}];O(d),P(!0)})),St=i((t=>{const e=t||j;if(e){$(!0),I(e.id),ct((t=>new Set(t).add(e.id))),P(!1),N(null),O([]);const t=z.find((t=>t.id!==e.id&&!ut.has(t.id)));setTimeout((()=>{$(!1),t?Ct(t,z):D(!0)}),500)}}),[j,z,I,ut]),kt=i((t=>{$(!0),I(t.id),ct((e=>new Set(e).add(t.id))),t.productVideo&&(Y(t.productVideo),Q(!0),et(!0)),P(!1),N(null),O([]);const e=z.find((e=>e.id!==t.id&&!ut.has(e.id)));setTimeout((()=>{$(!1),e&&!t.productVideo?Ct(e,z):e||D(!0)}),500)}),[z,I,ut]),Tt=i((o=>t(void 0,void 0,void 0,(function*(){const t=o||j;if(!t)return;const n=z.findIndex((e=>e.id===t.id));if(n>0){const t=z[n-1];N(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=document.querySelector(o);if(r)try{const{scrollToElementSmooth:t}=yield import("./utils/elementHelpers.js");yield t(r,120)}catch(t){}const a=n-1,i=z.length,s=[{target:o,content:e(p,{feature:t,currentIndex:a,totalFeatures:i,onSkip:()=>St(t),onExplore:()=>kt(t),onPrevious:()=>Tt(t),onNext:()=>wt(t),setIsClosing:at}),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"}}}];O(s)}}))),[j,z]),wt=i((o=>t(void 0,void 0,void 0,(function*(){const t=o||j;if(!t)return;const n=z.findIndex((e=>e.id===t.id));if(n<z.length-1){const t=z[n+1];N(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=document.querySelector(o);if(r)try{const{scrollToElementSmooth:t}=yield import("./utils/elementHelpers.js");yield t(r,120)}catch(t){}const a=n+1,i=z.length,s=[{target:o,content:e(p,{feature:t,currentIndex:a,totalFeatures:i,onSkip:()=>St(t),onExplore:()=>kt(t),onPrevious:()=>Tt(t),onNext:()=>wt(t),setIsClosing:at}),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"}}}];O(s)}else $(!0),D(!0),I(t.id),P(!1),N(null),O([]),setTimeout((()=>{$(!1)}),500)}))),[j,z,I]);return o(n,{children:[m,L.length>0&&e(s,{steps:L,run:q,continuous:!1,showProgress:!1,showSkipButton:!1,callback:yt,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:ot?"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-${it}`),M.length>0&&e(s,{steps:M,run:W,continuous:!1,showProgress:!1,showSkipButton:!1,callback:xt,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,scrollToFirstStep:!0,scrollOffset:120,disableScrolling:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:rt?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:rt?"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-${dt}`),e(f,{isOpen:K,videoUrl:X,onClose:()=>{Q(!1),Y(""),et(!1);const t=z.find((t=>!ut.has(t.id)));t?setTimeout((()=>{Ct(t,z)}),300):D(!0)}})]})};export{b as default};
|
|
1
|
+
import{__awaiter as t}from"../../_virtual/_tslib.js";import{jsx as e,jsxs as o,Fragment as n}from"react/jsx-runtime";import{useState as r,useEffect as a,useCallback as i}from"react";import s,{ACTIONS as d}from"react-joyride";import"./constants/animations.js";import{SELECTORS as l}from"./constants/selectors.js";import{useFeatureAnnouncements as u}from"./hooks/useFeatureAnnouncements.js";import c from"./MajorUpdatePopup.js";import p from"./MinorUpdatePopup.js";import{VideoModal as f}from"./VideoModal.js";const m=m=>{let{children:b,fetchVisibleFeatures:g,getStoreFeatureProgress:h,fetchFeatureById:y,markFeatureAsViewedForStore:x,isFeatureApplicableToCurrentPage:k,module:S,router:C,storeId:T,onAnnouncementShown:v,onAnnouncementInteracted:w}=m;var I;const{majorUpdateFeatures:B,minorUpdateFeatures:F,isLoading:E,markFeatureAsViewed:N}=u({fetchVisibleFeatures:g,getStoreFeatureProgress:h,fetchFeatureById:y,markFeatureAsViewedForStore:x,isFeatureApplicableToCurrentPage:k,module:S,router:C}),[j,P]=r(null),[U,W]=r(null),[V,M]=r(!1),[O,q]=r([]),[_,A]=r(!1),[L,R]=r([]),[$,z]=r(!1),[H,Z]=r(!1),[D,G]=r([]),[J,K]=r(!1),[Q,X]=r(!1),[Y,tt]=r(!1),[et,ot]=r(""),[nt,rt]=r(!1),[at,it]=r(!1),[st,dt]=r(!1),[lt,ut]=r(0),[ct,pt]=r(0),[ft,mt]=r(new Set);a((()=>{const t="minor-spotlight-cutout-style";let e=document.getElementById(t);return e||(e=document.createElement("style"),e.id=t,document.head.appendChild(e)),e.textContent="\n\t\t\t.react-joyride__spotlight {\n\t\t\t\ttransition: box-shadow 0.3s ease-in-out !important;\n\t\t\t\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\t.react-joyride__floater {\n\t\t\t\tright: 12px !important;\n\t\t\t\tleft: auto !important;\n\t\t\t}\n\t\t",()=>{const e=document.getElementById(t);e&&e.remove()}}),[]),a((()=>{ut((t=>t+1)),pt((t=>t+1)),it(!1),dt(!1),mt(new Set)}),[null==C?void 0:C.pathname]),a((()=>{if(!(B.length>0)||j||E||$||nt)0!==B.length||E||X(!0);else{X(!1),K(!1),M(!1),q([]),W(null),G([]);let t=0;const e=10,o=()=>{t++;document.querySelector('[data-testid="whats-new-button"]')?bt(B[0]):t<e?setTimeout(o,1e3):X(!0)};o()}}),[B,j,E,$,nt]),a((()=>{var t;const e=null===(t=null==C?void 0:C.query)||void 0===t?void 0:t.featureId;if(!e||E||0===F.length)return;const o=F.find((t=>t.id===e));if(!o||!o.featureTag)return;K(!0),Z(!0);let n=0;const r=setInterval((()=>{n++;const t=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`;if(document.querySelector(t)){const t=[o];G(t),Tt(o,t),clearInterval(r)}else n>=25&&(Z(!1),clearInterval(r))}),200);return()=>{clearInterval(r)}}),[F,null===(I=null==C?void 0:C.query)||void 0===I?void 0:I.featureId,E]),a((()=>{var t;if(F.length>0&&!E&&!V&&!H&&!U&&!J&&Q&&!nt){let t=null,e=null,o=null,n=!1;const r=()=>{if(n||H||U||J||!Q)return;const r=F.filter((t=>{if(!t.featureTag||""===t.featureTag.trim())return!1;if(ft.has(t.id))return!1;const e=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`;return null!==document.querySelector(e)}));r.length>0&&(G(r),Tt(r[0],r),t&&(t.disconnect(),t=null),e&&(window.removeEventListener("scroll",e),e=null),o&&(clearTimeout(o),o=null))};return t=new MutationObserver((t=>{let e=!1;for(const o of t){if("childList"===o.type&&o.addedNodes.length>0)for(let t=0;t<o.addedNodes.length;t++){const n=o.addedNodes[t];if(n.nodeType===Node.ELEMENT_NODE){const t=n;if(t.id||t.querySelector("[id]")){e=!0;break}}}if(e)break}V||n||H||U||J||!Q||!e||(o&&clearTimeout(o),o=setTimeout((()=>{n||H||U||J||!Q||r()}),200))})),e=()=>{V||n||H||U||J||!Q||(o&&clearTimeout(o),requestAnimationFrame((()=>{o=setTimeout((()=>{n||H||U||J||!Q||r()}),300)})))},t&&t.observe(document.body,{childList:!0,subtree:!0}),e&&window.addEventListener("scroll",e,{passive:!0}),r(),setTimeout((()=>{n||H||U||J||!Q||r()}),100),setTimeout((()=>{n||H||U||J||!Q||r()}),1e3),setTimeout((()=>{n||H||U||J||!Q||r()}),500),()=>{n=!0,t&&t.disconnect(),e&&window.removeEventListener("scroll",e),o&&clearTimeout(o)}}if(0===F.length||E){(null===(t=null==C?void 0:C.query)||void 0===t?void 0:t.featureId)&&U||(M(!1),q([]),W(null),G([]),K(!1))}}),[F,E,V,H,U,J,Q,N,nt]);const bt=t=>{P(t);const o=B.findIndex((e=>e.id===t.id)),n=B.length,r=[{target:l.WHATS_NEW_BUTTON,content:e(c,{feature:t,currentIndex:o,totalFeatures:n,onSkip:()=>gt(t),onExplore:()=>ht(t),onPrevious:()=>yt(t),onNext:()=>xt(t),setIsClosing:it}),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"}}}];R(r),A(!0),v&&T&&v({storeId:T,announcementId:t.id,announcementTitle:t.title,imageUrl:t.displayImage||t.image,videoUrl:t.productVideo})},gt=i((t=>{const e=t||j;e&&(z(!0),B.forEach((t=>{N(t.id)})),A(!1),P(null),R([]),X(!0),w&&T&&w({storeId:T,announcementId:e.id,announcementTitle:e.title,imageUrl:e.displayImage||e.image,videoUrl:e.productVideo,buttonClicked:"Skip",buttonName:"Skip",buttonUrl:void 0}),setTimeout((()=>{z(!1)}),500))}),[j,B,N]),ht=i((t=>{z(!0),N(t.id),t.productVideo&&(ot(t.productVideo),tt(!0),rt(!0)),A(!1),P(null),R([]);B.findIndex((e=>e.id===t.id))===B.length-1&&X(!0),w&&T&&w({storeId:T,announcementId:t.id,announcementTitle:t.title,imageUrl:t.displayImage||t.image,videoUrl:t.productVideo,buttonClicked:"Primary",buttonName:t.buttonText||"Explore",buttonUrl:t.redirectUrl||t.productVideo}),setTimeout((()=>{z(!1)}),500)}),[B,N]),yt=i((t=>{const o=t||j;if(!o)return;const n=B.findIndex((t=>t.id===o.id));if(n>0){const t=B[n-1];P(t);const o=n-1,r=B.length,a=[{target:'[data-testid="whats-new-button"]',content:e(c,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>gt(t),onExplore:()=>ht(t),onPrevious:()=>yt(t),onNext:()=>xt(t),setIsClosing:it}),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"}}}];R(a)}}),[j,B]),xt=i((t=>{const o=t||j;if(!o)return;const n=B.findIndex((t=>t.id===o.id));if(n<B.length-1){const t=B[n+1];P(t);const o=n+1,r=B.length,a=[{target:'[data-testid="whats-new-button"]',content:e(c,{feature:t,currentIndex:o,totalFeatures:r,onSkip:()=>gt(t),onExplore:()=>ht(t),onPrevious:()=>yt(t),onNext:()=>xt(t),setIsClosing:it}),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"}}}];R(a)}else z(!0),N(o.id),A(!1),P(null),R([]),X(!0),setTimeout((()=>{z(!1)}),500)}),[j,B,N]),kt=()=>{if(B.length>0&&!j){document.querySelector('[data-testid="whats-new-button"]')&&bt(B[0])}};a((()=>(window.showMajorUpdatePopup=kt,()=>{delete window.showMajorUpdatePopup})),[B,j]);const St=i((t=>{const{action:e}=t;e===d.CLOSE&&(j&&(z(!0),B.forEach((t=>{N(t.id)})),X(!0),setTimeout((()=>{z(!1)}),500)),A(!1),P(null),R([]))}),[j,B,N]),Ct=i((t=>{const{action:e}=t;if(e===d.CLOSE){if(U){Z(!0),N(U.id);D.findIndex((t=>t.id===U.id))===D.length-1&&K(!0),setTimeout((()=>{Z(!1)}),500)}M(!1),W(null),q([])}}),[U,D,N]),Tt=(o,n)=>t(void 0,void 0,void 0,(function*(){W(o);const t=n||D,r=t.findIndex((t=>t.id===o.id)),a=t.length,i=o.featureTag.startsWith("#")||o.featureTag.startsWith(".")||o.featureTag.startsWith("[")?o.featureTag:`#${o.featureTag}`,s=document.querySelector(i);if(s)try{const{scrollToElementSmooth:t}=yield import("./utils/elementHelpers.js");yield t(s,120)}catch(t){}const d=[{target:i,content:e(p,{feature:o,currentIndex:r,totalFeatures:a,onSkip:()=>vt(o),onExplore:()=>wt(o),onPrevious:()=>It(o),onNext:()=>Bt(o),setIsClosing:dt}),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"}}}];q(d),M(!0)})),vt=i((t=>{const e=t||U;if(e){Z(!0),N(e.id),mt((t=>new Set(t).add(e.id))),M(!1),W(null),q([]);const t=D.find((t=>t.id!==e.id&&!ft.has(t.id)));setTimeout((()=>{Z(!1),t?Tt(t,D):K(!0)}),500)}}),[U,D,N,ft]),wt=i((t=>{Z(!0),N(t.id),mt((e=>new Set(e).add(t.id))),t.productVideo&&(ot(t.productVideo),tt(!0),rt(!0)),M(!1),W(null),q([]);const e=D.find((e=>e.id!==t.id&&!ft.has(e.id)));setTimeout((()=>{Z(!1),e&&!t.productVideo?Tt(e,D):e||K(!0)}),500)}),[D,N,ft]),It=i((o=>t(void 0,void 0,void 0,(function*(){const t=o||U;if(!t)return;const n=D.findIndex((e=>e.id===t.id));if(n>0){const t=D[n-1];W(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=document.querySelector(o);if(r)try{const{scrollToElementSmooth:t}=yield import("./utils/elementHelpers.js");yield t(r,120)}catch(t){}const a=n-1,i=D.length,s=[{target:o,content:e(p,{feature:t,currentIndex:a,totalFeatures:i,onSkip:()=>vt(t),onExplore:()=>wt(t),onPrevious:()=>It(t),onNext:()=>Bt(t),setIsClosing:dt}),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"}}}];q(s)}}))),[U,D]),Bt=i((o=>t(void 0,void 0,void 0,(function*(){const t=o||U;if(!t)return;const n=D.findIndex((e=>e.id===t.id));if(n<D.length-1){const t=D[n+1];W(t);const o=t.featureTag.startsWith("#")||t.featureTag.startsWith(".")||t.featureTag.startsWith("[")?t.featureTag:`#${t.featureTag}`,r=document.querySelector(o);if(r)try{const{scrollToElementSmooth:t}=yield import("./utils/elementHelpers.js");yield t(r,120)}catch(t){}const a=n+1,i=D.length,s=[{target:o,content:e(p,{feature:t,currentIndex:a,totalFeatures:i,onSkip:()=>vt(t),onExplore:()=>wt(t),onPrevious:()=>It(t),onNext:()=>Bt(t),setIsClosing:dt}),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"}}}];q(s)}else Z(!0),K(!0),N(t.id),M(!1),W(null),q([]),setTimeout((()=>{Z(!1)}),500)}))),[U,D,N]);return o(n,{children:[b,L.length>0&&e(s,{steps:L,run:_,continuous:!1,showProgress:!1,showSkipButton:!1,callback:St,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,spotlightClicks:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:at?"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-${lt}`),O.length>0&&e(s,{steps:O,run:V,continuous:!1,showProgress:!1,showSkipButton:!1,callback:Ct,disableOverlayClose:!0,disableCloseOnEsc:!1,disableOverlay:!1,scrollToFirstStep:!0,scrollOffset:120,disableScrolling:!1,styles:{options:{primaryColor:"#007bff",zIndex:1e4,width:"auto",arrowColor:st?"transparent":"#ffffff"},overlay:{backgroundColor:"transparent"},spotlight:{backgroundColor:"transparent",borderRadius:"8px",boxShadow:st?"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-${ct}`),e(f,{isOpen:Y,videoUrl:et,onClose:()=>{tt(!1),ot(""),rt(!1);const t=D.find((t=>!ft.has(t.id)));t?setTimeout((()=>{Tt(t,D)}),300):K(!0)}})]})};export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{useState as o,useRef as r,useEffect as s}from"react";import a from"../../assets/icons/chevronRight2.svg.js";import i from"../../assets/icons/play.svg.js";import{TEXT as l}from"./constants/index.js";import{getMajorPopupStyles as c}from"./styles/majorPopup.styles.js";import"../../constants/Theme.js";import"./constants/animations.js";import{decodeHTMLEntities as u}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as d,calculateCloseTransform as p,executeAfterAnimation as g}from"./utils/animationHelpers.js";import{findWhatsNewButton as y}from"./utils/elementHelpers.js";const b=b=>{let{feature:v,currentIndex:h,totalFeatures:m,onSkip:f,onExplore:j,onPrevious:O,onNext:B,setIsClosing:T,onSecondaryAction:k,ratio:x="16:9",padding:M}=b;var E,P,C,L,w;const[U,W]=o(!1),[_,I]=o(!1),[D,H]=o(""),S=r(null),[A,R]=o(!1),[V,F]=o(!0),N=r(null),[z,G]=o(x),K=r(null);s((()=>{U&&I(!0)}),[U]);const X=t=>{var e,n;t.preventDefault(),t.stopPropagation();const o=null===(e=v.secondaryButton)||void 0===e?void 0:e.action;if("Open link"===o){const t=null===(n=v.secondaryButton)||void 0===n?void 0:n.redirectionUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else"Close popup"!==o&&""!==o||k&&k();d(S.current);const r=y();if(r&&S.current){const t=p(S.current,r);H(t)}else H("scale(0)");null==T||T(!0),W(!0)},$=c(_,D,z,M||v.padding,null===(E=v.primaryButton)||void 0===E?void 0:E.style,null===(P=v.secondaryButton)||void 0===P?void 0:P.style);return t("div",Object.assign({style:$.outerWrapper},{children:e("div",Object.assign({ref:S,style:Object.assign(Object.assign({},$.container),{opacity:_?0:1,transition:"opacity 0.2s ease-in-out, transform 0.3s ease"})},{children:[t("style",{children:"\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t"}),e("div",Object.assign({style:$.contentWrapper},{children:[t("div",Object.assign({style:$.imageContainer},{children:v.productVideo?e(n,{children:[t("video",{ref:N,src:v.productVideo,style:$.image,autoPlay:!0,muted:!0,loop:!0,playsInline:!0,controls:!0,"aria-label":`Product video for ${v.title}`,onLoadedMetadata:t=>{const e=t.currentTarget,n=e.videoWidth,o=e.videoHeight;if(n&&o){const t=n/o;Math.abs(t-16/9)<.1?G("16:9"):Math.abs(t-1)<.1?G("1:1"):Math.abs(t-4/3)<.1?G("4:3"):G(t>1.5?"16:9":t<.9?"4:3":"1:1")}}}),(A||V)&&t("div",Object.assign({style:$.videoOverlay,onClick:t=>{t.stopPropagation(),N.current&&(N.current.paused?(N.current.play(),R(!1),F(!1)):(N.current.pause(),R(!0),F(!0)))},role:"button",tabIndex:0,"aria-label":A?"Play video":"Pause video",onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),t.stopPropagation(),N.current&&(N.current.paused?(N.current.play(),R(!1),F(!1)):(N.current.pause(),R(!0),F(!0))))}},{children:t(i,{width:20,height:20})}))]}):v.displayImage?t("img",{ref:K,src:v.displayImage,alt:v.title,style:$.image,onLoad:t=>{const e=t.currentTarget,n=e.naturalWidth,o=e.naturalHeight;if(n&&o){const t=n/o;Math.abs(t-16/9)<.1?G("16:9"):Math.abs(t-1)<.1?G("1:1"):Math.abs(t-4/3)<.1?G("4:3"):G(t>1.5?"16:9":t<.9?"4:3":"1:1")}},onError:t=>{v.image&&(t.target.src=v.image)}}):t("div",Object.assign({style:$.imagePlaceholder},{children:l.FEATURE_PREVIEW_PLACEHOLDER}))})),e("div",Object.assign({style:$.contentContainer},{children:[t("div",Object.assign({style:$.skipButtonContainer},{children:t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),(t=>{d(S.current);const e=y();if(e&&S.current){const t=p(S.current,e);H(t)}else H("scale(0)");null==T||T(!0),W(!0),g(t)})(f)},style:$.skipButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,$.skipButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,$.skipButton.base),"aria-label":"Skip feature announcement"},{children:"Skip"}))})),t("h3",Object.assign({style:$.title},{children:v.title})),t("div",{"data-popup-content":!0,style:$.content,dangerouslySetInnerHTML:{__html:u(v.content||v.body||"")}}),e("div",Object.assign({style:$.actionsWrapper},{children:[e("div",Object.assign({style:$.buttonsGroup},{children:[t("button",Object.assign({onClick:()=>{var t,e;const n=null===(t=v.primaryButton)||void 0===t?void 0:t.action;if("Play Video"===n)j();else if("Open link"===n){const t=(null===(e=v.primaryButton)||void 0===e?void 0:e.redirectionUrl)||v.redirectUrl;if(t){t.startsWith("http")?window.open(t,"_blank","noopener,noreferrer"):window.location.href=t}}else j();d(S.current);const o=y();if(o&&S.current){const t=p(S.current,o);H(t)}else H("scale(0)");null==T||T(!0),W(!0)},style:$.exploreButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,$.exploreButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,$.exploreButton.base)},{children:(null===(C=v.primaryButton)||void 0===C?void 0:C.text)||v.buttonText||l.DEFAULT_BUTTON_TEXT})),(null===(L=v.secondaryButton)||void 0===L?void 0:L.text)&&((null===(w=v.secondaryButton)||void 0===w?void 0:w.redirectionUrl)?t("a",Object.assign({href:v.secondaryButton.redirectionUrl,target:v.secondaryButton.redirectionUrl.startsWith("http")?"_blank":"_self",rel:v.secondaryButton.redirectionUrl.startsWith("http")?"noopener noreferrer":void 0,onClick:X,style:$.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,$.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,$.secondaryButton.base)},{children:v.secondaryButton.text})):t("button",Object.assign({onClick:X,style:$.secondaryButton.base,onMouseEnter:t=>Object.assign(t.currentTarget.style,$.secondaryButton.hover),onMouseLeave:t=>Object.assign(t.currentTarget.style,$.secondaryButton.base)},{children:v.secondaryButton.text})))]})),m>1&&e("div",Object.assign({style:$.navigationContainer},{children:[t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),O()},disabled:0===h,style:$.navigationButton(0===h).base,onMouseEnter:t=>{0!==h&&Object.assign(t.currentTarget.style,$.navigationButton(!1).hover)},onMouseLeave:t=>{0!==h&&Object.assign(t.currentTarget.style,$.navigationButton(!1).base)},"aria-label":"Previous feature"},{children:t(a,{style:{transform:"rotate(180deg)"}})})),t("button",Object.assign({onClick:t=>{t.preventDefault(),t.stopPropagation(),B()},disabled:h===m-1,style:$.navigationButton(h===m-1).base,onMouseEnter:t=>{h!==m-1&&Object.assign(t.currentTarget.style,$.navigationButton(!1).hover)},onMouseLeave:t=>{h!==m-1&&Object.assign(t.currentTarget.style,$.navigationButton(h===m-1).base)},"aria-label":"Next feature"},{children:t(a,{})}))]}))]}))]}))]}))]}))}))};export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as r,useEffect as o}from"react";import{TEXT as i}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{getMinorPopupStyles as s}from"./styles/minorPopup.styles.js";import{decodeHTMLEntities as l}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as a,calculateCloseTransform as c}from"./utils/animationHelpers.js";import{findFeatureTagElement as d}from"./utils/elementHelpers.js";const u=u=>{let{feature:m,currentIndex:p,totalFeatures:f,onSkip:g,onExplore:y,onPrevious:v,onNext:h,setIsClosing:T}=u;var j,b;const[O,x]=n(!1),[B,E]=n(!1),[w,C]=n(""),_=r(null);o((()=>{O&&E(!0)}),[O]);const k=s(B,w);return e("div",Object.assign({ref:_,style:k.container},{children:[t("div",Object.assign({style:k.imageContainer},{children:m.displayImage?t("div",Object.assign({style:k.imageWrapper},{children:t("img",{src:m.displayImage,alt:m.title,style:k.image,onError:e=>{m.image&&(e.target.src=m.image)}})})):t("div",Object.assign({style:k.imagePlaceholder},{children:i.FEATURE_PREVIEW_PLACEHOLDER}))})),e("div",Object.assign({style:k.contentContainer},{children:[e("div",{children:[t("h3",Object.assign({style:k.title},{children:m.title})),t("div",{style:k.content,dangerouslySetInnerHTML:{__html:l(m.content||m.body||"")}})]}),e("div",Object.assign({style:k.actionsContainer},{children:[(null===(j=m.secondaryButton)||void 0===j?void 0:j.text)&&t("span",Object.assign({onClick:()=>{var e,t,n;const r=null===(e=m.secondaryButton)||void 0===e?void 0:e.action;if("Open link"===r){const e=null===(t=m.secondaryButton)||void 0===t?void 0:t.redirectionUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else"Close popup"!==r&&""!==r||null===(n=m.secondaryButton)||void 0===n||n.action;if(a(_.current),_.current&&m.featureTag){const e=d(m.featureTag);if(e){const t=c(_.current,e);C(t)}else C("scale(0)")}else C("scale(0)");null==T||T(!0),x(!0)},style:k.understoodText},{children:m.secondaryButton.text})),t("button",Object.assign({onClick:()=>{var e,t;const n=null===(e=m.primaryButton)||void 0===e?void 0:e.action;if("Play Video"===n)y();else if("Open link"===n){const e=(null===(t=m.primaryButton)||void 0===t?void 0:t.redirectionUrl)||m.redirectUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else y();if(a(_.current),_.current&&m.featureTag){const e=m.featureTag.startsWith("#")||m.featureTag.startsWith(".")||m.featureTag.startsWith("[")?m.featureTag:`#${m.featureTag}`,t=document.querySelector(e);if(t){const e=c(_.current,t);C(e)}else C("scale(0)")}else C("scale(0)");null==T||T(!0),x(!0)},style:k.exploreButton},{children:(null===(b=m.primaryButton)||void 0===b?void 0:b.text)||m.buttonText||i.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};export{u as default};
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Popup dimension constants
|
|
3
|
-
*/
|
|
4
1
|
export declare const POPUP_DIMENSIONS: {
|
|
5
2
|
readonly MAJOR: {
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
readonly imageWidth:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
readonly imagePlaceholderHeight: 258;
|
|
3
|
+
readonly height: 224;
|
|
4
|
+
readonly textAreaWidth: 398;
|
|
5
|
+
readonly imageWidth: {
|
|
6
|
+
readonly '16:9': 398;
|
|
7
|
+
readonly '1:1': 224;
|
|
8
|
+
readonly '4:3': 299;
|
|
9
|
+
};
|
|
14
10
|
};
|
|
15
11
|
readonly MINOR: {
|
|
16
12
|
readonly width: 519;
|
|
@@ -20,20 +16,41 @@ export declare const POPUP_DIMENSIONS: {
|
|
|
20
16
|
readonly badgeHeight: 27;
|
|
21
17
|
};
|
|
22
18
|
};
|
|
19
|
+
export declare const TEXT_LIMITS: {
|
|
20
|
+
readonly MAJOR: {
|
|
21
|
+
readonly TITLE: {
|
|
22
|
+
readonly MAX_LINES: 2;
|
|
23
|
+
};
|
|
24
|
+
readonly CONTENT: {
|
|
25
|
+
readonly MAX_LINES: 4;
|
|
26
|
+
readonly MAX_CHARS: 360;
|
|
27
|
+
readonly CHARS_PER_LINE: 72;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
23
31
|
/**
|
|
24
32
|
* Spacing constants
|
|
25
33
|
*/
|
|
26
34
|
export declare const SPACING: {
|
|
27
35
|
readonly MAJOR: {
|
|
28
|
-
readonly
|
|
29
|
-
readonly
|
|
30
|
-
readonly
|
|
31
|
-
readonly
|
|
32
|
-
readonly
|
|
33
|
-
readonly
|
|
34
|
-
readonly
|
|
35
|
-
readonly
|
|
36
|
-
readonly
|
|
36
|
+
readonly containerPadding: "16px";
|
|
37
|
+
readonly contentGap: "16px";
|
|
38
|
+
readonly titleBottom: "0px";
|
|
39
|
+
readonly listGap: "8px";
|
|
40
|
+
readonly actionsTop: "16px";
|
|
41
|
+
readonly headerMarginBottom: "8px";
|
|
42
|
+
readonly contentMarginLeft: "0px";
|
|
43
|
+
readonly skipButtonContainerMargin: "8px";
|
|
44
|
+
readonly contentMargin: "0 0 0 0px";
|
|
45
|
+
readonly imagePadding: "0px";
|
|
46
|
+
readonly titlePadding: "0 0 0px 0";
|
|
47
|
+
readonly buttonMarginTop: "0px";
|
|
48
|
+
readonly skipButtonPadding: "2px 4px";
|
|
49
|
+
readonly skipButtonTop: "8px";
|
|
50
|
+
readonly skipButtonRight: "8px";
|
|
51
|
+
readonly navigationBottom: "0px";
|
|
52
|
+
readonly navigationRight: "0px";
|
|
53
|
+
readonly navigationGap: "4px";
|
|
37
54
|
};
|
|
38
55
|
readonly MINOR: {
|
|
39
56
|
readonly imageMargin: "13px 10px 13px 10px";
|
|
@@ -43,14 +60,71 @@ export declare const SPACING: {
|
|
|
43
60
|
readonly actionsGap: "16px";
|
|
44
61
|
};
|
|
45
62
|
};
|
|
46
|
-
/**
|
|
47
|
-
* Border radius constants
|
|
48
|
-
*/
|
|
49
63
|
export declare const BORDER_RADIUS: {
|
|
50
|
-
readonly POPUP: "
|
|
51
|
-
readonly IMAGE: "
|
|
64
|
+
readonly POPUP: "8px";
|
|
65
|
+
readonly IMAGE: "6px";
|
|
52
66
|
readonly BUTTON: "4px";
|
|
53
67
|
readonly VIDEO_MODAL: "12px";
|
|
54
68
|
readonly CLOSE_BUTTON: "50%";
|
|
55
69
|
readonly SPOTLIGHT: "8px";
|
|
56
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Design tokens - Colors
|
|
73
|
+
*/
|
|
74
|
+
export declare const DESIGN_COLORS: {
|
|
75
|
+
readonly BACKGROUND: {
|
|
76
|
+
readonly SURFACE: "#212121";
|
|
77
|
+
readonly IMAGE: "#F0F0F0";
|
|
78
|
+
};
|
|
79
|
+
readonly TEXT: {
|
|
80
|
+
readonly PRIMARY: "#FFFFFF";
|
|
81
|
+
readonly SECONDARY: "rgba(255, 255, 255, 0.8)";
|
|
82
|
+
readonly TERTIARY: "#BDBDBD";
|
|
83
|
+
};
|
|
84
|
+
readonly BUTTON: {
|
|
85
|
+
readonly PRIMARY_TEXT: "#FEC02D";
|
|
86
|
+
readonly PRIMARY_BORDER: "#FEC02D";
|
|
87
|
+
};
|
|
88
|
+
readonly ICON: {
|
|
89
|
+
readonly DISABLED: "rgba(255, 255, 255, 0.3)";
|
|
90
|
+
readonly ENABLED: "#FFFFFF";
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Design tokens - Typography
|
|
95
|
+
*/
|
|
96
|
+
export declare const DESIGN_TYPOGRAPHY: {
|
|
97
|
+
readonly SKIP_BUTTON: {
|
|
98
|
+
readonly fontSize: "14px";
|
|
99
|
+
readonly fontWeight: "600";
|
|
100
|
+
readonly lineHeight: "20px";
|
|
101
|
+
readonly fontFamily: "Inter, sans-serif";
|
|
102
|
+
};
|
|
103
|
+
readonly TITLE: {
|
|
104
|
+
readonly fontSize: "14px";
|
|
105
|
+
readonly fontWeight: "600";
|
|
106
|
+
readonly lineHeight: "20px";
|
|
107
|
+
readonly fontFamily: "Inter, sans-serif";
|
|
108
|
+
};
|
|
109
|
+
readonly CONTENT: {
|
|
110
|
+
readonly fontSize: "12px";
|
|
111
|
+
readonly fontWeight: "400";
|
|
112
|
+
readonly lineHeight: "16px";
|
|
113
|
+
readonly fontFamily: "Inter, sans-serif";
|
|
114
|
+
};
|
|
115
|
+
readonly BUTTON: {
|
|
116
|
+
readonly fontSize: "14px";
|
|
117
|
+
readonly fontWeight: "600";
|
|
118
|
+
readonly lineHeight: "20px";
|
|
119
|
+
readonly fontFamily: "Inter, sans-serif";
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Design tokens - Dimensions
|
|
124
|
+
*/
|
|
125
|
+
export declare const DESIGN_DIMENSIONS: {
|
|
126
|
+
readonly IMAGE_HEIGHT: 224;
|
|
127
|
+
readonly NAVIGATION_BUTTON_SIZE: 24;
|
|
128
|
+
readonly BUTTON_HEIGHT: 32;
|
|
129
|
+
readonly BUTTON_PADDING_HORIZONTAL: "12px";
|
|
130
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const t={MAJOR:{height:224,textAreaWidth:398,imageWidth:{"16:9":398,"1:1":224,"4:3":299}},MINOR:{width:519,height:160,imageWidth:235,imageHeight:134,badgeHeight:27}},i={MAJOR:{containerPadding:"16px",contentGap:"16px",titleBottom:"0px",listGap:"8px",actionsTop:"16px",headerMarginBottom:"8px",contentMarginLeft:"0px",skipButtonContainerMargin:"8px",contentMargin:"0 0 0 0px",imagePadding:"0px",titlePadding:"0 0 0px 0",buttonMarginTop:"0px",skipButtonPadding:"2px 4px",skipButtonTop:"8px",skipButtonRight:"8px",navigationBottom:"0px",navigationRight:"0px",navigationGap:"4px"},MINOR:{imageMargin:"13px 10px 13px 10px",contentMargin:"13px 13px 13px 3px",actionsBottom:"13px",actionsRight:"10px",actionsGap:"16px"}},n={POPUP:"8px",IMAGE:"6px",BUTTON:"4px",VIDEO_MODAL:"12px",CLOSE_BUTTON:"50%",SPOTLIGHT:"8px"},p={BACKGROUND:{SURFACE:"#212121",IMAGE:"#F0F0F0"},TEXT:{PRIMARY:"#FFFFFF",SECONDARY:"rgba(255, 255, 255, 0.8)",TERTIARY:"#BDBDBD"},BUTTON:{PRIMARY_TEXT:"#FEC02D",PRIMARY_BORDER:"#FEC02D"},ICON:{DISABLED:"rgba(255, 255, 255, 0.3)",ENABLED:"#FFFFFF"}},e={SKIP_BUTTON:{fontSize:"14px",fontWeight:"600",lineHeight:"20px",fontFamily:"Inter, sans-serif"},TITLE:{fontSize:"14px",fontWeight:"600",lineHeight:"20px",fontFamily:"Inter, sans-serif"},CONTENT:{fontSize:"12px",fontWeight:"400",lineHeight:"16px",fontFamily:"Inter, sans-serif"},BUTTON:{fontSize:"14px",fontWeight:"600",lineHeight:"20px",fontFamily:"Inter, sans-serif"}},x={IMAGE_HEIGHT:224,NAVIGATION_BUTTON_SIZE:24,BUTTON_HEIGHT:32,BUTTON_PADDING_HORIZONTAL:"12px"};export{n as BORDER_RADIUS,p as DESIGN_COLORS,x as DESIGN_DIMENSIONS,e as DESIGN_TYPOGRAPHY,t as POPUP_DIMENSIONS,i as SPACING};
|
|
@@ -27,7 +27,7 @@ export declare const minorStepStyles: {
|
|
|
27
27
|
tooltip: {
|
|
28
28
|
padding: number;
|
|
29
29
|
backgroundColor: string;
|
|
30
|
-
borderRadius: "
|
|
30
|
+
borderRadius: "8px";
|
|
31
31
|
border: string;
|
|
32
32
|
filter: string;
|
|
33
33
|
boxShadow: string;
|
|
@@ -101,7 +101,7 @@ export declare const getMinorJoyrideStyles: (isClosing: boolean) => {
|
|
|
101
101
|
tooltip: {
|
|
102
102
|
padding: number;
|
|
103
103
|
backgroundColor: string;
|
|
104
|
-
borderRadius: "
|
|
104
|
+
borderRadius: "8px";
|
|
105
105
|
border: string;
|
|
106
106
|
filter: string;
|
|
107
107
|
boxShadow: string;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
|
-
|
|
2
|
+
import { ButtonStyle } from '../types/feature.types';
|
|
3
|
+
export declare const getMajorPopupStyles: (startAnimation: boolean, transform: string, ratio?: '16:9' | '1:1' | '4:3', padding?: string, primaryButtonStyle?: ButtonStyle, secondaryButtonStyle?: ButtonStyle) => {
|
|
4
|
+
outerWrapper: CSSProperties;
|
|
3
5
|
container: CSSProperties;
|
|
6
|
+
headerContainer: CSSProperties;
|
|
7
|
+
contentWrapper: CSSProperties;
|
|
4
8
|
skipButton: {
|
|
5
9
|
base: CSSProperties;
|
|
6
10
|
hover: CSSProperties;
|
|
@@ -8,13 +12,22 @@ export declare const getMajorPopupStyles: (startAnimation: boolean, transform: s
|
|
|
8
12
|
imageContainer: CSSProperties;
|
|
9
13
|
image: CSSProperties;
|
|
10
14
|
imagePlaceholder: CSSProperties;
|
|
15
|
+
videoOverlay: CSSProperties;
|
|
16
|
+
playIcon: CSSProperties;
|
|
11
17
|
contentContainer: CSSProperties;
|
|
18
|
+
skipButtonContainer: CSSProperties;
|
|
12
19
|
title: CSSProperties;
|
|
13
20
|
content: CSSProperties;
|
|
21
|
+
actionsWrapper: CSSProperties;
|
|
22
|
+
buttonsGroup: CSSProperties;
|
|
14
23
|
exploreButton: {
|
|
15
24
|
base: CSSProperties;
|
|
16
25
|
hover: CSSProperties;
|
|
17
26
|
};
|
|
27
|
+
secondaryButton: {
|
|
28
|
+
base: CSSProperties;
|
|
29
|
+
hover: CSSProperties;
|
|
30
|
+
};
|
|
18
31
|
navigationContainer: CSSProperties;
|
|
19
32
|
navigationButton: (disabled: boolean) => {
|
|
20
33
|
base: CSSProperties;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BASE_COLORS as t}from"../../../constants/Theme.js";import{POPUP_TRANSITION as e}from"../constants/animations.js";import{
|
|
1
|
+
import{BASE_COLORS as t}from"../../../constants/Theme.js";import{POPUP_TRANSITION as e}from"../constants/animations.js";import{SPACING as n,POPUP_DIMENSIONS as o,DESIGN_COLORS as i,BORDER_RADIUS as r,DESIGN_TYPOGRAPHY as a,DESIGN_DIMENSIONS as l}from"../constants/dimensions.js";const d=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"16:9";return o.MAJOR.imageWidth[t]||o.MAJOR.imageWidth["16:9"]},s=(t,e)=>Object.assign(Object.assign(Object.assign(Object.assign({},t),(null==e?void 0:e.textColor)&&{color:e.textColor}),(null==e?void 0:e.backgroundColor)&&{backgroundColor:e.backgroundColor}),(null==e?void 0:e.borderColor)&&{borderColor:e.borderColor}),g=function(g,c){let p=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"16:9",T=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n.MAJOR.containerPadding,f=arguments.length>4?arguments[4]:void 0,h=arguments.length>5?arguments[5]:void 0;const u=d(p),O=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"16:9";const e=d(t);let n;switch(t){case"16:9":n=Math.round(e*(9/16));break;case"1:1":n=e;break;case"4:3":n=Math.round(e*(3/4));break;default:n=l.IMAGE_HEIGHT}return Math.min(n,224)}(p),x=parseInt(T,10)||16,b=x+u+parseInt(n.MAJOR.contentGap,10)+o.MAJOR.textAreaWidth+x,m=O+2*x;return{outerWrapper:{width:`${x+d("16:9")+parseInt(n.MAJOR.contentGap,10)+o.MAJOR.textAreaWidth+x}px`,display:"flex",justifyContent:"flex-end",background:"transparent"},container:{width:`${b}px`,height:"auto",minHeight:`${m}px`,display:"flex",flexDirection:"column",backgroundColor:i.BACKGROUND.SURFACE,borderRadius:r.POPUP,overflow:"hidden",position:"relative",padding:T,transform:g?c:"scale(1)",opacity:g?0:1,transition:e,boxSizing:"border-box"},headerContainer:{width:"100%",display:"flex",justifyContent:"flex-end",marginBottom:n.MAJOR.headerMarginBottom,position:"relative"},contentWrapper:{display:"flex",flex:1,gap:n.MAJOR.contentGap},skipButton:{base:{background:"transparent",border:"none",color:i.TEXT.TERTIARY,fontSize:a.SKIP_BUTTON.fontSize,fontWeight:a.SKIP_BUTTON.fontWeight,cursor:"pointer",padding:n.MAJOR.skipButtonPadding,borderRadius:r.BUTTON,fontFamily:a.SKIP_BUTTON.fontFamily,lineHeight:a.SKIP_BUTTON.lineHeight},hover:{backgroundColor:"rgba(255, 255, 255, 0.10)",color:t.grayscale[700]}},imageContainer:{backgroundColor:i.BACKGROUND.IMAGE,width:`${u}px`,height:`${O}px`,position:"relative",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:r.BUTTON,overflow:"hidden",flexShrink:0},image:{width:"100%",height:"100%",objectFit:"cover"},imagePlaceholder:{color:t.grayscale[500],fontSize:"14px",textAlign:"center",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:t.grayscale[800]},videoOverlay:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.4)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",zIndex:10,transition:"opacity 0.2s"},playIcon:{width:"84px",height:"84px",color:"#060606ff"},contentContainer:{flex:"1 0 auto",width:`${o.MAJOR.textAreaWidth}px`,minWidth:`${o.MAJOR.textAreaWidth}px`,maxWidth:`${o.MAJOR.textAreaWidth}px`,display:"flex",flexDirection:"column",justifyContent:"flex-start",background:"transparent",gap:n.MAJOR.listGap},skipButtonContainer:{width:"100%",display:"flex",justifyContent:"flex-end",marginBottom:n.MAJOR.skipButtonContainerMargin},title:{fontSize:a.TITLE.fontSize,fontWeight:a.TITLE.fontWeight,marginBottom:n.MAJOR.titleBottom,padding:0,color:i.TEXT.PRIMARY,lineHeight:a.TITLE.lineHeight,textAlign:"left",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",fontFamily:a.TITLE.fontFamily},content:{fontSize:a.CONTENT.fontSize,lineHeight:a.CONTENT.lineHeight,color:i.TEXT.SECONDARY,textAlign:"left",marginBottom:"auto",fontFamily:a.CONTENT.fontFamily,fontWeight:a.CONTENT.fontWeight},actionsWrapper:{display:"flex",alignItems:"center",justifyContent:"space-between",marginTop:"auto",gap:"8px",flexWrap:"nowrap"},buttonsGroup:{display:"flex",alignItems:"center",gap:n.MAJOR.listGap},exploreButton:{base:s({backgroundColor:"transparent",border:`1px solid ${i.BUTTON.PRIMARY_BORDER}`,color:i.BUTTON.PRIMARY_TEXT,borderRadius:r.BUTTON,fontSize:a.BUTTON.fontSize,fontWeight:a.BUTTON.fontWeight,cursor:"pointer",padding:`0 ${l.BUTTON_PADDING_HORIZONTAL}`,height:`${l.BUTTON_HEIGHT}px`,textAlign:"center",minWidth:"auto",textDecoration:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:a.BUTTON.fontFamily,lineHeight:a.BUTTON.lineHeight},f),hover:{backgroundColor:"rgba(255, 255, 255, 0.10)"}},secondaryButton:{base:s({backgroundColor:"transparent",color:i.BUTTON.PRIMARY_TEXT,borderRadius:r.BUTTON,fontSize:a.BUTTON.fontSize,fontWeight:a.BUTTON.fontWeight,cursor:"pointer",padding:`0 ${l.BUTTON_PADDING_HORIZONTAL}`,height:`${l.BUTTON_HEIGHT}px`,border:"none",boxShadow:"none",textAlign:"center",minWidth:"auto",textDecoration:"none",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:a.BUTTON.fontFamily,lineHeight:a.BUTTON.lineHeight,transition:"none"},h),hover:{backgroundColor:(null==h?void 0:h.backgroundColor)?`${h.backgroundColor}cc`:"rgba(254, 192, 45, 0.1)"}},navigationContainer:{display:"flex",gap:n.MAJOR.navigationGap,alignItems:"center"},navigationButton:t=>({base:{width:`${l.NAVIGATION_BUTTON_SIZE}px`,height:`${l.NAVIGATION_BUTTON_SIZE}px`,backgroundColor:"transparent",border:"none",color:t?i.ICON.DISABLED:i.ICON.ENABLED,fontSize:"16px",cursor:t?"not-allowed":"pointer",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:r.BUTTON,padding:0},hover:{backgroundColor:"rgba(255, 255, 255, 0.10)"}})}};export{g as getMajorPopupStyles};
|
|
@@ -4,8 +4,6 @@ export declare const getMinorPopupStyles: (startAnimation: boolean, transform: s
|
|
|
4
4
|
imageContainer: CSSProperties;
|
|
5
5
|
imageWrapper: CSSProperties;
|
|
6
6
|
image: CSSProperties;
|
|
7
|
-
badge: CSSProperties;
|
|
8
|
-
badgeText: CSSProperties;
|
|
9
7
|
imagePlaceholder: CSSProperties;
|
|
10
8
|
contentContainer: CSSProperties;
|
|
11
9
|
title: CSSProperties;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BASE_COLORS as t}from"../../../constants/Theme.js";import{POPUP_TRANSITION as e}from"../constants/animations.js";import{POPUP_DIMENSIONS as i,BORDER_RADIUS as o,SPACING as n}from"../constants/dimensions.js";
|
|
1
|
+
import{BASE_COLORS as t}from"../../../constants/Theme.js";import{POPUP_TRANSITION as e}from"../constants/animations.js";import{POPUP_DIMENSIONS as i,BORDER_RADIUS as o,SPACING as n}from"../constants/dimensions.js";const a=(a,r)=>({container:{width:`${i.MINOR.width}px`,height:`${i.MINOR.height}px`,display:"flex",backgroundColor:t.grayscale.white,borderRadius:o.POPUP,overflow:"hidden",position:"relative",boxShadow:"0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04)",transform:a?r:"scale(1)",opacity:a?0:1,transition:e},imageContainer:{backgroundColor:t.grayscale[50],borderRadius:o.IMAGE,position:"relative",display:"flex",alignItems:"center",justifyContent:"center",margin:n.MINOR.imageMargin,width:`${i.MINOR.imageWidth}px`,minWidth:`${i.MINOR.imageWidth}px`,maxWidth:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`},imageWrapper:{position:"relative",width:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`},image:{width:`${i.MINOR.imageWidth}px`,height:`${i.MINOR.imageHeight}px`,objectFit:"cover",borderRadius:o.IMAGE,display:"block"},imagePlaceholder:{color:t.grayscale[500],fontSize:"14px",textAlign:"center",width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:t.grayscale[100],borderRadius:o.IMAGE},contentContainer:{flex:1,display:"flex",margin:n.MINOR.contentMargin,flexDirection:"column",justifyContent:"space-between",background:"transparent"},title:{fontSize:"16px",fontWeight:"600",padding:"0 0 0 0",color:t.grayscale[900],lineHeight:"1.25",textAlign:"left"},content:{fontSize:"12px",fontWeight:"400",lineHeight:"1.2",color:t.grayscale[700],textAlign:"left",maxHeight:"48px",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical"},actionsContainer:{position:"absolute",bottom:n.MINOR.actionsBottom,right:n.MINOR.actionsRight,display:"flex",gap:n.MINOR.actionsGap,alignItems:"center"},understoodText:{color:t.brand[800],fontSize:"14px",fontWeight:"500",cursor:"pointer",transition:"all 0.2s"},exploreButton:{backgroundColor:t.brand[800],border:"none",color:t.grayscale.white,borderRadius:o.BUTTON,fontSize:"14px",fontWeight:"600",cursor:"pointer",width:"154px",height:"32px",transition:"all 0.2s",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center"}});export{a as getMinorPopupStyles};
|
|
@@ -5,6 +5,32 @@ export interface FirestoreTimestamp {
|
|
|
5
5
|
seconds: number;
|
|
6
6
|
nanoseconds?: number;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Button styling configuration
|
|
10
|
+
*/
|
|
11
|
+
export interface ButtonStyle {
|
|
12
|
+
textColor?: string;
|
|
13
|
+
backgroundColor?: string;
|
|
14
|
+
borderColor?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Primary button configuration
|
|
18
|
+
*/
|
|
19
|
+
export interface ButtonConfig {
|
|
20
|
+
text?: string;
|
|
21
|
+
action?: 'Play Video' | 'Open link';
|
|
22
|
+
redirectionUrl?: string;
|
|
23
|
+
style?: ButtonStyle;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Secondary button configuration
|
|
27
|
+
*/
|
|
28
|
+
export interface SecondaryButtonConfig {
|
|
29
|
+
text?: string;
|
|
30
|
+
action?: 'Open link' | 'Close popup' | '';
|
|
31
|
+
redirectionUrl?: string;
|
|
32
|
+
style?: ButtonStyle;
|
|
33
|
+
}
|
|
8
34
|
/**
|
|
9
35
|
* Feature announcement data model
|
|
10
36
|
*/
|
|
@@ -27,6 +53,9 @@ export interface FeatureAnnouncement {
|
|
|
27
53
|
archived?: boolean;
|
|
28
54
|
createdAt: FirestoreTimestamp;
|
|
29
55
|
expirationDate?: FirestoreTimestamp | string | Date;
|
|
56
|
+
primaryButton?: ButtonConfig;
|
|
57
|
+
secondaryButton?: SecondaryButtonConfig;
|
|
58
|
+
padding?: string;
|
|
30
59
|
}
|
|
31
60
|
/**
|
|
32
61
|
* Store feature progress tracking
|
|
@@ -39,3 +68,21 @@ export interface StoreFeatureProgress {
|
|
|
39
68
|
* Feature update types
|
|
40
69
|
*/
|
|
41
70
|
export type FeatureUpdateType = 'Major' | 'Minor';
|
|
71
|
+
/**
|
|
72
|
+
* Announcement event data (for tracking when announcement is shown)
|
|
73
|
+
*/
|
|
74
|
+
export interface AnnouncementEvent {
|
|
75
|
+
storeId: string;
|
|
76
|
+
announcementId: string;
|
|
77
|
+
announcementTitle: string;
|
|
78
|
+
imageUrl?: string;
|
|
79
|
+
videoUrl?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Announcement interaction event data (for tracking button clicks)
|
|
83
|
+
*/
|
|
84
|
+
export interface AnnouncementInteractionEvent extends AnnouncementEvent {
|
|
85
|
+
buttonClicked: 'Primary' | 'Secondary' | 'Skip';
|
|
86
|
+
buttonName: string;
|
|
87
|
+
buttonUrl?: string;
|
|
88
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { FeatureAnnouncement } from './feature.types';
|
|
2
|
+
import { AnnouncementEvent, AnnouncementInteractionEvent, FeatureAnnouncement } from './feature.types';
|
|
3
3
|
import { FeatureAnnouncementRepository } from './repository.types';
|
|
4
4
|
import { RouterProps } from './router.types';
|
|
5
5
|
/**
|
|
@@ -14,17 +14,27 @@ export interface PopupBaseProps {
|
|
|
14
14
|
onPrevious: () => void;
|
|
15
15
|
onNext: () => void;
|
|
16
16
|
setIsClosing?: (isClosing: boolean) => void;
|
|
17
|
+
onSecondaryAction?: () => void;
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* Major update popup props
|
|
20
21
|
*/
|
|
21
22
|
export interface MajorUpdatePopupProps extends PopupBaseProps {
|
|
23
|
+
/**
|
|
24
|
+
* Aspect ratio for the image/video container
|
|
25
|
+
* @default '16:9'
|
|
26
|
+
*/
|
|
27
|
+
ratio?: '16:9' | '1:1' | '4:3';
|
|
28
|
+
/**
|
|
29
|
+
* Custom padding for the popup container
|
|
30
|
+
* @default '16px'
|
|
31
|
+
*/
|
|
32
|
+
padding?: string;
|
|
22
33
|
}
|
|
23
34
|
/**
|
|
24
35
|
* Minor update popup props
|
|
25
36
|
*/
|
|
26
|
-
export
|
|
27
|
-
}
|
|
37
|
+
export type MinorUpdatePopupProps = PopupBaseProps;
|
|
28
38
|
/**
|
|
29
39
|
* Video modal props
|
|
30
40
|
*/
|
|
@@ -40,4 +50,16 @@ export interface FeatureAnnouncementProviderProps extends FeatureAnnouncementRep
|
|
|
40
50
|
children: React.ReactNode;
|
|
41
51
|
module?: string;
|
|
42
52
|
router?: RouterProps;
|
|
53
|
+
/**
|
|
54
|
+
* Store ID for event tracking
|
|
55
|
+
*/
|
|
56
|
+
storeId?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Callback fired when a major announcement popup is shown
|
|
59
|
+
*/
|
|
60
|
+
onAnnouncementShown?: (event: AnnouncementEvent) => void;
|
|
61
|
+
/**
|
|
62
|
+
* Callback fired when user interacts with an announcement (clicks a button)
|
|
63
|
+
*/
|
|
64
|
+
onAnnouncementInteracted?: (event: AnnouncementInteractionEvent) => void;
|
|
43
65
|
}
|