{"version":3,"file":"static/chunks/2070-bf3845128c56cb0c.js","mappings":"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","sources":["webpack://_N_E/./src/components/common-components/components/notification/index.tsx","webpack://_N_E/./src/components/common-components/v2/CaAiQuotaInfo.tsx","webpack://_N_E/./src/components/common-components/v2/VideoPlayerModal.tsx","webpack://_N_E/./src/utils/blockRenderComponents/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/WriteForMe.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/CustomBlock.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/welcome/upload-from-url-form/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/welcome/Step1.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/welcome/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/blocks/share-modal/user.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/blocks/share-modal/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/AiTooltip/AiTooltip.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/Drawers/AddImageDrawer/pages/free-stock-tab/Unsplash.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/Drawers/AddImageDrawer/pages/free-stock-tab/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/Drawers/AddImageDrawer/pages/ai-create-images-tab/imageComponent.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/Drawers/AddImageDrawer/pages/ai-create-images-tab/imageListComponent.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/Drawers/AddImageDrawer/pages/ai-create-images-tab/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/Drawers/AddImageDrawer/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/EditorSection.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Header/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/UnorderedList/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Bold/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Italic/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Underline/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/OrderedList/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Code/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Anchor/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/AnchorRemove/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/AddImage/AddImage.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/UploadImage/browseFile.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/UploadImage/urlUpload.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/UploadImage/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/insertIframe/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/toolkit.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/TargetKeywordsAndSuggestions/TargetKeywords/SingleKeywordDataCard/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/TargetKeywordsAndSuggestions/TargetKeywords/TargetKeywords.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/TargetKeywordsAndSuggestions/KeywordSuggestions/SuggestedKeywordCard/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/TargetKeywordsAndSuggestions/KeywordSuggestions/KeywordSuggestions.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/TargetKeywordsAndSuggestions/TargetKeywordsAndSuggestions.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/title-editor/MetaGenerator/MetaIdeasList.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/title-editor/MetaGenerator/MetaTagGenerator.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/title-editor/OneClickPublisherV2/OneClickPublisherV2.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/title-editor/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/bread-crumb/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/TopSection.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TermsAssistant/TextSuggestions.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/LinkAssistant/MissingPlacementsBanner.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/LinkAssistant/linksList/SingleTerm.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/LinkAssistant/linksList/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/LinkAssistant/linkAssistantRightsideBar.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/LinkAssistant/TextSuggestionsLinks.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/LeftSide.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Utils/error/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/BulkRemoveTermsModal/SingleCluster.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/BulkRemoveTermsModal/BulkRemoveTermsModal.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/DropdownController/TermsDropdownController.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/DropdownController/TermsDataController.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/FocusTermsTab/SingleTerm/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/FocusTermsTab/TermsDropdowns.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/FocusTermsTab/FocusTermsTab.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/DropdownController/LinkSuggestionsDropdownController.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/LinkSuggestionsTab/InternalLinkSuggestions/SingleISugesstion.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/LinkSuggestionsTab/InternalLinkSuggestions/InternalLinkSuggestions.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/LinkSuggestionsTab/CommonCitations/SingleCitation/SingleCitation.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/LinkSuggestionsTab/CommonCitations/CommonCitations.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Common/SideBarTooltip/sidebarTooltip.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/DropdownController/SuggestionsDataController.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/LinkSuggestionsTab/LinkSuggestionsTab.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/QuestionsTab/SingleQuestion.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/QuestionsTab/QuestionsTab.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/DropdownController/AddFocusTermModal.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/FocusTermsTabs.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/HeaderSection/SingleMetrics/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/HeaderSection/ContentScore/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/HeaderSection/WordCount/WordCount.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/HeaderSection/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TermsAssistant/MissingPlacementsBanner.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TermsAssistant/TermsList/SingleTerm.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TermsAssistant/TermsList/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TermsAssistant/TermsSelectionDropdown.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TermsAssistant/RightSidebar.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TopRankingCompetitors/SingleCompetitor/SingleCompetitor.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TopRankingCompetitors/TopRankingCompetitors.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/DrawersTriggers/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetingFocusTermsDrawer/CompetitorsDrawerTab/KeywordSelector/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetingFocusTermsDrawer/CompetitorsDrawerTab/CompetitorsTable.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetingFocusTermsDrawer/CompetitorsDrawerTab/CompetitorsDetail.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetingFocusTermsDrawer/CompetitorsDrawerTab/CompetitorsDrawerTab.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetingFocusTermsDrawer/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/ContentIdeasDrawer/NewContentIdeaForm.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/ContentIdeasDrawer/SingleContentIdea.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/ContentIdeasDrawer/ContentIdeas.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/ContentIdeasDrawer/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/ContentResearchDrawer/SimilarKeyword.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/ContentResearchDrawer/ContentResearchDrawer.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/KeywordsDrawer/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Common/ViewSwitcher/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Technicals/HeaderSection/PageSpeedIndex/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Technicals/HeaderSection/TechnicalScore/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Technicals/HeaderSection/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Common/AnalyticsCollapseCard/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Technicals/SchemaModal/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Technicals/TechnicalsData/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Technicals/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetitorsHeadingsDrawer/DrawerContent/KeywordSelector/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetitorsHeadingsDrawer/DrawerContent/HeadingsTree/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetitorsHeadingsDrawer/DrawerContent/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetitorsHeadingsDrawer/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SidebarContent.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/index.tsx","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/index.tsx","webpack://_N_E/./src/components/common-components/components/notification/styles.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/blocks/share-modal/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/Drawers/AddImageDrawer/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Anchor/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/AnchorRemove/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Bold/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Code/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Header/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Italic/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/OrderedList/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/Underline/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/UnorderedList/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/toolkit/UploadImage/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/welcome/step-one.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/welcome/upload-from-url-form/styles.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/TargetKeywordsAndSuggestions/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/bread-crumb/index.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/TopSection/styles.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/content-editor.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/BulkRemoveTermsModal/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/LinkSuggestionsTab/CommonCitations/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/QuestionsTab/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/FocusTermsAndQuestions/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/HeaderSection/SingleMetrics/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Analytics/TopRankingCompetitors/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Common/AnalyticsCollapseCard/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Common/SideBarTooltip/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetingFocusTermsDrawer/CompetitorsDrawerTab/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetingFocusTermsDrawer/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetitorsHeadingsDrawer/DrawerContent/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/CompetitorsHeadingsDrawer/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/ContentIdeasDrawer/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/SideDrawers/ContentResearchDrawer/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Technicals/style.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Utils/error/index.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/index.module.scss","webpack://_N_E/./src/components/dashboard/pages/landing-page-optimizer/page-editor/styles.module.scss"],"sourcesContent":["import classnames from 'classnames';\nimport styles from './styles.module.scss';\nimport {NextImg} from '@/utils/nextImg';\nimport {useStore} from '@/store/root-store';\n\nexport enum notificationType {\n success = 'success',\n info = 'info',\n warning = 'warning',\n error = 'error',\n}\n\ninterface Props {\n type: notificationType;\n text: string;\n showContactSupportLink?: boolean;\n}\n\nexport const Notification = ({type, text, showContactSupportLink = false} : Props) => {\n const {settings: {customer: {isGHLAccount}}} = useStore('');\n const openLiveChat = () => {\n const chatBtn: HTMLElement = document.querySelector('.cc-unoo') as HTMLElement;\n if (chatBtn) {\n chatBtn.click();\n }\n };\n\n return (\n
\n {type === notificationType.error && }\n {text}{isGHLAccount ? '' : showContactSupportLink && openLiveChat()}> contact our support team}\n
\n );\n};\n","import {useStore} from '@/store/root-store';\n// import {faBolt, faXmark} from '@fortawesome/pro-solid-svg-icons';\n// import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n// import {Popover, Spin} from 'antd';\nimport {observer} from 'mobx-react';\nimport {useState} from 'react';\nimport styled from 'styled-components';\n// import {Button} from './Button';\n// import styles from '../style.module.scss';\n// import {LoadingOutlined} from '@ant-design/icons';\n\ninterface Props {\n mode?: 'dark' | 'light' | 'gray';\n size?: 'small' | 'normal';\n customLabel?: string;\n isMinified?: boolean;\n}\n\nexport const CaAiQuotaInfo = observer(({mode = 'light', size = 'small', customLabel, isMinified = false}: Props) => {\n // const antIcon = ;\n\n // const [visible, setVisible] = useState(false);\n const [colorSetup] = useState({\n dark: {\n textColor: '#fff',\n },\n light: {\n textColor: '#4e5156',\n },\n gray: {\n textColor: '#a3a4a4',\n },\n });\n const [sizeSetup] = useState({\n small: {\n fontSize: '12px',\n },\n normal: {\n fontSize: '14px',\n },\n });\n\n const {\n // plans: {\n // showSidebarPaymentDrawer,\n // },\n settings: {\n customer: {\n profile: {\n quotaUtilization,\n // topUpAiQuota,\n // topUpAiQuotaLoading,\n // isWhitelabel,\n },\n // getCustomerQuota,\n },\n },\n } = useStore('');\n\n // const popoverContent = (
\n // \n // \n // \n // 100 More AI Quota for just $25\n // Speed up your content production with more AI Quota\n // \n // \n // {\n // showSidebarPaymentDrawer();\n // setVisible(false);\n // }}>View plans\n // \n //
\n // setVisible(false)}/>\n //
\n //
);\n\n return \n {!isMinified ? : null}\n {/* Uncomment when BE is ready and we revisit this feature */}\n {/* {quotaUtilization?.ca?.allowedAiContentGeneration?.consumed <= quotaUtilization?.ca?.allowedAiContentGeneration?.total ? setVisible(visible)}\n visible={visible}\n autoAdjustOverflow={true}\n ><>\n {!isWhitelabel ? setVisible(true)}>Top Up: <>}{topUpAiQuotaLoading ? : null}\n \n : null} */}\n ;\n});\n\nconst Wrapper = styled.div<{sizeSetup: any; size: 'small' | 'normal'}>`\n font-size: ${p => p.sizeSetup[p.size].fontSize};\n font-weight: 300;\n cursor: default;\n display: inline-block;\n`;\nconst Label = styled.span<{colorSetup?: any; mode?: 'dark' | 'light' | 'gray'}>`\n color: ${p => p.colorSetup[p.mode].textColor};\n margin-right: 5px;\n`;\n// const IconWrapper = styled.div`\n// width: 50px;\n// height: 50px;\n// border-radius: 100%;\n// background-color: #1FAC4726;\n// display: flex;\n// margin-left: auto;\n// margin-right: auto;\n// margin-top: 23px;\n// `;\n// const PopoverTitle = styled.div`\n// color: #fff;\n// font-weight: 600;\n// font-size: 16px;\n// margin-top: 20px;\n// margin-bottom: 6px;\n// max-width: 280px;\n// text-align: center;\n// `;\n// const PopoverDesc = styled.div`\n// color: #E8E8E8;\n// font-weight: 400;\n// font-size: 14px;\n// max-width: 280px;\n// text-align: center;\n// `;\n// const PopoverFooterContainer = styled.div`\n// display: flex;\n// justify-content: space-between;\n// margin-top: 20px;\n// margin-bottom: 20px;\n// `;\n// const TopUp = styled.span`\n// color: #2d6cca;\n// text-decoration: underline;\n// cursor: pointer;\n// `;\n// const ViewPlansBtn = styled.span`\n// fontSize: 14px;\n// color: #fff;\n// text-decoration: underline;\n// margin-top: auto;\n// margin-bottom: auto;\n// margin-right: 20px;\n// cursor: pointer;\n// `;\n","import {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport styled from 'styled-components';\nimport {Modal, ModalProps} from '@/components/common-components/components/modal';\nimport {Button} from './Button';\nimport {ReactNode, useState} from 'react';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faArrowDownLeftAndArrowUpRightToCenter, faArrowUpRightAndArrowDownLeftFromCenter, faCheck} from '@fortawesome/pro-solid-svg-icons';\nimport {NextImg} from '@/utils/nextImg';\n\n\ninterface Props extends ModalProps {\n iconPath?: string;\n title?: string;\n subTitle?: string;\n videoLink: string;\n button1?: string;\n button3?: string | ReactNode;\n button2?: string | ReactNode;\n buttonMinimize?: boolean;\n onClickButton1?: ()=> void;\n onClickButton2?: ()=> void;\n onClickButton3?: (title)=> void;\n}\n\nexport const VideoPlayerModal = observer(({\n iconPath = '/icons/text-icon.svg',\n title = 'How to Create a Content Calendar for SEO',\n subTitle = 'Content Tools',\n button1 = 'Open Tool',\n videoLink = `https://linkgraph.com/wp-content/uploads/2021/11/SEO-Content-Assistant720.webm`,\n button2 = Mark as Done,\n buttonMinimize = false,\n onClickButton1,\n onClickButton2,\n button3,\n onClickButton3,\n}: Props) => {\n const {home: {videoPlayerModal, setVideoPlayerModal}} = useStore('');\n const [minimized, setMinimized] = useState(buttonMinimize);\n return (\n <>\n setVideoPlayerModal(false)}\n maskStyle={{background: 'rgba(21,22,23, 0.95)'}}\n >\n
\n
\n
\n ,\n
\n {title}\n {subTitle}\n
\n
\n
\n {!button3 && button1 ? : ''}\n {!button3 && button2 ? : ''}\n {button3 ? : ''}\n \n
\n
\n
\n \n
\n
\n \n \n
\n setMinimized(false)}>\n \n \n \n
\n\n
\n \n );\n});\n\nconst TitleText = styled.div`\n font-weight: 500;\n font-size: 18px;\n line-height: 24px;\n color: #FFFFFF;\n`;\n\nconst SubTitleText = styled.div`\n font-weight: 400;\n font-size: 14px;\n line-height: 17px;\n color: #A3A4A4;\n`;\n\n\nconst ModalStyled = styled(Modal)`\n max-height: 100% !important;\n \n .rc-dialog-close {\n margin-top: -25px;\n margin-right: -65px;\n color: #fff;\n font-size: 40px;\n }\n\n .rc-dialog-content {\n width: 1125px;\n height: 660px;\n background: rgba(78, 81, 86, 0.35);\n /* opacity: 0.35; */\n border-radius: 8px;\n }\n`;\n\nconst SmallPopupStyled = styled.div`\n position: fixed;\n z-index: 99999999;\n right: 20px;\n bottom: 25px;\n padding: 10px;\n background-color: rgba(78, 81, 86, 0.35);\n border-radius: 8px;\n`;\n\nconst CloseOutlinedStyled = styled.span`\n position: absolute; \n top: -44px;\n pointer-events: all;\n right: 5px;\n font-size: 22px;\n color: #fff;\n opacity: 0.7;\n cursor: pointer;\n &:hover {\n opacity: 1;\n }\n`;\n","import {EditorBlock} from 'draft-js';\nimport {createPortal} from 'react-dom';\nimport {useRef} from 'react';\nimport {NextImg} from '@/utils/nextImg';\n\n// eslint-disable-next-line valid-jsdoc\n/**\n * Except for ordered & unordered lists, Draft does not natively support nesting a group of blocks\n * in a parent element as is needed for tables.\n * To handle tables, we store the table's size and styling specifications in the first table block\n * and render the entire table DOM structure when we render that first block, setting a data attribute\n * on each element for its position in the table. Then as each subsequent block is rendered we use\n * createPortal from React-Dom to target the correct element in the table to render that block into.\n */\nexport const Table = props => {\n const {\n block,\n blockProps: {editor},\n } = props;\n // if this is not the first table block, then we target the element in the applicable position\n // to render the current block into.\n if (block.getData().get('tablePosition') && !block.getData().get('tableShape')) {\n const position = block.getData().get('tablePosition');\n const target = editor?.editor.querySelector(`[data-position='${position}']`);\n if (target) {\n return createPortal(, target);\n }\n /**\n * If we get here then the target wasn't in the DOM yet. The reset and paste/insert-related\n * functions use blur() and focus() to trigger a rerender, at which time the DOM will have been\n * updated with the framework of the table structure.\n */\n return null;\n }\n // If we get here we know we are rendering the first block of the table and will render the whole DOM structure of the table\n const data = block.getData();\n const tableKey = data.get('tableKey');\n const tableShape = data.get('tableShape');\n const colgroup = data.get('tableColgroup');\n\n if (Array.isArray(tableShape)) {\n return (\n \n {colgroup && }\n \n {tableShape.map((row, i) => (\n \n {row.map((cell, j) => {\n if (cell.element === 'th') {\n return (\n \n {!!((i === 0) && (j === 0)) && }\n \n );\n }\n return (\n \n {!!((i === 0) && (j === 0)) && }\n \n );\n })}\n \n ))}\n \n
\n );\n } else {\n return ;\n }\n};\n\nexport const BlockImage = props => {\n const image = useRef(null);\n const {\n block,\n contentState,\n } = props;\n\n const {content, src, height, width, alt} = block && (block.getEntityAt(0) && contentState.getEntity(block.getEntityAt(0)).getData()) || {};\n const widthImg = width ? typeof width == 'string' && width.includes('%') ? width : `${width}%` : '100%';\n const heightImg = height ? typeof height == 'string' && height.includes('%') ? height : `${height}%` : '100%';\n\n if (content) {\n const iframeRegex = /]+src=\"([^\"]+)\"[^>]*>/;\n if (typeof content === 'string' && iframeRegex.test(content)) {\n const srcMatch = content.match(/src=\"([^\"]+)\"/);\n const widthMatch = content.match(/width=\"([^\"]+)\"/);\n const heightMatch = content.match(/height=\"([^\"]+)\"/);\n const titleMatch = content.match(/title=\"([^\"]+)\"/);\n const urlPattern = /^((http|https):\\/\\/)/;\n const src = srcMatch ? srcMatch[1] ? urlPattern.test(srcMatch[1]) ? srcMatch[1] : `http://${srcMatch[1]}` : '' : '';\n const width = widthMatch ? +widthMatch[1]>560 ? '100%' : widthMatch[1] : '100%';\n const height = heightMatch ? +heightMatch[1]>315 ? '315px' : heightMatch[1] : '315px';\n const title = titleMatch ? titleMatch[1] : 'iframe content';\n\n return (\n \n );\n }\n return (\n \n );\n } else {\n return (\n src && \n );\n }\n};\n\n\nconst getNumberFromEnglishCounting = data => {\n switch (data) {\n case 'one':\n return 1;\n case 'two':\n return 2;\n case 'three':\n return 3;\n case 'four':\n return 4;\n case 'five':\n return 5;\n case 'six':\n return 6;\n default:\n return null;\n }\n};\n\n\nexport function generateHeadingOutline(contentState) {\n const blocks = contentState.getBlocksAsArray();\n const outline = [];\n\n blocks.forEach(block => {\n const text = block.getText().trim();\n const type = block.getType();\n\n if (type.startsWith('header')) {\n const level = getNumberFromEnglishCounting(type.substring(type.lastIndexOf('-') + 1));\n const heading = {\n tag: `h${level}`,\n level: level,\n content: text,\n };\n\n outline.push(heading);\n }\n });\n\n return outline;\n}\n","import {useStore} from '@/store/root-store';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {faFeather} from '@fortawesome/pro-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Spin, Tooltip} from 'antd';\nimport {ContentState, EditorState, Modifier, SelectionState} from 'draft-js';\nimport {debounce} from 'lodash';\nimport {observer} from 'mobx-react';\nimport {useCallback, useEffect, useState} from 'react';\nimport styled from 'styled-components';\n\ninterface Props {\n block?: any;\n htmlToDraft: any;\n}\n\nexport const WriteForMe = observer(({block, htmlToDraft}: Props) => {\n const {contentOptimizer: {currentPage, contentFragment}} = useStore('');\n const {\n settings: {\n customer: {\n getCustomerQuota,\n profile: {\n quotaUtilization,\n },\n },\n },\n } = useStore('');\n\n const [isFullBtn, setIsFullBtn] = useState(true);\n const {\n currentEditorState,\n focusTermsClassNames,\n isSideBarHidden,\n } = currentPage;\n\n const antIcon = ;\n const antIconLarge = ;\n\n\n /*\n * Replaces default browser context menu with our custom one\n */\n useEffect(() => {\n const preventingDefaultMenu = e => {\n e.stopPropagation();\n };\n\n document.querySelectorAll('.writeForMeContainer')?.forEach(elem => {\n if (elem.addEventListener) elem.addEventListener('contextmenu', preventingDefaultMenu, false);\n });\n\n return () => {\n document.querySelectorAll('.writeForMeContainer')?.forEach(elem => {\n elem.removeEventListener('contextmenu', preventingDefaultMenu, false);\n });\n };\n }, []);\n\n\n /*\n * Gets initial Editor actual margins, to use to reposition floating 'people currently editing' label properly\n */\n useEffect(() => {\n setTimeout(() => {\n const editorWrapperElem = document.getElementById('editorContainerId');\n const editorElem = document.querySelectorAll('.DraftEditor-root');\n if (editorElem && editorWrapperElem && editorElem[0]) {\n if ((((editorWrapperElem as HTMLElement).clientWidth - (editorElem[0] as HTMLElement).offsetWidth) / 2) > 110 ) {\n setIsFullBtn(true);\n } else {\n setIsFullBtn(false);\n }\n }\n }, 1000);\n }, [isSideBarHidden]);\n\n\n /*\n * Gets Editor actual margins on resize, to use to reposition floating 'people currently editing' label properly\n */\n useEffect(() => {\n const getEditorRealMargin = () => {\n const editorWrapperElem = document.getElementById('editorContainerId');\n const editorElem = document.querySelectorAll('.DraftEditor-root');\n if (editorElem && editorWrapperElem && editorElem[0]) {\n if ((((editorWrapperElem as HTMLElement).clientWidth - (editorElem[0] as HTMLElement).offsetWidth) / 2) > 110 ) {\n setIsFullBtn(true);\n } else {\n setIsFullBtn(false);\n }\n }\n };\n window.addEventListener('resize', getEditorRealMargin);\n\n return () => window.removeEventListener('resize', getEditorRealMargin);\n }, []);\n\n\n const debouncedChange = debounce((state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations = false) => {\n // we are then calling the edit content method which will fire the API call and send new state to the BE\n currentPage.editContent(state, isNewDecorations);\n }, 2000);\n\n\n const debouncedUpdate = useCallback(\n (state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations) => debouncedChange(state, focusTerms, focusTermsClassNames, isNewDecorations),\n // eslint-disable-next-line\n []\n );\n\n\n /*\n * Gets current Editor selected text\n */\n const getSelection = useCallback((editorState: EditorState) => {\n return editorState.getSelection();\n }, [currentPage.currentEditorState]);\n\n\n /*\n * Inserts AI generated text into Editor State\n */\n const insertText = async (isBlock: boolean) => {\n const {contentBlocks, entityMap} = htmlToDraft(contentFragment?.fragment?.html || '');\n\n const selection = currentPage.currentEditorState.getSelection();\n\n\n // this is used to make selection for the entire block, if we are using entire block text to generate ai content;\n const newSelection = isBlock ?\n new SelectionState({\n anchorKey: block.getKey(),\n anchorOffset: block.getText().length,\n focusKey: block.getKey(),\n focusOffset: block.getText().length,\n }) :\n new SelectionState({\n anchorKey: selection.getAnchorKey(),\n anchorOffset: selection.getEndOffset() !== 0 ? selection.getEndOffset() : block.getText().length,\n focusKey: selection.getAnchorKey(),\n focusOffset: selection.getEndOffset() !== 0 ? selection.getEndOffset() : block.getText().length,\n });\n\n\n const fragment = ContentState.createFromBlockArray(contentBlocks, entityMap).getBlockMap();\n\n const nonStyledState = Modifier.replaceWithFragment(\n currentPage.currentEditorState.getCurrentContent(),\n newSelection,\n fragment,\n );\n\n // WE are calculating nodes to toggle blue background on new Ai generated nodes\n let firstNewBlockId: number;\n const currentBlock = selection.getAnchorKey();\n const nextBlock = currentPage.currentEditorState.getCurrentContent().getBlockAfter(selection.getAnchorKey())?.getKey();\n\n const existingNodes = document.querySelectorAll('[data-block=\"true\"]');\n existingNodes?.forEach((elem, id) => {\n if (elem.getAttribute('data-offset-key') && elem.getAttribute('data-offset-key') == `${currentBlock}-0-0`) {\n firstNewBlockId = id + 1;\n }\n });\n\n\n const updatedState = EditorState.push(currentPage.currentEditorState, nonStyledState, 'insert-fragment');\n currentPage.setCurrentEditorState(updatedState);\n\n currentPage.setAiTooltip({show: false});\n\n setTimeout(() => {\n const newTextElems = document.querySelectorAll('[data-block=\"true\"]');\n if (newTextElems.length) {\n for (let i = firstNewBlockId; i <= newTextElems.length; i++) {\n if (newTextElems[i]?.getAttribute('data-offset-key') && newTextElems[i]?.getAttribute('data-offset-key') != `${nextBlock}-0-0` && newTextElems[i]?.getAttribute('data-offset-key') != `${currentBlock}-0-0`) {\n newTextElems[i].classList.add('newTextBlock');\n } else {\n return;\n }\n }\n }\n }, 500);\n\n debouncedUpdate(updatedState, currentPage.analytics?.focusTerms, focusTermsClassNames, false);\n\n setTimeout(() => {\n const newTextElems = document.querySelectorAll('.newTextBlock');\n if (newTextElems.length) {\n newTextElems.forEach(elem => {\n elem.classList.remove('newTextBlock');\n });\n }\n }, 3500);\n };\n\n const getParams = (editorState: EditorState) => {\n const selection = getSelection(editorState);\n const currentContent = editorState.getCurrentContent();\n const anchorKey = selection.getAnchorKey();\n\n return {selection, currentContent, anchorKey};\n };\n\n\n /*\n * Fetching either selected text or entire block to generate AI content\n * Triggering Editor text inserting method\n */\n const fetchAndInsertText = async (action: 'insert' | 'copy') => {\n const {selection, currentContent, anchorKey} = getParams(currentEditorState);\n const start = selection.getAnchorOffset() < selection.getFocusOffset() ? selection.getAnchorOffset() : selection.getFocusOffset();\n const end = selection.getFocusOffset() > selection.getAnchorOffset() ? selection.getFocusOffset() : selection.getAnchorOffset();\n\n const currentBlock = currentContent.getBlockForKey(anchorKey);\n\n let selectedText: string;\n let isBlock: boolean = false;\n\n if (!selection.isCollapsed() && anchorKey === block.getKey()) {\n selectedText = currentBlock.getText().slice(start, end);\n\n // This will handle tripple click\n // In draftJS, triple click results in anchor and focus ofset to be 0\n if (selection.getAnchorOffset() === 0 && selection.getFocusOffset() === 0) {\n selectedText = currentBlock.getText();\n }\n }\n\n if (selection.isCollapsed() && anchorKey === block.getKey()) {\n isBlock = true;\n selectedText = block.getText();\n }\n\n if (selection.isCollapsed() && anchorKey !== block.getKey()) {\n isBlock = true;\n selectedText = block.getText();\n }\n\n if (!selection.isCollapsed() && anchorKey !== block.getKey()) {\n isBlock = true;\n selectedText = block.getText();\n }\n\n try {\n await contentFragment.fetchFragment(selectedText);\n getCustomerQuota();\n if (action === 'insert') {\n insertText(isBlock);\n }\n\n // if (action === 'copy') {\n // currentPage.setAiTooltip({...currentPage.aiTooltip, show: false});\n // if (contentFragment?.fragment?.html) {\n // navigator.clipboard.writeText(contentFragment?.fragment?.html);\n // currentPage.setIsCopy(true);\n\n // setTimeout(() => {\n // currentPage.setIsCopy(false);\n // }, 5000);\n // }\n // }\n } catch (e) {\n currentPage.setAiTooltip({...currentPage.aiTooltip, show: false});\n Promise.reject(e);\n }\n };\n\n\n /*\n * Checks if there is any selected text\n */\n const isTextSelected = () => {\n const {selection, anchorKey} = getParams(currentEditorState);\n\n if (!selection.isCollapsed() && anchorKey === block.getKey()) {\n return true;\n } else {\n return false;\n }\n };\n\n\n /*\n * Checks if Block has any text or not\n */\n const isEmptyContent = () => {\n const {selection} = getParams(currentEditorState);\n\n if (selection.isCollapsed() && !block.getText().length) {\n return true;\n } else {\n return false;\n }\n };\n\n return \n {isFullBtn ? \n {\n if (isEmptyContent()) return;\n fetchAndInsertText('insert');\n }}>\n {contentFragment.fragmentLoading ? :\n }\n \n :\n \n {\n if (isEmptyContent()) return;\n e.stopPropagation();\n fetchAndInsertText('insert');\n }}>\n {contentFragment.fragmentLoading ? :\n }\n \n }\n {isFullBtn ? : null}\n {isFullBtn ? \n : null}\n ;\n});\n\nconst Container = styled.div`\n height: 100%;\n`;\n\nconst WriteForMeStyled = styled.div`\n font-size: 12px;\n background-color: #E6DFEF;\n height: 26px;\n cursor: pointer;\n margin-right: auto;\n width: 105px;\n color: #7F4EAD;\n padding: 4px 7px;\n position: relative;\n border-radius: 5px;\n font-weight: 500;\n\n &::after {\n position: absolute;\n content: 'Write for me'\n }\n`;\n\nconst WriteForMeMiniStyled = styled.div`\n background-color: #E6DFEF;\n height: 26px;\n cursor: pointer;\n margin-left: auto;\n margin-right: 20px;\n width: 30px;\n color: #7F4EAD;\n border-radius: 5px;\n position: relative;\n padding-top: 5px;\n padding-left: 6px;\n`;\n\nconst BasedOn = styled.div<{isSelection: boolean}>`\n font-size: 10px;\n pointer-events: none;\n\n &::after {\n position: absolute;\n content: 'Based on ${p => p.isSelection ? 'selected text' : 'entire block'}';\n }\n`;\nconst UsedQuota = styled.div<{used?: number; total?: number}>`\n font-size: 10px;\n pointer-events: none;\n margin-top: 12px;\n &::after {\n position: absolute;\n content: 'Quota ${p => `${p.used}/${p.total}`}';\n }\n`;\n","import {EditorBlock, EditorState, RichUtils, SelectionState} from 'draft-js';\nimport {Select} from 'antd';\nimport styled from 'styled-components';\nimport {useStore} from '@/store/root-store';\nimport {debounce} from 'lodash';\nimport {useCallback, useEffect, useRef, useState} from 'react';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport {WriteForMe} from './WriteForMe';\nimport {isScaPublicPage} from './utils';\n\nexport const CustomBlock = props => {\n const {contentOptimizer: {currentPage: {editContent, setCurrentEditorState, currentEditorState}}} = useStore('');\n const {Option} = Select;\n const [isOpen, setIsOpen] = useState(false);\n\n let htmlToDraft = null;\n if (typeof window === 'object') {\n htmlToDraft = require('html-to-draftjs').default;\n }\n\n\n const typesMap = {\n 'header-one': 'H1',\n 'header-two': 'H2',\n 'header-three': 'H3',\n 'header-four': 'H4',\n 'header-five': 'H5',\n 'header-six': 'H6',\n 'unstyled': 'p',\n };\n const hotKeysLabelMap = {\n 'header-one': 'CTRL+ALT+1',\n 'header-two': 'CTRL+ALT+2',\n 'header-three': 'CTRL+ALT+3',\n 'header-four': 'CTRL+ALT+4',\n 'header-five': 'CTRL+ALT+5',\n 'header-six': 'CTRL+ALT+6',\n 'unstyled': 'CTRL+ALT+0',\n };\n\n const writeForMeTopOffset = {\n 'header-one': '12px',\n 'header-two': '5px',\n 'header-three': '-2px',\n 'header-four': '-2px',\n 'header-five': '-2px',\n 'header-six': '-2px',\n 'unstyled': '-3px',\n };\n\n const {block} = props;\n const blockType = block.getType();\n\n const blockRef = useRef(null);\n\n useEffect(() => {\n const preventingDefaultMenu = e => {\n e.stopPropagation();\n };\n\n document.querySelectorAll('#CustomDropdown')?.forEach(elem => {\n if (elem.addEventListener) elem.addEventListener('contextmenu', preventingDefaultMenu, false);\n });\n\n\n return () => {\n document.querySelectorAll('#CustomDropdown')?.forEach(elem => {\n elem.removeEventListener('contextmenu', preventingDefaultMenu, false);\n });\n };\n }, []);\n\n const dropdownRef = useRef();\n useEffect(() => {\n function handleClickOutside(event) {\n if (dropdownRef.current && (!dropdownRef.current.contains(event.target) )) {\n setTimeout(() => setIsOpen(false), 300);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [dropdownRef]);\n\n\n const debouncedChange = debounce((state: EditorState, isNewDecorations = false) => {\n // we are then calling the edit content method which will fire the API call and send new state to the BE\n editContent(state, isNewDecorations);\n }, 2000);\n\n const debouncedUpdate = useCallback(\n (state: EditorState, isNewDecorations) => debouncedChange(state, isNewDecorations),\n // eslint-disable-next-line\n []\n );\n\n\n const onEditorChange = (editorState: EditorState, isNewDecorations: boolean = false, prevSelection: SelectionState) => {\n setCurrentEditorState(editorState);\n\n // after desired block type is changed, we are returning cursor back to last known selection\n const prevEditorState = EditorState.forceSelection(editorState, prevSelection);\n setCurrentEditorState(prevEditorState);\n\n // We are comparing current editor state with udpated one to make sure the flow only triggers once there is an actual content change (adding removing of words, formatting, linkjng etc.)\n debouncedUpdate(prevEditorState, isNewDecorations);\n };\n\n\n const handleChange = value => {\n const prevSelection = currentEditorState.getSelection();\n\n const newSelection = new SelectionState({\n anchorKey: block.getKey(), // key of block\n anchorOffset: 0,\n focusKey: block.getKey(),\n focusOffset: 0, // key of block\n hasFocus: true,\n isBackward: false, // isBackward = (focusOffset < anchorOffset)\n });\n const newEditorState = EditorState.forceSelection(currentEditorState, newSelection);\n onEditorChange(RichUtils.toggleBlockType(newEditorState, value), true, prevSelection);\n };\n\n // we are adding small timeout because by default click on this elem will trigger DraftJS rerender, and that will close the popup\n // const handleOpenMenu = () => {\n // setTimeout(() => setIsOpen(!isOpen), 300);\n // };\n\n\n return \n {!isScaPublicPage() ?
\n \n
: null}\n {\n return false;\n }}\n currentValue={typesMap[blockType]}\n isOpen={isOpen}\n ref={dropdownRef}>\n setIsOpen(!isOpen)}\n suffixIcon={}>\n {Object.keys(typesMap).map((type, idx) => {\n return ;\n })}\n \n \n \n
;\n};\n\nconst BlockContainer = styled.div<{blockHeight?: number; topOffset?: string}>`\n position: relative;\n .writeForMeContainer {\n width: 127px;\n position: absolute;\n left: -182px;\n top: ${p => p.topOffset};\n display: none;\n z-index: 9999999;\n height: ${p => `${p.blockHeight}px` || 'auto'};\n }\n\n &::before {\n content: '';\n width: 150px;\n height: 100%;\n position: absolute;\n left: -150px;\n cursor: default !important;\n }\n\n &:hover {\n .writeForMeContainer {\n display: block;\n }\n }\n`;\n\n// We are passing down currentValue and showing it as an before element to prevent it to be selected when selecting other text in editor\nconst DropdownContainer = styled.div<{currentValue?: string; isOpen?: boolean; blockHeight?: number}>`\n outline: none !important;\n position: absolute;\n left: -55px !important;\n top: -3px !important;\n z-index: 999999;\n height: ${p => `${p.blockHeight}px` || 'auto'};\n\n .ant-select-selection-search {\n display: none;\n }\n\n .ant-select {\n width: 46px !important;\n z-index: 999999;\n\n\n .ant-select-selection-item {\n display: none;\n padding-right: 0px !important;\n color: #A3A4A4 !important;\n\n }\n\n &.ant-select-open {\n .ant-select-selection-item {\n padding-right: 0px !important;\n color: #000 !important;\n }\n }\n }\n\n .ant-select-selector {\n padding: 0 5px !important;\n border-radius: 4px !important; \n\n &::before {\n content: '${p => p.currentValue}';\n width: 100%;\n height: 100%;\n pointer-events: none;\n user-select: none;\n color: #A3A4A4 !important;\n margin: ${p => p.currentValue == 'p' ? '1px 2px 4px 4px' : '3px 2px 4px auto'};\n }\n\n border: ${p => p.isOpen ? ' border: 1px solid #E8E8E8 !important' : '1px solid transparent !important;'} \n }\n .ant-select-arrow {\n right: 8px !important;\n width: 10px !important;\n height: 10px !important;\n display: none;\n }\n\n &:hover, &:active, &:focus {\n outline: none !important;\n\n .ant-select-selector {\n border: 1px solid #E8E8E8 !important;\n }\n\n .ant-select-arrow {\n display: block;\n }\n }\n\n\n`;\n","import isURL from 'validator/lib/isURL';\nimport {Form} from 'antd';\nimport {\n Button,\n CommonInput,\n} from '@/components/common-components/components/index';\nimport styles from './styles.module.scss';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {observer} from 'mobx-react-lite';\nimport {useTranslation} from 'next-i18next';\n\nconst Input = CommonInput;\n\ninterface Props {\n store: CurrentPageStore;\n}\n\nconst UploadFromUrlForm = observer(({store}: Props) => {\n const [form] = Form.useForm<{url: string}>();\n const {t} = useTranslation('common');\n const onUploadHandler = async (url: string) => {\n store?.setIsCreateFromUrl(true);\n try {\n await store?.uploadFromUrl(url);\n store?.updateContentLoadedAt();\n } catch (e) {\n store?.setCurrentStep(2);\n throw e;\n } finally {\n store?.setCurrentStep(2);\n }\n };\n\n const handleSubmit = (value: {url: string}) => {\n onUploadHandler(value.url);\n };\n\n\n return (\n
\n ({\n validator(_, value) {\n if (!value || isURL(value, {require_protocol: true})) {\n return Promise.resolve();\n }\n return Promise.reject(t('url-not-valid'));\n },\n }),\n ]}\n className={styles.urlinput}\n >\n \n \n \n \n {t('upload')}\n \n \n \n );\n});\n\nexport {UploadFromUrlForm};\n","import React from 'react';\nimport classnames from 'classnames';\nimport {UploadFromUrlForm} from './upload-from-url-form';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {observer} from 'mobx-react-lite';\nimport {EditorState, ContentState} from 'draft-js';\nimport {useTranslation} from 'next-i18next';\nimport {useRouter} from 'next/router';\nimport style from './step-one.module.scss';\nimport {routes} from '@/utils/const';\ninterface IStep1Props {\n store: CurrentPageStore;\n}\n\nconst Step1: React.FC = observer(\n ({store}: IStep1Props) => {\n const {setCurrentStep, setIsCreateFromScratch, setIsFirstArticleEdit} = store;\n const {t} = useTranslation('common');\n const router = useRouter();\n\n const onStartFromScratchClick = async () => {\n setIsCreateFromScratch(true);\n // we are setting loading state for target keywords here to false\n // so it doesnt get set inside editContent method, because in that case\n // editing content while target keywords are still fetching would stop target keywords loader from showing\n store.setIsFetchingTargetKw(false);\n\n store.analysis?.clearUrl();\n await store.editContent(EditorState.createWithContent(ContentState.createFromText('')));\n // await store.editTitle('');\n await store.updateContentLoadedAt(); // trigger editor, reload content from store.\n setIsFirstArticleEdit(false);\n setCurrentStep(2);\n router.push(\n `/${routes.landingPageOptimizer}/${router.query!.uuid}/`,\n undefined,\n {shallow: true},\n );\n };\n\n return (\n
\n
{t('select-option-start')}.
\n
\n
\n {t('seo-assistant-description')}\n
\n
\n
\n
\n
\n
\n {t('blank-page')}\n
\n
{t('create-scratch')}
\n
onStartFromScratchClick()}>\n {t('start-scratch-button')}\n
\n
\n
\n
\n
\n {t('from-url')}\n
\n
{t('upload-from-url')}
\n \n
\n
\n
\n );\n },\n);\n\nexport {Step1};\n","import React from 'react';\nimport {observer} from 'mobx-react-lite';\nimport {Step1} from './Step1';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\n\ninterface WelcomeProps {\n store: CurrentPageStore;\n}\n\nconst Welcome: React.FC = observer(({store}) => {\n const {currentStep} = store;\n return (\n <>\n {currentStep === 1 && }\n \n );\n});\n\nexport {Welcome};\n","import {SkeletonRingLoader} from '@/components/common-components';\nimport {Button} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {BlockImage, Table} from '@/utils/blockRenderComponents';\nimport {opaqueColor} from '@/utils/colors';\nimport {notification} from '@/utils/notification-v2';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {faBrainCircuit} from '@fortawesome/pro-duotone-svg-icons';\nimport {faArrowRight, faTrash} from '@fortawesome/pro-regular-svg-icons';\nimport {faArrowsRotate, faICursor} from '@fortawesome/pro-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Spin, Tooltip} from 'antd';\nimport classNames from 'classnames';\nimport {Editor, EditorState, KeyBindingUtil, RichUtils, SelectionState, getDefaultKeyBinding,\n Modifier,\n genKey,\n ContentBlock,\n} from 'draft-js';\nimport 'draft-js/dist/Draft.css';\nimport {debounce, kebabCase} from 'lodash';\nimport {toJS} from 'mobx';\nimport {observer} from 'mobx-react-lite';\nimport {useTranslation} from 'next-i18next';\nimport {useRouter} from 'next/router';\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport styled from 'styled-components';\nimport {CustomBlock} from './CustomBlock';\nimport styles from './style.module.scss';\nimport {Welcome} from './welcome';\nimport {convertHtmlToEditorState} from '@/utils/htmlToDraft';\nimport {customStyleMap} from '@/utils/renderConfig';\nimport {Map} from 'immutable';\nimport {getSingleUrlParam} from '@/utils/url';\nimport {NextImg} from '@/utils/nextImg';\n\n\nconst styleMap = {\n 'HIGHLIGHT': {\n 'backgroundColor': '#faed27',\n },\n 'NEWTEXT': {\n 'backgroundColor': '#ebf7fe',\n },\n 'MONOSPACE': {\n 'backgroundColor': 'rgba(0, 0, 0, 0.05)',\n 'fontFamily': 'Inconsolata, Menlo, Consolas, monospace',\n 'fontSize': '16px',\n 'padding': '2px',\n },\n};\n\n\nexport const ContentEditor = observer(\n ({onChange, showAiBanner}:\n {\n onChange: (editorState: any) => any;\n showAiBanner: boolean;\n }) => {\n const editor = useRef(null);\n const editorContainer = useRef(null);\n const heroSection = useRef(null);\n const [lastScrollPosition, setLastScrollPosition] = useState(0);\n\n const {t} = useTranslation('common');\n const [addHeroImageLoading, setAddHeroImageLoading] = useState(false);\n localStorage.setItem('scaDashboardOpened', 'TRUE');\n\n const router = useRouter();\n\n const {contentOptimizer: {currentPage, aiOutline, aiMetaData, pages: {getHeroImageById}}} = useStore('');\n const {\n clearFocusTermsClusters,\n getCurrentEditorState,\n zoomLevel,\n newPage,\n clearFeTargetKeywords,\n clearTargetKeywords,\n isInitialEditorStateFetched,\n setIsEditorScrolled,\n isEditorScrolled,\n setFocusTermsSorter,\n resetRepollCounters,\n clearAllTaData,\n setCurrentEditorState,\n editContent,\n content,\n setIsUnspashDrawerOpen,\n updateHeroImage,\n isHeroImageLoading,\n setContentType,\n } = currentPage;\n const {\n clearAiOutline,\n isOpenAiOutlineDrawer,\n setIsOpenAiOutlineDrawer,\n clearV2AiOutline,\n setIsOpenAiContentToolsDrawer,\n clearTemplateOutlines,\n clearTemplates,\n setIsOpenAiWriterDrawer,\n clearOneClickIdea,\n clearOneClickOutlines,\n setAiWriter,\n aiWriterController,\n setAiTemplate,\n aiTemplatesController,\n } = aiOutline;\n const {\n clearMetaData,\n } = aiMetaData;\n\n const {\n navBar: {\n setIsDockedSider,\n },\n } = useStore('');\n const {heroImage, aiInProgress, setHeroImage, heroImageAltText} = content;\n\n const antIconOrange = ;\n\n const myBlockRenderer = (editor, getEditorState, onChange) => contentBlock => {\n const blockTypes = ['header-one', 'header-two', 'header-three', 'header-four', 'header-five', 'header-six', 'unstyled'];\n const type = contentBlock.getType();\n\n if (blockTypes.includes(type)) {\n return {\n component: CustomBlock,\n editable: true,\n props: {\n editor,\n getEditorState,\n onChange,\n },\n };\n }\n\n if (type === 'atomic') {\n return {\n component: BlockImage,\n // editable: false,\n props: {\n editor,\n getCurrentEditorState,\n onChange,\n },\n };\n }\n\n if (type === 'table') {\n return {\n component: Table,\n editable: true,\n props: {\n editor,\n },\n };\n }\n // Return null for other block types\n return null;\n };\n\n const customBlockStyleFn = contentBlock => {\n const type = contentBlock.getType();\n if (type === 'code-block') {\n return 'codeBlock';\n } else if (type === 'header-one') {\n return 'headerOneWithTag';\n } else if (type === 'header-two') {\n return 'headerTwoWithTag';\n } else if (type === 'header-three') {\n return 'headerThreeWithTag';\n } else if (type === 'header-four') {\n return 'headerFourWithTag';\n } else if (type === 'header-five') {\n return 'headerFiveWithTag';\n } else if (type === 'header-six') {\n return 'headerSixWithTag';\n } else if (type === 'unstyled') {\n return 'paragraphWithTag';\n }\n };\n\n const windowHeight = window.innerHeight;\n\n // clean up state upon component dismount\n useEffect(() => {\n setIsDockedSider(false);\n return () => {\n clearFeTargetKeywords();\n clearFeTargetKeywords();\n clearAllTaData();\n clearTargetKeywords();\n clearFocusTermsClusters();\n setIsOpenAiContentToolsDrawer(false);\n setIsOpenAiWriterDrawer(false);\n clearMetaData();\n resetRepollCounters();\n clearTemplates();\n clearAiOutline();\n clearTemplateOutlines();\n clearV2AiOutline();\n clearOneClickIdea();\n clearOneClickOutlines();\n setAiWriter({\n ...aiWriterController,\n showForm: false,\n });\n setFocusTermsSorter({\n label: 'Importance',\n key: 'normalizedScore',\n });\n setIsDockedSider(true);\n if (isOpenAiOutlineDrawer) {\n setIsOpenAiOutlineDrawer(false);\n }\n // VERY IMPORTANT NOT TO REMOVE THIS ONE BELLOW\n // It will enable top bar to reapear because we are hiding it when editor is scrolled, and we need it visible on other pages\n setIsEditorScrolled(false);\n currentPage.setAiTooltip({show: false});\n };\n }, []);\n\n const offsetBreakPoint = 200;\n\n const getZoomLevel = () => {\n switch (zoomLevel) {\n case 0.5:\n return styles.zoom05;\n case 0.75:\n return styles.zoom075;\n case 0.9:\n return styles.zoom09;\n case 1:\n return styles.zoom1;\n case 1.2:\n return styles.zoom12;\n case 1.5:\n return styles.zoom15;\n case 2:\n return styles.zoom2;\n default:\n return styles.zoom1;\n }\n };\n\n const removeSizeDataFromBlock = (newEditorState, block) => {\n const data = block.getData().delete('height').delete('width').delete('imgStyle');\n block = block.set('data', data);\n let contentState = newEditorState.getCurrentContent();\n let blockMap = contentState.getBlockMap();\n blockMap = blockMap.set(block.getKey(), block);\n contentState = contentState.set('blockMap', blockMap);\n newEditorState = EditorState.push(newEditorState, contentState, 'change-block-data');\n return newEditorState;\n };\n\n const handleTabInTable = (direction = 'next', collapsed = false) => {\n let newEditorState = getCurrentEditorState;\n let selection = getCurrentEditorState.getSelection();\n let contentState = getCurrentEditorState.getCurrentContent();\n let targetKey = selection.getAnchorKey();\n let targetBlock = contentState.getBlockForKey(targetKey);\n do {\n if (direction === 'next') {\n targetBlock = contentState.getBlockAfter(targetKey);\n } else {\n targetBlock = contentState.getBlockBefore(targetKey);\n }\n targetKey = targetBlock && targetBlock.getKey();\n } while (targetKey && ['atomic', 'horizontal-rule'].includes(targetBlock.getType()));\n if (!targetBlock && direction === 'next') {\n selection = selection.merge({\n anchorOffset: contentState.getBlockForKey(selection.getAnchorKey()).getLength(),\n focusOffset: contentState.getBlockForKey(selection.getAnchorKey()).getLength(),\n });\n contentState = Modifier.splitBlock(contentState, selection);\n targetBlock = contentState.getLastBlock();\n selection = SelectionState.createEmpty(targetBlock.getKey());\n contentState = Modifier.setBlockType(contentState, selection, 'unstyled');\n targetBlock = contentState.getLastBlock();\n newEditorState = EditorState.push(getCurrentEditorState, contentState, 'split-block');\n } else if (!targetBlock) {\n targetBlock = contentState.getBlockForKey(selection.getAnchorKey());\n }\n const isTargetTable = targetBlock.getType() === 'table' && !collapsed;\n const endOffset = targetBlock.getLength();\n selection = SelectionState.createEmpty(targetBlock.getKey());\n selection = selection.merge({\n anchorOffset: isTargetTable || direction === 'next' ? 0 : endOffset,\n focusOffset: isTargetTable || direction === 'previous' ? endOffset : 0,\n });\n onChange(EditorState.forceSelection(newEditorState, selection));\n };\n\n const setSelectionIfNone = currentEditorState => {\n const selection = currentEditorState.getSelection();\n if (!selection.getHasFocus()) {\n return moveSelectionToStart(currentEditorState);\n }\n return currentEditorState;\n };\n\n const toggleInlineStyle = inlineStyle => {\n let newEditorState = setSelectionIfNone(getCurrentEditorState);\n\n if (/^fontSize\\.\\d{1,2}$/.test(inlineStyle)) inlineStyle += 'pt';\n // if the new style is a compound style type (fontFamily, fontSize, color, or backgroundColor) and the current style includes the same type,\n // remove the current matching style type before turning on the new style.\n const existingMatch = newEditorState\n .getCurrentInlineStyle() // getCurrentInlineStyle() returns an Immutable OrderedSet\n .filter(style => style.includes('.') && style.split('.')[0] === inlineStyle.split('.')[0]) // compound styles are dot-delimited e.g. fontFamily.Arial\n .toList()\n .get(0);\n if (existingMatch) {\n newEditorState = RichUtils.toggleInlineStyle(newEditorState, existingMatch);\n }\n\n // deal with style attributes imported from html as a string\n let key = kebabCase(Object.keys(customStyleMap[inlineStyle] ?? {})[0]);\n if (!key && inlineStyle.endsWith('.unset')) key = kebabCase(inlineStyle.split('.')[0]);\n newEditorState\n .getCurrentInlineStyle()\n .filter(style => style.includes(':'))\n .filter(style => key && style.includes(key))\n .forEach(style => {\n const rexp = new RegExp(`${key}:\\\\s+(.*?;+\\\\s+|.*$)`);\n const newString = style.replace(rexp, '');\n newEditorState = RichUtils.toggleInlineStyle(newEditorState, style); // remove the full style string\n newEditorState = RichUtils.toggleInlineStyle(newEditorState, newString); // add back the modified string with the conflicting style removed\n });\n\n if (inlineStyle.endsWith('unset')) {\n onChange(newEditorState);\n } else {\n onChange(RichUtils.toggleInlineStyle(newEditorState, inlineStyle));\n }\n };\n\n const toggleListType = listType => {\n if (RichUtils.getCurrentBlockType(getCurrentEditorState) === 'table') {\n return null;\n }\n const blockType = listType === 'BULLETLIST' ? 'unordered-list-item' : 'ordered-list-item';\n onChange(RichUtils.toggleBlockType(getCurrentEditorState, blockType));\n };\n\n const handleDeleteKey = () => {\n const selection = getCurrentEditorState.getSelection();\n const contentState = getCurrentEditorState.getCurrentContent();\n const startBlock = contentState.getBlockForKey(selection.getStartKey());\n const endBlock = contentState.getBlockForKey(selection.getEndKey());\n const nextBlock = contentState.getBlockAfter(endBlock.getKey());\n const endOffset = selection.getEndOffset();\n // prevent deleting entire table cell\n if (selection?.isCollapsed()) {\n const length = startBlock?.getLength();\n if (endOffset === length && nextBlock?.getType() === 'table') {\n return 'handled';\n } else {\n return 'not-handled';\n }\n } else {\n return handleKeypressWhenSelectionNotCollapsed();\n }\n };\n\n const toggleBlockData = newData => {\n const contentState = getCurrentEditorState.getCurrentContent();\n const selectionState = getCurrentEditorState.getSelection();\n const block = contentState.getBlockForKey(selectionState.getAnchorKey());\n let data = block.getData();\n Object.keys(newData).forEach(key => {\n if (data.get(key) === newData[key]) {\n data = data.remove(key);\n } else {\n data = data.merge(newData);\n }\n });\n const newContentState = Modifier.setBlockData(contentState, selectionState, data);\n onChange(EditorState.push(getCurrentEditorState, newContentState, 'change-block-data'));\n };\n\n const setIndent = (\n direction,\n newEditorState = getCurrentEditorState,\n listMax = 20,\n indentMax = 20,\n setDepth,\n ) => {\n const selectionState = newEditorState.getSelection();\n const contentState = newEditorState.getCurrentContent();\n const adjustment = direction === 'INDENT' ? 1 : -1;\n const startKey = selectionState.getStartKey();\n const endKey = selectionState.getEndKey();\n let blockMap = contentState.getBlockMap();\n const blocks = blockMap\n .toSeq()\n .skipUntil((_, k) => k === startKey)\n .takeUntil((_, k) => k === endKey)\n .concat([[endKey, blockMap.get(endKey)]])\n .map(block => {\n const depth = block.getDepth();\n const maxDepth = block.getType().includes('list-item') ? listMax : indentMax;\n const newDepth = setDepth !== undefined ? setDepth : Math.max(0, Math.min(depth + adjustment, maxDepth));\n return block.set('depth', newDepth);\n });\n\n blockMap = blockMap.merge(blocks);\n const newContentState = contentState.merge({\n blockMap,\n selectionBefore: selectionState,\n selectionAfter: selectionState,\n });\n newEditorState = EditorState.push(newEditorState, newContentState, 'adjust-depth');\n onChange(newEditorState);\n };\n\n const handleKeyCommand = (command, newEditorState) => {\n switch (command) {\n case 'backspace': {\n // removing images (\"atomic\" blocktype) with backspace requires special handling or the image tag and dataUrl can be left in the content but not visible.\n let contentState = newEditorState?.getCurrentContent();\n let selectionState = newEditorState?.getSelection();\n const startKey = selectionState.getStartKey();\n const offset = selectionState.getStartOffset();\n const collapsed = selectionState.isCollapsed();\n const blockBefore = contentState.getBlockBefore(startKey);\n const currentBlockType = RichUtils.getCurrentBlockType(newEditorState);\n if (collapsed && offset === 0 && blockBefore && blockBefore.getType() === 'atomic') {\n newEditorState = removeSizeDataFromBlock(newEditorState, blockBefore);\n newEditorState = EditorState.acceptSelection(newEditorState, selectionState);\n onChange(RichUtils.onBackspace(newEditorState));\n return 'handled';\n } else if (currentBlockType === 'atomic') {\n const currentBlock = contentState.getBlockForKey(startKey);\n newEditorState = removeSizeDataFromBlock(newEditorState, currentBlock);\n newEditorState = EditorState.acceptSelection(newEditorState, selectionState);\n newEditorState = RichUtils.onBackspace(newEditorState);\n contentState = newEditorState?.getCurrentContent();\n selectionState = newEditorState?.getSelection();\n const key = selectionState.getAnchorKey();\n let selection = SelectionState.createEmpty(key);\n selection = selection.set('focusOffset', 1) as SelectionState;\n contentState = Modifier.removeRange(contentState, selection, 'backward');\n onChange(EditorState.push(newEditorState, contentState, 'backspace-character'));\n return 'handled';\n } else if (currentBlockType === 'table' && collapsed && offset === 0) {\n return 'handled';\n } else if (currentBlockType !== 'table' && collapsed && blockBefore?.getType() === 'table' && offset === 0) {\n handleTabInTable('previous', true);\n return 'handled';\n } else if (collapsed && offset === 0 && blockBefore?.getType() === 'page-break') {\n let selection = SelectionState.createEmpty(blockBefore.getKey());\n /* eslint-disable new-cap */\n contentState = Modifier.setBlockData(contentState, selection, Map({}));\n contentState = Modifier.setBlockType(contentState, selection, 'unstyled');\n selection = selection.merge({\n focusKey: selectionState.getFocusKey(),\n focusOffset: 0,\n hasFocus: true,\n });\n contentState = Modifier.removeRange(contentState, selection, 'backward');\n onChange(EditorState.push(newEditorState, contentState, 'remove-range'));\n return 'handled';\n } else if (currentBlockType === 'page-break') {\n /* eslint-disable new-cap */\n contentState = Modifier.setBlockData(contentState, selectionState, Map({}));\n contentState = Modifier.setBlockType(contentState, selectionState, 'unstyled');\n let selection = selectionState;\n if (collapsed && contentState.getBlockAfter(startKey)) {\n selection = selection.merge({\n focusKey: contentState.getBlockAfter(startKey).getKey(),\n focusOffset: 0,\n hasFocus: true,\n });\n }\n contentState = Modifier.removeRange(contentState, selection, 'backward');\n onChange(EditorState.push(newEditorState, contentState, 'remove-range'));\n return 'handled';\n } else if (\n collapsed &&\n offset === 0 &&\n ['pasted-list-item', 'ordered-list-item', 'unordered-list-item'].includes(currentBlockType)\n ) {\n contentState = Modifier.setBlockType(contentState, selectionState, 'unstyled');\n onChange(EditorState.push(newEditorState, contentState, 'change-block-type'));\n return 'handled';\n } else if (!collapsed) {\n return handleKeypressWhenSelectionNotCollapsed(newEditorState);\n } else {\n return 'not-handled';\n }\n }\n case 'BOLD':\n toggleInlineStyle('BOLD');\n return 'handled';\n case 'bullet_list':\n toggleListType('BULLETLIST');\n return 'handled';\n case 'delete':\n return handleDeleteKey();\n case 'float_left':\n toggleBlockData({float: 'left'});\n return 'handled';\n case 'float_right':\n toggleBlockData({float: 'right'});\n return 'handled';\n case 'INDENT':\n setIndent('INDENT', getCurrentEditorState, 20, 20, null);\n return 'handled';\n case 'ITALIC':\n toggleInlineStyle('ITALIC');\n return 'handled';\n case 'ordered_list':\n toggleListType('ORDEREDLIST');\n return 'handled';\n case 'OUTDENT':\n setIndent('OUTDENT', getCurrentEditorState, 20, 20, null);\n return 'handled';\n case 'UNDERLINE':\n toggleInlineStyle('UNDERLINE');\n return 'handled';\n case 'shiftTab':\n return 'handled';\n case 'tab':\n return 'handled';\n default:\n return 'not-handled';\n }\n };\n\n const keyBindingFn = event => {\n // we press CTRL + K => return 'bbbold'\n // we use hasCommandModifier instead of checking for CTRL keyCode because different OSs have different command keys\n if (KeyBindingUtil.hasCommandModifier(event) && event.keyCode === 75) {\n return 'new-link';\n }\n // manages usual things, like:\n // Ctrl+Z => return 'undo'\n return getDefaultKeyBinding(event);\n };\n\n useEffect(() => {\n if (editor?.current?.editor && currentPage.isEditorFocus) {\n editor.current.editor.focus();\n currentPage.setIsEditorFocus(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentPage.isEditorFocus]);\n\n const oneClick = getSingleUrlParam('one_click');\n\n useEffect(() => {\n if (oneClick) {\n writeWithAi();\n }\n }, []);\n\n const debouncedChange = debounce((state: EditorState, isNewDecorations = false) => {\n // we are then calling the edit content method which will fire the API call and send new state to the BE\n editContent(state, isNewDecorations);\n }, 2000);\n\n const debouncedUpdate = useCallback(\n (state: EditorState, isNewDecorations) => debouncedChange(state, isNewDecorations),\n // eslint-disable-next-line\n []\n );\n\n const onEditorBlockTypeChange = (editorState: EditorState, isNewDecorations: boolean = false, prevSelection: SelectionState) => {\n setCurrentEditorState(editorState);\n\n // after desired block type is changed, we are returning cursor back to last known selection\n const prevEditorState = EditorState.forceSelection(editorState, prevSelection);\n setCurrentEditorState(prevEditorState);\n\n // We are comparing current editor state with udpated one to make sure the flow only triggers once there is an actual content change (adding removing of words, formatting, linkjng etc.)\n debouncedUpdate(prevEditorState, isNewDecorations);\n };\n\n const getCurrentBlock = editorState => {\n const currentSelection = editorState.getSelection();\n const blockKey = currentSelection.getStartKey();\n return (editorState.getCurrentContent().getBlockForKey(blockKey));\n };\n\n const handleChangeBlockType = value => {\n const prevSelection = getCurrentEditorState.getSelection();\n\n const block = getCurrentBlock(getCurrentEditorState);\n\n if (!block) return;\n const newSelection = new SelectionState({\n anchorKey: block.getKey(), // key of block\n anchorOffset: 0,\n focusKey: block.getKey(),\n focusOffset: 0, // key of block\n hasFocus: true,\n isBackward: false, // isBackward = (focusOffset < anchorOffset)\n });\n const newEditorState = EditorState.forceSelection(getCurrentEditorState, newSelection);\n onEditorBlockTypeChange(RichUtils.toggleBlockType(newEditorState, value), true, prevSelection);\n };\n\n const keysMap = {\n 'header-one': [17, 18, 49],\n 'header-two': [17, 18, 50],\n 'header-three': [17, 18, 51],\n 'header-four': [17, 18, 52],\n 'header-five': [17, 18, 53],\n 'header-six': [17, 18, 54],\n 'unstyled': [17, 18, 48],\n };\n\n const curPressKeys = [];\n\n const checkKey = e => {\n if (curPressKeys.length && curPressKeys[0] == 17 && curPressKeys[1] == 18) e.preventDefault();\n e = e || window.event;\n curPressKeys.push(e.keyCode);\n\n const multipleExist = (keysArray: string[]) => {\n return keysArray.every(value => {\n return curPressKeys.includes(value);\n });\n };\n\n Object.keys(keysMap).forEach(key => {\n if (multipleExist(keysMap[key])) {\n handleChangeBlockType(key);\n }\n });\n };\n\n const clearPressKeysArr = () => curPressKeys.length = 0;\n\n useEffect(() => {\n if (document) {\n document.addEventListener('keydown', checkKey);\n document.addEventListener('keyUp', clearPressKeysArr);\n\n return () => {\n document.removeEventListener('keydown', checkKey);\n document.removeEventListener('keyUp', clearPressKeysArr);\n };\n }\n });\n\n // document.onkeydown = checkKey;\n // document.onkeyup = () => curPressKeys.length = 0;\n\n const addHeroImage = () => {\n setIsUnspashDrawerOpen(true);\n setContentType('asHero');\n };\n\n const removeHeroImage = e => {\n e.stopPropagation();\n updateHeroImage(null, null);\n };\n\n const checkTitle = title => {\n const titleArray = title?.split(' ');\n if (titleArray[0] == 'New' && titleArray[1] == 'Document') {\n return false;\n } else {\n return true;\n }\n };\n\n const handleAddHeroImage = async () => {\n setAddHeroImageLoading(true);\n try {\n const uuid = router?.query?.uuid;\n if (content?.targetKeywordsCount > 0 || checkTitle(content?.title) || content?.cleanedHtml?.replace( /(<([^>]+)>)/ig, '') != '') {\n const res = await getHeroImageById(uuid);\n if (res) {\n setHeroImage(res, '');\n currentPage.loadPage(uuid as string, false);\n } else {\n notification.error('', 'Failed to AI Generate an image. Please try again.');\n }\n } else {\n notification.warning('You need to start writing Content or add at least one Target Keyword or add Title to get the Hero image', '');\n }\n } catch (error) {\n notification.error('', 'Failed to AI Generate an image. Please try again.');\n Promise.reject(error);\n }\n setAddHeroImageLoading(false);\n };\n\n useEffect(() => {\n const height = heroSection.current ? heroSection.current.offsetHeight : 250;\n if (lastScrollPosition > height) {\n editorContainer.current.scrollTo({\n top: lastScrollPosition,\n });\n }\n }, [getCurrentEditorState]);\n\n // used for pasting or dropping content into the editor\n const addHtmlToDocument = (newHtml, currentEditorState = getCurrentEditorState) => {\n if (!newHtml) return false;\n if (!currentEditorState.getCurrentContent().hasText()) {\n reset(newHtml);\n return true;\n } else {\n let newEditorState = convertHtmlToEditorState(newHtml);\n const newBlockMap = newEditorState.getCurrentContent().getBlockMap();\n\n const newContent = Modifier.replaceWithFragment(\n currentEditorState.getCurrentContent(),\n currentEditorState.getSelection(),\n newBlockMap,\n );\n newEditorState = EditorState.push(currentEditorState, newContent, 'insert-fragment');\n onChange(newEditorState);\n const currentEditor = editor.current;\n const hasFocus = getCurrentEditorState.getSelection().getHasFocus();\n setTimeout(() => {\n currentEditor?.blur();\n setTimeout(() => {\n if (hasFocus) {\n currentEditor?.focus();\n }\n });\n });\n return true;\n }\n };\n\n const html = useRef(null);\n\n const getEditorState = () => {\n return getCurrentEditorState;\n };\n\n\n const handleKeypressWhenSelectionNotCollapsed = (newEditorState = getCurrentEditorState, chars = '') => {\n let selection = newEditorState.getSelection();\n let content = newEditorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startBlock = content.getBlockForKey(startKey);\n const endKey = selection.getEndKey();\n const endBlock = content.getBlockForKey(endKey);\n const prevBlock = content.getBlockBefore(startKey);\n const nextBlock = content.getBlockAfter(endKey);\n const firstCell =\n startBlock.getType() === 'table' && selection.getStartOffset() === 0 && prevBlock?.getType() !== 'table';\n const firstTableKey = startBlock.getData().get('tableKey');\n const lastCell =\n endBlock.getType() === 'table' &&\n selection.getEndOffset() === endBlock.getLength() &&\n nextBlock?.getType() !== 'table';\n const lastTableKey = endBlock.getData().get('tableKey');\n const sameTable = firstTableKey === lastTableKey;\n\n if (startBlock === endBlock || (startBlock.getType() !== 'table' && endBlock.getType() !== 'table')) {\n return 'not-handled';\n }\n\n let blockMap = content.getBlockMap();\n const startOffset = selection.getStartOffset();\n const endOffset = selection.getEndOffset();\n let blocks = blockMap\n .toSeq()\n .skipUntil(v => v === startBlock)\n .takeUntil(v => v === nextBlock) // take up to but not including nextBlock\n .map(block => {\n let text;\n const type = block.getType();\n if (block === startBlock) {\n text = block.getText().slice(0, startOffset) + chars;\n return block.set('text', type === 'table' ? text || ' ' : text);\n }\n if (block === endBlock) {\n text = block.getText().slice(endOffset, block.getLength());\n return block.set('text', type === 'table' ? text || ' ' : text);\n }\n return block.set('text', type === 'table' ? ' ' : '');\n })\n .toOrderedMap();\n\n switch (true) {\n case startBlock.getType() !== 'table' && lastCell: // remove all selected blocks\n case firstCell && lastCell: // remove all selected blocks\n blockMap = blockMap.merge(blocks);\n blockMap = blockMap.filter(\n (block, key) => !blocks.has(key) || (block.getType() !== 'table' && block.getText()),\n );\n if (!blockMap.size) {\n const key = genKey();\n /* eslint-disable new-cap */\n blockMap = blockMap.merge([[key, new ContentBlock({key, type: 'unstyled', text: '', data: Map()})]]);\n }\n break;\n case firstCell && endBlock.getType() !== 'table': {\n // remove all selected blocks, but preserve inline style/entities in partial block after selection\n content = Modifier.removeRange(content, selection, 'backward');\n blockMap = content.getBlockMap();\n /* eslint-disable new-cap */\n const firstBlock = blockMap.first().set('type', 'unstyled').set('data', Map());\n blockMap = blockMap.merge([[firstBlock.getKey(), firstBlock]]);\n break;\n }\n case sameTable: {\n // clear cell contents in part of a table\n blocks = blocks.butLast();\n blockMap = blockMap.merge(blocks);\n let subSelection = SelectionState.createEmpty(endKey);\n subSelection = subSelection.merge({\n focusOffset: selection.getEndOffset(),\n });\n content = content.set('blockMap', blockMap);\n content = Modifier.removeRange(content, subSelection, 'backward');\n blockMap = content.getBlockMap();\n break;\n }\n case firstCell: {\n // remove selected blocks, but just clear contents of blocks matching lastTableKey\n const notLastTable = blocks.filter(block => block.getData().get('tableKey') !== lastTableKey);\n blockMap = blockMap.merge(blocks.butLast());\n blockMap = blockMap.filter((_, key) => !notLastTable.has(key));\n let subSelection = SelectionState.createEmpty(endKey);\n subSelection = subSelection.set('focusOffset', selection.getEndOffset()) as SelectionState;\n content = content.set('blockMap', blockMap);\n content = Modifier.removeRange(content, subSelection, 'backward');\n blockMap = content.getBlockMap();\n break;\n }\n case lastCell: {\n // clear contents of blocks matching firstTableKey & remove all other selected blocks\n const notFirstTable = blocks.filter(block => block.getData().get('tableKey') !== firstTableKey);\n blockMap = blockMap.merge(blocks);\n blockMap = blockMap.filter((_, key) => !notFirstTable.has(key));\n break;\n }\n case startBlock.getType() === 'table' && endBlock.getType() === 'table' && !sameTable: {\n // clear contents of firstTableKey & lastTableKey, & delete all blocks in between, but leave one empty block to separate the tables.\n const notTable = blocks.filter(block => !block.getData().get('tableKey'));\n const separatorBlock = notTable.first();\n blockMap = blockMap.merge(blocks.butLast());\n blockMap = blockMap.filter((_, key) => !notTable.has(key) || key === separatorBlock.getKey());\n blockMap = blockMap.merge([[separatorBlock.getKey(), separatorBlock.set('text', ' ')]]);\n let subSelection = SelectionState.createEmpty(endKey);\n subSelection = subSelection.set('focusOffset', selection.getEndOffset()) as SelectionState;\n content = content.set('blockMap', blockMap);\n content = Modifier.removeRange(content, subSelection, 'backward');\n blockMap = content.getBlockMap();\n break;\n }\n case startBlock.getType() !== 'table' && endBlock.getType() === 'table': {\n //\n if (prevBlock?.getType() === 'table') {\n const separatorBlock = blocks.first().set('text', ' ');\n blocks = blocks.merge([[separatorBlock.getKey(), separatorBlock]]);\n }\n blockMap = blockMap.merge(blocks.butLast());\n blockMap = blockMap.filter(block => block.getLength());\n let subSelection = SelectionState.createEmpty(endKey);\n subSelection = subSelection.set('focusOffset', selection.getEndOffset()) as SelectionState;\n content = content.set('blockMap', blockMap);\n content = Modifier.removeRange(content, subSelection, 'backward');\n blockMap = content.getBlockMap();\n break;\n }\n default: {\n // clear contents of firstTableKey, delete other blocks\n const notTableStart = blocks.find(block => !block.getData().get('tableKey')).getKey();\n const table = blocks.filter(block => block.getData().get('tableKey') === firstTableKey);\n blockMap = blockMap.merge(table);\n content = content.set('blockMap', blockMap);\n let subSelection = SelectionState.createEmpty(notTableStart);\n subSelection = subSelection.merge({\n focusKey: endKey,\n focusOffset: endOffset,\n });\n content = Modifier.removeRange(content, subSelection, 'backward');\n blockMap = content.getBlockMap();\n }\n }\n // create a new collapsed selection positioned where the former selection started\n const selectionKey = blockMap.has(startKey) ?\n startKey :\n blockMap.has(endKey) ?\n endKey :\n prevBlock?.getKey() || nextBlock?.getKey() || blockMap.first().getKey();\n selection = SelectionState.createEmpty(selectionKey);\n selection = selection.merge({\n anchorKey: selectionKey,\n anchorOffset: startOffset + chars.length,\n focusKey: selectionKey,\n focusOffset: startOffset + chars.length,\n });\n content = content.set('blockMap', blockMap);\n newEditorState = EditorState.push(newEditorState, content, 'remove-range');\n newEditorState = EditorState.forceSelection(newEditorState, selection);\n onChange(newEditorState);\n return 'handled';\n };\n\n const handlePastedText = (text, pastedHtml, editorState) => {\n // when pasting into a table cell only allow plain text\n // to be inserted or the table will become corrupted\n let content = editorState.getCurrentContent();\n const selection = editorState.getSelection();\n const block = content.getBlockForKey(selection.getStartKey());\n if (block.getType() === 'table') {\n if (selection.isCollapsed()) {\n content = Modifier.insertText(content, selection, text);\n } else {\n content = Modifier.replaceText(content, selection, text);\n }\n onChange(EditorState.push(editorState, content, 'insert-characters'));\n return true;\n }\n if (pastedHtml) {\n return addHtmlToDocument(pastedHtml, editorState);\n }\n return false;\n };\n\n const reset = newHtml => {\n if (newHtml === html.current) return;\n\n let newEditorState = convertHtmlToEditorState(newHtml);\n if (newHtml) {\n newEditorState = EditorState.moveFocusToEnd(newEditorState);\n } else if (newHtml === null) {\n newEditorState = moveSelectionToStart(newEditorState);\n }\n onChange(newEditorState);\n // Resetting forces the editor to take focus, so here we check if the editorState\n // had focus before the reset() and if not then remove focus again.\n // Also keep the contenteditable state in sync with because\n // reset() leaves all contenteditable === true.\n const hasFocus = getCurrentEditorState.getSelection().getHasFocus();\n const currentEditor = editor.current;\n setTimeout(() => {\n currentEditor?.blur();\n setTimeout(() => {\n if (hasFocus) {\n currentEditor?.focus();\n }\n });\n });\n };\n\n\n const moveSelectionToStart = currentEditorState => {\n let selection = currentEditorState.getSelection();\n const content = currentEditorState.getCurrentContent();\n const firstBlock = content.getFirstBlock();\n const key = firstBlock.getKey();\n selection = SelectionState.createEmpty(key);\n return EditorState.forceSelection(currentEditorState, selection);\n };\n\n\n const blockRendererFn = myBlockRenderer(editor.current, getEditorState, onChange);\n const writeWithAi = () => {\n setIsOpenAiWriterDrawer(true);\n setAiWriter({\n showForm: true,\n templateUsed: 'new-ai-writer',\n templateIcon: 'hand-write-icon-color.svg',\n templateName: 'Complete SEO Article',\n templateDesc: 'Generate a full article from just a keyword (topic) or customize the article based on your ranking goals.',\n isStandaloneTool: false,\n });\n setAiTemplate({\n ...toJS(aiTemplatesController ?? []),\n isUseMask: true,\n });\n };\n\n\n return (\n <>\n {newPage && }\n {/* when calculating height we are taking in fixed height of top page header and toolbox and page-status and add dynamic target keywords container height */}\n {\n // This is done to hide top bar if we scroll the editor enough\n const scrollTop = editorContainer.current.scrollTop;\n setLastScrollPosition(scrollTop);\n if (scrollTop >= offsetBreakPoint && !isEditorScrolled) {\n setIsEditorScrolled(true);\n } else if (scrollTop < 50 && isEditorScrolled) {\n setIsEditorScrolled(false);\n }\n }}\n className={classNames(styles.editor, currentPage?.isExportingPage && styles.expandedEditor, getZoomLevel())}\n style={{height: `calc(100vh - (${currentPage?.editorHeightOffset.breadcrumbHeight || 0}px + ${currentPage?.editorHeightOffset.keywordsHeight || 0}px - ${windowHeight > 800 ? 30 : 50}px + ${isEditorScrolled ? 47 : 111}px))`}}>\n\n
\n
\n
\n
\n
\n
Try out the most Powerful SEO AI Writer
\n
Generate a full article from a keyword or topic in just a few clicks.
\n
\n
\n
\n
\n
\n \n {isHeroImageLoading || addHeroImageLoading ?\n :\n heroImage ?\n
\n \n \n
\n \n trigger}>\n \n \n \n \n trigger}>\n \n \n \n \n trigger}>\n \n \n \n \n \n
\n {/* */}\n {/* */}\n
:\n \n
\n \n
\n
\n
\n Click here to AI Generate a Hero Image\n
\n
\n \n }\n
\n
\n
\n {aiInProgress ?\n \n
\n
\n \n {aiInProgress ? `Generated AI Content will be added to this article soon ${aiOutline?.shouldPopulatePageHtml ?' (overwriting any existing content)': ''}.` : ''}\n\n
\n
\n
:\n null}\n {/* {!showAiBanner && !currentPage.isTaActive && isLinkgraph?\n
setIsOpenAiWriterDrawer(true)}>\n \n
\n
{`New AI writer (alpha)`}
\n
\n
: null} */}\n {/* {!showAiBanner && !currentPage.isTaActive ?\n
setIsOpenAiContentToolsDrawer(true)}>\n \n
\n
Need help writing?
\n
Try AI Content Writer
\n
\n
: null} */}\n\n\n {!newPage && <>\n {\n if (isInitialEditorStateFetched) {\n const scrollY = editorContainer.current?.scrollTop;\n const height = heroSection.current ? heroSection.current.offsetHeight : 250;\n if (scrollY > height) {\n setLastScrollPosition(scrollY);\n }\n onChange(draftEditorState);\n }\n }}\n editorState={getCurrentEditorState as EditorState}\n placeholder={aiInProgress ? '' : t('start-writing-own-content')}\n customStyleMap={styleMap}\n blockStyleFn={customBlockStyleFn}\n handleKeyCommand={handleKeyCommand}\n keyBindingFn={keyBindingFn}\n blockRendererFn={blockRendererFn}\n handlePastedText={(text, html, editorState) => handlePastedText(text, html, editorState) ? 'handled' : 'not-handled'}\n />\n \n }\n \n \n );\n },\n);\n\nconst HeroImageWrapper = styled.div`\n height: auto;\n background: #fff;\n padding: 20px 25px 0 25px;\n width: 816px;\n margin-Top: 0px;\n cursor: auto;\n\n .button {\n visibility: hidden;\n :hover {\n visibility: visible;\n }\n }\n\n :hover .button {\n visibility: visible;\n }\n`;\n\nconst AiBanner = styled.div`\n height: auto;\n background: #fff;\n padding: 20px 25px 0 25px;\n width: 816px;\n margin-top: 0px;\n \n .container {\n background: rgb(255, 133, 54, 0.15);\n padding: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 15px;\n }\n`;\n\nconst HeroSection = styled.div`\n width: 100%;\n position: relative;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0);\n border-radius: 12px;\n transition: 0.3s;\n }\n\n &:hover::before {\n background-color: rgba(0, 0, 0, 0.2);\n }\n`;\n\nconst HeroImage = styled.img`\n width: 100%;\n border-radius: 12px;\n`;\n\nconst ButtonsContainer = styled.div`\n position: absolute;\n top: 10px;\n left: 10px;\n display: flex;\n gap: 10px;\n`;\n\nconst ButtonWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgb(255, 255, 255, 0.4);\n color: white;\n width: 32px;\n height: 32px;\n border-radius: 4px;\n cursor: pointer;\n`;\n","import {Avatar, Select} from 'antd';\nimport React, {useState} from 'react';\n\nimport styles from './style.module.scss';\nimport {CaretDownFilled} from '@ant-design/icons';\nimport {useTranslation} from 'next-i18next';\nimport {opaqueColor} from '@/utils/colors';\nimport classNames from 'classnames';\n\ninterface UserProps {\n avatar: string;\n email: string;\n isOwner?: boolean;\n permission?: string;\n onPermissionChange?: (email: string, permission: string, closeAfterSubmit?: boolean) => void;\n}\n\nconst {Option} = Select;\n\nexport const User: React.FC = ({\n avatar,\n email,\n isOwner,\n permission,\n onPermissionChange,\n}) => {\n const {t} = useTranslation('common');\n\n const [activePermission, setActivePermission] = useState(permission);\n\n return (\n
\n
\n {avatar}\n
\n
\n

{email}

\n
\n {!isOwner ? {\n setActivePermission(value);\n onPermissionChange(email, value, false);\n }}\n suffixIcon={}\n className={classNames(styles.customSelect, styles.individualCustomSelect)}>\n \n \n \n :
Owner
}\n
\n );\n};\n\n\n","import React, {useState} from 'react';\nimport {Modal} from '@/components/common-components/components/modal';\nimport {CommonInput} from '@/components/common-components/components';\nimport {Button as V2Button, GrayButton} from '@/components/common-components/v2/Button';\nimport {Select, notification, Divider} from 'antd';\nimport {CaretDownFilled} from '@ant-design/icons';\nimport {observer} from 'mobx-react-lite';\n\n\n// Stylesheets\nimport styles from './style.module.scss';\nimport {useStore} from '@/store/root-store';\nimport {User} from './user';\nimport {useTranslation} from 'next-i18next';\nimport {SCA_PAGE_SHARED} from '@/constants/events';\nimport styled from 'styled-components';\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faXmark} from '@fortawesome/pro-regular-svg-icons';\nimport {emailReg} from '@/constants/regex';\nconst {Option} = Select;\n\nconst ShareModal: React.FC = observer(() => {\n const {\n contentOptimizer: {\n currentPage: {content, shareDialog, pagePermissions},\n },\n } = useStore('');\n const [email, setEmail] = useState('');\n const [permission, setPermission] = useState<'edit'>('edit');\n const [globalPermission, setGlobalPermission] = useState<'edit' | 'view'>(pagePermissions.isEditableByAnyone ? 'edit' : 'view');\n const {t} = useTranslation('common');\n\n const handlePermissionChange = (value: 'edit') => {\n setPermission(value);\n };\n\n const handleGlobalPermissionsUpdate = async (value: 'view' | 'edit') => {\n const existingPermission = pagePermissions?.isEditableByAnyone ? 'edit' : 'view';\n const existingViewPermission = pagePermissions?.isViewableByAnyone;\n\n const payload = {\n isEditableByAnyone: value == 'edit',\n isViewableByAnyone: value == 'view',\n };\n\n navigator.clipboard.writeText(location?.href?.replace('seo-content-assistant', 'seo-content-assistant-public'));\n\n // only call for updating global page permission if option has been change from default\n if ((!existingPermission && value) || !existingViewPermission || (existingPermission !== value)) {\n await pagePermissions.editPagePermissions(payload);\n } else {\n notification.success({message: 'Public page URL is copied to clipboard.'});\n }\n // if existing global page permission is not changed, show copy notification\n shareDialog.closeDialog();\n setEmail('');\n\n MixPanel.track(SCA_PAGE_SHARED, {\n 'pageId': content.uuid,\n 'description': 'Page was shared',\n });\n };\n\n const handleInviteUser = (email, permission, closeAfterSubmit = true) => {\n if (email) {\n pagePermissions.editPagePermissions({emails: [email], permission});\n if (closeAfterSubmit) shareDialog.closeDialog();\n setEmail('');\n\n MixPanel.track(SCA_PAGE_SHARED, {\n 'pageId': content.uuid,\n 'description': 'Page was shared',\n });\n } else {\n notification.warn({message: t('looks-like-forgot')});\n }\n };\n\n return (\n shareDialog.closeDialog()}\n width={400}\n destroyOnClose={true}\n closeIcon={}\n bodyStyle={{padding: '27px 20px'}}>\n \n PEOPLE WITH ACCESS\n \n \n setEmail(e?.target?.value)}\n className={styles.customInput}\n variant='transparent'\n placeholder='Email address'/>\n }\n className={styles.customSelect}>\n \n \n \n \n handleInviteUser(email, permission)}>Send\n \n
\n {(email?.length && email?.match(emailReg)) ? null : !email?.length ? null : Please enter a valid email address}\n
\n\n \n
    \n
  • \n \n
  • \n {\n pagePermissions.users?.sort().map(user => {\n return (\n
  • \n \n
  • \n );\n })\n }\n
\n \n \n GENERAL SETTINGS\n
\n setGlobalPermission(value)}\n suffixIcon={}\n className={styles.customGeneralSelect}>\n \n \n \n handleGlobalPermissionsUpdate(globalPermission)}\n >\n Copy link\n \n
\n\n\n
\n
\n );\n});\n\nexport default ShareModal;\n\nconst ModalStyled = styled(Modal)`\nmargin-top: auto;\nmargin-bottom: auto;\n\n.rc-dialog-body {\n padding: 27px 20px !important;\n\n\n}\n\n.rc-dialog-close {\n right: -30px !important;\n opacity: .5;\n\n svg {\n color: #fff;\n }\n}\n\n`;\nconst Container = styled.div`\n\n`;\nconst Title = styled.div`\n font-size: 12px;\n font-weight: 600;\n color: #121212;\n margin-bottom: 10px;\n`;\nconst Head = styled.div`\n display: flex;\n\n`;\nconst Body = styled.div`\n display: flex;\n min-height: 250px;\n\n`;\nconst Footer = styled.div`\n display: flex;\n justify-content: space-between;\n\n`;\nconst InputContainer = styled.div`\n border: 1px solid #E8E8E8;\n border-radius: 5px;\n background-color: #f9f9f9;\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 32px;\n`;\nconst EmailError = styled.div`\n color: #ff5959;\n font-size: 12px;\n font-weight: 400;\n`;\n\n\n","import {LoadingOutlined} from '@ant-design/icons';\nimport {useStore} from '@/store/root-store';\nimport {Button} from '@/components/common-components/components';\nimport styles from '../../../content-editor.module.scss';\nimport {Popover, Spin, Tooltip} from 'antd';\nimport {EditorState, Modifier, RichUtils} from 'draft-js';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faAngleRight, faArrowsRotate, faFeather, faLink} from '@fortawesome/pro-solid-svg-icons';\nimport {faCheck, faCopy, faEarthAmerica, faLinkSimpleSlash, faPen} from '@fortawesome/pro-regular-svg-icons';\nimport 'firebase/database';\nimport {Input, Button as ButtonV2} from '@/components/common-components/v2';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {faCircleInfo} from '@fortawesome/pro-light-svg-icons';\nimport classNames from 'classnames';\nimport {createCompositeDecorators} from '../decorators';\nimport {useState} from 'react';\nimport {NextImg} from '@/utils/nextImg';\n\n\ninterface Props {\n onChange: (editorState: EditorState, isNewDecorations: boolean) => void;\n insertText: () => void;\n replaceText: () => void;\n}\n// eslint-disable-next-line\nexport const AiTooltip = observer(({onChange, insertText, replaceText}: Props) => {\n const {contentOptimizer: {currentPage, contentFragment}} = useStore('');\n const antIcon = ;\n const [activeOption, setActiveOption] = useState('');\n const [urlCopy, setUrlCopy] = useState(false);\n /**\n * Method that will call different action depending on user selection from dropdown menu\n * @param {string} action used to call different actions on different items in dropdown menu\n * @returns {void}\n */\n\n const fetchAndInsertText = async (action: 'insert' | 'copy' | 'replace') => {\n if (!currentPage.aiTooltip.selectedText || !action) return;\n\n try {\n if (action === 'replace') {\n await contentFragment.fetchFragment(currentPage.aiTooltip.selectedText, true);\n } else {\n await contentFragment.fetchFragment(currentPage.aiTooltip.selectedText);\n }\n\n\n // if (action === 'replace') {\n // replaceText();\n // }\n\n\n if (action === 'insert' || action === 'replace') {\n insertText();\n }\n\n if (action === 'copy') {\n currentPage.setAiTooltip({...currentPage.aiTooltip, show: false});\n if (contentFragment?.fragment?.html) {\n navigator.clipboard.writeText(contentFragment?.fragment?.html);\n currentPage.setIsCopy(true);\n\n setTimeout(() => {\n currentPage.setIsCopy(false);\n }, 5000);\n }\n }\n } catch (e) {\n currentPage.setAiTooltip({...currentPage.aiTooltip, show: false});\n Promise.reject(e);\n }\n };\n\n /**\n * Method that is called when users decide to remove a link from selection\n */\n\n const onLinkRemove = () => {\n if (!currentPage?.aiTooltip?.updatedSelection?.isCollapsed()) {\n onChange(RichUtils.toggleLink(currentPage.currentEditorState, currentPage.aiTooltip.updatedSelection, null), true);\n currentPage.setAiTooltip({show: false});\n }\n };\n\n /**\n * Method that is called when users decide to add link to selection\n */\n\n const sendTextToEditor = () => {\n insertLinkToText();\n // onChange(contentState, true);\n // currentPage.setAiTooltip({\n // ...currentPage.aiTooltip,\n // isLinkEdit: false,\n // urlValue: '',\n // textValue: '',\n // });\n };\n\n\n /**\n * Method that will find seelcted text and add url to it\n * It replaces selection with a new entity that we made using selected text and adding link to it\n * @return {EditorState} new editor state that was created including new url and new selectior location\n */\n const insertLinkToText = () => {\n const decorator = createCompositeDecorators(currentPage.focusTermsClassNames);\n const currentContent = currentPage.currentEditorState.getCurrentContent();\n\n const urlPattern = /^((http|https):\\/\\/)/;\n\n const formatUrl = urlPattern.test(currentPage.aiTooltip.urlValue) ? currentPage.aiTooltip.urlValue : `http://${currentPage.aiTooltip.urlValue}`;\n\n const newContentWithEntity = currentContent.createEntity(\n 'LINK',\n 'MUTABLE',\n {url: formatUrl},\n );\n\n const entityKey = newContentWithEntity.getLastCreatedEntityKey();\n\n const selection = currentPage.aiTooltip.updatedSelection;\n\n const newNewContent = Modifier.replaceText(\n currentContent,\n selection,\n currentPage.aiTooltip.textValue,\n null,\n entityKey,\n );\n\n const withLinkText = EditorState.createWithContent(\n newNewContent,\n decorator,\n );\n\n const withProperCursor = EditorState.forceSelection(\n withLinkText,\n withLinkText.getCurrentContent().getSelectionAfter(),\n );\n\n if (selection.isCollapsed()) {\n onChange(withProperCursor, true);\n } else {\n onChange(RichUtils.toggleLink(currentPage.currentEditorState, currentPage.aiTooltip.updatedSelection, entityKey), true);\n }\n\n\n currentPage.setAiTooltip({...currentPage.aiTooltip, isLinkEdit: false});\n return withProperCursor;\n };\n\n const CopiedData = () => {\n if (!currentPage.aiTooltip.selectedText) return;\n navigator.clipboard.writeText(currentPage.aiTooltip.urlValue ? currentPage.aiTooltip.urlValue : currentPage.aiTooltip.selectedText);\n setUrlCopy(true);\n setTimeout(() => {\n setUrlCopy(false);\n }, 5000);\n };\n\n return 180 ? currentPage.aiTooltip.bottom + 15 : currentPage.aiTooltip.top - 190,\n\n // currentPage.content?.internalLinkSuggestions?.filter(link => link.keyword.toLowerCase() === currentPage.aiTooltip?.textValue?.trim().toLowerCase())[0] ? currentPage.aiTooltip.top - 190 : currentPage.aiTooltip.top - 150,\n left: currentPage.aiTooltip.left + ((currentPage.aiTooltip.width / 2) - 150)}}\n >\n {!currentPage.aiTooltip.isLinkEdit ?
\n
\n \n
\n \n

{currentPage.aiTooltip.textValue}

\n
\n\n {currentPage.aiTooltip.urlValue &&

{currentPage.aiTooltip.urlValue}

}\n
\n
\n
\n \n \n \n {\n e.stopPropagation();\n currentPage.setAiTooltip({...currentPage.aiTooltip, isLinkEdit: true});\n }}/>\n {currentPage.aiTooltip.isLink && onLinkRemove()}/>}\n
\n
:\n
\n
\n

Text

\n e.stopPropagation()}\n onChange={e => currentPage.setAiTooltip({\n ...currentPage.aiTooltip,\n textValue: e.target.value,\n })}\n type='text'\n value={currentPage.aiTooltip.textValue}\n placeholder='Add text'\n className={styles.urlInput}\n />\n e.stopPropagation()}\n onChange={e => currentPage.setAiTooltip({\n ...currentPage.aiTooltip,\n urlValue: e.target.value,\n })}\n type='text'\n value={currentPage.aiTooltip.urlValue}\n style={{marginBottom: '0px'}}\n className={styles.urlInput}\n placeholder='Paste a link'\n />\n
\n
\n currentPage.setAiTooltip({...currentPage.aiTooltip, isLinkEdit: false})} className={styles.inputControlls} style={{paddingLeft: 14}}>\n Cancel\n \n \n \n Apply\n \n \n
\n
}\n {\n e.stopPropagation();\n setActiveOption('insert');\n fetchAndInsertText('insert');\n }}>\n {(contentFragment.fragmentLoading && activeOption === 'insert') ? : }\n Write a new Paragraph for me\n \n word != '')?.length > 199 ? '#A3A4A4': '#121212', fontSize: 14}}\n disabled={contentFragment.fragmentLoading || (currentPage.aiTooltip?.selectedText?.split(' ')?.filter(word => word != '')?.length > 199)}\n onClick={e => {\n e.stopPropagation();\n setActiveOption('replace');\n fetchAndInsertText('replace');\n }}>\n {(contentFragment.fragmentLoading && activeOption === 'replace') ? : }\n {currentPage.aiTooltip?.selectedText?.split(' ')?.filter(word => word != '')?.length > 199 ? 'Select less than 200 words to rewrite' : 'Rewrite the Selected Text for me'}\n \n {\n e.stopPropagation();\n setActiveOption('copy');\n fetchAndInsertText('copy');\n }}>\n {(contentFragment.fragmentLoading && activeOption === 'copy') ? : }\n Write Paragraph & Copy to Clipboard\n \n {currentPage.content?.internalLinkSuggestions?.filter(link => link.keyword.toLowerCase() === currentPage.aiTooltip?.textValue?.trim().toLowerCase())[0] &&\n \n \n \n Click on any Suggestion to Link it to the selected text\n \n {currentPage.content?.internalLinkSuggestions?.filter(link => link.keyword.toLowerCase() === currentPage.aiTooltip?.textValue?.trim().toLowerCase())[0]?.results?.map((suggestion, id) => (\n id < 10 && {\n currentPage.setAiTooltip({\n ...currentPage.aiTooltip,\n urlValue: suggestion.url,\n });\n sendTextToEditor();\n }}>\n \n {suggestion.title}\n \n {suggestion?.url}\n \n \n \n \n \n \n ))\n }\n }>\n \n \n Internal Link Suggestions\n \n \n }\n ;\n});\n\n\nconst SingleLinkContainer = styled.div`\n margin-bottom: 12px;\n display: flex;\n justify-content: space-between;\n cursor: pointer;\n`;\nconst SuggestionsTitle = styled.span`\n display: inline-block;\n font-size: 12px;\n margin-left: 10px;\n`;\nconst SuggestionsContainerTitle = styled.div`\n padding: 5px 12px;\n background-color: #f9f9fb;\n border: 1px solid #e8e8e8;\n margin-bottom: 10px;\n`;\nconst SuggestionsMenuItem = styled.div`\n margin: 10px 0 5px 10px !important;\n cursor: pointer;\n width: 290px;\n font-size: 14px;\n displaye: flex;\n`;\nconst Left = styled.div`\n width: 85%;\n`;\nconst Right = styled.div`\n // width: 20%;\n`;\nconst Title = styled.div`\n cursor: pointer;\n color: #121212 !important;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis\n`;\nconst Link = styled.a`\n font-size: 12px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n`;\n\n","import {insertImage} from '@/utils/editor-scripts';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {useEffect} from 'react';\nimport styles from '../../style.module.scss';\n\n\ninterface Props {\n onChange: (editorState: any) => any;\n store: CurrentPageStore;\n contentType: string;\n}\n\nexport const Unsplash = ({onChange, store, contentType}: Props) => {\n const UNSPLASH_ACCESS_KEY = '420741e2ab2cac6791ea245e6c504e359bd3b5b7ced07e96d9e08babe9e1fa6d';\n const {updateHeroImage} = store;\n\n let UnsplashReact = null;\n let namedExports = null;\n if (typeof window === 'object') {\n UnsplashReact = require('unsplash-react').default;\n namedExports = require('unsplash-react');\n // { Base64Uploader, withDefaultProps } = namedExports;\n }\n\n\n useEffect(() => {\n const searchInput = document.querySelectorAll('.f-1');\n if ( searchInput[0]) {\n (searchInput[0] as HTMLInputElement).placeholder= `Try \"dog\" or \"apple\"`;\n }\n // setTimeout(() => {\n // const imageGrid = document.querySelectorAll('.unsplash-react__image-grid');\n // if (imageGrid[0]) {\n // const labels = imageGrid[0].querySelectorAll('.d-f');\n // labels.forEach(label => {\n // (label as HTMLElement).style.display = 'none';\n // })\n // }\n // }, 1000)\n }, []);\n\n const onAddImage = imageUrl => {\n if (contentType == 'asHero') {\n updateHeroImage(imageUrl, '');\n } else {\n onImageUpload(imageUrl);\n }\n };\n\n const onImageUpload = imageUrl => {\n const newEditorState = insertImage(store.currentEditorState, imageUrl);\n onChange(newEditorState);\n };\n\n\n return (
\n {UNSPLASH_ACCESS_KEY ? onAddImage(imageUrl)}\n /> : null}\n
\n\n );\n};\n","import {useStore} from '@/store/root-store';\nimport styles from '../../style.module.scss';\nimport {observer} from 'mobx-react';\nimport {Unsplash} from './Unsplash';\nimport styled from 'styled-components';\nimport {Radio, RadioChangeEvent} from 'antd';\n\ninterface Props {\n onChange: (editorState: any) => any;\n}\n\nexport const FreeStockTab = observer(({onChange}: Props) => {\n const {contentOptimizer: {currentPage}} = useStore('');\n const {contentType, setContentType} = currentPage;\n\n const onContentTypeChange = (e: RadioChangeEvent) => {\n setContentType(e.target.value);\n };\n\n return (\n <>\n
\n
\n Add Image\n
\n

Click on the image to add it to editor.

\n
\n Content type:\n \n To Article\n As Hero\n \n
\n \n\n
\n \n );\n});\n\nconst RadioStyled = styled(Radio)`\n .ant-radio-checked .ant-radio-inner {\n background-color: #7f4ead !important;\n border-color: #7f4ead !important;\n\n &::after {\n background-color: #fff !important;\n }\n }\n`;\n","import {useEffect, useRef, useState} from 'react';\nimport styled from 'styled-components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCheck} from '@fortawesome/pro-solid-svg-icons';\nimport {copyIconWhite, viewImageCheck2} from '@/utils/icons';\nimport {Col, Spin} from 'antd';\nimport {SkeletonRingLoader} from '@/components/common-components';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport {insertImage} from '@/utils/editor-scripts';\nimport {LoadingOutlined} from '@ant-design/icons';\n\n\nexport const ImageComponent = observer(({data, idx, setImagesList, onChange, store, historyCopyStatus, setShowSelectedHistoryImage, setShowHistoryImage, rootElement, setImagesAddedCount, imagesAddedCount}) => {\n const ref = useRef(null);\n const observer = useRef(null);\n const antIcon = ;\n const [elemIdx, setElemIdx] = useState(0);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [imagesLoadedCount, setImagesLoadedCount] = useState(0);\n\n const {\n contentOptimizer: {\n currentPage: {\n setShowAddHeroCheck,\n setShowAddToArticleCheck,\n setShowCopiedCheck,\n showAddHeroCheck,\n showAddToArticleCheck,\n showCopiedCheck,\n updateHeroImage,\n isHeroImageLoading,\n },\n aiOutline: {\n templatesHistory,\n },\n },\n } = useStore('');\n\n useEffect(() => {\n const currentElement = ref.current;\n if (currentElement) {\n observer.current = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.intersectionRatio > 0.2) {\n observer.current.unobserve(currentElement);\n const imagesLoading = templatesHistory?.slice(imagesAddedCount, imagesAddedCount+20).map(item => {\n return {...item, loading: true};\n }) || [];\n setImagesList(imageList => {\n const images = imagesLoading?.filter(item => !imageList?.map(image => image.id).includes(item?.id)) || [];\n setImagesAddedCount(images?.length + imageList.length);\n return [...imageList, ...images];\n });\n }\n });\n },\n {\n root: rootElement.current,\n threshold: [0, 0.5, 1],\n },\n );\n\n observer.current.observe(currentElement);\n }\n\n return () => {\n observer.current.unobserve(currentElement);\n };\n }, [ref]);\n\n const handleHistoryImageCopyClick = link => {\n if (navigator.clipboard) {\n navigator.clipboard.writeText(link);\n } else {\n // Fallback for browsers that don't support the Clipboard API\n document.execCommand('copy');\n }\n setShowCopiedCheck(true);\n };\n\n const onImageUpload = (imageUrl, alt) => {\n const newEditorState = insertImage(store.currentEditorState, imageUrl, alt);\n onChange(newEditorState);\n setShowAddToArticleCheck(true);\n };\n\n const onAddImage = item => {\n onImageUpload(item?.result, item.inputs[0]?.fieldValue);\n };\n\n const selectedHistoryImageAdd = (index: any) => {\n setShowHistoryImage(true);\n setShowSelectedHistoryImage(index);\n };\n\n const imgOnLoad = id => {\n setImagesList(imageList => {\n for (let i = 0; i < imageList.length; i++) {\n if (imageList[i].id === id) {\n imageList[i].loading = false;\n break; // Stop the loop once the item is found and updated\n }\n }\n setImagesLoadedCount(imageList.filter(item => item.loading == false).length);\n return imageList;\n });\n };\n\n const onMouseLeave = () => {\n setShowAddToArticleCheck(false);\n setShowAddHeroCheck(false);\n setShowCopiedCheck(false);\n };\n\n return \n
onMouseLeave()} onMouseOver={() => setElemIdx(idx)}>\n {data?.loading && }\n \n imgOnLoad(data?.id)}\n />\n
\n \n \n \n \n \n
{data?.inputs[0]?.fieldValue}
\n
\n ;\n});\n\n\nconst ColCardImage = styled.img<{hide?: boolean}>`\n display: ${p => p?.hide ? 'none' : ''};\n width: 100%;\n border-radius: 12px;\n cursor: pointer;\n background-color: #000000;\n`;\n\nconst ColCardContainer = styled.div<{hide?: boolean}>`\n display: ${p => p?.hide ? 'none' : ''};\n position: relative;\n cursor: pointer;\n\n .overlay {\n display: ${p => p?.hide ? 'none' : ''};\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0);\n }\n\n /* Style for the button Article Btn */\n .add-to-atricle-btn {\n display: ${p => p?.hide ? 'none' : ''};\n position: absolute;\n top: 28%;\n left: 74%;\n transform: translate(-50%, -50%);\n background-color: rgba(255, 255, 255, 0.3);\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n opacity: 0; /* Initially hidden */\n width: 80px;\n height: 28px;\n font-size: 10px;\n line-height: 10px;\n font-weight: 400;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n /* Black transparent overlay */\n &::before {\n display: ${p => p?.hide ? 'none' : ''};\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 12px;\n background-color: rgba(0, 0, 0, 0);\n }\n\n /* Show the button on hover */\n &:hover .add-to-atricle-btn {\n display: ${p => p?.hide ? 'none' : ''};\n opacity: 1;\n }\n\n .add-to-atricle-btn:hover {\n display: ${p => p?.hide ? 'none' : ''};\n background-color: rgba(255, 255, 255, 0.2);\n }\n\n &:hover::before {\n display: ${p => p?.hide ? 'none' : ''};\n background-color: rgba(0, 0, 0, 0.8);\n }\n\n /* Style for the button Copy Btn */\n .copy-button {\n display: ${p => p?.hide ? 'none' : ''};\n position: absolute;\n top: 72%;\n left: 26%;\n transform: translate(-50%, -50%);\n background-color: rgba(255, 255, 255, 0.3);\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n opacity: 0;\n width: 80px;\n height: 28px;\n font-size: 10px;\n line-height: 10px;\n font-weight: 400;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n /* Show the button on hover */\n &:hover .copy-button {\n display: ${p => p?.hide ? 'none' : ''};\n opacity: 1;\n }\n\n .copy-button:hover {\n display: ${p => p?.hide ? 'none' : ''};\n background-color: rgba(255, 255, 255, 0.2);\n }\n\n /* Style for the button Article Btn */\n .add-as-hero-btn {\n display: ${p => p?.hide ? 'none' : ''};\n position: absolute;\n top: 28%;\n left: 26%;\n transform: translate(-50%, -50%);\n background-color: rgba(255, 255, 255, 0.3);\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n opacity: 0;\n width: 80px;\n height: 28px;\n font-size: 10px;\n line-height: 10px;\n font-weight: 400;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n /* Black transparent overlay */\n &::before {\n display: ${p => p?.hide ? 'none' : ''};\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 12px;\n background-color: rgba(0, 0, 0, 0);\n transition: background-color 0.3s ease;\n }\n\n /* Show the button on hover */\n &:hover .add-as-hero-btn {\n display: ${p => p?.hide ? 'none' : ''};\n opacity: 1;\n }\n\n .add-as-hero-btn:hover {\n display: ${p => p?.hide ? 'none' : ''};\n background-color: rgba(255, 255, 255, 0.2);\n }\n\n &:hover::before {\n display: ${p => p?.hide ? 'none' : ''};\n background-color: rgba(0, 0, 0, 0.8);\n }\n\n /* Style for the button Copy Btn */\n .view-button {\n display: ${p => p?.hide ? 'none' : ''};\n position: absolute;\n top: 72%;\n left: 74%;\n transform: translate(-50%, -50%);\n background-color: rgba(255, 255, 255, 0.3);\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n opacity: 0;\n width: 80px;\n height: 28px;\n font-size: 10px;\n line-height: 10px;\n font-weight: 400;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n /* Show the button on hover */\n &:hover .view-button {\n display: ${p => p?.hide ? 'none' : ''};\n opacity: 1;\n }\n\n .view-button:hover {\n display: ${p => p?.hide ? 'none' : ''};\n background-color: rgba(255, 255, 255, 0.2);\n }\n`;\n","import {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {useState, useEffect, useRef} from 'react';\nimport {Card, Col, Row} from 'antd';\nimport {SkeletonRingLoader} from '@/components/common-components';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {ImageComponent} from './imageComponent';\n\ninterface Props {\n historyCopyStatus?: any;\n onChange: (editorState: any) => any;\n store: CurrentPageStore;\n buttonTitle: any;\n setShowSelectedHistoryImage: any;\n setShowHistoryImage: any;\n}\n\nexport const ImageListComponent = observer(({onChange, store, historyCopyStatus, buttonTitle, setShowSelectedHistoryImage, setShowHistoryImage}: Props) => {\n const {\n contentOptimizer: {\n aiOutline: {\n dummyImages,\n templatesHistory,\n },\n },\n } = useStore('');\n const ref = useRef(null);\n const [imagesAddedCount, setImagesAddedCount] = useState(20);\n const [imagesDummy, setImagesDummy] = useState([]);\n const [imagesList, setImagesList] = useState([]);\n\n useEffect(() => {\n const initialImagesLoad = templatesHistory?.slice(0, imagesAddedCount).map(item => {\n return {...item, loading: true};\n }) || [];\n setImagesList(initialImagesLoad);\n }, [templatesHistory?.length]);\n\n useEffect(() => {\n setImagesDummy(dummyImages);\n }, [dummyImages?.length]);\n\n return <>\n \n <>\n {imagesDummy && imagesDummy?.map((val, index)=>(\n \n \n {buttonTitle == 'generate-btn' && val.load && <>

Generating 4 images

}\n
\n
{val.title}
\n \n ))\n }\n {imagesList?.map((item, idx) => )}\n \n
;\n});\n\n\nconst CardStyle = styled(Card)`\n background-color: #E0E0E0;\n border-radius: 8px;\n padding: 0px !important;\n`;\n\n","import {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport {Button} from '@/components/common-components/v2';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faArrowRight, faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport styled from 'styled-components';\nimport {CommonInput} from '@/components/common-components';\nimport {useState, useEffect} from 'react';\nimport {Modal, Tooltip} from 'antd';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {SkeletonRingLoader} from '@/components/common-components';\nimport {Select, Checkbox} from 'antd';\nimport {notification} from '@/utils/notification-v2';\nimport {ImageListComponent} from './imageListComponent';\nimport {QuotaInfoDetail} from '@/components/common-components/v2/quotaInfo';\nimport {useTranslation} from 'next-i18next';\n\ninterface Props {\n activeTab?: any;\n onChange: (editorState: any) => any;\n store: CurrentPageStore;\n}\n\nexport const AICreateImagesTab = observer(({activeTab, onChange, store}: Props) => {\n const {contentOptimizer: {currentPage}} = useStore('');\n const {isUnsplashDrawerOpen} = currentPage;\n const [historyCopyStatus, setHistoryCopyStatus] = useState('Get URL');\n const [aspectRatio, setAspectRatio] = useState('16:9');\n const [imagesAspectRatio, setImagesAspectRatio] = useState('');\n // const [model, setModel] = useState('Midjourney');\n const [isRealistic, setIsRealistic] = useState(false);\n const {t} = useTranslation('common');\n\n const {\n contentOptimizer: {\n currentPage: {\n content,\n },\n aiOutline: {\n loadAiTemplateOutlinesHistory,\n loadAiGeneratedImage,\n setDummyImages,\n setImageGenerateInputValue,\n imageGenerateInputValue,\n loading,\n templatesHistory,\n historyLoading,\n setCopyStatus,\n },\n pages: {\n projects,\n },\n },\n } = useStore('');\n const {settings: {customer: {getCustomerQuota, setShowScaTopUpModal}}} = useStore('');\n const {settings: {customer: {profile: {isWhitelabel}}}} = useStore('');\n const {settings: {customer: {profile: {isAllowedAiContentGenerationQuotaLimitReached, quotaUtilization}}}} = useStore('');\n const {plans: {showSidebarPaymentDrawer}} = useStore('');\n const [buttonTitle, setButtonTitle] = useState('');\n const [showError, setShowError] = useState(false);\n const [showSelectedHistoryImage, setShowSelectedHistoryImage] = useState(0);\n const [showHistoryImage, setShowHistoryImage] = useState(false);\n const {Option} = Select;\n const selectSuffixIcon = ;\n\n useEffect(() => {\n if (isUnsplashDrawerOpen && activeTab == 'aiCreateImages') {\n loadAiTemplateOutlinesHistory('ai_image_generation');\n setDummyImages([], true);\n }\n }, [isUnsplashDrawerOpen]);\n\n useEffect(() => {\n const filteredObj = projects.find(item => item?.id === content?.projectId);\n setAspectRatio(filteredObj?.defaultAiSettings?.imagesAspectRatio || '16:9');\n setImagesAspectRatio(filteredObj?.defaultAiSettings?.imagesAspectRatio || '');\n // setModel('Midjourney');\n }, []);\n\n const onGenerateBtnClick = async () => {\n if (isWhitelabel && isAllowedAiContentGenerationQuotaLimitReached) {\n if (imageGenerateInputValue) {\n notification.error('Quota is exceeded', 'You’ve exceeded the usage limit for this tool.');\n } else {\n setShowError(true);\n }\n } else if (!isAllowedAiContentGenerationQuotaLimitReached) {\n if (imageGenerateInputValue) {\n try {\n setButtonTitle('generate-btn');\n setHistoryCopyStatus('Get URL');\n setCopyStatus('Copy URL');\n setDummyImages([{title: imageGenerateInputValue, load: true}], false);\n setImageGenerateInputValue('');\n await loadAiGeneratedImage(imageGenerateInputValue, aspectRatio, isRealistic, false, 'midjourney');\n setHistoryCopyStatus('Get URL');\n setCopyStatus('Copy URL');\n getCustomerQuota();\n setImageGenerateInputValue('');\n } catch (e) {\n Promise.reject(e);\n }\n } else {\n setShowError(true);\n }\n } else {\n if (imageGenerateInputValue) {\n showSidebarPaymentDrawer(null, {title: 'You need more AI quota to continue', subtitle: '', text: `Current limit: ${quotaUtilization?.ca?.allowedAiContentGeneration?.total}`});\n } else {\n setShowError(true);\n }\n }\n };\n\n const aspectRatioOptions = [{\n name: 'Article image (8:3)',\n value: '8:3',\n }, {\n name: 'Wide screen image (16:9)',\n value: '16:9',\n }, {\n name: 'Square image (1:1)',\n value: '1:1',\n }, {\n name: 'Vertical image (2:3)',\n value: '2:3',\n }];\n\n return (\n <>\n \n = quotaUtilization?.ca?.allowedAiContentGeneration?.total}\n customCta={() => {\n setShowScaTopUpModal(true);\n }}\n isCenter={true}/>\n \n \n setImageGenerateInputValue(e?.target?.value)}\n onFocus={() => setShowError(false)}/>\n \n onGenerateBtnClick()}>\n Generate image\n \n \n \n \n {showError && Please enter a prompt to generate image}\n \n \n Aspect ratio:\n {\n setImagesAspectRatio(value);\n setAspectRatio(value);\n }}>\n {aspectRatioOptions.map((item, idx) => {\n return ;\n })}\n \n \n {/* \n Model:\n \n */}\n \n Type:\n setIsRealistic(e.target.checked)}>Generate a photo realistic image\n \n \n
History
\n {historyLoading ?
:\n \n }\n }\n className='openImage'\n visible={showHistoryImage}\n onOk={() => setShowHistoryImage(false)}\n onCancel={() => setShowHistoryImage(false)}\n >\n {templatesHistory && }\n \n \n );\n});\n\nconst QuotaWrapper = styled.div`\n margin-top: 10px;\n margin-left: 4px;\n`;\n\nconst InputWrapper = styled.div`\n display: flex;\n margin-top: 10px;\n`;\n\nconst ModalImage = styled(Modal)`\n width: auto !important;\n .ant-modal-content{\n background-color: transparent !important;\n .ant-modal-body{\n padding: 0 !important;\n }\n }\n .ant-modal-footer{\n padding: 0;\n border-top: 0;\n }\n .ant-modal-close{\n right: -45px;\n top: -35px;\n path{\n fill:white\n }\n }\n`;\n\nconst CommonInputStyled = styled(CommonInput)`\n max-width: 520px;\n height: 44px !important;\n margin-right: 10px !important;\n &input {\n border-radius: 5px;\n border: 1px solid #E8E8E8;\n }\n`;\n\nconst SettingContainer = styled.div`\n margin: 15px 10px;\n`;\n\nconst SelectContainer = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 6px;\n font-size: 12px;\n`;\n\nconst OptionLabel = styled.div`\n margin-right: 20px;\n min-width: 110px;\n font-size: 12px;\n`;\n\nconst SelectStyled = styled(Select)<{grayBackground?: boolean}>`\n .ant-select-selector {\n border-radius: 6px !important;\n border: 1px solid #E8E8E8 !important;\n background-color: ${p => p.grayBackground ? '#F9F9FB': '#fff'} !important;\n box-shadow: 0px 3px 2px 0px rgba(0, 0, 0, 0.02) !important;\n min-width: 180px;\n font-size: 12px;\n }\n .ant-select-item {\n font-size: 12px !important;\n }\n`;\n","import {Drawer} from 'antd';\nimport {useStore} from '@/store/root-store';\nimport styles from './style.module.scss';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {TabPane, Tabs} from '@/components/common-components';\nimport {getSingleUrlParam, copyAndModifyQueryParams} from '@/utils/url';\nimport {useRouter} from 'next/router';\nimport {useState, useEffect} from 'react';\nimport {FreeStockTab} from './pages/free-stock-tab';\nimport {AICreateImagesTab} from './pages/ai-create-images-tab';\n\ninterface Props {\n onChange: (editorState: any) => any;\n}\n\nexport const AddImageDrawer = observer(({onChange}: Props) => {\n const {contentOptimizer: {\n aiOutline: {\n setCopyStatus,\n },\n currentPage,\n }} = useStore('');\n const {isUnsplashDrawerOpen, setIsUnspashDrawerOpen, setContentType} = currentPage;\n const checkTab = getSingleUrlParam('activeTab');\n const router = useRouter();\n const [activeTab, setActiveTab]= useState(router?.query?.activeTab || 'aiCreateImages');\n\n useEffect(() => {\n if (checkTab) {\n setActiveTab(checkTab);\n }\n }, [checkTab]);\n\n const handleClose = () => {\n setIsUnspashDrawerOpen(false);\n setActiveTab('aiCreateImages');\n setCopyStatus('Copy');\n setContentType('toArticle');\n\n const currentURL = window.location.href;\n const url = new URL(currentURL);\n const queryParams = new URLSearchParams(url.search);\n queryParams.delete('activeTab');\n const newURL = `${url.origin}${url.pathname}${queryParams.toString()}${url.hash}`;\n window.history.pushState({path: newURL}, '', newURL);\n };\n\n return (\n <>\n {\n handleClose();\n }}\n bodyStyle={{backgroundColor: '#F2F2F5', padding: '0'}}\n className={styles.contentIdeasDrawer}\n >\n \n {\n setActiveTab(key);\n router.push(`${copyAndModifyQueryParams([{key: 'activeTab', value: key}])}`, undefined, {shallow: true});\n }}\n >\n AI Create Images} key='aiCreateImages'>\n \n \n Free Stock} key='freeStock'>\n \n \n \n \n \n \n );\n});\n\nconst TabsStyled = styled.div`\npadding: 0 20px 20px 20px;\n .rc-tabs-nav {\n background: transparent !important;\n border-bottom: 1px solid #E8E8E8;\n height: 70px !important;\n }\n .rc-tabs-content-holder {\n border-radius: 13px;\n background: transparent !important;\n }\n .rc-tabs-tab-btn {\n font-size: 16px !important;\n color: #4E5156 !important;\n }\n .rc-tabs-tab-active {\n .rc-tabs-tab-btn {\n font-size: 16px !important;\n font-weight: 500 !important;\n line-height: 22px !important;\n color: #121212 !important;\n }\n }\n .rc-tabs-ink-bar {\n position: absolute !important;\n bottom: 0px;\n height: 5px !important;\n background: #7F4EAD !important;\n box-shadow: 0px 3px 2px rgba(0, 0, 0, 0.02) !important;\n border-radius: 4px 4px 0px 0px !important;\n }\n`;\n","import {useCallback, useEffect, useRef, useState} from 'react';\nimport {ContentEditor} from '@/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor';\nimport {Notification, notificationType} from '@/components/common-components/components/notification';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport styles from '../content-editor.module.scss';\nimport ShareModal from '../../../blocks/share-modal';\nimport {ContentBlock, ContentState, EditorState, Modifier, SelectionState} from 'draft-js';\nimport {decoratedState} from './content-editor/decorators';\nimport {debounce, isNil} from 'lodash';\nimport 'firebase/database';\nimport {\n isScaPublicPage,\n} from '@/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/utils';\nimport {AiTooltip} from './content-editor/AiTooltip/AiTooltip';\nimport {AddImageDrawer} from '../../Drawers/AddImageDrawer';\nimport {addCrossIcon} from '@/utils/htmlToDraft';\nimport {Modal} from '@/components/common-components';\nimport styled from 'styled-components';\nimport {Input} from 'antd';\nimport {Button} from '@/components/common-components/v2';\nimport {isExtensionInstalled} from '@/utils/notifications';\nimport {CloseOutlined} from '@ant-design/icons';\n\ninterface Props {\n htmlToDraft: any;\n}\n\nexport const EditorSection = observer(({htmlToDraft}: Props) => {\n const {\n contentOptimizer,\n } = useStore('');\n const {currentPage, contentFragment} = contentOptimizer;\n const {\n focusTermsClassNames,\n setAiTooltip,\n isCopy,\n setEditorHeightOffset,\n editorHeightOffset,\n setShowAiBanner,\n showAiBanner,\n content,\n } = currentPage;\n const {settings: {customer: {profile: {isWhitelabel}}}} = useStore('');\n const [showEditAltModal, setShowEditAltModal] = useState(false);\n const [altText, setAltText] = useState('');\n const [element, setElement] = useState(null);\n const [modalEditorStates, setModalEditorStates] = useState(null);\n const [hideButton, setHideButton] = useState(false);\n const [noFirstVisit] = useState(localStorage.getItem('scaDashboardOpened'));\n\n const handleModalOpen = (e, modalEditorStates, currentAlt) => {\n setShowEditAltModal(true);\n setElement(e);\n setModalEditorStates(modalEditorStates);\n setAltText(currentAlt);\n };\n\n const handleUpdateAlt = async () => {\n const contentState = modalEditorStates.getCurrentContent();\n const tagkey = element.attributes['data-offset-key'].value.split('-')[0];\n const blockList = modalEditorStates.getCurrentContent().getBlockMap();\n const block = blockList.find(key => key.getKey() == tagkey);\n if (block.getType() == 'atomic') {\n // @ts-ignore\n const next = currentPage?.currentEditorState?.getCurrentContent()?.getBlockAfter(block.getKey());\n\n if (block && next) {\n const entityKey = block.getEntityAt(0);\n const entity = contentState.getEntity(entityKey);\n const newEntity = entity.set('data', {alt: altText, title: altText});\n // @ts-ignore\n const newContentState = currentPage?.currentEditorState?.getCurrentContent()?.mergeEntityData(entityKey, newEntity.getData());\n const newED = EditorState.push(modalEditorStates, newContentState, 'apply-entity');\n onChange(newED, false, true);\n }\n }\n };\n\n useEffect(() => {\n const preventingDefaultMenu = e => {\n e.preventDefault();\n promptForLink(currentPage.currentEditorState, e);\n currentPage.setAiTooltip({...currentPage.aiTooltip, show: true, left: currentPage.aiTooltip?.left || e.pageX, top: e.pageY});\n };\n const closeContextMenu = () => {\n currentPage.setAiTooltip({show: false});\n };\n if (document.querySelectorAll('.DraftEditor-editorContainer')[0]?.addEventListener) {\n document.querySelectorAll('.DraftEditor-editorContainer')[0]?.addEventListener('contextmenu', preventingDefaultMenu, false);\n }\n if (document.querySelectorAll('.DraftEditor-editorContainer')[0]?.addEventListener) {\n document.querySelectorAll('.DraftEditor-editorContainer')[0]?.addEventListener('click', closeContextMenu, false);\n }\n\n return () => {\n document.querySelectorAll('.DraftEditor-editorContainer')[0]?.removeEventListener('contextmenu', preventingDefaultMenu);\n document.querySelectorAll('.DraftEditor-editorContainer')[0]?.removeEventListener('click', closeContextMenu);\n };\n }, []);\n\n const headerKeywordsRef = useRef(null);\n\n const updateKeywordsRef = () => {\n if (!isNil(headerKeywordsRef?.current?.offsetHeight)) {\n setTimeout(() => {\n setEditorHeightOffset(editorHeightOffset?.breadcrumbHeight, headerKeywordsRef?.current?.offsetHeight || 0);\n }, 300);\n }\n };\n\n useEffect(() => {\n updateKeywordsRef();\n }, [headerKeywordsRef?.current]);\n\n const debouncedChange = debounce((state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations = false, isManualUpdate = false) => {\n // we are then calling the edit content method which will fire the API call and send new state to the BE\n currentPage.editContent(state, isNewDecorations, isManualUpdate);\n }, 2000);\n\n const debouncedUpdate = useCallback(\n (state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations, isManualUpdate?: boolean) => debouncedChange(state, focusTerms, focusTermsClassNames, isNewDecorations, isManualUpdate),\n // eslint-disable-next-line\n []\n );\n\n const debouncedHighlightingChange = debounce((state: EditorState, focusTermsClassNames, changeType = null) => {\n let decorated;\n const acceptedTypes = ['insert-fragment', 'insert-characters', 'apply-entity'];\n if (acceptedTypes.includes(changeType)) {\n // we are using the passed editor state (updated state) and doing the decoration\n decorated = decoratedState(state, focusTermsClassNames);\n // we then set that decorated state as current local state\n currentPage.setCurrentEditorState(EditorState.forceSelection(decorated, state.getSelection()));\n }\n }, 500);\n\n const debouncedHighlighting = useCallback(\n (state: EditorState, focusTermsClassNames, changeType) => debouncedHighlightingChange(state, focusTermsClassNames, changeType),\n // eslint-disable-next-line\n []\n );\n\n const errorMessage = currentPage.isImportError.isCreatedFromScratch ?\n 'Importing from URL failed. You can manually copy & paste the page content in to the editor below' :\n 'Importing from URL failed. You can manually copy & paste the page content in to the editor below (technicals data will remain unchanged)';\n\n const getParams = (editorState: EditorState) => {\n const selection = editorState.getSelection();\n const currentContent = editorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const endKey = selection.getEndKey();\n const startOffset = selection.getStartOffset();\n const endOffset = selection.getFocusOffset() > selection.getAnchorOffset() ? selection.getFocusOffset() : selection.getAnchorOffset();\n // const startOffset = selection.getAnchorOffset() < selection.getFocusOffset() ? selection.getAnchorOffset() : selection.getFocusOffset();\n const prevOffset = startOffset - 1;\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n const linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n const characterList = blockWithLinkAtBeginning.getCharacterList();\n const initialSelectedText = blockWithLinkAtBeginning.getText().slice(startOffset, endOffset);\n const anchorKey = selection.getAnchorKey();\n const blocks = currentContent.getBlockMap();\n\n return {selection, characterList, prevOffset, startOffset, currentContent, blockWithLinkAtBeginning, linkKey, initialSelectedText, anchorKey, startKey, endKey, blocks};\n };\n\n\n const generateSelectedText = (blocks, startOffset, endOffset, startKey, endKey) => {\n let lastWasEnd = false;\n const selectedBlocks = blocks.skipUntil(block => {\n return block?.getKey() === startKey;\n }).takeUntil(block => {\n const result = lastWasEnd;\n if (block?.getKey() === endKey) {\n lastWasEnd = true;\n }\n return result;\n });\n\n const blockArray: Array = [];\n const selectedTextFromBlocks = [];\n\n\n selectedBlocks.forEach(block => {\n blockArray.push(block);\n });\n\n if (blockArray.length == 1) {\n selectedTextFromBlocks.push(blockArray[0].getText().slice(startOffset, endOffset));\n } else {\n blockArray.forEach((block, id) => {\n if (id === 0) {\n selectedTextFromBlocks.push(block.getText().slice(startOffset, block.getLength()));\n } else if (id === (blockArray.length - 1)) {\n selectedTextFromBlocks.push(block.getText().slice(0, endOffset));\n } else {\n selectedTextFromBlocks.push(block.getText());\n }\n });\n }\n\n\n const selectedText = selectedTextFromBlocks.join(' ');\n return selectedText;\n };\n\n const promptForLink = (editorState: EditorState, e: MouseEvent) => {\n const {selection, characterList, prevOffset, startOffset, currentContent, blockWithLinkAtBeginning, linkKey, initialSelectedText, anchorKey, startKey, endKey, blocks} = getParams(editorState);\n\n // const newSelection = new SelectionState({\n // anchorKey: selection.getEndKey(),\n // anchorOffset: selection.getEndOffset(),\n // focusKey: selection.getEndKey(),\n // focusOffset: selection.getEndOffset(),\n // });\n\n const prevChar = characterList.get(prevOffset);\n const nextChar = characterList.get(startOffset);\n\n let selectedText: string;\n const xSelection = window.getSelection();\n let x;\n\n let updatedSelection = selection;\n\n const start = selection.getAnchorOffset() < selection.getFocusOffset() ? selection.getAnchorOffset() : selection.getFocusOffset();\n const end = selection.getFocusOffset() > selection.getAnchorOffset() ? selection.getFocusOffset() : selection.getAnchorOffset();\n\n const noEntityCase = () => {\n // const start = selection.getAnchorOffset() < selection.getFocusOffset() ? selection.getAnchorOffset() : selection.getFocusOffset();\n // const end = selection.getFocusOffset() > selection.getAnchorOffset() ? selection.getFocusOffset() : selection.getAnchorOffset();\n\n let noSelectionLeft = null;\n let noSelectionTop = null;\n let noSelectionBottom = null;\n\n if (xSelection?.rangeCount) {\n const tempX = xSelection?.getRangeAt(0)?.getBoundingClientRect();\n if (tempX.left) noSelectionLeft = tempX.left;\n if (tempX.top) noSelectionTop = tempX.top;\n if (tempX.bottom) noSelectionBottom = tempX.bottom;\n }\n const selectedText = generateSelectedText(blocks, start, end, startKey, endKey);\n setAiTooltip({...currentPage.aiTooltip, selectedText: selectedText.trim(), textValue: selectedText.trim(), updatedSelection: selection, left: noSelectionLeft || 0, top: noSelectionTop || 0, bottom: noSelectionBottom || 0});\n };\n\n if (!prevChar || !nextChar) {\n const xSelection = window.getSelection();\n x = xSelection?.getRangeAt(0)?.getBoundingClientRect();\n setAiTooltip({...currentPage.aiTooltip, updatedSelection: updatedSelection, bottom: e.clientY, left: e.clientX});\n } else {\n const prevEntity = prevChar?.getEntity();\n const nextEntity = nextChar?.getEntity();\n\n const entity = prevEntity === nextEntity && prevEntity || !prevEntity && nextEntity;\n let finalPrevOffset = prevOffset;\n let finalNextOffset = startOffset;\n\n // selectedText = currentBlock.getText().slice(finalPrevOffset, finalNextOffset);\n selectedText = generateSelectedText(blocks, start, end, startKey, endKey);\n\n if (entity) {\n while (finalPrevOffset > 0) {\n finalPrevOffset--;\n const char = characterList.get(finalPrevOffset);\n if (char.getEntity() !== entity) {\n finalPrevOffset++;\n break;\n }\n }\n\n\n const blockLength = blockWithLinkAtBeginning.getLength();\n while (finalNextOffset < blockLength) {\n finalNextOffset++;\n\n const char = characterList.get(finalNextOffset);\n if (char?.getEntity() !== entity) {\n break;\n }\n }\n const finalAnchorOffset = finalPrevOffset === -1 ? 0 : finalPrevOffset;\n\n updatedSelection = new SelectionState({\n anchorKey: anchorKey, // key of block\n anchorOffset: finalAnchorOffset,\n focusKey: anchorKey,\n focusOffset: finalNextOffset, // key of block\n hasFocus: true,\n // isBackward: false // isBackward = (focusOffset < anchorOffset)\n });\n\n\n setAiTooltip({...currentPage.aiTooltip, updatedSelection: updatedSelection});\n\n // selectedText = currentBlock.getText().slice(finalAnchorOffset, finalNextOffset);\n selectedText = generateSelectedText(blocks, finalPrevOffset, finalNextOffset, startKey, endKey);\n\n if (xSelection?.rangeCount) {\n x = xSelection?.getRangeAt(0)?.getBoundingClientRect();\n if (x.left) {\n setAiTooltip({...currentPage.aiTooltip, isLink: true, selectedText: selectedText.trim(), left: x.left, height: x.height, width: x.width, bottom: x.bottom, updatedSelection: updatedSelection});\n }\n }\n } else {\n updatedSelection = new SelectionState({\n anchorKey: anchorKey, // key of block\n anchorOffset: finalPrevOffset,\n focusKey: anchorKey,\n focusOffset: finalNextOffset, // key of block\n hasFocus: true,\n // isBackward: false // isBackward = (focusOffset < anchorOffset)\n });\n\n if (xSelection?.rangeCount) {\n if (initialSelectedText) {\n x = xSelection?.getRangeAt(0)?.getBoundingClientRect();\n if (x.left) {\n setAiTooltip({...currentPage.aiTooltip, isLink: true, selectedText: selectedText.trim(), left: x.left, height: x.height, width: x.width, bottom: x.bottom, updatedSelection: updatedSelection});\n }\n }\n }\n noEntityCase();\n }\n }\n let url = '';\n\n if (linkKey) {\n const linkInstance = currentContent.getEntity(linkKey);\n url = linkInstance.getData().url;\n url = url?.startsWith('//') ? url?.slice(2) : url;\n }\n\n setAiTooltip({\n ...currentPage.aiTooltip,\n urlValue: url,\n textValue: selectedText,\n });\n };\n\n useEffect(() => {\n if (currentPage?.getCurrentEditorState?.getCurrentContent()?.hasText() || content.aiInProgress) {\n if (showAiBanner) setShowAiBanner(false);\n } else {\n if (!showAiBanner) setShowAiBanner(true);\n }\n }, [currentPage?.getCurrentEditorState, content.aiInProgress]);\n\n // This method is triggered by updating the DraftJs editor\n const onChange = (editorState: EditorState, isNewDecorations: boolean = false, isManualUpdate: boolean = false) => {\n const currentContent = currentPage.currentEditorState.getCurrentContent();\n const newContent = editorState.getCurrentContent();\n const changeType = editorState.getLastChangeType();\n currentPage.setCurrentEditorState(editorState);\n\n const lastChangedBlockKey = editorState.getSelection()?.getAnchorKey();\n const lastChangedBlock = currentContent.getBlockForKey(lastChangedBlockKey);\n const lastChangedBlockType = lastChangedBlock?.getType();\n // setting cross icons and event listener for image\n addCrossIcon(editorState, currentPage, onChange, handleModalOpen);\n // We are comparing current editor state with udpated one to make sure the flow only triggers once there is an actual content change (adding removing of words, formatting, linkjng etc.)\n if (currentContent !== newContent || lastChangedBlockType === 'atomic' || isManualUpdate) {\n debouncedHighlighting(editorState, focusTermsClassNames, changeType);\n debouncedUpdate(editorState, currentPage.analytics?.focusTerms, focusTermsClassNames, isNewDecorations, isManualUpdate);\n\n if (!newContent?.hasText() && !showAiBanner) {\n setShowAiBanner(true);\n } else {\n if (showAiBanner) {\n setShowAiBanner(false);\n }\n }\n }\n };\n\n const insertText = async () => {\n // this method cretates conntentBlock out of fetched BE AI text\n const {contentBlocks, entityMap} = htmlToDraft(contentFragment?.fragment?.html || '');\n // const {contentBlocks, entityMap} = htmlToDraft(contentFragment?.fragment?.html);\n\n // this is currently selected text\n const selection = currentPage.currentEditorState.getSelection();\n\n // this is new selection that starts after the seelcted text\n const newSelection = new SelectionState({\n anchorKey: selection.getEndKey(),\n anchorOffset: selection.getEndOffset(),\n focusKey: selection.getEndKey(),\n focusOffset: selection.getEndOffset(),\n });\n\n\n // this is fragment that will be created from content blocks generated from htmlToDraft\n const fragment = ContentState.createFromBlockArray(contentBlocks, entityMap).getBlockMap();\n\n const nonStyledState = Modifier.replaceWithFragment(\n currentPage.currentEditorState.getCurrentContent(),\n newSelection,\n fragment,\n );\n\n // WE are calculating nodes to toggle blue background on new Ai generated nodes\n let firstNewBlockId: number;\n const currentBlock = selection.getAnchorKey();\n const nextBlock = currentPage.currentEditorState.getCurrentContent().getBlockAfter(selection.getAnchorKey())?.getKey();\n\n const existingNodes = document.querySelectorAll('[data-block=\"true\"]');\n existingNodes?.forEach((elem, id) => {\n if (elem.getAttribute('data-offset-key') && elem.getAttribute('data-offset-key') == `${currentBlock}-0-0`) {\n firstNewBlockId = id + 1;\n }\n });\n\n // we update current editor state with new state we created\n const updatedState = EditorState.push(currentPage.currentEditorState, nonStyledState, 'insert-fragment');\n // we uset that new state to mbox, this will trigger some methods via useEffect\n currentPage.setCurrentEditorState(updatedState);\n // we hide ai tooltip\n currentPage.setAiTooltip({show: false});\n // after some time we remove highlighting class from all that new text\n setTimeout(() => {\n const newTextElems = document.querySelectorAll('[data-block=\"true\"]');\n if (newTextElems.length) {\n for (let i = firstNewBlockId; i <= newTextElems.length; i++) {\n if (newTextElems[i]?.getAttribute('data-offset-key') && newTextElems[i]?.getAttribute('data-offset-key') != `${nextBlock}-0-0` && newTextElems[i]?.getAttribute('data-offset-key') != `${currentBlock}-0-0`) {\n newTextElems[i].classList.add('newTextBlock');\n } else {\n return;\n }\n }\n }\n }, 500);\n\n // we trigger a method that will highlight focus terms inside text and fire api to sync with new editor state\n debouncedUpdate(updatedState, currentPage.analytics?.focusTerms, focusTermsClassNames, false);\n\n\n setTimeout(() => {\n const newTextElems = document.querySelectorAll('.newTextBlock');\n if (newTextElems.length) {\n newTextElems.forEach(elem => {\n elem.classList.remove('newTextBlock');\n });\n }\n }, 3500);\n };\n\n // This method will replace selected text\n const replaceText = async () => {\n // this method cretates conntentBlock out of fetched BE AI text\n const {contentBlocks, entityMap} = htmlToDraft(contentFragment?.fragment?.html);\n // this is currently selected text\n const selection = currentPage.currentEditorState.getSelection();\n // this is fragment that will be created from content blocks generated from htmlToDraft\n const fragment = ContentState.createFromBlockArray(contentBlocks, entityMap).getBlockMap();\n\n const nonStyledState = Modifier.replaceWithFragment(\n currentPage.currentEditorState.getCurrentContent(),\n selection,\n fragment,\n );\n\n // WE are calculating nodes to toggle blue background on new Ai generated nodes\n let firstNewBlockId: number;\n const currentBlock = selection.getAnchorKey();\n const nextBlock = currentPage.currentEditorState.getCurrentContent().getBlockAfter(selection.getAnchorKey())?.getKey();\n // WE are calculating nodes to toggle blue background on new Ai generated nodes\n const existingNodes = document.querySelectorAll('[data-block=\"true\"]');\n existingNodes?.forEach((elem, id) => {\n if (elem.getAttribute('data-offset-key') && elem.getAttribute('data-offset-key') == `${currentBlock}-0-0`) {\n firstNewBlockId = id + 1;\n }\n });\n\n // we update current editor state with new state we created\n const updatedState = EditorState.push(currentPage.currentEditorState, nonStyledState, 'insert-fragment');\n // we uset that new state to mbox, this will trigger some methods via useEffect\n currentPage.setCurrentEditorState(updatedState);\n // we hide ai tooltip\n currentPage.setAiTooltip({show: false});\n // after some time we remove highlighting class from all that new text\n setTimeout(() => {\n const newTextElems = document.querySelectorAll('[data-block=\"true\"]');\n if (newTextElems.length) {\n for (let i = firstNewBlockId; i <= newTextElems.length; i++) {\n if (newTextElems[i]?.getAttribute('data-offset-key') && newTextElems[i]?.getAttribute('data-offset-key') != `${nextBlock}-0-0` && newTextElems[i]?.getAttribute('data-offset-key') != `${currentBlock}-0-0`) {\n newTextElems[i].classList.add('newTextBlock');\n } else {\n return;\n }\n }\n }\n }, 500);\n // we trigger a method that will highlight focus terms inside text and fire api to sync with new editor state\n debouncedUpdate(updatedState, currentPage.analytics?.focusTerms, focusTermsClassNames, false);\n\n setTimeout(() => {\n const newTextElems = document.querySelectorAll('.newTextBlock');\n if (newTextElems.length) {\n newTextElems.forEach(elem => {\n elem.classList.remove('newTextBlock');\n });\n }\n }, 3500);\n // NEW FLOW END\n };\n\n function getDifferenceInHours(date1, date2) {\n const diffInMs = Math.abs(date2 - date1);\n return diffInMs / (1000 * 60 * 60);\n }\n\n function handleShowNotification() {\n const checkDate = localStorage.getItem('extensionButton');\n const getCount = localStorage.getItem('extensionButtonCount');\n if (noFirstVisit && noFirstVisit == 'TRUE') {\n if (checkDate) {\n const converted = Number(checkDate);\n const hoursDifference = getDifferenceInHours(converted, Date.now());\n if (getCount == '3') {\n setHideButton(true);\n localStorage.setItem('extensionButton', 'FALSE');\n } else if (hoursDifference >= 216 && !isExtensionInstalled() && checkDate !== 'FALSE' && getCount == '2') {\n setHideButton(false);\n localStorage.setItem('extensionButton', 'FALSE');\n } else if (hoursDifference >= 48 && !isExtensionInstalled() && checkDate !== 'FALSE' && getCount == '1') {\n setHideButton(false);\n } else if (hoursDifference < 48 && !isExtensionInstalled() && checkDate !== 'FALSE' && getCount == '0') {\n setHideButton(false);\n }\n if (getCount == '2') {\n setHideButton(false);\n localStorage.setItem('extensionButton', 'FALSE');\n }\n } else if (!isExtensionInstalled()) {\n setHideButton(false);\n localStorage.setItem('extensionButton', String(Date.now()));\n localStorage.setItem('extensionButtonCount', '0');\n }\n }\n }\n\n useEffect(() => {\n if (!isExtensionInstalled()) {\n handleShowNotification();\n }\n }, []);\n\n const hideBtn = () => {\n setTimeout(() => {\n setHideButton(true);\n }, 500);\n };\n\n const hideExtensionBtn = () => {\n const checkCount = localStorage.getItem('extensionButtonCount');\n if (checkCount == '0') {\n localStorage.setItem('extensionButtonCount', '1');\n } else if (checkCount == '1') {\n localStorage.setItem('extensionButtonCount', '2');\n } else if (checkCount == '2') {\n localStorage.setItem('extensionButtonCount', '3');\n }\n setTimeout(() => {\n setHideButton(true);\n }, 500);\n };\n\n return <>\n {/*\n * Show error if importing from url has failed\n * Error text is dynamic and depends if it is created from scratch or not\n */}\n {currentPage.isImportError.show &&
\n \n
}\n \n \n {isWhitelabel ? '' : !hideButton && !isExtensionInstalled() &&
\n
\n
\n
Optimize Content in Google Docs
\n & Get SEO Analysis on any site.
\n
\n \n Get Chrome Extension\n \n
\n
}\n {!isScaPublicPage() && }\n\n {(!isScaPublicPage() && isCopy) &&
\n Paragraph was copied to clipboard\n
}\n\n \n {\n setShowEditAltModal(false);\n }}\n >\n
\n Edit Alt Tag\n Alt tag (optional)\n setAltText(e?.target?.value)} />\n \n setShowEditAltModal(false)}>Cancel\n {\n handleUpdateAlt();\n setShowEditAltModal(false);\n }}>Save changes\n \n
\n \n ;\n});\n\nconst Title = styled.div`\n color: #121212;\n font-size: 24px;\n font-weight: 600;\n margin-bottom: 16px;\n`;\n\nconst InputTitle = styled.div`\n color: #121212;\n font-size: 12px;\n margin-bottom: 7px;\n`;\n\nconst InputStyled = styled(Input)`\n width: 100%;\n height: 38px;\n background: #FFFFFF;\n border: 1px solid #D2D2D2;\n border-radius: 8px;\n`;\n\nconst ButtonsWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: end;\n align-items: center;\n margin-top: 19px;\n`;\n\nconst ButtonStyled = styled(Button)`\n margin: 0px !important;\n background: #2D6CCA;\n\n &:hover {\n background: #2D6CCA !important;\n opacity: 0.8;\n }\n &:focus {\n background: #2D6CCA !important;\n opacity: 0.8;\n }\n`;\n\nconst CancelButton = styled.div`\n width: fit-content;\n color: #4E5156;\n font-weight: 500;\n cursor: pointer;\n margin-right: 31px;\n`;\n","import {Select} from 'antd';\nimport {EditorState, RichUtils} from 'draft-js';\nimport styles from './style.module.scss';\nimport {CaretDownOutlined} from '@ant-design/icons';\nimport {useTranslation} from 'next-i18next';\nconst {Option} = Select;\n\ninterface Props {\n blockTypeEnhancement: (e: any) => void;\n editorState: EditorState;\n}\n\nexport const Header = ({blockTypeEnhancement, editorState}: Props) => {\n const {t} = useTranslation('common');\n\n const handleSelect = (value: string) => {\n blockTypeEnhancement(value);\n };\n\n return (\n
\n \n
\n );\n};\n","import {Button, Tooltip} from 'antd';\n\nimport {EditorState, RichUtils} from 'draft-js';\nimport classNames from 'classnames';\n\nimport styles from './style.module.scss';\nimport {UnorderedListOutlined} from '@ant-design/icons';\n\ninterface Props {\n blockTypeEnhancement: (e: any) => void;\n editorState: EditorState;\n}\n\nexport const UnorderedList = ({blockTypeEnhancement, editorState}: Props) => {\n return (\n
\n \n {\n e.preventDefault();\n blockTypeEnhancement('unordered-list-item');\n }}\n className={classNames(styles.button, {[styles.active]: RichUtils.getCurrentBlockType(editorState) === 'unordered-list-item'})}\n >\n \n \n \n
\n );\n};\n","import {Button, Tooltip} from 'antd';\n\nimport styles from './style.module.scss';\nimport {BoldOutlined} from '@ant-design/icons';\nimport {EditorState} from 'draft-js';\nimport classNames from 'classnames';\n\ninterface Props {\n inlineStyleEnhancement: (e: any) => void;\n editorState: EditorState;\n}\n\nexport const Bold = ({inlineStyleEnhancement, editorState}: Props) => {\n return (\n
\n \n {\n e.preventDefault(); inlineStyleEnhancement('BOLD');\n }}\n className={classNames(styles.button, {[styles.active]: editorState.getCurrentInlineStyle().toJS().includes('BOLD')} )}\n >\n \n \n \n
\n );\n};\n","import {Button, Tooltip} from 'antd';\n\nimport styles from './style.module.scss';\nimport {ItalicOutlined} from '@ant-design/icons';\nimport {EditorState} from 'draft-js';\nimport classNames from 'classnames';\n\ninterface Props {\n inlineStyleEnhancement: (e: any) => void;\n editorState: EditorState;\n}\n\nexport const Italic = ({inlineStyleEnhancement, editorState}: Props) => {\n return (\n
\n \n {\n e.preventDefault(); inlineStyleEnhancement('ITALIC');\n }}\n className={classNames(styles.button, {[styles.active]: editorState.getCurrentInlineStyle().toJS().includes('ITALIC')} )}\n >\n \n \n \n
\n );\n};\n","import {Button, Tooltip} from 'antd';\n\nimport styles from './style.module.scss';\nimport {UnderlineOutlined} from '@ant-design/icons';\nimport {EditorState} from 'draft-js';\nimport classNames from 'classnames';\n\ninterface Props {\n inlineStyleEnhancement: (e: any) => void;\n editorState: EditorState;\n}\n\nexport const Underline = ({inlineStyleEnhancement, editorState}: Props) => {\n return (\n
\n \n {\n e.preventDefault(); inlineStyleEnhancement('UNDERLINE');\n }}\n className={classNames(styles.button, {[styles.active]: editorState.getCurrentInlineStyle().toJS().includes('UNDERLINE')} )}\n >\n \n \n \n
\n );\n};\n","import {Button, Tooltip} from 'antd';\n\nimport {EditorState, RichUtils} from 'draft-js';\nimport classNames from 'classnames';\n\nimport styles from './style.module.scss';\nimport {OrderedListOutlined} from '@ant-design/icons';\n\ninterface Props {\n blockTypeEnhancement: (e: any) => void;\n editorState: EditorState;\n}\n\nexport const OrderedList = ({blockTypeEnhancement, editorState}: Props) => {\n return (\n
\n \n {\n e.preventDefault();\n blockTypeEnhancement('ordered-list-item');\n }}\n className={classNames(styles.button, {[styles.active]: RichUtils.getCurrentBlockType(editorState) === 'ordered-list-item'})}\n >\n \n \n \n
\n );\n};\n","import {Button, Tooltip} from 'antd';\n\nimport {EditorState, RichUtils} from 'draft-js';\nimport classNames from 'classnames';\n\nimport styles from './style.module.scss';\nimport {CodeOutlined} from '@ant-design/icons';\n\ninterface Props {\n blockTypeEnhancement: (e: any) => void;\n editorState: EditorState;\n}\n\nexport const Code = ({blockTypeEnhancement, editorState}: Props) => {\n return (\n
\n \n {\n e.preventDefault();\n blockTypeEnhancement('code-block');\n }}\n className={classNames(styles.button, {[styles.active]: RichUtils.getCurrentBlockType(editorState) === 'code-block'})}\n >\n \n \n \n
\n );\n};\n","import {useState, useRef, useEffect} from 'react';\nimport {Button, Tooltip} from 'antd';\nimport styles from './style.module.scss';\nimport {LinkOutlined} from '@ant-design/icons';\nimport {EditorState, Modifier, SelectionState} from 'draft-js';\nimport classNames from 'classnames';\nimport {Input, Button as ButtonV2} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport {createCompositeDecorators} from '../../decorators';\n\n\ninterface Props {\n updateText: (state: EditorState) => void;\n}\n\nexport const Anchor = observer(({updateText}: Props) => {\n const {contentOptimizer: {currentPage: {currentEditorState, focusTermsClassNames}}} = useStore('');\n const [showNewUrlEditor, setShowNewUrlEditor] = useState(false);\n const [editorValues, setEditorValues] = useState({\n urlValue: '',\n textValue: '',\n });\n const [selectionRange, setSelectionRange] = useState({customSelection: null});\n\n const dateRef = useRef(null);\n\n // Close anchor form popup by clicking anywhere on the screen\n useEffect(() => {\n function handleClickOutside(event) {\n if (dateRef.current && !dateRef.current.contains(event.target)) {\n setShowNewUrlEditor(false);\n setEditorValues({\n urlValue: '',\n textValue: '',\n });\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [dateRef]);\n\n\n // Dettect if right combination of key is pressed to open anchor form popup\n document.onkeydown = e => {\n if (e.ctrlKey && e.shiftKey && e.key.toLowerCase() == 'k' || e.metaKey && e.shiftKey && e.key.toLowerCase() == 'k') {\n iconClicked(e);\n }\n };\n\n // This will generate text to insert inline on current cursor location\n const insertText = customSelection => {\n const decorator = createCompositeDecorators(focusTermsClassNames);\n const currentContent = currentEditorState.getCurrentContent();\n\n const urlPattern = /^((http|https):\\/\\/)/;\n\n const formatUrl = urlPattern.test(editorValues.urlValue) ? editorValues.urlValue : `http://${editorValues.urlValue}`;\n\n const newContentWithEntity = currentContent.createEntity(\n 'LINK',\n 'MUTABLE',\n {url: formatUrl},\n );\n\n const entityKey = newContentWithEntity.getLastCreatedEntityKey();\n\n const newNewContent = Modifier.replaceText(\n currentContent,\n customSelection,\n editorValues.textValue,\n null,\n entityKey,\n );\n\n const withLinkText = EditorState.createWithContent(\n newNewContent,\n decorator,\n );\n\n const withProperCursor = EditorState.forceSelection(\n withLinkText,\n withLinkText.getCurrentContent().getSelectionAfter(),\n );\n\n\n return withProperCursor;\n };\n\n // This will add generated text (with link or without) into our text\n const sendTextToEditor = () => {\n const contentState = insertText(selectionRange.customSelection);\n updateText(contentState);\n setShowNewUrlEditor(false);\n setEditorValues({\n urlValue: '',\n textValue: '',\n });\n };\n\n\n const promptForLink = () => {\n const selection = currentEditorState.getSelection();\n const currentContent = currentEditorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startOffset = selection.getStartOffset();\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n const linkKey = blockWithLinkAtBeginning.getEntityAt(startOffset);\n const prevOffset = startOffset - 1;\n\n const characterList = blockWithLinkAtBeginning.getCharacterList();\n const prevChar = characterList.get(prevOffset);\n const nextChar = characterList.get(startOffset);\n\n // Get block for current selection\n const anchorKey = selection.getAnchorKey();\n const currentBlock = currentContent.getBlockForKey(anchorKey);\n\n let selectedText;\n let customSelection = selection;\n\n const noEntityCase = () => {\n const start = selection.getAnchorOffset() < selection.getFocusOffset() ? selection.getAnchorOffset() : selection.getFocusOffset();\n const end = selection.getFocusOffset() > selection.getAnchorOffset() ? selection.getFocusOffset() : selection.getAnchorOffset();\n\n setSelectionRange({customSelection});\n selectedText = currentBlock.getText().slice(start, end);\n };\n\n if (!prevChar || !nextChar) {\n noEntityCase();\n } else {\n const prevEntity = prevChar?.getEntity();\n const nextEntity = nextChar?.getEntity();\n\n const entity = prevEntity === nextEntity && prevEntity;\n\n if (entity) {\n let finalPrevOffset = prevOffset;\n let finalNextOffset = startOffset;\n\n while (finalPrevOffset > 0) {\n finalPrevOffset--;\n const char = characterList.get(finalPrevOffset);\n if (char.getEntity() !== entity) {\n finalPrevOffset++;\n break;\n }\n }\n\n const blockLength = blockWithLinkAtBeginning.getLength();\n while (finalNextOffset < blockLength) {\n finalNextOffset++;\n\n const char = characterList.get(finalNextOffset);\n if (char?.getEntity() !== entity) {\n break;\n }\n }\n\n selectedText = currentBlock.getText().slice(finalPrevOffset, finalNextOffset);\n\n customSelection = new SelectionState({\n anchorKey: anchorKey, // key of block\n anchorOffset: finalPrevOffset,\n focusKey: anchorKey,\n focusOffset: finalNextOffset, // key of block\n hasFocus: true,\n // isBackward: false // isBackward = (focusOffset < anchorOffset)\n });\n\n\n setSelectionRange({customSelection: customSelection});\n } else {\n noEntityCase();\n }\n }\n\n\n let url = '';\n\n if (linkKey) {\n const linkInstance = currentContent.getEntity(linkKey);\n url = linkInstance.getData().url;\n url = url.startsWith('//') ? url.slice(2) : url;\n }\n\n\n setShowNewUrlEditor(true);\n setEditorValues({\n urlValue: url,\n textValue: selectedText,\n });\n };\n\n\n // This is called when we click anchor icon in toolbar\n const iconClicked = (e?: any) => {\n e.preventDefault();\n promptForLink();\n };\n\n return (\n
\n \n iconClicked(e)}\n className={classNames(styles.button, {[styles.active]: currentEditorState.getCurrentInlineStyle().toJS().includes('LINK')} )}\n >\n \n \n \n {showNewUrlEditor &&
\n
\n

Text

\n e.stopPropagation()}\n onChange={e => setEditorValues({\n ...editorValues,\n textValue: e.target.value,\n })}\n type='text'\n value={editorValues.textValue}\n placeholder='Add text'\n className={styles.urlInput}\n />\n e.stopPropagation()}\n onChange={e => setEditorValues({\n ...editorValues,\n urlValue: e.target.value,\n })}\n type='text'\n value={editorValues.urlValue}\n style={{marginBottom: '0px'}}\n className={styles.urlInput}\n placeholder='Paste a link'\n />\n
\n
\n \n \n Apply\n \n \n
\n
}\n
\n );\n});\n","import {Button, Tooltip} from 'antd';\nimport styles from './style.module.scss';\nimport {EditorState, SelectionState} from 'draft-js';\nimport classNames from 'classnames';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faUnlink} from '@fortawesome/pro-regular-svg-icons';\n\n\ninterface Props {\n editorState: EditorState;\n entityTypeEnhancement: (selection, entityKey) => void;\n}\n\nexport const AnchorRemove = ({editorState, entityTypeEnhancement}: Props) => {\n const removeLink = (e?: any) => {\n e.preventDefault();\n const selection = editorState.getSelection();\n const currentContent = editorState.getCurrentContent();\n const startKey = selection.getStartKey();\n const startOffset = selection.getStartOffset();\n const blockWithLinkAtBeginning = currentContent.getBlockForKey(startKey);\n\n const prevOffset = startOffset - 1;\n const characterList = blockWithLinkAtBeginning.getCharacterList();\n const prevChar = characterList.get(prevOffset);\n const nextChar = characterList.get(startOffset);\n const anchorKey = selection.getAnchorKey();\n\n\n let updatedSelection;\n\n\n if (!prevChar || !nextChar) {\n return;\n } else {\n const prevEntity = prevChar?.getEntity();\n const nextEntity = nextChar?.getEntity();\n\n const entity = prevEntity === nextEntity && prevEntity;\n\n if (entity) {\n let finalPrevOffset = prevOffset;\n let finalNextOffset = startOffset;\n\n while (finalPrevOffset > 0) {\n finalPrevOffset--;\n const char = characterList.get(finalPrevOffset);\n if (char.getEntity() !== entity) {\n finalPrevOffset++;\n break;\n }\n }\n\n const blockLength = blockWithLinkAtBeginning.getLength();\n while (finalNextOffset < blockLength) {\n finalNextOffset++;\n\n const char = characterList.get(finalNextOffset);\n if (char?.getEntity() !== entity) {\n break;\n }\n }\n\n updatedSelection = new SelectionState({\n anchorKey: anchorKey, // key of block\n anchorOffset: finalPrevOffset,\n focusKey: anchorKey,\n focusOffset: finalNextOffset, // key of block\n hasFocus: true,\n // isBackward: false // isBackward = (focusOffset < anchorOffset)\n });\n\n if (!updatedSelection.isCollapsed()) {\n entityTypeEnhancement(updatedSelection, null);\n }\n } else {\n entityTypeEnhancement(selection, null);\n }\n }\n };\n\n return (\n
\n \n removeLink(e)}\n className={classNames(styles.button, {[styles.active]: editorState.getCurrentInlineStyle().toJS().includes('LINK')} )}\n >\n \n \n \n
\n );\n};\n","import {Button} from '@/components/common-components/v2/Button';\nimport {faImage} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Tooltip} from 'antd';\nimport styles from '../../style.module.scss';\nimport styled from 'styled-components';\n\n\ninterface Props {\n openDrawer: (value: boolean) => void;\n}\n\nexport const AddImage = ({openDrawer}: Props) => {\n const onAddImage = () => {\n openDrawer(true);\n };\n\n return \n \n \n \n AI Image Creator\n \n \n ;\n};\n\nconst ButtonStyled = styled(Button)`\n color: #4E5156;\n background-color: RGBA(36,63,104,0.15);\n padding: 5px 10px !important;\n margin-top: -3px;\n`;\n","/* eslint-disable @next/next/no-img-element */\nimport React, {useEffect, useRef, useState} from 'react';\nimport {Button, Tooltip, Upload} from 'antd';\nimport styles from './style.module.scss';\nimport {AtomicBlockUtils, EditorState} from 'draft-js';\nimport {Input} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCloudArrowUp, faTrashXmark} from '@fortawesome/pro-light-svg-icons';\nimport {CONTENT_ASSISTANT_API} from '@/api/ContentAssistant';\nimport {notification} from '@/utils/notifications';\nimport {NextImg} from '@/utils/nextImg';\n\nconst {Dragger} = Upload;\n\ninterface Props {\n updateText: (state: EditorState) => void;\n editorState: any;\n setShowNewUrlEditor: any;\n}\n\nexport const BrowseImage = observer(({setShowNewUrlEditor, updateText, editorState}: Props) => {\n const {\n contentOptimizer: {\n currentPage: {currentEditorState},\n },\n } = useStore('');\n const [loader, setLoader] = useState(false);\n const [isError, setIsError] = useState('');\n const [editorValues, setEditorValues] = useState({\n urlValue: '',\n altValue: '',\n height: 0,\n width: 0,\n });\n const dateRef = useRef(null);\n\n // Close anchor form popup by clicking anywhere on the screen\n useEffect(() => {\n function handleClickOutside(event) {\n if (\n dateRef.current &&\n !dateRef.current.parentElement.contains(event.target)\n ) {\n setEditorValues({\n urlValue: '',\n altValue: '',\n height: 0,\n width: 0,\n });\n setIsError('');\n setImgFile(null);\n setImage(null);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [dateRef]);\n\n const insertText = (img:any) => {\n const currentContent = currentEditorState.getCurrentContent();\n if (image) {\n const contentStateWithEntity = currentContent.createEntity(\n 'customImage',\n 'IMMUTABLE',\n {src: img, alt: editorValues.altValue, height: editorValues.height ? `${editorValues.height}%` : '100%', width: editorValues.width ? `${editorValues.width}%` : '100%'},\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n return AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' ');\n }\n return editorState;\n };\n\n const sendTextToEditor = async () => {\n setLoader(true);\n const formData = new FormData();\n formData.append('image', imgFile);\n try {\n const res = await CONTENT_ASSISTANT_API.uploadImage(formData);\n setImage(res.data.image);\n const contentState = insertText(res.data.image);\n updateText(contentState);\n setEditorValues({\n urlValue: '',\n altValue: '',\n height: 0,\n width: 0,\n });\n setImgFile(null);\n setImage(null);\n setShowNewUrlEditor(false);\n } catch (e:any) {\n notification.error('Something went wrong!');\n setShowNewUrlEditor(false);\n } finally {\n setLoader(false);\n }\n };\n\n const ele = document.getElementById('numberHeight');\n ele?.addEventListener('keydown', function(e) {\n const keyCode = e.which || e.keyCode;\n if (keyCode === 69 || keyCode === 187 || keyCode === 189) {\n e.preventDefault();\n }\n });\n\n const closeModal = () => {\n setImgFile(null);\n setImage(null);\n setEditorValues({\n urlValue: '',\n altValue: '',\n height: 0,\n width: 0,\n });\n setIsError('');\n setShowNewUrlEditor(false);\n };\n\n const [image, setImage] = useState(null);\n const [imgFile, setImgFile] = useState();\n\n const handleImageChange = (selectedFile: any) => {\n setImgFile(selectedFile);\n if (selectedFile) {\n const reader = new FileReader();\n reader.onloadend = () => {\n const result = reader.result as string;\n setImage(result);\n };\n reader.readAsDataURL(selectedFile);\n setEditorValues({\n ...editorValues,\n urlValue: image,\n });\n }\n };\n\n const deleteImage = () => {\n setImgFile(null);\n setImage(null);\n };\n\n const RequiredFileType = 'image/jpg,image/png,image/jpeg,image/svg';\n\n return (\n
\n

Image source

\n {image ?\n
\n
\n \n
\n
{imgFile?.name}
\n

\n
:\n {\n // setDisableBtn(false);\n if (RequiredFileType.split(',').includes(data?.file?.type)) {\n setIsError('');\n handleImageChange(data.file);\n } else {\n setIsError('Wrong file format selected!');\n }\n }}\n onDrop={ e => {\n // setDisableBtn(false);\n const getFile = e.dataTransfer.files?.length ? e.dataTransfer.files[0] : null;\n if (RequiredFileType.split(',').includes(getFile?.type)) {\n setIsError('');\n handleImageChange(getFile);\n } else {\n setIsError('Wrong file format selected!');\n }\n } }\n >\n
\n \n

\n Drag & Drop image here
or Click to browse\n

\n
\n
}\n {isError.length > 1 &&

{isError}

}\n

Alt tag (optional)

\n \n e.stopPropagation()}\n onChange={(e: any) =>\n setEditorValues({\n ...editorValues,\n altValue: e.target.value,\n })\n }\n type='text'\n value={editorValues.altValue}\n placeholder=''\n className={styles.urlInput}\n />\n \n \n
\n

Width (optional)

\n \n e.stopPropagation()}\n onChange={(e: any) =>\n setEditorValues({\n ...editorValues,\n width: e.target.value < 101 && e.target.value !== 'e' ? e.target.value : e.target.value !== 'e' ? editorValues.width : 0,\n })\n }\n type='number'\n value={editorValues.width}\n placeholder=''\n max={100}\n min={0}\n className={styles.urlInput}\n id='numberHeight'\n />\n \n
\n
\n

Height (optional)

\n \n e.stopPropagation()}\n onChange={(e: any) =>\n setEditorValues({\n ...editorValues,\n height: e.target.value < 101 && e.target.value !== 'e' ? e.target.value : e.target.value !== 'e' ? editorValues.height : 0,\n })\n }\n type='number'\n value={editorValues.height}\n placeholder=''\n className={styles.urlInput}\n max={100}\n min={0}\n id='numberHeight'\n />\n \n
\n
\n \n Cancel\n \n Add to article\n \n \n
\n );\n});\n\n\nconst InputWraper = styled.div`\n margin-top: 10px;\n background-color: rgba(249, 249, 251, 1) !important;\n border-radius: 9px;\n .ant-input {\n background-color: transparent !important;\n border: none !important;\n margin-bottom: 0 !important;\n padding: 20px 8px 20px 11px !important;\n }\n .ant-input:focus,\n .ant-input-focused {\n box-shadow: none !important;\n }\n p {\n align-items: center;\n display: flex;\n padding: 0 17px 0 10px;\n border-left: 2px solid #c9c7c7;\n margin: 9px 0 7px 0;\n color: blue;\n cursor: pointer;\n }\n`;\n\nconst Pwrapper = styled.div`\n text-align: initial;\n margin: 18px 0 0 8px;\n font-weight: 400;\n display: flex;\n justify-content: end;\n span {\n color: blue;\n }\n .ant-btn[disabled]{\n background-color: #2d6cca80 !important;\n span{\n color: white !important;\n }\n }\n\n`;\n\nconst AtributeWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n .ant-input {\n width: 143px !important;\n }\n`;\n\nconst CancelBtn = styled(Button)`\n background-color: transparent;\n color: black !important;\n height: 38px;\n border-radius: 9px;\n border: 1px solid lightgray !important;\n &:hover{\n background-color:white !important;\n color:black;\n border: 1px solid lightgray;\n\n }\n span{\n color: black;\n }\n`;\n\nconst AddBtn = styled(Button)`\n margin-left: 15px;\n background-color: #2D6CCA;\n height: 38px;\n border-radius: 9px;\n span {\n color: white;\n }\n &:hover {\n background-color: #2D6CCA !important;\n }\n &:active {\n background-color: #2D6CCA !important;\n }\n &:focused {\n background-color: #2D6CCA !important;\n }\n`;\n\nconst StyleDragger = styled(Dragger)<{isError?: any}>`\nbackground-color: white !important;\nheight: 152px !important;\nborder-radius: 10px !important;\nborder-color: ${p=> p.isError?.length > 1 ? 'red' : ''} !important;\n.dragInner{\n p{\n text-align: center;\n font-size: 12px;\n span{\n color: #2D6CCA;\n }\n }\n svg{\n height: 36px;\n color: #4E5156;\n }\n}\n&:hover{\nborder-color: ${p=> p.isError?.length > 1 ? 'red' : '#d9d9d9'} !important;\n}\n`;\n","/* eslint-disable @next/next/no-img-element */\nimport React, {useState} from 'react';\nimport {Button} from 'antd';\nimport styles from './style.module.scss';\nimport {AtomicBlockUtils, EditorState} from 'draft-js';\nimport {Input} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\n\ninterface Props {\n updateText: (state: EditorState) => void;\n editorState: any;\n setShowNewUrlEditor:any;\n}\n\nexport const UploadURL = observer(({setShowNewUrlEditor, updateText, editorState}: Props) => {\n const {\n contentOptimizer: {\n currentPage: {currentEditorState},\n },\n } = useStore('');\n const imgRegex = /.(gif|png|apng|jpg|jpeg|tiff|webp|psd|indd|svg|bmp|xcf)((\\?|\\/).*)?$/;\n const [editorValues, setEditorValues] = useState({\n urlValue: '',\n altValue: '',\n height: 0,\n width: 0,\n });\n\n const imageFormat = url => editorValues.urlValue && !(imgRegex.test(url) && /^((http|https):\\/\\/)/.test(url));\n // Close anchor form popup by clicking anywhere on the screen\n\n const insertText = () => {\n const currentContent = currentEditorState.getCurrentContent();\n let imageUrl = '';\n const urlPattern = /^((http|https):\\/\\/)/;\n const formatUrl = urlPattern.test(editorValues.urlValue) ? editorValues.urlValue : `http://${editorValues.urlValue}`;\n imageUrl = formatUrl;\n if (imageUrl) {\n const contentStateWithEntity = currentContent.createEntity(\n 'customImage',\n 'IMMUTABLE',\n {src: imageUrl, alt: editorValues.altValue, height: editorValues.height ? `${editorValues.height}%` : '100%', width: editorValues.width ? `${editorValues.width}%` : '100%'},\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n return AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' ');\n }\n return editorState;\n };\n\n const sendTextToEditor = () => {\n const imageUrl = editorValues.urlValue;\n if (imageUrl) {\n const contentState = insertText();\n updateText(contentState);\n setEditorValues({\n urlValue: '',\n altValue: '',\n height: 0,\n width: 0,\n });\n setShowNewUrlEditor(false);\n }\n };\n\n const ele = document.getElementById('numberHeight');\n ele?.addEventListener('keydown', function(e) {\n const keyCode = e.which || e.keyCode;\n if (keyCode === 69 || keyCode === 187 || keyCode === 189) {\n e.preventDefault();\n }\n });\n\n const closeModal = () => {\n setEditorValues({\n urlValue: '',\n altValue: '',\n height: 0,\n width: 0,\n });\n setShowNewUrlEditor(false);\n };\n\n return (<>\n

Image source

\n \n e.stopPropagation()}\n onChange={(e: any) =>\n setEditorValues({\n ...editorValues,\n urlValue: e.target.value,\n })\n }\n type='text'\n value={editorValues.urlValue}\n placeholder='Paste image URL...'\n className={styles.urlInput}\n />\n \n {imageFormat(editorValues.urlValue) &&

Invalid image URL!

}\n

Alt tag (optional)

\n \n e.stopPropagation()}\n onChange={(e: any) =>\n setEditorValues({\n ...editorValues,\n altValue: e.target.value,\n })\n }\n type='text'\n value={editorValues.altValue}\n placeholder=''\n className={styles.urlInput}\n />\n \n \n
\n

Width (optional)

\n \n e.stopPropagation()}\n onChange={(e: any) =>\n setEditorValues({\n ...editorValues,\n width: e.target.value < 101 && e.target.value !== 'e' ? e.target.value : e.target.value !== 'e' ? editorValues.width : 0,\n })\n }\n type='number'\n value={editorValues.width}\n placeholder=''\n max={100}\n min={0}\n className={styles.urlInput}\n id='numberHeight'\n />\n \n
\n
\n

Height (optional)

\n \n e.stopPropagation()}\n onChange={(e: any) =>\n setEditorValues({\n ...editorValues,\n height: e.target.value < 101 && e.target.value !== 'e' ? e.target.value : e.target.value !== 'e' ? editorValues.height : 0,\n })\n }\n type='number'\n value={editorValues.height}\n placeholder=''\n className={styles.urlInput}\n max={100}\n min={0}\n id='numberHeight'\n />\n \n
\n
\n \n Cancel\n \n Add to article\n \n \n \n );\n});\n\nconst InputWraper = styled.div`\n margin-top: 10px;\n background-color: rgba(249, 249, 251, 1) !important;\n border-radius: 9px;\n .ant-input {\n background-color: transparent !important;\n border: none !important;\n margin-bottom: 0 !important;\n padding: 20px 8px 20px 11px !important;\n }\n .ant-input:focus,\n .ant-input-focused {\n box-shadow: none !important;\n }\n p {\n align-items: center;\n display: flex;\n padding: 0 17px 0 10px;\n border-left: 2px solid #c9c7c7;\n margin: 9px 0 7px 0;\n color: blue;\n cursor: pointer;\n }\n`;\n\nconst Pwrapper = styled.div`\n text-align: initial;\n margin: 18px 0 0 8px;\n font-weight: 400;\n display: flex;\n justify-content: end;\n span {\n color: blue;\n }\n .ant-btn[disabled]{\n background-color: #2d6cca80 !important;\n span{\n color: white !important;\n }\n }\n`;\n\nconst AtributeWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n .ant-input {\n width: 143px !important;\n }\n`;\n\nconst CancelBtn = styled(Button)`\n background-color: transparent;\n color: black !important;\n height: 38px;\n border-radius: 9px;\n border: 1px solid lightgray !important;\n &:hover{\n background-color:white !important;\n color:black;\n border: 1px solid lightgray;\n\n }\n span{\n color: black;\n }\n`;\n\nconst AddBtn = styled(Button)`\n margin-left: 15px;\n background-color: #2D6CCA;\n height: 38px;\n border-radius: 9px;\n span {\n color: white;\n }\n &:hover {\n background-color: #2D6CCA;\n }\n`;\n","/* eslint-disable @next/next/no-img-element */\nimport React, {useEffect, useRef, useState} from 'react';\nimport {Tabs, Button, Tooltip} from 'antd';\nimport styles from './style.module.scss';\nimport {EditorState} from 'draft-js';\nimport classNames from 'classnames';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faFileImage} from '@fortawesome/pro-light-svg-icons';\nimport {BrowseImage} from './browseFile';\nimport {UploadURL} from './urlUpload';\n\ninterface Props {\n updateText: (state: EditorState) => void;\n editorState: any;\n}\n\nexport const UploadImage = observer(({updateText, editorState}: Props) => {\n const {\n contentOptimizer: {\n currentPage: {currentEditorState},\n },\n } = useStore('');\n const [showNewUrlEditor, setShowNewUrlEditor] = useState(false);\n const dateRef = useRef(null);\n\n\n useEffect(() => {\n function handleClickOutside(event) {\n if (\n dateRef.current &&\n !dateRef.current.parentElement.contains(event.target)\n ) {\n setShowNewUrlEditor(false);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [dateRef]);\n\n\n const iconClicked = (e?: any) => {\n e.preventDefault();\n setShowNewUrlEditor(true);\n };\n\n const ele = document.getElementById('numberHeight');\n ele?.addEventListener('keydown', function(e) {\n const keyCode = e.which || e.keyCode;\n if (keyCode === 69 || keyCode === 187 || keyCode === 189) {\n e.preventDefault();\n }\n });\n\n return (\n
\n \n iconClicked(e)}\n className={classNames(styles.button, {\n [styles.active]: currentEditorState\n .getCurrentInlineStyle()\n .toJS()\n .includes('LINK'),\n })}\n >\n \n \n \n {showNewUrlEditor && (\n \n \n

Upload image

\n \n \n \n \n \n \n \n \n
\n
\n )}\n
\n );\n});\n\nconst FileBtn = styled(Button)`\n padding: 4px 6px 6px 6px;\n svg {\n height: 17px;\n color: gray;\n }\n`;\n\n\nconst StyledTabs = styled(Tabs)`\n .ant-tabs-ink-bar {\n background: rgba(45, 108, 202, 1); \n height: 5px !important;\n border-radius: 3px 3px 0px 0px;\n }\n .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {\n color: rgba(18, 18, 18, 1);\n }\n .ant-tabs-tab:hover {\n color: rgba(18, 18, 18, 1);\n }\n .ant-tabs-nav{\n margin-bottom: 5px !important;\n }\n`;\nconst StyledInputContainer = styled.div`\n .cloudIcon {\n height: 36px !important;\n }\n .trashIcon {\n width: 14px !important;\n height: 16px !important;\n cursor: pointer;\n &:hover{\n color: red;\n }\n }\n .styledImage {\n width: 38px !important;\n height: 38px !important;\n border-radius: 6px;\n }\n .imageContainer {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 38px !important;\n height: 38px !important;\n border-radius: 6px; \n border: 2px solid;\n border-color: white;\n overflow: hidden;\n }\n`;\nconst Popup = styled.div`\n width: 376px !important;\n`;\n","/* eslint-disable @next/next/no-img-element */\nimport React, {useEffect, useRef, useState} from 'react';\nimport {Button, Tooltip} from 'antd';\nimport {EditorState} from 'draft-js';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faRectangleCode} from '@fortawesome/pro-regular-svg-icons';\nimport {AtomicBlockUtils} from 'draft-js';\nimport {Textarea} from '@/components/common-components/components/form/input/input';\nimport {LargeBadge} from '@/components/common-components/components/badge';\n\ninterface Props {\n updateText: (state: EditorState) => void;\n editorState: any;\n}\n\nexport const InsertIframe = observer(({updateText, editorState}: Props) => {\n const {\n contentOptimizer: {\n currentPage: {currentEditorState},\n },\n } = useStore('');\n const [showIframeEditor, setShowIframeEditor] = useState(false);\n const [url, setUrl] = useState('');\n const dateRef = useRef(null);\n\n\n useEffect(() => {\n function handleClickOutside(event) {\n if (\n dateRef.current &&\n !dateRef.current.parentElement.contains(event.target)\n ) {\n setShowIframeEditor(false);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [dateRef]);\n\n\n const iconClicked = (e?: any) => {\n e.preventDefault();\n setShowIframeEditor(true);\n };\n\n const ele = document.getElementById('numberHeight');\n ele?.addEventListener('keydown', function(e) {\n const keyCode = e.which || e.keyCode;\n if (keyCode === 69 || keyCode === 187 || keyCode === 189) {\n e.preventDefault();\n }\n });\n\n const insertText = contentData => {\n const currentContent = currentEditorState.getCurrentContent();\n if (contentData) {\n const contentStateWithEntity = currentContent.createEntity(\n 'iframe',\n 'IMMUTABLE',\n {\n content: contentData,\n },\n );\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\n const newEditorState = EditorState.set(editorState, {\n currentContent: contentStateWithEntity,\n });\n return AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' ');\n }\n\n return editorState;\n };\n\n const sendTextToEditor = async () => {\n const urlPattern = /^((http|https):\\/\\/)/;\n const iframeUrl = urlPattern.test(url) ? url : `http://${url}`;\n const iframeRegex = /]+src=\"([^\"]+)\"[^>]*>/;\n const match = iframeUrl.match(iframeRegex);\n\n let contentData: any = {\n src: iframeUrl,\n title: 'content',\n height: '315px',\n width: '100%',\n frameBorder: '0',\n allow: 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share',\n referrerPolicy: 'strict-origin-when-cross-origin',\n allowFullScreen: true,\n };\n\n if (match && match[1]) {\n if (match && match[1]) {\n contentData = match[0];\n }\n }\n\n if (contentData) {\n const contentState = insertText(contentData);\n updateText(contentState);\n setShowIframeEditor(false);\n }\n };\n\n return (\n
\n \n iconClicked(e)}\n >\n \n \n \n {showIframeEditor && (\n \n
\n

iFrame URL

\n setUrl(e.target.value)}>\n
\n sendTextToEditor()}>Insert iFrame\n setShowIframeEditor(false)}>Cancel\n
\n
\n
\n )}\n
\n );\n});\n\nconst FileBtn = styled(Button)`\ndisplay: flex;\nalign-items: center;\n padding: 4px 6px 6px 6px;\n svg {\n height: 17px;\n color: gray;\n }\n`;\n\nconst StyledPopup = styled.div`\n width: 490px !important;\n height: 235px;\n background: #fff;\n border: 1px solid #D2D2D2;\n border-radius: 5px;\n box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);\n display: flex;\n padding: 10px 10px 20px;\n position: absolute;\n width: 330px;\n z-index: 2;\n p {\n color: rgb(78, 81, 86);\n }\n\n .inputContainer {\n margin-left: 10px;\n margin-right: 10px;\n text-align: initial;\n width: 100%;\n\n svg {\n height: 12px;\n }\n\n .textLabel {\n color: #121212 !important;\n font-size: 12px;\n font-weight: 400;\n margin-bottom: 5px !important;\n margin-left: 0 !important;\n margin-right: 0 !important;\n margin-top: 10px !important;\n text-align: left;\n }\n\n p {\n margin-bottom: 0;\n margin-left: 0;\n margin-right: 0;\n margin-top: 10px;\n }\n }\n`;\n\nconst StyledUrlContainer = styled(Textarea)`\n width: 460px;\n height: 130px;\n border-radius: 8px;\n border: 1px solid #D2D2D2;\n padding: 10px 13px;\n text-align: left;\n line-height: 1.5;\n display: flex;\n align-items: flex-start;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n background-color: #FFFFFF;\n color: #121212;\n`;\nconst InsertButton = styled(Button)`\n background-color: #2D6CCA;\n padding: 5px 15px;\n border-radius: 6px;\n color: #FFFFFF;\n\n &:hover {\n background-color: #1E5BB8;\n color: #FFFFFF;\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px rgba(45, 108, 202, 0.5);\n }\n\n &:disabled {\n background-color: #A6C1E6;\n color: #FFFFFF;\n cursor: not-allowed;\n }\n`;\n\nconst CancelButton = styled(Button)`\n background-color: #F2F2F5;\n color: #4E5156;\n padding: 5px 15px;\n border-radius: 6px;\n\n &:hover {\n background-color: #E0E0E5;\n color: #4E5156;\n border: 1px solid transparent;\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px rgba(242, 242, 245, 0.5);\n border: 1px solid transparent;\n }\n`;\n","import React, {useCallback} from 'react';\nimport {EditorState, RichUtils} from 'draft-js';\nimport styles from '../style.module.scss';\nimport {Button, Tooltip, Select} from 'antd';\nimport {Button as V2Button} from '@/components/common-components/v2/Button';\nimport {Header} from './Header';\nimport {UnorderedList} from './UnorderedList';\nimport {CaretDownOutlined, RedoOutlined, UndoOutlined} from '@ant-design/icons';\nimport {observer} from 'mobx-react-lite';\nimport {useStore} from '@/store/root-store';\nimport {Bold} from './Bold';\nimport {Italic} from './Italic';\nimport {Underline} from './Underline';\nimport {OrderedList} from './OrderedList';\nimport {Code} from './Code';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faChevronRight} from '@fortawesome/pro-light-svg-icons';\nimport {Anchor} from './Anchor';\nimport classNames from 'classnames';\nimport styled from 'styled-components';\nimport {AnchorRemove} from './AnchorRemove';\nimport {debounce, isNil} from 'lodash';\nimport {AddImage} from './AddImage/AddImage';\nimport {faWandMagicSparkles} from '@fortawesome/pro-duotone-svg-icons';\nimport {toJS} from 'mobx';\nimport {UploadImage} from './UploadImage';\nimport {InsertIframe} from './insertIframe';\n// import TableGrid from './TableGrid';\n\n\nexport const Toolkit: React.FC = observer(() => {\n const {contentOptimizer:\n {aiOutline: {\n setIsOpenAiWriterDrawer,\n setAiTemplate,\n aiTemplatesController,\n setAiWriter,\n }, currentPage: {\n showAiBanner,\n isTaActive,\n setIsSideBarHidden,\n setIsUnspashDrawerOpen,\n isSideBarHidden,\n aiTooltip,\n analytics,\n setAiTooltip,\n editContent,\n focusTermsClassNames,\n isExportingPage,\n setCurrentEditorState,\n currentEditorState,\n setZoomLevel,\n zoomLevel,\n newPage,\n currentStep,\n isPublic,\n updatingFolder,\n }}} = useStore('');\n const {settings: {customer: {profile: {isLinkgraph}}}} = useStore('');\n\n const debouncedChange = debounce((state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations = false) => {\n // we are then calling the edit content method which will fire the API call and send new state to the BE\n editContent(state, isNewDecorations);\n\n if (aiTooltip.show) {\n setAiTooltip({...aiTooltip, show: false, isLinkEdit: false});\n }\n }, 2000);\n\n const debouncedUpdate = useCallback(\n (state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations) => debouncedChange(state, focusTerms, focusTermsClassNames, isNewDecorations),\n // eslint-disable-next-line\n []\n );\n\n const onEditorChange = (editorState: EditorState, isNewDecorations: boolean = false) => {\n setCurrentEditorState(editorState);\n\n // We are comparing current editor state with udpated one to make sure the flow only triggers once there is an actual content change (adding removing of words, formatting, linkjng etc.)\n debouncedUpdate(editorState, analytics?.focusTerms, focusTermsClassNames, isNewDecorations);\n };\n\n const blockTypeEnhancement = (block: string) => {\n onEditorChange(RichUtils.toggleBlockType(currentEditorState, block), true);\n };\n\n const inlineStyleEnhancement = (style: string) => {\n onEditorChange(RichUtils.toggleInlineStyle(currentEditorState, style), true);\n };\n\n const entityTypeEnhancement = (selection: any, entityKey: string) => {\n onEditorChange(RichUtils.toggleLink(currentEditorState, selection, entityKey), true);\n };\n\n const updateText = (newState: EditorState) => {\n onEditorChange(newState, true);\n };\n\n const undo = () => {\n onEditorChange(EditorState.undo(currentEditorState), true);\n };\n\n const redo = () => {\n onEditorChange(EditorState.redo(currentEditorState), true);\n };\n\n return (\n
\n
\n
\n \n \n \n \n \n {/* */}\n \n \n {/* */}\n \n
\n \n \n \n \n \n \n \n setZoomLevel(value)} suffixIcon={}>\n 50%\n 75%\n 90%\n 100%\n 120%\n 150%\n 200%\n \n \n \n {isLinkgraph && }\n {/* */}\n
\n
\n \n {(!isPublic && !showAiBanner && !isTaActive) &&\n \n {\n setIsOpenAiWriterDrawer(true);\n setAiWriter({\n showForm: true,\n templateUsed: 'new-ai-writer',\n templateIcon: 'hand-write-icon-color.svg',\n templateName: 'Complete SEO Article',\n templateDesc: 'Generate a full article from just a keyword (topic) or customize the article based on your ranking goals.',\n isStandaloneTool: false,\n });\n setAiTemplate({\n ...toJS(aiTemplatesController ?? []),\n isUseMask: true,\n });\n }}>\n \n \n Write with AI\n \n \n }\n\n \n
setIsSideBarHidden(!isSideBarHidden)}>\n \n
\n
\n\n
\n
\n\n );\n});\n\nconst SelectStyled = styled(Select)`\n font-size: 12px;\n .ant-select-selector {\n border: 0 !important;\n }\n`;\n","import {useState, useEffect, useRef} from 'react';\nimport styles from '../../style.module.scss';\nimport {TargetKeywordsType} from '@/store/content-optimizer/TargetKeywordsModel';\nimport {CaretDownOutlined} from '@ant-design/icons';\nimport {\n Form,\n Typography,\n Progress,\n Popover,\n Row,\n Col,\n Tooltip,\n} from 'antd';\nimport {Button, CommonInput, SkeletonHorizontalLoaderGray} from '@/components/common-components/components';\nimport isEmpty from 'lodash/isEmpty';\nimport {Globe} from 'react-feather';\nimport Flag from '@/components/common-components/components/flag';\nimport {useTranslation} from 'next-i18next';\nimport {CurrentPageStore, targetKeywords} from '@/store/content-optimizer/currentPage';\nimport {getProgressColor, getInverseProgressColor} from '@/utils/colors';\nimport {useStore} from '@/store/root-store';\nimport debounce from 'lodash/debounce';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faArrowLeft, faGlobe, faInfoCircle, faMapMarkerAlt, faPen, faTimes} from '@fortawesome/pro-light-svg-icons';\nimport classNames from 'classnames';\nimport {formatNumber} from '@/utils/number';\nimport {\n // faChartBar,\n faCheck, faSearch, faTrash} from '@fortawesome/pro-regular-svg-icons';\nimport {observer} from 'mobx-react-lite';\nimport {SCA_PAGE_UPDATE_KEYWORD_LOCATION} from '@/constants/events';\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {faLocationDot} from '@fortawesome/pro-solid-svg-icons';\nimport {costPerClickFormatter, searchVolumeFormatter} from '../../../../EditorSection/content-editor/utils';\n\n\ninterface Props {\n kw: TargetKeywordsType;\n idx: number;\n store: CurrentPageStore;\n keywordsFormProps?: targetKeywords;\n editKeywords: (keywords: string[]) => Promise;\n callback?: (keywords: string[]) => void;\n}\n\n\nconst useClickedOnPageHandler = (ref, callback) => {\n useEffect(() => {\n const handleClickOutside = event => {\n event.stopPropagation();\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [ref]);\n};\n\n\nexport const SingleKeywordDataCard = observer(({kw, idx, keywordsFormProps, store, callback}: Props) => {\n const {countries: {getSpecificCountryByCode}, contentOptimizer: {currentPage: {isPublic}}} = useStore('');\n const {Text} = Typography;\n const {t} = useTranslation('landing-page-optimizer');\n const Input = CommonInput;\n const [form] = Form.useForm();\n const updateKeyword = Form.useWatch('keyword', form);\n const {settings: {customer: {getCustomerQuota, profile: {quotaUtilization}}}, plans: {showSidebarPaymentDrawer}} = useStore('');\n const {keywordResearcherV2: {postNewKeywords, keywordDetails: {loadKeywordDetailList, loadKeywordDetails, setDetailsRepolling}}} = useStore('');\n const [isKwNameEdit, setIsKwNameEdit] = useState(false);\n const [showLocationSelector, setShowLocationSelector] = useState(false);\n const [isEditDefaultLocation, setIsEditDefaultLocation] = useState(false);\n const popRef = useRef(null);\n\n\n const [showKwErrorMsg, setShowKwErrorMsg] = useState({\n showMessage: false,\n message: '',\n });\n\n\n useClickedOnPageHandler(popRef, async () => {\n await new Promise(r => setTimeout(r, 100));\n setShowLocationSelector(false);\n });\n\n const removeTargetKeywords = async () => {\n const keywordsArray = store.feTargetKeywords?.filter((feKw, index) => index !== idx);\n store.updateFeTargetKeywords(keywordsArray);\n\n let payload;\n if (kw.locationId && kw.location) {\n payload = {\n keyword: kw.keyword,\n countryCode: '',\n locationId: kw.locationId,\n location: kw.location,\n };\n } else if (kw.countryCode) {\n payload = {\n keyword: kw.keyword,\n countryCode: kw.countryCode,\n locationId: null,\n location: null,\n };\n } else if (!kw.locationId && !kw.countryCode) {\n payload = {\n keyword: kw.keyword,\n countryCode: '',\n locationId: null,\n location: null,\n };\n }\n try {\n await store?.editKeywords(payload, 'delete');\n getCustomerQuota();\n } catch (err) {\n if (err?.response?.status === 429) {\n showSidebarPaymentDrawer(null, {title: 'You need more Content Genius focus terms quota to continue', subtitle: '', text: `Current limit: ${quotaUtilization?.ca?.allowedFocusTerms?.total} lookups`});\n }\n return Promise.reject(err);\n }\n };\n\n\n useEffect(() => {\n if (!isEmpty(keywordsFormProps)) {\n form.setFieldsValue(kw);\n }\n }, [kw, form]);\n\n const postAndGetData = async (keyword, countryCode, locationId) => {\n const data = {'name': keyword, 'keywords': [`${keyword}`], 'is_recent_search': true};\n if (locationId) {\n data['location_id'] = locationId;\n } else {\n data['country_code'] = countryCode ? countryCode : '';\n }\n const response = await postNewKeywords(data);\n setDetailsRepolling(true);\n if (response?.id && response?.keywords?.length) {\n loadKeywordDetailList(response.id);\n loadKeywordDetails(response.id, response?.keywords[0], response?.locationId, response?.countryCode);\n }\n };\n\n const kwClickHandler = (kw: string) => {\n const keyword = [...store.content.targetKeywords].filter(item => item.keyword === kw)[0];\n const countryCode = keyword?.countryCode || '';\n const location = keyword?.locationId || null;\n store.setIsDrawerFromCa(true);\n store.setActiveTargetKw(kw);\n store.setIsOpenKeywordDrawer(true);\n postAndGetData(kw, countryCode, location);\n };\n\n\n const onFinish = async (values: { [key: string]: string }) => {\n if ('location-search' in values) return;\n\n const formKeyword = Object.values(values)\n .filter(item => item !== undefined && item !== '');\n\n\n if (formKeyword[0]?.length > 80 || formKeyword[0]?.split(' ')?.length > 10) {\n setShowKwErrorMsg({\n showMessage: true,\n message: 'Max 10 words or 80 char. allowed',\n });\n return;\n }\n\n if (formKeyword[0] === kw.keyword || store.feTargetKeywords?.filter(kw => kw.keyword.toLowerCase() === formKeyword[0].trim().toLowerCase()).length > 0) {\n setShowKwErrorMsg({\n showMessage: true,\n message: 'This keyword already exists.',\n });\n return;\n }\n\n const formatArray = [...store.feTargetKeywords];\n\n const preparedKeyword = {\n keyword: formKeyword[0].trim().toLowerCase(),\n countryCode: formatArray[idx].countryCode,\n location: formatArray[idx].location,\n locationId: formatArray[idx].locationId,\n id: formatArray[idx].id,\n };\n\n formatArray[idx] = preparedKeyword;\n\n store.updateFeTargetKeywords(formatArray);\n\n const kwArray = store.feTargetKeywords?.map(item => {\n return {\n countryCode: item.countryCode,\n keyword: item.keyword,\n location: item.location,\n locationId: item.locationId,\n id: item.id,\n };\n });\n\n try {\n setIsKwNameEdit(false);\n\n await store?.editKeywords({...preparedKeyword}, 'edit');\n getCustomerQuota();\n setShowKwErrorMsg({\n showMessage: false,\n message: '',\n });\n } catch (e) {\n return Promise.reject(e);\n }\n\n if (callback) callback(kwArray);\n };\n\n\n /* When selecting location */\n const locationSelected = async (location: string, locationId: number, reach: number, countryCode: string) => {\n // let isMatch = false;\n // if we are in default location selection mode and if selected location doesnt match default location\n if (isEditDefaultLocation ) {\n if (!locationId && !countryCode) {\n store.updatelocationData('', '', null, null);\n }\n\n if (countryCode !== store.content.countryCode || locationId != store.content.locationId) {\n store.updatelocationData(countryCode, location, locationId, reach);\n }\n }\n\n // If we are not in default location selection mode, set location for that target keyword\n if (!isEditDefaultLocation) {\n // return if there is already a keyword with that name and that location\n // store.feTargetKeywords?.forEach(item => {\n // if (item.keyword === kw.keyword && !item.locationId && !locationId ) {\n // if (!item.countryCode && !countryCode || item.countryCode === countryCode) {\n // isMatch = true;\n // return;\n // }\n // };\n\n // if (item.keyword === kw.keyword && item.locationId && locationId && item.locationId === locationId ) {\n // isMatch = true;\n // return;\n // };\n // });\n // if (isMatch) return;\n // const itemIndex = store.feTargetKeywords.findIndex(item => {\n // return item.keyword === kw.keyword && item.locationId === kw.locationId;\n // });\n const formatArray = [...store.feTargetKeywords];\n\n let keywordForFrontendArray;\n if (locationId && location) {\n keywordForFrontendArray = {\n keyword: kw.keyword,\n countryCode: '',\n locationId: locationId,\n location: location,\n };\n } else if (countryCode) {\n keywordForFrontendArray = {\n keyword: kw.keyword,\n countryCode: countryCode,\n locationId: null,\n location: null,\n };\n } else if (!locationId && !countryCode) {\n keywordForFrontendArray = {\n keyword: kw.keyword,\n countryCode: '',\n locationId: null,\n location: null,\n };\n }\n\n if (store.feTargetKeywords?.filter(kw => JSON.stringify({\n keyword: kw.keyword,\n countryCode: kw.countryCode,\n locationId: kw.locationId,\n location: kw.location,\n }) === JSON.stringify({\n keyword: keywordForFrontendArray.keyword,\n countryCode: keywordForFrontendArray.countryCode,\n locationId: keywordForFrontendArray.locationId,\n location: keywordForFrontendArray.location,\n })).length) {\n setShowKwErrorMsg({\n showMessage: true,\n message: 'This keyword already exists for selected location.',\n });\n return;\n }\n\n formatArray[idx] = keywordForFrontendArray;\n\n store.updateFeTargetKeywords(formatArray);\n\n // this mapping is important because we are preparing prop names to match api payload\n // const kwArray = store.feTargetKeywords?.map(item => {\n // return {\n // keyword: item.keyword,\n // location: item.location,\n // locationId: item.locationId,\n // };\n // });\n\n setShowLocationSelector(false);\n setIsEditDefaultLocation(false);\n\n MixPanel.track(SCA_PAGE_UPDATE_KEYWORD_LOCATION, {\n 'pageId': store.content.uuid,\n 'targetKeyword': kw.keyword,\n 'location': location || countryCode,\n 'description': 'Changed location for target keyword',\n });\n\n try {\n await store?.editKeywords({keyword: kw.keyword, countryCode: countryCode, location: location, locationId: locationId, id: kw.id}, 'edit');\n getCustomerQuota();\n } catch (err) {\n return Promise.reject(err);\n }\n }\n };\n\n const locationDebouncerChange = debounce( async (country: string) => {\n try {\n await store?.updateCountriesList(country);\n } catch (err) {\n return Promise.reject(err);\n }\n }, 500);\n\n const openLocationSelector = () => {\n if (!showLocationSelector) {\n setIsEditDefaultLocation(false);\n setShowLocationSelector(true);\n } else {\n setShowLocationSelector(false);\n }\n // form.resetFields();\n };\n\n const searchForLocation = (location?: string) => {\n if (location && location !== '') {\n locationDebouncerChange(location);\n }\n };\n\n return (\n
\n {isKwNameEdit ? <>\n
\n
\n \n \n \n {showKwErrorMsg.showMessage && {showKwErrorMsg.message}}\n
\n
\n \n kw?.keyword.toLowerCase() == updateKeyword?.trim().toLowerCase())?.length}\n >\n \n \n \n \n {\n form.resetFields();\n setShowKwErrorMsg({\n showMessage: false,\n message: '',\n });\n setIsKwNameEdit(false);\n }}\n // disabled={formIsComplete.length <= 0}\n >\n \n \n \n
\n
\n :\n <>\n
\n
\n
\n\n Precise Location:{kw.location ? kw.location : kw.countryCode ? getSpecificCountryByCode(kw.countryCode.toUpperCase())?.name : 'Worldwide'}}\n placement={'top'}\n overlayInnerStyle={{backgroundColor: '#121212', borderRadius: 5, width: 'max-content'}}>\n
\n
isPublic ? {} : kwClickHandler(kw.keyword)}>{kw.keyword}
\n \n \n \n
\n
\n\n\n {/* \n {kw.locationId ? kw.locationId === 2840 ? 'United States' : kw.location : kw.countryCode ? countries[kw.countryCode]?.name ? countries[kw.countryCode]?.name : kw.countryCode : (<>{` Worldwide`})}\n */}\n {/* {kw.serpTaskStatus && kw.serpTaskStatus === 'SUCCESS' || kw.serpTaskStatus === 'FAILURE' ?\n kwClickHandler(kw.keyword)} icon={faExternalLinkSquare} className={styles.keywordDrawerIcon} /> : null} */}\n
\n\n
\n {!isPublic &&\n
\n {/*
kwClickHandler(kw.keyword)}>\n \n
*/}\n\n setIsLocationPopoverVisible(visible)}\n visible={showLocationSelector}\n content={\n
\n {isEditDefaultLocation && <>\n {\n e.stopPropagation();\n setIsEditDefaultLocation(false);\n }}/>\n SELECT DEFAULT LOCATION\n }\n \n \n
\n \n searchForLocation(e.target.value)}\n className={styles.customInput}\n inputType='text'\n variant='transparent'\n placeholder={'Search for location'} />\n {!isEditDefaultLocation && \n \n }\n
\n \n \n
\n
\n \n LOCATION\n REACH\n \n <>\n \n \n {store.content.location || getSpecificCountryByCode(store.content.countryCode)?.name || store.content.countryCode ||\n ( Worldwide)}\n \n {formatNumber(store.content.reach)}\n \n {`Default location. `}{!isEditDefaultLocation && {\n e.stopPropagation();\n setIsEditDefaultLocation(true);\n }}>Change?}\n \n
\n {\n // if this location in list matches either default or current kw location, disable onClickEvent\n if (isEditDefaultLocation && (store.content.locationId || store.content.countryCode) || !isEditDefaultLocation) {\n locationSelected('', null, null, '');\n }\n }}>\n \n Worldwide\n {isEditDefaultLocation && !store.content.locationId || !isEditDefaultLocation && !kw.locationId && !kw.countryCode ? : null}\n {isEditDefaultLocation && !store.content.locationId ?

Default location.

: null}\n \n {'Set as default'}\n \n {store?.countries && store?.countries.length ? store.countries.map((country, id) => {\n return {\n // if this location in list matches either default or current kw location, disable onClickEvent\n if (isEditDefaultLocation && store.content.locationId !== country.locationId || !isEditDefaultLocation && country.locationId === 2840 || country.locationId !== kw.locationId) {\n locationSelected(country.location, country.locationId === 2840 ? null : country.locationId, country.reach, country.locationId === 2840 ? 'US' : country.countryCode);\n }\n }}>\n \n {country.location}\n {isEditDefaultLocation && store.content.locationId === country.locationId || !isEditDefaultLocation && kw.locationId && kw.locationId === country.locationId ? : null}\n {isEditDefaultLocation && store.content.locationId === country.locationId ?

Default location.

: null}\n \n {formatNumber(country.reach)}\n {'Set as default'}\n
;\n }) : {\n // if this location in list matches either default or current kw location, disable onClickEvent\n if (isEditDefaultLocation && (store.content.locationId != 2840) || !isEditDefaultLocation) {\n locationSelected('', null, null, 'US');\n }\n }}>\n \n United States\n {isEditDefaultLocation && store.content.locationId == 2840 || !isEditDefaultLocation && kw.locationId == 2840 ? : null}\n \n {'Set as default'}\n }\n\n
\n\n
\n }\n >\n
{\n e.stopPropagation();\n openLocationSelector();\n }}>\n \n
\n \n {/* eslint-disable-next-line */}\n {kw.serpTaskStatus && kw.serpTaskStatus === 'SUCCESS' || kw.serpTaskStatus === 'FAILURE' ?\n
{\n setShowLocationSelector(false);\n setIsKwNameEdit(true);\n form.setFieldsValue(kw);\n }}>\n \n
: null}\n\n
removeTargetKeywords()}>\n \n
\n
}\n\n\n
\n {kw.serpTaskStatus && kw.serpTaskStatus === 'FAILURE' ?\n

{t('failed-to-load')}

:\n
\n \n {/* \n {t('search-volume')} - {t('global-monthly')}
*/}\n {/* {t('search-volume-keyword')}
*/}\n
\n Location\n SV\n
\n {store.content.countryCode && store.content.countryCode != '' && <>\n \n \n \n \n \n {store.content.countryCode == 'US' ? 'US' : store.content.countryCode == 'GB' ? 'UK' : store.content.countryCode}\n \n \n \n {searchVolumeFormatter(kw?.sv)}\n \n \n
}\n \n \n Worldwide\n \n \n {searchVolumeFormatter(kw?.globalSv)}\n \n \n {kw.svTopCountries != null && kw.svTopCountries && kw.svTopCountries.map((sv, indx) => {\n const _countryCode = sv?.countryCode.toUpperCase();\n if (_countryCode != '') {\n return (\n \n \n {_countryCode != '' && _countryCode != store.content.countryCode && {}}\n\n {_countryCode != '' && _countryCode != store.content.countryCode && ( {_countryCode == 'US' ? 'US' : _countryCode == 'GB' ? 'UK' : getSpecificCountryByCode(_countryCode)?.name})}\n \n {sv?.countryCode != '' && _countryCode != store.content.countryCode && {searchVolumeFormatter(sv?.searchVolume)} }\n \n );\n }\n })}\n
\n }\n >\n\n {kw.serpTaskStatus && kw.serpTaskStatus === 'SUCCESS' ?\n
\n
\n \n SV: {searchVolumeFormatter(kw?.sv)}\n \n
\n\n \n \n
:\n
\n }\n \n \n {t('keyword-difficulty')} - {`${t('score-from')} \n ${t('how-difficulty-rank')} \n ${t('organic-search-results')} \n ${t('authoritativeness')} \n ${t('first-page-google')}`}\n
\n }\n >\n {kw.serpTaskStatus && kw.serpTaskStatus === 'SUCCESS' ?\n
\n
\n \n {t('kd')}: {kw?.kd ?? '-'}\n \n
\n \n
:
}\n \n \n {t('cost-per-click')} - {`${t('average-cost')} ${t('would-pay-google')}`}\n \n }\n >\n {kw.serpTaskStatus && kw.serpTaskStatus === 'SUCCESS' ?\n
\n
\n \n {t('cpc')}: {costPerClickFormatter(kw?.cpc)}\n \n
\n\n
:\n
}\n \n }\n }\n \n );\n});\n","import {useState, useEffect, useRef} from 'react';\nimport {\n Row,\n Col,\n Popover,\n Form,\n Tooltip,\n} from 'antd';\n\nimport {useTranslation} from 'next-i18next';\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {useStore} from '@/store/root-store';\nimport {\n CommonInput,\n Button,\n} from '@/components/common-components/components';\nimport debounce from 'lodash/debounce';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport {faArrowLeft, faGlobe, faInfoCircle, faPlus, faTimes} from '@fortawesome/pro-light-svg-icons';\nimport {observer} from 'mobx-react-lite';\nimport classNames from 'classnames';\nimport {faCheck, faExclamationTriangle, faSearch} from '@fortawesome/pro-regular-svg-icons';\nimport {SCA_PAGE_ADD_KEYWORD} from '@/constants/events';\nimport {SingleKeywordDataCard} from './SingleKeywordDataCard';\nimport styles from '../style.module.scss';\nimport {formatNumber, numberWithCommas} from '@/utils/number';\n\n\ninterface Props {\n parentRef: any;\n expanded: boolean;\n getCustomerQuota?: () => {};\n showSidebarPaymentDrawer?: any;\n}\n\nconst Input = CommonInput;\n\nconst useClickedOnPageHandler = (ref, callback) => {\n useEffect(() => {\n const handleClickOutside = event => {\n event.stopPropagation();\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [ref]);\n};\n\n\nexport const TargetKeywords = observer(({expanded, getCustomerQuota, showSidebarPaymentDrawer}: Props) => {\n const {\n countries: {getSpecificCountryByCode},\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n const {settings: {customer: {profile: {quotaUtilization}}}} = useStore('');\n const {contentOptimizer: {currentPage: {isPublic}}} = useStore('');\n const {t} = useTranslation('landing-page-optimizer');\n\n const [form] = Form.useForm();\n const [showKwErrorMsg, setShowKwErrorMsg] = useState({\n showMessage: false,\n message: '',\n });\n const [isAddingNewKw, setIsAddingNewKw] = useState(false);\n const [newKwValue, setNewKwValue] = useState('');\n const [kwLengthErr, setKwLengthErr] = useState({\n showMessage: false,\n message: '',\n });\n const targetrKeywordsContainer = useRef(null);\n\n useEffect(() => {\n const addHorizontalScroll = e => {\n // If we are scrolling inside suggestions container\n if (targetrKeywordsContainer.current && targetrKeywordsContainer.current.contains(e.target)) {\n // Disable vertical scroll for main container\n const topScroll = window.scrollY;\n const leftScroll = window.scrollX;\n window.onscroll = e => {\n if (!expanded) {\n e.preventDefault();\n window.scrollTo(leftScroll, topScroll);\n }\n };\n // Scroll suggestions container\n if (e.deltaY > 0) {\n if (e.deltaY > 50) {\n targetrKeywordsContainer.current.scrollLeft += 30;\n } else {\n targetrKeywordsContainer.current.scrollLeft += e.deltaY;\n }\n } else {\n if ((e.deltaY * -1) > 50) {\n targetrKeywordsContainer.current.scrollLeft -= 30;\n } else {\n targetrKeywordsContainer.current.scrollLeft -= (e.deltaY * -1);\n }\n }\n } else if (targetrKeywordsContainer.current && !targetrKeywordsContainer.current.contains(e.target)) {\n // Enable vertical scroll for main container\n window.onscroll = () => {};\n }\n };\n\n document.addEventListener('wheel', addHorizontalScroll);\n\n return () => {\n document.removeEventListener('wheel', addHorizontalScroll);\n };\n }, [targetrKeywordsContainer, expanded]);\n\n const [showLocationSelector, setShowLocationSelector] = useState(false);\n const [newKwLocation, setNewKwLocation] = useState({\n countryCode: currentPage.content.countryCode || '',\n location: currentPage.content.location || '',\n locationId: currentPage.content.locationId || null,\n });\n const [isEditDefaultLocation, setIsEditDefaultLocation] = useState(false);\n\n const popoverRef = useRef(null);\n\n\n useClickedOnPageHandler(popoverRef, async () => {\n await new Promise(r => setTimeout(r, 100));\n setShowLocationSelector(false);\n });\n\n\n const onAddKeywordFinish = async (values: {[key: string]: string}) => {\n if (kwLengthErr.showMessage) return;\n if ('location-search' in values) return;\n\n const formKeyword = Object.keys(values)\n .map(key => values[key])\n .filter(item => item !== undefined && item !== '' && item && item.trim().length);\n const format = /[`~!@#$%^*()_+\\-=[\\]{};':\"\\\\|,.<>/?]+/;\n\n\n if (!formKeyword[0]) {\n setShowKwErrorMsg({\n showMessage: true,\n message: 'Please type a Target Keyword.',\n });\n return;\n }\n\n if (format.test(formKeyword[0])) {\n setShowKwErrorMsg({\n showMessage: true,\n message: 'Only characters and numbers are allowed',\n });\n return;\n }\n if (formKeyword[0]?.length > 160 || formKeyword[0]?.split(' ')?.length > 20) {\n setShowKwErrorMsg({\n showMessage: true,\n message: 'Max 20 words or 160 char. allowed',\n });\n return;\n }\n // if (currentPage.feTargetKeywords?.filter(kw => kw.keyword.toLowerCase() === formKeyword[0].trim().toLowerCase() && kw.locationId == newKwLocation.locationId).length) {\n // setShowKwErrorMsg({\n // showMessage: true,\n // message: 'This keyword already exists for selected location.',\n // });\n // return;\n // }\n // we are making sure to save target kw params the same way we are sending them to BE\n // we are still keeping null values as we will get those from the BE\n let keywordForFrontendArray;\n if (newKwLocation.locationId && newKwLocation.location) {\n keywordForFrontendArray = {\n keyword: formKeyword[0].trim().toLowerCase(),\n countryCode: '',\n locationId: newKwLocation.locationId,\n location: newKwLocation.location,\n };\n } else if (newKwLocation.countryCode) {\n keywordForFrontendArray = {\n keyword: formKeyword[0].trim().toLowerCase(),\n countryCode: newKwLocation.countryCode,\n locationId: null,\n location: null,\n };\n } else if (!newKwLocation.locationId && !newKwLocation.countryCode) {\n keywordForFrontendArray = {\n keyword: formKeyword[0].trim().toLowerCase(),\n countryCode: '',\n locationId: null,\n location: null,\n };\n }\n\n if (currentPage.feTargetKeywords?.filter(kw => JSON.stringify({\n keyword: kw.keyword,\n countryCode: kw.countryCode,\n locationId: kw.locationId,\n location: kw.location,\n }) === JSON.stringify({\n keyword: keywordForFrontendArray.keyword,\n countryCode: keywordForFrontendArray.countryCode,\n locationId: keywordForFrontendArray.locationId,\n location: keywordForFrontendArray.location,\n })).length) {\n setShowKwErrorMsg({\n showMessage: true,\n message: 'This keyword already exists for selected location.',\n });\n return;\n }\n\n\n const formatArray = [...currentPage.feTargetKeywords, {...keywordForFrontendArray}];\n currentPage.updateFeTargetKeywords(formatArray);\n\n form.resetFields();\n\n setShowKwErrorMsg({\n showMessage: false,\n message: '',\n });\n\n try {\n await currentPage?.editKeywords({keyword: formKeyword[0].trim().toLowerCase(), ...newKwLocation}, 'add');\n getCustomerQuota();\n } catch (err) {\n if (err?.response?.status === 429) {\n showSidebarPaymentDrawer(null, {title: 'You need more Content Genius focus terms quota to continue', subtitle: '', text: `Current limit: ${quotaUtilization?.ca?.allowedFocusTerms?.total} lookups`});\n }\n\n return Promise.reject(err);\n }\n\n setNewKwLocation({\n countryCode: currentPage.content.countryCode,\n location: currentPage.content.location,\n locationId: currentPage.content.locationId,\n });\n\n setNewKwValue('');\n };\n\n\n const locationDebouncerChange = debounce( async (country: string) => {\n try {\n await currentPage?.updateCountriesList(country);\n } catch (err) {\n return Promise.reject(err);\n }\n }, 500);\n\n\n const searchForLocation = (location?: string) => {\n if (location && location !== '') {\n locationDebouncerChange(location);\n }\n };\n\n /* When selecting location */\n const locationSelected = async (location: string, locationId: number, reach: number, countryCode: string) => {\n // if we are in default location selection mode and if selected location doesnt match default location\n if (isEditDefaultLocation ) {\n if (!locationId && !countryCode) {\n currentPage.updatelocationData('', '', null, null);\n }\n\n if (locationId !== currentPage.content.locationId || (!locationId && !currentPage.content.locationId && location)) {\n currentPage.updatelocationData(countryCode, location, locationId, reach);\n }\n\n setNewKwLocation({\n countryCode: currentPage.content.countryCode || '',\n location: currentPage.content.location || '',\n locationId: currentPage.content.locationId || null,\n });\n }\n\n // If we are not in default location selection mode, set location for that target keyword\n if (!isEditDefaultLocation) {\n if (locationId && (locationId !== newKwLocation.locationId) || countryCode && (countryCode !== newKwLocation.countryCode) || (location?.length === 0 && !locationId && !reach && countryCode?.length === 0 )) {\n setNewKwLocation({\n location: location?.length === 0 && !locationId && !reach && countryCode?.length === 0 ? 'Worldwide': location,\n locationId: locationId,\n countryCode: countryCode,\n });\n\n setShowLocationSelector(false);\n setIsEditDefaultLocation(false);\n }\n }\n };\n\n const updateKwHandler = e => {\n setNewKwValue(e.target.value);\n if (e.target.value.length > 160) {\n setKwLengthErr({\n message: 'Keyword can have only 160 characters.',\n showMessage: true,\n });\n } else {\n if (kwLengthErr.showMessage) {\n setKwLengthErr({\n message: '',\n showMessage: false,\n });\n }\n }\n };\n\n return (\n
\n {!isPublic && currentPage.feTargetKeywords?.length >= 15 ? \n
\n
\n
\n \n
\n
\n
\n
:\n !isPublic &&
\n {(isAddingNewKw || !currentPage.feTargetKeywords?.length) ?\n <>\n
\n
\n \n \n \n \n \n {/* {showKwErrorMsg.showMessage && {showKwErrorMsg.message}} */}\n
\n \n {isEditDefaultLocation && <>\n {\n e.stopPropagation();\n setIsEditDefaultLocation(false);\n }}/>\n SELECT DEFAULT LOCATION}\n\n \n \n
\n \n searchForLocation(e.target.value)}\n className={styles.customInput}\n inputType='text'\n variant='transparent'\n placeholder={'Search for location'} />\n {!isEditDefaultLocation && \n \n }\n
\n \n \n
\n
\n \n LOCATION\n REACH\n \n <>\n \n \n {currentPage.content.location || getSpecificCountryByCode(currentPage.content.countryCode)?.name || currentPage.content.countryCode ||\n ( Worldwide)}\n \n {formatNumber(currentPage.content.reach)}\n \n {`Default location. `}{!isEditDefaultLocation && {\n e.stopPropagation();\n setIsEditDefaultLocation(true);\n }}>Change?}\n \n
\n {\n // if this location in list matches either default or current kw location, disable onClickEvent\n if (isEditDefaultLocation && (currentPage.content.locationId || currentPage.content.countryCode) || !isEditDefaultLocation) {\n locationSelected('', null, null, '');\n }\n }}>\n \n Worldwide\n {isEditDefaultLocation && !currentPage.content.locationId && !currentPage.content.location || !isEditDefaultLocation && !newKwLocation.locationId && !newKwLocation.countryCode ? : null}\n {/* {isEditDefaultLocation && !currentPage.content.locationId && !currentPage.content.location ?

Default location.

: null} */}\n \n {'Set as default'}\n \n {currentPage?.countries && currentPage?.countries.length ? currentPage.countries.map((country, id) => {\n return {\n // if this location in list matches either default or current kw location, disable onClickEvent\n if (isEditDefaultLocation && (currentPage.content.locationId !== country.locationId) || !isEditDefaultLocation) {\n // locationSelected(country.location, country.locationId, country.reach, country.countryCode);\n locationSelected(country.location, country.locationId === 2840 ? null : country.locationId, country.reach, country.locationId === 2840 ? 'US' : country.countryCode);\n }\n }}>\n \n {country.location}\n {isEditDefaultLocation && (currentPage.content.locationId === country.locationId) || !isEditDefaultLocation && newKwLocation.locationId === country.locationId ? : null}\n {/* {isEditDefaultLocation && currentPage.content.locationId === country.locationId ?

Default location.

: null} */}\n \n {formatNumber(country.reach)}\n {'Set as default'}\n
;\n }) : {\n // if this location in list matches either default or current kw location, disable onClickEvent\n if (isEditDefaultLocation && (currentPage.content.locationId != 2840) || !isEditDefaultLocation) {\n locationSelected('United States', 2840, null, 'US');\n }\n }}>\n \n United States\n {isEditDefaultLocation && currentPage.content.locationId == 2840 || !isEditDefaultLocation && newKwLocation.locationId == 2840 ? : null}\n \n {'Set as default'}\n }\n
\n\n
\n }\n >\n {\n e.stopPropagation();\n setShowLocationSelector(!showLocationSelector);\n }}>\n {newKwLocation.location || currentPage.content.location || getSpecificCountryByCode(currentPage.content.countryCode)?.name || currentPage.content.countryCode || ( Worldwide)}\n \n
\n {/* {\n e.stopPropagation();\n setShowLocationSelector(!showLocationSelector);\n }}/> */}\n \n
\n {showKwErrorMsg.showMessage && }\n \n \n \n \n \n \n {\n setIsAddingNewKw(false);\n setShowKwErrorMsg({\n showMessage: false,\n message: '',\n });\n }}\n // disabled={formIsComplete.length <= 0}\n >\n \n \n \n
\n
\n\n
\n\n\n \n\n :\n <>\n
setIsAddingNewKw(true)}>\n
\n \n
\n
\n
Add keyword
\n
\n
{t('quota')}
\n
{numberWithCommas(quotaUtilization?.ca?.allowedFocusTerms?.consumed)} / {numberWithCommas(quotaUtilization?.ca?.allowedFocusTerms?.total)}
\n
\n
\n
\n }\n }\n {currentPage?.feTargetKeywords &&\n // if we want to reverse we want to update index count below as well\n // currentPage?.feTargetKeywords?.reverse()?.map((kw, index)\n currentPage?.feTargetKeywords?.map((kw, index) => (\n {\n MixPanel.track(SCA_PAGE_ADD_KEYWORD, {\n 'pageId': currentPage?.content.uuid,\n 'keywords': keywords,\n });\n }}/>\n ))}\n\n {/* {!currentPage?.feTargetKeywords?.length && currentPage.isFetchingTargetKw?\n
Loading target keywords...
: null} */}\n \n );\n});\n","import {useState} from 'react';\nimport styles from '../../style.module.scss';\nimport {formatNumber} from '@/utils/number';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {SuggestedKeywordType} from '@/store/content-optimizer/SuggestedKeywordsModel';\nimport {\n Tooltip,\n} from 'antd';\nimport {observer} from 'mobx-react';\n\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {SCA_PAGE_ADD_KEYWORD_SUGGESTION} from '@/constants/events';\nimport {useStore} from '@/store/root-store';\n\ninterface Props {\n kw: SuggestedKeywordType;\n store: CurrentPageStore;\n getCustomerQuota?: () => {};\n showSidebarPaymentDrawer?: any;\n quotaUtilization?: any;\n}\n\nexport const SuggestedKeywordCard = observer(({kw, store, getCustomerQuota, showSidebarPaymentDrawer, quotaUtilization}: Props) => {\n const {contentOptimizer: {currentPage: {isPublic}}} = useStore('');\n const [isRemoving, setIsRemoving] = useState(false);\n\n\n const addSuggestedKwToTargetKw = async (passedKw: string) => {\n if (!passedKw) return;\n if (!store.feTargetKeywords || store.feTargetKeywords?.length >= 15) return;\n if (store.feTargetKeywords?.filter(kw => kw.keyword === passedKw).length > 0) {\n return;\n }\n\n let stagedForAddingKw;\n\n if (store.content.locationId && store.content.location) {\n stagedForAddingKw = {\n keyword: passedKw,\n countryCode: '',\n locationId: store.content.locationId,\n location: store.content.location,\n };\n } else if (store.content.countryCode) {\n stagedForAddingKw = {\n keyword: passedKw,\n countryCode: store.content.countryCode,\n locationId: null,\n location: null,\n };\n } else if (!store.content.locationId && !store.content.countryCode) {\n stagedForAddingKw = {\n keyword: passedKw,\n countryCode: '',\n locationId: null,\n location: null,\n };\n }\n const formatArray = [...store.feTargetKeywords, stagedForAddingKw];\n\n store.updateFeTargetKeywords(formatArray);\n\n try {\n await store?.editKeywords(stagedForAddingKw, 'add');\n getCustomerQuota();\n } catch (err) {\n if (err?.response?.status === 429) {\n showSidebarPaymentDrawer(null, {title: 'You need more Content Genius focus terms quota to continue', subtitle: '', text: `Current limit: ${quotaUtilization?.ca?.allowedFocusTerms?.total} lookups`});\n }\n return Promise.reject(err);\n }\n\n\n MixPanel.track(SCA_PAGE_ADD_KEYWORD_SUGGESTION, {\n 'suggestedKeyword': passedKw,\n 'description': 'Added new keyword suggestion',\n });\n };\n\n const removeTargetKeyword = (passedKw: string) => {\n store.removeSuggestedKeyword(passedKw);\n };\n\n return
\n \n {store.feTargetKeywords?.length >= 15 &&
{`You've reached the maximum number of 15 target keywords per article.`}
}\n
\n {`Search Volume: ${formatNumber(kw.sv)}`}
\n {`Cost per Click: $${Math.round(kw.cpc)}`}\n
\n }>\n
isPublic ? {} : addSuggestedKwToTargetKw(kw.keyword)}>\n
isPublic ? {} : addSuggestedKwToTargetKw(kw.keyword)}>\n
{kw.keyword}
\n\n {/* {formatNumber(kw.sv)} ‧ ${Math.round(kw.cpc)} */}\n {!isPublic &&\n
\n\n {('+')}{('Add')}\n {\n e.stopPropagation();\n setIsRemoving(true);\n removeTargetKeyword(kw.keyword);\n }}>x\n
}\n
\n
\n
\n
;\n});\n","import {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport {useEffect, useRef} from 'react';\nimport {useTranslation} from 'react-i18next';\nimport {isScaPublicPage} from '../../../EditorSection/content-editor/utils';\nimport styles from '../style.module.scss';\nimport {SuggestedKeywordCard} from './SuggestedKeywordCard';\n\n\ninterface Props {\n store: CurrentPageStore;\n getCustomerQuota?: () => {};\n showSidebarPaymentDrawer?: any;\n quotaUtilization?: any;\n}\n\nexport const KeywordSuggestions = observer(({store, getCustomerQuota, showSidebarPaymentDrawer, quotaUtilization}: Props) => {\n const {keywordResearcherV2: {postNewKeywords, keywordDetails: {loadKeywordDetailList, loadKeywordDetails, setDetailsRepolling}}} = useStore('');\n const {t} = useTranslation('common');\n\n const keywordSuggestionsContainer = useRef(null);\n\n useEffect(() => {\n const addHorizontalScroll = e => {\n // If we are scrolling inside suggestions container\n if (keywordSuggestionsContainer.current && keywordSuggestionsContainer.current.contains(e.target)) {\n // Disable vertical scroll for main container\n const topScroll = window.scrollY;\n const leftScroll = window.scrollX;\n window.onscroll = e => {\n e.preventDefault();\n window.scrollTo(leftScroll, topScroll);\n };\n // Scroll suggestions container\n if (e.deltaY > 0) {\n if (e.deltaY > 50) {\n keywordSuggestionsContainer.current.scrollLeft += 30;\n } else {\n keywordSuggestionsContainer.current.scrollLeft += e.deltaY;\n }\n } else {\n if ((e.deltaY * -1) > 50) {\n keywordSuggestionsContainer.current.scrollLeft -= 30;\n } else {\n keywordSuggestionsContainer.current.scrollLeft -= (e.deltaY * -1);\n }\n }\n } else if (keywordSuggestionsContainer.current && !keywordSuggestionsContainer.current.contains(e.target)) {\n // Enable vertical scroll for main container\n window.onscroll = () => {};\n }\n };\n\n document.addEventListener('wheel', addHorizontalScroll);\n\n return () => {\n document.removeEventListener('wheel', addHorizontalScroll);\n };\n }, [keywordSuggestionsContainer]);\n\n\n const getKwSuggestionsMessage = () => {\n if (store.isFetchingSuggestedKw) {\n return t('loading-kw-suggestions');\n }\n\n if (!store.content?.editorText?.length && !store?.feTargetKeywords?.length) {\n return t('start-writing-or-add-target-kw');\n }\n\n if (store.content?.editorText?.length && !store?.feTargetKeywords?.length) {\n return t('add-one-target-keyword');\n }\n\n if (!store.content?.editorText?.length && store?.feTargetKeywords?.length) {\n return t('start-writing-content-to-see-kw-suggestions');\n }\n return t('edit-content-or-add-new-target-kw');\n // return t('could-not-load-target-keywords');\n };\n\n const postAndGetData = async (keyword, countryCode, locationId) => {\n const data = {'name': keyword, 'keywords': [`${keyword}`], 'is_recent_search': true};\n if (locationId) {\n data['location_id'] = locationId;\n } else {\n data['country_code'] = countryCode ? countryCode : '';\n }\n const response = await postNewKeywords(data);\n setDetailsRepolling(true);\n if (response?.id && response?.keywords?.length) {\n loadKeywordDetailList(response.id);\n loadKeywordDetails(response?.id, response?.keywords[0], response?.locationId, response?.countryCode);\n }\n };\n\n const showAllSuggestionsHandler = () => {\n if (isScaPublicPage()) return;\n if (store?.content?.targetKeywords?.length) {\n const keyword = [...store.content.targetKeywords][0]?.keyword;\n\n const countryCode = keyword?.countryCode || '';\n const location = keyword?.locationId || null;\n store.setIsDrawerFromCa(true);\n store.setActiveTargetKw(keyword);\n store.setIsOpenKeywordDrawer(true);\n postAndGetData(keyword, countryCode, location);\n }\n };\n\n\n return
\n {store.content.kwSuggestions.length ?
showAllSuggestionsHandler()}>\n {`All Suggested Keywords (${store.content.kwSuggestions.length}):`}\n
: null}\n
\n {store.content.kwSuggestions.length ? store.content.kwSuggestions.map((kw, index) => {\n if (kw.keyword && index < 6) {\n return ;\n }\n }) :

{getKwSuggestionsMessage()}

}\n
\n
;\n});\n","import {faChevronDown} from '@fortawesome/pro-light-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport React, {\n useState,\n useRef,\n} from 'react';\nimport styled from 'styled-components';\nimport {useStore} from '@/store/root-store';\nimport {TargetKeywords} from './TargetKeywords/TargetKeywords';\nimport styles from './style.module.scss';\nimport classNames from 'classnames';\nimport {KeywordSuggestions} from './KeywordSuggestions/KeywordSuggestions';\nimport {observer} from 'mobx-react';\nimport {\n Tooltip,\n} from 'antd';\nimport {\n faChevronsDown,\n faChevronUp,\n} from '@fortawesome/pro-regular-svg-icons';\n\ninterface Props {\n updateKeywordsRef: () => void;\n}\n\nexport const TargetKeywordsAndSuggestions = observer(({updateKeywordsRef}: Props) => {\n const [isExpanded, setIsExpanded] = useState<'collapsed' | 'expanded' | 'fullExpanded'>('expanded');\n\n const containerRef = useRef(null);\n\n const {contentOptimizer: {currentPage}} = useStore('');\n const {settings: {customer: {getCustomerQuota, profile: {quotaUtilization}}}, plans: {showSidebarPaymentDrawer}} = useStore('');\n\n\n return
\n
\n
\n
\n\n \n
\n
\n\n
\n\n \n
\n
\n {isExpanded == 'collapsed' && \n {\n setIsExpanded('expanded');\n setTimeout(() => {\n updateKeywordsRef();\n }, 300);\n }}>\n \n
\n }\n {isExpanded != 'collapsed' && \n {\n setIsExpanded(isExpanded == 'fullExpanded' ? 'collapsed' : 'fullExpanded');\n setTimeout(() => {\n updateKeywordsRef();\n }, 300);\n }}>\n {isExpanded == 'expanded' && }\n {isExpanded == 'fullExpanded' && }\n \n }\n ;\n});\n\nconst ChevronDown = styled(FontAwesomeIcon) <{ }>`\n transition: all 0.3s ease;\n font-size: 14px;\n`;\n\n","import {Button} from '@/components/common-components/v2';\nimport {MetaIdeasType} from '@/store/content-optimizer/aiMetaData';\nimport {faCopy} from '@fortawesome/pro-light-svg-icons';\nimport {faCheck} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Divider, Tooltip} from 'antd';\nimport {useState} from 'react';\nimport styled from 'styled-components';\n\ninterface Props {\n metaIdeas: MetaIdeasType[];\n onIdeaUse: (title: string, desc: string) => void;\n}\n\nexport const MetaIdeasList = ({metaIdeas, onIdeaUse}: Props) => {\n const [metaCopied, setMetaCopied] = useState(false);\n\n const copyMetaHandler = (title: string, desc: string) => {\n navigator.clipboard.writeText(`${title}\\n${desc}`);\n setMetaCopied(true);\n };\n\n return \n {metaIdeas?.map((idea, idx) => {\n return \n {idea.metaTitle}\n {idea.metaDesc}\n \n
\n {`Meta Details copied.`} : 'Copy Meta Details.'}>\n copyMetaHandler(idea.metaTitle, idea.metaDesc)} style={{marginTop: 'auto', marginBottom: 'auto', marginLeft: 10, fontSize: 16, cursor: 'pointer'}}/>\n \n \n
\n
;\n })}\n
;\n};\n\nconst IdeasContainer = styled.div`\n max-height: 515px;\n overflow-y: auto;\n\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(138,138,138,0.32);\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n`;\n\nconst SingleIdeaContainer = styled.div`\n border: 1px solid #d2d2d2;\n padding: 14px 10px 11px 11px; \n border-radius: 4px;\n margin-bottom: 8px;\n margin-right: 10px;\n`;\nconst MetaTitle = styled.div`\n font-size: 12px;\n color: #121212;\n font-weight: 500;\n`;\nconst MetaDesc = styled.div`\nfont-size: 12px;\ncolor: #4E5156;\n`;\n","\nimport {useEffect, useState} from 'react';\nimport {Tooltip, Spin, Popover, Divider} from 'antd';\nimport styles from '../index.module.scss';\nimport {useStore} from '@/store/root-store';\nimport {CommonInput} from '@/components/common-components/components';\nimport {Button as V2Button} from '@/components/common-components/v2';\nimport styled from 'styled-components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {faCircleCheck, faHexagonExclamation, faTriangleExclamation, faArrowLeft} from '@fortawesome/pro-solid-svg-icons';\nimport {faArrowsRotate} from '@fortawesome/pro-regular-svg-icons';\nimport {MetaIdeasList} from './MetaIdeasList';\nimport {observer} from 'mobx-react';\nimport {CaAiQuotaInfo} from '@/components/common-components/v2/CaAiQuotaInfo';\n\n\nexport const MetaTagGenerator = observer(() => {\n const {contentOptimizer: {\n currentPage: {\n content,\n isPublic,\n isExportingPage,\n updateMetaData,\n setIsExternalTitleEdit,\n feTargetKeywords,\n isMetaUpdating,\n editTitle,\n },\n aiMetaData: {\n loading,\n setLoading,\n loadAiMetaData,\n metaData,\n },\n },\n settings: {customer: {getCustomerQuota}},\n } = useStore('');\n\n const [showMetaDataModal, setShowMetaDataModal] = useState(false);\n const [customMetaTitle, setCustomMetaTitle] = useState('');\n const [customMetaDesc, setCustomMetaDesc] = useState(content.metaDesc || '');\n const [showAiMetaResults, setShowAiMetaResults] = useState(false);\n\n\n const antdIcon = ;\n\n useEffect(()=>{\n if (content?.title) {\n setCustomMetaTitle(content?.title);\n }\n setCustomMetaDesc(content.metaDesc || metaData[0]?.metaDesc);\n async function updateMetadata() {\n if ( !content?.metaTitle && metaData?.length) {\n await updateMetaData({meta_title: metaData[0]?.metaTitle, meta_desc: metaData[0]?.metaDesc});\n }\n }\n updateMetadata();\n }, [content.metaTitle, metaData.length, showMetaDataModal]);\n\n const checkPageTitle = (title: string): boolean => {\n const regexp = new RegExp('^New Document');\n if (!title || regexp.test(title)) {\n return false;\n } else {\n return true;\n }\n };\n\n const useAiMetaHandler = (title, desc) => {\n if (title) setCustomMetaTitle(title.trim());\n if (desc) setCustomMetaDesc(desc.trim());\n setShowAiMetaResults(false);\n };\n\n\n useEffect(() => {\n setCustomMetaTitle(content.metaTitle);\n setCustomMetaDesc(content.metaDesc);\n }, []);\n\n const aiButtonTooltipMsg = () => {\n let msg = '';\n if (!feTargetKeywords?.length && !checkPageTitle(content.title)) {\n msg = 'Please add a custom page title and at least 1 target keyword to generate AI Meta Data suggestions';\n }\n\n if (feTargetKeywords?.length && !checkPageTitle(content.title)) {\n msg = 'Please add a custom page title to generate AI Meta Data suggestions';\n }\n\n if (!feTargetKeywords?.length && checkPageTitle(content.title)) {\n msg = 'Please add at least 1 target keyword to generate AI Meta Data suggestions';\n }\n\n return msg;\n };\n\n /*\n * Dynamically return appropriate icon for main Meta Data title, which will emit if number of characters matches expected\n */\n const generateMetaDescIcon = () => {\n // if either metaTItle or metaDesc is missing\n if (!customMetaTitle || !customMetaDesc) return ;\n\n const metaDescLengthMin = 50;\n const metaDescLengthMax = 160;\n const metaTitleLengthMin = 30;\n const metaTitleLengthMax = 60;\n\n // if both metaTItle or metaDesc exist and at least one of them doesnt fint recomended length\n if (customMetaDesc.length < metaDescLengthMin || customMetaDesc.length > metaDescLengthMax) return ;\n if (customMetaTitle.length < metaTitleLengthMin || customMetaTitle.length > metaTitleLengthMax) return ;\n\n // if both metaTItle or metaDesc exist and both match/exceed recommended length\n return ;\n };\n\n\n /*\n * Dynamically return appropriate icon for both Meta Desc and Meta Title, which will emit if number of characters matches expected\n */\n const generateSingleMetaIcon = (metaKey: 'metaTitle' | 'metaDesc', metaValue?: string) => {\n const label = metaKey === 'metaTitle' ? 'meta title' : 'meta description';\n\n // if meta doesnt exist\n if (!metaValue) {\n return \n \n ;\n }\n\n const metaValueMinLength = metaKey === 'metaTitle' ? 30 : 50;\n const metaValueMaxLength = metaKey === 'metaTitle' ? 60 : 160;\n\n\n const largerThenMax = metaValue.length > metaValueMaxLength;\n const smallerThanMin = metaValue.length < metaValueMinLength;\n const idealSize = metaValue.length >= metaValueMinLength && metaValue.length <= metaValueMaxLength;\n const missing = !metaValue?.length;\n let largerBy = 0;\n let smallerBy = 0;\n\n if (smallerThanMin) smallerBy = metaValueMinLength - metaValue.length;\n if (largerThenMax) largerBy = metaValue.length - metaValueMaxLength;\n\n let statusMsg = '';\n if (idealSize) statusMsg = 'No issues found.';\n if (largerThenMax) statusMsg = `Consider lowering the length of the page's ${label} tag by ${largerBy} characters`;\n if (smallerThanMin) statusMsg = `Consider increasing the length of the page's ${label} tag by ${smallerBy} characters`;\n if (missing) statusMsg = `Please add a ${label} to your website.`;\n\n\n // if meta exists but its value is less then suggested length\n if (metaValue.length < metaValueMinLength || metaValue.length > metaValueMaxLength) {\n return \n \n ;\n }\n\n // if meta exists and value matches or exceeds suggested length\n return \n \n ;\n };\n\n\n const updateMetaDataHandler = async (title, desc) => {\n const payload = {\n 'meta_title': title,\n 'meta_desc': desc,\n };\n\n\n setIsExternalTitleEdit(false);\n try {\n await editTitle(title);\n await updateMetaData(payload);\n setIsExternalTitleEdit(true);\n } catch (e) {\n return Promise.reject(e);\n } finally {\n setIsExternalTitleEdit(false);\n }\n setShowMetaDataModal(false);\n };\n\n const aiMetaDataHandler = async () => {\n const targetKwArr = feTargetKeywords.map(kw => kw.keyword);\n setLoading(true);\n try {\n const response = await loadAiMetaData(content.title, targetKwArr);\n response && setShowAiMetaResults(true);\n setLoading(false);\n await getCustomerQuota();\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n const aiSuggestionMsg = metaData.length ? <>AI Suggestions Generated\n : {(!feTargetKeywords?.length || !checkPageTitle(content.title)) ? \n \n :\n aiMetaDataHandler()} style={{color: '#2D6CCA', marginLeft: 5, cursor: 'pointer'}}/>} :\n 'Our AI can generate Meta Data based on your content.';\n\n\n const metaDataTooltipContent = showAiMetaResults ? (\n <>\n
setShowAiMetaResults(false)}> Back to Meta Details
\n \n \n ):(\n <>\n
\n
Meta Data {loading && }
\n
\n
\n\n
\n
{aiSuggestionMsg}
\n {metaData.length ?\n
setShowAiMetaResults(true)} style={{color: '#2D6CCA', fontSize: 12, cursor: 'pointer', marginRight: 14}}>View all
:\n (!feTargetKeywords?.length && !checkPageTitle(content.title)) ? \n AI Generate\n :\n aiMetaDataHandler()} disabled={loading}>AI Generate }\n
\n \n
\n
\n
Meta Title
{generateSingleMetaIcon('metaTitle', customMetaTitle)}\n
\n {\n setCustomMetaTitle(e.target.value);\n }} />\n
\n
\n
\n
Meta Description
{generateSingleMetaIcon('metaDesc', customMetaDesc)}\n
\n {\n setCustomMetaDesc(e.target.value);\n }}/>\n
\n\n updateMetaDataHandler(customMetaTitle, customMetaDesc)} style={{marginLeft: 0}} disabled={isMetaUpdating}>\n Update Meta\n \n \n );\n\n return !isPublic && {\n // setCustomMetaTitle(content?.metaTitle);\n // setCustomMetaDesc(content.metaDesc);\n if (showMetaDataModal) {\n setShowMetaDataModal(false);\n }\n }}>\n {\n if (!showMetaDataModal) {\n setShowMetaDataModal(true);\n } else {\n setShowMetaDataModal(false);\n }\n }}>\n {!loading ? generateMetaDescIcon() : } Meta Data\n \n ;\n});\n\n\nconst MetaDataBtnStyled = styled(V2Button)`\n height: 22px;\n padding: 1px 8px 2px 8px;\n margin-left: 20px;\n font-size: 12px;\n`;\n\n","import {useState, useEffect, useRef} from 'react';\nimport {\n Tooltip,\n Form,\n Spin,\n Radio,\n Select,\n Popover,\n Dropdown,\n} from 'antd';\nimport styles from '../index.module.scss';\nimport {useStore} from '@/store/root-store';\nimport {Button as V2Button, Input} from '@/components/common-components/v2';\nimport styled from 'styled-components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faShopify, faWordpressSimple} from '@fortawesome/free-brands-svg-icons';\nimport {toJS} from 'mobx';\nimport {\n getDomain,\n getSingleUrlParam,\n sanitizeUrl,\n} from '@/utils/url';\nimport moment from 'moment';\nimport {\n faUpRightFromSquare} from '@fortawesome/pro-light-svg-icons';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {observer} from 'mobx-react';\nimport {faCaretRight, faCircleCheck, faCircleXmark, faHexagonExclamation} from '@fortawesome/pro-solid-svg-icons';\nimport {faCircleInfo} from '@fortawesome/pro-regular-svg-icons';\nimport {VideoPlayerModal} from '@/components/common-components/v2/VideoPlayerModal';\nimport {notification as notificationV2} from '@/utils/notification-v2';\nimport {faRotate} from '@fortawesome/pro-duotone-svg-icons';\nimport {openLiveChat} from '@/utils/intercom';\n\ninterface Props {\n id?: string;\n uuid?: string;\n topicalMapName?: string;\n errorId?: any;\n setErrorId?: any;\n}\n\nexport const OneClickPublisherV2 = observer(({id, uuid, topicalMapName, errorId, setErrorId}: Props) => {\n const {contentOptimizer: {\n pages: {\n projects,\n },\n currentPage: {\n content,\n isPublic,\n // isExportingPage,\n smallPageLoad,\n loadPage,\n setUnsavedChanges,\n unsavedChangesInContent,\n },\n wpPublish: {\n fetchWpPublishData,\n // loadingData,\n postingData,\n showDataModal,\n setShowDataModal,\n wpArray,\n publishWpPage,\n setShowAddSiteModal,\n isApiError,\n isShopifyApiError,\n updateApiError,\n setShowIndividualPopover,\n showIndividualPopover,\n setLoadingData,\n loadShopifyBlogs,\n // loadingBlogs,\n blogs,\n creatingPage,\n creatingBlog,\n createNewShopifyPage,\n createNewShopifyBlog,\n getVendorAccounts,\n vendorAccounts,\n },\n },\n ottoV2Store: {\n loadIssueTableData,\n ottoUrls,\n },\n settings: {\n customer: {\n isGHLAccount,\n profile,\n },\n }} = useStore('');\n const [form] = Form.useForm();\n\n const [selectedWpSite, setSelectedWpSite] = useState(null);\n const [triggerSites, setTriggerSites] = useState(false);\n const [selectedShopifySite, setSelectedShopifySite] = useState(null);\n const [showWpVideo, setShowWpVideo] = useState(false);\n const [filteredObject, setFilteredObject] = useState({});\n const [selectedUser, setSelectedUser] = useState(null);\n const [selectedWpSiteUsers, setSelectedWpSiteUsers] = useState([]);\n const [trigger, setTrigger] = useState(false);\n const [showSynchronizeTypeDropdown, setShowSynchronizeTypeDropdown] = useState(false);\n const [synchronizeType, setSynchronizeType] = useState('');\n const [parent, setParent] = useState([]);\n const [project, setProject] = useState(null);\n const reloadProjectUuid = getSingleUrlParam('uuid');\n const refOne = useRef(null);\n const refTwo = useRef(null);\n // Local state settings for dynamic new post/page button label\n const [newBtnLabelOptions, setNewBtnLabelOptions] = useState({\n action: 'Create',\n status: 'Draft',\n type: 'Blog Post',\n });\n\n useEffect(() => {\n if (content?.projectId && projects?.length) {\n const currentProject = projects?.find(project => project?.id == content?.projectId);\n if (currentProject) setProject(toJS(currentProject));\n }\n }, [content?.projectId, projects?.length]);\n\n const offerPublishUrl = () => {\n if (content?.importedFromUrl) {\n if (content?.wpPublishedAtUrl) {\n return true;\n } else {\n const cleanWpArr = toJS(wpArray).map(item => getDomain(item.url));\n if (cleanWpArr.includes(getDomain(content.importedFromUrl))) {\n return true;\n }\n }\n } else {\n return content?.wpPublishedAtUrl ? true : false;\n }\n };\n\n // used for wordpress popup to decide to show publisher or syncer\n const [showWpFormType, setShowWpFormType] = useState({\n syncWp: offerPublishUrl() ? true : false,\n createNewWp: offerPublishUrl() ? false : true,\n syncShopify: content?.shopifySynced,\n createNewShopify: !content?.shopifySynced,\n });\n\n useEffect(() => {\n const {wpPostCategories, wpPostStatus, wpPostType, wpPublishedAtWebsiteId,\n defaultWpPostCategories, defaultWpPostStatus, defaultWpPostType, defaultWpWebsiteId, shopifyContentType, wpPostParent} = content;\n let initialValues;\n if (wpPublishedAtWebsiteId) {\n const wpPostTypeValue = wpPostType == 'post' ? 'blog' : wpPostType;\n initialValues = {\n wpPostType: wpPostTypeValue,\n wpPostStatus,\n wpPostCategories,\n shopifyContentType,\n wpPostParent: parent?.find(item => item.id == wpPostParent)?.id ?? null,\n };\n setSelectedWpSite(wpPublishedAtWebsiteId);\n setSelectedShopifySite(vendorAccounts?.[0]?.shopDomain || '');\n form.setFieldsValue({wpWebsite: wpPublishedAtWebsiteId, wpPostCategory: wpPostCategories || [], account_id: vendorAccounts?.[0]?.accountId, postParent: wpPublishedAtWebsiteId});\n } else {\n const defaultWpPostTypeValue = defaultWpPostType == 'post' ? 'blog' : defaultWpPostType;\n initialValues = {\n wpPostType: defaultWpPostTypeValue,\n wpPostStatus: defaultWpPostStatus,\n wpPostCategories: defaultWpPostCategories,\n shopifyContentType: 'page',\n wpPostParent: parent?.find(item => item.id == wpPostParent)?.id ?? null,\n };\n setSelectedWpSite(defaultWpWebsiteId);\n setSelectedShopifySite(vendorAccounts?.[0]?.shopDomain || '');\n form.setFieldsValue({wpWebsite: defaultWpWebsiteId, wpNewPostCategory: wpPostCategories || [], account_id: vendorAccounts?.[0]?.accountId, postParent: wpPublishedAtWebsiteId});\n }\n form.setFieldsValue({author: content?.wpPostAuthorId?.toString()});\n setSelectedUser(null);\n setSelectedWpSiteUsers([]);\n\n setFilteredObject(initialValues);\n\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n status: initialValues?.wpPostStatus === 'draft' ? 'Draft' : 'Publish',\n type: (initialValues?.wpPostType === 'blog' || initialValues?.wpPostType === 'post') ? 'Blog Post' : 'Page',\n action: initialValues?.wpPostStatus === 'draft' ? 'Create' : '',\n });\n updateApiError(false);\n if (!showWpFormType.createNewWp && !showWpFormType.createNewShopify) {\n setShowWpFormType({\n syncWp: offerPublishUrl() ? true : false,\n createNewWp: offerPublishUrl() ? false : true,\n syncShopify: content?.shopifySynced,\n createNewShopify: !content?.shopifySynced,\n });\n }\n setTriggerSites(true);\n }, [projects, content, trigger, showWpFormType.createNewWp, showWpFormType.createNewShopify]);\n\n useEffect(() => {\n if (synchronizeType != 'shopify') {\n const selectedWPsiteData = wpArray.find(item => item.id === selectedWpSite);\n if (selectedWPsiteData) {\n if (selectedWPsiteData?.users?.length) {\n if (selectedWPsiteData?.users.map(user => toJS(user)).filter(user => user.id === content?.wpPostAuthorId?.toString())?.length) {\n form.setFieldsValue({author: content?.wpPostAuthorId?.toString()});\n } else {\n form.setFieldsValue({author: ''});\n }\n setSelectedUser(null);\n const articles = selectedWPsiteData?.articles;\n const updatedArticles = articles?.length ? [{id: 0, title: 'No Parent'}, ...toJS(articles)] : [];\n const parent = updatedArticles?.find(item => item.id == content?.wpPostParent);\n if (!parent) {\n setFilteredObject({...filteredObject, wpPostParent: null});\n form.setFieldsValue({postParent: null});\n } else {\n const websiteId = content?.wpPublishedAtWebsiteId || content?.defaultWpWebsiteId;\n if (websiteId == selectedWpSite) {\n setFilteredObject({...filteredObject, wpPostParent: content?.wpPostParent});\n form.setFieldsValue({postParent: content?.wpPostParent});\n }\n }\n selectedWPsiteData && setParent(updatedArticles);\n setSelectedWpSiteUsers(selectedWPsiteData.users);\n } else {\n form.setFieldsValue({author: ''});\n }\n setSelectedUser(null);\n const articles = selectedWPsiteData?.articles;\n const updatedArticles = articles?.length ? [{id: 0, title: 'No Parent'}, ...toJS(articles)] : [];\n selectedWPsiteData && setParent(updatedArticles);\n setSelectedWpSiteUsers(selectedWPsiteData.users);\n } else {\n form.setFieldsValue({author: ''});\n setSelectedUser(null);\n }\n } else {\n form.setFieldsValue({author: ''});\n setSelectedUser(null);\n setShopifyInitialValues();\n }\n setTriggerSites(false);\n }, [selectedWpSite, showSynchronizeTypeDropdown, showIndividualPopover, triggerSites]);\n\n useEffect(() => {\n if (synchronizeType === 'shopify') {\n setShopifyInitialValues();\n }\n }, [project, showSynchronizeTypeDropdown]);\n\n useEffect(() => {\n if (!showDataModal && !showIndividualPopover) {\n form.setFieldsValue({author: content?.wpPostAuthorId?.toString()});\n setSelectedUser(null);\n // setSelectedWpSiteUsers([]);\n }\n }, [showDataModal, showIndividualPopover]);\n\n // Final label for dynamic new post/page/ button\n const [newBtnLabel, setNewBtnLabel] = useState('Create Draft Blog Post');\n\n // Generate new post/page button label every time any new option is selected\n useEffect(() => {\n setNewBtnLabel(`${newBtnLabelOptions.action} ${newBtnLabelOptions.status} ${newBtnLabelOptions.type}`);\n }, [newBtnLabelOptions]);\n\n const [syncBtnLabel, setSyncBtnLabel] = useState(content?.wpPostType ? `Sync to ${content?.wpPostType}` : 'Sync');\n useEffect(() => {\n if (content?.wpPostType) setSyncBtnLabel(`Sync to ${content?.wpPostType}`);\n }, [content?.wpPostType, content?.wpPublishedAtUrl]);\n\n const {Option} = Select;\n const {Group} = Radio;\n\n const antdIconLarge = ;\n\n /*\n * Sets initial value for meta description to match current SCA page meta description\n */\n useEffect(() => {\n form.setFieldsValue({wpPostMetaDesc: content?.metaDesc || ''});\n }, [content?.metaDesc]);\n\n\n /*\n * Gets Url for wordpress page\n */\n const getTopLinkUrl = () => {\n return content?.wpPublishedAtUrl || content?.importedFromUrl;\n };\n\n\n /*\n * Gets Id for wordpress page\n */\n const getTopLinkId = () => {\n if (content?.wpPublishedAtUrl) return wpArray.filter(item => getDomain(item.url) === getDomain(content?.wpPublishedAtUrl))[0]?.id;\n if (content?.importedFromUrl) return wpArray.filter(item => getDomain(item.url) === getDomain(content?.importedFromUrl))[0]?.id;\n };\n\n /*\n * Handles publishing of data from WordPress form\n * makes different payload depeneding if user is creating new WP article or updating existing one\n */\n const publishWpPageHandler = async values => {\n if ((synchronizeType == 'wp' ? showWpFormType.createNewWp : showWpFormType.createNewShopify) && topicalMapName) {\n notificationV2.error('Failed', 'Article was already published to the page.');\n return false;\n }\n try {\n let payload;\n const topicalMapObject = ottoUrls?.find(obj => obj?.issueType === 'topical_maps_and_supplemental_content');\n const params = {\n uuid: reloadProjectUuid,\n issue_type: topicalMapObject?.issueType,\n page_size: topicalMapObject?.pageSize,\n page: topicalMapObject?.page,\n is_loading: false,\n };\n\n if (showWpFormType.syncWp && synchronizeType == 'wp') {\n const pageId = getTopLinkId();\n const pageUrl = getTopLinkUrl();\n\n payload = {\n pageId: pageId,\n uuid: content?.uuid,\n pageUrl: pageUrl,\n postStatus: values['wpPostStatus'] || 'draft',\n postType: (values['wpPostType'] == 'blog' ? 'post' : values['wpPostType']) || 'post',\n postAuthor: values['author'] || '',\n ...((values['wpPostCategory']?.length && values['wpPostType'] !== 'page') && {postCategories: values['wpPostCategory']}),\n };\n\n if (values?.postParent!==null) {\n payload['postParent'] = values.postParent;\n }\n\n await publishWpPage(payload, topicalMapName ? true : false, 'sync');\n await smallPageLoad(payload?.uuid);\n setUnsavedChanges({\n wpPostStatus: false,\n wpPostType: false,\n wpPostAuthorId: false,\n wpPostCategory: false,\n postParent: false,\n content: false,\n });\n if (id) {\n await loadIssueTableData(params);\n }\n notificationV2.success('success', 'Article synced with the page');\n }\n\n if ((showWpFormType.syncShopify || showWpFormType.createNewShopify) && synchronizeType == 'shopify') {\n const selectedVendor = toJS(vendorAccounts)?.find(shopifySite => shopifySite?.shopDomain ==values?.shop_domain);\n const shopifyPayload = {\n account_id: selectedVendor?.accountId,\n ...(values['wpPostType'] == 'blog' && {blog_title: blogs?.find(value => value?.id == values['blog'])?.title}),\n ca_page_id: content?.uuid,\n post_type: values['wpPostType'] || 'page',\n tags: values['tags']?.split(',') || [],\n author: values['author'] || '',\n ...(showWpFormType.createNewShopify && content?.shopifySynced && {new_post: true}),\n shop_domain: values['shop_domain'],\n };\n\n if (values['wpPostType'] == 'blog') {\n const res = await createNewShopifyBlog(shopifyPayload, false, showWpFormType.syncShopify);\n await smallPageLoad(content?.uuid);\n setShowWpFormType({\n syncWp: offerPublishUrl() ? true : false,\n createNewWp: offerPublishUrl() ? false : true,\n syncShopify: res?.shopifySynced,\n createNewShopify: !res?.shopifySynced,\n });\n loadShopifyBlogs();\n } else {\n const res = await createNewShopifyPage(shopifyPayload, false, showWpFormType.syncShopify);\n await smallPageLoad(content?.uuid);\n setShowWpFormType({\n syncWp: offerPublishUrl() ? true : false,\n createNewWp: offerPublishUrl() ? false : true,\n syncShopify: res?.shopifySynced,\n createNewShopify: !res?.shopifySynced,\n });\n }\n }\n\n if (showWpFormType.createNewWp && synchronizeType == 'wp') {\n const pageId = getTopLinkId();\n const pageUrl = getTopLinkUrl();\n\n payload = {\n pageId: values['wpWebsite'] || wpArray[0]?.id,\n pageUrl: values['wpWebsite'] == pageId ? pageUrl : null,\n uuid: content?.uuid,\n postStatus: values['wpPostStatus'] || 'draft',\n postType: (values['wpPostType'] == 'blog' ? 'post' : values['wpPostType']) || 'post',\n postAuthor: values['author'] || '',\n ...(values['wpPostPermalinkUrl'] && {permalink: values['wpPostPermalinkUrl']}),\n ...((values['wpNewPostCategory']?.length && newBtnLabelOptions.type !== 'Page') && {postCategories: values['wpNewPostCategory']}),\n };\n\n if (values?.postParent!==null) {\n payload['postParent'] = values.postParent;\n }\n\n await publishWpPage(payload, topicalMapName ? true : false, 'createNew');\n await smallPageLoad(payload?.uuid);\n if (id) {\n await loadIssueTableData(params);\n }\n setShowWpFormType({\n syncWp: offerPublishUrl() ? true : false,\n createNewWp: offerPublishUrl() ? false : true,\n syncShopify: content?.shopifySynced,\n createNewShopify: !content?.shopifySynced,\n });\n }\n } catch (e) {\n if (topicalMapName) {\n setErrorId([...errorId, id]);\n }\n }\n };\n\n const getSyncedPill = synced => {\n if (synced) {\n return Synced;\n } else {\n return Not Synced;\n }\n };\n\n useEffect(() => {\n if (newBtnLabelOptions.type === 'Page') {\n form.setFields([{name: 'wpNewPostCategory', errors: []}]);\n }\n }, [newBtnLabelOptions.type]);\n\n const getSyncedStatus = (syncedAt: string, postStatus: string, postType: string, synced: boolean, publishedAtUrl?: string) => {\n return <>{syncedAt ?
\n \n {`Last sync: ${moment(syncedAt).format('ll')} at ${moment(syncedAt).format('LT')}`}\n \n \n {getSyncedPill(synced)}\n \n
: null}\n {(publishedAtUrl && postStatus !== 'draft') ? \n \n {sanitizeUrl(publishedAtUrl)}\n \n \n : null};\n };\n\n const extractOptions = (categories, options) => {\n categories?.forEach(category => {\n options.push();\n if (category?.children?.length) {\n extractOptions(category.children, options);\n }\n });\n return options;\n };\n\n /*\n * Returns HTML for top part of Wordpress publishing popup including sync to existing wp page/post\n */\n const wpPublisherSyncSection = (\n <>\n {showWpVideo && synchronizeType == 'wp' ?\n
\n \n \n
:\n null}\n
\n {\n form.resetFields();\n setShowWpFormType({\n syncWp: synchronizeType == 'wp',\n syncShopify: synchronizeType == 'shopify',\n createNewWp: synchronizeType == 'wp' ? false : true,\n createNewShopify: synchronizeType == 'shopify' ? false : true,\n });\n }} checked={synchronizeType == 'wp' ? showWpFormType.syncWp : showWpFormType.syncShopify}>{synchronizeType == 'wp' ? 'WordPress' : 'Shopify'} Synchronize\n {synchronizeType == 'wp' && setShowWpVideo(!showWpVideo)}>\n \n {showWpVideo ? 'Hide Video Tutorial' : 'Video Tutorial'}\n }\n
\n\n \n {getSyncedStatus(\n synchronizeType == 'wp' ? content?.wpSyncedAt : content?.shopifySyncedAt,\n synchronizeType == 'wp' ? content?.wpPostStatus : null,\n synchronizeType == 'wp' ? content?.wpPostType : content?.shopifyContentType,\n synchronizeType == 'wp' ? content?.wpSynced : content?.shopifySynced,\n synchronizeType == 'wp' ? content?.wpPublishedAtUrl: content?.shopifyContentUrl)}\n \n {(synchronizeType == 'wp' ? showWpFormType.syncWp : showWpFormType.syncShopify) ? \n {synchronizeType == 'wp' && \n Post Status\n \n \n {\n content?.wpPostStatus != 'draft' ? setUnsavedChanges({...unsavedChangesInContent, wpPostStatus: true}) : setUnsavedChanges({...unsavedChangesInContent, wpPostStatus: false});\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n action: 'Create',\n status: 'Draft',\n });\n }}>Draft\n {\n content?.wpPostStatus != 'publish' ? setUnsavedChanges({...unsavedChangesInContent, wpPostStatus: true}) : setUnsavedChanges({...unsavedChangesInContent, wpPostStatus: false});\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n action: 'Publish',\n status: '',\n });\n }}>Publish\n \n \n }\n\n \n Post Type\n \n \n {\n content?.wpPostType != 'blog' ? setUnsavedChanges({...unsavedChangesInContent, wpPostType: true}) : setUnsavedChanges({...unsavedChangesInContent, wpPostType: false});\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n type: 'Blog Post',\n });\n }}>Blog Post\n {\n content?.wpPostType != 'page' ? setUnsavedChanges({...unsavedChangesInContent, wpPostType: true}) : setUnsavedChanges({...unsavedChangesInContent, wpPostType: false});\n form.setFieldsValue({wpPostCategory: []});\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n type: 'Page',\n });\n }}>Page\n \n \n \n\n {synchronizeType == 'shopify' && form.getFieldValue('wpPostType') == 'blog' && \n Blog\n \n setSelectedUser(id)}\n >\n {blogs?.map((blog, i) => )}\n \n \n }\n {synchronizeType == 'wp' ? \n Author\n \n {\n content?.wpPostAuthorId!=id ? setUnsavedChanges({...unsavedChangesInContent, wpPostAuthorId: true}) : setUnsavedChanges({...unsavedChangesInContent, wpPostAuthorId: false});\n setSelectedUser(id);\n }}\n >\n {selectedWpSiteUsers.map((user, i) => )}\n \n \n : \n \n Author\n \n \n \n \n }\n {synchronizeType == 'wp' ? \n Category\n \n \n \n : \n \n Tags\n \n \n \n \n }\n\n {parent?.length ? (\n \n Parent\n \n \n \n \n ) : null}\n
\n value === false) || postingData || creatingPage || creatingBlog} type='default' variant='solid' color='blue' htmlType='submit'>{syncBtnLabel}\n {(creatingPage || creatingBlog || postingData) && }\n
\n
: null}\n \n
);\n /*\n * Returns HTML for bottom part of Wordpress publishing popup including creation of new wordpress post/page\n */\n const wpPublisherNewPostSection = (\n {!content?.wpPublishedAtUrl && synchronizeType == 'wp' ?\n
\n \n \n
:\n null}\n
{\n form.resetFields();\n setShowWpFormType({\n syncWp: synchronizeType == 'wp' ? false : true,\n syncShopify: synchronizeType == 'shopify' ? false : true,\n createNewWp: synchronizeType == 'wp',\n createNewShopify: synchronizeType == 'shopify',\n });\n }} checked={synchronizeType == 'wp' ? showWpFormType.createNewWp : showWpFormType.createNewShopify} style={{fontWeight: 500, marginBottom: 10}}>Create new post\n {synchronizeType == 'wp' &&
{\n setShowDataModal(false);\n setShowAddSiteModal(true);\n setShowIndividualPopover('');\n }}>+ Add site
}\n
\n \n {synchronizeType == 'wp' ? \n Website\n \n {\n setShowWpFormType({\n syncWp: false,\n syncShopify: false,\n createNewWp: true,\n createNewShopify: false,\n });\n }}\n onChange={value => {\n setSelectedWpSite(value);\n }}\n >\n {toJS(wpArray).map((wpSite, idx) => {\n return ;\n })}\n \n \n : \n Website\n \n {\n setShowWpFormType({\n syncWp: false,\n syncShopify: false,\n createNewWp: false,\n createNewShopify: true,\n });\n }}\n onChange={value => {\n setSelectedShopifySite(value);\n }}\n >\n {toJS(vendorAccounts)?.map((shopifySite, idx) => {\n return ;\n })}\n \n \n }\n {(synchronizeType == 'wp' ? showWpFormType.createNewWp : showWpFormType.createNewShopify) ?
\n {synchronizeType == 'wp' && \n Post Status\n \n \n {\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n action: 'Create',\n status: 'Draft',\n });\n }}>Draft\n {\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n action: 'Publish',\n status: '',\n });\n }}>Publish\n \n \n }\n\n \n Post Type\n \n \n {\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n ...(synchronizeType == 'shopify' && {status: ''}),\n type: 'Blog Post',\n });\n }}>Blog Post\n {\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n ...(synchronizeType == 'shopify' && {status: ''}),\n type: 'Page',\n });\n }}>Page\n \n \n \n\n {synchronizeType == 'shopify' && form.getFieldValue('wpPostType') == 'blog' && \n Blog\n \n setSelectedUser(id)}\n >\n {blogs?.map((blog, i) => )}\n \n \n }\n\n {synchronizeType == 'wp' && \n \n Permalink URL\n {synchronizeType == 'wp' && (Optional)}\n \n \n \n \n }\n\n {synchronizeType == 'wp' ? \n Author\n \n setSelectedUser(id)}\n >\n {selectedWpSiteUsers.map((user, i) => )}\n \n \n : \n \n Author\n \n \n \n \n }\n\n {synchronizeType == 'wp' ? \n Category\n \n \n \n : \n \n Tags\n \n \n \n \n }\n\n {parent?.length ? (\n \n Parent\n \n \n \n \n ) : null}\n AI in progress
Please wait till AI generate the content
: content.wordCount == 0 ? `Empty content can't be ${newBtnLabelOptions?.action == 'Create' ? 'draft' : 'publish'}` : ''}>\n
\n {newBtnLabel}\n {(creatingPage || creatingBlog || postingData) && }\n
\n : null}\n
\n );\n\n const wpPublishTooltipContent = (\n {(isApiError || errorId?.find(item=> item == id)) && synchronizeType == 'wp' ? \n \n
\n \n
\n
\n
{`We're unable to sync with your WordPress site.`}
\n
Check your configuration {isGHLAccount ? '' : <>or\n openLiveChat()}>\n reach out to support\n }\n
\n
\n
\n
: isShopifyApiError && synchronizeType == 'shopify' ? \n \n
\n \n
\n
\n
{`We're unable to sync with your Shopify site.`}
\n
Check your configuration {isGHLAccount ? '' : <>or\n openLiveChat()}>\n reach out to support\n }\n
\n
\n
\n
: null}\n\n
\n {(content?.wpPublishedAtUrl && synchronizeType == 'wp') || (content?.shopifySynced && synchronizeType == 'shopify') ? wpPublisherSyncSection : null}\n {wpPublisherNewPostSection}\n
\n
);\n\n const onClick = async () => {\n if (!showDataModal) {\n if (id) {\n setLoadingData(true);\n await loadPage(uuid);\n setTrigger(true);\n await fetchWpPublishData();\n setShowIndividualPopover(id);\n } else {\n fetchWpPublishData(true);\n }\n } else {\n setShowDataModal(false);\n setShowIndividualPopover('');\n }\n };\n\n const onClickShopify = () => {\n loadShopifyBlogs();\n getVendorAccounts();\n };\n\n useEffect(() => {\n if (synchronizeType == 'wp') {\n onClick();\n } else if (synchronizeType == 'shopify') {\n onClickShopify();\n }\n }, [synchronizeType]);\n\n const alignConfig = {\n points: ['t', 'b'],\n offset: [250, -32],\n };\n\n\n const handleClickOutside = () => {\n setShowSynchronizeTypeDropdown(false);\n };\n\n useEffect(() => {\n const handleClick = event => {\n if (refOne?.current && !refTwo?.current) {\n if (!refOne?.current?.contains(event.target)) {\n handleClickOutside();\n }\n }\n if (refOne?.current && refTwo?.current) {\n if (!refOne?.current?.contains(event.target) && !refTwo?.current?.contains(event.target)) {\n handleClickOutside();\n }\n }\n };\n\n document.addEventListener('mousedown', handleClick);\n\n return () => {\n document.removeEventListener('mousedown', handleClick);\n };\n }, []);\n\n const setShopifyInitialValues = () => {\n let initialValues: any = {\n blog: content?.shopifyBlogId || project?.shopifyBlogTitle,\n wpPostType: content?.shopifyContentType || project?.shopifyPostType || 'page',\n author: '',\n account_id: '',\n tags: '',\n };\n if (showWpFormType?.createNewShopify) {\n initialValues = {\n ...initialValues,\n author: project?.shopifyAuthor || '',\n account_id: project?.shopifyAccountId || vendorAccounts?.[0]?.accountId,\n tags: project?.shopifyTags?.join?.(','),\n };\n }\n form.setFieldsValue(initialValues);\n setSelectedShopifySite(project?.shopifyAccountId || vendorAccounts?.[0]?.accountId);\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n type: initialValues?.wpPostType === 'page' ? 'Page' : 'Blog Post',\n status: '',\n action: 'Create',\n });\n };\n\n return !isPublic && <>\n \n <>\n \n \n {\n const id = content?.wpPublishedAtWebsiteId;\n const wpPostStatus = id ? content?.wpPostStatus : content?.defaultWpPostStatus;\n const wpPostType = id ? content?.wpPostType : content?.defaultWpPostType;\n setUnsavedChanges({\n content: content?.isCleanedHtmlUpdated || false,\n wpPostStatus: false,\n wpPostType: false,\n wpPostAuthorId: false,\n wpPostCategory: false,\n postParent: false,\n });\n setNewBtnLabelOptions({\n ...newBtnLabelOptions,\n status: wpPostStatus === 'draft' ? 'Draft' : 'Publish',\n type: (wpPostType === 'blog' || wpPostType === 'post') ? 'Blog Post' : 'Page',\n action: wpPostStatus === 'draft' ? 'Create' : '',\n });\n form.setFieldsValue({wpPostStatus: wpPostStatus || 'publish', wpPostType: (wpPostType == 'post' ? 'blog' : wpPostType) || 'page', author: (content?.wpPostAuthorId)?.toString(), wpPostCategory: content?.wpPostCategories, postParent: parent?.find(item => item.id == content?.wpPostParent)?.id ?? null});\n setShowWpFormType({\n syncWp: offerPublishUrl() ? true : false,\n createNewWp: offerPublishUrl() ? false : true,\n syncShopify: content?.shopifySynced,\n createNewShopify: false,\n });\n setSynchronizeType('wp');\n }}>\n
  WordPress
\n {getSyncedPill(content?.wpSynced)}\n \n
\n
\n {profile?.isShopifyCustomer && \n {\n setShopifyInitialValues();\n setShowWpFormType({\n syncWp: offerPublishUrl() ? true : false,\n createNewWp: false,\n syncShopify: content?.shopifySynced,\n createNewShopify: !content?.shopifySynced,\n });\n setSynchronizeType('shopify');\n }}>\n
  Shopify
\n {getSyncedPill(content?.shopifySynced)}\n \n
\n
}\n }>\n {\n // onSynchronizeClick();\n setShowSynchronizeTypeDropdown(!showSynchronizeTypeDropdown);\n }}>\n   Synchronization\n \n
\n \n ;\n});\n\nconst SynchronizeBtn = styled.div`\n display: flex;\n align-items: center;\n height: 22px;\n font-size: 12px;\n font-weight: 400;\n cursor: pointer;\n background: #2D6CCA1A;\n border: 1px solid #2D6CCA80;\n padding: 3px 8px 4px 8px;\n border-radius: 4px;\n color: #2D6CCA;\n`;\n\nconst DropdownContentContainer = styled.div`\n width: 255px;\n height: 100%;\n background: #FFFF;\n border-radius: 8px;\n border: 1px solid #E8E8E8;\n box-shadow: 0px 6px 12px 0px #00000024;\n padding: 10px;\n\n display: flex;\n flex-direction: column;\n gap: 10px;\n`;\n\nconst SynchronizeType = styled.div`\n display: flex;\n align-items: center;\n gap: 13px;\n cursor: pointer;\n justify-content: space-between;\n`;\n\nconst WpPublishTooltipContentWrapper = styled.div`\n border-radius: 12px;\n box-shadow: 0px 6px 12px 0px #00000024;\n border: 1px solid #D2D2D2;\n background: #F9F9FB;\n`;\n\nconst SyncedPill = styled.div<{synced: boolean}>`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n height: 23px;\n padding: 5px 7px 4px 7px;\n border-radius: 27px;\n background: ${p => p?.synced ? '#2AC15529' : '#4E515629'};\n font-size: 12px;\n color: ${p => p?.synced ? '#219843' : '#4E5156'};\n`;\n\nconst CustomRadioButton = styled(Radio)`\n .ant-radio-inner {\n background-color: transparent !important;\n }\n .ant-radio-checked {\n .ant-radio-inner {\n background-color: #1890ff !important;\n\n &::after {\n background-color: #fff;\n }\n }\n }\n`;\n\nconst PurpleRadioButton = styled(Radio)<{blueColor?: boolean}>`\n .ant-radio-inner {\n background-color: transparent !important;\n\n &:hover {\n border-color: ${p => p?.blueColor ? '#2D6CCA' : '#7F4EAD'} !important;\n }\n }\n .ant-radio-checked {\n .ant-radio-inner {\n background-color: ${p => p?.blueColor ? '#2D6CCA' : '#7F4EAD'} !important;\n border-color: ${p => p?.blueColor ? '#2D6CCA' : '#7F4EAD'} !important;\n\n &::after {\n background-color: #fff;\n }\n }\n }\n`;\n\nconst InputLabelWrapper = styled.div`\n display: flex;\n\n .ant-input {\n height: 30px;\n border-radius: 5px;\n }\n\n .ant-select-selector {\n border-radius: 5px !important;\n }\n\n .ant-form-item {\n width: 200px;\n }\n`;\n\nconst WpNewPostSection = styled.div<{isActive: boolean; borderRadiusTop: boolean}>`\n padding: 20px 10px;\n background-color: ${p => p.isActive ? '#fff' : '#F9F9FB'};\n border-radius: ${p => p?.borderRadiusTop ? '12px' : '0px 0px 12px 12px'};\n border-top: ${p => p?.borderRadiusTop ? '' : '2px solid #E8E8E8'};\n`;\n\nconst WpUpdatePostSection = styled.div<{isActive: boolean}>`\n padding: 20px 10px;\n background-color: ${p => p.isActive ? '#fff' : '#F9F9FB'};\n border-radius: 12px 12px 0px 0px;\n`;\n\nconst FormLabel = styled.span`\n display: inline-block;\n width: 105px;\n margin-top: 5px;\n font-size: 12px;\n position: relative;\n`;\n\nconst OptionalTag = styled.div`\nposition: absolute;\ntop: 12px;\nleft: 0px;\nfont-size: 10px;\nwidth: 105px;\n`;\n\nconst InputsContainer = styled.div`\n padding-left: 25px;\n`;\n\nconst WpLastSyncLeft = styled.div`\n font-size: 12px;\n color: #4e5156;\n`;\nconst ErrorNotification = styled.div`\n width: 340px;\n height: auto;\n background-color: #feecec;\n border-radius: 5px;\n margin-left: auto;\n margin-right: auto;\n padding: 8px 14px;\n font-size: 12px;\n display: flex;\n`;\nconst ErrorNotificationContainer = styled.div`\n width: 100%;\n background-color: #F9F9FB;\n padding-top: 10px;\n`;\nconst VideoTutorialBtn = styled.div`\n font-size: 12px;\n color: #2D6CCA;\n cursor: pointer;\n`;\nconst WpSyncedPostDetails = styled.div`\n display: flex;\n`;\n\nconst PublishButton = styled(V2Button)`\n display: block;\n margin: 15px 0 0 0;\n`;\n\nconst StyledFormItem = styled(Form.Item)`\n margin-bottom: 6px !important;\n .ant-form-item-explain-error{\n font-size: 12px;\n }\n`;\n","import {observer} from 'mobx-react-lite';\nimport debounce from 'lodash/debounce';\nimport {useState, useEffect, useRef} from 'react';\nimport {useTranslation} from 'next-i18next';\nimport {\n Tooltip,\n Form,\n Typography,\n Dropdown,\n Checkbox,\n Modal,\n Spin,\n Divider,\n Select,\n} from 'antd';\nimport styles from './index.module.scss';\nimport {NextImg} from '@/utils/nextImg';\n\nimport {useStore} from '@/store/root-store';\nimport isURL from 'validator/lib/isURL';\nimport {Button, CommonInput, Modal as CommonModal} from '@/components/common-components/components';\nimport {SCA_PAGE_URL_UPDATE} from '@/constants/events';\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {useRouter} from 'next/router';\nimport styled from 'styled-components';\nimport {faPen} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport {\n faArrowDownToBracket,\n faArrowUpFromBracket,\n faXmark,\n faCaretDown,\n} from '@fortawesome/pro-solid-svg-icons';\nimport {MetaTagGenerator} from './MetaGenerator/MetaTagGenerator';\n\nimport {WpInstructionsModal} from './OneClickPublisher/WpInstructionsModal';\nimport {WpAddSiteModal} from './OneClickPublisher/WpAddSiteModal';\nimport {OneClickPublisherV2} from './OneClickPublisherV2/OneClickPublisherV2';\nimport {Button as V2Button, GrayButton} from '@/components/common-components/v2';\nimport {getDomain} from '@/utils/url';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {isNil} from 'lodash';\nimport {isScaPublicPage} from '../../EditorSection/content-editor/utils';\nimport {Loader} from '../../../RightSidebar/v2-sidebar/Utils/loader';\nimport {ScaArticleStatusSelectorV2} from '../../../../blocks/status-selector-v2';\nimport {ProjectsSelector} from '../../../../blocks/projects-selector';\nimport {languages} from '../../../Drawers/AiContentToolsDrawer/languages';\nimport Flag from '@/components/common-components/components/flag';\nimport {formatCountryCode} from '@/components/dashboard/pages/content-ideas/drawer/languageUtil';\nimport {notification} from '@/utils/notification-v2';\n\nexport interface TitleEditorProps {\n placeholder?: string;\n}\n\nexport const TitleEditor = observer(\n ({placeholder = 'New document'}: TitleEditorProps) => {\n const {contentOptimizer: {\n currentPage: {\n content,\n isPublic,\n contentLoadedAt,\n isAnalyzing,\n editTitle,\n uploadFromUrl,\n isExportingPage,\n isExternalTitleEdit,\n viewers,\n smallPageLoad,\n },\n wpPublish: {\n setShowQuickSyncModal,\n showQuickSyncModal,\n publishWpPage,\n wpArray,\n fetchWpPublishData,\n postingData,\n },\n aiMetaData: {\n metaData,\n },\n aiOutline: {\n userAiSettings,\n updateUserAiSettings,\n getUserAiSettings,\n },\n }} = useStore('');\n const [titleLeft, setTitleLeft] = useState(0);\n const [title, setTitle] = useState('');\n const [url, setUrl] = useState(content?.importedFromUrl || '');\n const [modalUrl, setModalUrl] = useState(content?.importedFromUrl || '');\n const [editPageUrl, setEditPageUrl] = useState(false);\n const [isCloseClicked, setIsCloseClicked] = useState(false);\n const [showDownloadConfirmationModal, setShowDownloadConfirmationModal] = useState(false);\n const [submitDisabled, setSubmitDisabled] = useState(true);\n const [renderWithbrowser, setRenderWithBrowser] = useState(false);\n const [keepContentModal, setKeepContentModal] = useState({\n show: false,\n url: '',\n renderWithbrowser: false,\n });\n const [titleContainerWidth, setTitleContainerWidth] = useState('100%');\n\n useEffect(() => {\n if (!title || content?.title === title) {\n setTitle(content?.title || '');\n }\n }, [content?.title]);\n\n useEffect(()=>{\n getUserAiSettings();\n }, []);\n\n useEffect(()=>{\n if (metaData?.length && content?.title?.startsWith('New Document')) {\n setTitle(metaData[0]?.metaTitle);\n }\n }, [content, content?.title, metaData]);\n\n useEffect(() => {\n calculateWidth();\n }, [title]);\n\n const antIcon = ;\n\n\n const [collapsedViewers, setCollapsedViewers] = useState(false);\n const {t} = useTranslation('common');\n const [form] = Form.useForm();\n\n\n const {Text} = Typography;\n const titleRef = useRef(null);\n\n // this will take in left position of the title elem so we can align the people currently editing banner to it\n useEffect(() => {\n const getTitleLeft = () => {\n if (titleRef?.current?.getBoundingClientRect()?.left) setTitleLeft(titleRef?.current?.getBoundingClientRect()?.left);\n };\n\n window.addEventListener('resize', getTitleLeft);\n\n getTitleLeft();\n\n return () => window.removeEventListener('resize', getTitleLeft);\n }, [titleRef?.current]);\n\n\n const {\n query: {newPage},\n } = useRouter();\n\n\n useEffect(() => {\n if (!isScaPublicPage()) {\n fetchWpPublishData();\n }\n setTitle(content?.title || '');\n setUrl(content?.importedFromUrl || '');\n form.setFieldsValue({\n urlInput: url,\n });\n }, [contentLoadedAt]);\n\n useEffect(() => {\n if (isExternalTitleEdit) setTitle(content?.title || '');\n }, [isExternalTitleEdit]);\n\n\n const debouncedChange = debounce(e => {\n if (!isNil(e.target.value)) editTitle(e.target.value);\n }, 2000);\n\n const debouncedChangeFocusOut = debounce(e => {\n if (!isNil(e.target.value)) editTitle(e.target.value);\n }, 0);\n\n const onChange = e => {\n setTitle(e.target.value);\n };\n\n const URL_PATTERN = new RegExp('http(s?)://');\n const popupRef = useRef();\n\n const [language, setLanguage] = useState<{language: string; code: string}>(userAiSettings?.defaultLanguage ? {language: languages.find(item => item.code == userAiSettings?.defaultLanguage)?.language ?? '', code: userAiSettings?.defaultLanguage} : {language: 'English', code: 'en'});\n\n useEffect(() => {\n setLanguage(userAiSettings?.defaultLanguage ? {language: languages.find(item => item.code == userAiSettings?.defaultLanguage)?.language ?? '', code: userAiSettings?.defaultLanguage} : {language: 'English', code: 'en'});\n }, [userAiSettings?.defaultLanguage]);\n\n const onLanguageChangeHandler = async (value, option) => {\n if (option.value) {\n try {\n await updateUserAiSettings({language: option.value});\n setLanguage({language: option.country, code: option.value});\n } catch (err) {\n notification.error('', err);\n }\n }\n };\n\n const {Option} = Select;\n const selectSufixIcon = ;\n\n useEffect(() => {\n function handleClickOutside(event) {\n if (popupRef.current && (!popupRef.current.contains(event.target) )) {\n setEditPageUrl(false);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [popupRef]);\n\n const getTopLinkUrl = () => {\n return content?.wpPublishedAtUrl || content?.importedFromUrl;\n };\n\n\n /*\n * Gets Id for wordpress page\n */\n const getTopLinkId = () => {\n if (content?.wpPublishedAtUrl) return wpArray.filter(item => getDomain(item.url) === getDomain(content?.wpPublishedAtUrl))[0]?.id;\n if (content?.importedFromUrl) return wpArray.filter(item => getDomain(item.url) === getDomain(content?.importedFromUrl))[0]?.id;\n };\n\n /*\n * Handles publishing of data from WordPress form\n */\n const publishWpPageHandler = async () => {\n const pageId = getTopLinkId();\n const pageUrl = getTopLinkUrl();\n\n const payload = {\n pageId: pageId,\n uuid: content?.uuid,\n pageUrl: pageUrl,\n postStatus: 'publish',\n ...((content?.wpPostCategories?.length && content?.wpPostType !== 'page') && {postCategories: content?.wpPostCategories}),\n };\n\n await publishWpPage(payload);\n await smallPageLoad(payload?.uuid);\n };\n\n const onEditUrlSubmit = (values: any) => {\n if (values.urlInput) {\n setKeepContentModal({\n show: true,\n url: values.urlInput,\n ...(values.renderWithbrowser && {renderWithbrowser: values.renderWithbrowser}),\n });\n }\n };\n\n const updateUrlHandler = async (shouldOverwriteContent: boolean, urlInput: string, renderWIthBrowser?: boolean) => {\n setEditPageUrl(false);\n await uploadFromUrl(!URL_PATTERN.test(urlInput.toLowerCase()) ? `http://${urlInput}` : urlInput, shouldOverwriteContent, renderWIthBrowser);\n\n MixPanel.track(SCA_PAGE_URL_UPDATE, {\n 'pageId': content.uuid,\n 'description': 'Page URL was updated',\n });\n };\n\n const renderForm = () => {\n return {\n if (!isCloseClicked) {\n onEditUrlSubmit(values);\n }\n }}\n initialValues={{\n urlInput: modalUrl,\n }}>\n {'Page URL'}\n ({\n validator(_, value) {\n if (!value || isURL(value.trim(), {require_protocol: false})) {\n return Promise.resolve();\n }\n return Promise.reject(t('url-not-valid'));\n },\n }),\n ]}\n >\n {\n setModalUrl(e.target.value);\n if (!e.target.value) {\n setSubmitDisabled(true);\n } else {\n setSubmitDisabled(false);\n }\n }\n }\n inputType='text'\n variant='light'\n placeholder={t('enter-url')}/>\n\n \n \n Render page content with Browser\n \n\n \n {\n e.preventDefault();\n setIsCloseClicked(true);\n setEditPageUrl(false);\n setModalUrl(content?.url || '');\n }}\n disabled={isAnalyzing}\n >\n {isAnalyzing ? : t('cancel')}\n \n {\n setIsCloseClicked(false);\n setEditPageUrl(false);\n }}\n >\n {isAnalyzing ? : (content?.importedFromUrl ? 'Update & Import' : 'Add')}\n \n \n ;\n };\n\n\n // gets width of the text inside title input field and sets it as a width of the container\n // input field is 100% widht and will stretch to fill in the space\n // we set min width of 235px to adjust with current UI\n const calculateWidth = (() => {\n if (isNil(title)) {\n setTitleContainerWidth(`235px`);\n return;\n }\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const titleWidth = ctx.measureText(title);\n if (!titleWidth?.width) {\n setTitleContainerWidth(`235px`);\n return;\n }\n const formatedTitleWidth = titleWidth.width * 2.5 > 235 ? titleWidth.width * 2.5 : 235;\n setTitleContainerWidth(`${formatedTitleWidth}px`);\n });\n\n return (\n <>\n \n \n setKeepContentModal({\n show: false,\n url: '',\n renderWithbrowser: false,\n })}\n style={{marginTop: 'auto', marginBottom: 'auto'}}>\n Update & Import\n \n Do you want to overwrite the existing content in this article with new content from\n window.open(keepContentModal.url, '_blank')}>{keepContentModal.url}?\n \n \n \n {\n setKeepContentModal({\n show: false,\n url: '',\n renderWithbrowser: false,\n });\n }}>Cancel\n
\n updateUrlHandler(false, keepContentModal.url, keepContentModal?.renderWithbrowser)}>No, keep existing content\n updateUrlHandler(true, keepContentModal.url, keepContentModal?.renderWithbrowser)}>Yes, overwrite content\n
\n
\n \n setShowDownloadConfirmationModal(false)}\n visible={showDownloadConfirmationModal}>\n
{t('updating-url-data')}
\n setRenderWithBrowser(e.target.checked)}>{t('render-with-browser')}\n
\n {/* this closes the modal */}\n setShowDownloadConfirmationModal(false)}>{t('cancel')}\n {\n {/* we are passing true as a second param, which will tell the BE that we want to override the content.\n very imporant, do not change to false*/}\n uploadFromUrl(content?.importedFromUrl || '', true, renderWithbrowser);\n setShowDownloadConfirmationModal(false);\n }}>{`Update & Import`}\n
\n\n \n setShowQuickSyncModal(false)}\n visible={showQuickSyncModal}>\n
You are about to update the content of URL
\n
\n setShowQuickSyncModal(false)}>{t('cancel')}\n {\n publishWpPageHandler();\n setShowQuickSyncModal(false);\n }}>{`Update`}\n
\n\n \n
\n
\n \n\n { } : e => {\n onChange(e);\n debouncedChange(e);\n calculateWidth();\n }}\n onBlur={isPublic ? () => { } : e => {\n onChange(e);\n debouncedChangeFocusOut(e);\n calculateWidth();\n }}\n readOnly={isPublic}\n />\n \n\n
\n \n
\n \n
\n\n
\n\n
\n
{\n if (content?.importedFromUrl) {\n window.open(url, '_blank');\n }\n }}>\n {content?.importedFromUrl ? url : 'Page created from scratch '}\n
\n
\n {!newPage &&
\n {!isPublic && {renderForm()}} placement={'bottomRight'} trigger={['click']}>\n
setEditPageUrl(!editPageUrl)}>\n \n
\n
}\n {!isPublic &&\n \n content.importedFromUrl ? setShowDownloadConfirmationModal(true) : {}}/>\n }\n\n\n {!isPublic ?\n !postingData ? \n {\n if (!content.wpPublishedAtUrl) return;\n setShowQuickSyncModal(true);\n }} style={!content.wpPublishedAtUrl ? {opacity: '50%'} : {}}/>\n : : null}\n \n {!isScaPublicPage() ? : null}\n \n \n option.country.toLowerCase().indexOf(input.toLowerCase()) >= 0\n }\n onMouseEnter={()=>}\n >\n {\n languages.map((lang, index) => {\n return (\n \n );\n })\n }\n \n \n
}\n\n
\n
\n {viewers > 1 && !newPage ?\n
\n
\n \n {viewers} people currently editing this project\n setCollapsedViewers(!collapsedViewers)}>\n \n
\n
\n : null}\n \n );\n },\n);\n\nconst EditUrlContainer = styled.div`\n width: 380px;\n height: auto;\n background: #FFFFFF;\n box-shadow: 0px 6px 25px rgba(0, 0, 0, 0.15);\n border-radius: 5px;\n padding: 15px 10px;\n \n .ant-form-item {\n margin-bottom: 0 !important;\n margin-top: 8px !important;\n input {\n height: 32px !important;\n }\n }\n`;\n\nconst CheckboxStyled = styled(Checkbox)`\nmargin-top: 10px;\n.ant-checkbox {\n .ant-checkbox-inner {\n border: 1px solid #7f4ead;\n border-radius: 5px;\n }\n\n &:hover {\n .ant-checkbox-inner {\n border: 1px solid #7f4ead;\n }\n }\n\n &.ant-checkbox-checked {\n .ant-checkbox-inner {\n background-color: #7f4ead;\n }\n\n &::after {\n border: 1px solid #7f4ead;\n }\n }\n}\n\n`;\nconst EditUrlModalTitle = styled.div`\n font-weight: 600;\n font-size: 20px;\n color: #121212;\n margin-bottom: 10px;\n`;\nconst EditUrlModalSub = styled.div`\n color: #4E5156;\n`;\n\nconst EditUrlLink = styled.div`\n color: #2e6cca;\n cursor: pointer;\n display: inline-block;\n margin-left: 5px;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\nconst EditUrlModalButtons = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nconst dropdownColors = {\n grey: {\n color: '#333',\n backgroundColor: '#F9F9FB',\n listItemsBackgroundColor: '#F9F9FB',\n borderColor: '#F9F9FB',\n },\n};\n\n\nconst StyledSelect = styled(Select)<{variant?: string; borderRadius?: string; width?: string; height?: string; marginLeft?: string}>`\n color:${ p => dropdownColors[p.variant].color};\n background-color: ${ p => dropdownColors[p.variant].backgroundColor} !important;\n border-radius: ${ p => p.borderRadius ? p.borderRadius : '5px'} !important;\n .ant-select-selector {\n max-width:180px !important;\n min-width: ${p => p.width ? p.width : '168px'} !important;\n width: ${p => p.width ? p.width : '168px'} !important;\n height: ${p => p.height ? p.height : '38px'} !important;\n border-radius: ${ p => p.borderRadius ? p.borderRadius : '5px'} !important;\n background-color: ${ p => dropdownColors[p.variant].backgroundColor} !important;\n border-color: #E8E8E8 !important;\n padding: 1px 8px 2px 11px !important;\n cursor: pointer !important;\n }\n .ant-select-selection-search {\n padding: 0px !important;\n\n .ant-select-selection-search-input{\n height: 22px !important;\n }\n }\n\n .ant-select-arrow {\n color:${ p => dropdownColors[p.variant].color};\n }\n .ant-select-item-option-selected:not(.ant-select-item-option-disabled){\n background-color: ${ p => dropdownColors[p.variant].backgroundColor} !important;\n border-color: ${ p => dropdownColors[p.variant].borderColor} !important\n }\n .ant-select-selection-item {\n display: flex;\n align-items: center;\n }\n\n`;\n","import {useEffect, useState, useRef} from 'react';\nimport {useRouter} from 'next/router';\nimport {PageHeader, Button, Modal, Spin, Tooltip} from 'antd';\nimport {PAGES_API} from '@/api/content-optimizer';\n// import {BaseApi} from '@/api/base-api';\n// import {getApiUrl, getTokenFromCookies} from '@/api/common-utils';\nimport {GoogleOutlined, LoadingOutlined} from '@ant-design/icons';\nimport {TitleEditor} from '../title-editor';\nimport DeleteModal from '@/components/dashboard/pages/landing-page-optimizer/blocks/delete-modal';\nimport classNames from 'classnames';\nimport {observer} from 'mobx-react-lite';\n\nimport {useStore} from '@/store/root-store';\nimport styles from './index.module.scss';\nimport {useTranslation} from 'next-i18next';\nimport {routes} from '@/utils/const';\nimport {\n CommonInput, Button as Btn,\n} from '@/components/common-components/components/index';\nimport {Form} from 'antd';\nimport isURL from 'validator/lib/isURL';\nimport ButtonComponent from '@/components/common-components/components/button-component';\nimport {faArrowLeft, faEllipsisV, faFileArrowDown, faShareNodes} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {SCA_CREATE_PAGE, SCA_PAGE_EXPORT_TO_DOCS} from '@/constants/events';\nimport {isNil} from 'lodash';\nimport {Checkbox, GrayButton} from '@/components/common-components/v2';\nimport {CONTENT_ASSISTANT_API} from '@/api/ContentAssistant';\nimport styled from 'styled-components';\nimport {faCheck} from '@fortawesome/pro-regular-svg-icons';\nimport {notification} from '@/utils/notification-v2';\n\nconst useClickedOnPageHandler = (ref, callback) => {\n useEffect(() => {\n const handleClickOutside = event => {\n event.stopPropagation();\n\n if (ref.current && !ref.current.contains(event.target)) {\n callback();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [ref]);\n};\n\n\nexport const BreadCrumb = observer(() => {\n const router = useRouter();\n const [isKebabOpen, setIsKebabOpen] = useState(false);\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [exportToDocsLoading, setExportToDocsLoading] = useState(false);\n const {t} = useTranslation('common');\n const [form] = Form.useForm<{ url: string }>();\n const dropdownRef = useRef(null);\n const headerTopRef = useRef(null);\n const antIcon = ;\n const briefAntIcon = ;\n\n const [copySuccess, setCopySuccess] = useState(false);\n\n\n const {\n contentOptimizer: {\n currentPage: {shareDialog, isEditorScrolled, editorHeightOffset, setEditorHeightOffset, isPublic, content, clearFeTargetKeywords, clearAnalytics, isExporting, uploadFromUrl, updateContentLoadedAt, setCurrentStep, isSaving, exportToGoogledoc, newPage, isExportingPage},\n pages: {deleteDialog, incrementInTotalArticle, setPageRemovedFromEditor},\n },\n settings: {customer: {profile: {isWhitelabel, quotaUtilization, isAllowedPagesQuotaLimitReached}}},\n plans: {showSidebarPaymentDrawer}} = useStore('');\n\n useEffect(() => {\n if (!isNil(headerTopRef?.current?.clientHeight)) {\n setEditorHeightOffset(headerTopRef?.current?.clientHeight || 0, editorHeightOffset.keywordsHeight);\n }\n }, [headerTopRef?.current?.clientHeight]);\n\n useClickedOnPageHandler(dropdownRef, () => {\n setIsKebabOpen(false);\n });\n\n const createPage = async () => {\n try {\n const {uuid} = await PAGES_API.createPage();\n\n MixPanel.track(SCA_CREATE_PAGE, {\n 'pageId': uuid,\n });\n\n router.push(`/${routes.landingPageOptimizer}/${uuid}?newPage=true`);\n incrementInTotalArticle();\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n const onUploadHandler = async (url: string, renderWithbrowser?: boolean) => {\n try {\n await uploadFromUrl(url, true, renderWithbrowser);\n updateContentLoadedAt();\n } catch (e) {\n setCurrentStep(2);\n throw e;\n } finally {\n setCurrentStep(2);\n }\n };\n\n const handleSubmit = (value: { url: string; renderWithbrowser: boolean}) => {\n onUploadHandler(value.url, value.renderWithbrowser);\n setIsModalOpen(false);\n setIsKebabOpen(false);\n };\n\n // const handleExportAll = () => {\n //\n // MixPanel.track(PRUNING_PAGE_EXPORT_ALL, {\n // 'export': 'pruning page all sections',\n // });\n //\n // gscExport.exportSingleNode(allRef.current);\n // };\n\n // KEPT IN CASE WE NEED IT AGAIN\n // const exportSingleNode = node => {\n // const today = new Date();\n // const date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();\n // html2canvas(node)\n // .then(canvas => {\n // canvas.style.display = 'none';\n // const image = canvas.toDataURL();\n // const a = document.createElement('a');\n // a.setAttribute('download', `${content?.title || 'Page'}-export-${date}.png`);\n // a.setAttribute('href', image);\n // a.click();\n // setTimeout(() => {\n // setIsExportingPageLoader(false);\n // }, 500);\n // }).catch(() => {\n // setTimeout(() => {\n // setIsExportingPageLoader(false);\n // }, 1000);\n // });\n // };\n\n\n // const handleExportAll = () => {\n // exportSingleNode(customRef);\n // };\n\n // const onExportEntirePage = () => {\n // setIsExportingPageLoader(true);\n // setIsExportingPage(true);\n // setTimeout(() => {\n // handleExportAll();\n // }, 500);\n // // Using local state to handle loading cause exporting is async\n // setTimeout(() => {\n // setIsExportingPage(false);\n // }, 1000);\n // };\n\n // const getXlsExportLink = () => {\n // const token = getTokenFromCookies();\n // if (content?.uuid) {\n // const baseUrl = getApiUrl(BaseApi.CA_ENDPOINT, `/api/pages/${content?.uuid}/export-data-to-xls/`);\n // const savedKeywordsUrl = `${baseUrl}?&jwt=${token}`;\n // return savedKeywordsUrl;\n // }\n // };\n\n const exportToGoogleDocs = async () => {\n if (exportToDocsLoading) return;\n\n setExportToDocsLoading(true);\n const response = await CONTENT_ASSISTANT_API.exportPageToGoogleDocs(content?.uuid);\n if (response) {\n window.open(response, '_blank');\n }\n setExportToDocsLoading(false);\n };\n\n return (\n
\n {/* */}\n }\n className={classNames(styles.contentOptimizerHeader, isEditorScrolled && styles.scrolledEditor)}\n onBack={() => {\n router.push(isPublic ? `/${routes.login}` : `/${routes.landingPageOptimizer}`);\n }}\n backIcon={isPublic ? ('') : }\n extra={\n !newPage && !isPublic &&\n
\n {/* */}\n {` Copied to clipboard`} : 'Share Link'}\n trigger='hover'\n placement='bottom'\n overlayClassName={styles.copyTooltip}\n onVisibleChange={visible => {\n if (!visible) {\n setTimeout(() => {\n setCopySuccess(false);\n }, 300);\n }\n }}>\n {\n shareDialog.openDialog();\n }}> Share\n \n \n exportToGoogleDocs()}>\n {exportToDocsLoading ?\n :\n }\n Export Brief\n \n {\n e.stopPropagation();\n setIsKebabOpen(!isKebabOpen);\n }}\n className={styles.kebab}\n >\n \n
\n\n\n
\n {\n const googledocLink = await exportToGoogledoc();\n if (googledocLink) {\n MixPanel.track(SCA_PAGE_EXPORT_TO_DOCS, {\n 'googleDocsLink': googledocLink,\n 'pageId': content.uuid,\n 'description': 'Page is exported to google docs',\n });\n\n window.open(googledocLink);\n }\n }}\n className={styles.exportToDocsButton}\n >\n {isExporting ? : } {t('open-in-google-docs')}\n \n {/* LEFT IN CASE WE NEED IT AGAIN */}\n {/*
\n }>\n \n
{\n e.preventDefault();\n onExportEntirePage();\n }}\n >Export to PNG\n
\n
\n \n Export to XLS\n
\n
\n
\n
*/}\n {/*
exportToGoogleDocs()}>\n Export Content Brief {exportToDocsLoading ? : null}\n
*/}\n {/*
\n \n Export to XLS\n
*/}\n \n \n \n {content.isOwner ? : \n \n }\n
\n
\n }\n />\n \n setIsModalOpen(false)} closable={true} footer={null}>\n

{t('import-article-new-url')}

\n
\n
\n ({\n validator(_, value) {\n if (!value || isURL(value, {require_protocol: true})) {\n return Promise.resolve();\n }\n // eslint-disable-next-line\n return Promise.reject(t('url-not-valid'));\n },\n }),\n ]}\n >\n \n \n \n Render page content with Browser\n \n \n {t('upload')}\n \n \n
\n
\n \n );\n});\n\n\nexport const ShareButton = styled(GrayButton)`\n margin-left: auto;\n padding: 4px 17px !important;\n margin: 0 5px;\n color: #121212;\n background-color: #f9f9fb !important;\n`;\nexport const ExportButton = styled(GrayButton)`\n margin-left: auto;\n padding: 4px 17px !important;\n margin: 0 5px;\n color: #121212;\n background-color: #f9f9fb !important;\n`;\n\n","import {useEffect, useRef} from 'react';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport styles from './styles.module.scss';\n// import {EDIT_DEBOUNCE_WAIT} from '@/constants';\nimport {Toolkit as DraftToolkit} from '../EditorSection/content-editor/toolkit/toolkit';\nimport {Divider} from 'antd';\nimport {isNil} from 'lodash';\nimport {TargetKeywordsAndSuggestions} from './TargetKeywordsAndSuggestions/TargetKeywordsAndSuggestions';\nimport {BreadCrumb} from './bread-crumb';\n\ninterface Props {\n // allRef: any;\n newPage: any;\n}\n\nexport const TopSection = observer(({newPage}: Props) => {\n const {contentOptimizer} = useStore('');\n const {currentPage} = contentOptimizer;\n const {\n setEditorHeightOffset,\n editorHeightOffset,\n } = currentPage;\n\n const headerKeywordsRef = useRef(null);\n\n const updateKeywordsRef = () => {\n if (!isNil(headerKeywordsRef?.current?.offsetHeight)) {\n setTimeout(() => {\n setEditorHeightOffset(editorHeightOffset?.breadcrumbHeight, headerKeywordsRef?.current?.offsetHeight || 0);\n }, 300);\n }\n };\n\n useEffect(() => {\n updateKeywordsRef();\n }, [headerKeywordsRef?.current]);\n\n return <>\n {!newPage &&
\n \n \n
\n \n
\n
}\n ;\n});\n","import {useStore} from '@/store/root-store';\nimport {faArrowLeft, faXmark} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport parse from 'html-react-parser';\nimport classNames from 'classnames';\nimport {useEffect, useState} from 'react';\nimport {opaqueColor} from '@/utils/colors';\nimport {faArrowDown, faArrowUp, faRotateLeft} from '@fortawesome/pro-solid-svg-icons';\nimport {Button, GrayButton} from '@/components/common-components/v2';\nimport {toJS} from 'mobx';\nimport {Divider} from 'antd';\n\nexport const TextSuggestions = observer(() => {\n const {\n contentOptimizer: {\n currentPage: {\n content,\n setIsTaActive,\n setFocusTermsForInsertion,\n stagingTaSuggestions,\n taActiveTerm,\n setTaActiveTerm,\n setStagingTaSuggestions,\n isTaActive,\n highlightedNodeId,\n setHighlightedNodeId,\n showOriginalBlockId,\n setShowOriginalBlockId,\n updatingTa,\n clearAllTaData,\n },\n }} = useStore('');\n\n const [totalOccurances, setTotalOccurances] = useState(document.getElementsByClassName(taActiveTerm?.class)?.length ?? 0);\n useEffect(() => {\n setTotalOccurances(document.getElementsByClassName(taActiveTerm?.class)?.length);\n }, [taActiveTerm?.class]);\n\n const onArrowClickHandler = (direction: 'next' | 'prev') => {\n setTotalOccurances(document.getElementsByClassName(taActiveTerm.class)?.length ?? 0);\n\n const updatedValues = {\n class: taActiveTerm.class,\n term: taActiveTerm.term,\n order: direction == 'next' ? taActiveTerm.order + 1 : taActiveTerm.order - 1,\n };\n\n setShowOriginalBlockId(null);\n\n setTaActiveTerm(updatedValues);\n };\n\n\n useEffect(() => {\n if (taActiveTerm) {\n setShowOriginalBlockId(null);\n const nodesWithTerm = document.getElementsByClassName(taActiveTerm.class);\n\n if (nodesWithTerm?.length) {\n const higlightedNode = nodesWithTerm[taActiveTerm.order];\n if (!higlightedNode) return;\n\n // const allTermOccurances = nodesWithTerm[taActiveTerm.order]?.querySelectorAll('.termsAssistantDiffs');\n\n // if (allTermOccurances?.length) {\n // for (let i = 0; i < allTermOccurances.length; i++) {\n // if ((allTermOccurances[i] as HTMLElement).innerText?.includes(taActiveTerm.term.replace('-', ' '))) {\n // }\n // }\n // }\n setHighlightedNodeId(+(higlightedNode as HTMLElement)?.dataset?.blockIndex);\n const elemOffset = (higlightedNode as HTMLElement).offsetTop;\n document.querySelector('.textContainer').scrollTop = elemOffset - ((window.innerHeight - 170) / 2);\n }\n }\n }, [taActiveTerm?.term, taActiveTerm?.order, taActiveTerm?.class, taActiveTerm]);\n\n\n const blocksRenderer = blocksArray => {\n const options = {\n replace: domNode => {\n if (!domNode.attribs) {\n return;\n }\n\n // if (domNode.name === 'img') {\n // return ;\n // }\n\n // if (attribs.class === 'prettify') {\n // return (\n // \n // {domToReact(children, options)}\n // \n // );\n // }\n },\n };\n\n const typeDettector = (text: string) => {\n if (text.startsWith('

')) {\n return 'p';\n }\n if (text.startsWith('

')) {\n return 'h1';\n }\n if (text.startsWith('

')) {\n return 'h2';\n }\n if (text.startsWith('

')) {\n return 'h3';\n }\n if (text.startsWith('

')) {\n return 'h4';\n }\n if (text.startsWith('

')) {\n return 'h5';\n }\n if (text.startsWith('
')) {\n return 'h6';\n }\n\n return 'p';\n };\n\n const checkKey = e => {\n e = e || window.event;\n\n if (e.keyCode == '38') {\n // up arrow\n if (taActiveTerm?.order == 0) return;\n onArrowClickHandler('prev');\n } else if (e.keyCode == '40') {\n // down arrow\n if (taActiveTerm?.order == (totalOccurances > 0 ? totalOccurances - 1 : 0)) return;\n onArrowClickHandler('next');\n } else if (e.keyCode == '37') {\n // left arrow\n } else if (e.keyCode == '39') {\n // right arrow\n }\n };\n\n document.onkeydown = checkKey;\n\n const onBlockStatusChange = (action: 'accept' | 'dismiss' | 'undo'| 'acceptAll') => {\n let prepDataArr = toJS(stagingTaSuggestions);\n if (action == 'acceptAll') {\n prepDataArr = prepDataArr?.map(item => ({...item, status: 'accepted'}));\n } else {\n prepDataArr = prepDataArr?.map(item => {\n if (item.itemIndex == highlightedNodeId) {\n return {\n ...item,\n ...(action == 'accept' && {status: 'accepted'}),\n ...(action == 'dismiss' && {status: 'dismissed'}),\n ...(action == 'undo' && {status: 'default'}),\n };\n } else {\n return item;\n }\n });\n }\n setStagingTaSuggestions(prepDataArr);\n };\n\n const onDotClickHandler = (order: number) => {\n const updatedValues = {\n class: taActiveTerm.class,\n term: taActiveTerm.term,\n order: order,\n };\n\n setShowOriginalBlockId(null);\n\n setTaActiveTerm(updatedValues);\n };\n\n const checkCurBlockStatus = () => {\n const highlightedNode = document.querySelector(`[data-block-index='${highlightedNodeId}']`);\n let elementStatus = 'default';\n let blockIndex = null;\n\n if (highlightedNode) {\n blockIndex = (highlightedNode as HTMLElement).dataset?.blockIndex;\n\n if (!blockIndex) {\n elementStatus = 'default';\n } else {\n elementStatus = stagingTaSuggestions?.find(item => item.itemIndex == blockIndex)?.status;\n }\n }\n\n if (elementStatus == 'default') {\n return <>\n \n \n onBlockStatusChange('dismiss')}>Dismiss\n ;\n }\n if (elementStatus == 'accepted') {\n return <>\n
Accepted
\n onBlockStatusChange('undo')} style={{color: '#fff', padding: '5px 15px'}}>Undo\n ;\n }\n if (elementStatus == 'dismissed') {\n return <>\n
Dismissed
\n onBlockStatusChange('undo')} style={{color: '#fff', padding: '5px 15px'}}>Undo\n ;\n }\n };\n\n const updateImageStyle = html => {\n if (html.includes('figure')) {\n // the following code is setting height and width to 100% in case of initial as this sets defaults and disturb ui\n const newHtml = html.replaceAll('initial', '100%');\n return newHtml;\n } else return html;\n };\n\n return \n {blocksArray?.map((block, idx) => {\n const regExp = /(<\\/?\\w+(?:(?:\\s+\\w+(?:\\s*=\\s*(?:\".*?\"|'.*?'|[^'\">\\s]+))?)+\\s*|\\s*)\\/?>)/gim;\n if (block.isSuggestion) {\n return (\n <>\n term.replaceAll(' ', '-'))), block.status)}>\n {showOriginalBlockId && showOriginalBlockId == block.itemIndex ?\n setShowOriginalBlockId(null)}>\n \n : null}\n\n {highlightedNodeId == block.itemIndex && (!showOriginalBlockId || showOriginalBlockId != block.itemIndex) ?\n
{\n setShowOriginalBlockId(block.itemIndex);\n }}>\n Show original\n
: null}\n\n {showOriginalBlockId && showOriginalBlockId == block.itemIndex && block.status !== 'default' ?\n {block.status} : null}\n
\n {highlightedNodeId !== block.itemIndex && block.status == 'dismissed' ? parse(block.html?.replaceAll('
', '\\n\\n')?.replaceAll('<br/>', '\\n')?.split(regExp)?.join(' '), options) : parse(block.suggestion?.replaceAll('
', '\\n\\n')?.replaceAll('<br/>', '\\n')?.split(regExp)?.join(' '), options)}\n
\n\n \n {showOriginalBlockId && showOriginalBlockId == block.itemIndex ?\n \n
\n
ORIGINAL
\n {block.status !== 'default' && block.status !== 'dismissed' ?\n {\n onBlockStatusChange('undo');\n setShowOriginalBlockId(null);\n }}> Revert to Original
: null}\n \n
\n {parse(block.html?.replaceAll('
', '\\n\\n')?.replaceAll('<br/>', '\\n')?.split(regExp)?.join(' '), options)}\n
\n :\n null}\n \n\n );\n } else {\n return \n {parse(updateImageStyle(block.html?.replaceAll('
', '\\n\\n')?.replaceAll('<br/>', '\\n')?.split(regExp)?.join(' ')), options)}\n
;\n }\n })}\n\n\n {taActiveTerm?.term ? \n {taActiveTerm?.term}\n \n \n {stagingTaSuggestions?.filter(suggestion => suggestion.termIncluded?.includes(taActiveTerm?.term))?.map((suggestion, idx) => {\n if (suggestion.status == 'default') return onDotClickHandler(idx)}/>;\n if (suggestion.status == 'dismissed') return onDotClickHandler(idx)}/>;\n if (suggestion.status == 'accepted') return onDotClickHandler(idx)}/>;\n })}\n \n {\n if (taActiveTerm?.order == 0) return;\n onArrowClickHandler('prev');\n }}>\n \n \n 0 ? totalOccurances - 1 : 0)}\n onClick={() => {\n if (taActiveTerm?.order == (totalOccurances > 0 ? totalOccurances - 1 : 0)) return;\n onArrowClickHandler('next');\n }}>\n \n \n \n \n {checkCurBlockStatus()}\n \n \n : null}\n
;\n };\n\n return \n \n {\n if (updatingTa) return false;\n setIsTaActive(false);\n clearAllTaData();\n setFocusTermsForInsertion([]);\n }} style={{cursor: 'pointer'}}/>\n {content.title}\n \n {blocksRenderer(stagingTaSuggestions)}\n\n ;\n});\nconst ButtonsContainer = styled.div`\n display: flex;\n width: fit-content;\n`;\nconst DotsContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n width: auto;\n max-width: 80px;\n margin-right: 10px;\n margin-top: auto;\n margin-bottom: auto;\n // flex-direction: row-reverse;\n`;\n\n\nconst Dot = styled.div<{color: string; isActive: boolean}>`\n width: 7px;\n height: 7px;\n margin-right: 5px;\n margin-bottom: 5px;\n border-radius: 100%;\n background-color: ${p => p.color};\n position: relative;\n cursor: pointer;\n\n &::after {\n content: '';\n display: ${p => p.isActive ? 'block' : 'none'};\n width: 11px;\n height: 11px;\n border-radius: 100%;\n position: absolute;\n top: -2px;\n left: -2px;\n background-color: transparent;\n border: 1px solid red;\n }\n`;\n\nconst Wrapper = styled.div`\n position: relative;\n\n &::before {\n background-color: #24262a;\n content: '';\n height: 25px;\n left: 0;\n max-width: 100%;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 1;\n }\n\n &::after {\n background-color: #fff;\n border-radius: 10px 10px 0 0;\n content: '';\n height: 5px;\n left: 0;\n max-width: 100%;\n position: absolute;\n top: 20px;\n width: 100%;\n z-index: 1;\n }\n padding-top: 25px;\n`;\n\nconst Controller = styled.div`\n position: absolute;\n bottom: 80px;\n width: 900px;\n max-width: 90%;\n padding: 15px 40px;\n margin-left: -40px;\n height: auto;\n background-color: red;\n background: ${opaqueColor('#121212', 96)};\n box-shadow: 0px 0px 60px rgba(0, 0, 0, 0.13);\n border-radius: 12px;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n`;\n\nconst Left = styled.div`\n font-weight: 600;\n font-size: 18px;\n color: #fff;\n`;\n\nconst Right = styled.div`\n display: flex;\n flex-wrap: wrap;\n`;\n\nconst Arrow = styled.div<{disabled: boolean}>`\n background: ${p =>!p.disabled ? 'linear-gradient(90.16deg, #E15E83 2.81%, #F58069 96.58%)' : `linear-gradient(90.16deg, ${opaqueColor('#E15E83', 40)} 2.81%, ${opaqueColor('#F58069', 40)} 96.58%)`};\n border-radius: 8px;\n width: 32px;\n height: 32px;\n margin-right: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n`;\n\nconst Heading = styled.div`\n display: flex;\n background-color: #fff;\n padding: 19px 30px;\n align-items: center;\n cursor: default;\n`;\nconst Title = styled.div`\n font-size: 20px;\n font-weight: 500;\n color: #121212;\n margin-left: 20px;\n line-height: 20px;\n`;\nconst TextContainer = styled.div`\n padding-top: 45px;\n padding-bottom: 170px;\n width: 900px;\n max-width: 90%;\n text-align: left;\n height: calc(100vh - 170px);\n overflow-y: auto;\n padding-left:40px;\n padding-right:40px;\n\n .termsAssistantChanges {\n text-decoration: underline;\n }\n\n ::-webkit-scrollbar {\n width: 5px;\n }\n\n ::-webkit-scrollbar-track {\n background: transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4E515680;\n border-radius: 5px;\n }\n\n \n`;\n\nconst SingleBlockWithSuggestion = styled.span<{type: string; status: 'default' | 'accepted' | 'dismissed'; currNodeId: number; showingOriginalBlock: boolean}>`\n width: 100%;\n margin-top: 10px;\n margin-bottom: 10px;\n display: block;\n position: relative;\n\n\n &[data-block-index='${p => p.currNodeId}'], &.originalBlock {\n width: calc(100% + 60px) !important;\n padding-left: 40px;\n padding-right: 20px;\n padding-top: 25px;\n padding-bottom: 25px;\n position: relative;\n box-shadow: 1px 4px 4px rgba(211, 83, 119, 0.05);\n background: #fff;\n margin-left: -40px;\n margin-right: -40px;\n\n &::before {\n left: 10px;\n top: 25px;\n }\n\n &::after {\n position: absolute;\n display: block;\n content: '';\n top: 0;\n left:0;\n width: 100%;\n height: 100%;\n \n }\n\n\n .termsAssistantFocusTerm {\n background: ${p => p.status == 'accepted' || p.status == 'default' ? `linear-gradient(89.25deg, ${opaqueColor('#1FAC47', 20)} 2.9%, ${opaqueColor('#1FAC47', 20)} 2.91%, ${opaqueColor('#3FD369', 20)} 96.24%)` : `linear-gradient(90.16deg, ${opaqueColor('#E15E83', 20)} 2.81%, ${opaqueColor('#F58069', 20)} 96.58%)`};\n text-decoration: none !important;\n text-decoration-color: ${p => p.status == 'accepted' || p.status == 'default' ? '#1FAC47' : '#F44343'} !important;\n\n }\n }\n &[data-block-index='${p => p.currNodeId}'] {\n border-radius: ${p => p.showingOriginalBlock ? '16px 16px 0 0' : '16px'};\n &::after {\n border-radius: ${p => p.showingOriginalBlock ? '16px 16px 0 0' : '16px'};\n border: 1px dashed ${p => p.status == 'accepted' ? '#1FAC47' : p.status == 'dismissed' ? '#F44343' : '#2D6CCA'};\n }\n }\n\n &.originalBlock {\n border-radius: ${p => p.showingOriginalBlock ? '0 0 16px 16px' : '16px'};\n margin-top: -20px;\n &::after {\n border-radius: ${p => p.showingOriginalBlock ? '0 0 16px 16px' : '16px'};\n border: 1px dashed #2D6CCA;\n }\n }\n\n &::before {\n content: '${p => p.type}';\n position: absolute;\n left: -30px;\n top: 0px;\n font-size: 12px;\n font-weight: 600;\n color: #A3A4A4;\n }\n\n .termsAssistantDiffs {\n text-decoration: underline;\n text-decoration-color: ${p => p.status == 'accepted' ? '#1FAC47' : p.status == 'dismissed' ? '#F44343' : 'inherit'} !important;\n }\n\n .termsAssistantFocusTerm {\n color: ${p => p.status == 'accepted' ? '#1FAC47' : p.status == 'dismissed' ? '#F44343' : 'inherit'};\n text-decoration: ${p => p.status == 'dismissed' ? 'line-through' : 'none'};\n text-decoration-color: ${p => p.status == 'accepted' ? '#1FAC47' : p.status == 'dismissed' ? '#F44343' : 'inherit'} !important;\n }\n`;\n\nconst BlockWrapper = styled.div`\n pointer-events: none;\n`;\n\n\n","import {useStore} from '@/store/root-store';\nimport {opaqueColor} from '@/utils/colors';\nimport {faTriangleExclamation} from '@fortawesome/pro-duotone-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Popover} from 'antd';\nimport {observer} from 'mobx-react';\nimport {useEffect, useState} from 'react';\nimport styled from 'styled-components';\n\nexport const MissingPlacementsBanner = observer(() => {\n const [show, setShow] = useState(true);\n const [termsWithNoSuggestions, setTermsWithNoSuggestions] = useState([]);\n\n const {\n contentOptimizer: {\n currentPage: {\n getlinksForInsertion,\n linksAssistantSuggestions,\n },\n }} = useStore('');\n\n useEffect(() => {\n const prepArr = [];\n for (let i = 0; i < getlinksForInsertion?.length; i++) {\n if (!linksAssistantSuggestions?.find(item => item.linksIncluded?.includes(getlinksForInsertion[i]))) {\n prepArr.push(getlinksForInsertion[i]);\n }\n }\n\n setTermsWithNoSuggestions(prepArr);\n }, [...(getlinksForInsertion ?? []), ...(linksAssistantSuggestions ?? [])]);\n\n const noPlacementsTermsCount = () => {\n const content = (\n
\n {termsWithNoSuggestions?.map((term, idx) => {\n return
{`‧ ${term}`}
;\n })}\n
\n );\n\n\n return \n \n {termsWithNoSuggestions?.length > 1 ? `${termsWithNoSuggestions?.length} links` : '1 term'}\n \n ;\n };\n\n return (show && termsWithNoSuggestions?.length > 1) ?\n \n \n
\n We could not find a placement for\n {noPlacementsTermsCount()}\n
\n
setShow(false)}>Dismiss
\n
:\n <>;\n});\n\nconst Wrapper = styled.div`\n width: 100%;\n background-color: ${opaqueColor('#F1AA3E', 15)};\n padding: 9px 12px;\n display: flex;\n cursor: default;\n font-size: 12px;\n display: flex;\n align-items: center;\n border-radius: 8px;\n margin-bottom: 10px;\n display: flex;\n flex-wrap: wrap;\n`;\n","import {useStore} from '@/store/root-store';\nimport {opaqueColor} from '@/utils/colors';\nimport {Button, Divider} from 'antd';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {faCircleCheck, faCircleX, faCircleDashed, faArrowLeft, faArrowRight} from '@fortawesome/pro-duotone-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {toJS} from 'mobx';\nimport {useEffect, useState} from 'react';\n\ninterface SingleTermProps {\n term: any;\n finalTermsList: any;\n setFinalTermsList: any;\n key: any;\n setVisible: any;\n kwUpdate: any;\n}\n\nexport const SingleTerm = observer(({term, finalTermsList, setFinalTermsList, setVisible, kwUpdate}: SingleTermProps) => {\n const [termIndex, setTermIndex] = useState(0);\n const {\n contentOptimizer: {\n currentPage: {\n getstagingLinkSuggestions,\n setStagingLinkSuggestions,\n setLinkActiveTerm,\n linkActiveTerm,\n highlightedNodeId,\n },\n }} = useStore('');\n\n useEffect(()=>{\n setTermIndex(0);\n }, [kwUpdate, linkActiveTerm]);\n\n const onTermClickHandler = curTerm => {\n const newClass = curTerm?.replaceAll(' ', '-');\n const totalOccurances = document.getElementsByClassName(newClass)?.length;\n const updatedValues = {\n class: curTerm.replaceAll(' ', '-')+`${term[0]?.itemIndex}`,\n term: curTerm,\n order: linkActiveTerm?.order < totalOccurances - 1 ? linkActiveTerm.order : 0,\n itemIndex: term[0].itemIndex,\n };\n\n setLinkActiveTerm(updatedValues);\n };\n\n const acceptLink = (e:any) => {\n e.stopPropagation();\n const newItems = [...term];\n newItems[termIndex].status = 'accepted';\n const updateTerm = finalTermsList.map((val:any)=> val.filter((value:any)=> value.itemIndex == term[termIndex].itemIndex).length > 0 ? newItems : val);\n term?.status !== 'dismissed' && setFinalTermsList([...updateTerm]);\n onBlockStatusChange('accept');\n };\n\n const dismissLink = (e:any) => {\n e.stopPropagation();\n const newItems = [...term];\n newItems[termIndex].status = term[termIndex].status == 'default'? 'dismissed' : 'default';\n const updateTerm = finalTermsList.map((val:any)=> val.filter((value:any)=> value.itemIndex == term[termIndex].itemIndex).length > 0 ? newItems : val);\n setFinalTermsList([...updateTerm]);\n onBlockStatusChange(term[termIndex]?.status == 'dismissed' ? 'dismiss' : 'undo');\n };\n\n const onArrowClickHandler = (e, direction: 'next' | 'prev') => {\n e.stopPropagation();\n const incDec = direction == 'next' ? true : false;\n const updatedValues = {\n class: term[incDec ? termIndex+1 : termIndex-1]?.suggestion[0]?.keyword?.replaceAll(' ', '-')+`${term[incDec ? termIndex+1 : termIndex-1]?.itemIndex}`,\n term: term[incDec ? termIndex+1 : termIndex-1]?.suggestion[0]?.keyword,\n order: direction == 'next' ? linkActiveTerm?.order + 1 : linkActiveTerm?.order - 1,\n itemIndex: term[incDec ? termIndex+1 : termIndex-1]?.itemIndex,\n };\n setLinkActiveTerm(updatedValues);\n direction == 'next' ? setTermIndex(termIndex+1) : setTermIndex(termIndex-1);\n };\n\n const onBlockStatusChange = (action: 'accept' | 'dismiss' | 'undo') => {\n let prepDataArr = toJS(getstagingLinkSuggestions);\n prepDataArr = prepDataArr?.map(item => {\n if (item.itemIndex == highlightedNodeId) {\n return {\n ...item,\n ...(action == 'accept' && {status: 'accepted'}),\n ...(action == 'dismiss' && {status: 'dismissed'}),\n ...(action == 'undo' && {status: 'default'}),\n };\n } else {\n return item;\n }\n });\n setStagingLinkSuggestions(prepDataArr);\n };\n\n if (!term?.filter((item:any)=> item?.suggestion?.length > 0)) return;\n\n const cardClick = (e:any) => {\n e.preventDefault();\n setVisible(false);\n setTermIndex(0);\n onTermClickHandler(term[0]?.suggestion[0]?.keyword);\n };\n\n const scrollTerms = (e, index) => {\n e.stopPropagation();\n const updatedValues = {\n class: term[index]?.suggestion[0]?.keyword?.replaceAll(' ', '-')+`${term[index]?.itemIndex}`,\n term: term[index]?.suggestion[0]?.keyword,\n order: index < termIndex ? linkActiveTerm?.order - 1 : linkActiveTerm?.order + 1,\n itemIndex: term[index]?.itemIndex,\n };\n setLinkActiveTerm(updatedValues);\n setTermIndex(index);\n };\n\n const acceptedStatus = term?.filter((item:any) => item.status == 'accepted')?.length;\n const dismissedStatus = term?.filter((item:any) => item.status == 'dismissed')?.length;\n\n return \n {\n const value = term?.filter((isTerm:any)=> linkActiveTerm?.itemIndex == isTerm?.itemIndex)?.length;\n !( value > 0) && cardClick(e);\n }}>\n
0 ? 'green' : dismissedStatus == term?.length ? 'red' : 'lightgray'}\n icon={acceptedStatus > 0 ? faCircleCheck : dismissedStatus == term?.length ? faCircleX : faCircleDashed} fontSize={14}/>\n {acceptedStatus > 0 ?\n Accepted {acceptedStatus}: {term?.filter((item:any) => item.status == 'accepted').map((val:any)=> val.suggestion[0].keyword).join(', ')} :\n dismissedStatus == term?.length ?\n All Dismissed :\n Review {term?.filter((item:any)=> item?.status !== 'dismissed' && item?.status !== 'accepted')?.length} suggestion}\n
\n

{term[0]?.title}

\n

{term[0].link}

\n
\n {(term?.filter((isTerm:any)=> linkActiveTerm?.itemIndex == isTerm?.itemIndex)?.length > 0 && term?.filter((isVal:any)=> linkActiveTerm.term == isVal?.suggestion[0]?.keyword)?.length > 0) &&\n <>\n \n \n

Suggestion {termIndex+1} of {term?.length}

\n

{linkActiveTerm?.term}

\n
\n
\n \n \n
\n {term?.length > 1 &&
\n \n {term?.map((suggestion, idx) => {\n return scrollTerms(e, idx)} color={suggestion.status == 'default' ? '#A3A4A4' : suggestion.status == 'dismissed' ? '#F44343' : '#1FAC47'} key={idx} isActive={highlightedNodeId == suggestion.itemIndex}/>;\n })}\n \n \n \n
}\n
\n
\n }\n
;\n});\n\nconst Container = styled.div`\n width: 100%;\n padding: 8px 16px;\n margin-top: 4px;\n margin-bottom: 4px;\n background-color: white;\n border-radius: 10px;\n cursor: pointer;\n box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2);\n transition: background .3s ease-in;\n // display: flex;\n\n .acceptBtn{\n background-color: rgba(42, 193, 85, 1);\n border: none;\n margin-right: 10px;\n border-radius: 8px;\n color: white;\n }\n .acceptCol{\n color: rgba(42, 193, 85, 1) !important;\n background-color: rgb(42 193 85 / 53%) !important;\n }\n .dismissCol{\n color: red !important;\n background-color: #ff000069 !important;\n }\n .dismissBtn{\n background-color: rgba(242, 242, 245, 1);\n border: none;\n margin-right: 10px;\n border-radius: 8px;\n span{\n color: black;\n }\n }\n .previous, .forward {\n border-radius: 6px;\n background-color: rgba(242, 242, 245, 1);\n height: 32px;\n width: 33px;\n margin-left: 10px;\n .svg{\n margin-left: -5px !important;\n }\n }\n .termName { \n margin: 0px;\n text-overflow: ellipsis;\n overflow: hidden;\n text-wrap: nowrap;\n font-weight: 600;\n font-size: 14px;\n }\n .termLink{\n font-size: 12px;\n color: rgba(45, 108, 202, 1);\n word-break: break-all;\n }\n .termKeyword{\n margin: 0px;\n font-weight: 500;\n text-overflow: ellipsis;\n overflow: hidden;\n text-wrap: nowrap;\n }\n .termsuggestion{\n font-size: 12px;\n color: rgba(78, 81, 86, 1);\n margin: 0px;\n }\n\n &.isActive {\n background: linear-gradient(90.16deg, ${opaqueColor('#E15E83', 20)} 2.81%, ${opaqueColor('#F58069', 20)} 96.58%);\n\n .termName {\n background: linear-gradient(90.16deg, #E15E83 2.81%, #F58069 96.58%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n }\n \n &:hover {\n box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);\n }\n`;\n\n\nconst DotsContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n margin-left: 2%;\n margin-top: 3px;\n}\n // flex-direction: row-reverse;\n`;\n\nconst Dot = styled.div<{color: string; isActive: boolean}>`\n width: 7px;\n height: 7px;\n margin-right: 5px;\n margin-bottom: 5px;\n border-radius: 100%;\n background-color: ${p => p.color};\n position: relative;\n\n &::after {\n content: '';\n display: ${p => p.isActive ? 'block' : 'none'};\n width: 11px;\n height: 11px;\n border-radius: 100%;\n position: absolute;\n top: -2px;\n left: -2px;\n background-color: transparent;\n border: 1px solid red;\n }\n`;\n\nconst CardTitle = styled.div`\nwidth: 100%;\n`;\n\nconst StatusTitle = styled.span`\nmargin-left: 10px;\nspan{\n color: green;\n}\n`;\n\nconst DividerLine = styled(Divider)`\nbackground-color: lightgray;\nmargin-top: 0;\nmargin-bottom: 12px;\n`;\n\nconst SuggestionCard = styled.div`\nwidth: 100%;\n.actionTerm{\n display: flex;\n justify-content: space-between;\n margin-top: 20px;\n margin-bottom: 10px;\n}\n`;\n","import {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport {useEffect, useState} from 'react';\nimport {SingleTerm} from './SingleTerm';\nimport {toJS} from 'mobx';\n\nexport const LinksList = observer(({kwUpdate, setVisible}:any) => {\n const {\n contentOptimizer: {\n currentPage: {\n getlinksForInsertion,\n setLinkActiveTerm,\n getstagingLinkSuggestions,\n setStagingLinkSuggestions,\n content,\n taLinkSuggestionLoading,\n },\n }} = useStore('');\n\n const [finalTermsList, setFinalTermsList] = useState([]);\n const [filter, setFilter] = useState([]);\n\n function arrayToObject(givenValue) {\n const expectedValue = {};\n givenValue.forEach(item => {\n // Assuming 'url' is unique for each item\n if (!expectedValue[item.url]) {\n expectedValue[item.url] = {title: item.title, keywords: item.keywords};\n }\n });\n return expectedValue;\n }\n\n const loadLinksData = (linksData:any) => {\n // update staginglinksuggestion to keep a full record for save api\n const expectedData = [];\n for (const outerArray of linksData) {\n for (const innerArray of outerArray) {\n expectedData.push(innerArray.itemIndex);\n }\n }\n const data = getstagingLinkSuggestions?.map((item:any)=>{\n if (expectedData.includes(item.itemIndex)) {\n return item;\n } else {\n return {...item, status: 'default'};\n }\n });\n setStagingLinkSuggestions([...data]);\n // filter duplicate data if any\n const uniqueData = [];\n const seenSet = new Set();\n\n for (const array of linksData) {\n const stringRepresentation = JSON.stringify(array);\n if (!seenSet.has(stringRepresentation)) {\n uniqueData.push(array);\n seenSet.add(stringRepresentation);\n }\n }\n return uniqueData;\n };\n\n useEffect(() => {\n setFinalTermsList([]);\n if (getstagingLinkSuggestions?.length) {\n let suggestionList = [];\n const allLinks = arrayToObject(content?.internalLinkSuggestionsV2?.allLinks.map((link:any)=> link?.url?.endsWith('/') ? {...link} : {...link, url: `${link?.url}/`}));\n const getTerms = (term:any) => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(term?.suggestion, 'text/html');\n // Find elements with classname 'hero'\n const elements = doc.querySelectorAll('.linkInsertionChange');\n // Extract innerText from each element\n elements.forEach((ele:any)=>{\n suggestionList.push({keyword: ele.innerText, status: 'default'});\n });\n };\n const formattedArray = {};\n // create a format and seprate arrays based on link\n getstagingLinkSuggestions?.forEach((term:any)=>{\n if (term.isSuggestion) {\n if (!formattedArray[term?.linksIncluded[0]]) {\n formattedArray[term?.linksIncluded[0]] = [];\n }\n formattedArray[term?.linksIncluded[0]].push(term);\n }\n });\n const resultArray = Object.values(formattedArray).map((arr:any, indx)=>{\n return arr?.map((arrTwo, indexx)=>{\n suggestionList=[];\n getTerms(arrTwo);\n return {display: indx== 0 ? true: false, itemIndex: arrTwo.itemIndex, index: indexx, link: arrTwo?.linksIncluded[0], suggestion: suggestionList?.length ? suggestionList : [], title: allLinks[arrTwo?.linksIncluded[0]]?.title || '', keywords: toJS(allLinks[arrTwo?.linksIncluded[0]]?.keywords), status: arrTwo?.status};\n });\n });\n setFinalTermsList([...resultArray]);\n }\n }, [taLinkSuggestionLoading, getlinksForInsertion, kwUpdate]);\n\n useEffect(()=>{\n let filteredValue = [];\n setFilter([]);\n if (kwUpdate.status) {\n // append data from sourced record when checkbox checked in keyword\n const addData = finalTermsList.filter((item:any)=> item[0].keywords?.includes(kwUpdate.kw));\n filteredValue = [...addData.map((val:any)=> val.map((value:any)=> ({...value, status: 'default'}))), ...filter];\n const returnedData = loadLinksData([...filteredValue]);\n setFilter([...returnedData]);\n } else if (kwUpdate.status == false) {\n // remove data from listed record when checkbox checked in keyword\n const filterMatch = filter?.filter((item:any)=> !item[0]?.keywords?.includes(kwUpdate.kw));\n filteredValue = [...filterMatch];\n const returnedData = loadLinksData([...filteredValue]);\n setFilter([...returnedData]);\n } else {\n filteredValue = [...finalTermsList];\n setFilter([...filteredValue]);\n }\n // open first card whenever data filter\n if (filteredValue?.length) {\n const firstTerm = {...filteredValue[0][0]};\n const updatedValues = {\n class: firstTerm.suggestion[0]?.keyword?.replaceAll(' ', '-') + `${firstTerm.itemIndex}`,\n term: firstTerm.suggestion[0]?.keyword,\n order: 0,\n itemIndex: firstTerm.itemIndex,\n };\n setLinkActiveTerm(updatedValues);\n }\n }, [kwUpdate, finalTermsList]);\n\n\n return
\n {filter?.map((term, idx) => {\n return ;\n })}\n
;\n});\n","import {Button, GrayButton} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {Checkbox, Dropdown, Popover, Spin} from 'antd';\nimport {observer} from 'mobx-react-lite';\nimport styled, {css, keyframes} from 'styled-components';\nimport {MissingPlacementsBanner} from './MissingPlacementsBanner';\nimport {convertHtmlToEditorState} from '@/utils/htmlToDraft';\nimport {LinksList} from './linksList';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faPlus, faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport React, {useEffect, useState} from 'react';\nimport {CustomTextarea} from '@/components/common-components/components/form/input/customTextarea';\nimport {stringToArray} from '@/utils/arrays';\nimport {keywordNewLineReg} from '@/constants/regex';\n// import {NextImg} from '@/utils/nextImg';\n\nexport const LinkAssistantRightSidebar = observer(() => {\n const {\n contentOptimizer: {\n currentPage: {\n setIsLinkActive,\n setLinksForInsertion,\n editContent,\n stagingLinkSuggestions,\n setIsTaUpdating,\n updatingTa,\n clearAllTaData,\n setCurrentEditorState,\n updateContentLoadedAt,\n content,\n fetchLinkSuggestions,\n getstagingLinkSuggestions,\n },\n }} = useStore('');\n const {settings: {customer: {getCustomerQuota}}} = useStore('');\n const antIcon = ;\n const [activeKeywordsList, setActiveKeywordsList] = useState([]);\n const [updated, setUpdated] = useState({});\n const [inputValue, setInputValue] = useState('');\n const [anyButtonClicked, setAnyButtonClicked] = useState(false);\n const [visible, setVisible] = useState(false);\n\n useEffect(()=>{\n const activeKwArr = [];\n\n if (content?.internalLinkSuggestionsV2?.keywords?.length) {\n for (let i = 0; i < content.internalLinkSuggestionsV2.keywords.length; i++) {\n activeKwArr.push({\n keyword: content.internalLinkSuggestionsV2.keywords[i],\n active: true,\n });\n }\n }\n setActiveKeywordsList(activeKwArr);\n }, []);\n\n const onCheckboxClicked = (status: boolean, keyword: string) => {\n const filteredKw = activeKeywordsList;\n const elemId = filteredKw.findIndex(kw => kw.keyword === keyword);\n\n filteredKw[elemId].active = status;\n setActiveKeywordsList(filteredKw);\n setUpdated({kw: keyword, status: status});\n };\n\n const onCancelClickHandler = () => {\n setIsLinkActive(false);\n clearAllTaData();\n setLinksForInsertion([]);\n };\n\n const onSubmitHandler = async () => {\n setIsTaUpdating(true);\n let finalHtmlOutput = '';\n\n for (let i = 0; i < getstagingLinkSuggestions?.length; i++) {\n if (!getstagingLinkSuggestions[i].isSuggestion) {\n finalHtmlOutput = finalHtmlOutput.concat(getstagingLinkSuggestions[i].html.replace('

', '

'));\n }\n\n if (getstagingLinkSuggestions[i].isSuggestion) {\n if (getstagingLinkSuggestions[i].status == 'accepted') {\n finalHtmlOutput = finalHtmlOutput.concat(getstagingLinkSuggestions[i].suggestion);\n } else {\n finalHtmlOutput = finalHtmlOutput.concat(getstagingLinkSuggestions[i].html.replace('

', '

'));\n }\n }\n }\n\n if (finalHtmlOutput.startsWith('\n Show Internal Link Suggestions for following target keywords (does not affect manually provided URLs):\n
e.stopPropagation()}>\n {activeKeywordsList?.map((kw, id) => {\n return onCheckboxClicked(e.target.checked, kw.keyword)}>{kw.keyword};\n })}\n
\n ;\n\n const addLink = async () => {\n if (inputValue?.length) {\n const allLink = content?.internalLinkSuggestionsV2?.allLinks?.map((item:any)=> item?.url);\n const links = stringToArray(inputValue, keywordNewLineReg, ',');\n const urlWithProtocols = links.map(value => value.startsWith('/') ? value.slice(1) : value);\n setAnyButtonClicked(true);\n await fetchLinkSuggestions([...allLink, ...urlWithProtocols.map((val:any)=> `${new URL(allLink[1]).origin}/${val}`)]);\n getCustomerQuota();\n setAnyButtonClicked(false);\n setVisible(false);\n setUpdated({});\n }\n setInputValue('');\n };\n\n\n const handleInputChange = (e: React.ChangeEvent) => {\n if (e?.nativeEvent['data'] == ',') {\n setInputValue(e?.target?.value?.replace(',', '\\n'));\n } else {\n setInputValue(e?.target?.value);\n }\n };\n\n const popoverContent = (\n
\n Add more links you want to get suggestions for:\n \n \n \n \n \n
\n );\n\n\n const selectedLink = getstagingLinkSuggestions?.filter((item:any)=> item.status == 'accepted')?.length;\n\n return \n \n \n Links Assistant\n
\n \n setVisible(false)}>Keyword: {activeKeywordsList?.filter(kw => kw.active)?.length}/{activeKeywordsList?.length}\n \n \n setVisible(true)}> Add Links\n \n
\n
\n \n
\n Review the suggested link placements to evaluate their fit and relevance within the context of your article.\n
\n {`To finalize and implement the changes, please click on 'Save Changes'.`}\n
\n \n \n
\n \n {selectedLink > 0 ? {`${selectedLink} suggestion${selectedLink > 1 ? 's' : ''} accepted`} : <>}\n
\n onCancelClickHandler()}>\n {selectedLink > 0 ? 'Discard' : 'Cancel'}\n \n item.status !== 'default')}\n color='green'\n style={{width: '35%', justifyContent: 'center', display: 'flex'}}\n onClick={() => onSubmitHandler()}>\n Save changes\n {updatingTa ? : null}\n \n
\n\n
\n
;\n});\n\nconst TaWrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: calc(100% - 0px);\n width: 30%;\n // padding-bottom: 20px;\n padding-right: 5%;\n`;\n\nconst OverlayTitle = styled.p`\n color: #4E5156;\n font-size: 12px;\n`;\n\nconst CheckboxStyled = styled(Checkbox)`\n margin-left: 0px !important;\n font-weight: 500 !important;\n // .ant-checkbox-inner{\n // background-color: #2D6CCA !important;\n // border-color: #2D6CCA !important;\n // }\n`;\n\nconst TermsMainWrapper = styled.div`\n flex: 1;\n overflow-y: auto;\n padding-right: 5px;\ntext-align: left;\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: #E8E8E8;\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n`;\nconst ActionButtonsContainer = styled.div`\n background-color: #24262a;\n width: 100%;\n padding: 11px;\n display: flex; justify-content: space-between;\n align-items: center;\n border-radius: 14px;\n button{\n width: 63% !important;\n }\n span{\n color:white\n }\n`;\n\nconst LinkSubmitBtns = styled.div`\ndisplay: flex;\nmargin-top: 15px;\n.submitLink{\n margin-left: 0px;\n background-color: #2D6CCA !important;\n color: white;\n &:hover, &:focus, &:active{\n background-color: #2D6CCA !important;\n }\n}\n.dismissLink{\n background-color: #F2F2F5 !important;\n color: black;\n &:hover, &:focus, &:active{\n background-color: #F2F2F5 !important;\n }\n}\n`;\n\n\nconst ButtonStyled = styled.p<{viewSuggestionsOption?: boolean}>`\n background-color: transparent;\n border: 1px solid transparent;\n font-size: 13px;\n cursor: pointer;\n padding: 8px 3px;\n // margin: 0 9px 0 0 !important;\n color: #1890ff;\n &:hover, &:focus {\n background-color: transparent !important;\n }\n span{\n color: #1890ff;\n }\n animation: ${p => p.viewSuggestionsOption ? css`${blinkAnimation} 2s;` : ''}; \n animation-delay: .5s;\n `;\n\nconst blinkAnimation = keyframes`\n 0%, 100% {\n background-color: #2D2F34;\n }\n 50% {\n background-color: #6F7177;\n }\n`;\nconst KeywordsDropdownContainer = styled.div`\n background-color: #fff;\n box-shadow: 0px 6px 25px rgba(0, 0, 0, 0.15);\n width: 337px;\n padding: 12px 20px;\n border-radius: 5px;\n margin-right: 184px;\n`;\n\nconst TitleContainer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n .header{\n display: flex;\n width: 41%;\n justify-content: space-between;\n font-size: 12px;\n p{\n color: #2D6CCA\n }\n }\n`;\nconst Title = styled.div`\n font-weight: 500;\n font-size: 16px;\n color: black;\n`;\nconst Description = styled.div`\n font-size: 12px;\n color: #6e6e6e;\n line-height: 15px;\n margin-bottom: 20px;\n`;\n","import {useStore} from '@/store/root-store';\nimport {faArrowLeft, faXmark} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport parse from 'html-react-parser';\nimport classNames from 'classnames';\nimport {useEffect, useState} from 'react';\nimport {opaqueColor} from '@/utils/colors';\nimport {faRotateLeft} from '@fortawesome/pro-solid-svg-icons';\nimport {toJS} from 'mobx';\nimport {LinkAssistantRightSidebar} from './linkAssistantRightsideBar';\n\nexport const TextSuggestionsLinks = observer(() => {\n const {\n contentOptimizer: {\n currentPage: {\n content,\n setIsLinkActive,\n setLinksForInsertion,\n getstagingLinkSuggestions,\n linkActiveTerm,\n setLinkActiveTerm,\n setStagingLinkSuggestions,\n isLinkActive,\n highlightedNodeId,\n setHighlightedNodeId,\n showOriginalBlockId,\n setShowOriginalBlockId,\n updatingTa,\n clearAllTaData,\n },\n }} = useStore('');\n\n const [totalOccurances, setTotalOccurances] = useState(document.getElementsByClassName(linkActiveTerm?.class)?.length ?? 0);\n useEffect(() => {\n setTotalOccurances(document.getElementsByClassName(linkActiveTerm?.class || linkActiveTerm?.class)?.length);\n }, [linkActiveTerm?.class, linkActiveTerm?.class]);\n\n const onArrowClickHandler = (direction: 'next' | 'prev') => {\n setTotalOccurances(document.getElementsByClassName(linkActiveTerm.class)?.length ?? 0);\n\n const updatedValues = {\n class: linkActiveTerm.class,\n term: linkActiveTerm.term,\n order: direction == 'next' ? linkActiveTerm.order + 1 : linkActiveTerm.order - 1,\n };\n\n setShowOriginalBlockId(null);\n setLinkActiveTerm(updatedValues);\n };\n\n\n useEffect(() => {\n if (linkActiveTerm) {\n setShowOriginalBlockId(null);\n const nodesWithTerm = document.getElementsByClassName(`${linkActiveTerm.class}`);\n if (nodesWithTerm?.length) {\n const higlightedNode = nodesWithTerm[0];\n if (!higlightedNode) return;\n setHighlightedNodeId(+(higlightedNode as HTMLElement)?.dataset?.blockIndex);\n const elemOffset = (higlightedNode as HTMLElement).offsetTop;\n document.querySelector('.textContainer').scrollTop = elemOffset - ((window.innerHeight - 170) / 2);\n }\n }\n }, [linkActiveTerm?.term, linkActiveTerm?.order, linkActiveTerm?.class, linkActiveTerm]);\n\n\n const blocksRenderer = blocksArray => {\n const options = {\n replace: domNode => {\n if (!domNode.attribs) {\n return;\n }\n },\n };\n\n const typeDettector = (text: string) => {\n if (text.startsWith('

')) {\n return 'p';\n }\n if (text.startsWith('

')) {\n return 'h1';\n }\n if (text.startsWith('

')) {\n return 'h2';\n }\n if (text.startsWith('

')) {\n return 'h3';\n }\n if (text.startsWith('

')) {\n return 'h4';\n }\n if (text.startsWith('

')) {\n return 'h5';\n }\n if (text.startsWith('
')) {\n return 'h6';\n }\n\n return 'p';\n };\n\n const checkKey = e => {\n e = e || window.event;\n\n if (e.keyCode == '38') {\n // up arrow\n if (linkActiveTerm?.order == 0) return;\n onArrowClickHandler('prev');\n } else if (e.keyCode == '40') {\n // down arrow\n if (linkActiveTerm?.order == (totalOccurances > 0 ? totalOccurances - 1 : 0)) return;\n onArrowClickHandler('next');\n } else if (e.keyCode == '37') {\n // left arrow\n } else if (e.keyCode == '39') {\n // right arrow\n }\n };\n\n document.onkeydown = checkKey;\n\n const onBlockStatusChange = (action: 'accept' | 'dismiss' | 'undo') => {\n let prepDataArr = toJS(getstagingLinkSuggestions);\n prepDataArr = prepDataArr?.map(item => {\n if (item.itemIndex == highlightedNodeId) {\n return {\n ...item,\n ...(action == 'accept' && {status: 'accepted'}),\n ...(action == 'dismiss' && {status: 'dismissed'}),\n ...(action == 'undo' && {status: 'default'}),\n };\n } else {\n return item;\n }\n });\n setStagingLinkSuggestions([...prepDataArr]);\n };\n\n return \n {blocksArray?.map((block, idx) => {\n const regExp = /(<\\/?\\w+(?:(?:\\s+\\w+(?:\\s*=\\s*(?:\".*?\"|'.*?'|[^'\">\\s]+))?)+\\s*|\\s*)\\/?>)/gim;\n const parser = new DOMParser();\n const doc = parser.parseFromString(block.suggestion, 'text/html');\n // Find elements with classname 'hero'\n const elements = doc.querySelectorAll('.linkInsertionChange');\n const suggestionList = [];\n // Extract innerText from each element\n elements.forEach((ele:any)=>{\n suggestionList.push({keyword: ele.innerText, status: 'default'});\n });\n\n if (block.isSuggestion) {\n return (\n <>\n term.keyword?.replaceAll(' ', '-')+`${block?.itemIndex}`)), block.status)}>\n {showOriginalBlockId != null && showOriginalBlockId == block.itemIndex ?\n setShowOriginalBlockId(null)}>\n \n : null}\n\n {highlightedNodeId == block.itemIndex && (showOriginalBlockId != null || showOriginalBlockId != block.itemIndex) ?\n
{\n setShowOriginalBlockId(block.itemIndex);\n }}>\n {showOriginalBlockId == null && 'Show original'}\n
: null}\n\n {(showOriginalBlockId != null) && showOriginalBlockId == block.itemIndex && block.status !== 'default' ?\n {block.status} : null}\n
\n {highlightedNodeId !== block.itemIndex && block.status == 'dismissed' ? parse(block.html?.replaceAll('
', '\\n\\n')?.replaceAll('<br/>', '\\n')?.split(regExp)?.join(' '), options) : parse(block.suggestion?.replaceAll('
', '\\n\\n')?.replaceAll('<br/>', '\\n')?.split(regExp)?.join(' '), options)}\n
\n\n \n {(showOriginalBlockId != null) && showOriginalBlockId == block.itemIndex ?\n \n
\n
ORIGINAL
\n {block.status !== 'default' && block.status !== 'dismissed' ?\n {\n onBlockStatusChange('undo');\n setShowOriginalBlockId(null);\n }}> Revert to Original
: null}\n \n
\n {parse(block.html?.replaceAll('
', '\\n\\n')?.replaceAll('<br/>', '\\n')?.split(regExp)?.join(' '), options)}\n
\n :\n null}\n \n\n );\n } else {\n return \n {parse(block.html?.replaceAll('
', '\\n\\n')?.replaceAll('<br/>', '\\n')?.split(regExp)?.join(' '), options)}\n
;\n }\n })}\n\n
;\n };\n\n return \n \n {\n if (updatingTa) return false;\n setIsLinkActive(false);\n clearAllTaData();\n setLinksForInsertion([]);\n }} style={{cursor: 'pointer'}}/>\n {content.title}\n \n
\n {blocksRenderer(getstagingLinkSuggestions)}\n \n
\n
;\n});\n\nconst Wrapper = styled.div`\n position: relative;\n\n &::before {\n background-color: #24262a;\n content: '';\n height: 25px;\n left: 0;\n max-width: 100%;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 1;\n }\n\n &::after {\n background-color: #fff;\n border-radius: 10px 10px 0 0;\n content: '';\n height: 5px;\n left: 0;\n max-width: 100%;\n position: absolute;\n top: 20px;\n width: 100%;\n z-index: 1;\n }\n padding-top: 25px;\n`;\n\nconst Heading = styled.div`\n display: flex;\n background-color: #fff;\n padding: 19px 30px;\n align-items: center;\n cursor: default;\n`;\nconst Title = styled.div`\n font-size: 20px;\n font-weight: 500;\n color: #121212;\n margin-left: 20px;\n line-height: 20px;\n`;\nconst TextContainer = styled.div`\n padding-top: 45px;\n padding-bottom: 170px;\n width: 65%;\n max-width: 90%;\n text-align: left;\n height: calc(100vh - 170px);\n overflow-y: auto;\n padding-left:10%;\n padding-right:40px;\n color: rgba(0, 0, 0, 0.85);\n border-right: 1px solid lightgray;\n .linkInsertionChange {\n text-decoration: underline;\n }\n p a{\n color: rgba(0, 0, 0, 0.85);\n }\n .default p span a{\n color: #1890ff;\n }\n .accepted{\n span a{\n text-decoration: underline;\n color: #1FAC47 !important;\n text-decoration-color: #1FAC47 !important;\n\n }\n }\n .dismissed{\n span a{\n text-decoration: underline;\n color: #F44343 !important;\n text-decoration-color: #F44343 !important;\n }\n }\n ::-webkit-scrollbar {\n width: 5px;\n }\n\n ::-webkit-scrollbar-track {\n background: transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #4E515680;\n border-radius: 5px;\n }\n\n \n`;\n\nconst SingleBlockWithSuggestion = styled.span<{type: string; status: 'default' | 'accepted' | 'dismissed'; currNodeId: number; showingOriginalBlock: boolean}>`\n width: 100%;\n margin-top: 10px;\n margin-bottom: 10px;\n display: block;\n position: relative;\n\n\n &[data-block-index='${p => p.currNodeId}'], &.originalBlock {\n width: calc(100% + 60px) !important;\n padding-left: 40px;\n padding-right: 20px;\n padding-top: 25px;\n padding-bottom: 25px;\n position: relative;\n box-shadow: 1px 4px 4px rgba(211, 83, 119, 0.05);\n background: #fff;\n margin-left: -40px;\n margin-right: -40px;\n\n &::before {\n left: 10px;\n top: 25px;\n }\n\n &::after {\n position: absolute;\n display: block;\n content: '';\n top: 0;\n left:0;\n width: 100%;\n height: 100%;\n \n }\n\n\n .termsAssistantFocusTerm {\n background: ${p => p.status == 'accepted' || p.status == 'default' ? `linear-gradient(89.25deg, ${opaqueColor('#1FAC47', 20)} 2.9%, ${opaqueColor('#1FAC47', 20)} 2.91%, ${opaqueColor('#3FD369', 20)} 96.24%)` : `linear-gradient(90.16deg, ${opaqueColor('#E15E83', 20)} 2.81%, ${opaqueColor('#F58069', 20)} 96.58%)`};\n text-decoration: none !important;\n text-decoration-color: ${p => p.status == 'accepted' || p.status == 'default' ? '#1FAC47' : '#F44343'} !important;\n\n }\n }\n &[data-block-index='${p => p.currNodeId}'] {\n border-radius: ${p => p.showingOriginalBlock ? '16px 16px 0 0' : '16px'};\n &::after {\n border-radius: ${p => p.showingOriginalBlock ? '16px 16px 0 0' : '16px'};\n border: 1px dashed ${p => p.status == 'accepted' ? '#1FAC47' : p.status == 'dismissed' ? '#F44343' : '#2D6CCA'};\n }\n }\n\n &.originalBlock {\n border-radius: ${p => p.showingOriginalBlock ? '0 0 16px 16px' : '16px'};\n margin-top: -20px;\n &::after {\n border-radius: ${p => p.showingOriginalBlock ? '0 0 16px 16px' : '16px'};\n border: 1px dashed #2D6CCA;\n }\n }\n\n &::before {\n content: '${p => p.type}';\n position: absolute;\n left: -30px;\n top: 0px;\n font-size: 12px;\n font-weight: 600;\n color: #A3A4A4;\n }\n .termsAssistantFocusTerm {\n color: ${p => p.status == 'accepted' ? '#1FAC47' : p.status == 'dismissed' ? '#F44343' : 'inherit'};\n text-decoration: ${p => p.status == 'dismissed' ? 'line-through' : 'none'};\n text-decoration-color: ${p => p.status == 'accepted' ? '#1FAC47' : p.status == 'dismissed' ? '#F44343' : 'inherit'} !important;\n }\n`;\n\nconst BlockWrapper = styled.div`\n pointer-events: none;\n img {\n width: 100%;\n }\n`;\n\n\n","import {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport styles from './content-editor.module.scss';\nimport {EditorSection} from './EditorSection/EditorSection';\n// import {FocusTermsPopups} from './FocusTermsPopups';\nimport {TopSection} from './TopSection/TopSection';\nimport styled from 'styled-components';\nimport {TextSuggestions} from '../RightSidebar/v2-sidebar/Analytics/TermsAssistant/TextSuggestions';\nimport {TextSuggestionsLinks} from '../RightSidebar/v2-sidebar/Analytics/LinkAssistant/TextSuggestionsLinks';\n\n\ninterface Props {\n // allRef: any;\n newPage: any;\n htmlToDraft: any;\n}\n\nexport const LeftSide = observer(({newPage, htmlToDraft}: Props) => {\n const {contentOptimizer} = useStore('');\n const {currentPage} = contentOptimizer;\n const {\n sideBarWidth,\n isSideBarHidden,\n isTaActive,\n isLinkActive,\n } = currentPage;\n\n return \n
\n \n {!isTaActive || isLinkActive ?
: null}\n\n \n
\n\n {(isTaActive && ) || (isLinkActive && )}\n
;\n});\n\n\nconst LeftSideContainer = styled.div<{isNewPage?: boolean; isSideBarHidden?: boolean; sideBarWidth?: string; isLinkSuggestionActive?: boolean}>`\n overflow: hidden;\n text-align: -webkit-center; \n transition: all .3s ease;\n width: 100%;\n max-width: ${p => p.isLinkSuggestionActive ? '100%' : !p.isNewPage ? !p.isSideBarHidden ? `calc(100% - ${p.sideBarWidth} + 15px)` : '100%' : '100%'};\n`;\n","import {WarningOutlined} from '@ant-design/icons';\nimport React from 'react';\nimport styles from './index.module.scss';\n\nexport const Error: React.FC = () => {\n return (\n
\n \n

An error has occurred, please try again later.

\n
\n );\n};\n","import {FocusTermClusteredType} from '@/store/content-optimizer/currentPage';\nimport {Table} from '@/components/common-components/components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faTrash} from '@fortawesome/pro-light-svg-icons';\nimport styled from 'styled-components';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport {useEffect, useState} from 'react';\nimport {filterDataInMemory} from '@/utils/filter-data';\nimport styles from './style.module.scss';\nimport {formatLargeNumber} from '@/utils/number';\nimport {ColumnType} from 'antd/es/table';\n\ninterface Props {\n cluster: FocusTermClusteredType;\n isClusterRemoving: boolean;\n}\n\nexport const SingleCluster = observer(({\n cluster,\n isClusterRemoving,\n}: Props) => {\n const {\n contentOptimizer: {\n currentPage,\n },\n } = useStore('');\n\n enum SORT_DIRECTION {\n ascend = 'ascend',\n descend = 'descend'\n }\n\n const [tableData, setTableData] = useState([]);\n const [sortField, setSortField] = useState('requiredCountMin');\n const [sortDirection, setSortDirecion] = useState(SORT_DIRECTION.descend);\n\n\n const removeClusterHandler = (term: string) => {\n if (currentPage.isBulkRemovingCluster) return;\n currentPage.bulkRemoveTerms([term], 'term', cluster.title);\n };\n\n const setTerms = () => {\n const {dataFiltered} = filterDataInMemory(cluster?.focusTerms, '', [], [], 1, cluster?.focusTerms.length, sortField, sortDirection);\n setTableData(dataFiltered);\n };\n\n const handleTableChange = async (pagination, filters, sorter) => {\n const {column, order} = sorter;\n const {sortFieldName} = column || {};\n\n setSortField(sortFieldName);\n setSortDirecion(order);\n if (order) {\n const {dataFiltered} = filterDataInMemory(tableData, '', [], [], 1, tableData.length, sortFieldName, order);\n setTableData(dataFiltered);\n } else {\n setTableData(cluster?.focusTerms);\n }\n };\n\n useEffect(() => {\n setTerms();\n }, [cluster]);\n\n type ExtendedColumnsType = ColumnType & {defaultSortOrder?: 'ascend' | 'descend'; sortFieldName?: string};\n\n const tableColumns = (removingTerms: boolean): ExtendedColumnsType[] => {\n return [\n {\n title: 'TOPICAL TERM',\n dataIndex: 'name',\n key: 'name',\n align: 'left' as 'left',\n width: 250,\n render: (_, record) => {\n return
\n {record.name}\n {record?.foundIn && record.foundIn.map((item, idx) => {\n return {item};\n })}\n {record?.isBranded && {'branded'}}\n
;\n },\n },\n {\n title: 'MSV',\n dataIndex: 'sv',\n key: 'sv',\n align: 'right' as 'right',\n sortFieldName: 'sv',\n width: 60,\n sorter: true,\n render: (_, record) => {\n return
{formatLargeNumber(record.sv)}
;\n },\n },\n {\n title: 'USAGE',\n dataIndex: 'requiredCountMin',\n key: 'requiredCountMin',\n defaultSortOrder: 'descend',\n align: 'right' as 'right',\n width: 60,\n sortFieldName: 'requiredCountMin',\n sorter: true,\n render: (_, record) => {\n return
{`${record.usedCount}/${record.idealCountMax}`}
;\n },\n },\n {\n title: 'REMOVE',\n dataIndex: 'name',\n key: 'name',\n align: 'right' as 'right',\n width: 80,\n render: (_, record) => {\n return removeClusterHandler(record.name)}>\n \n ;\n },\n },\n\n ];\n };\n\n return
\n \n
;\n});\n\nconst RemoveClusterBtn = styled.div<{disabled: boolean}>`\n font-size: 12px;\n color: ${p => p.disabled ? '#A3A4A4': '#4E5156'};\n cursor: ${p => p.disabled ? 'not-allowed': 'pointer'};\n\n .remove-icon {\n margin-right: 15px;\n }\n\n &:hover {\n color: #ff6262;\n }\n`;\nconst FoundInLabel = styled.span`\n background-color: #A3A4A426;\n border-radius: 50px;\n display: inline-block;\n font-size: 12px;\n margin-right: 5px;\n padding: 0 8px;\n`;\n","import {useStore} from '@/store/root-store';\nimport {Modal} from '@/components/common-components/';\nimport {observer} from 'mobx-react-lite';\nimport {Dispatch, SetStateAction, useEffect, useState} from 'react';\nimport {SingleCluster} from './SingleCluster';\nimport styles from './style.module.scss';\nimport {Collapse, Divider} from 'antd';\nimport {toJS} from 'mobx';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faTrash} from '@fortawesome/pro-light-svg-icons';\nimport styled from 'styled-components';\nimport {formatLargeNumber} from '@/utils/number';\nimport {faXmark} from '@fortawesome/pro-regular-svg-icons';\nimport {GrayButton} from '@/components/common-components/v2';\n\ninterface Props {\n isModalOpen: boolean;\n setIsModalOpen: Dispatch>;\n}\n\nexport const BulkRemoveTermsModal = observer(({\n isModalOpen,\n setIsModalOpen,\n}: Props) => {\n const {\n contentOptimizer: {\n currentPage,\n },\n } = useStore('');\n\n const [clusteredTerms, setClusteredTerms] = useState([]);\n const [clusterToRemove, setClusterToRemove] = useState('');\n\n const setTerms = () => {\n const clusterTerms = toJS(currentPage?.analytics?.clusters);\n const tempArr = [];\n\n setClusteredTerms(toJS(clusterTerms));\n\n if (currentPage.focusTermsSorter.key) {\n clusterTerms?.forEach((item, id) => {\n let tempCluster = [];\n\n tempCluster = item?.focusTerms?.sort((a, b) => {\n if (b[currentPage.focusTermsSorter.key] < a[currentPage.focusTermsSorter.key]) return -1;\n });\n\n tempArr.push({\n ...clusterTerms[id],\n focusTerms: tempCluster,\n });\n });\n\n\n setClusteredTerms(tempArr);\n }\n };\n\n useEffect(() => {\n setTerms();\n }, [...(currentPage?.analytics?.focusTerms ?? [])]);\n\n\n const removeClusterHandler = async (e, clusterTitle: string) => {\n e.preventDefault();\n e.stopPropagation();\n const clusterToRemove = clusteredTerms?.find(cluster => cluster.title === clusterTitle);\n const termsArr = clusterToRemove?.focusTerms?.map(term => term.name);\n setClusterToRemove(clusterTitle);\n try {\n await currentPage.bulkRemoveTerms(termsArr, 'cluster', clusterTitle);\n } catch (e) {\n setClusterToRemove('');\n } finally {\n setClusterToRemove('');\n }\n };\n\n return }\n className={styles.modal}\n onClose={() => setIsModalOpen(false)}\n closable={true}\n footer={null}>\n <>\n Bulk Remove Topical Terms\n \n {clusteredTerms?.filter(cluster => cluster.focusTerms?.length > 0)?.map((cluster, idx) => {\n return \n {cluster.title}\n {`(Terms: ${cluster.focusTerms?.length}, MSV: ${formatLargeNumber(cluster.clusterSv)})`}\n }\n extra={ removeClusterHandler(e, cluster.title)}>\n \n Remove Cluster\n }>\n \n ;\n })}\n \n \n
\n setIsModalOpen(false)}>Close\n
\n \n\n\n ;\n});\n\n\nconst RemoveClusterBtn = styled.div<{disabled: boolean}>`\n font-size: 12px;\n color: ${p => p.disabled ? '#A3A4A4': '#4E5156'};\n cursor: ${p => p.disabled ? 'not-allowed': 'pointer'};\n\n .remove-icon {\n margin-right: 5px;\n }\n\n &:hover {\n color: #ff6262;\n }\n`;\n\nconst ClusterHeader = styled.div`\n display: flex;\n align-items: baseline;\n`;\nconst ClusterName = styled.div`\n font-weight: 500;\n color: #121212;\n`;\nconst ClusterDesc = styled.div`\n font-size: 12px;\n color: #4E5156;\n margin-left: 5px;\n`;\n\nconst CollapseStyled = styled(Collapse)`\n // background: #fff;\n border: none;\n max-height: calc(75vh - 185px);\n overflow-y: auto;\n\n .ant-collapse-content {\n border-top: 0px solid transparent;\n background-color: #fff;\n }\n\n .ant-collapse-item {\n border-radius: 10px !important;\n margin-bottom: 10px;\n border: 1px solid #E8E8E8;\n background-color: #fff;\n }\n\n .ant-collapse-content-box {\n padding-top: 0px;\n }\n\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(138,138,138,0.32);\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n`;\n\nconst ModalTitle = styled.div`\n font-weight: 600;\n font-size: 20px;\n color: #121212;\n margin-bottom: 10px;\n`;\n","import {BaseApi} from '@/api/base-api';\nimport {getApiUrl, getTokenFromCookies} from '@/api/common-utils';\nimport {Button, GrayButton} from '@/components/common-components/v2/Button';\nimport {Checkbox} from '@/components/common-components/v2/Checkbox';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {faArrowUpArrowDown, faSliders} from '@fortawesome/pro-regular-svg-icons';\nimport {faFileArrowDown, faFileLines, faFileSpreadsheet} from '@fortawesome/pro-light-svg-icons';\nimport {faPlus, faTrash} from '@fortawesome/pro-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Dropdown, Radio, Tooltip, Spin, Divider, Menu} from 'antd';\nimport {Dispatch, SetStateAction, useState} from 'react';\nimport styled from 'styled-components';\nimport {costPerClickFormatter, searchVolumeFormatter} from '../../../../../LeftSide/EditorSection/content-editor/utils';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {observer} from 'mobx-react';\nimport {Modal} from '@/components/common-components';\nimport {faGoogle} from '@fortawesome/free-brands-svg-icons';\nimport {CONTENT_ASSISTANT_API} from '@/api/ContentAssistant';\nimport {BulkRemoveTermsModal} from '../BulkRemoveTermsModal/BulkRemoveTermsModal';\nimport {toJS} from 'mobx';\nimport {useStore} from '@/store/root-store';\nimport {isScaPublicPage} from '@/utils/url';\n\ninterface TopicalProps {\n onViewChange?: Dispatch>;\n onChangeIncludeBranded?: Dispatch>;\n onTermsFilter?: Dispatch>;\n includeBranded: boolean;\n currentView?: 'clusters' | 'completion';\n store: CurrentPageStore;\n onSortTerms?: () => void;\n}\n\n\nexport const TermsDropdownController = observer(({onViewChange, currentView, store, onChangeIncludeBranded, includeBranded, onTermsFilter, onSortTerms}: TopicalProps) => {\n const {Group} = Radio;\n const antIcon = ;\n const [showExportModal, setShowExportModal] = useState(false);\n const [showBulkRemoveTermsModal, setShowBulkRemoveTermsModal] = useState(false);\n const [exportToDocsLoading, setExportToDocsLoading] = useState(false);\n\n const {contentOptimizer: {currentPage}} = useStore('');\n\n /**\n *\n * @param {'include-more' | 'included' | 'include-less'} type shows type of focus term that we are calculating terms for\n * @return {number} number of terms of that typ\n */\n const getTermsCount = (type: 'include-more' | 'included' | 'include-less'): number => {\n if (!type) return 0;\n\n return toJS(currentPage)?.analytics?.focusTerms?.filter(item => item.status === type)?.length;\n };\n\n const [termsFiltersSetup, setTermsFiltersSetup] = useState({\n 'included': {\n checked: true,\n type: 'included',\n label: 'Complete',\n color: '#1FAC47',\n },\n 'include-more': {\n checked: true,\n type: 'include-more',\n label: 'Include more',\n color: '#F1AA3E',\n },\n 'include-less': {\n checked: true,\n type: 'include-less',\n label: 'Reduce usage',\n color: '#F44343',\n },\n });\n\n const sorters = [\n {\n label: 'Importance',\n key: 'normalizedScore',\n },\n {\n label: 'Least used (Not used first)',\n key: 'leastCount',\n },\n {\n label: 'Most used',\n key: 'usedCount',\n },\n {\n label: 'Heading presence',\n key: 'foundIn',\n },\n {\n label: 'Search volume',\n key: 'sv',\n },\n {\n label: 'Cost-per-Click (CPC)',\n key: 'cpc',\n },\n ];\n\n\n const handleOnSortChange = value => {\n const sorter = {\n key: value.key,\n label: value.label,\n };\n\n store.setFocusTermsSorter(sorter);\n onSortTerms();\n };\n\n\n const onCheckboxClicked = (value: boolean) => {\n onChangeIncludeBranded(value);\n };\n\n const downloadFileToTxt = () => {\n const pageTitle = store?.content?.title ? `PAGE NAME: ${store.content?.title}` : '';\n const pageUrl = store?.content?.importedFromUrl ? `PAGE URL: ${store.content?.importedFromUrl}` : '';\n const articleUrl = store?.content?.url ? `ARTICLE URL: ${store.content?.url}` : '';\n\n const wordCount = `WORD COUNT: ${store?.content?.wordCount || 0}`;\n const imagesCount = `IMAGES: ${store?.analysis?.images?.count || 0}`;\n const videosCount = `VIDEOS: ${store?.analysis?.videos?.count || 0}`;\n const iframesCount = `IFRAMES: ${store?.analysis?.iframes?.count || 0}`;\n const internalLinksCount = `INTERNAL LINKS: ${store?.analysis?.links?.internal?.length || 0}`;\n const externallLinksCount = `SOCIAL: ${store?.analysis?.links?.external?.length || 0}`;\n const socialCount = `EXTERNAL LINKS: ${store?.analysis?.social?.count || 0} sources`;\n const javascriptCount = `JAVASCRIPT: ${store?.analysis?.js?.count || 0} scripts`;\n\n let headersSum = 0;\n store?.analysis?.headers?.header?.map(header => headersSum = headersSum + header.count);\n const headersCount = `HEADINGS: ${headersSum || 0}`;\n\n const pageTechnicalsString = store?.analysis?.url ?\n `##PAGE TECHNICALS \\n\\n${wordCount}\\n${imagesCount}\\n${headersCount}\\n${videosCount}\\n${iframesCount}\\n${internalLinksCount}\\n${externallLinksCount}\\n${socialCount}\\n${javascriptCount}` :\n '';\n\n\n const targetKeywords = store?.content?.targetKeywords?.length ? store?.content?.targetKeywords?.map(kw => `* ${kw.keyword.trim()}: SV: ${kw.sv}; CPC: ${kw.cpc}; KD: ${kw.kd}`).join('\\n') : '';\n const includedFocusterms = [];\n const notIncludedFocusTerms = [];\n store?.analytics?.focusTerms?.length && store?.analytics?.focusTerms?.map(ft => {\n if (ft.usedCount > 0) {\n includedFocusterms.push(`* ${ft.name.trim()}: USED COUNT: ${ft.usedCount}/${ft.requiredCountMin}; SV: ${searchVolumeFormatter(ft.sv)}; CPC: ${costPerClickFormatter(ft.cpc)}`);\n } else {\n notIncludedFocusTerms.push(`* ${ft.name.trim()}: USED COUNT: ${ft.usedCount}/${ft.requiredCountMin}; SV: ${searchVolumeFormatter(ft.sv)}; CPC: ${costPerClickFormatter(ft.cpc)}`);\n }\n });\n const questionsSting = store?.analytics?.questions?.length ? store?.analytics?.questions?.map(q => `* ${q.keyword}: SV: ${q.sv}; CPC: ${q.cpc}; Used count: ${q.usedCount}`).join('\\n') : '';\n\n\n const convertedText = `##PAGE INFORMATION \\n\\n${pageTitle}\\n${pageUrl} \\n${articleUrl} ${(pageTitle || pageUrl) && '\\n\\n\\n\\n'}${pageTechnicalsString} \\n\\n\\n\\n##TARGET KEWYRODS \\n\\n${targetKeywords}\n \\n\\n\\n\\n##QUESTIONS \\n\\n${questionsSting}\\n\\n\\n\\n##INCLUDED TOPICAL TERMS \\n\\n${includedFocusterms.join('\\n')} \\n\\n\\n\\n##NOT INCLUDED TOPICAL TERMS \\n\\n${notIncludedFocusTerms.join('\\n')}`;\n\n const element = document.createElement('a');\n const file = new Blob([convertedText], {type: 'text/plain'});\n element.href = URL.createObjectURL(file);\n element.download = `${store?.content?.title || 'PegeExport'}.txt`;\n document.body.appendChild(element);\n element.click();\n };\n\n\n const getXlsExportLink = () => {\n const token = getTokenFromCookies();\n if (store?.content?.uuid) {\n const baseUrl = getApiUrl(BaseApi.CA_ENDPOINT, `/api/pages/${store?.content?.uuid}/export-data-to-xls/`);\n const savedKeywordsUrl = `${baseUrl}?&jwt=${token}`;\n return savedKeywordsUrl;\n }\n };\n\n const exportToGoogleDocs = async () => {\n setExportToDocsLoading(true);\n const response = await CONTENT_ASSISTANT_API.exportPageToGoogleDocs(store?.content?.uuid);\n if (response) {\n window.open(response, '_blank');\n }\n setExportToDocsLoading(false);\n setShowExportModal(false);\n };\n\n\n const termsFilterHandler = (checked: boolean, value: string) => {\n const updatedTermsSetup = {\n ...termsFiltersSetup,\n [value]: {\n checked: checked,\n label: termsFiltersSetup[value].label,\n color: termsFiltersSetup[value].color,\n type: termsFiltersSetup[value].type,\n },\n };\n\n setTermsFiltersSetup(updatedTermsSetup);\n\n const updatedFilteredTermsArr = [];\n Object.keys(updatedTermsSetup).forEach(item => {\n if (updatedTermsSetup[item].checked) {\n updatedFilteredTermsArr.push(item);\n }\n });\n onTermsFilter(updatedFilteredTermsArr);\n };\n const tooltipStyle = {backgroundColor: '#FFF', color: '#121212', borderRadius: '6px'};\n\n const isNotPublic = !isScaPublicPage();\n\n const viewChangeDropdown = \n
e.stopPropagation()}>\n onViewChange(e.target.value)} style={{display: 'flex', flexDirection: 'column'}}>\n Editor settings:\n currentPage?.setHighlights(e.target.checked)}>Enable Terms Highlighting in the Editor\n Terms recommendations:\n onCheckboxClicked(e.target.checked)}>Include Branded Terms\n\n \n {isNotPublic && setShowBulkRemoveTermsModal(true)}> Bulk Remove Terms}\n
\n
;\n\n return \n \n setShowExportModal(false)}>\n Export Content Brief\n Export a brief with the SEO and Content data for this article (Meta Data, Word Count, Focus Terms, questions, Link Suggestions, etc.)\n \n \n setShowExportModal(false)}>Close\n
\n window.open(getXlsExportLink(), '_self')}>\n Save as .xls\n \n downloadFileToTxt()}>\n Save as .txt\n \n exportToGoogleDocs()} disabled={exportToDocsLoading}>\n {exportToDocsLoading ? : } Open in Google Docs\n \n
\n
\n \n \n
\n {Object.keys(termsFiltersSetup).map((item, idx) => {\n return \n termsFilterHandler(e.target.checked, item)}>\n {getTermsCount(termsFiltersSetup[item].type)}\n \n ;\n })}\n
\n \n \n \n {sorters.map((item, index) => (\n handleOnSortChange(item)} key={index}>{item.label}\n ))}\n \n }>\n \n \n Sort\n \n \n \n\n {store?.isRemovingFocusTerms && }\n \n currentPage.setShowAddFocusTermModal(true)}>\n \n \n \n\n {isNotPublic && setShowExportModal(true)}>\n \n }\n\n \n \n \n \n \n \n \n \n
\n
;\n});\n\n// TOPICAL TERMS STYLED COMPONENTES\nconst GearIcon = styled.a`\n height: 14px;\n cursor: pointer;\n margin-top: auto;\n margin-bottom: auto;\n display: block;\n`;\nconst GroupTermsContainer = styled.div`\n display: flex;\n align-items: center;\n gap: 6px;\n`;\n\nconst TermsContainer = styled.div`\n display: flex;\n flex-direction: column;\n background-color: transparent;\n padding: 10px 10px;\n background-color: #2D2F34;\n border-radius: 5px 5px 0 0;\n`;\n\nconst ExportBtn = styled(Button)`\n background: transparent;\n font-size: 12px !important;\n height: 28px !important;\n margin-left: auto;\n margin-right: 0px;\n padding: 7px 10px;\n\n &:focus,\n &:hover {\n background: transparent;\n }\n`;\n\nconst AdjustBtnContainer = styled.div`\n display: flex;\n align-items: center;\n font-size: 12px;\n padding-bottom: 5px;\n cursor: default;\n`;\n\n\nconst TermsViewDropdownContainer = styled.div`\n background-color: #fff;\n box-shadow: 0px 6px 25px rgba(0, 0, 0, 0.15);\n padding: 12px 20px;\n border-radius: 17px;\n margin-top: 10px;\n width: 232px;\n`;\n\nconst CheckboxStyled = styled(Checkbox)`\n// margin-left: 3px !important;\n display: flex;\n align-items: flex-start;\n font-weight: 500 !important;\n margin-right: 8px;\n\n .ant-checkbox-inner {\n width: 14px;\n height: 14px;\n padding: 7px;\n border-radius: 4px !important;\n ::after {\n top: 47% !important;\n left: 18.5% !important;\n }\n }\n\n .ant-checkbox {\n padding-right: 0px !important;\n padding-left: 0px !important;\n }\n\n span {\n padding-right: 1px;\n padding-left: 1px;\n font-size: 13px;\n }\n`;\n\nconst PTag = styled.p`\nmargin-left: 10px;\nmargin-bottom: 0px !important;\n`;\n\nconst CheckboxStyledHighlights = styled(CheckboxStyled)`\nmargin-bottom: 4px;\n`;\n\n\nconst OverlayTitle = styled.p`\n color: #4E5156;\n font-size: 12px;\n margin-bottom:5px;\n`;\n\n\nconst ExportModalTitle = styled.div`\n font-weight: 600;\n font-size: 20px;\n color: #121212;\n margin-bottom: 10px;\n`;\n\nconst ExportModalDesc = styled.div`\n color: #4E5156;\n`;\n\nconst ExportModalButtonsContainer = styled.div`\n display: flex;\n justify-content: space-between;\n`;\nconst BulkRemoveTermsBtn = styled.div`\n cursor: pointer;\n margin-top: 6px;\n font-weight: 500;\n`;\nconst TermsFilterContainer = styled.div`\n display: flex;\n justify-content: space-between;\n width: 103%;\n border-radius: 0px 4px 4px 0px;\n margin-left: -10px;\n padding: 0px 9px 10px 15px;\n`;\n\nconst AddButton = styled.div`\n margin-left: 6px;\n cursor: pointer;\n`;\n\nconst Sort = styled.div`\n display: flex;\n align-items: center;\n gap: 4px;\n cursor: pointer;\n`;\n\nconst SortTxt = styled.span`\n color: var(--Text-gray-light, var(--Gray-light, #E8E8E8));\n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n`;\n","import {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {formatLargeNumber} from '@/utils/number';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {faChevronDown, faChevronUp} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Spin, Tooltip, Input as AntdInput} from 'antd';\nimport {toJS} from 'mobx';\nimport {observer} from 'mobx-react-lite';\nimport {ChangeEvent, useState} from 'react';\nimport styled from 'styled-components';\nimport {faMagnifyingGlass} from '@fortawesome/pro-solid-svg-icons';\n\ninterface Props {\n store: CurrentPageStore;\n onFilter: (query: string[]) => void;\n}\nexport const TermsDataController = observer(({\n store,\n onFilter,\n}: Props) => {\n const [isClustersExpanded, setIsClustersExpanded] = useState(false);\n const [termsSearchQuery, setTermsSearchQuery] = useState([]);\n const [termsSearchInputValue, setTermsSearchInputValue] = useState('');\n\n const secondAntIcon = ;\n\n\n const handleOnClusterClick = (clusterName: string) => {\n let filteredSearch = termsSearchInputValue[0] ? termsSearchInputValue.split(',')?.map(item => item.trim()) : [];\n\n if (filteredSearch?.includes(clusterName)) {\n filteredSearch = filteredSearch.filter(item => item !== clusterName);\n } else {\n filteredSearch.push(clusterName);\n }\n setTermsSearchInputValue(filteredSearch.join(', '));\n\n onFilter(filteredSearch);\n };\n\n const termSearchHandler = (e: ChangeEvent) => {\n const input = e.target.value;\n setTermsSearchInputValue(input);\n\n const formatInput = input.split(',');\n const trimmedArr: string[] = [];\n for (let i = 0; i < formatInput.length; i++) {\n if (!termsSearchQuery.includes(formatInput[i].trim())) {\n trimmedArr.push(formatInput[i].trim());\n }\n }\n\n setTermsSearchQuery(trimmedArr);\n onFilter(trimmedArr);\n };\n\n return \n \n \n } value={termsSearchInputValue} onChange={e => termSearchHandler(e)} />\n \n \n {store?.isAnalyzing ? : \n {toJS(store.analytics?.clusters)?.map((cluster, id) => {\n return \n \n Terms in cluster:\n {cluster.focusTerms?.length}\n \n \n Monthly Search Volume:\n {formatLargeNumber(cluster.clusterSv)}\n \n }>\n item.trim() === cluster.title).length > 0}\n onClick={() => handleOnClusterClick(cluster.title)}>{`#${cluster.title} - ${cluster.focusTerms?.length}`}\n \n ;\n })}\n }\n setIsClustersExpanded(!isClustersExpanded)}/>\n \n ;\n});\n\nconst ClusterTooltipSingleRow = styled.div`\n display: flex;\n justify-content: space-between\n`;\nconst ClusterTooltipLabel = styled.div`\n font-size: 12px;\n font-weight: 400;\n color: #E8E8E8;\n`;\n\nconst ClusterTooltipValue = styled.div`\n font-size: 12px;\n font-weight: 500;\n color: #FFFFFF;\n`;\n\nconst Wrapper = styled.div`\n margin-bottom: 15px;\n border-radius: 8px;\n background: #282B2F;\n box-shadow: 0px 4px 21px 0px rgba(0, 0, 0, 0.02);\n padding: 10px;\n`;\nconst SearchAndSort = styled.div`\n display: flex;\n margin-bottom: 10px;\n`;\nconst ClustersWrapper = styled.div`\n display: flex;\n`;\nconst ClustersContainer = styled.div<{expandedClusters?: boolean}>`\n display: flex;\n flex-wrap: wrap;\n\n height: ${p => p.expandedClusters ? 'auto' : '25px'};\n overflow: hidden;\n`;\n\nconst SingleClusterContainer = styled.div<{activeCluster?: boolean}>`\n background-color: ${p => p.activeCluster ? '#f8a62933' : '#2E3135'};\n border-radius: 60px;\n padding: 3px 8px;\n width: auto;\n height: 20px;\n font-size: 11px;\n margin-right: 6px;\n margin-bottom: 6px;\n cursor: pointer;\n\n &:hover {\n background-color: #4B4D51 !important;\n }\n`;\n\nconst InputStyled = styled(AntdInput)`\n height: 32px;\n margin-bottom: 5px;\n background: #282B2F;\n border-color: transparent !important;\n .ant-input {\n margin-left: 7px;\n background: #282B2F;\n color: white !important;\n color: var(--Text-gray, var(--Gray, #A3A4A4));\n font-family: Inter;\n font-size: 13px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n }\n .ant-input-affix-wrapper {\n border: none !important;\n }\n &:hover{\n box-shadow: none !important;\n border-color: transparent !important;\n }\n &:focus{\n box-shadow: none !important;\n }\n`;\n","import {useState} from 'react';\nimport {faArrowDown, faCheck, faTrash} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport styles from '../../style.module.scss';\nimport {\n costPerClickFormatter,\n searchVolumeFormatter,\n isScaPublicPage,\n} from '@/components/dashboard/pages/landing-page-optimizer/page-editor/LeftSide/EditorSection/content-editor/utils';\nimport {\n Divider,\n Popover,\n Tooltip,\n Spin,\n} from 'antd';\nimport {NextImg} from '@/utils/nextImg';\n\nimport {getTwoGreenPercentageColor} from '@/utils/colors';\nimport classNames from 'classnames';\nimport {useTranslation} from 'next-i18next';\nimport {CurrentPageStore, FocusTermModel} from '@/store/content-optimizer/currentPage';\nimport {observer} from 'mobx-react';\nimport {getDomain, getSiteName} from '@/utils/url';\nimport {isNil} from 'lodash';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport styled from 'styled-components';\nimport {faWikipediaW} from '@fortawesome/free-brands-svg-icons';\n\ninterface Props {\n focusTerm: FocusTermModel;\n i: number;\n store: CurrentPageStore;\n}\n\nexport const SingleTerm = observer(({focusTerm, i, store}: Props) => {\n const {t} = useTranslation('landing-page-optimizer');\n const [copySuccess, setCopySuccess] = useState(false);\n const [isRemoving, setIsRemoving] = useState(false);\n\n const antIcon = ;\n\n const removeTermHandler = async (term: string) => {\n try {\n setIsRemoving(true);\n await store.removeTerms(term);\n setIsRemoving(false);\n } catch {\n setIsRemoving(false);\n }\n };\n\n const termContainerSetup = {\n 'include-more': {\n background: 'rgba(241, 170, 62, 0.15)',\n hoverBackground: 'rgba(241, 170, 62, 0.25)',\n icon: null,\n },\n 'included': {\n background: 'rgba(31, 172, 71, 0.15)',\n hoverBackground: 'rgba(31, 172, 71, 0.25)',\n icon: null,\n },\n 'include-less': {\n background: 'rgba(244, 67, 67, 0.15)',\n hoverBackground: 'rgba(244, 67, 67, 0.25)',\n icon: ,\n },\n };\n\n const fitTermInQuota = (term: string, quote?: string ) => {\n if (!quote) return '';\n\n // this check should not be nessesary as we expect BE to include term in quote always\n if (quote.includes(`${term}`)) {\n const startIndex = quote.indexOf(`${term}`);\n\n if (startIndex > (140 - term.length)) {\n return quote.slice(startIndex - (140 - term.length));\n } else {\n return quote;\n }\n }\n };\n\n const isAnyFocusTermLink = () => {\n if (focusTerm?.wikipediaLink || focusTerm?.wikidataLink || focusTerm?.knowledgeGraphLink || focusTerm?.crunchbaseLink) {\n return true;\n } else {\n return false;\n }\n };\n\n return (\n

Topical term

\n

{focusTerm.name}

\n
\n {focusTerm.sv !== undefined && focusTerm.sv !== null && {`SV: ${searchVolumeFormatter(focusTerm.sv)}`}}\n {focusTerm.cpc !== undefined && focusTerm.cpc !== null && {`CPC: ${costPerClickFormatter(focusTerm.cpc)}`}}\n
\n {focusTerm?.foundIn && focusTerm?.foundIn.length > 0 ?\n
\n Used in  \n {focusTerm.foundIn.map((item, i)=> {\n if (focusTerm.foundIn.length === 1) {\n return {`<${item}>`};\n } else {\n if (i === focusTerm.foundIn.length - 1) {\n return <>and  {`<${item}>`};\n } else if (i === focusTerm.foundIn.length - 2) {\n return {`<${item}>`}  ;\n } else {\n return {`<${item}>`},  ;\n }\n }\n })}\n
:\n null}\n
{'Current / Recommended # of uses'}
\n

\n {store?.content?.targetKewyordsOnlyArr?.includes(focusTerm.name) ?

Target keywords do not have any usage limitations.
: null}\n {focusTerm.usedCount}\n  of {focusTerm.requiredCountMin}\n {`(Max: ${focusTerm.requiredCountMax || 0})`}\n

\n
{'Competitors using this term'}
\n
\n {focusTerm?.competitors?.results?.map((competitor, index) => (\n \n

{competitor.title ?? getSiteName(competitor.hostname)}

\n {competitor.url}\n
\n {competitor?.snippets?.map((snippet, idx) => {\n return
\n

\n {/* {snippet.length > 130 ? snippet.substring(0, 130) + '...' : snippet} */}\n

\n {idx !== (competitor?.snippets?.length - 1) && }\n
;\n })}\n
\n
}>\n
\n {`${index + 1}. `}\n {getDomain(competitor.url)}\n
\n \n // {`${index + 1}. `}{competitor.hostname}\n ))}\n\n \n {(!isNil(focusTerm?.normalizedScore) || focusTerm?.source) ? : null}\n \n {focusTerm?.source ?\n

{`Keyword source: `}{focusTerm?.source?.join(', ')}

: null}\n {!isNil(focusTerm?.normalizedScore) ? <>\n

{`Importance score: `}{focusTerm.normalizedScore}

\n : null\n }\n {isAnyFocusTermLink() ?\n \n Entity References\n \n {focusTerm?.crunchbaseLink ?\n window.open(focusTerm?.crunchbaseLink)} style={{display: 'flex'}}>\n \n Crunchbase\n : ''}\n {focusTerm?.knowledgeGraphLink ?\n window.open(focusTerm?.knowledgeGraphLink)} style={{display: 'flex'}}>\n \n Google\n : ''}\n {focusTerm?.wikipediaLink ?\n window.open(focusTerm?.wikipediaLink)} style={{display: 'flex'}}>\n \n Wikipedia\n : ''}\n {focusTerm?.wikidataLink ?\n window.open(focusTerm?.wikidataLink)} style={{display: 'flex'}}>\n \n Wikidata\n : ''}\n \n : ''}\n
\n \n }\n >\n\n \n \n {focusTerm.name}\n {focusTerm?.isBranded && {'branded'}}\n {focusTerm?.foundIn && focusTerm.foundIn.map((item, idx) => {\n return {item};\n })}\n \n \n {termContainerSetup[focusTerm.status].icon}\n {focusTerm.usedCount} / {focusTerm.requiredCountMin}\n\n
\n {` Copied to clipboard`} : t('copy-to-clipboard')}\n trigger='hover'\n placement='bottom'\n overlayClassName={styles.copyTooltip}\n onVisibleChange={visible => {\n if (!visible) {\n setTimeout(() => {\n setCopySuccess(false);\n }, 300);\n }\n }}>\n {\n navigator.clipboard.writeText(focusTerm.name);\n setCopySuccess(true);\n }}>\n \n \n \n\n {!isScaPublicPage() ? {\n if (!visible) {\n setTimeout(() => {\n setCopySuccess(false);\n }, 300);\n }\n }}>\n {(isRemoving && store.isRemovingFocusTerms) ? :\n
removeTermHandler(focusTerm.name)}>\n \n
}\n\n : null}\n
\n
\n
\n );\n});\n\nconst TermContainer = styled.div`\n margin-right: 5px;\n margin-left: 5px;\n margin-bottom: 9px;\n display: flex;\n max-width: 300px;\n cursor: default;\n\n\n .termControllsContainer {\n position: absolute;\n right: -100%;\n width: 100%;\n height: 100%;\n transition: all .3s ease;\n background: #2D2F34;\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding-right: 10px;\n }\n\n &:hover {\n .termControllsContainer {\n right: 0;\n }\n }\n`;\nconst Left = styled.div<{background: string; hoverBackground: string}>`\n padding: 3px 8px;\n background: ${p => p.background};\n width: 100%;\n border-radius: 36px 0 0 36px;\n display: flex;\n flex-wrap: wrap;\n max-width: 260px;\n align-items: center;\n transition: background .2s ease;\n\n &:hover {\n background: ${p => p.hoverBackground};\n }\n`;\nconst TermName = styled.div`\n font-size: 13px;\n color: #fff;\n line-height: 13px;\n`;\nconst BrandedLabel = styled.span`\n background-color: rgba(255, 255, 255, 0.2);\n border-radius: 50px;\n color: #4ebbab;\n font-size: 12px;\n line-height: 15px;\n margin-left: 5px;\n padding: 0 5px;\n`;\nconst FoundInLabel = styled.span`\n background-color: rgba(255, 255, 255, 0.2);\n border-radius: 50px;\n display: inline-block;\n font-size: 12px;\n line-height: 15px;\n margin-left: 5px;\n padding: 0 5px;\n`;\n\nconst Right = styled.div<{border: string}>`\n padding: 5px 7px;\n border: ${p => `2px solid ${p.border}`};\n border-radius: 0 36px 36px 0;\n font-size: 13px;\n display: flex;\n align-items: center;\n line-height: 13px;\n position: relative;\n overflow: hidden;\n min-width: fit-content;\n cursor: pointer;\n \n\n\n`;\n\nconst CopyIcon = styled.div`\n`;\nconst ReferencesTitle = styled.p``;\nconst ReferencesWrapper = styled.div``;\nconst LinksWrapper = styled.div`\ndisplay: flex;\nflex-wrap: wrap;\ngap: 8px;\n`;\nconst SingleLink = styled.div`\ndisplay: flex;\npadding: 3px 6px;\njustify-content: center;\nalign-items: center;\ngap: 4px;\nborder-radius: 6px;\nborder: 1px solid #E8E8E8;\nbackground:#FFF;\ncursor: pointer;\nspan {\n color: #121212;\n font-family: 'Inter', sans-serif;\n font-size: 12px;\n font-weight: 400;\n}\n`;\nconst LowerSection = styled.div`\npadding: 10px 21px;\nbackground: #f9f9fb;\n`;\n","import {observer} from 'mobx-react-lite';\nimport {useEffect, useState} from 'react';\nimport {useStore} from '@/store/root-store';\nimport {TermsDropdownController} from '../DropdownController/TermsDropdownController';\nimport styled from 'styled-components';\nimport {toJS} from 'mobx';\nimport {TermsDataController} from '../DropdownController/TermsDataController';\nimport {SingleTerm} from './SingleTerm';\nimport {FocusTermModel} from '@/store/content-optimizer/currentPage';\nimport {Tooltip} from 'antd';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCopy} from '@fortawesome/pro-regular-svg-icons';\n\nexport const TermsDropdowns = observer(() => {\n // const [defaultActiveCluster, setDefaultActiveCluster] = useState(['1']);\n const [includedBranded, setIncludeBranded] = useState(true);\n const [query, setQuery] = useState([]);\n const [termsToShow, setTermsToShow] = useState(['include-more', 'included', 'include-less']);\n const [isCopied, setIsCopied] = useState(false);\n\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n\n const [standardTerms, setStandardTerms] = useState([]);\n\n const setTerms = (queryParam?: string[]) => {\n if (queryParam?.length) {\n setQuery(queryParam);\n } else {\n setQuery([]);\n }\n\n const prepTermsArr = toJS(currentPage?.analytics?.focusTerms);\n let filteredTerms = [];\n\n if (queryParam?.length) {\n for (let i = 0; i < queryParam.length; i++) {\n filteredTerms = [...filteredTerms, ...prepTermsArr.filter(term => term.name.includes(queryParam[i]))];\n }\n } else {\n filteredTerms = prepTermsArr;\n }\n\n if (currentPage.focusTermsSorter.key) {\n if (currentPage.focusTermsSorter.key === 'leastCount') {\n filteredTerms = filteredTerms?.sort((a, b) => {\n if (a.usedCount < b.usedCount) return -1;\n });\n } else {\n filteredTerms = filteredTerms?.sort((a, b) => {\n if (b[currentPage.focusTermsSorter.key] < a[currentPage.focusTermsSorter.key]) return -1;\n });\n }\n }\n\n\n filteredTerms = filteredTerms?.filter(term => termsToShow.includes(term.status));\n\n setStandardTerms(filteredTerms);\n };\n\n const filterTermsHandler = (termsToShowParam: string[]) => {\n setTermsToShow(termsToShowParam);\n const prepTermsArr = toJS(currentPage?.analytics?.focusTerms);\n let filteredTerms = [];\n\n if (query?.length) {\n for (let i = 0; i < query.length; i++) {\n filteredTerms = [...filteredTerms, ...prepTermsArr.filter(term => term.name.includes(query[i]))];\n }\n } else {\n filteredTerms = prepTermsArr;\n }\n\n if (currentPage.focusTermsSorter.key) {\n filteredTerms = filteredTerms?.sort((a, b) => {\n if (b[currentPage.focusTermsSorter.key] < a[currentPage.focusTermsSorter.key]) return -1;\n });\n }\n\n filteredTerms = filteredTerms?.filter(term => termsToShowParam.includes(term.status));\n\n setStandardTerms(filteredTerms);\n };\n\n useEffect(() => {\n setTerms();\n }, [...(currentPage?.analytics?.focusTerms ?? [])]);\n\n\n return <>\n \n \n \n \n {standardTerms.filter(term => {\n if (!includedBranded) {\n return !term.isBranded;\n } else {\n return term;\n }\n }).map((term, idx) => {\n return ;\n })}\n \n {\n if (!visible) {\n setTimeout(() => setIsCopied(false), 300);\n }\n }}>\n {\n if (standardTerms?.length) {\n navigator.clipboard.writeText(standardTerms.filter(term => {\n if (!includedBranded) {\n return !term.isBranded;\n } else {\n return term;\n }\n })?.map(i => i?.name).join(', '));\n }\n setIsCopied(true);\n }}\n > {isCopied ? 'Copied' : 'Copy All'}\n \n \n ;\n});\n\nconst TopicalTermsContainer = styled.div`\nbackground-color: #2D2F34;\n \n`;\n\nconst TermsContainer = styled.div<{focusMode?: boolean}>`\n padding-right: 15px;\n padding-bottom: 16px;\n border-radius: 0 0 8px 8px;\n display: flex;\n flex-wrap: wrap;\n max-height: ${p => !p.focusMode ? '476px' : 'calc(100vh - 440px)'};\n overflow-y: auto;\n \n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: #E8E8E8;\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n`;\n\nconst CopyButton = styled.button`\n background-color: transparent;\n border: 0px;\n cursor: pointer;\n margin: 6px;\n color: rgb(52, 174, 243);\n`;\n\n","import {observer} from 'mobx-react-lite';\nimport {useStore} from '@/store/root-store';\nimport styled from 'styled-components';\nimport {TermsDropdowns} from './TermsDropdowns';\n// import {NextImg} from '@/utils/nextImg';\n\n\nexport const FocusTermsTab = observer(() => {\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n\n return currentPage?.analytics?.includedTerms?.length || currentPage?.analytics?.includeMoreTerms?.length || currentPage?.analytics?.includeLessTerms?.length ? (\n ) : \n {/*
*/}\n {currentPage?.isAnalyzing ? 'Loading Focus Terms...' : Please add Target Keywords to view Focus Terms or\n currentPage.setShowAddFocusTermModal(true)}> add terms manually}\n
;\n});\n\nconst EmptyDataBox = styled.div`\n background: #2d2f34;\n border-radius: 5px;\n box-shadow: 0 4px 21px rgba(0, 0, 0, 0.02);\n display: flex;\n padding: 12px 15px;\n\n .emptyImg {\n display: flex;\n justify-content: center;\n }\n\n .emptyDataTitle {\n color: #a3a4a4;\n font-size: 14px;\n font-weight: normal;\n line-height: 20px;\n margin-left: 17px;\n }\n`;\n\n","import {BaseApi} from '@/api/base-api';\nimport {getApiUrl, getTokenFromCookies} from '@/api/common-utils';\nimport {Button} from '@/components/common-components/v2/Button';\n\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {faDownLeftAndUpRightToCenter, faFileDownload, faUpRightAndDownLeftFromCenter} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Tooltip} from 'antd';\nimport {useState} from 'react';\nimport styled from 'styled-components';\nimport {observer} from 'mobx-react';\nimport {faCheck, faSyncAlt} from '@fortawesome/pro-regular-svg-icons';\nimport {isScaPublicPage} from '@/utils/url';\n\ninterface Props {\n currentView?: 'links' | 'terms';\n store: CurrentPageStore;\n}\n\n\nexport const LinkSuggestionsDropdownController = observer(({currentView, store}: Props) => {\n const [isSynced, setIsSynced] = useState(false);\n const [isSyncing, setIsSyncing] = useState(false);\n const isNotPublic = !isScaPublicPage();\n\n const onLinksSync = async () => {\n try {\n setIsSyncing(true);\n // await store?.getInternalLinkSuggestions(store?.content?.uuid, true);\n await store?.getInternalLinkSuggestionsv2(store?.content?.uuid, true);\n setIsSynced(true);\n setTimeout(() => {\n setIsSynced(false);\n }, 3000);\n } catch (e) {\n setIsSyncing(false);\n } finally {\n setIsSyncing(false);\n }\n };\n\n const getXlsExportLink = () => {\n const token = getTokenFromCookies();\n if (store?.content?.uuid) {\n const baseUrl = getApiUrl(BaseApi.CA_ENDPOINT, `/api/pages/${store?.content?.uuid}/export-data-to-xls/`);\n const savedKeywordsUrl=`${baseUrl}?&jwt=${token}`;\n return savedKeywordsUrl;\n }\n };\n\n\n return \n \n store.setFocusTermsExpanded(!store.focusTermsExpanded)}>\n \n {store?.focusTermsExpanded ? 'Default Mode' : 'Focus Mode'}\n \n \n\n {/* \n {currentView === 'links' ? 'Internal' : 'External links'}\n \n\n {currentView === 'links' ? \n Keywords \n : null} */}\n\n {isNotPublic && (currentView === 'links' ? \n Export\n : null)}\n\n\n Suggestions Updated}>\n onLinksSync()}>\n \n Refetch\n \n \n\n ;\n});\n\nconst Container = styled.div<{current: string}>`\n display: flex;\n align-items: center;\n padding: 10px 15px;\n justify-content: ${p => p.current === 'links' ? 'space-between' : 'flex-start'};\n`;\n\n\nconst FocusModeBtn = styled(Button)`\n background: transparent;\n padding: 4px 0px;\n font-size: 12px !important;\n height: 28px !important;\n margin-left: 0px;\n\n &:focus,\n &:hover {\n background: transparent;\n }\n`;\n\nconst FocusModeLabel = styled.span`\n color: #E8E8E8;\n font-size: 12px;\n margin-bottom: -2px;\n`;\n\nconst ExportIcon = styled.a`\n display: flex;\n align-items: center;\n cursor: pointer;\n background: transparent;\n font-size: 12px !important; \n margin-left: auto;\n margin-right: 0px;\n color: #fff;\n padding: 7px 20px;\n height: 28px !important;\n\n &:focus,\n &:hover {\n background: transparent;\n color: #fff;\n }\n`;\n\n\nconst RefetrchBtnContainer = styled.div`\n display: flex;\n align-items: center;\n font-size: 12px;\n margin-right: 0px;\n`;\n","import {InternalLinkType} from '@/store/content-optimizer/CurrentPageModel';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Spin, Tooltip} from 'antd';\nimport styled from 'styled-components';\nimport {\n faCheck,\n faStar,\n} from '@fortawesome/pro-regular-svg-icons';\nimport {faStar as faStarSolid} from '@fortawesome/pro-solid-svg-icons';\nimport {useEffect, useState} from 'react';\nimport {observer} from 'mobx-react';\nimport {faXmark} from '@fortawesome/pro-light-svg-icons';\nimport {useStore} from '@/store/root-store';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {NextImg} from '@/utils/nextImg';\n\ninterface Props {\n link: InternalLinkType;\n customCallback?: () => void;\n}\nexport const SingleSuggestion = observer(({link, customCallback}: Props) => {\n const [copySuccess, setCopySuccess] = useState(false);\n const [isRemovingTerm, setIsRemovingTerm] = useState(false);\n const [isBookmarked, setIsBookmarked] = useState(link?.isBookmarked);\n const {contentOptimizer: {currentPage: {removeInternalLinkSuggestion, bookmarkInternalLinkSuggestion, content: {uuid}}}} = useStore('');\n\n const antdIcon = ;\n\n useEffect(() => {\n setIsBookmarked(link?.isBookmarked);\n }, [link?.isBookmarked]);\n\n return \n \n \n \n \n \n \n \n {link?.title ? link.title : ''}\n \n {isBookmarked ? : null}\n \n\n \n {link?.path}\n \n \n \n
\n \n
{\n setIsBookmarked(!isBookmarked);\n await bookmarkInternalLinkSuggestion(uuid, link?.url);\n if (typeof customCallback == 'function') customCallback();\n }}>\n \n
\n \n {` URL Copied`} : 'Copy URL'}\n placement='top'\n overlayClassName='copyTooltip'\n onVisibleChange={visible => {\n if (!visible) {\n setTimeout(() => {\n setCopySuccess(false);\n }, 300);\n }\n }}>\n
{\n navigator.clipboard.writeText(link?.url);\n setCopySuccess(true);\n }}>\n \n
\n \n \n
{\n setIsRemovingTerm(true);\n await removeInternalLinkSuggestion(uuid, link?.url, link?.keywords);\n if (typeof customCallback == 'function') customCallback();\n setIsRemovingTerm(false);\n }}>\n {isRemovingTerm ? : }\n
\n \n
\n\n
;\n});\n\nconst SingleLinkContainer = styled.div`\n margin-bottom: 12px;\n display: flex;\n justify-content: space-between;\n position: relative;\n\n .actionsMenu {\n display: none;\n font-size: 12px;\n margin-bottom: auto;\n margin-left: 5px;\n margin-top: auto;\n cursor: pointer !important;\n position: absolute;\n background: linear-gradient(90deg, #2d2f342b -10.83%, #2d2f34 39.77%);\n padding-left: 30px;\n right: 0;\n }\n\n &:hover {\n .actionsMenu {\n display: flex;\n }\n }\n\n .copyTooltip {\n :global(.ant-tooltip-content) {\n background-color: $color-gray-dark;\n border-radius: 10px !important;\n }\n \n :global(.ant-tooltip-arrow) {\n display: none !important;\n }\n \n :global(.ant-tooltip-inner) {\n border-radius: 10px !important;\n padding-left: 10px !important;\n padding-right: 10px !important;\n }\n }\n`;\nconst Right = styled.div`\n width: 90%;\n margin-right: auto;\n`;\nconst Left = styled.div`\n display: flex;\n width: 10%;\n`;\nconst TitleAndStar = styled.div`\n display: flex;\n justify-content: space-between;\n width: 100%;\n`;\nconst Title = styled.div`\n cursor: pointer;\n color: #e8e8e8 !important;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 90%;\n`;\nconst Link = styled.a`\n font-size: 12px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n color: #34AEF3;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\n\n","import {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {SingleSuggestion} from './SingleISugesstion';\nimport styles from '../CommonCitations/style.module.scss';\n\ninterface Props {\n data: any[];\n store?: CurrentPageStore;\n isQueried?: boolean;\n customCallback?: () => void;\n}\n\n\nexport const InternalLinksSuggestions = observer(({data, store, isQueried, customCallback}: Props) => {\n return <>\n \n {data?.length ?\n data?.map((suggestion, id) => (\n \n )) : isQueried ?\n
\n No Internal Link Suggestions found that match your search.\n
:\n store?.content?.targetKeywords?.length === 0 ?\n
\n Please add Target Keywords to get Internal Link Suggestions.\n
:
\n No Internal Link Suggestions found for these Target Keywords.\n
}\n
\n\n ;\n});\n\n\nconst DropdownsContainer = styled.div`\n background-color: #2D2F34;\n max-height: 340px;\n overflow-y: auto;\n padding-right: 15px;\n padding-left: 15px;\n\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(138,138,138,0.32);\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n`;\n\n","\nimport {CommonCitationsType} from '@/store/content-optimizer/CurrentPageModel';\nimport {Tooltip} from 'antd';\nimport {observer} from 'mobx-react';\nimport styles from '../style.module.scss';\nimport {NextImg} from '@/utils/nextImg';\n\ninterface Props {\n citation: CommonCitationsType;\n}\n\nexport const SingleCitation = observer(({citation}: Props) => {\n const addDefaultSrc = e => {\n e.target.src = '/img/world-wide-web.svg';\n };\n\n return (citation?.url && !citation?.url.startsWith('javascript:')) &&
\n
{citation.url && addDefaultSrc(e)} src={`https://www.google.com/s2/favicons?sz=16&domain_url=${citation.url}`} />}
\n
\n
{citation?.title}
\n\n {citation?.url ?\n {citation?.url} : null}\n {citation?.metaDesc && citation?.metaDesc.length > 90 ?\n \n
{citation?.metaDesc.substring(0, 90) + '...'}
\n :
{citation?.metaDesc}
}\n {citation?.serps ?
\n Used by:
\n {citation?.serps?.map((serp, idx) => idx < 5 && (\n \n
{serp.title}
\n {serp?.url ? {serp.url} : null}\n
{serp.metaDesc && serp.metaDesc.length > 70 ? serp.metaDesc.substring(0, 70) + '...' : serp.metaDesc}
\n
{`Position: ${serp.position}`}
\n }\n overlayClassName={styles.serpTooltip}>\n
addDefaultSrc(e)}\n src={`https://www.google.com/s2/favicons?sz=16&domain_url=${serp.url}`} />
\n \n ))}\n {citation?.serps?.length > 7 && (\n {`+${citation?.serps?.length - 7}`}\n )}\n
\n
: null}\n\n
\n
;\n});\n","import {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {SingleCitation} from './SingleCitation/SingleCitation';\nimport styles from './style.module.scss';\nimport {observer} from 'mobx-react';\n\ninterface Props {\n store: CurrentPageStore;\n}\nexport const CommonCitations = observer(({store}: Props) => {\n return <>\n {store?.analytics?.commonCitations?.length ?
\n
\n {store?.analytics?.commonCitations.map(citation => {\n return (citation.url || citation.metaDesc) && ;\n })}\n
\n
:\n !store?.content?.targetKeywords?.length ?
\n Please add Target Keywords to get Common Citations.\n
:
\n No Common Citations found for these Target Keywords.\n
}\n ;\n});\n","import {Tooltip} from 'antd';\nimport {observer} from 'mobx-react';\nimport styles from './style.module.scss';\n\nexport const SidebarTooltip = observer(props => {\n return \n {props.children}\n ;\n});\n","import {observer} from 'mobx-react';\nimport {ChangeEvent, Dispatch, SetStateAction, useEffect, useState} from 'react';\nimport styled, {css, keyframes} from 'styled-components';\nimport {Tooltip, Form, Dropdown, Radio} from 'antd';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport Text from 'antd/lib/typography/Text';\nimport isURL from 'validator/lib/isURL';\nimport {useTranslation} from 'next-i18next';\nimport {Button as CommonBtn, CommonInput} from '@/components/common-components/components';\nimport {Loader} from '../../../Utils/loader';\nimport {addProtocolToDomain, sanitizeUrl} from '@/utils/url';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faPen, faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport {Button} from '@/components/common-components/v2/Button';\nimport {Checkbox} from '@/components/common-components/v2/Checkbox';\nimport {Input} from '@/components/common-components/v2';\nimport {SidebarTooltip} from '../../../Common/SideBarTooltip/sidebarTooltip';\nimport {isScaPublicPage} from '@/utils/url';\n// import {faChevronDown, faChevronUp} from '@fortawesome/pro-regular-svg-icons';\n// import { toJS } from 'mobx';\n// import { LoadingOutlined } from '@ant-design/icons';\n\ninterface Props {\n store: CurrentPageStore;\n currentView?: 'links' | 'terms';\n onViewChange?: Dispatch>;\n visibleKeywords?: any[];\n updateKeywords?: (kwArray) => void;\n onFilter: (query: string[]) => void;\n viewSuggestionsOption: boolean;\n linksDropDownFromSuggestion: 'links' | 'terms';\n}\n\nexport const SuggestionsDataController = observer(({\n store,\n currentView,\n onViewChange,\n visibleKeywords,\n updateKeywords,\n onFilter,\n viewSuggestionsOption,\n linksDropDownFromSuggestion,\n}: Props) => {\n const [showEditor, setShowEditor] = useState(false);\n const [isCloseClicked, setIsCloseClicked] = useState(false);\n const [form] = Form.useForm();\n const [inputValue, setInputValue] = useState(store?.content?.hostname ?? store?.content?.importedFromUrl ?? '');\n const [submitDisabled, setSubmitDisabled] = useState(true);\n const isNotPublic = !isScaPublicPage();\n\n // const [isClustersExpanded, setIsClustersExpanded] = useState(false);\n const [termsSearchQuery, setTermsSearchQuery] = useState([]);\n const [termsSearchInputValue, setTermsSearchInputValue] = useState('');\n const {Group} = Radio;\n useEffect(() => {\n onViewChange(linksDropDownFromSuggestion);\n }, [linksDropDownFromSuggestion]);\n\n\n // const secondAntIcon = ;\n\n const {t} = useTranslation('common');\n\n const onCheckboxClicked = (status: boolean, keyword: string) => {\n const filteredKw = visibleKeywords;\n const elemId = filteredKw.findIndex(kw => kw.keyword === keyword);\n\n filteredKw[elemId].active = status;\n updateKeywords(filteredKw);\n };\n\n // const handleOnClusterClick = (clusterName: string) => {\n // let filteredSearch = termsSearchInputValue[0] ? termsSearchInputValue.split(',')?.map(item => item.trim()) : [];\n\n // if (filteredSearch?.includes(clusterName)) {\n // filteredSearch = filteredSearch.filter(item => item !== clusterName);\n // } else {\n // filteredSearch.push(clusterName);\n // }\n // setTermsSearchInputValue(filteredSearch.join(', '));\n\n // onFilter(filteredSearch);\n // };\n\n\n const termSearchHandler = (e: ChangeEvent) => {\n const input = e.target.value;\n setTermsSearchInputValue(input);\n\n const formatInput = input.split(',');\n const trimmedArr: string[] = [];\n for (let i = 0; i < formatInput.length; i++) {\n if (!termsSearchQuery.includes(formatInput[i].trim())) {\n trimmedArr.push(formatInput[i].trim());\n }\n }\n\n setTermsSearchQuery(trimmedArr);\n onFilter(trimmedArr);\n };\n\n const hostnameEditor = \n {\n if (!isCloseClicked) {\n try {\n await store?.updateHostname(inputValue);\n await store?.getInternalLinkSuggestionsv2(store?.content?.uuid, true);\n setShowEditor(false);\n } catch (e) {\n return Promise.reject(e);\n }\n }\n }}\n initialValues={{\n urlInput: inputValue,\n }}>\n {'Page URL'}\n ({\n validator(_, value) {\n if (!value || isURL(value.trim(), {require_protocol: false})) {\n return Promise.resolve();\n }\n return Promise.reject(t('url-not-valid'));\n },\n }),\n ]}\n >\n {\n setInputValue(e.target.value);\n if (!e.target.value) {\n setSubmitDisabled(true);\n } else {\n setSubmitDisabled(false);\n }\n }\n }\n placeholder={t('enter-url')} />\n\n \n \n {\n e.preventDefault();\n setInputValue(store?.content?.hostname ?? store?.content?.importedFromUrl ?? '');\n setShowEditor(false);\n }}\n disabled={store?.isUpdatingHostname}\n >\n {store?.isUpdatingHostname ? : t('cancel')}\n \n setIsCloseClicked(false)}\n >\n {store?.isUpdatingHostname ? : 'Update'}\n \n \n\n \n ;\n\n const topMessage = \n {hostnameEditor}\n {isNotPublic && (store?.content?.importedFromUrl || store?.content?.hostname ? <>\n \n Suggestions shown for \n \n {sanitizeUrl(store?.content?.hostname ?? store?.content?.importedFromUrl)}\n \n \n \n setShowEditor(!showEditor)} style={{marginLeft: 'auto'}}>\n \n \n : <>\n To get Link Suggestions setShowEditor(!showEditor)}>specify a Page URL\n )}\n ;\n\n const viewChangeDropdown = \n
e.stopPropagation()}>\n onViewChange(e.target.value)}>\n Internal Link Suggestions\n External Link Suggestions\n \n
\n
;\n\n const keywordsDropdown = \n Show Internal Link Suggestions for following target keywords:\n
e.stopPropagation()}>\n {visibleKeywords?.map((kw, id) => {\n return onCheckboxClicked(e.target.checked, kw.keyword)}>{kw.keyword};\n })}\n
\n
;\n\n const viewControlls = \n \n \n {currentView === 'links' ? 'Internal Links' : 'External links'}\n \n \n\n {currentView === 'links' ? \n Keywords {visibleKeywords?.filter(kw => kw.active)?.length} / {visibleKeywords?.length}\n : null}\n\n ;\n\n const SearchAndSort = \n \n termSearchHandler(e)}/>\n \n {/* \n {store?.isAnalyzing ? : \n {toJS(store.content?.internalLinkSuggestions)?.map((cluster, id) => {\n return \n \n Link Suggestions in cluster:\n {cluster.results?.length}\n \n }>\n item.trim() === cluster.keyword).length > 0}\n onClick={() => handleOnClusterClick(cluster.keyword)}>{`#${cluster.keyword} - ${cluster.results?.length}`}\n \n ;\n })}\n }\n setIsClustersExpanded(!isClustersExpanded)}/>\n */}\n ;\n\n return \n {topMessage}\n {viewControlls}\n {SearchAndSort}\n ;\n});\n\nconst Wrapper = styled.div`\n margin-bottom: 10px;\n`;\n\nconst EditorContainer = styled.div<{show: boolean}>`\n display: ${p => p.show ? 'block' : 'none'};\n background-color: #fff;\n box-shadow: 0px 6px 25px rgba(0, 0, 0, 0.15);\n border-radius: 5px;\n position: absolute;\n top: 20px;\n right: 0;\n padding: 15px 10px;\n width: 300px;\n z-index: 1;\n `;\nconst FormStyled = styled(Form)`\n .ant-form-item {\n margin-bottom: 10px;\n }\n\n .ant-form-item-explain.ant-form-item-explain-error {\n div {\n color: #ff4d4f;\n }\n }\n `;\n\nconst HostnameContainer = styled.div`\n position: relative;\n display: flex;\n font-size: 12px;\n margin-bottom: 10px;\n`;\nconst HostnameLink = styled.a`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: calc(100% - 150px);\n margin-left: 5px;\n color: #34AEF3;\n`;\nconst HostnameLinkBtnContainer = styled.div`\n width: 14px;\n height: 14px;\n margin-left: 10px;\n cursor: pointer;\n`;\n\nconst ViewControllsContainer = styled.div`\n display: flex;\n`;\nconst AddNewUrlBtn = styled.div`\n font-size: 12px;\n margin-left: 5px;\n color: #40a9ff !important;\n text-decoration: underline;\n cursor: pointer;\n`;\nconst InputStyeld = styled(CommonInput)`\n `;\nconst ButtonContainer = styled(Form.Item)`\n .ant-form-item-control-input-content {\n display: flex;\n justify-content:flex-end;\n }\n `;\n\nconst CancelButton = styled(CommonBtn)`\n background-color: #e8e8e8;\n border: 1px solid #e8e8e8;\n padding: 5px 15px;\n\n span {\n color: #4E5156 !important;\n }\n\n &:hover, &.active, &.focus {\n background-color: #e8e8e8;\n border: 1px solid #e8e8e8;\n }\n `;\nconst UpdateButton = styled(CommonBtn)`\n padding: 5px 15px;\n margin-left: 10px;\n `;\nconst ViewDropdownContainer = styled.div`\n background-color: #fff;\n box-shadow: 0px 6px 25px rgba(0, 0, 0, 0.15);\n width: 255px;\n padding: 12px 20px;\n border-radius: 5px;\n`;\nconst RadioStyled = styled(Radio)`\n .ant-radio-checked .ant-radio-inner {\n background-color: #7f4ead !important;\n border-color: #7f4ead !important;\n\n &::after {\n background-color: #fff !important;\n }\n }\n`;\nconst blinkAnimation = keyframes`\n 0%, 100% {\n background-color: #2D2F34;\n }\n 50% {\n background-color: #6F7177;\n }\n`;\nconst ButtonStyled = styled(Button)<{viewSuggestionsOption?: boolean}>`\n background-color: #323539;\n border: 1px solid transparent;;\n font-size: 13px;\n padding: 8px 14px;\n margin: 0 9px 0 0 !important;\n\n &:hover, &:focus {\n background-color: transparent !important;\n }\n animation: ${p => p.viewSuggestionsOption ? css`${blinkAnimation} 2s;` : ''}; \n animation-delay: .5s;\n `;\nconst KeywordsDropdownContainer = styled.div`\n background-color: #fff;\n box-shadow: 0px 6px 25px rgba(0, 0, 0, 0.15);\n width: 230px;\n padding: 12px 20px;\n border-radius: 5px;\n`;\n\n\nconst CheckboxStyled = styled(Checkbox)`\n margin-left: 0px !important;\n font-weight: 500 !important;\n`;\n\nconst OverlayTitle = styled.p`\n color: #4E5156;\n font-size: 12px;\n`;\n\n// const ClusterTooltipSingleRow = styled.div`\n// display: flex;\n// justify-content: space-between\n// `;\n// const ClusterTooltipLabel = styled.div`\n// font-size: 12px;\n// font-weight: 400;\n// color: #E8E8E8;\n// `;\n\n// const ClusterTooltipValue = styled.div`\n// font-size: 12px;\n// font-weight: 500;\n// color: #FFFFFF;\n// `;\n\nconst SearchAndSortWraper= styled.div `\n margin-top: 10px;\n`;\n\nconst SearchContainer = styled.div`\n display: flex;\n margin-bottom: 10px;\n`;\n\n// const ClustersWrapper = styled.div`\n// display: flex;\n// `;\n// const ClustersContainer = styled.div<{expandedClusters?: boolean}>`\n// display: flex;\n// flex-wrap: wrap;\n\n// height: ${p => p.expandedClusters ? 'auto' : '25px'};\n// overflow: hidden;\n// `;\n\n// const SingleClusterContainer = styled.div<{activeCluster?: boolean}>`\n// background-color: ${p => p.activeCluster ? '#f8a62933' : '#2E3135'};\n// border-radius: 60px;\n// padding: 3px 8px;\n// width: auto;\n// height: 20px;\n// font-size: 11px;\n// margin-right: 6px;\n// margin-bottom: 6px;\n// cursor: pointer;\n\n// &:hover {\n// background-color: #4B4D51 !important;\n// }\n// `;\n\nconst InputStyled = styled(Input)`\n height: 32px;\n`;\n","import {observer} from 'mobx-react';\nimport React, {useEffect, useState} from 'react';\nimport styled from 'styled-components';\nimport {LinkSuggestionsDropdownController} from '../DropdownController/LinkSuggestionsDropdownController';\nimport {InternalLinksSuggestions} from './InternalLinkSuggestions/InternalLinkSuggestions';\nimport {CommonCitations} from './CommonCitations/CommonCitations';\nimport {useStore} from '@/store/root-store';\nimport {SuggestionsDataController} from '../DropdownController/SuggestionsDataController';\nimport {toJS} from 'mobx';\nimport {Button, Input, Popover, Radio, Spin, Tooltip, Form} from 'antd';\nimport {exportLinkIcon} from '@/utils/icons';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {faCircleInfo} from '@fortawesome/pro-duotone-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n// import { SmallBadge } from '@/components/common-components/components/badge';\nimport {Pill} from '@/components/layoutV2/user-menu/styles';\nimport isURL from 'validator/lib/isURL';\nimport {useTranslation} from 'next-i18next';\nimport {CustomTextarea} from '@/components/common-components/components/form/input/customTextarea';\nimport {stringToArray} from '@/utils/arrays';\nimport {keywordNewLineReg} from '@/constants/regex';\nimport {notification} from '@/utils/notification-v2';\nimport {apiError} from '@/utils/api';\n\ninterface LinkSuggestionTabPRops {\n viewSuggestionsOption: boolean;\n linksDropDownFromSuggestion: 'links' | 'terms';\n}\n\nexport const LinkSuggestionsTab = observer(({viewSuggestionsOption, linksDropDownFromSuggestion}: LinkSuggestionTabPRops) => {\n const [currentView, setCurrentView] = useState<'links' | 'terms'>('links');\n const [activeKeywordsList, setActiveKeywordsList] = useState([]);\n const [searchQuery, setSearchQuery] = useState([]);\n const [dataArr, setDataArr] = useState([]);\n const [initialDataArr, setInitialDataArr] = useState([]);\n const [isQueried, setIsQueried] = useState(false);\n const [anyButtonClicked, setAnyButtonClicked] = useState(false);\n const antIcon = ;\n const {settings: {customer: {getCustomerQuota}}} = useStore('');\n const [selectedOption, setSelectedOption] = useState('domain');\n const [domain, setDomain] = useState('');\n const [isVisiblePopover, setIsVisiblePopover] = useState(false);\n const [updateLoading, setUpdateLoading] = useState(false);\n const [urlsError, setUrlsError] = useState('');\n const [form] = Form.useForm();\n const {t} = useTranslation('common');\n const [inputValue, setInputValue] = useState('');\n\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n useEffect(() => {\n if (linksDropDownFromSuggestion) {\n setCurrentView(linksDropDownFromSuggestion);\n }\n }, [linksDropDownFromSuggestion]);\n\n useEffect(() => {\n // we are using loading boolean which goes true before api is fired and false afterwards\n // to avoid multiple rerendering we are only checking for false value\n if (currentPage?.isFetchingIntLinksSug) return;\n\n const activeKwArr = [];\n\n if (toJS(currentPage)?.content?.internalLinkSuggestionsV2?.keywords?.length) {\n for (let i = 0; i < toJS(currentPage).content.internalLinkSuggestionsV2.keywords.length; i++) {\n activeKwArr.push({\n keyword: toJS(currentPage).content.internalLinkSuggestionsV2.keywords[i],\n active: true,\n });\n }\n }\n\n\n setActiveKeywordsList(activeKwArr);\n\n setDataArr(toJS(currentPage)?.content?.internalLinkSuggestionsV2?.allLinks ?? []);\n setInitialDataArr(toJS(currentPage).content?.internalLinkSuggestionsV2?.allLinks ?? []);\n }, [currentPage?.isFetchingIntLinksSug]);\n\n const onDataFilter = (keywordsArray: any[]) => {\n setActiveKeywordsList(keywordsArray);\n filterDataHandler();\n };\n\n const setLinks = (query?: string[]) => {\n setSearchQuery(query);\n filterDataHandler();\n };\n\n\n const customLinkActionCallback = () => {\n setDataArr(toJS(currentPage)?.content?.internalLinkSuggestionsV2?.allLinks ?? []);\n setInitialDataArr(toJS(currentPage)?.content?.internalLinkSuggestionsV2?.allLinks || []);\n filterDataHandler(toJS(currentPage)?.content?.internalLinkSuggestionsV2?.allLinks);\n };\n\n const filterDataHandler = (customDataArr?: any[]) => {\n const formattedArr = activeKeywordsList.filter(item => item.active === true);\n const prepDataArr = [];\n const dataArr = customDataArr ?? initialDataArr;\n\n for (let i = 0; i < formattedArr.length; i++) {\n const foundLinks = dataArr.filter(link => link.keywords.includes(formattedArr[i].keyword));\n for (let n = 0; n < foundLinks.length; n++) {\n if (!prepDataArr.filter(item => item.url === foundLinks[n].url)?.length) {\n prepDataArr.push(foundLinks[n]);\n }\n }\n }\n\n let filteredSelectedLinks = [];\n if (searchQuery?.length > 1 || (searchQuery?.length === 1 && searchQuery[0] !== '')) {\n setIsQueried(true);\n for (let i = 0; i < prepDataArr.length; i++) {\n for (let n = 0; n < searchQuery.length; n++) {\n const foundLink = prepDataArr[i].title?.toLowerCase().includes(searchQuery[n]?.toLowerCase());\n if (foundLink) {\n filteredSelectedLinks.push(prepDataArr[i]);\n }\n }\n }\n } else {\n setIsQueried(false);\n for (let i = 0; i < prepDataArr.length; i++) {\n filteredSelectedLinks = [...filteredSelectedLinks, prepDataArr[i]];\n }\n }\n setDataArr(filteredSelectedLinks);\n };\n const calculateUsagePercentage = (data: any[]): number => {\n if (data?.length) {\n return (data.filter(link => link.isUsed).length * 100) / data.length;\n } else {\n return 0;\n }\n };\n\n\n const getMsg = (perc: number): string => {\n let msg = '';\n if (perc === null) return '';\n\n if (perc < 100) {\n msg = `Add more links to improve this site's linking profile.`;\n } else {\n msg = 'Amazing! All links included.';\n }\n\n return msg;\n };\n const postLInkSuggestion = async type => {\n const links = type == 'links' ? dataArr?.sort((a, b) => a.isBookmarked > b.isBookmarked ? -1 : 1).map(({url})=> url) : currentPage?.analytics?.commonCitations.map(item => toJS(item).url);\n currentPage?.setLinksForInsertion([...links]);\n try {\n setAnyButtonClicked(true);\n await currentPage.fetchLinkSuggestions([...links]);\n currentPage.setIsLinkActive(true);\n getCustomerQuota();\n } catch (e) {\n return Promise.reject(e);\n } finally {\n setAnyButtonClicked(false);\n }\n };\n\n const initValues = () => {\n setInputValue('');\n setDomain('');\n form.resetFields(['urlInput']);\n setSelectedOption('domain');\n };\n\n const handleRadioChange = e => {\n setSelectedOption(e.target.value);\n setDomain('');\n setInputValue('');\n form.resetFields(['urlInput']);\n setUrlsError('');\n };\n\n const submitUrl = async () => {\n setUpdateLoading(true);\n try {\n if (selectedOption === 'domain') {\n await currentPage?.updateHostname(domain);\n await currentPage?.getInternalLinkSuggestionsv2(currentPage?.content?.uuid, true);\n notification.success('', 'Domain updated successfully');\n setIsVisiblePopover(false);\n initValues();\n } else {\n if (inputValue.length) {\n const links = stringToArray(inputValue, keywordNewLineReg, ',');\n const urlWithProtocols = links.map(value => value.startsWith('/') ? value.slice(1) : value);\n await currentPage.fetchLinkSuggestions(urlWithProtocols);\n currentPage.setIsLinkActive(true);\n notification.success('', 'URLs updated successfully');\n getCustomerQuota();\n setIsVisiblePopover(false);\n initValues();\n setUrlsError('');\n } else {\n setUrlsError('URL is required.');\n }\n }\n } catch (error) {\n const errorMessage = apiError(error) as string;\n notification.error('', errorMessage, false, 'OK');\n Promise.reject(error);\n } finally {\n setUpdateLoading(false);\n }\n };\n\n const onVisibleChange = value => {\n setIsVisiblePopover(value);\n initValues();\n setUrlsError('');\n };\n\n const handleInputChange = (e: React.ChangeEvent) => {\n if (e?.nativeEvent['data'] == ',') {\n setInputValue(e?.target?.value?.replace(',', '\\n'));\n } else {\n if (e.target.value.length) setUrlsError('');\n setInputValue(e?.target?.value);\n }\n };\n\n const addDomainPopoverContent = () => {\n return \n To continue, provide a source of Internal links\n \n \n
\n \n \n \n
\n \n Add a domain\n We’ll scan the domain and provide inlinks recommendations \n {selectedOption === 'domain' &&\n ({\n validator(_, value) {\n if (!value || isURL(value.trim(), {require_protocol: false})) {\n return Promise.resolve();\n }\n return Promise.reject(t('url-not-valid'));\n },\n }),\n ]}\n >\n setDomain(e.target.value)}\n />\n \n }\n \n
\n \n
\n \n \n \n
\n \n Provide URLs\n Write or paste a list of URLs and we’ll find the best fit for them\n {selectedOption === 'urls' &&\n <>\n \n {urlsError&& {urlsError}}\n \n }\n \n
\n
\n setIsVisiblePopover(false)}\n >\n Dismiss\n \n \n {updateLoading ? : 'Update & Continue'}\n \n
\n \n
;\n };\n\n const popoverInnerStyle = {\n width: '500px',\n borderRadius: '10px',\n border: '1px solid #D9D9D9',\n background: 'var(--White, #FFF)',\n boxShadow: '0px 1px 20px 0px rgba(0, 0, 0, 0.19)',\n };\n\n\n return <>\n {\n onDataFilter(kwArr);\n }}\n visibleKeywords={activeKeywordsList}\n onFilter={setLinks}\n viewSuggestionsOption={viewSuggestionsOption}\n />\n \n \n \n \n \n Internal links help search engines understand how your content interrelates.\n \n \n {`Links in of the page: ${toJS(currentPage)?.content?.internalLinkSuggestionsV2?.allLinks?.filter(link => link.isUsed).length ?? 0}/${toJS(currentPage)?.content?.internalLinkSuggestionsV2?.allLinks?.length ?? 0}`}\n \n }>\n \n \n\n {getMsg(calculateUsagePercentage(toJS(currentPage)?.content?.internalLinkSuggestionsV2?.allLinks))}\n \n \n

Add links to content easily with AI

\n {dataArr?.length && (currentView == 'links' || currentView == 'terms') ?

{\n (dataArr?.length && (currentView == 'links' || currentView == 'terms')) && postLInkSuggestion(currentView);\n }}> {anyButtonClicked ? : exportLinkIcon()} Insert Links Beta

:\n \n \n
Launching AI Links Assistant.
\n
Do not modify your article before this tool is fully loaded
\n : ''}>\n

{\n setIsVisiblePopover(true);\n }}> {anyButtonClicked ? : exportLinkIcon()} Insert Links Beta

\n \n }\n
\n {currentView === 'links' ? a.isBookmarked > b.isBookmarked ? -1 : 1)} store={currentPage}/> : }\n
\n ;\n});\n\nconst Wrapper = styled.div`\n background-color: #2d2f34;\n border-radius: 5px;\n padding: 0 0 13px 0;\n`;\nconst SuggestionsBannerContainer = styled.div<{percent?: number}>`\n background-color: ${p => p.percent < 75 ? '#F1AA3E1C' : '#1FAC471C'};\n border-radius: 5px;\n padding: 9px 10px;\n font-size: 12px;\n margin: 10px 6px;\n\n .infoBannerIcon {\n width: 15px;\n color: ${p => p.percent < 75 ? '#F1AA3E' : '#1FAC47'};\n margin-right: 5px;\n }\n`;\n\nconst TooltipTitle = styled.div`\n`;\nconst TooltipDescription = styled.div`\n font-size: 12px;\n color: #a3a4a4;\n`;\n\nconst LinksWrapper = styled.div<{anyButtonClicked?: boolean}>`\n\nbackground-image: linear-gradient(to left, rgb(52 174 243 / 9%), rgba(52, 174, 243, 0.42));\ndisplay: flex;\n// justify-content: space-between;\nheight: 35px;\nalign-items: center;\nmargin: 0 7px 20px 7px;\npadding: 0 15px;\nborder-radius: 5px;\np{ \n margin-bottom: 0;\n font-size: 12px;\n &:last-child{\n align-items: center;\n display: flex;\n justify-content: space-between;\n width: 30%;\n margin-left: 10px;\n color: #34AEF3;\n cursor: ${props => props.anyButtonClicked ? 'not-allowed' : 'pointer'};\n text-decoration: underline;\n }\n}\n`;\n\nconst StyledPopover = styled(Popover)`\n .ant-popover-inner-content {\n padding: 0px !important;\n }\n`;\n\nconst PopoverContentWrapper = styled.div`\n margin: 6px 4px;\n`;\n\nconst PopoverTitle = styled.p`\n color: var(--Black, #121212);\n font-family: Inter;\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: normal;\n margin-bottom: 15px !important;\n`;\n\nconst AddDomainSection = styled.div`\n display: flex; \n width: 460px;\n min-height: 50px;\n flex-shrink: 0;\n border-radius: 12px 12px 0px 0px;\n border: 1px solid var(--Gray-light, #E8E8E8);\n background: var(--Table-row-stripe, #F9F9FB);\n padding: 12px 16px;\n`;\n\nconst ProvideUrlsSection = styled.div`\n display: flex;\n width: 460px;\n min-height: 58px;\n flex-shrink: 0;\n border-radius: 0px 0px 12px 12px;\n border: 1px solid var(--Gray-light, #E8E8E8);\n background: var(--Table-row-stripe, #F9F9FB);\n margin-bottom: 15px;\n padding: 12px 16px;\n`;\n\nconst Footer = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 12px;\n`;\n\nconst AddDomainTitle = styled.div`\n color: var(--Black, #121212);\n font-family: Inter;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n margin-bottom: 2px;\n`;\n\nconst AddDomainDesc = styled.div`\n color: var(--Gray-dark, #4E5156);\n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n margin-bottom: 10px;\n`;\n\nconst AddDomainInput = styled(Input)`\n width: 400px;\n height: 32px;\n flex-shrink: 0;\n border-radius: 6px;\n border: 1px solid var(--Gray-light, #E8E8E8);\n background: var(--White, #FFF);\n`;\n\nconst DomainDetails = styled.div`\n .ant-form-item {\n margin-bottom: 0px !important;\n } \n\n`;\n\nconst ProvideUrlsDetails = styled.div`\n \n`;\n\nconst Dismiss = styled.button`\n display: inline-flex;\n padding: 5px 15px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 6px;\n background: var(--Body-background, #F2F2F5);\n border: none;\n cursor: pointer;\n`;\n\nconst Update = styled(Button)`\n display: inline-flex;\n padding: 5px 15px;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 6px;\n background: var(--Blue, #2D6CCA);\n color: white;\n min-width: 120px;\n &:hover {\n background-color: #2D6CCA !important;\n color: white !important;\n }\n &:focus {\n background-color: #2D6CCA !important;\n color: white !important;\n }\n`;\n\nconst ErrorMessageForURL = styled.span`\n color: #ff4d4f;\n font-size: 14px;\n line-height: 1.5715;\n`;\n","import {useCallback, useState} from 'react';\nimport {observer} from 'mobx-react';\nimport styles from './style.module.scss';\nimport {\n Divider,\n Row,\n Popover,\n Tooltip,\n Spin,\n} from 'antd';\nimport classnames from 'classnames';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCheck, faFilePlus, faMessageCheck, faCopy} from '@fortawesome/pro-regular-svg-icons';\nimport {useTranslation} from 'next-i18next';\nimport {QuestionModel} from '@/store/content-optimizer/CurrentPageModel';\nimport {useStore} from '@/store/root-store';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {costPerClickFormatter, searchVolumeFormatter} from '../../../../../LeftSide/EditorSection/content-editor/utils';\nimport {debounce, isNil} from 'lodash';\nimport {insertText} from '@/utils/editor-scripts';\nimport {EditorState} from 'draft-js';\n\ninterface Props {\n question: QuestionModel;\n i: number | string;\n}\n\n\nexport const SingleQuestion = observer(({question, i}: Props) => {\n const {contentOptimizer: {\n contentFragment,\n },\n } = useStore('');\n const {contentOptimizer: {currentPage, aiOutline}} = useStore('');\n const [copySuccess, setCopySuccess] = useState(false);\n const [aiCopied, setAiCopied] = useState(false);\n const [creatingPage, setCreatingPage] = useState(false);\n const [isAiGenerating, setIsAiGenerating] = useState(false);\n const {t} = useTranslation('common');\n\n const antIcon = ;\n\n const fetchAndInsertText = async (action: 'insert' | 'copy') => {\n try {\n setIsAiGenerating(true);\n await contentFragment.fetchFragment(`${question.keyword}?`);\n\n if (action === 'copy') {\n if (contentFragment?.fragment?.results) {\n if (isNil(contentFragment?.fragment?.results[0])) return;\n navigator.clipboard.writeText(`\\n${question.keyword}?\\n\\n${contentFragment?.fragment?.results[0]}`);\n setAiCopied(true);\n setIsAiGenerating(false);\n\n setTimeout(() => {\n setAiCopied(false);\n }, 5000);\n }\n }\n } catch (e) {\n Promise.reject(e);\n setIsAiGenerating(false);\n }\n };\n\n const debouncedChange = debounce((state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations = false) => {\n // we are then calling the edit content method which will fire the API call and send new state to the BE\n currentPage.editContent(state, isNewDecorations);\n }, 2000);\n\n\n const debouncedUpdate = useCallback(\n (state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations) => debouncedChange(state, focusTerms, focusTermsClassNames, isNewDecorations),\n // eslint-disable-next-line\n []\n );\n\n return \n
{t('question')}
\n
{question.keyword ? question.keyword : null}
\n
\n {question?.sv !== undefined && question?.sv !== null && {`SV: ${searchVolumeFormatter(question.sv)}`}}\n {question?.cpc !== undefined && question?.cpc !== null && {`CPC: ${costPerClickFormatter(question.cpc)}`}}\n
\n \n
{t('number-of-uses')}
\n

\n {question?.usedCount ?? ''}\n

\n \n }\n >\n \n
\n
{\n navigator.clipboard.writeText(`${question?.keyword ?? ''}?`);\n }}>\n
\n {question?.keyword ?? ''}\n {` Copied to clipboard`} : t('copy-to-clipboard')}\n placement='bottom'\n overlayClassName={styles.copyTooltip}\n onVisibleChange={visible => {\n if (!visible) {\n setTimeout(() => {\n setCopySuccess(false);\n }, 300);\n }\n }}>\n
{\n navigator.clipboard.writeText(`${question?.keyword ?? ''}?`);\n setCopySuccess(true);\n }}>\n \n
\n \n {`Answer Copied to Clipboard`} : `Ai Generate Answer` :\n {`Ai Generating Answer`}}\n placement='top'\n overlayClassName={styles.copyTooltip}\n onVisibleChange={visible => {\n if (!visible) {\n setTimeout(() => {\n setCopySuccess(false);\n }, 300);\n }\n }}>\n
{\n e.stopPropagation();\n fetchAndInsertText('copy');\n }}>\n \n
\n \n Adding to the article...: 'Add to the article.'}>\n
{\n if (creatingPage) return;\n e.stopPropagation();\n setCreatingPage(true);\n insertText(`

` + question?.keyword + '? ', Number(i), currentPage, aiOutline, debouncedUpdate);\n setCreatingPage(false);\n // onCreatePage();\n }}>\n \n
\n
\n
\n\n \n
\n
\n
\n ;\n});\n","\nimport {Typography, Spin, Tooltip} from 'antd';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {observer} from 'mobx-react';\nimport styles from './style.module.scss';\nimport {SingleQuestion} from './SingleQuestion';\nimport {useStore} from '@/store/root-store';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCheck, faCopy} from '@fortawesome/pro-regular-svg-icons';\nimport {useState} from 'react';\nimport {useTranslation} from 'next-i18next';\nimport {copyToClipboardWithHtmlAndText} from '@/utils/clipboard';\n// import {NextImg} from '@/utils/nextImg';\n\n\nexport const QuestionsTab = observer(() => {\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n const {t} = useTranslation('common');\n\n const {Title} = Typography;\n const antIcon = ;\n\n const [copySuccess, setCopySuccess] = useState(false);\n\n const questionsMsg = () => {\n if (currentPage?.content?.targetKeywords?.length > 0 || 5 > 2) {\n return 'No Questions found for current Target Keywords';\n } else {\n return 'Please add Target Keywords to view Questions';\n }\n };\n\n\n return <>\n \n Questions {currentPage?.isAnalyzing ? <Spin indicator={antIcon} style={{marginRight: '20px'}}/> :\n currentPage?.analytics?.questions?.length ? <span className={styles.totalQuestions}>{`${currentPage?.analytics?.questions?.filter(question => question?.usedCount > 0)?.length}/${currentPage?.analytics?.questions?.length}`}</span> : null}\n <Tooltip\n title={copySuccess ? <span><FontAwesomeIcon icon={faCheck} style={{color: '#2AC155'}}/>{` Copied to clipboard`}</span> : t('copy-to-clipboard')}\n placement='top'\n overlayClassName={styles.copyTooltip}\n onVisibleChange={visible => {\n if (!visible) {\n setTimeout(() => {\n setCopySuccess(false);\n }, 300);\n }\n }}>\n <div style={{cursor: 'pointer', color: '#34AEF3', marginLeft: 'auto'}}\n onClick={() => {\n let htmlString = '<p></p>';\n let string = '';\n currentPage?.analytics?.questions?.map(question => {\n htmlString += (`<p>${question.keyword}?</p>`);\n string += (`${question.keyword}?`);\n });\n const parser = new DOMParser();\n const doc = parser.parseFromString(htmlString, 'text/html');\n const copiedText = doc.body.textContent;\n navigator.clipboard.writeText(copiedText);\n\n // Example usage:\n const htmlContent = htmlString;\n const plainTextContent = string;\n\n copyToClipboardWithHtmlAndText(htmlContent, plainTextContent);\n setCopySuccess(true);\n }}>\n <FontAwesomeIcon icon={faCopy} style={{marginRight: 5}}/> Copy all\n </div>\n </Tooltip>\n \n {currentPage?.analytics?.questions?.length ?
\n
\n {currentPage?.analytics?.questions?.map((question, i) => {\n return ;\n })}\n
\n
:\n
\n {/*
*/}\n {questionsMsg()}\n
}\n ;\n});\n","import React, {useState} from 'react';\nimport {Button, Modal} from 'antd';\nimport {useStore} from '@/store/root-store';\nimport {stringToArray} from '@/utils/arrays';\nimport {faArrowRight} from '@fortawesome/pro-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {CustomTextarea} from '@/components/common-components/components/form/input/customTextarea';\nimport {keywordNewLineReg} from '@/constants/regex';\nimport {apiError} from '@/utils/api';\nimport {notification} from '@/utils/notification-v2';\nimport styled from 'styled-components';\nimport {observer} from 'mobx-react';\n\ninterface Props {\n showAddFocusTermModal: boolean;\n setShowAddFocusTermModal: (value: boolean) => void;\n}\n\nconst AddFocusTermModal = observer(({showAddFocusTermModal, setShowAddFocusTermModal}: Props) => {\n const [terms, setTerms] = useState('');\n const {contentOptimizer: {currentPage: {addFocusTerms, isFocusTermsLoading}}} = useStore('');\n\n const onClose = () => {\n setShowAddFocusTermModal(false);\n setTerms('');\n };\n\n const handleTerms = (e: React.ChangeEvent) =>{\n const value = e.target.value;\n setTerms(value.replaceAll(',', '\\n'));\n };\n\n const handleAddFocusTerms = async () => {\n try {\n await addFocusTerms({terms: stringToArray(terms, keywordNewLineReg, ',' )});\n onClose();\n notification.success('', 'Focus terms added successfully');\n } catch (error) {\n const errorMessage = apiError(error) as string;\n notification.error('', errorMessage || 'Something went wrong please try again');\n }\n };\n\n return (\n \n Add focus terms\n Provide your own terms and get usage recommendations to elevate your writing.\n \n
\n \n \n
\n \n );\n});\n\nexport default AddFocusTermModal;\n\nconst StyledModal = styled(Modal)`\n .ant-modal-content{\n border-radius: 12px;\n background: var(--White, #FFF);\n }\n`;\n\nconst Title = styled.div`\n color: var(--Text-black, var(--Black, #121212));\n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 600;\n line-height: normal;\n`;\n\nconst Desc = styled.div`\n width: 370px;\n color: var(--Gray-dark, #4E5156);\n font-family: Inter;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n margin-top: 4px;\n`;\n\nconst TextArea = styled.div`\n margin-top: 22px;\n`;\n\nconst Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 24px;\n\n .cancel-btn {\n color: var(--Gray-dark, #4E5156);\n font-family: Inter;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n background-color: transparent;\n border: none;\n cursor: pointer;\n }\n\n .add-btn {\n display: flex;\n width: 115px;\n height: 44px;\n /* padding: 13px 60px 14px 30px; */\n justify-content: center;\n align-items: center;\n gap: 10px;\n flex-shrink: 0;\n border-radius: 6px;\n background: var(--Green, #2AC155);\n color: white;\n color: var(--White, var(--White, #FFF));\n font-family: Inter;\n font-size: 14px;\n font-style: normal;\n font-weight: 600;\n line-height: normal;\n }\n .ant-btn[disabled] {\n background: #f5f5f5 !important;\n color: rgba(0, 0, 0, 0.25) !important;\n }\n`;\n","import {useEffect, useState} from 'react';\nimport {\n Tabs as CommonTabs,\n TabPane as CommonTabPane,\n} from '@/components/common-components/components';\nimport {\n Spin,\n} from 'antd';\nimport {\n LoadingOutlined,\n} from '@ant-design/icons';\nimport styles from './style.module.scss';\nimport {useTranslation} from 'next-i18next';\n// import {VideoPopOver} from '@/components/common-components/components/popover';\nimport {FocusTermsTab} from './FocusTermsTab/FocusTermsTab';\nimport {observer} from 'mobx-react';\nimport {LinkSuggestionsTab} from './LinkSuggestionsTab/LinkSuggestionsTab';\nimport {useStore} from '@/store/root-store';\nimport styled from 'styled-components';\nimport {QuestionsTab} from './QuestionsTab/QuestionsTab';\nimport {MixPanel} from '@/utils/mixpanel';\nimport {SCA_PAGE_FOCUS_TERMS_TAB_OPEN, SCA_PAGE_QUESTIONS_TAB_OPEN, SCA_PAGE_LINK_SUGGESTIONS_TAB_OPEN} from '@/constants/events';\nimport {SidebarTooltip} from '../../Common/SideBarTooltip/sidebarTooltip';\nimport {isScaPublicPage} from '@/utils/url';\nimport AddFocusTermModal from './DropdownController/AddFocusTermModal';\n\ninterface FocusTermsTabsProps {\n viewSuggestionsOption: boolean;\n linksDropDownFromSuggestion: 'links' | 'terms';\n}\nconst secondAntIcon = ;\n\nexport const FocusTermsTabs = observer(({viewSuggestionsOption, linksDropDownFromSuggestion}: FocusTermsTabsProps) => {\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n const [activeKey, setActiveKey] = useState('1');\n const {t} = useTranslation('landing-page-optimizer');\n useEffect(() => {\n viewSuggestionsOption ? onChangeTab('3') : '';\n }, [viewSuggestionsOption]);\n\n const onChangeTab = key => {\n setActiveKey(key);\n switch (key) {\n case '1':\n MixPanel.track(SCA_PAGE_FOCUS_TERMS_TAB_OPEN, {\n 'pageId': currentPage.content.uuid,\n 'description': 'Focus Terms tab in right sidebar was opened.',\n });\n break;\n case '2':\n MixPanel.track(SCA_PAGE_QUESTIONS_TAB_OPEN, {\n 'pageId': currentPage.content.uuid,\n 'description': 'Questions tab in right sidebar was opened.',\n });\n break;\n case '3':\n MixPanel.track(SCA_PAGE_LINK_SUGGESTIONS_TAB_OPEN, {\n 'pageId': currentPage.content.uuid,\n 'description': 'Link suggestions tab in right sidebar was opened.',\n });\n break;\n }\n };\n\n const isNotPublic = !isScaPublicPage();\n\n return (\n
\n \n onChangeTab(key)}\n >\n \n \n
\n {t('topical-terms')}\n
\n
\n {\n currentPage?.isAnalyzing ?\n () :\n (
\n
{currentPage?.analytics?.totalUsedTerms}
\n
/{currentPage?.analytics?.focusTerms?.length}
\n
)\n }\n
\n
\n \n }\n key='1'\n style={{'outline': 'none'}}>\n \n \n\n \n \n
\n Questions\n
\n
\n {\n currentPage?.isAnalyzing ?\n () :\n (
\n
{currentPage?.analytics?.totalUsedQuestions}
\n
/{currentPage?.analytics?.questions?.length}
\n
)\n }\n
\n
\n \n }\n key='2'\n style={{'outline': 'none'}}>\n {isNotPublic && }\n \n\n \n \n
\n Link Suggestions\n
\n
\n {currentPage?.isFetchingIntLinksSug ?\n () :\n (
\n
{currentPage?.content?.totalUsedSuggestions}
\n
/{currentPage?.content?.internalLinkSuggestionsV2?.allLinks?.length}
\n
)\n }\n
\n
\n \n }\n key='3'\n style={{'outline': 'none'}}>\n \n \n \n
\n );\n});\n\nconst CommonTabsStyled = styled(CommonTabs)`\n .rc-tabs-extra-content {\n background-color: transparent !important;\n border: 1px solid $color-gray-dark-medium;\n border-radius: 5px;\n cursor: pointer;\n font-size: $font-size-12;\n height: 25px;\n margin-bottom: auto;\n margin-left: 5px;\n margin-top: auto;\n padding: 0 5px;\n transition: all 0.2s ease-in;\n }\n\n .focusTermsTabTitleValue {\n color: $color-gray-light;\n display: block;\n font-size: $font-size-12;\n font-weight: 400;\n margin-left: 5px;\n\n .ant-spin-spinning {\n height: 10px;\n }\n\n .customSpinner {\n font-size: 12px !important;\n }\n }\n\n .rc-tabs-content-holder {\n background-color: transparent !important;\n padding-top: 15px;\n }\n\n .rc-tabs-nav {\n border-bottom: 1px solid #4E5156;\n }\n .rc-tabs-nav-list {\n justify-content: space-between;\n }\n .rc-tabs-nav-operations {\n display: none !important;\n }\n\n .rc-tabs-tab {\n margin-left: 20px !important;\n\n &:first-child {\n margin-left: 0px !important;\n }\n }\n\n @media screen and (max-width: 1400px) {\n .rc-tabs-tab {\n margin-left: 0px !important;\n margin-right: 15px !important;\n }\n \n }\n\n .rc-tabs-tab-btn {\n padding: 5px 0 !important;\n }\n\n .rc-tabs-ink-bar {\n background-color: #F1AA3E !important;\n border-radius: 2px;\n }\n`;\n\nconst TabsStyled = styled(CommonTabPane)<{expanded: boolean; editorScrolled: boolean}>`\n \n .ant-collapse {\n overflow-y: ${p => p.expanded ? 'auto' : 'inherit'};\n height: ${p => p.expanded ? `calc(100vh - ${p.editorScrolled ? 292 : 300}px)` : 'auto'};\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n \n &::-webkit-scrollbar-thumb {\n background: rgba(138,138,138,0.32);\n }\n \n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n }\n`;\n\nconst TabTitleContainer = styled.div<{active: boolean}>`\n\n .tabTitle {\n font-weight: 400;\n color: ${p => p.active ? '#fff' : '#A3A4A4'}\n }\n\n\n .tabExtraInfo {\n padding-bottom: 8px;\n\n .tabUsageContainer {\n display: flex;\n\n .usageValue {\n font-size: 18px;\n font-weight: 600;\n color: ${p => p.active ? '#fff' : '#A3A4A4'}\n }\n\n .totalValue {\n span {\n font-size: 12px;\n color: #A3A4A4;\n }\n }\n }\n }\n\n`;\n","/* eslint-disable max-len */\n\nimport {observer} from 'mobx-react';\nimport {Spin} from 'antd';\nimport styled from 'styled-components';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {isNil} from 'lodash';\nimport {SidebarTooltip} from '../../../Common/SideBarTooltip/sidebarTooltip';\nimport {ReactNode} from 'react';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faArrowDown, faArrowUp, faCheck} from '@fortawesome/pro-regular-svg-icons';\nimport styles from './style.module.scss';\n\n\ninterface Props {\n label: string;\n value?: number;\n tooltipLabel?: string | ReactNode;\n showTooltip?: boolean;\n loading?: boolean;\n min?: number;\n max?: number;\n headingData?:{\n h1: number;\n h2: number;\n h3: number;\n h1Min: number;\n h1Max: number;\n h2Min: number;\n h2Max: number;\n h3Min: number;\n h3Max: number;\n };\n linksData?:{\n internalLinks: number;\n externalLinks: number;\n internalLinksMin: number;\n internalLinksMax: number;\n externalLinksMin: number;\n externalLinksMax: number;\n };\n}\n\nexport const SingleMetrics = observer(({label, value, tooltipLabel, showTooltip, loading, min, max, headingData, linksData}:Props) => {\n const secondAntIcon = ;\n return \n {label === 'Headings:' ?\n <>\n {label}\n {!loading ?\n showTooltip ?\n <>\n
\n \n
\n 1) ? faArrowDown : faCheck} color={(headingData.h1 < 1) || (headingData.h1 > 1) ? '#FF8536' : '#1FAC47'}/>{' '} H1: {headingData.h1}\n 0/1\n
\n
\n headingData.h2Max) ? faArrowDown : faCheck } color={(headingData.h2 < headingData.h2Min) || (headingData.h2 > headingData.h2Max) ? '#FF8536' : '#1FAC47'}/>{' '}H2: {headingData.h2}\n \n {`${(!isNil(headingData.h2Min) && !isNil(headingData.h2Max)) ? `/` : ''} ${(!isNil(headingData.h2Min) && !isNil(headingData.h2Max)) ? `${headingData.h2Min}-${headingData.h2Max}` : ''}`}\n \n
\n
\n headingData.h3Max) ? faArrowDown : faCheck } color={(headingData.h3 < headingData.h3Min) || (headingData.h3 > headingData.h3Max) ? '#FF8536' : '#1FAC47'}/>{' '}H3: {headingData.h3}\n \n {`${(!isNil(headingData.h3Min) && !isNil(headingData.h3Max)) ? `/` : ''} ${(!isNil(headingData.h3Min) && !isNil(headingData.h3Max)) ? `${headingData.h3Min}-${headingData.h3Max}` : ''}`}\n \n
\n
\n
\n :\n <>\n
\n
\n 1) ? faArrowDown : faCheck} color={(headingData.h1 < 1) || (headingData.h1 > 1) ? '#FF8536' : '#1FAC47'}/>{' '} H1: {headingData.h1}\n 0/1\n
\n
\n headingData.h2Max) ? faArrowDown : faCheck } color={(headingData.h2 < headingData.h2Min) || (headingData.h2 > headingData.h2Max) ? '#FF8536' : '#1FAC47'}/>{' '}H2: {headingData.h2}\n \n {`${(!isNil(headingData.h2Min) && !isNil(headingData.h2Max)) ? `/` : ''} ${(!isNil(headingData.h2Min) && !isNil(headingData.h2Max)) ? `${headingData.h2Min}-${headingData.h2Max}` : ''}`}\n \n
\n
\n headingData.h3Max) ? faArrowDown : faCheck } color={(headingData.h3 < headingData.h3Min) || (headingData.h3 > headingData.h3Max) ? '#FF8536' : '#1FAC47'}/>{' '}H3: {headingData.h3}\n \n {`${(!isNil(headingData.h3Min) && !isNil(headingData.h3Max)) ? `/` : ''} ${(!isNil(headingData.h3Min) && !isNil(headingData.h3Max)) ? `${headingData.h3Min}-${headingData.h3Max}` : ''}`}\n \n
\n
\n :\n }\n :\n label === 'Links:' ?\n <>\n {label}\n {!loading ?\n showTooltip ?\n <>\n
\n \n
\n linksData.internalLinksMax) ? faArrowDown : faCheck} color={(linksData.internalLinks < linksData.internalLinksMin) || (linksData.internalLinks > linksData.internalLinksMax) ? '#FF8536' : '#1FAC47'}/>{' '} Internal: {linksData.internalLinks}\n \n {`${(!isNil(linksData.internalLinksMin) && !isNil(linksData.internalLinksMax)) ? `/` : '/'} ${(!isNil(linksData.internalLinksMin) && !isNil(linksData.internalLinksMax)) ? `${linksData.internalLinksMin}-${linksData.internalLinksMax}` : ''}`}\n \n
\n
\n linksData.externalLinksMax) ? faArrowDown : faCheck} color={(linksData.externalLinks < linksData.externalLinksMin) || (linksData.externalLinks > linksData.externalLinksMax) ? '#FF8536' : '#1FAC47'}/>{' '}External: {linksData.externalLinks}\n \n {`${(!isNil(linksData.externalLinksMin) && !isNil(linksData.externalLinksMax)) ? `/` : ''} ${(!isNil(linksData.externalLinksMin) && !isNil(linksData.externalLinksMax)) ? `${linksData.externalLinksMin}-${linksData.externalLinksMax}` : ''}`}\n \n
\n \n
\n :\n
\n = min && value <= max}/>\n {value}\n \n {`${(!isNil(min) && !isNil(max)) ? `/` : ''} ${(!isNil(min) && !isNil(max)) ? `${min}-${max}` : ''}`}\n \n
:\n }\n :\n <>\n {label}\n {!loading ?\n showTooltip ?\n
\n \n max) ? faArrowDown : faCheck} color={(value < min) || (value > max) ? '#FF8536' : '#1FAC47'}/>\n {value}\n \n {`${(!isNil(min) && !isNil(max)) ? `/` : ''} ${(!isNil(min) && !isNil(max)) ? `${min}-${max}` : ''}`}\n \n \n
:\n
\n = min && value <= max}/>\n {value}\n \n {`${(!isNil(min) && !isNil(max)) ? `/` : ''} ${(!isNil(min) && !isNil(max)) ? `${min}-${max}` : ''}`}\n \n
:\n }\n \n }\n
;\n});\n\n\nconst Container = styled.div`\n font-size: 12px;\n display: flex;\n align-items: center;\n color: #e8e8e8;\n cursor: default;\n height: 18px;\n`;\nconst Dot = styled.div<{isWithinRecomendedRange?: boolean}>`\n width: 4px;\n height: 4px;\n background-color: ${p => p.isWithinRecomendedRange ? '#1FAC47' : '#F44343'};\n border-radius: 100%;\n display: inline-block;\n margin-bottom: 2px;\n margin-left: 2px;\n margin-right: 3px;\n`;\nconst RangeValues = styled.div`\n color: #A3A4A4 !important;\n font-size: 10px;\n display: inline-flex;\n margin-left: 2px;\n\n @media screen and (max-width: 1400px) {\n font-size: 8px;\n }\n`;\nconst StyledLable = styled.p`\n margin-bottom: 0px;\n width: 72px;\n text-align: end;\n margin-right: 5px;\n color: #E8E8E8;\n`;\nconst StyledIcon = styled(FontAwesomeIcon)`\n width: 12px;\n`;\n","/* eslint-disable no-console */\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport styled from 'styled-components';\nimport ReactEcharts from 'echarts-for-react';\nimport {isNil} from 'lodash';\nimport {SingleMetrics} from '../SingleMetrics';\nimport {SkeletonHorizontalLoaderGray} from '@/components/common-components';\nimport {SidebarTooltip} from '../../../Common/SideBarTooltip/sidebarTooltip';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faArrowDown, faArrowUp, faCheck, faArrowUpRightFromSquare} from '@fortawesome/pro-regular-svg-icons';\nimport {useState, Dispatch, SetStateAction} from 'react';\nimport {Tabs, Tooltip} from 'antd';\nimport {TabPane} from 'rc-tabs';\nimport {toJS} from 'mobx';\n\ninterface ContentScoreProps {\n setViewSuggestionsOption: Dispatch>;\n setLinksDropDownFromSuggestion: Dispatch>;\n}\n\nexport const ContentScore = observer(({setViewSuggestionsOption, setLinksDropDownFromSuggestion}: ContentScoreProps) => {\n const {\n contentOptimizer: {\n currentPage: {\n isWordCountLoading,\n feTargetKeywords,\n currentEditorState,\n isScoreLoading,\n isFetchingIntLinksSug,\n analytics,\n content: {\n score,\n scoreExtended,\n wordCount,\n suggestedWordCountLimits,\n scoreCounts,\n internalLinkSuggestionsV2,\n },\n },\n }} = useStore('');\n\n const [activeKey, setActiveKey] = useState('internal');\n\n const chartOption={\n grid: {\n top: '0px',\n bottom: '0px',\n },\n series: [{\n min: 0,\n max: 100,\n type: 'gauge',\n axisLine: {\n roundCap: false,\n lineStyle: {\n width: 10,\n color: [\n [0.33, '#f44343'],\n [0.66, '#f1aa3e'],\n [1, '#1ea745'],\n ],\n },\n },\n progress: {\n show: false,\n },\n startAngle: 180,\n radius: '90%',\n endAngle: 0,\n pointer: {\n width: 4,\n icon: 'roundRect',\n length: '25%',\n offsetCenter: [0, '-80%'],\n itemStyle: {\n color: '#fff',\n },\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n distance: -13,\n length: 15,\n lineStyle: {\n color: '#24262a',\n width: 6,\n },\n },\n splitNumber: 3,\n axisLabel: {\n show: false,\n color: 'auto',\n distance: 40,\n fontSize: 20,\n },\n detail: {\n show: false,\n },\n data: [{\n value: score ?? 0,\n }],\n }],\n };\n\n const viewSuggestionHandler = (key: 'links' | 'terms') => {\n setViewSuggestionsOption(true);\n setLinksDropDownFromSuggestion(key);\n setTimeout(() => {\n setViewSuggestionsOption(false);\n }, 1000);\n };\n const scoreLeftPosition = (score?: number) => {\n if (!score || score === 0) return '31%';\n if (score < 100 ) return '27%';\n if (score === 100 ) return '21%';\n };\n const avgTopLeftPosition = (avg?: number, top?: number) => {\n if (!avg && !top) return '25%';\n return '17%';\n };\n\n const shouldShowTooltip = (min?: number, max?: number) => {\n if (isNil(min) || isNil(max)) {\n return false;\n }\n\n return true;\n };\n\n const tooltipMsg = (key: string, min?: number, max?: number, cur?: number) => {\n let msg = '';\n if (cur <= min) msg = `Try to use more ${key}. Ideally you should use ${min}-${max} ${key}`;\n if (cur >= max) msg = `Try to use less ${key}. Ideally you should use ${min}-${max} ${key}`;\n if (cur >= min && cur <= max) msg = `Good job. You're in the optimal range.`;\n return msg;\n };\n\n const setHeadingsTooltip = (h1value: number, h1Min: number, h1Max: number, h2value: number, h2Min: number, h2Max: number, h3value: number, h3Min: number, h3Max: number) => {\n return \n

\n H1 headings\n \n = 2) ? 'red' : 'green'}/>\n {' '}{h1value}/{h1Min}-{h1Max}\n \n

\n

\n H2 headings\n \n = 2) ? 'red' : 'green'}/>\n {' '}{h2value}/{h2Min}-{h2Max}\n \n

\n

\n H3 headings\n \n = 2) ? 'red' : 'green'}/>\n {' '}{h3value}/{h3Min}-{h3Max}\n \n

\n
;\n };\n const onChangeTab = key => {\n setActiveKey(key);\n };\n\n const openText = scrollToText => {\n const anchorTag = document.querySelector('a[href=\"' + scrollToText + '\"]') as HTMLElement;\n if (anchorTag) {\n anchorTag?.classList.add('animateAnchor');\n anchorTag?.scrollIntoView({behavior: 'smooth', block: 'start'});\n setTimeout(() => {\n anchorTag?.classList.remove('animateAnchor');\n }, 3000);\n }\n };\n\n\n const setLinksTooltip = (internalLinksData, externalLinksData) => {\n return \n onChangeTab(key)}\n >\n \n Recommended:\n {internalLinksData.internalLinksMin} - {internalLinksData.internalLinksMax}\n 0 ? true : false}\n href='javascript:void(0)'\n onClick={!isFetchingIntLinksSug && internalLinkSuggestionsV2?.allLinks?.length > 0 ? ()=> viewSuggestionHandler('links') : ()=> {}}>\n {!isFetchingIntLinksSug && internalLinkSuggestionsV2?.allLinks?.length > 0 ? 'View suggestions' : 'No suggestions'}\n \n \n \n Current value:\n {internalLinksData.internalLinksLength}\n internalLinksData.internalLinksMax) ?\n faArrowDown : faCheck}\n color={(internalLinksData.internalLinksLength < internalLinksData.internalLinksMin) ?\n 'red' : (internalLinksData.internalLinksLength > internalLinksData.internalLinksMax) ?\n 'red' : 'green'}/>\n \n \n {internalLinksData?.internalLinks?.map((item, index) =>
  • openText(item)}>{item}\n window.open(item, '_blank')} icon={faArrowUpRightFromSquare} />
  • )}\n
    \n
    \n \n Recommended:\n {externalLinksData.externalLinksMin} - {externalLinksData.externalLinksMax}\n 0 ? true : false}\n href='javascript:void(0)'\n onClick={!isFetchingIntLinksSug && analytics?.commonCitations?.length > 0 ? ()=> viewSuggestionHandler('terms') : ()=> {}}>\n {!isFetchingIntLinksSug && analytics?.commonCitations?.length > 0 ? 'View suggestions' : 'No suggestions'}\n \n \n \n Current value:\n {externalLinksData.externalLinksLength}\n externalLinksData.externalLinksMax) ?\n faArrowDown : faCheck}\n color={(externalLinksData.externalLinksLength < externalLinksData.externalLinksMin) ?\n 'red' : (externalLinksData.externalLinksLength > externalLinksData.externalLinksMax) ?\n 'red' : 'green'}/>\n \n \n {externalLinksData?.externalLinks?.map((item, index) =>
  • openText(item)}>{item}\n window.open(item, '_blank')} icon={faArrowUpRightFromSquare} />
  • )}\n
    \n
    \n \n
    ;\n };\n\n const countsSetup = [{\n label: 'Word Count:',\n value: wordCount,\n min: suggestedWordCountLimits?.lower,\n max: suggestedWordCountLimits?.upper,\n tooltipLabel: tooltipMsg('words', suggestedWordCountLimits?.lower, suggestedWordCountLimits?.upper, wordCount),\n showTooltip: shouldShowTooltip(suggestedWordCountLimits?.lower, suggestedWordCountLimits?.upper),\n loading: isWordCountLoading,\n },\n {\n label: 'Paragraphs:',\n value: scoreCounts?.paragraphs,\n min: scoreCounts?.paragraphsMin,\n max: scoreCounts?.paragraphsMax,\n tooltipLabel: tooltipMsg('paragraphs', scoreCounts?.paragraphsMin, scoreCounts?.paragraphsMax, scoreCounts?.paragraphs),\n showTooltip: shouldShowTooltip(scoreCounts?.paragraphsMin, scoreCounts?.paragraphsMax),\n loading: isWordCountLoading,\n },\n {\n label: 'Headings:',\n value: scoreCounts?.headings,\n min: scoreCounts?.headingsMin,\n max: scoreCounts?.headingsMax,\n // tooltipLabel: tooltipMsg('headings', scoreCounts?.headingsMin, scoreCounts?.headingsMax, scoreCounts?.headings),\n tooltipLabel: setHeadingsTooltip(scoreCounts?.h1, scoreCounts?.h1Min, scoreCounts?.h1Max, scoreCounts?.h2, scoreCounts?.h2Min, scoreCounts?.h2Max, scoreCounts?.h3, scoreCounts?.h3Min, scoreCounts?.h3Max),\n showTooltip: false,\n loading: isWordCountLoading,\n headingData: {\n h1: scoreCounts?.h1,\n h2: scoreCounts?.h2,\n h3: scoreCounts?.h3,\n h1Min: scoreCounts?.h1Min,\n h1Max: scoreCounts?.h1Max,\n h2Min: scoreCounts?.h2Min,\n h2Max: scoreCounts?.h2Max,\n h3Min: scoreCounts?.h3Min,\n h3Max: scoreCounts?.h3Max,\n },\n },\n {\n label: 'Links:',\n value: 30,\n min: 2,\n max: 12,\n showTooltip: shouldShowTooltip(scoreCounts?.paragraphsMin, scoreCounts?.paragraphsMax),\n loading: isWordCountLoading,\n tooltipLabel: setLinksTooltip(\n {\n internalLinks: toJS(scoreCounts?.internalLinks),\n internalLinksLength: !scoreCounts?.internalLinks ? '-' : scoreCounts?.internalLinks?.length,\n internalLinksMin: scoreCounts?.internalLinksMin,\n internalLinksMax: scoreCounts?.internalLinksMax,\n },\n {\n externalLinks: toJS(scoreCounts?.externalLinks),\n externalLinksLength: !scoreCounts?.externalLinks ? '-' : scoreCounts?.externalLinks?.length,\n externalLinksMin: scoreCounts?.externalLinksMin,\n externalLinksMax: scoreCounts?.externalLinksMax,\n },\n ),\n linksData: {\n internalLinks: !scoreCounts?.internalLinks ? '-' : scoreCounts?.internalLinks?.length,\n externalLinks: !scoreCounts?.externalLinks ? '-' : scoreCounts?.externalLinks?.length,\n internalLinksMin: scoreCounts?.internalLinksMin,\n internalLinksMax: scoreCounts?.internalLinksMax,\n externalLinksMax: scoreCounts?.externalLinksMax,\n externalLinksMin: scoreCounts?.externalLinksMin,\n },\n },\n // {\n // label: 'Images:',\n // value: scoreCounts?.images,\n // min: scoreCounts?.imagesMin,\n // max: scoreCounts?.imagesMax,\n // tooltipLabel: tooltipMsg('images', scoreCounts?.imagesMin, scoreCounts?.imagesMax, scoreCounts?.images),\n // showTooltip: shouldShowTooltip(scoreCounts?.imagesMin, scoreCounts?.imagesMax),\n // loading: isWordCountLoading,\n // },\n ];\n\n const contentProgressMessage = value => {\n if ((feTargetKeywords?.length == 0 || !currentEditorState?.getCurrentContent().hasText()) && value == 0) {\n return <>\n {!isScoreLoading ?
    \n Add Target Keywords and Start Writing to see how your content ranks\n
    :\n };\n }\n if (value < 26) {\n return <>\n {!isScoreLoading ?
    \n Add Focus Terms and length to improve your ranking potential.\n
    :\n };\n }\n if (value > 25 && value < 51) {\n return <>\n {!isScoreLoading ?
    \n Getting there! But there is still lots of opportunity to improve.\n
    :\n }\n ;\n }\n if (value > 50 && value < 76) {\n return <>\n {!isScoreLoading ?
    \n Good work! Your content has an average chance of ranking.\n
    :\n }\n ;\n }\n if (value > 75 && value <= 100) {\n return <>\n {!isScoreLoading ?
    \n Great work! Your content has the best chance of ranking.\n
    :\n }\n ;\n }\n return '';\n };\n\n\n return \n
    \n
    \n \n\n \n
    {score ?? 0}/100
    \n
    \n
    \n \n {`Avg: ${scoreExtended?.avg ?? '-'}`}\n \n \n {`Top: ${scoreExtended?.top ?? '-'}`}\n \n
    \n\n
    \n \n {countsSetup.map((item, idx) => {\n return ;\n })}\n \n\n
    \n\n\n
    ;\n});\n\nconst Container = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n`;\nconst RightSection = styled.div`\n\n`;\nconst StyleHeadingsTooltipTitle = styled.div``;\nconst StyledLinksTabs = styled(Tabs)`\ncolor: #4E5156;\nfont-size: 12px;\nfont-weight: 400;\n.ant-tabs-nav {\n margin: 0 0 12px 0;\n \n .ant-tabs-nav-wrap {\n .ant-tabs-nav-list{\n .ant-tabs-tab{\n padding: 4px 0px;\n &:hover{\n color: #121212;\n }\n }\n .ant-tabs-tab-active{\n .ant-tabs-tab-btn {\n color: #121212;\n\n }\n }\n .ant-tabs-ink-bar{\n background: #F1AA3E !important;\n height: 5px;\n border-radius: 2px 2px 0px 0px;\n }\n }\n }\n}\n`;\n\nconst TabsStyled = styled(TabPane)``;\nconst StyledLinksDiv = styled.ul`\nmax-height: 200px;\noverflow-y: auto;\nmargin-left: -15px;\n.linkopen{\n margin-left: 5px !important;\n cursor: pointer;\n &:hover{\n color: #2D6CCA !important;\n }\n}\n::-webkit-scrollbar {\n width: 4px;\n}\n::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 10px;\n}\n::-webkit-scrollbar-thumb {\n background: #3E4144;\n border-radius: 10px;\n}\n::-webkit-scrollbar-thumb:hover {\n background: #555;\n}\n`;\n\nconst StyledRecommender = styled.div`\ncolor: #4E5156;\nfont-family: 'Inter', sans-serif;\nfont-size: 12px;\nfont-weight: 400;\n`;\nconst StyledRecomentedValue = styled.span`\ncolor: #121212;\nfont-family: 'Inter', sans-serif;\nfont-size: 12px;\nfont-weight: 600;\n`;\nconst StyledSuggestionLink = styled.a<{showAsLink}>`\ncolor: ${p=> p.showAsLink ? '#2D6CCA' : '#A3A4A4'};\nfont-family: 'Inter', sans-serif;\nfont-size: 12px;\nfont-style: normal;\nfont-weight: 400;\ntext-decoration-line: none;\nmargin-left: 10px;\ncursor: ${p=> p.showAsLink ? 'pointer' : 'default'};\n&:hover{\n color: ${p=> p.showAsLink ? '#5487d4' : '#A3A4A4'};\n text-decoration-line: ${p=> p.showAsLink ? 'underline' : 'none'};\n}\n`;\nconst StyledCurrentValue= styled.p`\ncolor: #4E5156;\nfont-family: 'Inter', sans-serif;\nfont-size: 12px;\nfont-weight: 400;\nmargin-bottom: 2px;\nspan{\n color:#121212;\n font-family: 'Inter', sans-serif;\n font-size: 12px;\n font-weight: 600;\n margin-left: 4px;\n}\n`;\nconst StyledLinkItem = styled.span`\ncolor: #000;\nfont-family: 'Inter', sans-serif;\nfont-size: 12px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 18px;\nmargin-bottom: 2px;\ncursor: pointer !important;\n&:hover{\n text-decoration: underline;\n}\n`;\nconst StyledFontAwesomeIcon = styled(FontAwesomeIcon)`\nmargin-left: 6px;\nheight: 10px;\npadding-bottom:1px;\n`;\n\n// const StyledAnchor = styled.a`\n// text-decoration: none;\n// transition: text-decoration 0.2s;\n\n// &:hover {\n// text-decoration: underline;\n// }\n// `;\n","\nimport {observer} from 'mobx-react';\nimport {Spin} from 'antd';\nimport {useStore} from '@/store/root-store';\nimport styled from 'styled-components';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {SidebarTooltip} from '../../../Common/SideBarTooltip/sidebarTooltip';\n\nexport const WordCount = observer(() => {\n const secondAntIcon = ;\n\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n const tooltipMsg = (key: string, min?: number, max?: number, cur?: number) => {\n let msg = '';\n if (cur <= min) msg = `Try to use more ${key}. Ideally you should use ${min}-${max} ${key}`;\n if (cur >= max) msg = `Try to use less ${key}. Ideally you should use ${min}-${max} ${key}`;\n if (cur >= min && cur <= max) msg = `Good job. You're in the optimal range.`;\n return msg;\n };\n\n return \n Word count:\n {!currentPage?.isWordCountLoading ? <>\n \n = currentPage?.content?.suggestedWordCountLimits?.lower && currentPage?.content?.wordCount <= currentPage?.content?.suggestedWordCountLimits?.upper}/> \n {currentPage?.content?.wordCount} :\n }\n ;\n});\n\n\nconst Container = styled.div`\n font-size: 12px;\n display: flex;\n align-items: center;\n color: #e8e8e8;\n height: 18px;\n cursor: default;\n`;\nconst Dot = styled.div<{isWithinRecomendedRange?: boolean}>`\n width: 4px;\n height: 4px;\n background-color: ${p => p.isWithinRecomendedRange ? '#1aceb3' : '#ff8436'};\n border-radius: 100%;\n display: inline-block;\n margin-bottom: 2px;\n margin-left: 5px;\n margin-right: 5px;\n`;\n","import {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport styled from 'styled-components';\nimport {ContentScore} from './ContentScore';\nimport {useTranslation} from 'next-i18next';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCircleInfo} from '@fortawesome/pro-regular-svg-icons';\nimport {Progress} from 'antd';\nimport {getProgressColor} from '@/utils/colors';\nimport {WordCount} from './WordCount/WordCount';\nimport {SidebarTooltip} from '../../Common/SideBarTooltip/sidebarTooltip';\nimport {Dispatch, SetStateAction} from 'react';\ninterface HeaderSectionProps {\n setViewSuggestionsOption: Dispatch>;\n setLinksDropDownFromSuggestion: Dispatch>;\n}\n\nexport const HeaderSection = observer(({setViewSuggestionsOption, setLinksDropDownFromSuggestion}: HeaderSectionProps) => {\n const {t} = useTranslation('common');\n const {\n contentOptimizer: {\n currentPage: {\n isScoreLoading,\n focusTermsExpanded,\n isTaActive,\n isLinkActive,\n content: {\n score,\n },\n },\n }} = useStore('');\n\n\n return <>\n { (!focusTermsExpanded && (!isTaActive && !isLinkActive)) ? \n
    \n \n {t('content-score')}\n \n \n \n \n\n
    \n \n\n
    : \n \n {!isScoreLoading ? (score ?? '-') : '-'}} />\n \n \n {t('content-score')}\n \n \n \n \n \n \n \n }\n ;\n});\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n align-items: center;\n margin-bottom: 30px;\n margin-top: 10px;\n`;\n\nconst TitleContainer = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 10px;\n`;\nconst MiniTitleContainer = styled.div`\n display: flex;\n align-items: center;\n`;\nconst Title = styled.div`\n font-weight: 500;\n line-height: 17px;\n color: #fff;\n`;\nconst ProgressStyled = styled(Progress)`\n .ant-progress-text {\n top: 40%;\n }\n`;\n\nconst MiniContainer = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n height: 50px;\n`;\n\nconst ScoreAndWordCount = styled.div`\n display: flex;\n`;\nconst RightSection = styled.div`\n margin-left: 10px;\n`;\n\n","import {useStore} from '@/store/root-store';\nimport {opaqueColor} from '@/utils/colors';\nimport {faCircleInfo} from '@fortawesome/pro-duotone-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Popover} from 'antd';\nimport {observer} from 'mobx-react';\nimport {useEffect, useState} from 'react';\nimport styled from 'styled-components';\n\nexport const MissingPlacementsBanner = observer(() => {\n const [show, setShow] = useState(true);\n const [termsWithNoSuggestions, setTermsWithNoSuggestions] = useState([]);\n\n const {\n contentOptimizer: {\n currentPage: {\n termsForInsertion,\n termsAssistantSuggestions,\n },\n }} = useStore('');\n\n useEffect(() => {\n const prepArr = [];\n for (let i = 0; i < termsForInsertion?.length; i++) {\n if (!termsAssistantSuggestions?.find(item => item.termIncluded?.includes(termsForInsertion[i].name))) {\n prepArr.push(termsForInsertion[i].name);\n }\n }\n\n setTermsWithNoSuggestions(prepArr);\n }, [...(termsForInsertion ?? []), ...(termsAssistantSuggestions ?? [])]);\n\n const noPlacementsTermsCount = () => {\n const content = (\n
    \n {termsWithNoSuggestions?.map((term, idx) => {\n return
    {`‧ ${term}`}
    ;\n })}\n
    \n );\n\n\n return \n \n {termsWithNoSuggestions?.length > 1 ? `${termsWithNoSuggestions?.length} terms` : '1 term'}\n \n ;\n };\n\n return (show && termsWithNoSuggestions?.length > 1) ?\n \n \n
    \n We could not find a placement for\n {noPlacementsTermsCount()}\n
    \n
    setShow(false)}>Dismiss
    \n
    :\n <>;\n});\n\nconst Wrapper = styled.div`\n width: 100%;\n background-color: ${opaqueColor('#F1AA3E', 15)};\n padding: 9px 12px;\n display: flex;\n cursor: default;\n font-size: 12px;\n display: flex;\n align-items: center;\n border-radius: 8px;\n margin-bottom: 10px;\n display: flex;\n flex-wrap: wrap;\n`;\n","import {useStore} from '@/store/root-store';\nimport {opaqueColor} from '@/utils/colors';\nimport {observer} from 'mobx-react';\nimport {useEffect, useState} from 'react';\nimport styled from 'styled-components';\n\ninterface SingleTermProps {\n term: any;\n}\n\nexport const SingleTerm = observer(({term}: SingleTermProps) => {\n const {\n contentOptimizer: {\n currentPage: {\n stagingTaSuggestions,\n setTaActiveTerm,\n taActiveTerm,\n highlightedNodeId,\n },\n }} = useStore('');\n\n const [dots, setDots] = useState({\n total: 0,\n saved: 0,\n dismissed: 0,\n });\n\n useEffect(() => {\n const savedPlacements = stagingTaSuggestions?.filter(suggestion => suggestion.termIncluded?.includes(term.name) && suggestion.status == 'accepted');\n const dismissedPlacements = stagingTaSuggestions?.filter(suggestion => suggestion.termIncluded?.includes(term.name) && suggestion.status == 'dismissed');\n\n setDots(() => {\n return {\n total: term.placements,\n saved: savedPlacements?.length ?? 0,\n dismissed: dismissedPlacements?.length ?? 0,\n };\n });\n }, [...stagingTaSuggestions]);\n\n\n const generatePlacmenetsInfo = dots => {\n if (dots.saved == 0 && dots.dismissed == 0) return `${dots.total} available placements`;\n\n let response = '';\n if ((dots.total - dots.dismissed - dots.saved) > 0) response = ` ‧ ${dots.total} available`;\n if (dots.dismissed) response = `${dots.dismissed} dismissed ${response}`;\n if (dots.saved) response = `${dots.saved} accepted ${dots.dismissed > 0 ? ` ‧ ` : ``} ${response}`;\n return response;\n };\n\n const onTermClickHandler = curTerm => {\n if (!taActiveTerm?.term || taActiveTerm.term !== curTerm.name) {\n setTaActiveTerm({\n class: curTerm.name.replaceAll(' ', '-'),\n term: curTerm.name,\n order: 0,\n });\n } else {\n const totalOccurances = document.getElementsByClassName(taActiveTerm.class)?.length;\n\n const updatedValues = {\n class: taActiveTerm.class,\n term: taActiveTerm.term,\n order: taActiveTerm.order < totalOccurances - 1 ? taActiveTerm.order + 1 : 0,\n };\n\n setTaActiveTerm(updatedValues);\n }\n };\n\n return onTermClickHandler(term)} className={taActiveTerm?.term == term.name ? 'isActive' : ''}>\n
    \n

    {term.name}

    \n \n \n {generatePlacmenetsInfo(dots)}\n \n \n
    \n \n {stagingTaSuggestions?.filter(suggestion => suggestion.termIncluded?.includes(term.name))?.sort(item => item.status == 'accepted' ? -1 : item.status == 'default' ? 0 : 1)?.map((suggestion, idx) => {\n if (suggestion.status == 'default') return ;\n if (suggestion.status == 'dismissed') return ;\n if (suggestion.status == 'accepted') return ;\n })}\n \n
    ;\n});\n\nconst Container = styled.div`\n width: 100%;\n padding: 8px 16px;\n margin-top: 4px;\n margin-bottom: 4px;\n background-color: ${opaqueColor('#4E5156', 30)};\n border-radius: 10px;\n cursor: pointer;\n transition: background .3s ease-in;\n display: flex;\n\n .termName { \n margin: 0px;\n }\n\n &.isActive {\n background: linear-gradient(90.16deg, ${opaqueColor('#E15E83', 20)} 2.81%, ${opaqueColor('#F58069', 20)} 96.58%);\n\n .termName {\n background: linear-gradient(90.16deg, #E15E83 2.81%, #F58069 96.58%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n }\n \n &:hover {\n background: linear-gradient(90.16deg, ${opaqueColor('#E15E83', 20)} 2.81%, ${opaqueColor('#F58069', 20)} 96.58%);\n\n .termName {\n background: linear-gradient(90.16deg, #E15E83 2.81%, #F58069 96.58%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n }\n }\n`;\n\nconst Data = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nconst PlacementsInfo = styled.div`\n font-size: 12px;\n color: #A3A4A4 !important;\n`;\n\nconst DotsContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n width: 28%;\n margin-left: 2%;\n margin-top: auto;\n // flex-direction: row-reverse;\n`;\n\nconst Dot = styled.div<{color: string; isActive: boolean}>`\n width: 7px;\n height: 7px;\n margin-right: 5px;\n margin-bottom: 5px;\n border-radius: 100%;\n background-color: ${p => p.color};\n position: relative;\n\n &::after {\n content: '';\n display: ${p => p.isActive ? 'block' : 'none'};\n width: 11px;\n height: 11px;\n border-radius: 100%;\n position: absolute;\n top: -2px;\n left: -2px;\n background-color: transparent;\n border: 1px solid red;\n }\n`;\n\n\n","import {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport {useEffect, useState} from 'react';\nimport {SingleTerm} from './SingleTerm';\n\nexport const TermsList = observer(() => {\n const {\n contentOptimizer: {\n currentPage: {\n termsForInsertion,\n termsAssistantSuggestions,\n },\n }} = useStore('');\n\n const [finalTermsList, setFinalTermsList] = useState([]);\n\n useEffect(() => {\n setFinalTermsList([]);\n if (termsAssistantSuggestions?.length) {\n for (let i = 0; i < termsForInsertion.length; i++) {\n const termOccurances = termsAssistantSuggestions.filter(suggestion => suggestion.termIncluded?.includes(termsForInsertion[i].name));\n if (termOccurances?.length) {\n setFinalTermsList(cur => [...cur, {...termsForInsertion[i], placements: termOccurances?.length}]);\n }\n }\n }\n }, [...(termsAssistantSuggestions ?? []), ...(termsForInsertion ?? 0)]);\n\n return
    \n {finalTermsList?.map((term, idx) => {\n return ;\n })}\n
    ;\n});\n","import {CommonInput} from '@/components/common-components';\nimport {Button, Checkbox, GrayButton} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {faCaretDown, faMagnifyingGlass} from '@fortawesome/pro-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Popover, Spin, Tooltip} from 'antd';\nimport {toJS} from 'mobx';\nimport {observer} from 'mobx-react';\nimport {useEffect, useState} from 'react';\nimport styled from 'styled-components';\n\nexport const TermsSelectionDropdown = observer(() => {\n const [selectedTerms, setSelectedTerms] = useState([]);\n const [popoverVisible, setPopoverVisible] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const [showLimitError, setShowLimitEror] = useState(false);\n\n\n const {\n contentOptimizer: {\n currentPage: {\n setIsTaActive,\n setFocusTermsForInsertion,\n fetchTaSuggestions,\n termsForInsertion,\n analytics,\n taSuggestionsLoading,\n },\n }, settings: {\n customer: {getCustomerQuota},\n }} = useStore('');\n const {settings: {customer: {profile: {quotaUtilization}}}} = useStore('');\n\n const antIcon = ;\n\n useEffect(() => {\n setSelectedTerms([...termsForInsertion ?? []]);\n }, [termsForInsertion]);\n\n const handleCheckboxClick = (e: any, term: any) => {\n let updatedList = selectedTerms;\n\n\n if (e?.target?.checked) {\n if (updatedList?.length > 49) {\n setShowLimitEror(true);\n } else {\n setShowLimitEror(false);\n updatedList = [\n ...updatedList,\n term,\n ];\n }\n } else {\n updatedList = updatedList?.filter(item => item.name !== term.name);\n if (updatedList?.length < 51) {\n setShowLimitEror(false);\n }\n }\n\n\n setSelectedTerms(updatedList);\n };\n const onTermsSearchHandler = (query: string) => {\n setSearchQuery(query ?? '');\n };\n\n const onSubmitHandler = async () => {\n setFocusTermsForInsertion([...selectedTerms].map(term => toJS(term)));\n\n try {\n await fetchTaSuggestions(selectedTerms.map(term => term.name));\n getCustomerQuota();\n setIsTaActive(true);\n } catch (e) {\n return Promise.reject(e);\n } finally {\n setPopoverVisible(false);\n }\n };\n\n const onBulkSelectTop20Handler = () => {\n const addCompleteTerms = (completeTermsLength: number) => {\n const includedTerms = toJS(analytics?.includedTerms);\n\n prepcCompleteTerms = includedTerms?.sort((a, b) => a.normalizedScore > b.normalizedScore).slice(0, completeTermsLength);\n };\n\n const includeMoreTerms = toJS(analytics?.includeMoreTerms);\n\n if (!includeMoreTerms?.length) {\n if (!analytics?.includedTerms?.length) {\n return false;\n }\n addCompleteTerms(20);\n }\n\n\n let prepIncludeMoreTerms = [];\n let prepcCompleteTerms = [];\n\n prepIncludeMoreTerms = includeMoreTerms?.sort((a, b) => a.normalizedScore > b.normalizedScore).slice(0, 20);\n\n if (includeMoreTerms.length < 20) {\n addCompleteTerms(20 - includeMoreTerms.length);\n }\n\n const finalPrepArr = [...prepIncludeMoreTerms, ...prepcCompleteTerms];\n\n setSelectedTerms(finalPrepArr);\n };\n\n const onUncheckAllClickHandler = () => {\n setSelectedTerms([]);\n };\n\n const onTriggerClickHandler = () => {\n setPopoverVisible(!popoverVisible);\n setSelectedTerms([...termsForInsertion ?? []]);\n };\n\n const popoverContent = (\n \n \n \n \n onTermsSearchHandler(e.target.value)}/>\n \n \n \n {`AI Quota: ${quotaUtilization?.ca?.allowedAiContentGeneration?.consumed}/${quotaUtilization?.ca?.allowedAiContentGeneration?.total}`}\n \n \n \n\n \n onBulkSelectTop20Handler()}>Select top 20 terms\n onUncheckAllClickHandler()}>Uncheck all\n \n {showLimitError ?\n
    Please select less than 50 topical terms.
    :\n null}\n \n {[\n ...(analytics?.includeMoreTerms ?? []),\n ...(analytics?.includedTerms ?? []),\n ...(analytics?.includeLessTerms ?? []),\n ].filter(term => term.name.includes(searchQuery))?.map((term, idx) => {\n return \n item.name).includes(term.name)}\n onChange={e => handleCheckboxClick(e, term)}\n disabled={term.status == 'include-less'}>\n {term.name}\n \n \n
    \n Current usage:\n {term.usedCount}\n
    \n
    \n Recommended usage:\n {term.requiredCountMin}\n
    \n
    \n Maximum usage:\n {term.requiredCountMax}\n
    \n }>\n {`${term.usedCount}/${term.requiredCountMin}`}\n \n
    ;\n })}\n
    \n \n setPopoverVisible(false)}>Cancel\n \n \n
    \n );\n\n\n return \n onTriggerClickHandler()}>\n {`Select terms ${selectedTerms?.length}`}\n \n \n ;\n});\nconst Trigger = styled.div`\n color: #34aef3 !important;\n font-size: 12px;\n cursor: pointer;\n`;\nconst Wrapper = styled.div`\n\n`;\nconst HeadingSection = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\nconst SearchBox = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 10px;\n`;\nconst QuotaInfo = styled.div`\n color: #4E5156;\n margin-bottom: 12px;\n`;\nconst CommonInputStyled = styled(CommonInput)`\n border: 0px solid transparent;\n height: 30px;\n\n &:active {\n border: 0px solid transparent;\n box-shadow: 0px 0px 0px 0px transparent;\n }\n &:hover {\n border: 0px solid transparent;\n box-shadow: 0px 0px 0px 0px transparent;\n }\n\n &::placeholder {\n color: #A3A4A4;\n font-weight: 400;\n font-size: 15px;\n }\n`;\nconst ControllsBar = styled.div`\n display: flex;\n justify-content: space-between;\n color: #2D6CCA;\n font-size: 12px;\n background: #F9F9FB;\n box-shadow: 0px 1px 0px #E8E8E8, 0px -1px 0px #E8E8E8;\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px\n`;\nconst BulkControllBtn = styled.div`\n cursor: pointer;\n`;\n\nconst TermsList = styled.div`\n max-height: 300px;\n overflow-y: scroll;\n margin-right: -15px;\n padding-right: 15px;\n margin-top: 10px;\n\n\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.12) ;\n scrollbar-track-color: rgba(138,138,138,0.32);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: rgba(138,138,138,0.4);\n }\n\n &::-webkit-scrollbar-track {\n background: #E8E8E8;\n }\n`;\nconst SingleTermRow = styled.div<{opaque: boolean}>`\n display: flex;\n\n opacity: ${p => p.opaque ? '.4' : 1};\n`;\n\nconst CheckboxStyled = styled(Checkbox)`\n display: flex;\n width: 100%;\n\n .ant-checkbox-wrapper {\n width: 100%;\n }\n\n .ant-checkbox-inner {\n border-radius: 4px !important;\n }\n .ant-checkbox-checked .ant-checkbox-inner {\n background-color: #2D6CCA !important;\n border-color: #2D6CCA !important;\n border-radius: 4px !important;\n }\n`;\n\nconst TermName = styled.div`\n cursor: default;\n margin-left: 10px;\n color: #4E5156;\n`;\nconst TermUsage = styled.div`\n cursor: default;\n margin-left: auto;\n color: #4E5156;\n`;\nconst BtnsContainer = styled.div`\n display: flex;\n justify-content: flex-end;\n padding-top: 10px;\n`;\n","import {Button, GrayButton} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {Divider, Spin} from 'antd';\nimport {observer} from 'mobx-react-lite';\nimport styled from 'styled-components';\nimport {MissingPlacementsBanner} from './MissingPlacementsBanner';\nimport {TermsList} from './TermsList';\nimport {TermsSelectionDropdown} from './TermsSelectionDropdown';\nimport {convertHtmlToEditorState} from '@/utils/htmlToDraft';\n// import {NextImg} from '@/utils/nextImg';\n\n\nexport const TermsAssistantRightSidebar = observer(() => {\n const {\n contentOptimizer: {\n currentPage: {\n setIsTaActive,\n setFocusTermsForInsertion,\n editContent,\n stagingTaSuggestions,\n setIsTaUpdating,\n updatingTa,\n clearAllTaData,\n setCurrentEditorState,\n },\n }} = useStore('');\n\n const antIcon = ;\n\n const onCancelClickHandler = () => {\n setIsTaActive(false);\n clearAllTaData();\n setFocusTermsForInsertion([]);\n };\n\n const onSubmitHandler = async () => {\n setIsTaUpdating(true);\n let finalHtmlOutput = '';\n\n for (let i = 0; i < stagingTaSuggestions?.length; i++) {\n if (!stagingTaSuggestions[i].isSuggestion) {\n finalHtmlOutput = finalHtmlOutput.concat(stagingTaSuggestions[i].html.replace('

    ', '

    '));\n }\n\n if (stagingTaSuggestions[i].isSuggestion) {\n if (stagingTaSuggestions[i].status == 'accepted') {\n finalHtmlOutput = finalHtmlOutput.concat(stagingTaSuggestions[i].suggestion);\n } else {\n finalHtmlOutput = finalHtmlOutput.concat(stagingTaSuggestions[i].html.replace('

    ', '

    '));\n }\n }\n }\n\n if (finalHtmlOutput.startsWith('\n \n \n \n Terms Assistant\n \n \n \n Go through the suggestions for inserting terms to see how they look like in your article. Accept or dismiss individual ones.\n
    \n
    \n * Save changes to update your article.\n
    \n \n \n
    \n \n item.status !== 'default')}\n color='green'\n style={{marginBottom: 10, width: '-webkit-fill-available', justifyContent: 'center', display: 'flex'}}\n onClick={() => onSubmitHandler()}>\n {updatingTa ? 'Updating Article...' : 'Save & Update Article'}\n {updatingTa ? : null}\n \n onCancelClickHandler()}>\n Cancel\n \n\n \n ;\n});\n\nconst TaWrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: calc(100% - 50px);\n padding-bottom: 20px;\n`;\nconst TermsMainWrapper = styled.div`\n flex: 1;\n overflow-y: auto;\n padding-right: 5px;\n\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: #E8E8E8;\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n`;\nconst ActionButtonsContainer = styled.div`\n background-color: #24262a;\n width: 100%;\n`;\nconst TitleContainer = styled.div`\n display: flex;\n justify-content: space-between;\n`;\nconst Title = styled.div`\n font-weight: 500;\n font-size: 16px;\n color: #fff;\n`;\nconst Description = styled.div`\n font-size: 12px;\n color: #e8e8e8;\n line-height: 15px;\n margin-bottom: 20px;\n`;\n","import {SingleCompetitorType} from '@/store/content-optimizer/CurrentPageModel';\nimport {getProgressColor} from '@/utils/colors';\nimport {numberWithCommas} from '@/utils/number';\nimport {Progress, Tooltip} from 'antd';\nimport {observer} from 'mobx-react';\nimport styles from '../style.module.scss';\nimport {NextImg} from '@/utils/nextImg';\n\ninterface Props {\n competitor: SingleCompetitorType;\n loading: boolean;\n}\n\nexport const SingleCompetitor = observer(({competitor, loading}: Props) => {\n // const addDefaultSrc = e => {\n // e.target.src = '/img/world-wide-web.svg';\n // };\n\n return
    \n
    {competitor.url && addDefaultSrc(e)}\n height={20}\n width={20}\n src={`https://www.google.com/s2/favicons?sz=16&domain_url=${competitor.url}`} />}
    \n
    \n {competitor?.url}}>\n {competitor?.title}\n \n\n
    \n\n \n {`#${competitor?.position}`}\n \n\n {`-`}\n\n \n \n {competitor?.contentScore}\n }\n className={styles.progress}\n />\n \n \n\n {`-`}\n\n \n \n {`${numberWithCommas(competitor?.wordCount) || 0} words`}\n \n \n
    \n {/* {competitor?.url && urlValidationRegex.test(competitor?.url) ?\n {competitor?.url} : null} */}\n\n {/*
    {competitor?.metaDesc && competitor?.metaDesc.length > 90 ? competitor?.metaDesc.substring(0, 90) + '...' : competitor?.metaDesc}
    */}\n
    \n
    ;\n});\n","import {useEffect} from 'react';\nimport {SingleCompetitor} from './SingleCompetitor/SingleCompetitor';\nimport styles from './style.module.scss';\nimport css from '../../index.module.scss';\nimport {Typography, Spin, Select, Tooltip} from 'antd';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport {observer} from 'mobx-react';\nimport {useStore} from '@/store/root-store';\n// import {NextImg} from '@/utils/nextImg';\n\nexport const TopRankingCompetitors = observer(() => {\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n const {Option} = Select;\n const {Title} = Typography;\n const antIcon = ;\n\n\n // used for default setup + adding keywords\n useEffect(() => {\n if (currentPage?.topRankingCompetitorActiveKw && currentPage?.analytics?.competitorsData?.length && currentPage?.analytics?.competitorsData.find(item => item.keyword == currentPage?.topRankingCompetitorActiveKw)) {\n currentPage?.setTopRankingCompetitorsActiveKw(currentPage?.topRankingCompetitorActiveKw);\n } else if (currentPage?.analytics?.competitorsData && currentPage?.analytics?.competitorsData[0]) {\n currentPage?.setTopRankingCompetitorsActiveKw(currentPage?.analytics?.competitorsData[0]?.keyword);\n } else {\n currentPage?.setTopRankingCompetitorsActiveKw('');\n }\n }, [[...(currentPage?.analytics?.competitorsData ?? '')], currentPage?.analytics?.competitorsData?.length]);\n\n\n const handleOnSortChange = value => {\n currentPage?.setTopRankingCompetitorsActiveKw(value);\n };\n\n\n return
    \n
    \n \n Top Ranking Competitors {currentPage?.isAnalyzing && <Spin indicator={antIcon} style={{marginRight: '20px'}}/>}\n \n
    currentPage.openCompetingFocusTermsDrawer()}>\n Analyse Content\n
    \n
    \n\n {currentPage?.analytics?.competitorsData?.length ?
    \n \n handleOnSortChange(value)}\n dropdownStyle={{minWidth: '150px', fontSize: '12px'}}\n dropdownClassName={styles.keywordDropdownList}\n className={styles.selectInput}\n suffixIcon={}\n >\n {currentPage?.analytics?.competitorsData?.map(item => {\n return ;\n })}\n\n \n \n
    \n {currentPage?.analytics?.competitorsData?.filter(item => item.keyword === currentPage?.topRankingCompetitorActiveKw)[0]?.competitors?.map(competitor => {\n return competitor?.title && ;\n })}\n
    \n
    :\n !currentPage?.content?.targetKeywords?.length ?
    \n {/*
    */}\n {currentPage?.isAnalyzing ? 'Loading Top Ranking Competitors...': 'Please add Target Keywords to view the Top Ranking Competitors.'}\n
    :
    \n {/*
    */}\n {currentPage?.isAnalyzing ? 'Loading Top Ranking Competitors...': 'No Competitors found for these Target Keywords.'}\n
    }\n
    ;\n});\n","import {useStore} from '@/store/root-store';\nimport {faChartSimple, faListTree, faMagicWandSparkles, faWrench} from '@fortawesome/pro-duotone-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {toJS} from 'mobx';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {notification} from '@/utils/notification-v2';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {Spin, Tooltip} from 'antd';\nimport {useState} from 'react';\nimport {isScaPublicPage} from '@/utils/url';\n\ninterface Props {\n changeView: () => void;\n}\n\nexport const DrawersTriggers = observer(({changeView}: Props) => {\n const {settings: {customer: {getCustomerQuota}}} = useStore('');\n const {contentOptimizer: {currentPage}} = useStore('');\n\n const [anyButtonClicked, setAnyButtonClicked] = useState(false);\n const [loadingTaSuggestions, setLoadingTaSuggestions] = useState(false);\n\n const antIcon = ;\n\n const handleTriggerAssistant = async () => {\n // if we are already loading suggetions, return false\n if (currentPage?.taSuggestionsLoading) return false;\n if (!currentPage?.currentEditorState?.getCurrentContent()?.hasText()) return false;\n\n const addCompleteTerms = (completeTermsLength: number) => {\n const includedTerms = toJS(currentPage?.analytics?.includedTerms);\n\n prepcCompleteTerms = includedTerms?.sort((a, b) => a.normalizedScore > b.normalizedScore).slice(0, completeTermsLength);\n };\n\n const sendNoTermsError = () => {\n notification.error('Please add more target keywords to generate new topical terms.', '');\n };\n const includeMoreTerms = toJS(currentPage?.analytics?.includeMoreTerms);\n\n if (!includeMoreTerms?.length) {\n if (!currentPage?.analytics?.includedTerms?.length) {\n sendNoTermsError();\n return false;\n }\n addCompleteTerms(20);\n }\n\n\n let prepIncludeMoreTerms = [];\n let prepcCompleteTerms = [];\n\n prepIncludeMoreTerms = includeMoreTerms?.sort((a, b) => a.normalizedScore > b.normalizedScore).slice(0, 20);\n\n if (includeMoreTerms.length < 20) {\n addCompleteTerms(20 - includeMoreTerms.length);\n }\n\n const finalPrepArr = [...prepIncludeMoreTerms, ...prepcCompleteTerms];\n currentPage?.setFocusTermsForInsertion([...finalPrepArr].map(term => toJS(term)));\n\n try {\n setAnyButtonClicked(true);\n await currentPage.fetchTaSuggestions(finalPrepArr.map(term => term.name));\n currentPage.setIsTaActive(true);\n getCustomerQuota();\n } catch (e) {\n return Promise.reject(e);\n } finally {\n setAnyButtonClicked(false);\n }\n };\n\n const buttonsConf = [\n {\n label: 'Headings Outline',\n icon: faListTree,\n hoverColor: '#2D6CCA',\n callback: currentPage?.openCompetitorsHeadingsDrawer,\n },\n {\n label: 'Terms Assistant',\n icon: faMagicWandSparkles,\n hoverColor: '#F58069',\n callback: async () => {\n setLoadingTaSuggestions(true);\n try {\n await handleTriggerAssistant();\n } finally {\n setLoadingTaSuggestions(false);\n }\n },\n loading: currentPage?.taSuggestionsLoading,\n tooltipContent:
    \n
    Launching Terms Assistant.
    \n
    Do not modify your article before this tool is fully loaded
    \n
    ,\n },\n {\n label: 'Technical Audit',\n icon: faWrench,\n hoverColor: '#34AEF3',\n callback: changeView,\n disabled: !currentPage?.content?.importedFromUrl,\n },\n {\n label: 'Competitor Content',\n icon: faChartSimple,\n hoverColor: '#F1AA3E',\n callback: currentPage.openCompetingFocusTermsDrawer,\n loading: currentPage?.isAnalyzing,\n },\n ];\n\n\n const updatedButtonConf =() => {\n if (isScaPublicPage()) {\n return buttonsConf.filter(i => i.label !== 'Terms Assistant');\n } else {\n return buttonsConf;\n }\n };\n\n return \n {\n updatedButtonConf().map((item, idx) => {\n return \n {\n if (anyButtonClicked || item.disabled) return;\n item.callback();\n }} disabled={item.disabled}>\n {item.loading ? : }\n {item.label}\n \n ;\n })\n }\n ;\n});\n\nconst Wrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n`;\nconst SingleItem = styled.div<{hoverColor: string; anyButtonClicked?: boolean; disabled?: boolean}>`\n width: calc(50% - 5px);\n margin-bottom: 10px;\n transition: background-color .3s ease;\n background-color: #323539;\n cursor: ${p => p.anyButtonClicked || p.disabled ? 'not-allowed' : 'pointer'};\n display: flex;\n justify-content: center;\n align-items: center;\n color: #fff;\n padding: 5px;\n border-radius: 6px;\n font-size: 13px;\n opacity: ${p => p.disabled ? .4 : 1};\n\n &:hover {\n background-color: ${p => !p.anyButtonClicked && p.hoverColor};\n }\n`;\n","import {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport styled from 'styled-components';\nimport {FocusTermsTabs} from './FocusTermsAndQuestions/FocusTermsTabs';\nimport {HeaderSection} from './HeaderSection';\nimport {TermsAssistantRightSidebar} from './TermsAssistant/RightSidebar';\nimport {TopRankingCompetitors} from './TopRankingCompetitors/TopRankingCompetitors';\nimport {DrawersTriggers} from './DrawersTriggers';\nimport {useState} from 'react';\n\ninterface Props {\n changeView: () => void;\n}\n\nexport const Analytics = observer(({changeView}: Props) => {\n const {contentOptimizer: {currentPage}} = useStore('');\n const [viewSuggestionsOption, setViewSuggestionsOption] = useState(false);\n const [linksDropDownFromSuggestion, setLinksDropDownFromSuggestion] = useState<'links' | 'terms'>('links');\n\n return \n {!currentPage?.isLinkActive && }\n {currentPage?.isTaActive ? : currentPage?.isLinkActive ? '' : \n \n \n {!currentPage.focusTermsExpanded ? : null}\n }\n ;\n});\n\nconst Wrapper = styled.div`\n height: 100%;\n display: flex;\n flex-direction: column;\n`;\nconst ContentContainer = styled.div`\n overflow-y: auto;\n height: 100%;\n padding-right: 5px;\n\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: #E8E8E8;\n }\n\n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n`;\n\n\n","import React from 'react';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Select} from 'antd';\nimport {toJS} from 'mobx';\nimport styles from '../style.module.scss';\nimport {faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport styled from 'styled-components';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\n\ninterface Props {\n isSubscriber: boolean;\n isCompetitorsTable: boolean;\n setFilteredCompetitorsData: React.Dispatch>;\n setCompetitors: React.Dispatch>;\n setActiveKw: React.Dispatch>;\n activeKw: string;\n}\n\nexport const KeywordSelector = observer(({isSubscriber, isCompetitorsTable, setFilteredCompetitorsData, setActiveKw, setCompetitors, activeKw}: Props) => {\n const {Option} = Select;\n const {contentOptimizer: {currentPage}} = useStore('');\n\n const handleOnSelectChange = value => {\n setActiveKw(value);\n setCompetitors(toJS(currentPage?.analytics?.competitorsData)?.filter(item => item.keyword === value)[0]?.competitors);\n if (isCompetitorsTable) {\n setFilteredCompetitorsData(toJS(currentPage?.analytics?.competitorsData)?.filter(item => item.keyword === value)[0]?.competitors);\n }\n };\n\n return \n \n Keyword:\n \n handleOnSelectChange(value)}\n dropdownStyle={{minWidth: '150px', fontSize: '12px'}}\n dropdownClassName={styles.keywordDropdownList}\n className={styles.selectInput}\n suffixIcon={}\n >\n {toJS(currentPage?.analytics?.competitorsData)?.map(item => {\n return ;\n })}\n\n \n ;\n});\n\nconst KeywordDropdownWrapper = styled.div`\n display: flex;\n flex-direction: column;\n`;\n","import {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {Progress, Tooltip, Popover} from 'antd';\nimport {observer} from 'mobx-react';\nimport {Dispatch, SetStateAction, useEffect, useState} from 'react';\nimport styled from 'styled-components';\nimport {Table} from '@/components/common-components/components/index';\nimport styles from './style.module.scss';\nimport {numberWithCommas} from '@/utils/number';\nimport {SingleCompetitorType} from '@/store/content-optimizer/CurrentPageModel';\nimport {KeywordSelector} from './KeywordSelector';\nimport {useStore} from '@/store/root-store';\nimport {NextImg} from '@/utils/nextImg';\n\n\ninterface Props {\n store: CurrentPageStore;\n isSubscriber: boolean;\n activeKw: string;\n setActiveKw: Dispatch>;\n setCompetitors: (value: any) => void;\n competitors: any;\n filteredCompetitorsData: any;\n setFilteredCompetitorsData: (value: any) => void;\n schemaTypesList: any;\n setSchemaTypesList: (value: any) => void;\n allSchemasCount: number;\n setAllSchemasCount: (value: number) => void;\n nullCount: number;\n setNullCount: (value: number) => void;\n selectedSchema: any;\n setSelectedSchema: (value: any) => void;\n}\n\nexport const CompetitorsTable = observer(({\n store,\n isSubscriber,\n activeKw,\n setActiveKw,\n setCompetitors,\n competitors,\n filteredCompetitorsData,\n setFilteredCompetitorsData,\n schemaTypesList,\n allSchemasCount,\n nullCount,\n selectedSchema,\n setSelectedSchema}: Props) => {\n const {contentOptimizer: {\n currentPage: {\n setShowCompetitorTermsTableDetail,\n }}} = useStore('');\n const [isSmallScreen, setIsSmallScreen] = useState(true);\n const [allowScroll, setAllowScroll] = useState(false);\n\n const onWindowResize = () => {\n setIsSmallScreen(window.innerWidth < 1441);\n setAllowScroll(window.innerWidth < 768);\n };\n\n useEffect(() => {\n onWindowResize();\n window.addEventListener('resize', onWindowResize);\n return () => {\n window.removeEventListener('resize', onWindowResize);\n };\n }, []);\n\n // const addDefaultSrc = e => {\n // e.target.src = '/img/world-wide-web.svg';\n // };\n\n const getProgressColor = (value: number, min: number, average: number, max?: number) => {\n if (value <= min) {\n return '#F44343';\n }\n if (value <= average && value > min) {\n return '#FF8536';\n }\n if (value > average) {\n if (max && value < max) {\n return '#BFE15E';\n }\n return '#52D477';\n }\n return '#52D477';\n };\n\n const reFormatSchemaType = value => {\n const outputString = value.replace(/([a-z])([A-Z])/g, '$1 $2')\n .replace(/([A-Z])([A-Z][a-z])/g, '$1 $2');\n return outputString;\n };\n\n const handleTableChange = (pagination, filters, sorter) => {\n const {column, order} = sorter;\n const {sortField} = column || {};\n const data = [...competitors];\n if (sortField && order && data) {\n data.sort( (a, b) => {\n const _dir = order === 'ascend' ? 1 : -1;\n if (a[sortField] > b[sortField]) return 1 * _dir;\n if (a[sortField] < b[sortField]) return -1 * _dir;\n return 0;\n });\n setCompetitors(data);\n } else {\n setCompetitors(store?.analytics?.competitorsData?.filter(item => item.keyword === activeKw)[0]?.competitors);\n }\n };\n\n useEffect(() => {\n if (selectedSchema?.value == 'all-schemas') {\n setFilteredCompetitorsData(competitors);\n } else if (selectedSchema?.value == 'no-schemas') {\n setFilteredCompetitorsData(competitors?.filter(item => item?.schema?.length == 0 || item?.schema == null));\n } else {\n const selectedSchemaValue = selectedSchema?.value;\n\n const filteredItems = [];\n\n competitors?.forEach(item => {\n if (item?.schema) {\n if (Array.isArray(item?.schema)) {\n item?.schema?.forEach(ele => {\n if (ele?.graph) {\n if (Array.isArray(ele?.graph)) {\n ele?.graph?.forEach(graphItem => {\n if (Array.isArray(graphItem?.type)) {\n if (graphItem?.type?.includes(selectedSchemaValue)) {\n filteredItems.push(item);\n }\n } else if (graphItem?.type === selectedSchemaValue) {\n filteredItems.push(item);\n }\n });\n }\n } else if (ele?.type === selectedSchemaValue) {\n filteredItems.push(item);\n }\n });\n }\n }\n });\n\n setFilteredCompetitorsData(filteredItems);\n }\n }, [selectedSchema]);\n\n const columns = [\n {\n title: () => #,\n dataIndex: 'position',\n key: 'position',\n sortField: 'position',\n width: 45,\n fixed: allowScroll ? false : 'left' as 'left',\n render: (_, record: SingleCompetitorType) => {\n return {record?.position};\n },\n },\n {\n title: () => {'PAGE / URL'.toUpperCase()},\n dataIndex: 'title',\n key: 'title',\n sortField: 'title',\n fixed: allowScroll ? false : 'left' as 'left',\n width: isSmallScreen ? 300 : 'auto',\n ellipsis: true,\n align: 'left' as 'left',\n render: (_, record: SingleCompetitorType) => {\n return \n addDefaultSrc(e)}\n src={`https://www.google.com/s2/favicons?sz=16&domain_url=${record?.url}`} />\n

    {record?.title}

    \n {record?.url}}>\n
    \n {record?.title}\n {record?.url}\n
    \n
    ;\n },\n },\n {\n title: () => {'DR'.toUpperCase()},\n dataIndex: 'dr',\n key: 'dr',\n sortField: 'dr',\n sorter: (a: any, b: any) => a.dr - b.dr,\n align: 'center' as 'center',\n width: 60,\n render: (_, record: SingleCompetitorType) => {\n const percent = record?.dr ? record?.dr % 1 === 0 ? record?.dr : parseFloat(record?.dr.toFixed(2)) : 0;\n return \n
     \n
    {percent}
    \n
    ;\n },\n },\n {\n title: () => {'CS'.toUpperCase()},\n dataIndex: 'contentScore',\n key: 'contentScore',\n sortField: 'contentScore',\n align: 'right' as 'right',\n sorter: (a: any, b: any) => a.contentScore - b.contentScore,\n width: 60,\n render: (_, record: SingleCompetitorType) => {\n const percent = record?.contentScore ? record?.contentScore % 1 === 0 ? record?.contentScore : parseFloat(record?.contentScore.toFixed(2)) : 0;\n return
    \n {percent }}\n />\n
    ;\n },\n },\n {\n title: () => {'Schema'.toUpperCase()},\n dataIndex: 'schema',\n key: 'schema',\n sortField: 'schema',\n align: 'center' as 'center',\n width: 150,\n render: (_, record: SingleCompetitorType) => {\n let schemaLength = 0;\n Array.isArray(record?.schema) && record?.schema?.map(item => {\n item?.type ? schemaLength += 1 : Array.isArray(item?.graph) && item?.graph?.map(graphItem => graphItem?.type ? schemaLength += 1 : '');\n });\n\n const schemaItemsList = [];\n Array.isArray(record?.schema) && record?.schema?.map(item => {\n item?.type ? schemaItemsList.push(item) : Array.isArray(item?.graph) && item?.graph?.map(graphItem => schemaItemsList.push(graphItem));\n });\n return \n {record?.schema != null && record?.schema != undefined && Array.isArray(record?.schema) && record?.schema?.length != 0 ?\n <>\n
    \n setShowCompetitorTermsTableDetail(true, record?.title, record?.url, 0, record?.schema[0])}>{reFormatSchemaType(String(record?.schema ? (record?.schema[0]?.graph ? record?.schema[0]?.graph[0]?.type : record?.schema[0]?.type) : '-'))}\n {schemaLength > 1 &&\n <>\n
    \n {schemaItemsList?.map((item, idx) =>\n <>\n {idx == 0 ? '' :\n setShowCompetitorTermsTableDetail(true, record?.title, record?.url, idx, item)}\n style={{width: 'auto', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', color: '#2D6CCA', cursor: 'pointer', paddingLeft: '20px'}}>\n
  • {reFormatSchemaType(String(item?.type))}
  • \n
    \n }\n ,\n )}}>\n +{schemaLength - 1}\n \n }\n \n : '-'\n }\n ;\n },\n },\n {\n title: () => <>{'int'.toUpperCase()}
    {'links'.toUpperCase()},\n dataIndex: 'internalLinks',\n key: 'internalLinks',\n sortField: 'internalLinks',\n align: 'center' as 'center',\n sorter: (a: any, b: any) => a?.internalLinks?.length - b?.internalLinks?.length,\n width: 80,\n render: (_, record: SingleCompetitorType) => {\n return <>\n {record?.internalLinks?.length == 0 ?\n {numberWithCommas(record?.internalLinks?.length) || '-' } :\n \n {record?.internalLinks?.length > 0 ? record?.internalLinks?.map((item, idx) =>\n
      \n
    • {item}
    • \n
    ) : ''}\n }\n title=''\n placement='bottom'\n trigger='click'>\n {numberWithCommas(record?.internalLinks?.length) || '-' }\n \n }\n ;\n },\n },\n {\n title: () => <>{'ext'.toUpperCase()}
    {'links'.toUpperCase()},\n dataIndex: 'externalLinks',\n key: 'externalLinks',\n sortField: 'externalLinks',\n align: 'center' as 'center',\n sorter: (a: any, b: any) => a?.externalLinks?.length - b?.externalLinks?.length,\n width: 80,\n render: (_, record: SingleCompetitorType) => {\n return <>\n {record?.externalLinks?.length == 0 ?\n {numberWithCommas(record?.externalLinks?.length) || '-' } :\n \n {record?.externalLinks?.length > 0 ? record?.externalLinks?.map((item, idx) =>\n
      \n
    • {item}
    • \n
    ) : ''}\n }\n title=''\n placement='bottom'\n trigger='click'>\n {numberWithCommas(record?.externalLinks?.length) || '-' }\n \n }\n ;\n },\n },\n {\n title: () => {'h1'.toUpperCase()},\n dataIndex: 'h1Count',\n key: 'h1Count',\n sortField: 'h1Count',\n align: 'center' as 'center',\n sorter: (a: any, b: any) => a?.h1Count - b?.h1Count,\n width: 50,\n render: (_, record: SingleCompetitorType) => {\n return {numberWithCommas(record?.h1Count) || '-' };\n },\n },\n {\n title: () => {'h2'.toUpperCase()},\n dataIndex: 'h2Count',\n key: 'h2Count',\n sortField: 'h2Count',\n align: 'center' as 'center',\n sorter: (a: any, b: any) => a?.h2Count - b?.h2Count,\n width: 50,\n render: (_, record: SingleCompetitorType) => {\n return {numberWithCommas(record?.h2Count) || '-' };\n },\n },\n {\n title: () => {'h3'.toUpperCase()},\n dataIndex: 'h3Count',\n key: 'h3Count',\n sortField: 'h3Count',\n align: 'center' as 'center',\n sorter: (a: any, b: any) => a?.h3Count - b?.h3Count,\n width: 50,\n render: (_, record: SingleCompetitorType) => {\n return {numberWithCommas(record?.h3Count) || '-' };\n },\n },\n {\n title: () => {'Word Count'.toUpperCase()},\n dataIndex: 'wordCount',\n key: 'wordCount',\n sortField: 'wordCount',\n align: 'center' as 'center',\n sorter: (a: any, b: any) => a?.wordCount - b?.wordCount,\n width: 115,\n render: (_, record: SingleCompetitorType) => {\n return {numberWithCommas(record?.wordCount) || '-' };\n },\n },\n ];\n\n return \n
    \n \n
    \n \n Types of Schema Found:\n \n setSelectedSchema({idx: 'all-schemas', value: 'all-schemas'})}>All schemas 
    |
     {allSchemasCount}
    \n setSelectedSchema({idx: 'no-schemas', value: 'no-schemas'})}>No schemas 
    |
     {nullCount}
    \n {schemaTypesList?.map((item, idx) => {\n return setSelectedSchema({idx: `${idx}`, value: item?.value})} key={idx}>{reFormatSchemaType(String(item?.value))} 
    |
     {item?.count}
    ;\n })}\n
    \n
    \n
    \n \n
    \n\n
    ;\n});\n\nconst Wrapper = styled.div`\n padding: 30px;\n`;\n\nconst Header = styled.div`\n display: flex;\n margin-bottom: 20px;\n`;\n\nconst DRWrapper = styled.div`\n background-color: rgba(45, 108, 202, 0.07);\n display: flex;\n border-radius: 6px;\n align-items: center;\n justify-content: center;\n width: 55px;\n height: 32px;\n padding: 7px 12px 8px 12px;\n`;\n\nconst PageUrlWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst TypesSchemaFilterWrapper = styled.div`\n\n`;\n\nconst SchemaFilterTitle = styled.div`\n color: #4E5156;\n font-size: 14px;\n margin-left: 10px;\n margin-bottom: 10px;\n`;\n\nconst SchemaFilterWrapper = styled.div`\n display: flex;\n gap: 20px;\n margin-bottom: 20px;\n margin-left: 10px;\n width: 97%;\n overflow-x: auto;\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n background: transparent;\n }\n`;\n\nconst SchemaFilter = styled.div<{selectedSchema?: boolean}>`\n min-width: fit-content;\n min-height: 28px;\n border-radius: 14px;\n background: ${p => p?.selectedSchema ? 'linear-gradient(0deg, rgba(127, 78, 173, 0.20) 0%, rgba(127, 78, 173, 0.20) 100%), #FFF' : '#FFFF'};\n box-shadow: 1px -2px 20px 0px rgba(0, 0, 0, 0.06);\n border: ${p => p?.selectedSchema ? '1px solid #7F4EAD' : '1px solid #E8E8E8'};\n display: flex;\n padding: 5px 10px 6px 10px;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n`;\n\nconst LinksContainer = styled.div`\n max-height: 300px;\n overflow-y: auto;\n\n &::-webkit-scrollbar-track {\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);\n background-color: #F5F5F5;\n }\n\n &::-webkit-scrollbar {\n width: 5px;\n background-color: #F5F5F5;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(0,0,0,0.28);\n border-radius: 10px;\n }\n`;\n\nconst LinkWrapper = styled.div`\n width: auto;\n font-size: 12px;\n line-height: 14px;\n color: rgb(45, 108, 202);\n white-space: pre-line;\n overflow-wrap: anywhere;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-bottom: 8px;\n`;\n\nconst StyledAnchor = styled.a`\n text-decoration: none;\n transition: text-decoration 0.2s;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\nconst BlueTextWithUnderline = styled.div`\n color: #2D6CCA;\n cursor: pointer;\n text-decoration: none;\n transition: text-decoration 0.2s;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\nconst ULStyled = styled.ul`\n padding-left: 0px;\n max-height: 160px;\n overflow-y: auto;\n padding: 5px;\n margin-bottom: 0;\n width: 200px;\n\n &::-webkit-scrollbar-track {\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.1);\n background-color: #F5F5F5;\n }\n\n &::-webkit-scrollbar {\n width: 5px;\n background-color: #F5F5F5;\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: rgba(0,0,0,0.28);\n border-radius: 10px;\n }\n`;\n","import styled from 'styled-components';\nimport {faArrowLeft} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport {urlValidationRegex2} from '@/constants/regex';\nimport moment from 'moment';\nimport {NextImg} from '@/utils/nextImg';\n\nexport const CompetitorsDetail = observer(() => {\n const {contentOptimizer: {\n currentPage: {\n setShowCompetitorTermsTableDetail,\n competitorSchemaObject,\n competitorTitle,\n competitorUrl,\n competitorSchemaGraphIdx,\n }}} = useStore('');\n\n const formats = [\n moment.ISO_8601,\n 'MM/DD/YYYY :) HH*mm*ss',\n ];\n\n // const addDefaultSrc = e => {\n // e.target.src = '/img/world-wide-web.svg';\n // };\n\n const renderSchemaData = dataObj => {\n return <>\n
    \n \n
    \n {dataObj && Object?.entries(dataObj)?.map((item, index) => {\n const mainLebel = item[0];\n const mainValue = item[1];\n return
    \n {mainLebel && mainLebel != '0' ? mainLebel == 'type' ? `@${mainLebel}` : mainLebel : ''}\n {typeof mainValue !== 'object' ? {typeof mainValue == 'boolean' ? `${mainValue ? 'Yes' : 'No'}` : (\n urlValidationRegex2?.test(String(mainValue)) ? {String(mainValue)} : (\n moment(mainValue, formats, true)?.isValid() || mainLebel?.includes('date') ? moment(mainValue)?.utc()?.format('DD MMM YYYY') : `${mainValue}`\n )\n )} :\n renderSchemaData(mainValue)}\n
    ;\n })}\n
    \n
    \n ;\n };\n\n return <>\n setShowCompetitorTermsTableDetail(false)\n }>\n \n Back to list of competitors\n \n \n \n \n addDefaultSrc(e)}\n src={`https://www.google.com/s2/favicons?sz=16&domain_url=${competitorUrl}`} />\n \n \n
    {competitorTitle}
    \n {competitorUrl}\n
    \n
    \n
    \n @context\n {competitorSchemaObject?.context ?? '-'}\n @graph\n {renderSchemaData(competitorSchemaObject?.graph ? competitorSchemaObject?.graph[competitorSchemaGraphIdx] : competitorSchemaObject)}\n
    \n
    \n ;\n});\n\nconst BackArrowContainer = styled.div`\n cursor: pointer;\n display: flex;\n align-items: center;\n margin-left: 33px;\n margin-top: 37px;\n width: max-content;\n`;\n\nconst SchemaContainer = styled.div`\n width: 95%;\n margin-left: 30px;\n margin-top: 27px;\n min-height: 630px;\n background-color: white;\n border-radius: 14px;\n border: 1px solid #E8E8E8;\n box-shadow: 1px -2px 20px 0px rgba(0, 0, 0, 0.06);\n`;\n\nconst SchemaLabel = styled.div`\n font-weight: 300;\n font-size: 14px;\n line-height: 22px;\n color: #4E5156;\n margin-top: 8px;\n`;\n\nconst SchemaValue = styled.div`\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #121212;\n`;\n\nconst LargeLine = styled.div`\n width: 2px;\n height: auto;\n background: #E8E8E8;\n border-radius: 6px;\n margin-right: 9px;\n`;\n\nconst URL = styled.a`\n color: #2D6CCA;\n cursor: pointer;\n flex-wrap: nowrap;\n white-space: pre-wrap;\n word-break: break-word;\n`;\n\nconst SchemaHeader = styled.div`\n display: flex;\n align-items: center;\n margin-left: 30px;\n margin-top: 20px;\n`;\n\nconst SchemaPageTitle = styled.div`\n\n`;\n","import {observer} from 'mobx-react';\nimport {Dispatch, SetStateAction} from 'react';\nimport {CompetitorsTable} from './CompetitorsTable';\nimport {useStore} from '@/store/root-store';\nimport {CompetitorsDetail} from './CompetitorsDetail';\n\ninterface Props {\n isSubscriber: boolean;\n activeKw: string;\n setActiveKw: Dispatch>;\n setCompetitors: (value: any) => void;\n competitors: any;\n filteredCompetitorsData: any;\n setFilteredCompetitorsData: (value: any) => void;\n schemaTypesList: any;\n setSchemaTypesList: (value: any) => void;\n allSchemasCount: number;\n setAllSchemasCount: (value: number) => void;\n nullCount: number;\n setNullCount: (value: number) => void;\n selectedSchema: any;\n setSelectedSchema: (value: any) => void;\n}\n\nexport const CompetitorsDrawerTab = observer(({\n isSubscriber,\n activeKw,\n setActiveKw,\n setCompetitors,\n competitors,\n filteredCompetitorsData,\n setFilteredCompetitorsData,\n schemaTypesList,\n setSchemaTypesList,\n allSchemasCount,\n setAllSchemasCount,\n nullCount,\n setNullCount,\n selectedSchema,\n setSelectedSchema}: Props) => {\n const {contentOptimizer: {currentPage}} = useStore('');\n const {contentOptimizer: {\n currentPage: {\n showCompetitorTermsTableDetail,\n }}} = useStore('');\n\n return showCompetitorTermsTableDetail ? : ;\n});\n","/* eslint-disable @next/next/no-img-element */\nimport {useState, useEffect, useRef} from 'react';\nimport {Drawer, Select, Progress, Row, Tooltip, Spin} from 'antd';\nimport {useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react';\nimport styled from 'styled-components';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faArrowUp, faFileDownload} from '@fortawesome/pro-regular-svg-icons';\nimport {getProgressColor} from '@/utils/colors';\nimport {CaretDownFilled, LoadingOutlined} from '@ant-design/icons';\nimport styles from './style.module.scss';\nimport html2canvas from 'html2canvas';\nimport {Button, TabPane, Tabs} from '@/components/common-components';\nimport {CompetitorsDrawerTab} from './CompetitorsDrawerTab/CompetitorsDrawerTab';\nimport {CloseOutlined} from '@ant-design/icons';\nimport {toJS} from 'mobx';\nimport {NextImg} from '@/utils/nextImg';\n\n\nconst squareTooltip = (hostname, url, keyword, score) => (\n
    \n
    \n
    \n
    {hostname}
    \n {url}\n
    \n {`is `}\n {score > 0 ? ranking : not ranking}\n {`for `}\n {keyword}\n
    \n {/*
    used {keyword} {score} times
    */}\n
    \n
    \n);\nconst focusTermsTooltip = (hostname, url, keyword, score) => (\n
    \n
    \n
    \n
    {hostname}
    \n {url}\n
    \n {score > 0 ? `uses ` : `did not use `}\n {keyword} \n {score > 0 && <>{score}\n {score == 1 ? `time` : `times`}}\n
    \n
    \n
    \n);\nexport const CompetingFocusTermsDrawer = observer(() => {\n const {contentOptimizer: {currentPage}} = useStore('');\n const {settings: {customer: {profile: {isSubscriber}}}} = useStore('');\n const {contentOptimizer: {currentPage: {analytics, isCompetingFocusTermsDrawerOpen, closeCompetingFocusTermsDrawer, isOpeningKwSuggestionsFromContentResearch, setIsOpeningKwSuggestionFromContentResearch}}} = useStore('');\n const [selectedKeyword, setSelectedKeyword] = useState('');\n const [selectedCompTabKw, setSelectedCompTabKw] = useState('');\n const [isHovered, setIsHovered] = useState(false);\n const [maxElemHeight, setMaxElemHeight] = useState(0);\n const allRef = useRef(null);\n const keywordSuggestionsRef = useRef(null);\n const [activeTab, setActiveTab] = useState('1');\n\n const antIcon = ;\n\n useEffect(() => {\n if (currentPage?.topRankingCompetitorActiveKw && currentPage?.analytics?.competitorsData?.length && currentPage?.analytics?.competitorsData.find(item => item.keyword == currentPage?.topRankingCompetitorActiveKw)) {\n setSelectedKeyword(currentPage?.topRankingCompetitorActiveKw);\n setSelectedCompTabKw(currentPage?.topRankingCompetitorActiveKw);\n } else if (currentPage?.analytics?.competitorsData && currentPage?.analytics?.competitorsData[0]) {\n setSelectedKeyword(currentPage?.analytics?.competitorsData[0]?.keyword);\n setSelectedCompTabKw(currentPage?.analytics?.competitorsData[0]?.keyword);\n } else {\n setSelectedKeyword('');\n setSelectedCompTabKw('');\n }\n }, [...(currentPage?.analytics?.competitorsData ?? ''), currentPage?.analytics?.competitorsData?.length]);\n\n const visibilityChangeHandler = () => {\n // for competitors tab (tab 1)\n if (currentPage?.topRankingCompetitorActiveKw) {\n setSelectedCompTabKw(currentPage?.topRankingCompetitorActiveKw);\n } else {\n setSelectedCompTabKw(currentPage?.analytics?.competitorsData[0]?.keyword || '');\n }\n\n // for focus terms grid\n if (!analytics?.focusTermsGridData?.length) return;\n if (currentPage?.topRankingCompetitorActiveKw) {\n setSelectedKeyword(currentPage?.topRankingCompetitorActiveKw);\n } else {\n setSelectedKeyword(analytics?.focusTermsGridData[0]?.keyword);\n }\n };\n\n useEffect(() => {\n if (isOpeningKwSuggestionsFromContentResearch) {\n setActiveTab('2');\n }\n }, [isOpeningKwSuggestionsFromContentResearch]);\n\n useEffect(() => {\n const elementsArray = document.querySelectorAll('.singleHostName');\n const elementsWidthArr = [];\n elementsArray.forEach(elem => elementsWidthArr.push(elem.clientWidth));\n setMaxElemHeight(Math.max(...elementsWidthArr));\n }, [document.querySelectorAll('.singleHostName'), selectedKeyword]);\n\n const exportSingleNode = node => {\n const today = new Date();\n const date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\n html2canvas(node)\n .then(canvas => {\n canvas.style.display = 'none';\n const image = canvas.toDataURL();\n const a = document.createElement('a');\n a.setAttribute('download', `competing-focus-terms-for-'${selectedKeyword}'.png-${date}.png`);\n a.setAttribute('href', image);\n a.click();\n });\n };\n\n const onTabChange = key =>{\n setActiveTab(key);\n };\n\n const [competitors, setCompetitors] = useState(currentPage?.analytics?.competitorsData?.length ? currentPage?.analytics?.competitorsData[0]?.competitors : []);\n const [filteredCompetitorsData, setFilteredCompetitorsData] = useState(currentPage?.analytics?.competitorsData?.length ? currentPage?.analytics?.competitorsData[0]?.competitors : []);\n const [schemaTypesList, setSchemaTypesList] = useState([]);\n const [allSchemasCount, setAllSchemasCount] = useState(0);\n const [nullCount, setNullCount] = useState(0);\n const [selectedSchema, setSelectedSchema] = useState({\n idx: 'all-schemas',\n value: 'all-schemas',\n });\n\n function countOccurrences(inputArray) {\n const counts = {};\n const result = [];\n\n for (let i = 0; i < inputArray.length; i++) {\n const item = inputArray[i];\n\n if (typeof item === 'string' && item !== 'null') {\n if (counts[item]) {\n counts[item]++;\n } else {\n counts[item] = 1;\n }\n }\n }\n\n for (const word in counts) {\n if (Object.prototype.hasOwnProperty.call(counts, word)) {\n result.push({value: word, count: counts[word]});\n }\n }\n\n return result;\n }\n\n const schemaCountsHandler = () => {\n const competitorsTypes = [];\n competitors?.forEach(item => {\n if (item?.schema) {\n if (Array.isArray(item?.schema)) {\n item?.schema?.forEach(ele => {\n if (ele?.graph) {\n if (Array.isArray(ele?.graph)) {\n ele?.graph?.forEach(graphItem => {\n if (Array.isArray(graphItem?.type)) {\n graphItem?.type?.forEach(item => competitorsTypes.push(item));\n } else {\n competitorsTypes.push(graphItem?.type);\n }\n });\n }\n } else {\n competitorsTypes.push(ele?.type);\n }\n });\n }\n }\n });\n setSchemaTypesList(countOccurrences(competitorsTypes));\n setAllSchemasCount(competitorsTypes?.length);\n\n let nullCount = 0;\n\n competitors?.map(item => {\n if (item?.schema?.length == 0 || item?.schema == null) {\n nullCount += 1;\n }\n });\n setNullCount(nullCount);\n };\n\n useEffect(() => {\n setFilteredCompetitorsData(toJS(currentPage?.analytics?.competitorsData)?.filter(item => item.keyword === selectedCompTabKw)[0]?.competitors);\n setCompetitors(toJS(currentPage?.analytics?.competitorsData)?.filter(item => item.keyword === selectedCompTabKw)[0]?.competitors);\n setSelectedSchema({\n idx: 'all-schemas',\n value: 'all-schemas',\n });\n if (competitors?.length) {\n schemaCountsHandler();\n }\n }, [selectedCompTabKw]);\n\n useEffect(() => {\n if (competitors?.length) {\n schemaCountsHandler();\n }\n }, [competitors]);\n\n return (\n {\n setActiveTab('1');\n setIsOpeningKwSuggestionFromContentResearch(false);\n closeCompetingFocusTermsDrawer();\n }}\n closeIcon={}\n className={styles.competingTermsDrawerStyle}\n bodyStyle={{backgroundColor: '#F2F2F5', paddingLeft: '0', paddingRight: '0'}}\n >\n Competitor Content Analysis\n onTabChange(key)}>\n Top competitors {currentPage?.isAnalyzing && }} key={'1'}>\n \n \n Relevant terms grid {currentPage?.isAnalyzing && }} key={'2'}>\n \n
    \n
    \n Competing Focus Terms\n Check what focus terms your competitors are using\n
    \n \n exportSingleNode(allRef.current)}\n >\n \n \n \n
    \n \n COMPETITOR RANK\n
    \n {analytics?.focusTermsGridData?.find(x => x?.keyword === selectedKeyword)?.sites?.map((x, i) => (\n {i === 0 ? 'YOU' : i}\n ))}\n
    \n
    \n
    \n {analytics?.focusTermsGridData?.find(x => x?.keyword === selectedKeyword)?.sites?.map((x, i) => {\n if (!x?.hostname) {\n return (\n
    \n \n Created From Scratch\n \n
    \n );\n }\n return (\n \n \n \n {x?.hostname}\n \n\n \n );\n })}\n
    \n \n KEYWORD\n CONTENT SCORE\n \n \n \n {/*
    {selectedKeyword}
    */}\n
    \n } value={selectedKeyword} onChange={value => setSelectedKeyword(value as string)}>\n {analytics?.focusTermsGridData?.map((item, i) => (\n {item.keyword}\n ))}\n \n
    \n
    \n {analytics?.focusTermsGridData?.find(x => x?.keyword === selectedKeyword)?.contentScores?.map((score, i) => (\n {percent}}\n />\n ))}\n
    \n
    \n \n
    \n FOCUS TERMS\n DISTRIBUTION\n \n
    \n
    \n 0\n 1-3\n 3-10\n 10+\n
    \n
    \n {analytics?.focusTermsGridData?.find(x => x?.keyword === selectedKeyword)?.focusTermUsageBySites?.map((item, i) => (\n
    \n
    {item.name}
    \n {item.values?.map((score, i) => (\n x?.keyword === selectedKeyword)?.sites?.[i]?.hostname, analytics?.focusTermsGridData?.find(x => x?.keyword === selectedKeyword)?.sites?.[i]?.url, item?.name, score)\n }>\n {\n setIsHovered(true);\n }} onMouseLeave={() => {\n setIsHovered(false);\n }} style={{backgroundColor: getProgressColor(score ?? 0, 0, 3, 10)}}>{score}\n \n ))}\n
    \n ))}\n
    \n
    \n Keyword suggestions {currentPage?.isAnalyzing && }} key={'3'}>\n \n
    \n
    \n {/* Keywords Suggestions */}\n Check out what keywords your competitors are using\n
    \n \n exportSingleNode(keywordSuggestionsRef.current)}\n >\n \n \n \n
    \n \n COMPETITOR RANK\n
    \n {analytics?.keywordSuggestionsGridData?.find(x => x?.keyword === selectedKeyword)?.sites?.slice(0, 10).map((x, i) => (\n {i + 1}\n ))}\n
    \n
    \n
    \n {analytics?.keywordSuggestionsGridData?.find(x => x?.keyword === selectedKeyword)?.sites?.slice(0, 10).map((x, i) => {\n return (\n \n \n \n {x.url}\n \n
    \n Content Score: \n {x.contentScore}\n
    \n
    \n Word Count: \n {x.wordCount}\n
    \n
    \n }\n key={x?.url}\n >\n \n \n \n {x?.hostname}\n \n\n \n );\n })}\n \n \n KEYWORD\n \n \n {/*
    {selectedKeyword}
    */}\n
    \n } value={selectedKeyword} onChange={value => setSelectedKeyword(value as string)}>\n {analytics?.keywordSuggestionsGridData?.map((item, i) => (\n {item.keyword}\n ))}\n \n
    \n
    \n \n
    \n TARGET KEYWORD\n USAGE\n \n
    \n
    \n Not Ranking\n Ranking\n
    \n
    \n {analytics?.keywordSuggestionsGridData?.find(x => x?.keyword === selectedKeyword)?.keywordSuggestionsUsageBySites?.map((item, i) => (\n
    \n
    {item.name}
    \n {item.values?.map((score, i) => (\n x?.keyword === selectedKeyword)?.sites?.[i]?.hostname, analytics?.keywordSuggestionsGridData?.find(x => x?.keyword === selectedKeyword)?.sites?.[i]?.url, item.name, score)\n }>\n {\n setIsHovered(true);\n }} onMouseLeave={() => {\n setIsHovered(false);\n }} style={{backgroundColor: score ? '#2AC155' : '#F44343'}}>\n \n ))}\n
    \n ))}\n
    \n
    \n
    \n \n );\n});\n\nconst Title = styled.div`\n font-weight: 500;\n font-size: 20px;\n color: #121212;\n line-height: 28px;\n`;\n\nconst TitleStyled = styled.div`\n font-weight: 600;\n font-size: 20px;\n color: #121212;\n line-height: normal;\n margin: 0 0 15px 30px;\n`;\n\nconst Subtitle = styled.div`\n font-size: 16px;\n line-height: 24px;\n color: #4E5156;\n`;\n\nconst SectionHeader = styled.div`\n background: #e2e2e5;\n border-radius: 3px;\n display: flex;\n color: #121212;\n padding: 15px 10px;\n font-size: 12px;\n font-weight: 600;\n`;\n\nconst Wrapper = styled.div`\n padding: 30px;\n`;\n\nconst Square = styled.div<{isHovered: boolean}>`\n width: 40px;\n height: 25px;\n border-radius: 3px;\n background-color: red;\n cursor: pointer;\n color: transparent;\n \n opacity: ${p => p.isHovered && '0.5'};\n \n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n color: white;\n opacity: 1;\n }\n`;\n\nconst Dot = styled.div`\n border-radius: 50%;\n height: 5px;\n margin-right: 5px;\n width: 5px;\n`;\n\nconst Rank = styled.div`\n background-color: #d3d3d7;\n width: 40px;\n height: 25px;\n font-size: 12px;\n color: #4E5156;\n justify-content: center;\n display: flex;\n align-items: center;\n`;\n\nconst SelectStyled = styled(Select)`\n width: 100%;\n\n .ant-select-arrow {\n color: #121212;\n }\n`;\n\nconst Site = styled.div`\n font-size: 12px;\n color: #2D6CCA;\n width: auto;\n display: block;\n align-items: left;\n max-width: 150px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst IsNotRanking= styled.span`\n padding: 2px 7px;\n background-color: #F44343;\n border-radius: 3px;\n color: #fff;\n margin-right: 5px;\n`;\n\nconst IsRanking = styled.span`\n padding: 2px 7px;\n background-color: #1FAC47;\n border-radius: 3px;\n color: #fff;\n margin-right: 5px;\n`;\n","import {useEffect} from 'react';\nimport {Form, Select, Spin} from 'antd';\nimport {\n Button,\n CommonInput,\n} from '@/components/common-components/components';\nimport styles from './style.module.scss';\n\nimport {useState} from 'react';\nimport {languages} from '@/components/dashboard/pages/content-ideas/drawer/languages';\nimport Flag from '@/components/common-components/components/flag';\nimport {formatCountryCode} from '@/components/dashboard/pages/content-ideas/drawer/languageUtil';\nimport {ContentIdeasStore} from '@/store/content-optimizer/contentIdeas';\nimport {observer} from 'mobx-react';\nimport {LoadingOutlined} from '@ant-design/icons';\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {SCA_PAGE_CONTENT_IDEAS_GENERATE} from '@/constants/events';\nimport {useStore} from '@/store/root-store';\n\ninterface Props {\n store: ContentIdeasStore;\n pageId: any;\n drawerVisible: boolean;\n}\n\nexport const NewContentIdeaForm = observer(({store, pageId, drawerVisible}: Props) => {\n const {\n settings: {\n customer: {\n getCustomerQuota,\n },\n },\n } = useStore('');\n\n\n const usaCode = languages.find(lang => lang.code == 'en');\n\n\n const antIcon = ;\n\n const [selectedCountry, setSelectedCountry] = useState(usaCode.code);\n\n const onChange = value => {\n setSelectedCountry(value);\n };\n\n const [form] = Form.useForm();\n const {Option} = Select;\n\n useEffect(() => {\n if (!drawerVisible) form.resetFields();\n }, [drawerVisible]);\n\n const onFormSubmit = async (values: {[key: string]: string}) => {\n const topic = values.topic;\n\n await store.loadContentIdeasData(topic, selectedCountry);\n\n getCustomerQuota();\n\n MixPanel.track(SCA_PAGE_CONTENT_IDEAS_GENERATE, {\n 'pageId': pageId,\n 'contentIdeasTopic': topic,\n 'contentIdeasLanguage': languages.find(lang => lang.code == selectedCountry).language,\n 'description': 'Generated content ideas for specific topic and language',\n });\n };\n\n return (\n <>\n

    Need some inspiration? Here you can generate unlimited article ideas on any topic you can think of.

    \n\n
    \n
    \n

    Topic

    \n \n \n \n
    \n
    \n
    \n \n option.country.toLowerCase().indexOf(input.toLowerCase()) >= 0\n }\n >\n {\n languages.map((lang, index) => {\n return (\n \n );\n })\n }\n \n
    \n {/* */}\n \n {store.loading ? : null}\n
    \n
    \n \n );\n});\n","import {useState, useEffect} from 'react';\nimport styles from './style.module.scss';\nimport {faDownload} from '@fortawesome/pro-light-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {\n Button,\n} from '@/components/common-components/components';\nimport {CopyOutlined} from '@ant-design/icons';\n\nimport {Divider, Tooltip} from 'antd';\nimport {faCheck} from '@fortawesome/pro-regular-svg-icons';\nimport {SCA_PAGE_CONTENT_IDEA_COPY, SCA_PAGE_CONTENT_IDEA_DOWNLOAD} from '@/constants/events';\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {useTranslation} from 'next-i18next';\nimport parse from 'html-react-parser';\n\ninterface Props {\n idea: string;\n}\n\nexport const SingleContentIdea = ({idea}: Props) => {\n const [copySuccess, setCopySuccess] = useState(false);\n const [convertedText, setConvertedText] = useState(idea);\n\n const {t} = useTranslation('landing-page-optimizer');\n\n useEffect(() => {\n // Removing the leading space from string\n const newLineIndex = idea?.search('\\n');\n const textWithoutLeadingSpace = idea?.slice(0, newLineIndex + 1) + idea?.slice(newLineIndex + 2);\n const firstTitle = idea?.slice(0, newLineIndex + 1);\n const result = textWithoutLeadingSpace.replace(firstTitle, '' + firstTitle + '');\n\n setConvertedText(result);\n }, [idea]);\n\n\n const downloadFileToTxt = () => {\n const element = document.createElement('a');\n const file = new Blob([idea], {type: 'text/plain'});\n element.href = URL.createObjectURL(file);\n const breakFileName = idea.split(' ').length;\n const fileName = breakFileName > 4 ? idea.split(' ').slice(0, 4).join('-') : idea.split(' ').slice(0, breakFileName).join('-');\n element.download = `${fileName}`;\n document.body.appendChild(element);\n element.click();\n };\n\n return (\n
    \n

    \n {convertedText && parse(convertedText.trim())}\n

    \n \n
    \n {`${idea.replace(/(\\r\\n|\\n|\\r)/gm, '').length} characters`}\n
    \n {\n downloadFileToTxt();\n\n MixPanel.track(SCA_PAGE_CONTENT_IDEA_DOWNLOAD, {\n 'description': 'Content idea downloaded',\n });\n }}/>\n {` Copied to clipboard`} : t('copy-to-clipboard')}\n trigger='hover'\n placement='bottom'\n overlayClassName={styles.copyTooltip}\n onVisibleChange={visible => {\n if (!visible) {\n setTimeout(() => {\n setCopySuccess(false);\n }, 300);\n }\n }}>\n {\n navigator.clipboard.writeText(idea);\n setCopySuccess(true);\n\n MixPanel.track(SCA_PAGE_CONTENT_IDEA_COPY, {\n 'description': 'Content idea copied',\n });\n }}>\n \n \n Copy\n \n \n \n
    \n
    \n
    \n );\n};\n","// import {useState} from 'react';\nimport {ContentIdeasStore} from '@/store/content-optimizer/contentIdeas';\nimport CsvDownloader from 'react-csv-downloader';\nimport {Divider} from 'antd';\nimport {observer} from 'mobx-react';\nimport styles from './style.module.scss';\nimport {SingleContentIdea} from './SingleContentIdea';\nimport {ExportOutlined} from '@ant-design/icons';\nimport {Button} from '@/components/common-components/components';\n\ninterface Props {\n store: ContentIdeasStore;\n}\n\nexport const ContentIdeas = observer(({store}: Props) => {\n const csvModel = store?.wordsArray.map(item => ({\n title: item.split('\\n')[0],\n text: item.split('\\n')[1],\n }));\n\n const csvColumns = [\n {\n id: 'title',\n displayName: 'Title',\n },\n {\n id: 'text',\n displayName: 'Text',\n },\n ];\n return <>\n {store?.wordsArray.length ? : null}\n {store?.wordsArray.length ?

    \n {`${store?.wordsArray?.length} ideas generated for \"${store?.keyword}\" `}\n \n \n \n

    : null}\n {store?.wordsArray && store?.wordsArray.map((idea, idx) => {\n return ;\n })}\n ;\n});\n","import {useState} from 'react';\nimport {NewContentIdeaForm} from './NewContentIdeaForm';\nimport {ContentIdeas} from './ContentIdeas';\nimport {Drawer} from 'antd';\nimport {useStore} from '@/store/root-store';\nimport styles from './style.module.scss';\nimport {observer} from 'mobx-react';\n\nexport const ContentIdeasDrawer = observer(() => {\n const {contentOptimizer: {currentPage, contentIdeas}} = useStore('');\n const [drawerVisible, setDrawerVisible] = useState(true);\n\n return (\n <>\n {\n contentIdeas.clearContentIdeas();\n setDrawerVisible(false);\n currentPage.setIsOpenContentGeneratorDrawer(false);\n }}\n bodyStyle={{backgroundColor: '#F2F2F5', paddingLeft: '0', paddingRight: '0'}}\n className={styles.contentIdeasDrawer}\n afterVisibleChange={visible => {\n if (visible) setDrawerVisible(true);\n }}\n >\n
    \n
    \n Content Helper\n
    \n \n \n
    \n \n \n );\n});\n","import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Tooltip, Spin} from 'antd';\nimport styles from './style.module.scss';\nimport {faCheck, faPlus, faTimes} from '@fortawesome/pro-light-svg-icons';\nimport {useStore} from '@/store/root-store';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {observer} from 'mobx-react';\nimport classNames from 'classnames';\n\ninterface Props {\n keyword: string;\n isIncluded?: boolean;\n}\n\nexport const SimilarKeyword = observer(({keyword, isIncluded}: Props) => {\n const {\n OverviewPage: {\n addToLoadingArray,\n loadingArray,\n },\n contentOptimizer: {currentPage},\n } = useStore('');\n const {settings: {customer: {profile: {quotaUtilization}, getCustomerQuota}}, plans: {showSidebarPaymentDrawer}} = useStore('');\n\n const antIcon = ;\n\n const onAddKeywordFinish = async () => {\n if (currentPage.feTargetKeywords && currentPage.feTargetKeywords?.filter(kw => JSON.stringify({\n keyword: kw.keyword,\n countryCode: kw.countryCode,\n locationId: kw.locationId,\n location: kw.location,\n }) === JSON.stringify({\n keyword: keyword,\n countryCode: currentPage.content.countryCode,\n locationId: currentPage.content.locationId,\n location: currentPage.content.location,\n })).length) {\n return;\n }\n addToLoadingArray(keyword);\n\n const newKwLocation = {\n location: currentPage.content.location,\n locationId: currentPage.content.locationId,\n countryCode: currentPage.content.countryCode,\n };\n\n const formatArray = [...currentPage.feTargetKeywords, {\n keyword: keyword,\n ...newKwLocation,\n }];\n\n currentPage.updateFeTargetKeywords(formatArray);\n\n try {\n await currentPage?.editKeywords({keyword: keyword, ...newKwLocation}, 'add');\n getCustomerQuota();\n } catch (err) {\n if (err?.response?.status === 429) {\n showSidebarPaymentDrawer(null, {title: 'You need more Content Genius focus terms quota to continue', subtitle: '', text: `Current limit: ${quotaUtilization?.ca?.allowedFocusTerms?.total} lookups`});\n }\n return Promise.reject(err);\n }\n };\n const onRemoveKeywordFinish = async () => {\n addToLoadingArray(keyword);\n\n\n const formatArray = [...currentPage.feTargetKeywords].filter(kw => JSON.stringify({\n keyword: kw.keyword,\n countryCode: kw.countryCode,\n locationId: kw.locationId,\n location: kw.location,\n }) !== JSON.stringify({\n keyword: keyword,\n countryCode: currentPage.content.countryCode,\n locationId: currentPage.content.locationId,\n location: currentPage.content.location,\n }));\n currentPage.updateFeTargetKeywords(formatArray);\n\n const newKwLocation = {\n location: currentPage.content.location,\n locationId: currentPage.content.locationId,\n countryCode: currentPage.content.countryCode,\n };\n\n try {\n await currentPage?.editKeywords({keyword: keyword, ...newKwLocation}, 'delete');\n getCustomerQuota();\n } catch (err) {\n if (err?.response?.status === 429) {\n showSidebarPaymentDrawer(null, {title: 'You need more Content Genius focus terms quota to continue', subtitle: '', text: `Current limit: ${quotaUtilization?.ca?.allowedFocusTerms?.total} lookups`});\n }\n return Promise.reject(err);\n }\n };\n\n return
    \n \n
    {keyword ? keyword : '-'}
    \n
    \n
    \n\n {loadingArray && loadingArray.includes(keyword) ?\n : isIncluded ?\n
    onRemoveKeywordFinish()}>\n \n \n Remove\n
    :\n // adding a check to disable button if total target kw limit is reached\n currentPage?.feTargetKeywords?.length < 15 ?\n
    onAddKeywordFinish()}>\n \n Add to Project\n
    :\n \n
    \n \n
    \n
    \n\n }\n\n
    \n
    ;\n});\n","import {useEffect, useState, useCallback} from 'react';\nimport {useStore} from '@/store/root-store';\nimport {\n Drawer,\n Progress,\n Tooltip, Select} from 'antd';\nimport {observer} from 'mobx-react';\nimport styles from './style.module.scss';\nimport styled from 'styled-components';\nimport {formatNumber, numberWithCommas} from '@/utils/number';\nimport {Table, BarChartColumn, SkeletonRingLoader, Pagination, SkeletonHorizontalLoaderGray, Button} from '@/components/common-components';\nimport ReactEcharts from 'echarts-for-react';\nimport {EChartOption} from 'echarts';\nimport moment from 'moment';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {getProgressColor} from '@/utils/colors';\nimport {faArrowUp} from '@fortawesome/pro-regular-svg-icons';\nimport {faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport {toJS} from 'mobx';\nimport numeral from 'numeral';\nimport Flag from '@/components/common-components/components/flag';\nimport {SimilarKeyword} from './SimilarKeyword';\nimport {CloseOutlined} from '@ant-design/icons';\nimport {NextImg} from '@/utils/nextImg';\n\nexport const ContentResearchDrawer = observer(() => {\n const [isHovered, setIsHovered] = useState(false);\n\n\n const {\n countries: {getSpecificCountryByCode},\n OverviewPage: {\n isContentResearchDrawerOpen,\n loading,\n keywordDetail,\n closeContentResearchDrawer,\n getKeywordDetail,\n removeFromLoadingArray,\n },\n contentOptimizer: {currentPage},\n } = useStore('');\n const countryName = getSpecificCountryByCode(keywordDetail?.countryCode);\n\n const [activeKw, setActiveKw] = useState('');\n const [similarKeywordsPageNumber, setSimilarKeywordsPageNumber] = useState(1);\n const [similarKeywordsPageSize] = useState(8);\n const [similarKeywordsData, setSimilarKeywordsData] = useState([]);\n const [similarKeywordsList, setSimilarKeywordsList] = useState([]);\n\n const [topCompetitorsData, setTopCompetitorsData] = useState([]);\n const [rankingPotentialData, setRankingPotentialData] = useState([]);\n\n const {Option} = Select;\n\n\n const handleOnSelectChange = value => {\n setActiveKw(value);\n getKeywordDetail(currentPage?.content?.targetKeywords?.filter(item => item.keyword === value)[0]?.id);\n };\n\n\n /* SIMILAR KEYWORDS TABLE UPDATE START */\n const handleFilterRenderData = useCallback((dataArray: any, pageNumber: number, pageSize: number) => {\n const targetKwArray = currentPage?.content?.targetKeywords && currentPage?.content?.targetKeywords.length ? toJS(currentPage.content.targetKeywords).map(item => {\n return JSON.stringify({\n keyword: item.keyword,\n countryCode: item.countryCode,\n locationId: item.locationId,\n location: item.location,\n });\n }) : [];\n\n let similarKeywordsFormattedData = [];\n if (dataArray.length && targetKwArray?.length ) {\n const updatedData = toJS(dataArray).map(item => {\n return {\n ...item,\n isKwIncluded: targetKwArray.includes(JSON.stringify({\n keyword: item.keyword,\n countryCode: currentPage.content.countryCode,\n locationId: currentPage.content.locationId,\n location: currentPage.content.location,\n })),\n };\n });\n\n\n similarKeywordsFormattedData = updatedData;\n } else {\n similarKeywordsFormattedData = dataArray;\n }\n setSimilarKeywordsData(similarKeywordsFormattedData.slice((pageNumber - 1) * pageSize, ((pageNumber - 1) * pageSize) + pageSize));\n }, []);\n\n useEffect(() => {\n if (keywordDetail?.similarKeywords?.length > 0) {\n const kwArray = [...(currentPage?.content?.targetKeywords ?? [])].map(kw => kw.keyword);\n removeFromLoadingArray(kwArray);\n handleFilterRenderData([...keywordDetail.similarKeywords], similarKeywordsPageNumber, similarKeywordsPageSize);\n }\n }, [[...(currentPage?.content?.targetKeywords ?? [])].length, activeKw, toJS(keywordDetail?.similarKeywords)?.length, handleFilterRenderData, keywordDetail?.similarKeywords, similarKeywordsPageNumber, similarKeywordsPageSize]);\n\n useEffect(() => {\n if (keywordDetail?.similarKeywords?.length > 0) {\n setSimilarKeywordsList(keywordDetail.similarKeywords);\n }\n }, [toJS(keywordDetail?.similarKeywords)?.length, toJS(keywordDetail?.similarKeywords), activeKw]);\n\n\n const onPaginationChange = async (pageNumber: number, pageSize: number) => {\n setSimilarKeywordsPageNumber(pageNumber);\n handleFilterRenderData(keywordDetail.similarKeywords, pageNumber, pageSize);\n };\n\n const handleIssueTableChange = (pagination, filters, sorter) => {\n const {column, order} = sorter;\n const {sortField} = column || {};\n const data = [...similarKeywordsList];\n\n if (sortField && order && data) {\n data.sort( (a, b) => {\n const _dir = order === 'ascend' ? 1 : -1;\n if (a[sortField] > b[sortField]) return 1 * _dir;\n if (a[sortField] < b[sortField]) return -1 * _dir;\n return 0;\n });\n handleFilterRenderData(data, similarKeywordsPageNumber, similarKeywordsPageSize);\n } else {\n handleFilterRenderData(keywordDetail.similarKeywords, similarKeywordsPageNumber, similarKeywordsPageSize);\n }\n };\n /* SIMILAR KEYWORDS TABLE UPDATE END */\n\n /* TOP COMPETITORS TABLE UPDATE START */\n useEffect(() => {\n if (keywordDetail?.competitors?.length > 0) {\n setTopCompetitorsData(keywordDetail.competitors);\n }\n }, [toJS(keywordDetail?.competitors)?.length, activeKw]);\n\n\n const handleTopCompetitorsTableChange = (pagination, filters, sorter) => {\n const {column, order} = sorter;\n const {sortField} = column || {};\n const data = [...topCompetitorsData];\n if (sortField && order && data) {\n data.sort( (a, b) => {\n const _dir = order === 'ascend' ? 1 : -1;\n if ((a[sortField] || 0) > (b[sortField] || 0)) return 1 * _dir;\n if ((a[sortField] || 0) < (b[sortField] || 0)) return -1 * _dir;\n return 0;\n });\n\n setTopCompetitorsData(data);\n } else {\n setTopCompetitorsData(keywordDetail?.competitors);\n }\n };\n /* TOP COMPETITORS TABLE UPDATE END */\n\n /* RANKING POTENTIAL TABLE UPDATE START */\n useEffect(() => {\n const relevanceData = [];\n relevanceData?.push({\n competition: keywordDetail?.typicalTop10 && Object.keys(keywordDetail?.typicalTop10)[0],\n contentScore: keywordDetail?.typicalTop10?.typicalTop10?.averageContentScores,\n dr: keywordDetail?.typicalTop10?.typicalTop10?.averageDr,\n wordCount: keywordDetail?.typicalTop10?.typicalTop10?.averageWordCount,\n readAbility: keywordDetail?.typicalTop10?.typicalTop10?.averageReadability,\n });\n\n if (relevanceData.length > 0) {\n setRankingPotentialData(relevanceData);\n }\n }, [\n activeKw, keywordDetail?.typicalTop10?.typicalTop10?.averageContentScores,\n keywordDetail?.typicalTop10?.typicalTop10?.averageDr,\n keywordDetail?.typicalTop10?.typicalTop10?.averageWordCount,\n keywordDetail?.typicalTop10?.typicalTop10?.averageReadability,\n ]);\n\n // const addDefaultSrc = e => {\n // e.target.src = '/img/world-wide-web.svg';\n // };\n\n\n const handleRankingPotentialTableChange = (pagination, filters, sorter) => {\n const {column, order} = sorter;\n const {sortField} = column || {};\n const data = [...rankingPotentialData];\n if (sortField && order && data) {\n data.sort( (a, b) => {\n const _dir = order === 'ascend' ? 1 : -1;\n if ((a[sortField] || 0) > (b[sortField] || 0)) return 1 * _dir;\n if ((a[sortField] || 0) < (b[sortField] || 0)) return -1 * _dir;\n return 0;\n });\n\n setRankingPotentialData(data);\n } else {\n setRankingPotentialData(keywordDetail?.competitors);\n }\n };\n /* RANKING POTENTIAL TABLE UPDATE END */\n\n const columns = [\n {\n title: 'AVERAGE PER COMPETION',\n dataIndex: 'competition',\n key: 'competition',\n width: 180,\n align: 'left' as 'left',\n render: (_, data) =>
    {data?.competition || '-'}
    ,\n },\n {\n title: 'CONTENT SCORE',\n dataIndex: 'contentScore',\n sorter: true,\n sortField: 'contentScore',\n width: 100,\n align: 'center' as 'center',\n key: 'contentScore',\n render: (_, data) => {\n const percent = data?.contentScore ? data?.contentScore % 1 === 0 ? data?.contentScore : parseFloat(data?.contentScore.toFixed(2)) : 0;\n return
    \n {percent}}\n className={styles.progress}\n />\n
    ;\n },\n },\n {\n title: 'DR',\n dataIndex: 'dr',\n sorter: true,\n sortField: 'dr',\n width: 80,\n align: 'center' as 'center',\n key: 'dr',\n render: (_, data) => {\n const percent = data?.dr ? data?.dr % 1 === 0 ? data?.dr : parseFloat(data?.dr.toFixed(2)) : 0;\n return
    \n {percent}}\n className={styles.progress}\n />\n
    ;\n },\n },\n {\n title: 'WORD COUNT',\n key: 'wordCount',\n sortField: 'wordCount',\n sorter: true,\n width: 110,\n align: 'center' as 'center',\n dataIndex: 'wordCount',\n render: (_, data) => {\n return
    {data?.wordCount ? numberWithCommas(data?.wordCount) : '-'}
    ;\n },\n\n\n },\n {\n title: 'READABILITY',\n key: 'readAbility',\n dataIndex: 'readAbility',\n align: 'center' as 'center',\n width: 110,\n render: (_, data) => {\n return
    {data?.readAbility ? data?.readAbility : '-'}
    ;\n },\n\n },\n ];\n\n const topCompetitorColumns = [\n {\n title: 'SITE / URL',\n dataIndex: 'hostname',\n key: 'hostname',\n width: 300,\n align: 'left' as 'left',\n fixed: 'left' as 'left',\n render: (_, data) => {\n return
    \n \n
    \n
    {data.hostname}
    \n
    {data.url}
    \n
    \n
    ;\n },\n\n },\n {\n title: 'POS',\n dataIndex: 'position',\n key: 'position',\n width: 50,\n sortField: 'position',\n align: 'left' as 'left',\n render: (_, data) => {\n return
    {data?.position}
    ;\n },\n },\n {\n title: ()=>
    CONTENTSCORE
    ,\n dataIndex: 'contentScore',\n sortField: 'contentScore',\n sorter: true,\n width: 130,\n align: 'center' as 'center',\n key: 'contentScore',\n render: (_, data) => {\n const percent = data?.contentScore ? data?.contentScore % 1 === 0 ? data?.contentScore : parseFloat(data?.contentScore.toFixed(2)) : 0;\n return
    \n {percent}}\n className={styles.progress}\n />\n
    ;\n },\n },\n {\n title: 'DR',\n dataIndex: 'dr',\n sortField: 'dr',\n sorter: true,\n width: 60,\n align: 'center' as 'center',\n key: 'dr',\n render: (_, data) => {\n const percent = data?.dr ? data?.dr % 1 === 0 ? data?.dr : parseFloat(data?.dr.toFixed(2)) : 0;\n return
    \n {percent}}\n className={styles.progress}\n />\n
    ;\n },\n },\n {\n title: 'WORD COUNT',\n key: 'wordCount',\n sortField: 'wordCount',\n sorter: true,\n align: 'center' as 'center',\n width: 100,\n dataIndex: 'wordCount',\n render: (_, data) => {\n return
    {data?.wordCount ? numberWithCommas(data?.wordCount) : '-'}
    ;\n },\n\n\n },\n {\n title: 'READABILITY',\n key: 'readability',\n dataIndex: 'readability',\n align: 'center' as 'center',\n width: 170,\n render: (_, data) => {\n return
    {data?.readability ? data?.readability : '-'}
    ;\n },\n\n },\n ];\n\n const squareTooltip = (hostname, url, keyword, score) => (\n
    \n
    \n
    \n
    {hostname}
    \n {url}\n
    \n {score > 0 ? `uses ` : `did not use `}\n {keyword} \n {score > 0 && <>{score}\n {score == 1 ? `time` : `times`}}\n
    \n
    \n
    \n );\n\n const SimilarKeywordConfig = [\n {\n title: 'KEYWORD',\n dataIndex: 'keyword',\n key: 'keyword',\n align: 'left' as 'left',\n width: 240,\n render: (_, record) => {\n return ();\n },\n },\n {\n title: 'TREND',\n dataIndex: 'histSv',\n align: 'center' as 'center',\n key: 'histSv',\n width: 70,\n render: (series: EChartOption.Series[]) => {\n const formatSeries = {\n data: series,\n itemStyle: {color: '#7f4ead'},\n type: 'bar',\n };\n return
    ;\n },\n },\n\n {\n title: 'SV',\n width: 70,\n dataIndex: 'sv',\n align: 'center' as 'center',\n key: 'sv',\n sortField: 'sv',\n sorter: true,\n render: (_, data) => {\n return
    {numeral(data?.sv).format('0.[0][a]')}
    ;\n },\n },\n\n {\n title: 'CPC',\n dataIndex: 'cpc',\n align: 'center' as 'center',\n width: 70,\n key: 'cpc',\n sortField: 'cpc',\n sorter: true,\n render: (_, data) => {\n return
    {`$${data?.cpc}`}
    ;\n },\n },\n ];\n // useEffect(() => {\n // if (isContentResearchDrawerOpen && !isInitialDataFetch) {\n // getKeywordDetail(currentPage?.content?.targetKeywords?.filter(item => item.keyword === activeKw)[0]?.id);\n // }\n // }, [activeKw]);\n\n return {\n closeContentResearchDrawer();\n }}\n closeIcon={}\n className={styles.contentResearchDrawerStyle}\n afterVisibleChange={visible => {\n if (visible) {\n setActiveKw(currentPage?.content?.targetKeywords[0]?.keyword || '');\n getKeywordDetail(currentPage?.content?.targetKeywords[0]?.id);\n }\n }}\n bodyStyle={{backgroundColor: '#F2F2F5', paddingLeft: '0', paddingRight: '0'}}>\n \n Content Research\n \n
    \n \n Based on Keyword:\n \n handleOnSelectChange(value)}\n dropdownStyle={{minWidth: '150px', fontSize: '12px'}}\n dropdownClassName={styles.keywordDropdownList}\n className={styles.selectInput}\n suffixIcon={}\n >\n {currentPage?.content?.targetKeywords?.map(item => {\n return ;\n })}\n\n \n
    \n
    \n
    \n\n {loading ? :\n
    {keywordDetail?.countryCode ? : }\n {keywordDetail?.countryCode ? countryName?.name : 'Worldwide'}\n
    }\n\n {loading ? :\n
    \n KD: 75 ? '#F44343' : keywordDetail?.kd < 76 && keywordDetail?.kd > 50 ? '#e4a469' : keywordDetail?.kd < 51 && keywordDetail?.kd > 25 ? '#bfe15e' : '#1d754e' : '#696777'}}>•{keywordDetail?.kd || '-'}\n
    }\n {loading ? :
    SV: {numeral(keywordDetail?.sv).format('0.[0][a]')}
    }\n\n {loading ? :\n
    Total Search Results: {keywordDetail?.totalSearchResults ? numeral(keywordDetail?.totalSearchResults).format('0.[0][a]') : '0'}
    }\n
    \n
    \n
    \n
    \n
    Ranking Potential
    \n {keywordDetail?.rankingPotential ?\n
    \n
    \n
    {keywordDetail?.rankingPotential}
    \n
    : null }\n \n
    \n
    \n
    \n
    Search Volume
    \n {loading ? : <>
    {formatNumber(keywordDetail?.sv)}
    \n
    \n data.date) : [],\n type: 'category',\n show: true,\n axisLabel: {\n interval: 10,\n formatter: label => {\n const date = moment(label);\n return `{month|${date.format('MMM')}}-{year|${date.format('YY')}}`;\n },\n rich: {\n month: {\n color: '#77757D',\n lineHeight: 15.54,\n },\n year: {\n color: '#77757D',\n fontSize: 12,\n lineHeight: 12.95,\n },\n },\n },\n splitLine: {\n show: false,\n },\n },\n yAxis: {\n type: 'value',\n show: true,\n axisLabel: {\n formatter: label => {\n return `${formatNumber(label)}`;\n },\n },\n splitLine: {\n lineStyle: {\n color: '#E8E8E8',\n type: 'dashed',\n width: 1},\n show: true,\n },\n },\n grid: {\n height: '70%',\n left: '10%',\n top: '9%',\n },\n series: [\n {\n data: keywordDetail?.svTrend?.map(data => data.volume) || [],\n type: 'line',\n areaStyle: {},\n symbolSize: 2,\n symbol: '',\n },\n ],\n }} />\n
    }\n\n
    \n
    \n\n\n
    \n
    \n
    Common Citations
    \n {loading ? :\n
    \n {keywordDetail?.commonCitations?.length ? keywordDetail?.commonCitations?.map((citation, index) => {\n return (citation?.url && !citation?.url.startsWith('javascript:')) &&
    \n
    {citation.url && addDefaultSrc(e)}\n src={`https://www.google.com/s2/favicons?sz=16&domain_url=${citation.url}`} />}
    \n
    \n
    {citation?.title}
    \n\n {citation?.url ?\n {citation?.url} : null}\n {citation?.metaDesc && citation?.metaDesc?.length > 70 ?\n \n
    {citation?.metaDesc.substring(0, 70) + '...'}
    \n :
    {citation?.metaDesc}
    }\n {citation?.serps ?
    \n Used by:\n
    \n {citation?.serps?.map((serp, idx) => idx < 5 && (\n \n
    {serp.title}
    \n {serp?.url ? {serp.url} : null}\n
    {serp.metaDesc && serp?.metaDesc?.length > 70 ? serp?.metaDesc?.substring(0, 70) + '...' : serp.metaDesc}
    \n
    {`Position: ${serp.position}`}
    \n }\n overlayClassName={styles.serpTooltip}>\n
    addDefaultSrc(e)}\n src={`https://www.google.com/s2/favicons?sz=16&domain_url=${serp.url}`} />
    \n \n ))}\n {citation?.serps?.length > 9 && (\n {`+${citation?.serps?.length - 9}`}\n )}\n
    \n
    : null}\n\n
    \n
    ;\n }) :
    No data available
    }\n {/* return
    \n \n
    \n\n
    {getDomain(item?.url)}
    \n
    \n {item?.title}\n
    \n
    \n
    ;\n })} */}\n
    }\n
    \n \n
    \n \n Top competitor content\n\n \n \n
    \n
    \n \n Similar keywords\n\n \n \n
    \n \n
    \n {\n closeContentResearchDrawer();\n currentPage.setIsOpeningKwSuggestionFromContentResearch(true);\n currentPage.openCompetingFocusTermsDrawer();\n }}>View all keywords\n
    \n\n
    \n
    \n\n
    \n \n Relevant terms used by Competitors\n\n \n {loading ? : <>\n \n COMPETITOR RANK\n
    \n {keywordDetail && keywordDetail?.termsGrid?.sites?.map((x, i) => (\n {i + 1}\n ))}\n
    \n
    \n
    \n {keywordDetail && keywordDetail?.termsGrid?.sites?.map((x, i) => {\n if (!x?.hostname) {\n return (\n \n Created From Scratch\n \n );\n }\n return (\n \n \n {/* {x?.hostname} */}\n \n \n \n );\n })}\n
    \n\n\n \n
    \n FOCUS TERMS\n DISTRIBUTION\n \n
    \n
    \n 0\n 1-3\n 3-10\n 10+\n
    \n
    \n {keywordDetail && keywordDetail?.termsGrid?.focusTermUsageBySites?.map((item, i) => (\n
    \n
    {item.name}
    \n {item.values?.map((score, i) => (\n \n {\n setIsHovered(true);\n }} onMouseLeave={() => {\n setIsHovered(false);\n }} style={{backgroundColor: getProgressColor(score ?? 0, 0, 3, 10)}}>{score}\n \n ))}\n
    \n ))}}\n
    \n
    \n ;\n});\n\nconst PageTitle = styled.div`\n font-weight: 600;\n margin-bottom: 10px;\n margin-left: 40px;\n font-size: 20px;\n`;\nconst Header = styled.div`\n display: flex;\n margin-bottom: 10px;\n padding-left: 40px;\n`;\n\nconst TitleContainer = styled.div`\nheight: 60px;\nbackground: #2D2F34;\npadding: 18px;\nborder-radius: 8px 8px 0px 0px;\n`;\nconst Title = styled.div`\n font-weight: 500;\n font-size: 14px;\n color: #fff;\n line-height: 22px;\n`;\n\nconst SectionHeader = styled.div`\n background: #F7F7F8;\n border-radius: 3px;\n margin-right: 4px;\n margin-left: 4px;\n display: flex;\n color: #121212;\n padding: 15px 10px;\n font-size: 12px;\n font-weight: 600;\n`;\n\nconst MiddleContainer = styled.div`\n display: flex;\n padding: 0 40px 30px 40px;\n`;\n\nconst Square = styled.div<{ isHovered: boolean }>`\n width: 40px;\n height: 25px;\n border-radius: 3px;\n background-color: red;\n cursor: pointer;\n color: transparent;\n \n opacity: ${p => p.isHovered && '0.5'};\n \n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n color: white;\n opacity: 1;\n }\n`;\n\nconst Dot = styled.div`\n border-radius: 50%;\n height: 5px;\n margin-right: 5px;\n width: 5px;\n`;\n\nconst Rank = styled.div`\n background-color: #d3d3d7;\n width: 40px;\n height: 25px;\n font-size: 12px;\n color: #4E5156;\n justify-content: center;\n display: flex;\n align-items: center;\n`;\n\n\nconst Site = styled.div`\n writing-mode: tb-rl;\n transform: rotate(-180deg);\n font-size: 12px;\n color: #2D6CCA;\n width: 40px;\n display: flex;\n align-items: center;\n`;\n\nconst IsRanking = styled.span`\n padding: 2px 7px;\n background-color: #1FAC47;\n border-radius: 3px;\n color: #fff;\n margin-right: 5px;\n`;\n","import KeywordDetailContent from '@/components/dashboard/pages/keyword-researcher-v2/keyword-detail-drawer-content';\nimport {useStore} from '@/store/root-store';\nimport {CloseOutlined} from '@ant-design/icons';\nimport {Drawer} from 'antd';\nimport {observer} from 'mobx-react-lite';\n\nexport const KeywordsDrawer = observer(() => {\n const {contentOptimizer: {currentPage}} = useStore('');\n\n return {\n // scroll to related keywords table automaticaly\n if (visible) {\n if (currentPage?.isDrawerFromCa) {\n document.getElementById('SuggestedKeywordTableId')?.scrollIntoView({block: 'center'});\n }\n }\n }}\n onClose={() => {\n currentPage.setIsDrawerFromCa(false);\n currentPage.setIsOpenKeywordDrawer(false);\n currentPage.setActiveTargetKw('');\n }}\n bodyStyle={{backgroundColor: '#F2F2F5', paddingLeft: '0', paddingRight: '0'}}\n className={'drawerCloseIcon'}\n closeIcon={}>\n \n ;\n});\n","import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport styled from 'styled-components';\nimport {faArrowLeft} from '@fortawesome/pro-regular-svg-icons';\n\ninterface Props {\n changeView: () => void;\n}\n\nexport const TechnicalsViewSwitcher = ({changeView}: Props) => {\n return changeView()}>\n \n Back to Content\n ;\n};\n\nconst TechnicalsSwitcherContainer = styled.div`\n display: flex;\n margin-bottom: 20px;\n font-size: 12px;\n align-items: center;\n cursor: pointer;\n`;\n","\nimport {observer} from 'mobx-react';\nimport {Spin} from 'antd';\nimport {useStore} from '@/store/root-store';\nimport styled from 'styled-components';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {isNil} from 'lodash';\nimport moment from 'moment';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faRotateRight} from '@fortawesome/pro-regular-svg-icons';\n\nexport const PageSpeedIndex = observer(() => {\n const secondAntIcon = ;\n\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n const generateDotWithColor = (status?: string) => {\n if (status) {\n if (status === 'Fast' || status === 'Good') return ;\n if (status === 'Moderate' || status === 'Average' || status === 'Ok') return ;\n if (status === 'Slow' || status === 'Bad') return ;\n } else {\n return
    ;\n }\n };\n\n const refetchArticle = uuid => {\n currentPage?.refetchPage(uuid);\n };\n // currentPage.isInitialPageLoad\n return \n \n Page Speed Index:\n {!currentPage?.isWordCountLoading ? <>\n {generateDotWithColor(currentPage?.analysis?.psiMetrics?.avgSpeedIndex?.status) }\n {!isNil(currentPage?.analysis?.psiMetrics?.avgSpeedIndex?.score) ? <>{Math.round(currentPage?.analysis?.psiMetrics?.avgSpeedIndex?.score * 100)}/100 : null}\n :\n }\n \n\n\n \n Last Fetch: \n {!currentPage?.content?.updatedAt ? : moment(currentPage?.content?.updatedAt).format('DD MMM YYYY')}\n refetchArticle(currentPage?.content?.uuid) }/>\n\n \n ;\n});\n\n\nconst Container = styled.div`\n cursor: default;\n`;\nconst SpeedIndexContainer = styled.div`\n font-size: 12px;\n display: flex;\n align-items: center;\n color: #e8e8e8 !important;\n cursor: default;\n margin-top: 5px;\n`;\nconst LastFetchContainer = styled.div`\n font-size: 12px;\n display: flex;\n align-items: center;\n color: #e8e8e8 !important;\n cursor: default;\n`;\nconst SpeedIndexDot = styled.div`\n border-radius: 2px;\n height: 4px;\n margin-left: 8px;\n margin-right: 3px;\n width: 4px;\n`;\n","import {useStore} from '@/store/root-store';\nimport {Progress, Spin, Tooltip} from 'antd';\nimport {observer} from 'mobx-react-lite';\nimport {useTranslation} from 'next-i18next';\nimport styled from 'styled-components';\nimport {getProgressColor} from '@/utils/colors';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCircleInfo} from '@fortawesome/pro-regular-svg-icons';\nimport {PageSpeedIndex} from '../PageSpeedIndex';\nimport {LoadingOutlined} from '@ant-design/icons';\n\n\nexport const TechnicalScore = observer(() => {\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n const {t} = useTranslation('common');\n\n const antIcon = ;\n\n\n const technicalsMsgColorMap = [\n {\n color: '#1FAC47',\n msg: 'Technical score is Very Good',\n },\n {\n color: '#BFE15E',\n msg: 'Technical score is Good',\n },\n {\n color: '#FF8536',\n msg: 'Technical score Needs Improvement',\n },\n {\n color: '#F44343',\n msg: 'Technical score is Bad',\n },\n {\n color: '#B62222',\n msg: 'Technical score is Very Bad',\n },\n ];\n\n const getTechnicalsMsg = value => {\n if (value < 60) {\n return technicalsMsgColorMap[4].msg;\n } else if (value > 59 && value < 70) {\n return technicalsMsgColorMap[3].msg;\n } else if (value > 69 && value < 80) {\n return technicalsMsgColorMap[2].msg;\n } else if (value > 79 && value < 90) {\n return technicalsMsgColorMap[1].msg;\n } else {\n return technicalsMsgColorMap[0].msg;\n }\n };\n\n\n return \n {!currentPage.isScoreLoading ? (currentPage?.analysis?.technicalScore ?? '-') : }} />\n \n \n {t('technical-score')}\n \n \n \n \n\n \n \n\n ;\n});\n\nconst Container = styled.div`\n width: 100%;\n display: flex;\n height: 30px;\n`;\nconst TitleContainer = styled.div`\n display: flex;\n align-items: center;\n`;\nconst Title = styled.div`\n font-weight: 500;\n line-height: 17px;\n color: #fff;\n`;\nconst TitleAndWordCount = styled.div`\n margin-left: 10px;\n`;\nconst ProgressStyled = styled(Progress)`\n .ant-progress-text {\n top: 40%;\n }\n`;\n","import {Button, GrayButton} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {routes} from '@/utils/const';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {faFileChartColumn} from '@fortawesome/pro-regular-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Checkbox as AntdCheckbox, Form, Popover, Spin, Tooltip} from 'antd';\nimport {useState} from 'react';\nimport styled from 'styled-components';\nimport {TechnicalsViewSwitcher} from '../../Common/ViewSwitcher';\nimport {TechnicalScore} from './TechnicalScore';\nimport {Checkbox} from '@/components/common-components/v2';\nimport {observer} from 'mobx-react';\n\ninterface Props {\n changeView: () => void;\n}\n\nexport const HeaderSection = observer(({changeView}: Props) => {\n const [auditLoader, setAuditLoader] = useState(false);\n const [onPageAuditPopoverVisible, setOnPageAuditPopoverVisible] = useState(false);\n\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n const {contentAuditStore: {loadContentAudit, setNewRecordId}} = useStore('');\n\n const antIconSecond = ;\n\n const [form] = Form.useForm();\n\n const onRunPageAudit = async (values: any) => {\n if (!values['target-keywords'] || !values['target-keywords'].length) return;\n\n if (currentPage?.content?.importedFromUrl) {\n setAuditLoader(true);\n const countryCodeToUse = {\n countryCode: currentPage.content.countryCode,\n location: currentPage.content.location,\n locationId: currentPage.content.locationId,\n };\n\n const getId = await loadContentAudit(currentPage.content.importedFromUrl, values['target-keywords'], countryCodeToUse, currentPage.content.shouldUseHeadlessBrowser);\n if (getId?.id) {\n setAuditLoader(false);\n setNewRecordId(getId.id);\n window.open(`${window.location.origin}/${routes.onPageAuditDetails}/${getId.id}`, '_blank');\n }\n setAuditLoader(false);\n }\n };\n\n return \n \n \n {currentPage?.feTargetKeywords?.length ? \n Select 1 to 3 Target Keywords\n \n ({\n validator(_, value) {\n const existingValues = form.getFieldsValue(true);\n if (!value || !existingValues['target-keywords']?.length) return Promise.reject(new Error('Please select at least 1 Target Keyword.'));\n if (existingValues['target-keywords']?.length && existingValues['target-keywords']?.length > 3) return Promise.reject(new Error('You can use maximum of 3 Target Keywords.'));\n\n return Promise.resolve();\n },\n })]}>\n \n \n {currentPage?.getUniqueKeywords?.map((kw, idx) => {\n return \n {kw}\n ;\n })}\n \n \n \n \n setOnPageAuditPopoverVisible(false)}>Cancel\n \n \n \n \n \n }>\n setOnPageAuditPopoverVisible(!onPageAuditPopoverVisible)} color='neonBlue' variant='ghost' mode='dark'>\n {auditLoader ? : }\n Run Complete Onpage Audit\n \n : \n \n {auditLoader ? : }\n Run Complete Onpage Audit\n \n }\n \n\n \n ;\n});\n\nconst Container = styled.div`\n width: 100%;\n align-items: center;\n margin-bottom: 30px;\n margin-top: 10px;\n`;\n\nconst TopSeactionContainer = styled.div`\n display: flex;\n justify-content: space-between;\n`;\nconst RunPageAuditBtn = styled(Button)`\n color: #4881f0 !important;\n cursor: pointer;\n display: flex;\n margin-bottom: 20px;\n`;\n\nconst BtnText = styled.div`\n margin-left: 5px;\n display: inline-block;\n color: #34AEF3 !important;\n font-size: 12px;\n\n // &:hover {\n // text-decoration: underline;\n // }\n`;\n\nconst PopoverWrapper = styled.div`\n\n`;\n\nconst PopoverTitle = styled.div`\n font-weight: 600;\n margin-bottom: 20px;\n`;\nconst PopoverKwContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`;\n\nconst FormStyled = styled(Form)`\n .ant-checkbox-wrapper + .ant-checkbox-wrapper {\n margin-left: 0px;\n }\n\n .ant-checkbox-wrapper {\n line-height: 22px !important;\n }\n\n .ant-form-item-explain-error {\n font-size: 12px;\n }\n`;\n\nconst PopoverBtnContainer = styled.div`\n display: flex;\n justify-content: flex-end;\n`;\n\n","import {CaretUpFilled} from '@ant-design/icons';\nimport {Col, Collapse, Row} from 'antd';\nimport {Pagination, Checkbox, Tooltip} from 'antd';\nimport classNames from 'classnames';\nimport {ReactNode, useEffect, useState} from 'react';\nimport {useTranslation} from 'next-i18next';\nimport styles from './style.module.scss';\nimport {ChevronDown, ChevronUp} from 'react-feather';\nimport classnames from 'classnames';\nimport {faFilter, faCaretDown, faCaretUp} from '@fortawesome/pro-solid-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n// import {NextImg} from '@/utils/nextImg';\n\nimport {toJS} from 'mobx';\ninterface filters {\n label: string;\n checked: boolean;\n disabled?: boolean;\n disabledTooltip?: string;\n onChange: () => void;\n}\n\ninterface columnTitle {\n title?: string;\n sorter?: boolean;\n sortKey?: string | number;\n}\n\ninterface Props {\n className?: string;\n icon?: ReactNode;\n title?: string;\n description?: string | ReactNode;\n descriptionColor?: string;\n colTitle1?: string;\n colTitle2?: columnTitle;\n colTitle3?: string;\n colTitle4?: string;\n data?: any;\n dataRenderer?: any;\n pageSize?: any;\n footer?: ReactNode;\n isCollapse?: boolean;\n defaultActive?: boolean;\n filters?: filters[];\n plan?: any;\n warningBar?: ReactNode;\n}\n\nexport const AnalyticsCollapseCard = ({\n className,\n icon,\n title,\n description,\n descriptionColor,\n colTitle1,\n colTitle2 = {\n title: null,\n sorter: false,\n sortKey: null,\n },\n colTitle3,\n colTitle4,\n data,\n dataRenderer,\n pageSize,\n footer,\n isCollapse = true,\n defaultActive = false,\n filters,\n plan = true,\n warningBar,\n}: Props) => {\n const [pageNumber, setPageNumber] = useState(1);\n const [checkData, setCheckData] = useState(false);\n const [isFilterOpened, setIsFilterOpened] = useState(false);\n const [sortOrder, setSortOrder] = useState('');\n const [formatData, setFormatData] = useState(null);\n const [activeKey, setActiveKey] = useState(['']);\n const {t} = useTranslation('common');\n\n const getData = () => {\n if (pageSize) {\n return formatData?.slice((pageNumber - 1) * pageSize, pageNumber * pageSize);\n }\n return formatData;\n };\n useEffect(() => {\n if (getData()?.length > 0 || formatData === undefined || footer) {\n setCheckData(isCollapse);\n }\n }, [getData]);\n\n useEffect(() => {\n let newData = [];\n if (data) {\n newData = data.map(item => {\n return toJS(item);\n });\n }\n setFormatData(newData);\n }, [JSON.stringify(data)]);\n\n useEffect(() => {\n if (defaultActive) {\n setActiveKey([title]);\n }\n }, [defaultActive]);\n\n const sortData = (sortBy: string | number) => {\n const formatArray = [...data];\n if (sortOrder === '') {\n setSortOrder('desc');\n setFormatData(formatArray.sort((a, b) => {\n if (b[sortBy] < a[sortBy]) return -1;\n }));\n } else if (sortOrder === 'desc') {\n setSortOrder('asc');\n setFormatData(formatArray.sort((a, b) => {\n if (a[sortBy] < b[sortBy]) return -1;\n }));\n } else if (sortOrder === 'asc') {\n setSortOrder('');\n setFormatData(data);\n }\n };\n\n const changeActiveKey = key => {\n setActiveKey(key);\n };\n\n\n return (\n isCollapse ? (\n \n ) : null}\n >\n \n
    \n {icon}\n
    {title}
    \n
    \n
    \n {description}\n
    \n \n }\n >\n
    \n {warningBar && warningBar}\n {/* if we have 4 columns */}\n {colTitle3 && colTitle4 ?\n \n \n
    \n {colTitle1}\n
    \n \n \n
    \n {colTitle2.title}\n
    \n \n {colTitle3 ?\n \n
    \n {colTitle3}\n
    \n : null}\n {colTitle4 ?\n \n
    \n {colTitle4}\n
    \n : null}\n
    :\n \n \n
    \n {colTitle1}\n
    \n \n \n
    {\n if (colTitle2.sorter && colTitle2.sortKey && data && data.length) {\n sortData(colTitle2.sortKey);\n }\n }}>\n {colTitle2.title}\n {colTitle2.sorter && colTitle2.sortKey && data && data.length ?\n
    \n \n \n
    :\n null}\n\n
    \n \n
    \n }\n\n {getData()?.map((x, i) => dataRenderer(x, i))}\n
    \n {pageSize && (pageSize < data?.length) && (\n <>\n\n setPageNumber(pageNumber)}\n disabled={!plan}\n />\n \n )}\n {filters && filters.length >= 1 ?\n ( setIsFilterOpened(!isFilterOpened)}\n className={styles.filters}>\n {/* */}\n \n
    \n {`${t('filters')}: ${filters.filter(filter => filter.checked).length}`}\n \n {isFilterOpened ? : }\n \n
    \n {\n isFilterOpened && (\n e.stopPropagation()}>\n
    \n {filters.map((filter, idx) => (\n filter.disabled ?\n \n {\n filter.onChange();\n setIsFilterOpened(!isFilterOpened);\n }}>\n {filter.label}\n \n :\n {\n filter.onChange();\n setIsFilterOpened(!isFilterOpened);\n }}>\n {filter.label}\n \n ))\n }\n
    \n
    \n )\n }\n ) : null }\n \n {footer}\n \n \n );\n};\n","import React, {Dispatch, SetStateAction, useState} from 'react';\nimport styled from 'styled-components';\nimport {observer} from 'mobx-react-lite';\nimport {Modal} from '@/components/common-components';\nimport {Divider} from 'antd';\nimport {GrayButton} from '@/components/common-components/v2';\n\ninterface Props {\n visible: boolean;\n schema: any;\n setShowModal: Dispatch>;\n}\n\nexport const SchemaModal = observer(({visible, schema, setShowModal}: Props) => {\n const dataList = schema ? JSON.parse(schema) : [];\n const data = (typeof (dataList) === 'object' && Object.keys(dataList).length === 0) ? [] : dataList?.find(item => item.graph) || [];\n const [expanded, setExpanded] = useState(false);\n const dataForDisplay = expanded ? data?.graph : data?.graph?.slice(0, 1);\n return (\n setShowModal(false)}\n footer={
    setShowModal(false)}>Close
    }>\n \n\n \n Schema.org\n {<>\n @context\n {data?.context ?? '-'}\n @graph\n {dataForDisplay?.map((item, index) => {\n return <>#{index + 1}\n
    \n \n
    \n {Object.entries(item)?.map(x => {\n return <>\n {`${x[0]}`}\n {`${x[0]}` == 'potentialAction' ? '' : (`${x[0]}` == 'url' ? {`${x[1]}`} :\n {`${typeof(x[1])!=='object' ? x[1] : '-'}`})}\n {`${x[0]}` == 'potentialAction' ? item.potentialAction?.length > 0 && item?.potentialAction?.map((z, id) => {\n return
    \n \n
    \n {z?.type}\n {z?.queryInput}\n
    \n
    ;\n }) : ''}\n ;\n })}\n
    \n
    ;\n })}\n {data?.graph?.length > 1 ?
    \n setExpanded(!expanded)}>\n {expanded ? 'Hide schema' : 'Show full schema'}\n
    : ''}\n }\n
    \n
    \n \n\n );\n});\n\nconst MainContainer = styled.div`\n width: 100%;\n padding: 25px;\n background: #FFFFFF;\n`;\n\nconst Title = styled.div`\n font-weight: 400;\n font-size: 14px;\n line-height: 20px;\n color: #121212;\n flex-wrap: nowrap;\n white-space: pre-wrap;\n word-break: break-word;\n`;\nconst Subtitle = styled.div`\n font-weight: 300;\n font-size: 14px;\n line-height: 22px;\n color: #4E5156;\n margin-top: 10px;\n word-break: break-word;\n`;\nconst LargeLine = styled.div`\n width: 2px;\n height: auto;\n background: #E8E8E8;\n border-radius: 6px;\n margin-right: 9px;\n`;\nconst URL = styled.div`\n font-weight: 400;\n font-size: 14px;\n line-height: 17px;\n color: #2D6CCA;\n cursor: pointer;\n flex-wrap: nowrap;\n white-space: pre-wrap;\n word-break: break-word;\n`;\n\nconst ModalContentWrapper = styled.div`\n max-height: 70vh;\n overflow-y: auto;\n margin-top: 10px;\n // border: 1px solid #E8E8E8;\n // border-radius: 8px;\n`;\n\nconst ModalTitle = styled.div`\n font-weight: 600;\n font-size: 20px;\n`;\n","import css from '../../index.module.scss';\nimport {\n Typography,\n Row,\n Col,\n Popover,\n Tooltip,\n} from 'antd';\nimport {useStore} from '@/store/root-store';\nimport {AnalyticsCollapseCard} from '../../Common/AnalyticsCollapseCard';\nimport styles from '../style.module.scss';\nimport {useTranslation} from 'next-i18next';\nimport {getStatusColor} from '@/utils/colors';\nimport {NextImg} from '@/utils/nextImg';\n\nimport classNames from 'classnames';\nimport {Code, ExternalLink, Image,\n List,\n Video} from 'react-feather';\nimport {WarningMiniBar} from '@/components/common-components/components';\nimport {\n ButtonLink,\n} from '@/components/common-components/components';\nimport {Button} from '@/components/common-components/v2';\nimport {useState} from 'react';\n\nimport {MixPanel} from '@/utils/mixpanel';\nimport {observer} from 'mobx-react-lite';\nimport {SCA_PAGE_EXTERNAL_LINKS_SHOW_BROKEN, SCA_PAGE_IMAGES_SHOW_MISSING_ALT, SCA_PAGE_INTERNAL_LINKS_SHOW_BROKEN} from '@/constants/events';\nimport {SchemaModal} from '../SchemaModal';\nimport {toJS} from 'mobx';\nimport {linkgraphDomain} from '@/utils/const';\n\n\nexport const TechnicalsData = observer(() => {\n const [showMissingAltText, setShowMissingAltText] = useState(false);\n const [isActiveInternalBrokenLinks, setIsActiveInternalBrokenLinks] = useState(false);\n const [isActiveExternalBrokenLinks, setIsActiveExternalBrokenLinks] = useState(false);\n const [showSchemaModal, setShowSchemaModal] = useState(false);\n\n\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n\n const {Title} = Typography;\n const {t} = useTranslation('common');\n\n\n // const addDefaultSrc = e => {\n // e.target.src = '/img/icon/broken-image.svg';\n // };\n\n const translateWord = (status: string) => {\n switch (status) {\n case 'Good':\n return t('good');\n case 'Average':\n return t('average');\n case 'Bad':\n return t('bad');\n case 'Missing':\n return t('missing');\n case 'Not Included':\n return 'Not Included';\n default:\n return '';\n }\n };\n\n const internalLinksFilters = [{\n label: 'Show only links with issues',\n disabledTooltip: 'There are no links with issues on this page',\n checked: isActiveInternalBrokenLinks,\n disabled: currentPage?.analysis?.links?.internal?.filter(link => link.statusCode && link.statusCode && link.statusCode > 299)?.length == 0,\n onChange: () => {\n setIsActiveInternalBrokenLinks(!isActiveInternalBrokenLinks);\n // monitoring for false value even tho we need true\n // the reason is that the event doesn't notice the change immediately\n if (!isActiveInternalBrokenLinks) {\n MixPanel.track(SCA_PAGE_INTERNAL_LINKS_SHOW_BROKEN, {\n 'pageId': currentPage?.content.uuid,\n 'description': 'Filtering for broken internal links',\n });\n }\n },\n }];\n\n const uiFormatImageSize = (size: string) => {\n if (size) {\n let returnSize = null;\n const sizeArray = size.split('x');\n returnSize =
    {`x ${sizeArray[0]}`}
    {sizeArray[1]}
    ;\n return returnSize;\n } else {\n return '-';\n }\n };\n\n const brokenHeaders =
    {currentPage?.analysis?.brokenHeaders?.map((item, i) => {\n return {item.type}{(i + 1) < currentPage?.analysis?.brokenHeaders?.length && `, `};\n })}{translateWord(currentPage?.analysis?.status?.headers)}
    ;\n\n const getMissingAltText = () => {\n if (showMissingAltText && currentPage?.analysis?.images?.img) {\n return currentPage?.analysis.images.img.filter(image => !image.alt || image.alt === '');\n } else if (currentPage?.analysis?.images?.img) {\n return currentPage?.analysis.images.img;\n }\n };\n\n const getMissingAltTotal = () => {\n if (!currentPage?.analysis?.images?.img?.length) return null;\n if (currentPage?.analysis.images.img.filter(image => !image.alt || image.alt === '').length) {\n return currentPage?.analysis.images.img.filter(image => !image.alt || image.alt === '').length;\n } else {\n return null;\n }\n };\n\n const generateInternalLinksDesc = () => {\n const msgArr = [];\n let labelColor = '#fff';\n\n if (currentPage?.analysis?.getInternalBrokenLinksCount || currentPage?.analysis?.getInternalBrokenLinksCount === 0) {\n const msg = currentPage?.analysis?.getInternalBrokenLinksCount > 1 || currentPage?.analysis?.getInternalBrokenLinksCount == 0 ? 'link issues' : 'link issue';\n msgArr.push(`${currentPage?.analysis?.getInternalBrokenLinksCount} ${msg}`);\n if (currentPage?.analysis?.getInternalBrokenLinksCount > 0) {\n labelColor = '#F44343';\n }\n }\n\n if (currentPage?.analysis?.getInternalRedirectsCount || currentPage?.analysis?.getInternalRedirectsCount === 0) {\n const msg = currentPage?.analysis?.getInternalRedirectsCount > 1 || currentPage?.analysis?.getInternalRedirectsCount == 0 ? 'redirects' : 'redirect';\n msgArr.push(`${currentPage?.analysis?.getInternalRedirectsCount} ${msg}`);\n }\n if (currentPage?.analysis?.links?.internal?.length) {\n return <>{msgArr[0] && {msgArr[0]}, } {msgArr[1] && {msgArr[1]}};\n } else {\n return '0';\n }\n };\n\n const imagesFilter = [{\n label: 'Show only missing alt text',\n checked: showMissingAltText,\n disabled: currentPage?.analysis?.images?.img?.filter(image => !image.alt || image.alt === '')?.length == 0,\n onChange: () => {\n setShowMissingAltText(!showMissingAltText);\n // monitoring for false value even tho we need true\n // the reason is that the event doesn't notice the change immediately\n if (!isActiveExternalBrokenLinks) {\n MixPanel.track(SCA_PAGE_IMAGES_SHOW_MISSING_ALT, {\n 'pageId': currentPage?.content.uuid,\n 'description': 'Filtering for images with missing alt text',\n });\n }\n },\n }];\n\n const externalLinksFilters = [{\n label: 'Show only links with issues',\n disabledTooltip: 'There are no links with issues on this page',\n checked: isActiveExternalBrokenLinks,\n disabled: currentPage?.analysis?.links?.external?.filter(link => link.statusCode && link.statusCode && link.statusCode > 299)?.length == 0,\n onChange: () => {\n setIsActiveExternalBrokenLinks(!isActiveExternalBrokenLinks);\n // monitoring for false value even tho we need true\n // the reason is that the event doesn't notice the change immediately\n if (!isActiveExternalBrokenLinks) {\n MixPanel.track(SCA_PAGE_EXTERNAL_LINKS_SHOW_BROKEN, {\n 'pageId': currentPage?.content.uuid,\n 'description': 'Filtering for broken external links',\n });\n }\n },\n }];\n\n const generateExternallLinksDesc = () => {\n const msgArr = [];\n let labelColor = '#fff';\n\n if (currentPage?.analysis?.getExternalBrokenCount || currentPage?.analysis?.getExternalBrokenCount === 0) {\n const msg = currentPage?.analysis?.getExternalBrokenCount > 1 || currentPage?.analysis?.getExternalBrokenCount == 0 ? 'link issues' : 'link issue';\n msgArr.push(`${currentPage?.analysis?.getExternalBrokenCount} ${msg}`);\n if (currentPage?.analysis?.getExternalBrokenCount > 0) {\n labelColor = '#F44343';\n }\n }\n\n if (currentPage?.analysis?.getExternalRedirectsCount || currentPage?.analysis?.getExternalRedirectsCount === 0) {\n const msg = currentPage?.analysis?.getExternalRedirectsCount > 1 || currentPage?.analysis?.getExternalRedirectsCount == 0 ? 'redirects' : 'redirect';\n msgArr.push(`${currentPage?.analysis?.getExternalRedirectsCount} ${msg}`);\n }\n if (currentPage?.analysis?.links?.external?.length) {\n return <>{msgArr[0] && {msgArr[0]}, } {msgArr[1] && {msgArr[1]}};\n } else {\n return '0';\n }\n };\n\n const getExternalLinks = () => {\n if (isActiveExternalBrokenLinks && currentPage?.analysis?.links?.external) {\n return currentPage?.analysis.links.external?.slice()?.filter(link => link.statusCode && link.statusCode > 299);\n } else if (currentPage?.analysis?.links?.external) {\n return currentPage?.analysis.links.external?.slice()?.sort((a, b) => (a.statusCode > b.statusCode) ? -1 : ((b.statusCode > a.statusCode) ? 1 : 0));\n }\n };\n\n const getInternalLinks = () => {\n if (isActiveInternalBrokenLinks && currentPage?.analysis?.links?.internal) {\n return currentPage?.analysis.links.internal?.slice()?.filter(link => link.statusCode && link.statusCode > 299);\n } else if (currentPage?.analysis?.links?.internal) {\n return currentPage?.analysis.links.internal?.slice()?.sort((a, b) => (a.statusCode > b.statusCode) ? -1 : ((b.statusCode > a.statusCode) ? 1 : 0));\n }\n };\n\n const displayStatusCode = (statusCode: number) => {\n if (statusCode) {\n if (statusCode >= 200 && statusCode < 300) {\n return {statusCode};\n } else if (statusCode >= 300 && statusCode < 400) {\n return {statusCode};\n } else if (statusCode >= 400) {\n if (statusCode === 429) {\n return {statusCode};\n } else {\n return {statusCode};\n }\n }\n } else {\n return 'N/A';\n }\n };\n\n const displayFollowCode = (followCode: string) => {\n if (followCode) {\n if (followCode === 'nofollow') {\n return 'NF';\n } else {\n return DF;\n }\n } else {\n return '-';\n }\n };\n\n return <>\n \n
    \n \n {t('head')}\n \n {currentPage?.analysis?.metaSummary?.map(meta => {\n return (\n \n
    {meta.value}
    \n
    {meta.suggestion}
    \n
    \n )}\n />\n );\n })}\n
    \n \n {t('rich-media-tags')}\n \n }\n title={t('headers')}\n description={brokenHeaders}\n descriptionColor={getStatusColor(currentPage?.analysis?.status?.headers)}\n colTitle1={t('tag')}\n colTitle2={{\n title: t('used'),\n }}\n data={currentPage?.analysis?.headers}\n dataRenderer={(header, i) => {\n return header.type === 'h1' || header.type === 'h2' || header.type === 'h3' ? header.count > 0 ? \n {header.values.length && header.values.map((heading, i) => {\n return
    {`<${header.type}> `}\n {heading}\n {` `}
    ;\n })}\n \n }\n >\n \n \n
    {header.type.toUpperCase()}
    \n \n \n
    {header.count}
    \n \n
    \n : \n \n
    {header.type.toUpperCase()}
    \n \n \n
    {header.count}
    \n \n
    : \n \n
    {header.type.toUpperCase()}
    \n \n \n
    {header.count}
    \n \n
    ;\n }}\n />\n }\n title={t('images')}\n description={currentPage?.analysis?.images?.count || 0}\n isCollapse = {currentPage?.analysis?.images?.count > 0 ? true : false}\n colTitle1={t('src-alt')}\n colTitle2={{\n title: t('dim'),\n }}\n data={toJS(getMissingAltText())?.sort((a, b) => a.alt < b.alt ? -1 : 1)}\n filters={imagesFilter}\n warningBar={getMissingAltTotal() &&
    \n \n
    }\n dataRenderer={(image, i) => {\n return (\n <>\n \n \n addDefaultSrc(e)}\n />\n \n \n {image.src ? !image.src.startsWith('data:') ? (\n {image.src}\n ) : (\n \n
    {\n navigator.clipboard.writeText(image.src);\n }}>{image.src}
    \n
    \n ) : '-'}\n
    {image.alt || '-'}
    \n \n \n {uiFormatImageSize(image.size)}\n \n
    \n \n );\n }}\n pageSize={5}\n />\n }\n title={t('videos')}\n description={currentPage?.analysis?.videos?.count || 0}\n isCollapse = {currentPage?.analysis?.videos?.count > 0 ? true : false}\n colTitle1={t('src-title')}\n colTitle2={{\n title: t('dim'),\n }}\n data={currentPage?.analysis?.videos?.video}\n dataRenderer={(video, i) => {\n return (\n <>\n \n \n {video.visitable ? (\n \n {video.src}\n \n ) : (\n
    {video.src}
    \n )}\n
    {video.title || t('no-title')}
    \n \n \n {video.size}\n \n
    \n \n );\n }}\n pageSize={5}\n />\n }\n title={t('iframes')}\n description={currentPage?.analysis?.iframes?.count || 0}\n colTitle1={t('src-title')}\n data={currentPage?.analysis?.iframes?.iframe}\n isCollapse = {currentPage?.analysis?.iframes?.count > 0 ? true : false}\n dataRenderer={(iframe, i) => {\n return (\n <>\n \n \n {iframe.visitable ? (\n {iframe.src}\n ) : (\n
    {iframe.src}
    \n )}\n
    {iframe.title || t('no-title')}
    \n \n
    \n \n );\n }}\n pageSize={5}\n />\n }\n title={t('internal-links')}\n description={generateInternalLinksDesc()}\n isCollapse = {currentPage?.analysis?.links?.internal?.length > 0 ? true : false}\n colTitle1={t('anchor-url')}\n colTitle2={{\n title: t('found-in'),\n }}\n colTitle3={t('follow').substring(0, 3) + '.'}\n colTitle4={t('status').substring(0, 4) + '.'}\n data={getInternalLinks()}\n filters={internalLinksFilters}\n dataRenderer={(link, i) => {\n return (\n <>\n \n \n {link.url ?\n \n {link.url}\n : '-'}\n
    {link.anchor && link.anchor !== '\\n\\n' ? link.anchor.length > 27 ? link.anchor.substring(0, 27) + '...' : link.anchor : '-'}
    \n \n \n

    {link.foundIn ? `${link.foundIn}` : '-'}

    \n \n \n

    {displayFollowCode(link.rel[0])}

    \n \n \n

    {displayStatusCode(link.statusCode)}

    \n \n
    \n \n );\n }}\n pageSize={5}\n />\n }\n title={t('external-links')}\n description={generateExternallLinksDesc()}\n isCollapse = {currentPage?.analysis?.links?.external?.length > 0 ? true : false}\n colTitle1={t('anchor-url')}\n colTitle2={{\n title: t('found-in'),\n }}\n colTitle3={t('follow').substring(0, 3) + '.'}\n colTitle4={t('status').substring(0, 4) + '.'}\n data={getExternalLinks()}\n footer={currentPage?.analysis?.links?.external?.length > 0 ?( <> ) : null}\n filters={externalLinksFilters}\n dataRenderer={(link, i) => {\n return (\n <>\n \n \n {link.url ?\n \n {link.url}\n : '-'}\n
    {link.anchor && link.anchor !== '\\n\\n' ? link.anchor.length > 27 ? link.anchor.substring(0, 27) + '...' : link.anchor : '-'}
    \n \n \n

    {link.foundIn ? `${link.foundIn}` : '-'}

    \n \n \n

    {displayFollowCode(link.rel[0])}

    \n \n \n

    {displayStatusCode(link.statusCode)}

    \n \n
    \n \n );\n }}\n pageSize={5}\n />\n
    \n }\n title={t('schema')}\n description={currentPage?.analysis?.schema?.jsonLd ? t('validated') : 'Not Included'}\n descriptionColor={currentPage?.analysis?.schema?.jsonLd ? '#52D477' : '#A3A4A4'}\n colTitle1={currentPage?.analysis?.schema?.jsonLd && t('type')}\n colTitle2={{\n title: currentPage?.analysis?.schema?.jsonLd && t('status'),\n }}\n footer={currentPage?.analysis?.schema?.jsonLd ? (\n <>\n setShowSchemaModal(true)}>\n {t('view-schema-markups')}\n \n \n ) : (\n \n {t('view-schema-markups')}\n \n )\n }\n />\n }\n title={t('social')}\n description={`${currentPage?.analysis?.social?.count || 0} ${t('sources')}`}\n isCollapse = {currentPage?.analysis?.social?.count > 0 ? true : false}\n colTitle1={t('source-url')}\n data={currentPage?.analysis?.social?.social}\n dataRenderer={(social, i) => {\n return (\n <>\n \n \n
    {social.type}
    \n {social.url}\n \n
    \n \n );\n }}\n pageSize={5}\n />\n }\n title={t('javascript')}\n description={currentPage?.analysis?.js?.count || 0}\n isCollapse = {currentPage?.analysis?.js?.count > 0 ? true : false}\n colTitle1={t('source')}\n data={currentPage?.analysis?.js?.js}\n dataRenderer={(js, i) => {\n return (\n <>\n \n \n {!js?.src?.startsWith('data:') ? (\n {js.src}\n ) : (\n \n
    {\n navigator.clipboard.writeText(js.src);\n }}>{js.src}
    \n
    \n )}\n \n
    \n \n );\n }}\n pageSize={5}\n />\n \n ;\n});\n","import {observer} from 'mobx-react-lite';\nimport styled from 'styled-components';\nimport {HeaderSection} from './HeaderSection';\nimport {TechnicalsData} from './TechnicalsData';\n\ninterface Props {\n changeView: () => void;\n}\n\nexport const Technicals = observer(({changeView}: Props) => {\n return \n \n \n \n \n ;\n});\n\nconst Wrapper = styled.div`\n height: 100%;\n display: flex;\n flex-direction: column;\n`;\n\nconst DataContainer = styled.div`\n height: auto;\n overflow-y: auto;\n\n // For Internet Explorer\n scrollbar-face-color: rgba(138,138,138,0.32);\n scrollbar-track-color: rgba(138,138,138,0.12);\n\n // For Google Chrome\n &::-webkit-scrollbar {\n height: 5px;\n width: 5px;\n }\n \n &::-webkit-scrollbar-thumb {\n background: rgba(138,138,138,0.32);\n }\n \n &::-webkit-scrollbar-track {\n background: rgba(138,138,138,0.12);\n }\n`;\n","import React from 'react';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Select} from 'antd';\nimport {toJS} from 'mobx';\nimport styles from '../style.module.scss';\nimport {faCaretDown} from '@fortawesome/pro-solid-svg-icons';\nimport classNames from 'classnames';\n\ninterface Props {\n isSubscriber: boolean;\n store: CurrentPageStore;\n setCompetitors: (competitors: any[]) => void;\n setActiveKw: React.Dispatch>;\n activeKw: string;\n compListCollapsed: boolean;\n}\n\nexport const KeywordSelector = ({store, isSubscriber, setActiveKw, setCompetitors, activeKw, compListCollapsed}: Props) => {\n const {Option} = Select;\n\n const handleOnSelectChange = value => {\n setActiveKw(value);\n setCompetitors(toJS(store?.analytics?.competitorsData)?.filter(item => item.keyword === value)[0]?.competitors);\n };\n\n return
    \n
    \n {compListCollapsed ? 'Kw' : 'Keyword'}\n
    \n handleOnSelectChange(value)}\n dropdownStyle={{minWidth: '250px', fontSize: '12px'}}\n dropdownClassName={styles.keywordDropdownList}\n className={classNames(styles.selectInput, compListCollapsed && styles.minified)}\n suffixIcon={}\n >\n {toJS(store?.analytics?.competitorsData)?.map(item => {\n return ;\n })}\n\n \n
    ;\n};\n","import {Checkbox} from '@/components/common-components/v2';\nimport {useStore} from '@/store/root-store';\nimport {opaqueColor} from '@/utils/colors';\nimport {faCopy} from '@fortawesome/pro-regular-svg-icons';\nimport {faCheck, faPlus} from '@fortawesome/pro-solid-svg-icons';\nimport {faSquareCheck} from '@fortawesome/pro-light-svg-icons';\nimport {faXmark} from '@fortawesome/pro-light-svg-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {Tooltip} from 'antd';\nimport {EditorState, Modifier, SelectionState, ContentState} from 'draft-js';\nimport {debounce} from 'lodash';\nimport {observer} from 'mobx-react';\nimport {useCallback, useState} from 'react';\nimport styled from 'styled-components';\n// import {convertHtmlToEditorState} from '@/utils/htmlToDraft';\n\ninterface Props {\n activeCompetitor: any;\n htmlToDraft: any;\n setShowBulkAddContentBtn?: (value: boolean) => void;\n showBulkAddContentBtn?: boolean;\n setCheckedCount?: (value: number) => void;\n checkedCount?: number;\n setCheckedHeadingsWithTags?: (value: string) => void;\n checkedHeadingsWithTags?: string;\n setCheckedIndexData?: (value: any) => void;\n checkedIndexData?: any;\n}\n\nexport const HeadingsTree = observer(({\n activeCompetitor,\n htmlToDraft,\n setShowBulkAddContentBtn,\n showBulkAddContentBtn,\n setCheckedCount,\n checkedCount,\n setCheckedIndexData,\n checkedIndexData}: Props) => {\n const {contentOptimizer: {currentPage}} = useStore('');\n const {contentOptimizer:\n {currentPage: {\n setCopiedHeadings,\n }}} = useStore('');\n\n\n const [addedHeadings, setAddedHeadings] = useState([]);\n const [copiedHeading, setCopiedHeading] = useState({\n tag: '',\n text: '',\n });\n\n const [filters, setFilters] = useState([\n {\n tag: 'h1',\n active: true,\n },\n {\n tag: 'h2',\n active: true,\n },\n {\n tag: 'h3',\n active: true,\n },\n {\n tag: 'h4',\n active: true,\n },\n {\n tag: 'h5',\n active: true,\n },\n {\n tag: 'h6',\n active: true,\n },\n ]);\n\n const onCheckboxChecked = (checked: boolean, tag: string) => {\n const curFilters = [...filters];\n\n const updatedFilters = curFilters.map(filter => {\n if (filter.tag == tag) {\n return {\n ...filter,\n active: checked,\n };\n } else {\n return {...filter};\n }\n });\n\n setFilters(updatedFilters);\n };\n\n const checkboxClickHandler = (e, headingContent, headingTag, idx) => {\n if (e?.target?.checked) {\n setCheckedCount(checkedCount + 1);\n const newItem = {'id': idx, 'headingContent': headingContent, 'headingTag': headingTag};\n setCheckedIndexData([...checkedIndexData, newItem]);\n } else {\n setCheckedCount(checkedCount - 1);\n\n const updatedCheckedIndexData = checkedIndexData.filter(item => item?.id !== idx);\n setCheckedIndexData(updatedCheckedIndexData);\n }\n };\n\n const handleCopyClick = () => {\n setCopiedHeadings('');\n let updatedCopiedHeadings = '';\n checkedIndexData?.map(item => {\n updatedCopiedHeadings += `<${item?.headingTag}>${item?.headingContent}`;\n });\n setCopiedHeadings(updatedCopiedHeadings);\n navigator.clipboard.writeText(updatedCopiedHeadings);\n };\n\n // const [blockskMap, setBlocksMap] = useState([]);\n\n // const mapHeadingsToDraftBlockTypes = {\n // 'h1': 'header-one',\n // 'h2': 'header-twp',\n // 'h3': 'header-three',\n // 'h4': 'header-four',\n // 'h5': 'header-five',\n // 'h6': 'header-six',\n // }\n\n // useEffect(() => {\n // if (!currentPage?.getCurrentEditorState) return;\n\n // const contentState = currentPage.getCurrentEditorState.getCurrentContent();\n\n // const map = convertToRaw(contentState).blocks\n // setBlocksMap(map);\n\n // }, [currentPage?.getCurrentEditorState]);\n\n\n // const checkIfEditorContainsHeading = (text: string, type: string) => {\n // if (!blockskMap || !blockskMap.length) return false;\n\n // const included = blockskMap.find(block => block.type == mapHeadingsToDraftBlockTypes[type] && block.text == text);\n\n // return included;\n // }\n\n const debouncedChange = debounce((state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations = false) => {\n // we are then calling the edit content method which will fire the API call and send new state to the BE\n currentPage.editContent(state, isNewDecorations);\n }, 2000);\n\n\n const debouncedUpdate = useCallback(\n (state: EditorState, focusTerms, focusTermsClassNames, isNewDecorations) => debouncedChange(state, focusTerms, focusTermsClassNames, isNewDecorations),\n // eslint-disable-next-line\n []\n );\n\n const insertText = async (textToAdd: any, headingType?: string, cleanText?: string) => {\n // NEW FLOW start\n const {contentBlocks, entityMap} = htmlToDraft(textToAdd);\n // const contentState = convertHtmlToEditorState(textToAdd);\n\n const selection = currentPage.currentEditorState.getSelection();\n\n const newSelection = new SelectionState({\n anchorKey: selection.getAnchorKey(),\n anchorOffset: selection.getEndOffset(),\n focusKey: selection.getAnchorKey(),\n focusOffset: selection.getEndOffset(),\n });\n\n\n const fragment = ContentState.createFromBlockArray(contentBlocks, entityMap).getBlockMap();\n // const fragment = contentState.getCurrentContent().getBlockMap();\n\n const nonStyledState = Modifier.replaceWithFragment(\n currentPage.currentEditorState.getCurrentContent(),\n newSelection,\n fragment,\n );\n\n // WE are calculating nodes to toggle blue background on new Ai generated nodes\n let firstNewBlockId: number;\n const currentBlock = selection.getAnchorKey();\n const nextBlock = currentPage.currentEditorState.getCurrentContent().getBlockAfter(selection.getAnchorKey())?.getKey();\n\n const existingNodes = document.querySelectorAll('[data-block=\"true\"]');\n existingNodes?.forEach((elem, id) => {\n if (elem.getAttribute('data-offset-key') && elem.getAttribute('data-offset-key') == `${currentBlock}-0-0`) {\n firstNewBlockId = id + 1;\n }\n });\n\n\n const updatedState = EditorState.push(currentPage.currentEditorState, nonStyledState, 'insert-fragment');\n currentPage.setCurrentEditorState(updatedState);\n\n setTimeout(() => {\n const newTextElems = document.querySelectorAll('[data-block=\"true\"]');\n if (newTextElems.length) {\n for (let i = firstNewBlockId; i <= newTextElems.length; i++) {\n if (newTextElems[i]?.getAttribute('data-offset-key') && newTextElems[i]?.getAttribute('data-offset-key') != `${nextBlock}-0-0` && newTextElems[i]?.getAttribute('data-offset-key') != `${currentBlock}-0-0`) {\n newTextElems[i].classList.add('newTextBlock');\n } else {\n return;\n }\n }\n }\n }, 500);\n\n debouncedUpdate(updatedState, currentPage.analytics?.focusTerms, currentPage.focusTermsClassNames, false);\n\n setTimeout(() => {\n const newTextElems = document.querySelectorAll('.newTextBlock');\n if (newTextElems.length) {\n newTextElems.forEach(elem => {\n elem.classList.remove('newTextBlock');\n });\n }\n }, 3500);\n\n const curAddedHeadings = [...addedHeadings];\n const updatedAddedHeading = [];\n checkedIndexData?.map(item => {\n updatedAddedHeading?.push({type: item?.headingTag, text: item?.headingContent});\n });\n if (headingType && cleanText) {\n setAddedHeadings([\n ...curAddedHeadings,\n {\n type: headingType,\n text: cleanText,\n },\n ]);\n } else {\n setAddedHeadings([\n ...curAddedHeadings,\n ...updatedAddedHeading,\n {\n type: headingType,\n text: cleanText,\n },\n ]);\n }\n // NEW FLOW END\n };\n\n const addHeadingsHandler = () => {\n setCopiedHeadings('');\n let updatedCopiedHeadings = '';\n checkedIndexData?.map(item => {\n updatedCopiedHeadings += `<${item?.headingTag}>${item?.headingContent}`;\n });\n setCopiedHeadings(updatedCopiedHeadings);\n insertText(`

    ${updatedCopiedHeadings}`);\n setShowBulkAddContentBtn(true);\n setCheckedCount(0);\n setCheckedIndexData([]);\n };\n\n return \n
    Page structure
    \n \n \n {filters.map((filter, idx) => {\n if (activeCompetitor?.headingsHierarchy?.find(heading => heading.tag == filter.tag)) {\n return onCheckboxChecked(e.target.checked, filter.tag)}\n key={idx}>\n {filter.tag}\n ;\n }\n })}\n \n {showBulkAddContentBtn && setShowBulkAddContentBtn(false)}>  Bulk Add to Content}\n \n {!showBulkAddContentBtn &&\n \n {\n addHeadingsHandler();\n }}> Add {checkedCount} headings to content\n \n Copy to clipboard\n }> {\n handleCopyClick();\n }}> Copy\n {\n setCheckedCount(0);\n setShowBulkAddContentBtn(true);\n setCheckedIndexData([]);\n setCopiedHeadings('');\n }}>  Cancel\n \n }\n \n {activeCompetitor?.headingsHierarchy?.filter(heading => filters.filter(filter => filter.active)?.map(filter => filter.tag)?.includes(heading.tag))?.map((heading, idx) => {\n const isIncluded = [...addedHeadings].filter(item => item.text == heading.content && item.type == heading.tag)?.length > 0;\n return \n {!showBulkAddContentBtn && checkboxClickHandler(e, heading.content, heading.tag, idx)} />\n }\n \n {isIncluded ? : null}\n {heading.tag}\n \n {heading.content}\n
    \n \n {copiedHeading.tag == heading.tag && copiedHeading.text == heading.content ? <>\n \n Copied\n :\n 'Copy to clipboard'\n }\n
    }>\n {\n navigator.clipboard.writeText(`<${heading.tag}>${heading.content}`);\n setCopiedHeading({tag: heading.tag, text: heading.content});\n }}>\n \n Copy\n \n \n insertText(`

    <${heading.tag}>${heading.content}`, heading.tag, heading.content)}>\n \n Add to Content\n
    \n \n\n ;\n })}\n
    \n
    ;\n});\nconst calculateIndent = (tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6') => {\n switch (tag) {\n case 'h1':\n return '15px';\n case 'h2':\n return '25px';\n case 'h3':\n return '45px';\n case 'h4':\n return '55px';\n case 'h5':\n return '65px';\n case 'h6':\n return '75px';\n }\n};\nconst getTopMargin = (tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6') => {\n switch (tag) {\n case 'h1':\n return '20px';\n default:\n return '0px';\n }\n};\nconst calculateFontSize = (tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6') => {\n switch (tag) {\n case 'h1':\n return '21px';\n case 'h2':\n return '18px';\n case 'h3':\n return '16px';\n case 'h4':\n return '14px';\n case 'h5':\n return '14px';\n case 'h6':\n return '14px';\n }\n};\nconst generateColor = (tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6') => {\n switch (tag) {\n case 'h1':\n return '#233A61';\n case 'h2':\n return opaqueColor('#233A61', 85);\n case 'h3':\n return opaqueColor('#233A61', 70);\n case 'h4':\n return opaqueColor('#233A61', 55);\n case 'h5':\n return opaqueColor('#233A61', 47);\n case 'h6':\n return opaqueColor('#233A61', 40);\n }\n};\n\nconst Wrapper = styled.div`\n\n`;\n\nconst ActionsWrapper = styled.div`\n display: flex;\n gap: 20px;\n align-items: center;\n margin-bottom: 10px;\n`;\n\nconst AddHeadings = styled.div`\n font-size: 12px;\n color: #2D6CCA;\n cursor: pointer;\n`;\n\nconst CopyAction = styled.div`\n font-size: 12px;\n cursor: pointer;\n`;\n\nconst CancelAction = styled.div`\n cursor: pointer;\n color: #F44343;\n`;\n\nconst FiltersWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n`;\n\nconst BulkAddAction = styled.div`\n margin-top: 12px;\n color: #2D6CCA;\n cursor: pointer;\n`;\n\nconst FiltersContainer = styled.div`\n display: flex;\n background: #F9F9FB;\n border: 1px solid #E8E8E8;\n border-radius: 8px;\n padding: 12px 14px;\n margin-bottom: 20px;\n width: fit-content;\n`;\n\nconst FiltersTree = styled.div`\n display: flex;\n flex-direction: column;\n`;\nconst SingleHeading = styled.div<{type: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; itemId: number; isIncluded?: boolean}>`\n display: flex;\n margin-top: ${p => p.itemId == 0 ? '0px' : getTopMargin(p.type)};\n margin-bottom: 0px;\n border-radius: 8px;\n padding: 6px 10px;\n cursor: pointer;\n align-items: center;\n width: 100%;\n opacity: ${p => p.isIncluded ? .5 : 1};\n\n .copyClass {\n display: none;\n margin-left: auto;\n }\n .copyClass.disabled {\n pointer-events: none;\n color: gray;\n }\n\n &:hover {\n background-color: ${opaqueColor('#2D6CCA', 15)};\n\n .copyClass {\n display: block;\n }\n }\n`;\nconst HeadingTag = styled.div<{type: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'}>`\n border-radius: 5px;\n margin-left: ${p => calculateIndent(p.type)};\n background-color: ${p => generateColor(p.type)};\n padding: 2px 7px; \n margin-right: 10px;\n color: #fff;\n height: fit-content;\n font-size: 12px;\n font-weight: 700;\n text-transform: uppercase;\n position: relative;\n`;\nconst HeadingText = styled.div<{type: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'}>`\n color: #121212;\n font-size: ${p => calculateFontSize(p.type)};\n ${p => (p.type == 'h1' || p.type == 'h2') && 'line-height: 24px'};\n`;\n\nconst Copy = styled.div`\n display: flex;\n align-items: center;\n color: #000;\n font-size: 12px;\n font-weight: 500;\n margin-right: 20px;\n margin-bottom: auto;\n min-width: 50px;\n\n &:hover {\n color: #2D6CCA;\n }\n`;\nconst InsertText = styled.div`\n display: flex;\n align-items: center;\n color: #000;\n font-size: 12px;\n font-weight: 500;\n margin-left: 20px;\n margin-bottom: auto;\n min-width: 105px;\n\n &:hover {\n color: #2D6CCA;\n }\n`;\n\nconst CheckboxStyled = styled(Checkbox)<{tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'}>`\ntext-transform: uppercase;\n .ant-checkbox-checked {\n .ant-checkbox-inner {\n background-color: ${p => generateColor(p.tag)} !important;\n border-color: ${p => generateColor(p.tag)} !important;\n }\n }\n`;\n","import {observer} from 'mobx-react';\nimport {useEffect, useState} from 'react';\nimport styled from 'styled-components';\nimport {KeywordSelector} from './KeywordSelector';\nimport {HeadingsTree} from './HeadingsTree';\nimport {useStore} from '@/store/root-store';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faBars, faBarsSort} from '@fortawesome/pro-solid-svg-icons';\nimport {Tooltip} from 'antd';\nimport {toJS} from 'mobx';\nimport {faArrowUpRightFromSquare, faListTree} from '@fortawesome/pro-regular-svg-icons';\nimport {generateHeadingOutline} from '@/utils/blockRenderComponents';\nimport {NextImg} from '@/utils/nextImg';\n\ninterface Props {\n setCompListCollapsed: (value: boolean) => void;\n compListCollapsed: boolean;\n htmlToDraft: any;\n activeKw: string;\n setActiveKw: (value) => void;\n setShowBulkAddContentBtn?: (value: boolean) => void;\n showBulkAddContentBtn?: boolean;\n setCheckedCount?: (value: number) => void;\n checkedCount?: number;\n setCheckedHeadingsWithTags?: (value: string) => void;\n checkedHeadingsWithTags?: string;\n setCheckedIndexData?: (value: any) => void;\n checkedIndexData?: any;\n}\n\nexport const CompetitorHeadingsDrawerContent = observer(({\n htmlToDraft,\n setCompListCollapsed,\n compListCollapsed,\n activeKw,\n setActiveKw,\n setCheckedIndexData,\n checkedIndexData,\n setShowBulkAddContentBtn,\n showBulkAddContentBtn,\n setCheckedCount,\n checkedCount,\n setCheckedHeadingsWithTags,\n checkedHeadingsWithTags}: Props) => {\n const {contentOptimizer: {currentPage}} = useStore('');\n const {settings: {customer: {profile: {isSubscriber}}}} = useStore('');\n\n const [competitors, setCompetitors] = useState(currentPage.analytics?.competitorsData?.find(item => item.keyword == activeKw)?.competitors ?? []);\n const [activeCompetitor, setActiveCompetitor] = useState(currentPage.analytics?.competitorsData?.find(item => item.keyword == activeKw)?.competitors?.filter(competitor => competitor?.headingsHierarchy && competitor?.headingsHierarchy?.length)[0] ?? null);\n\n\n useEffect(() => {\n if (currentPage?.topRankingCompetitorActiveKw && currentPage?.analytics?.competitorsData?.length && currentPage?.analytics?.competitorsData.find(item => item.keyword == currentPage?.topRankingCompetitorActiveKw)) {\n !activeKw && setActiveKw(currentPage?.topRankingCompetitorActiveKw);\n } else if (currentPage?.analytics?.competitorsData && currentPage?.analytics?.competitorsData[0]) {\n !activeKw && setActiveKw(currentPage?.analytics?.competitorsData[0]?.keyword);\n } else {\n setActiveKw('');\n }\n }, [...(currentPage?.analytics?.competitorsData ?? ''), currentPage?.analytics?.competitorsData?.length]);\n\n useEffect(() => {\n if (toJS(currentPage).analytics?.competitorsData) {\n const contentState = currentPage.currentEditorState.getCurrentContent();\n const outline = generateHeadingOutline(contentState);\n const currentArticleOutline = [{\n title: 'Current Article Outline',\n headingsHierarchy: outline,\n isCurrentArticleOutline: true,\n }];\n\n const updatedCompetitors = toJS(currentPage).analytics.competitorsData?.map(value => {\n return {\n ...value,\n competitors: [...currentArticleOutline, ...value.competitors],\n };\n });\n setCompetitors(updatedCompetitors?.find(item => item.keyword == activeKw)?.competitors ?? []);\n if (!activeCompetitor) {\n setActiveCompetitor(toJS(currentPage.analytics?.competitorsData)?.find(item => item.keyword == activeKw)?.competitors?.filter(competitor => competitor?.headingsHierarchy && competitor?.headingsHierarchy?.length)[0] ?? null);\n }\n }\n }, [currentPage.analytics?.competitorsData, activeKw, currentPage.currentEditorState]);\n\n const competitorsChangeHandler = (competitorsList: any[]) => {\n setCompetitors(competitorsList);\n\n setActiveCompetitor(competitorsList[0]);\n };\n\n // const addDefaultSrc = e => {\n // e.target.src = '/img/world-wide-web.svg';\n // };\n\n return \n \n
    \n setCompListCollapsed(!compListCollapsed)} fontSize={20} style={{marginTop: 20, marginRight: 10, cursor: 'pointer'}}/>\n \n
    \n \n {competitors?.length? competitors?.filter(competitor => competitor?.headingsHierarchy && competitor?.headingsHierarchy?.length)?.map((competitor, idx) => {\n return <>\n {competitor?.isCurrentArticleOutline ?\n setActiveCompetitor(competitor)} isActive={activeCompetitor?.title == competitor?.title}>\n \n
    Current Article Outline
    \n
    :\n setActiveCompetitor(competitor)} isActive={activeCompetitor?.title == competitor?.title}>\n {competitors?.filter(value => value?.headingsHierarchy && value?.headingsHierarchy?.length && value?.isCurrentArticleOutline)?.length ? idx : idx + 1} \n \n \n {competitor.title}\n \n {competitor.url}\n \n : null}>\n \n addDefaultSrc(e)}\n src={`https://www.google.com/s2/favicons?sz=16&domain_url=${competitor?.url}`} style={{width: 20, height: 20}}/>\n \n \n {!compListCollapsed && \n {competitor.title}\n \n {competitor.url}\n window.open(competitor?.url, '_blank')}/>\n \n }\n \n \n };\n }) : Add atleast one target keyword to view the Heading outlines\n }\n\n
    \n
    \n \n \n \n\n\n
    ;\n});\n\nconst Wrapper = styled.div`\n padding: 10px 30px 30px;\n display: flex;\n cursor: default;\n`;\n\nconst Header = styled.div`\n display: flex;\n margin-bottom: 20px;\n align-items: center;\n`;\n\nconst Left = styled.div<{isCollapsed: boolean}>`\n width: ${p => p.isCollapsed ? '105px' : 'auto'};\n background: transparent;\n padding-right: 30px;\n`;\nconst Right = styled.div`\n background-color: #fff;\n width: 100%;\n border: 1px solid #E8E8E8;\n box-shadow: 1px -2px 20px rgba(0, 0, 0, 0.06);\n border-radius: 14px;\n padding: 20px 30px;\n`;\nconst CompetitorsList = styled.div`\n\n`;\nconst SingleCompetitor = styled.div<{isActive?: boolean}>`\n cursor: pointer;\n display: flex;\n align-items: center;\n margin-bottom: 7px;\n padding: 9px;\n background-color: ${p => p.isActive ? '#233A61' : 'transparent'};\n border-radius: 8px;\n transition: background .3s ease;\n\n .compettiorName, .competitorOrder, .compettiorUrl {\n ${p => p.isActive && 'color: #fff;'}\n }\n\n :hover {\n background-color: #233A61;\n\n .compettiorName, .competitorOrder, .compettiorUrl {\n color: #fff;\n }\n }\n`;\nconst Order = styled.div`\n color: #121212;\n width: 25px;\n`;\nconst NameLogoUrl = styled.div`\n display: flex;\n align-items: center;\n`;\nconst Logo = styled.div`\n margin-right: 10px;\n`;\nconst NameAndUrl = styled.div`\n text-align: left;\n max-width: 200px;\n`;\nconst Name = styled.div`\n color: #121212;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n`;\nconst Url = styled.a`\n color: #2D6CCA;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n display: flex;\n font-size: 12px;\n align-items: center;\n`;\n\nconst Headingoutlines = styled.p`\n color: red;\n margin-left: 30px;\n margin-top: -9px;\n`;\n\nconst CurrentArticleOutline = styled.div<{isActive?: boolean}>`\n display: flex;\n align-items: center;\n gap: 12px;\n padding-left: 32px;\n margin-bottom: 10px;\n cursor: pointer;\n border-radius: 8px;\n ${p => p.isActive && 'color: #fff;'}\n svg {\n width: 16px;\n height: 13px;\n }\n .text {\n font-family: Inter;\n font-size: 14px;\n font-weight: 400;\n line-height: 16.94px;\n text-align: left;\n color: rgba(18, 18, 18, 1);\n ${p => p.isActive && 'color: #fff;'}\n text-decoration: underline;\n padding: 7px;\n }\n background-color: ${p => p.isActive ? '#233A61' : 'transparent'};\n :hover {\n background-color: #233A61;\n color: #fff;\n\n .text {\n color: #fff;\n }\n }\n`;\n","import {useStore} from '@/store/root-store';\nimport {CloseOutlined} from '@ant-design/icons';\nimport {Drawer} from 'antd';\nimport {observer} from 'mobx-react';\nimport styles from './style.module.scss';\nimport {CompetitorHeadingsDrawerContent} from './DrawerContent';\nimport {useState} from 'react';\n\ninterface Props {\n htmlToDraft: any;\n}\n\nexport const CompetitorsHeadingsDrawer = observer(({htmlToDraft}: Props) => {\n const {contentOptimizer: {currentPage: {analytics, topRankingCompetitorActiveKw, isCompetitorsHeadingsDrawerOpen, closeCompetitorsHeadingsDrawer, setCopiedHeadings}}} = useStore('');\n\n const [compListCollapsed, setCompListCollapsed] = useState(false);\n const [activeKw, setActiveKw] = useState('');\n const [showBulkAddContentBtn, setShowBulkAddContentBtn] = useState(true);\n const [checkedCount, setCheckedCount] = useState(0);\n const [checkedHeadingsWithTags, setCheckedHeadingsWithTags] = useState('');\n const [checkedIndexData, setCheckedIndexData] = useState([]);\n\n return (\n {\n closeCompetitorsHeadingsDrawer();\n if (topRankingCompetitorActiveKw && analytics?.competitorsData?.length && analytics?.competitorsData.find(item => item.keyword == topRankingCompetitorActiveKw)) {\n setActiveKw(topRankingCompetitorActiveKw);\n } else if (analytics?.competitorsData && analytics?.competitorsData[0]) {\n setActiveKw(analytics?.competitorsData[0]?.keyword);\n } else {\n setActiveKw('');\n }\n setCheckedCount(0);\n setShowBulkAddContentBtn(true);\n setCheckedIndexData([]);\n setCopiedHeadings('');\n }}\n closeIcon={ {\n setCheckedCount(0);\n setShowBulkAddContentBtn(true);\n setCheckedIndexData([]);\n setCopiedHeadings('');\n }} style={{display: isCompetitorsHeadingsDrawerOpen ? 'block' : 'none'}}/>}\n className={styles.competitorsHeadingsDrawerStyle}\n bodyStyle={{backgroundColor: '#F2F2F5', paddingLeft: '0', paddingRight: '0'}}\n >\n
    Headings Outline
    \n \n \n );\n});\n","import {useStore} from '@/store/root-store';\nimport {LoadingOutlined} from '@ant-design/icons';\nimport {Spin} from 'antd';\nimport {observer} from 'mobx-react';\nimport {useState} from 'react';\nimport styled from 'styled-components';\nimport {Analytics} from './Analytics';\nimport {CompetingFocusTermsDrawer} from './SideDrawers/CompetingFocusTermsDrawer';\nimport {ContentIdeasDrawer} from './SideDrawers/ContentIdeasDrawer';\nimport {ContentResearchDrawer} from './SideDrawers/ContentResearchDrawer/ContentResearchDrawer';\nimport {KeywordsDrawer} from './SideDrawers/KeywordsDrawer';\nimport {Technicals} from './Technicals';\nimport {CompetitorsHeadingsDrawer} from './SideDrawers/CompetitorsHeadingsDrawer';\n\nexport const SidebarContent = observer(() => {\n const [showTechnicals, setShowTechincals] = useState(false);\n\n let htmlToDraft = null;\n if (typeof window === 'object') {\n htmlToDraft = require('html-to-draftjs').default;\n }\n\n const {\n contentOptimizer: {\n currentPage,\n }} = useStore('');\n\n const antIconSecond = ;\n\n // const currentView = showTechnicals ? setShowTechincals(!showTechnicals)}/> : setShowTechincals(!showTechnicals)}/>;\n const currentView = <>\n \n setShowTechincals(!showTechnicals)}/>\n \n \n setShowTechincals(!showTechnicals)}/>\n \n ;\n\n return \n \n \n \n \n \n \n {currentPage.isInitialPageLoad && \n \n {currentPage.isFetchingTargetKw ? 'Target keywords are being updated...' : 'Page data is being updated...'}\n }\n \n {currentView}\n ;\n});\n\nconst Wrapper = styled.div`\n height: 100%;\n position: relative;\n`;\n\nconst TechnicalsContainer = styled.div<{showTechnicals: boolean}>`\n position: absolute; \n width: 100%;\n left: ${p => p.showTechnicals ? 0 : '400px'};\n\n @media only screen and (max-width: 1400px) {\n left: ${p => p.showTechnicals ? 0 : '350px !important'};\n }\n overflow-x: hidden;\n transition: all .3s ease;\n height: 100%;\n display: flex;\n flex-direction: column;\n padding: 10px 20px 20px 20px;\n`;\n\nconst ContentContainer = styled.div<{showTechnicals: boolean}>`\n position: absolute;\n width: 100%;\n left: ${p => !p.showTechnicals ? 0 : '-400px'};\n\n @media only screen and (max-width: 1400px) {\n left: ${p => !p.showTechnicals ? 0 : '-350px !important'};\n }\n\n overflow-x: hidden;\n transition: all .3s ease;\n height: 100%;\n display: flex;\n flex-direction: column;\n padding: 10px 20px 20px 20px;\n`;\n\nconst LoadingBannerContainer = styled.div`\n background-color: transparent;\n height: 25px;\n width: 100%;\n`;\nconst LongLoadingBanner = styled.div`\nbackground: rgba(84, 41, 125, 0.5);\nborder-radius: 5px;\nfont-size: 12;\nheight: 25px;\npadding-top: 2px;\nwidth: 100%;\n`;\n","import React, {useEffect, useState, useRef} from 'react';\nimport styles from './index.module.scss';\nimport {Loader} from './Utils/loader';\nimport {Error as ErrorView} from '@/components/dashboard/pages/landing-page-optimizer/page-editor/RightSidebar/v2-sidebar/Utils/error';\nimport {Resizable} from 're-resizable';\nimport {CurrentPageStore} from '@/store/content-optimizer/currentPage';\nimport {observer} from 'mobx-react';\nimport {useStore} from '@/store/root-store';\nimport {SidebarContent} from './SidebarContent';\n\ninterface Props {\n style?: string;\n onResizeCallback?: (width: number) => void;\n isHidden?: boolean;\n store?: CurrentPageStore;\n}\n\nexport const RightSidebarV2: React.FC = observer(({onResizeCallback, isHidden = false, store}) => {\n const {contentOptimizer: {currentPage: {isPublic, isEditorScrolled}}} = useStore('');\n const [topPosition, setTopPosition] = useState((window?.innerHeight && window?.innerHeight) > 800 ? 78 : 50);\n\n const sideBarRef = useRef(null);\n\n // This changes the width of the editor according to the with of the right sidebar\n useEffect(() => {\n const sidebarUpdate = () => {\n if (sideBarRef?.current?.clientWidth > 350 && window.innerWidth <= 1400) {\n onResizeCallback(350);\n } else if (sideBarRef?.current?.clientWidth <= 350 && window.innerWidth > 1400) {\n onResizeCallback(400);\n }\n };\n window.addEventListener('resize', sidebarUpdate);\n\n return () => {\n window.removeEventListener('resize', sidebarUpdate);\n };\n }, []);\n\n useEffect(() => {\n if (sideBarRef?.current?.clientWidth) {\n onResizeCallback(sideBarRef?.current?.clientWidth);\n }\n }, [sideBarRef?.current]);\n\n const handleScroll = () => {\n const position = window.pageYOffset;\n if (position > 0) {\n if (position <= 70) {\n setTopPosition(topPosition - position);\n } else {\n setTopPosition(0);\n }\n } else {\n setTopPosition(topPosition);\n }\n };\n\n useEffect(() => {\n window.addEventListener('scroll', handleScroll, {passive: true});\n }, []);\n\n\n return (\n
    \n {\n onResizeCallback(elRef.offsetWidth);\n }}\n enable={{\n top: false,\n right: false,\n bottom: false,\n left: false,\n topRight: false,\n bottomRight: false,\n bottomLeft: false,\n topLeft: false,\n }}\n className={styles.resize}>\n {store?.content?.isAnalyzing && !store?.content?.analyzingError && ()}\n {!store?.content?.isAnalyzing && !store?.content?.analyzingError && ()}\n {!store?.content?.isAnalyzing && store?.content?.analyzingError && ()}\n \n
    \n );\n});\n","import {useEffect} from 'react';\nimport {WarningOutlined} from '@ant-design/icons';\nimport {useRouter} from 'next/router';\nimport {RootStoreType, useStore} from '@/store/root-store';\nimport {observer} from 'mobx-react-lite';\nimport {useTranslation} from 'next-i18next';\nimport styles from './styles.module.scss';\n// import {Drawer} from 'antd';\nimport {EditorState, SelectionState} from 'draft-js';\nimport {mapFocusTerms, multiWordCountRegex, prepareFinalTerms} from './LeftSide/EditorSection/content-editor/utils';\nimport {decoratedState} from './LeftSide/EditorSection/content-editor/decorators';\nimport firebase from 'firebase/app';\nimport 'firebase/database';\n// import {ContentGenerator} from './ContentGenerator/ContentGenerator';\nimport {LeftSide} from './LeftSide/LeftSide';\n// import {AiOutlineDrawer} from './AiOutlineDrawer';\n// import {CaAiQuotaInfo} from '@/components/common-components/v2/CaAiQuotaInfo';\n// import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n// import {faArrowLeft, faXmark} from '@fortawesome/pro-regular-svg-icons';\nimport {RightSidebarV2} from './RightSidebar/v2-sidebar';\nimport {MainLoader} from '@/components/common-components/v2/MainLoader';\nimport {FREDDY_EVENT_SCA_ARTICLE_CREATED, triggerFreddySurvey} from '@/utils/scripts';\nimport {headerStore} from '@/store/storeCompTest';\nexport const PageEditor = observer(\n ({rootStore, isPublic}: { rootStore: RootStoreType; isPublic: boolean }) => {\n const {contentOptimizer, settings} = rootStore;\n const {currentPage, pages, aiOutline: {\n loadAiWriterHistory,\n refetchOneClickDraftResultForArticleCreation,\n }} = contentOptimizer;\n const {\n isUploading,\n isExportingPage,\n isExportingPageLoader,\n setIsPublic,\n // isOpenContentGeneratorDrawer,\n focusTermsClassNames,\n setFocusTermsClassNames,\n // setIsOpenContentGeneratorDrawer,\n setSideBarWidth,\n setViewers,\n viewers,\n isSideBarHidden,\n isInitialEditorStateFetched,\n content,\n editTitle,\n highlights,\n } = currentPage;\n const {aiInProgress} = content;\n const {\n customer: {\n profile: {\n id,\n emailAddress,\n },\n getCustomerQuota,\n },\n } = settings;\n const resultId = contentOptimizer.aiOutline.id;\n\n const {contentOptimizer: {\n currentPage: {\n feTargetKeywords,\n isLinkActive,\n },\n aiMetaData: {\n loadAiMetaData,\n metaData,\n },\n }} = useStore('');\n\n useEffect(() => {\n if (pages?.count === 2) {\n triggerFreddySurvey(id, emailAddress, FREDDY_EVENT_SCA_ARTICLE_CREATED);\n }\n }, [pages?.count]);\n\n // const {setShowOutlinesInDrawer, v2AiOutline, showOutlinesInDrawer} = aiOutline;\n // const [allRef, setAllRef] = useState();\n\n let htmlToDraft = null;\n if (typeof window === 'object') {\n htmlToDraft = require('html-to-draftjs').default;\n }\n\n const {\n query: {uuid, newPage},\n } = useRouter();\n const {t} = useTranslation('common');\n\n\n // const setAllRefToState = element => {\n // setAllRef(element);\n // };\n\n /*\n * CONTENT EDITOR METHODS START\n */\n\n\n // We are settings initial focus terms map so we can use it for initial decoration and highlighting\n\n function moveSelectionToStart(editorState) {\n const content = editorState.getCurrentContent();\n const firstBlock = content.getFirstBlock();\n const firstKey = firstBlock.getKey();\n\n return EditorState.acceptSelection(\n editorState,\n new SelectionState({\n anchorKey: firstKey,\n anchorOffset: 0,\n focusKey: firstKey,\n focusOffset: 0,\n hasFocus: true,\n isBackward: false,\n }),\n );\n }\n\n // This method will put cursor to start of the content\n function moveFocusToStart(editorState) {\n const afterSelectionMove = moveSelectionToStart(editorState);\n return EditorState.forceSelection(\n afterSelectionMove,\n afterSelectionMove.getSelection(),\n );\n }\n\n\n // This method will do the focus terms re-mapping after we update the page content\n const updateFocusTermsState = () => {\n const sortedFocusTerms = currentPage.analytics?.focusTerms?.slice()\n .slice()\n .sort((a, b) => b.name.length - a.name.length);\n\n const internalLinksClusters = currentPage.content?.internalLinkSuggestions?.slice()?.map(item => {\n return {\n name: item.keyword,\n status: 'internal-link-suggestion',\n variations: [],\n };\n });\n\n const finalData = [];\n if (sortedFocusTerms?.length) finalData.push(...sortedFocusTerms);\n if (internalLinksClusters?.length) finalData.push(...internalLinksClusters);\n\n if (sortedFocusTerms) {\n const parts = prepareFinalTerms(sortedFocusTerms);\n const regex = multiWordCountRegex(parts, false);\n\n if (regex == null) {\n return;\n }\n\n setFocusTermsClassNames(mapFocusTerms(finalData));\n }\n };\n\n\n useEffect(() => {\n if (uuid && process.env.NODE_ENV === 'production') {\n const dbRef = firebase.database().ref(`${uuid as string}`);\n dbRef.get().then(snapshot => {\n const data = snapshot.val();\n firebase.database().ref(`${uuid as string}`).set(data + 1)\n .then(() => {\n dbRef.on('value', snapshot => {\n if (snapshot.exists()) {\n const data = snapshot.val();\n setViewers(data);\n }\n });\n });\n }).catch(error => {\n console.error(error);\n });\n }\n\n return () => {\n if (uuid && process.env.NODE_ENV === 'production') {\n const dbRef = firebase.database().ref(`${uuid as string}`);\n dbRef.onDisconnect().cancel();\n dbRef.get().then(snapshot => {\n const data = snapshot.val();\n firebase.database().ref(`${uuid as string}`).set(data - 1);\n });\n }\n };\n }, []);\n\n useEffect(() => {\n if (uuid && process.env.NODE_ENV === 'production') {\n const dbRef = firebase.database().ref(`${uuid as string}`);\n dbRef.onDisconnect().set(viewers - 1);\n }\n }, [viewers]);\n\n // useEffect(() => {\n // const newState = currentPage?.content?.formattedEditorState();\n // currentPage.setCurrentEditorState(newState);\n // setFocusTermsClassNames(mapFocusTerms(currentPage.analytics?.focusTerms?.slice()));\n // }, []);\n\n\n // This useEffect is ment to fire only once initially, after we have contentLoadedAt and uuid set\n // It will do initial content populating + highlighting\n useEffect(() => {\n // this prop is used to allow/dissallow all repolls related to editing a page to happen\n currentPage.setRepollsAllowed(true);\n // we are checking current page uuid from url\n // if the response came in and populated the store they will match and only then we update the state\n // we repeat this both here and in content editor compoenent\n\n if (uuid === currentPage.content.uuid && isInitialEditorStateFetched) {\n const newState = currentPage.content?.formattedEditorState();\n const focusedState = moveFocusToStart(newState);\n currentPage.setCurrentEditorState(focusedState);\n\n // This prop is set to false only after initial editor state has been set because\n // we want to prevent the DraftJs from triggering the onChange event on page mount\n currentPage.setIsInitialEditorStateFetched(true);\n\n // This will re-map focus terms and update the state and will trigger the next useEffect\n // which will use that map to re-decorate the content\n updateFocusTermsState();\n } else {\n const newState = currentPage?.content?.formattedEditorState();\n currentPage.setCurrentEditorState(newState);\n setFocusTermsClassNames(mapFocusTerms(currentPage.analytics?.focusTerms?.slice()));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentPage.contentLoadedAt, currentPage?.content?.uuid, isInitialEditorStateFetched]);\n\n useEffect(() => {\n currentPage.setRepollsAllowed(true);\n currentPage.setCurrentEditorState(decoratedState(currentPage.currentEditorState, focusTermsClassNames));\n }, [focusTermsClassNames, highlights]);\n\n\n // This is to set initial mapping of the focus terms, which is used for decorating\n useEffect(() => {\n updateFocusTermsState();\n }, [JSON.stringify(currentPage.analytics?.focusTerms?.slice()), JSON.stringify(currentPage.content?.internalLinkSuggestions?.slice())]);\n\n const loadProject = async () => {\n await pages.getAllProjects();\n };\n\n useEffect(() => {\n if (!isPublic) loadProject();\n if (isPublic) {\n setIsPublic(true);\n } else {\n setIsPublic(false);\n }\n }, []);\n\n useEffect(() => {\n if (uuid && !isPublic) {\n loadAiWriterHistory(uuid as string);\n }\n }, []);\n\n useEffect(() => {\n if (resultId) {\n setRefechForBulkArticleCreation();\n }\n }, [resultId, aiInProgress]);\n\n const setRefechForBulkArticleCreation = async () => {\n if (content.aiInProgress && resultId) {\n try {\n const now = new Date().getTime();\n await refetchOneClickDraftResultForArticleCreation(uuid, now);\n } catch (e) {\n Promise.reject(e);\n } finally {\n getCustomerQuota();\n }\n }\n };\n\n useEffect(() => {\n async function load() {\n if (uuid) {\n if (!isPublic) {\n pages.loadPages(false, pages.activeProjectId);\n }\n // this is to check if we are on initial page create screen or are we editing page\n if (!newPage) {\n await currentPage.loadPage(uuid as string);\n const targetKwArr = feTargetKeywords.map(kw => kw.keyword);\n if (content.title?.startsWith('New Document') && targetKwArr?.length) {\n const data = await loadAiMetaData(content.title, targetKwArr);\n if (data) {\n editTitle(data[0]?.metaTitle);\n }\n }\n } else {\n currentPage.initialLoadPage(uuid as string);\n }\n }\n }\n load();\n }, [uuid, currentPage.currentStep, metaData]);\n\n useEffect(() => {\n if (newPage) {\n currentPage.setNewPage(true);\n currentPage.setCurrentStep(1);\n } else {\n currentPage.setNewPage(false);\n }\n }, [newPage]);\n\n useEffect(()=> {\n headerStore.setComponent(null, false, [\n {name: '', spend: 0, total: 0, color: 'green', quotaProps: null},\n ]);\n }, []);\n\n const callBack = (width: number) => {\n if (width <= 400 && width > 0) {\n setSideBarWidth(`${width}px`);\n }\n };\n\n\n return currentPage.loading ? (\n \n ) : isUploading ? (\n \n ) : (\n <>\n {isExportingPageLoader && <>\n
    \n
    \n }\n
    \n\n\n {!currentPage.error ? (\n <>\n \n {!currentPage.isLinkActive && ((currentPage.newPage && currentPage.currentStep === 1) || <>\n
    \n \n
    \n )\n }\n \n ) : (\n
    \n \n

    {t('error-has-ocurred')}

    \n
    \n )}\n
    \n \n );\n },\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"notification\":\"styles_notification__OR6ac\",\"contactLink\":\"styles_contactLink__dGgfv\",\"success\":\"styles_success__g7z1D\",\"info\":\"styles_info__efwL4\",\"warning\":\"styles_warning__TRTcI\",\"error\":\"styles_error__PUH5a\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"customInput\":\"style_customInput__xWOlg\",\"customSelect\":\"style_customSelect__5SwsV\",\"individualCustomSelect\":\"style_individualCustomSelect__WX92V\",\"customGeneralSelect\":\"style_customGeneralSelect__OeVke\",\"user\":\"style_user__wmBrz\",\"avatar\":\"style_avatar__mO1Yn\",\"info\":\"style_info__bJG8w\",\"email\":\"style_email__7HMCL\",\"permission\":\"style_permission__eKrIo\",\"shareModal\":\"style_shareModal__tgI8u\",\"icon\":\"style_icon__7Sv9l\",\"back\":\"style_back__XA9rM\",\"header\":\"style_header__P07YH\",\"users\":\"style_users__Xet9k\",\"input\":\"style_input__CbDPX\",\"permissions\":\"style_permissions__1_Cd5\",\"notification\":\"style_notification__69SZ_\",\"checkbox\":\"style_checkbox__HLruZ\",\"inputContainer\":\"style_inputContainer__5l1dT\",\"textarea\":\"style_textarea__lBED_\",\"dropdown\":\"style_dropdown__BLJU4\",\"hideDropdown\":\"style_hideDropdown__EAZwo\",\"cancelModalButton\":\"style_cancelModalButton__0Jn_a\",\"shareModalFooter\":\"style_shareModalFooter__c_I4D\",\"suggestion\":\"style_suggestion__sQOqS\",\"name\":\"style_name__YXf18\",\"subTitle\":\"style_subTitle__hpMvF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contentIdeasDrawer\":\"style_contentIdeasDrawer__bvdyc\",\"popoverDivider\":\"style_popoverDivider__7kxDv\",\"contentIdeasDrawerContent\":\"style_contentIdeasDrawerContent__f7Uga\",\"contentIdeasTitle\":\"style_contentIdeasTitle__NFfEv\",\"descriptionText\":\"style_descriptionText__lFbSB\",\"input\":\"style_input__NVKIY\",\"inputLabel\":\"style_inputLabel__di3As\",\"countrySelector\":\"style_countrySelector__RsNJa\",\"selectInput\":\"style_selectInput__bfqDn\",\"generateIdeasButton\":\"style_generateIdeasButton__wefT5\",\"generatedItemsNumb\":\"style_generatedItemsNumb__oULgy\",\"ContentIdeaContainer\":\"style_ContentIdeaContainer__Um6PF\",\"ContentIdea\":\"style_ContentIdea___8T06\",\"controlButtons\":\"style_controlButtons__3DdPK\",\"downloadButton\":\"style_downloadButton__b7Dxj\",\"copyButton\":\"style_copyButton__DS99q\",\"refreshAiOutlineBtn\":\"style_refreshAiOutlineBtn__NfuS_\",\"unsplashContainer\":\"style_unsplashContainer__tKyCE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toolbar\":\"style_toolbar__Vwy8G\",\"leftSection\":\"style_leftSection__N1651\",\"rightSection\":\"style_rightSection__E_CRH\",\"share\":\"style_share__NTvX5\",\"robotIcon\":\"style_robotIcon__d_APK\",\"contentIdeasBtnLabel\":\"style_contentIdeasBtnLabel__4qIOI\",\"shareBtnLabel\":\"style_shareBtnLabel__o5HXJ\",\"undoBtn\":\"style_undoBtn__gR9Ad\",\"redoBtn\":\"style_redoBtn__oFeoL\",\"editor\":\"style_editor__Zg73v\",\"zoom05\":\"style_zoom05__1Dz2Y\",\"zoom075\":\"style_zoom075__JA_q0\",\"zoom09\":\"style_zoom09__pWjeK\",\"zoom1\":\"style_zoom1__2IWB9\",\"zoom12\":\"style_zoom12__O5tgJ\",\"zoom15\":\"style_zoom15__3U5We\",\"zoom2\":\"style_zoom2__RtpNm\",\"expandedEditor\":\"style_expandedEditor__6u5oc\",\"divider\":\"style_divider__Y6Ylq\",\"button\":\"style_button__UOe75\",\"expandBtn\":\"style_expandBtn__eggx8\",\"copyTooltip\":\"style_copyTooltip__S3tye\",\"writeForMeContainer\":\"style_writeForMeContainer__5aagG\",\"writeForMeFeatherIcon\":\"style_writeForMeFeatherIcon__yxu8G\",\"editorTopInfo\":\"style_editorTopInfo__xoncP\",\"leftEditorTopInfo\":\"style_leftEditorTopInfo__L9LlC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__VSP5g\",\"button\":\"style_button__QUeN9\",\"active\":\"style_active__Fv0RE\",\"urlPopup\":\"style_urlPopup__D9ZJn\",\"inputContainer\":\"style_inputContainer__bm_d7\",\"textLabel\":\"style_textLabel__IaVSL\",\"urlInput\":\"style_urlInput__hn8MM\",\"inputControlls\":\"style_inputControlls__aQiLB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__62ic4\",\"button\":\"style_button__jl08j\",\"active\":\"style_active__7OpW7\",\"urlPopup\":\"style_urlPopup__QdWSN\",\"inputContainer\":\"style_inputContainer__cNQp7\",\"textLabel\":\"style_textLabel__XLCPG\",\"urlInput\":\"style_urlInput__g2XBm\",\"inputControlls\":\"style_inputControlls___Lrie\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__q5NYO\",\"button\":\"style_button__rOfd5\",\"active\":\"style_active__8ok_g\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__JEFtz\",\"button\":\"style_button__tWAPP\",\"active\":\"style_active__1Ub_o\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__vN_zL\",\"header-modal\":\"style_header-modal__zaVfr\",\"header-modal__option\":\"style_header-modal__option__uBrLT\",\"header-modal__selected\":\"style_header-modal__selected__HRX68\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__Y7Msi\",\"button\":\"style_button__qE27E\",\"active\":\"style_active__vcuPU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__7_9Fm\",\"button\":\"style_button__I4eBO\",\"active\":\"style_active__vWrUg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__F4Eq3\",\"button\":\"style_button__zXaNR\",\"active\":\"style_active__QB8X9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__7hrU8\",\"button\":\"style_button__lBpTe\",\"active\":\"style_active__Vy5N_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header-toolkit\":\"style_header-toolkit__ngc_6\",\"button\":\"style_button__bwqJh\",\"active\":\"style_active__pcv99\",\"urlPopup\":\"style_urlPopup__MeYFu\",\"inputContainer\":\"style_inputContainer__Yr1Ib\",\"textLabel\":\"style_textLabel__paAwp\",\"urlInput\":\"style_urlInput__u0l_s\",\"inputControlls\":\"style_inputControlls__GUFA1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"step-one_button__LmGnF\",\"purple\":\"step-one_purple__Dr_VM\",\"teal\":\"step-one_teal__pq6oT\",\"welcome\":\"step-one_welcome__uDuo3\",\"welcomeHeader\":\"step-one_welcomeHeader__qKSL7\",\"welcomeSubHeader\":\"step-one_welcomeSubHeader__yAtvD\",\"welcomeCards\":\"step-one_welcomeCards__lU5iT\",\"welcomeCard\":\"step-one_welcomeCard__K1Ils\",\"welcomeCardHeader\":\"step-one_welcomeCardHeader__YmBsP\",\"welcomeCardSubHeader\":\"step-one_welcomeCardSubHeader__v1GbY\",\"divider\":\"step-one_divider___K9R9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uploadForm\":\"styles_uploadForm__RQvO_\",\"urlinput\":\"styles_urlinput__NNaUR\",\"uploadBtn\":\"styles_uploadBtn__zNHxo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"keywordContainer\":\"style_keywordContainer__vPXS3\",\"keywordEditIcons\":\"style_keywordEditIcons__3jaVk\",\"keywordContainerTitleContainer\":\"style_keywordContainerTitleContainer__S1Uen\",\"keywordDrawerIcon\":\"style_keywordDrawerIcon__zFqeU\",\"removeKwButtonContainer\":\"style_removeKwButtonContainer__5qWYw\",\"removeKwButtonIcon\":\"style_removeKwButtonIcon__Fg9Sz\",\"keywordLocationIconContainer\":\"style_keywordLocationIconContainer__UBnRt\",\"keywordLocationIcon\":\"style_keywordLocationIcon__uVBJh\",\"showIcons\":\"style_showIcons__gIQdT\",\"keywordDetailsButtonContainer\":\"style_keywordDetailsButtonContainer__nKs7u\",\"keywordDetailsIcon\":\"style_keywordDetailsIcon__6AAJ0\",\"editKwButtonContainer\":\"style_editKwButtonContainer__437ne\",\"editKwButtonIcon\":\"style_editKwButtonIcon__7aEsS\",\"keywordName\":\"style_keywordName__KZoSi\",\"targetKwContainer\":\"style_targetKwContainer__W_edh\",\"keywordMetric\":\"style_keywordMetric__BgvpY\",\"keywordMetricContainer\":\"style_keywordMetricContainer__1Xtmz\",\"expandingContainer\":\"style_expandingContainer__Ty15F\",\"expandBtn\":\"style_expandBtn__bfM2c\",\"keywordsAndSuggestionsContainer\":\"style_keywordsAndSuggestionsContainer__WHZZr\",\"collapsed\":\"style_collapsed___mhNq\",\"targetKeywordsSectionContainer\":\"style_targetKeywordsSectionContainer__MA1nu\",\"expanded\":\"style_expanded__jeR4g\",\"targetKeywordsContainer\":\"style_targetKeywordsContainer__RASzp\",\"locationToggler\":\"style_locationToggler__pes3z\",\"targetKeywordsTitle\":\"style_targetKeywordsTitle__Xiu43\",\"selectRelatedKeywords\":\"style_selectRelatedKeywords__UsR3o\",\"keywordSuggestionsContainer\":\"style_keywordSuggestionsContainer__iu89Z\",\"suggestedKwSectionTitle\":\"style_suggestedKwSectionTitle__UtMLo\",\"targetKwLoadingMsg\":\"style_targetKwLoadingMsg__vEgdP\",\"kwSuggestionsContainer\":\"style_kwSuggestionsContainer__2wt_G\",\"singleSuggestedKwContainer\":\"style_singleSuggestedKwContainer__ACSfR\",\"singleSugestedKwInnerContainer\":\"style_singleSugestedKwInnerContainer__b0ror\",\"svAndCpc\":\"style_svAndCpc__c_8wW\",\"controllsBar\":\"style_controllsBar__ALl9x\",\"clickToAdd\":\"style_clickToAdd__xtgcn\",\"suggestedKWTitleContainer\":\"style_suggestedKWTitleContainer__80skR\",\"suggestedKwTitle\":\"style_suggestedKwTitle__9QaV3\",\"closeSuggestedKW\":\"style_closeSuggestedKW__330Se\",\"secondary-text\":\"style_secondary-text__emnsR\",\"keywords\":\"style_keywords__wjpPt\",\"keywordMetricProgressBar\":\"style_keywordMetricProgressBar__Lm1gP\",\"cpcMetricsProgressBar\":\"style_cpcMetricsProgressBar__LTmQK\",\"focusTermPopover\":\"style_focusTermPopover__pkvY4\",\"popoverTitle\":\"style_popoverTitle__pH9eH\",\"popoverCountrySv\":\"style_popoverCountrySv__3zElP\",\"sv\":\"style_sv__qOMD7\",\"emoji\":\"style_emoji__xv7Ls\",\"popOverTitle\":\"style_popOverTitle__v_wFU\",\"competitors\":\"style_competitors__YGYr0\",\"competitor\":\"style_competitor__GWmTF\",\"popoverDivider\":\"style_popoverDivider__XCRSU\",\"headingsPopover\":\"style_headingsPopover__jTD85\",\"headingTooltipValue\":\"style_headingTooltipValue__dRrjD\",\"countrySelectorPopover\":\"style_countrySelectorPopover__RhvA2\",\"divider\":\"style_divider__0ifEI\",\"columnTitlesRow\":\"style_columnTitlesRow__oKXV2\",\"columnTitle\":\"style_columnTitle__fLfkI\",\"defaultLocationName\":\"style_defaultLocationName__K60S8\",\"locationInfo\":\"style_locationInfo__DGWFc\",\"setAsDefaultText\":\"style_setAsDefaultText__q4qk_\",\"countryReach\":\"style_countryReach__5HPf_\",\"singleCountryRow\":\"style_singleCountryRow__6YTEm\",\"singleCountryRowSelected\":\"style_singleCountryRowSelected__lSqDc\",\"isEditDefaultLocation\":\"style_isEditDefaultLocation__OhW7Z\",\"newKwFormContainer\":\"style_newKwFormContainer__ysNll\",\"addNewKwBtn\":\"style_addNewKwBtn__aHUY2\",\"addKeywordStyle\":\"style_addKeywordStyle___NjDc\",\"plusIconStyle\":\"style_plusIconStyle__dmf5B\",\"disabledBtn\":\"style_disabledBtn__z9Cbs\",\"addNewKwForm\":\"style_addNewKwForm__5iXKx\",\"newKwInputControllsContainer\":\"style_newKwInputControllsContainer__Hc69J\",\"newKwInputContainer\":\"style_newKwInputContainer__bkNBM\",\"customInputField\":\"style_customInputField__g9Ppg\",\"addNewKwBtnLabel\":\"style_addNewKwBtnLabel__SWOIT\",\"quota\":\"style_quota__MfYRt\",\"quotaValues\":\"style_quotaValues__6t772\",\"plusIcon\":\"style_plusIcon__lL8Wh\",\"newEmphasizedFormStyle\":\"style_newEmphasizedFormStyle__xmFMZ\",\"pulse-purple\":\"style_pulse-purple__P7U1V\",\"newFormStyle\":\"style_newFormStyle__lqdiW\",\"editKwForm\":\"style_editKwForm__Q_jdR\",\"editKwInputContainer\":\"style_editKwInputContainer__WBOeM\",\"editKwControllsContainer\":\"style_editKwControllsContainer__D2l73\",\"populateButton\":\"style_populateButton__aGc27\",\"confirmButton\":\"style_confirmButton__DZXoJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contentOptimizerContainer\":\"bread-crumb_contentOptimizerContainer__rqiMo\",\"divider\":\"bread-crumb_divider__VKsLJ\",\"scrolledEditor\":\"bread-crumb_scrolledEditor__4iLHS\",\"contentOptimizerHeader\":\"bread-crumb_contentOptimizerHeader__mSsmj\",\"title\":\"bread-crumb_title__8VW90\",\"back\":\"bread-crumb_back__VYwHf\",\"share\":\"bread-crumb_share__7_i4v\",\"backWrapper\":\"bread-crumb_backWrapper__XPOW2\",\"headerExtra\":\"bread-crumb_headerExtra__lVFkV\",\"kebab\":\"bread-crumb_kebab__NIs_t\",\"kebabMenu\":\"bread-crumb_kebabMenu__oJYmb\",\"kebabMenuItem\":\"bread-crumb_kebabMenuItem__YYQHl\",\"redText\":\"bread-crumb_redText__WFg6A\",\"exportBtn\":\"bread-crumb_exportBtn__qzHGF\",\"modal\":\"bread-crumb_modal__QLBQN\",\"modalTitle\":\"bread-crumb_modalTitle__0lf8D\",\"websiteLabel\":\"bread-crumb_websiteLabel__uP_MN\",\"editContainer\":\"bread-crumb_editContainer__ok1vS\",\"btn\":\"bread-crumb_btn__lZxTx\",\"exportToPdfButton\":\"bread-crumb_exportToPdfButton__HCYl1\",\"exportToDocsButton\":\"bread-crumb_exportToDocsButton__dtrrC\",\"exportDropdown\":\"bread-crumb_exportDropdown__7llmi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headerKeywords\":\"styles_headerKeywords__xxGL0\",\"popoverDivider\":\"styles_popoverDivider__zaO9y\",\"draftToolkit\":\"styles_draftToolkit__n9jPZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"content-editor_container__QYw4p\",\"left-side\":\"content-editor_left-side__l1TXd\",\"pageEditorError\":\"content-editor_pageEditorError__H_8Vw\",\"headerKeywords\":\"content-editor_headerKeywords__Nu5m7\",\"popoverDivider\":\"content-editor_popoverDivider__m2Vuv\",\"draftToolkit\":\"content-editor_draftToolkit__jDD0p\",\"loaderSpinnerContainer\":\"content-editor_loaderSpinnerContainer__3w2sl\",\"loaderSpinner\":\"content-editor_loaderSpinner__IxzP_\",\"spin\":\"content-editor_spin__6tOJb\",\"selectionTooltip\":\"content-editor_selectionTooltip__Qo0Ri\",\"arrowBottom\":\"content-editor_arrowBottom__3KZVT\",\"textInputNotification\":\"content-editor_textInputNotification__lnemm\",\"contentGeneratorDrawer\":\"content-editor_contentGeneratorDrawer__XXSAo\",\"closeIcons\":\"content-editor_closeIcons__5_3Bw\",\"outlineDrawerBackArrow\":\"content-editor_outlineDrawerBackArrow__GwHmD\",\"contentGeneratorTitle\":\"content-editor_contentGeneratorTitle__Agz_h\",\"selectedTextInfoContainer\":\"content-editor_selectedTextInfoContainer__WRKBY\",\"dataAndIcon\":\"content-editor_dataAndIcon__6OcYR\",\"textAndUrl\":\"content-editor_textAndUrl__XUxuw\",\"text\":\"content-editor_text__21AKd\",\"url\":\"content-editor_url__v_O1a\",\"textUrlControlls\":\"content-editor_textUrlControlls__thYuv\",\"urlPopup\":\"content-editor_urlPopup__gHOHE\",\"inputContainer\":\"content-editor_inputContainer__Mb2tQ\",\"textLabel\":\"content-editor_textLabel__mnezc\",\"urlInput\":\"content-editor_urlInput__2P2Tu\",\"inputControlls\":\"content-editor_inputControlls__qFkMX\",\"linkSuggestionsPopover\":\"content-editor_linkSuggestionsPopover__FFCdv\",\"extensionButton\":\"content-editor_extensionButton__bBbw0\",\"iconButton\":\"content-editor_iconButton__Cfbam\",\"ctaTitle\":\"content-editor_ctaTitle__ssOd0\",\"extensionButtonStyle\":\"content-editor_extensionButtonStyle__PN0ie\",\"closeIcon\":\"content-editor_closeIcon__UKkJM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"style_modal__rZesC\",\"tableOuterClusters\":\"style_tableOuterClusters__qcXJL\",\"roundEdgesTable\":\"style_roundEdgesTable__iZjyo\",\"ant-table-content\":\"style_ant-table-content__S_Fgs\",\"purpleRow\":\"style_purpleRow__bot_O\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"citationsContainer\":\"style_citationsContainer__oVqah\",\"citationsInnerContainer\":\"style_citationsInnerContainer__ZHHEU\",\"singleCitation\":\"style_singleCitation__qbxUz\",\"citationIcon\":\"style_citationIcon___x2Qc\",\"citationInfo\":\"style_citationInfo__tZ76P\",\"citationName\":\"style_citationName__pdvkB\",\"citationUrl\":\"style_citationUrl__RdI_o\",\"citationText\":\"style_citationText__BdN5t\",\"serpUsedByContainer\":\"style_serpUsedByContainer__azyj8\",\"citationSerpsContainer\":\"style_citationSerpsContainer__iipYx\",\"serpIcon\":\"style_serpIcon__w_LvR\",\"metaDescTooltip\":\"style_metaDescTooltip__nuDt4\",\"serpTooltip\":\"style_serpTooltip__QLWro\",\"citationSerpMetaDesc\":\"style_citationSerpMetaDesc__6RNd6\",\"serpTitle\":\"style_serpTitle__RXoga\",\"serpUrl\":\"style_serpUrl__tu4XQ\",\"emptyDataBox\":\"style_emptyDataBox__Mo6mN\",\"emptyImg\":\"style_emptyImg__9U7Nu\",\"emptyDataTitle\":\"style_emptyDataTitle__R5BVL\",\"subTitle\":\"style_subTitle__rYSu7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"questionsContainer\":\"style_questionsContainer__yjLcX\",\"questionsInnerContainer\":\"style_questionsInnerContainer__2asTx\",\"questionsNameAndCopy\":\"style_questionsNameAndCopy__lm2Dj\",\"customQuestionsName\":\"style_customQuestionsName___Vs5R\",\"serpUsedByContainer\":\"style_serpUsedByContainer__AobiD\",\"citationSerpsContainer\":\"style_citationSerpsContainer__jAx_o\",\"serpIcon\":\"style_serpIcon__6QGH4\",\"emptyDataBox\":\"style_emptyDataBox__1nQ8c\",\"emptyImg\":\"style_emptyImg__3_6YA\",\"emptyDataTitle\":\"style_emptyDataTitle__ApBiU\",\"focusTermPopover\":\"style_focusTermPopover__eCy11\",\"popOverTitle\":\"style_popOverTitle__q_bNa\",\"popoverDivider\":\"style_popoverDivider__0eu5_\",\"copyTooltip\":\"style_copyTooltip__kgoSh\",\"focusTermAndProgressContainer\":\"style_focusTermAndProgressContainer__7gwcB\",\"focusTermNameAndCopy\":\"style_focusTermNameAndCopy__cm2nS\",\"includeMoreSingleTerm\":\"style_includeMoreSingleTerm__RT8Gn\",\"copyIcon\":\"style_copyIcon__j24nu\",\"totalQuestions\":\"style_totalQuestions__2A_bv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"flexCol\":\"style_flexCol__zQsc0\",\"limitedAccess\":\"style_limitedAccess__B2vHw\",\"flexRow\":\"style_flexRow__R2pUv\",\"quota\":\"style_quota__iFHMf\",\"focusTermDropdown\":\"style_focusTermDropdown__L17PC\",\"scoreContainer\":\"style_scoreContainer__stcBp\",\"scoreDescription\":\"style_scoreDescription__QkW_1\",\"scoreDescTitle\":\"style_scoreDescTitle__qa_Kd\",\"scoreDescText\":\"style_scoreDescText__Hprrn\",\"speedIndexContainer\":\"style_speedIndexContainer__Dejs9\",\"speedIndexDot\":\"style_speedIndexDot__ykTus\",\"refecthButtonContainer\":\"style_refecthButtonContainer__NDBTa\",\"popoverInfoContainer\":\"style_popoverInfoContainer__jZwn6\",\"customSpinner\":\"style_customSpinner__I9jMh\",\"keywords\":\"style_keywords__VUAeg\",\"keywordMetric\":\"style_keywordMetric__jFkNF\",\"keywordMetricProgressBar\":\"style_keywordMetricProgressBar__nk_Rf\",\"viewers\":\"style_viewers__3GdID\",\"avatar\":\"style_avatar__nAZ3X\",\"progress\":\"style_progress__Emagh\",\"smallProgress\":\"style_smallProgress__b2LvX\",\"needHelp\":\"style_needHelp__pVjFU\",\"userIcon\":\"style_userIcon__X7Oyb\",\"readabilityLetter\":\"style_readabilityLetter__RlwFP\",\"readabilityAActive\":\"style_readabilityAActive__etxiG\",\"readabilityBActive\":\"style_readabilityBActive__1xJXN\",\"readabilityCActive\":\"style_readabilityCActive__u9Z0Q\",\"readabilityDActive\":\"style_readabilityDActive__xdRpu\",\"readabilityEActive\":\"style_readabilityEActive__VQ8_a\",\"readabilitySecondary\":\"style_readabilitySecondary__2EAQH\",\"focusTermsCollapse\":\"style_focusTermsCollapse__kVGtj\",\"header\":\"style_header__YUb4w\",\"number\":\"style_number__q8kh0\",\"expandedIcon\":\"style_expandedIcon__l8nCj\",\"analyticsCollapseCardMargin\":\"style_analyticsCollapseCardMargin___4hbN\",\"analyticsCollapseMarginTop\":\"style_analyticsCollapseMarginTop__ePTwm\",\"focusTermContent\":\"style_focusTermContent__CK3KM\",\"focusTermAndProgressContainer\":\"style_focusTermAndProgressContainer__DQAwe\",\"focusTermNameAndCopy\":\"style_focusTermNameAndCopy__EA8m7\",\"includeMoreSingleTerm\":\"style_includeMoreSingleTerm__QpYDT\",\"copyIcon\":\"style_copyIcon__3wT4i\",\"focusTermAndTags\":\"style_focusTermAndTags__Kp9wt\",\"icon\":\"style_icon__moQAn\",\"focusTermName\":\"style_focusTermName__Ly6am\",\"foundInElement\":\"style_foundInElement__tEiL_\",\"customFocusTermName\":\"style_customFocusTermName__LzC2O\",\"brandedLabel\":\"style_brandedLabel__6T1gS\",\"iconAndRemoveBtnContainer\":\"style_iconAndRemoveBtnContainer__rwsPG\",\"focusTermUsageCount\":\"style_focusTermUsageCount__1j6I7\",\"reduceUsageFocusTerms\":\"style_reduceUsageFocusTerms__qBdnF\",\"removeFocusTerms\":\"style_removeFocusTerms__07IkA\",\"removeTermLabel\":\"style_removeTermLabel__VbKWK\",\"removeTermIcon\":\"style_removeTermIcon__cKkeI\",\"checkOutlinedRemove\":\"style_checkOutlinedRemove__u3c18\",\"focusTermUsageCountSca\":\"style_focusTermUsageCountSca__SLkEY\",\"focusTermsUsedIn\":\"style_focusTermsUsedIn__xzq3T\",\"writingStylePopover\":\"style_writingStylePopover__sHjLJ\",\"writingStylePopoverContent\":\"style_writingStylePopoverContent__iCD9H\",\"focusTermPopover\":\"style_focusTermPopover__FKP8t\",\"innerPopover\":\"style_innerPopover__UbNja\",\"innerSingleCompetitorUrl\":\"style_innerSingleCompetitorUrl__RFjzG\",\"withArrow\":\"style_withArrow__I_XFV\",\"popoverTitle\":\"style_popoverTitle__lUKZy\",\"popoverCountrySv\":\"style_popoverCountrySv__geNG6\",\"sv\":\"style_sv__kQDDv\",\"emoji\":\"style_emoji__YGsrS\",\"popOverTitle\":\"style_popOverTitle__ahuD1\",\"competitors\":\"style_competitors__hwtcD\",\"competitor\":\"style_competitor__IqYyC\",\"singleCompetitor\":\"style_singleCompetitor__FwGi3\",\"singleCompetitorUrl\":\"style_singleCompetitorUrl__4CKN9\",\"snippetsContainer\":\"style_snippetsContainer__ot3Ml\",\"singleSnippet\":\"style_singleSnippet__XCQdn\",\"popoverDivider\":\"style_popoverDivider__chO8P\",\"popOverTermsTitle\":\"style_popOverTermsTitle__NKa1t\",\"headingsPopover\":\"style_headingsPopover__hbinC\",\"headingTooltipValue\":\"style_headingTooltipValue__bTPOI\",\"collapseContainer\":\"style_collapseContainer__TNTaa\",\"collapsableContainer\":\"style_collapsableContainer__HGsnN\",\"colaapseButtonArrow\":\"style_colaapseButtonArrow__MGXVA\",\"collapseButton\":\"style_collapseButton__kR3ue\",\"commonPopover\":\"style_commonPopover__kfD05\",\"editKeywordsBtn\":\"style_editKeywordsBtn__IvUg6\",\"keywordSuggestionsContainer\":\"style_keywordSuggestionsContainer__b8_ix\",\"singleSuggestedKwContainer\":\"style_singleSuggestedKwContainer__lUYBT\",\"isKeywordRemoving\":\"style_isKeywordRemoving__0Y5Pv\",\"suggestedKwContainer\":\"style_suggestedKwContainer__IrJwP\",\"svAndCpc\":\"style_svAndCpc__eV3Ml\",\"clickToAdd\":\"style_clickToAdd__Rf3jy\",\"suggestedKWTitleContainer\":\"style_suggestedKWTitleContainer__e16rv\",\"closeSuggestedKW\":\"style_closeSuggestedKW__vmyEL\",\"cancelButton\":\"style_cancelButton__vFlju\",\"addNewKeywordLocationIcon\":\"style_addNewKeywordLocationIcon__hp2tW\",\"keywordContainer\":\"style_keywordContainer__o4y1J\",\"keywordContainerTitleContainer\":\"style_keywordContainerTitleContainer__HyXGY\",\"keywordDrawerIcon\":\"style_keywordDrawerIcon__n0rhQ\",\"removeKwButtonContainer\":\"style_removeKwButtonContainer__0GIsE\",\"removeKwButtonIcon\":\"style_removeKwButtonIcon__Nbr1J\",\"keywordLocationIconContainer\":\"style_keywordLocationIconContainer__C4CXq\",\"keywordLocationIcon\":\"style_keywordLocationIcon__YjZTQ\",\"showIcons\":\"style_showIcons__PKtA1\",\"editKwButtonContainer\":\"style_editKwButtonContainer__5310p\",\"editKwButtonIcon\":\"style_editKwButtonIcon__09bVC\",\"keywordName\":\"style_keywordName__85ap5\",\"keywordMetricContainer\":\"style_keywordMetricContainer__0AxnT\",\"link\":\"style_link__vZDiF\",\"orderContentBtn\":\"style_orderContentBtn__uNKgi\",\"footerText\":\"style_footerText__iKsz1\",\"divider\":\"style_divider__mevUB\",\"viewSchemaBtn\":\"style_viewSchemaBtn__pU_vK\",\"tabs\":\"style_tabs__m6jOQ\",\"truncateText\":\"style_truncateText__hYHYr\",\"darkenTechnical\":\"style_darkenTechnical__gwrKF\",\"importUrlButton\":\"style_importUrlButton__KuVWa\",\"scoreDescHeader\":\"style_scoreDescHeader__hWDqY\",\"popOver\":\"style_popOver__f04Uy\",\"subtitle\":\"style_subtitle__OIvMk\",\"scrollBarSidebar\":\"style_scrollBarSidebar__Br9J8\",\"focusTermsExpanded\":\"style_focusTermsExpanded__6qt2U\",\"technicalPropgressInfoContainer\":\"style_technicalPropgressInfoContainer__9vao9\",\"selectContainer\":\"style_selectContainer___uIb5\",\"customSelectInput\":\"style_customSelectInput__eHqgt\",\"globeContainer\":\"style_globeContainer__63VkK\",\"globeIcon\":\"style_globeIcon__jyZcv\",\"PropertyDropDownCountries\":\"style_PropertyDropDownCountries__QGb2A\",\"countryInfo\":\"style_countryInfo__x__GX\",\"countrySearch\":\"style_countrySearch__BmySQ\",\"topDiv\":\"style_topDiv__wvomn\",\"locationArea\":\"style_locationArea__zWDch\",\"addKwBtnContainer\":\"style_addKwBtnContainer__FBfop\",\"tooltipInner\":\"style_tooltipInner___CBL_\",\"writingStyleContainer\":\"style_writingStyleContainer__keOla\",\"singleReadabilityItem\":\"style_singleReadabilityItem__Fe4pT\",\"activeReadabilityItem\":\"style_activeReadabilityItem__UpNZT\",\"prevReadabilityItem\":\"style_prevReadabilityItem__BGp7b\",\"nextReadabilityItem\":\"style_nextReadabilityItem__EGWMl\",\"writingStyleLevelContainer\":\"style_writingStyleLevelContainer__pUSoR\",\"addNewKwForm\":\"style_addNewKwForm__UIbcE\",\"populateButton\":\"style_populateButton__uUxBA\",\"customInputField\":\"style_customInputField__PqCdR\",\"customFocusTermsTabs\":\"style_customFocusTermsTabs__e5i_W\",\"focusTermsTabTitleValue\":\"style_focusTermsTabTitleValue__ymRtc\",\"questionsTab\":\"style_questionsTab__BzJZ3\",\"countrySelectorPopover\":\"style_countrySelectorPopover__rkd0q\",\"columnTitlesRow\":\"style_columnTitlesRow__gDyYX\",\"columnTitle\":\"style_columnTitle__NsuCR\",\"defaultLocationName\":\"style_defaultLocationName__t5x2F\",\"locationInfo\":\"style_locationInfo__xzAIt\",\"setAsDefaultText\":\"style_setAsDefaultText__URXN3\",\"countryReach\":\"style_countryReach__Vqlx_\",\"singleCountryRow\":\"style_singleCountryRow__pNmS5\",\"singleCountryRowSelected\":\"style_singleCountryRowSelected__1cgyK\",\"isEditDefaultLocation\":\"style_isEditDefaultLocation__mvCk5\",\"copyTooltip\":\"style_copyTooltip__M8waz\",\"miniMainmetricsBar\":\"style_miniMainmetricsBar__RCmbz\",\"miniMetrics\":\"style_miniMetrics__uglSl\",\"miniMetricsLabel\":\"style_miniMetricsLabel__C7fe6\",\"miniMetricsValue\":\"style_miniMetricsValue__lweAH\",\"longLoadingBannerContainer\":\"style_longLoadingBannerContainer__L1MLr\",\"longLoadingBanner\":\"style_longLoadingBanner__n1_Co\",\"customSchemaBtn\":\"style_customSchemaBtn__L967y\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"linkToolTip\":\"style_linkToolTip__bhIce\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"competitorsContainer\":\"style_competitorsContainer__SfNOS\",\"competitorsInnerContainer\":\"style_competitorsInnerContainer___TbD7\",\"singleCompetitor\":\"style_singleCompetitor__U87HC\",\"competitorDetailsContainer\":\"style_competitorDetailsContainer__StWBo\",\"competitorPosition\":\"style_competitorPosition__M88ib\",\"competitorContentScore\":\"style_competitorContentScore__KDgTT\",\"competitorWordCount\":\"style_competitorWordCount__GBsaT\",\"splitter\":\"style_splitter__eGmIb\",\"progress\":\"style_progress__2Uzzo\",\"competitorIcon\":\"style_competitorIcon__FaDSp\",\"competitorInfo\":\"style_competitorInfo__V54hG\",\"competitorName\":\"style_competitorName__F92CB\",\"competitorUrl\":\"style_competitorUrl__s2401\",\"competitorText\":\"style_competitorText__Fzphu\",\"emptyDataBox\":\"style_emptyDataBox__4N8UY\",\"emptyImg\":\"style_emptyImg__CYXAU\",\"emptyDataTitle\":\"style_emptyDataTitle__Js1W9\",\"selectInput\":\"style_selectInput___gVgJ\",\"keywordChecked\":\"style_keywordChecked__C87zU\",\"ant-select\":\"style_ant-select__7CoFi\",\"ant-select-disabled\":\"style_ant-select-disabled__ju49Y\",\"ant-select-selector\":\"style_ant-select-selector__r_4up\",\"ant-select-single\":\"style_ant-select-single__R__La\",\"ant-select-customize-input\":\"style_ant-select-customize-input__4fC4G\",\"tooltipOverlay\":\"style_tooltipOverlay__6zcSe\",\"competitorTooltipUrl\":\"style_competitorTooltipUrl__U2ss8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"analyticsCollapseCard\":\"style_analyticsCollapseCard__sEtSW\",\"expandIcon\":\"style_expandIcon__nKE6c\",\"header\":\"style_header__hnfX_\",\"headerRight\":\"style_headerRight__YroUz\",\"title\":\"style_title__ICalb\",\"divider\":\"style_divider__zJoLJ\",\"colTitle\":\"style_colTitle__nPW60\",\"pageText\":\"style_pageText__eXO_c\",\"analyticsHideArrow\":\"style_analyticsHideArrow__dF_7X\",\"paginationStyle\":\"style_paginationStyle__DHqNy\",\"singlePageBlur\":\"style_singlePageBlur__xKJPI\",\"filters\":\"style_filters__l5Lmi\",\"filtersText\":\"style_filtersText__Ri9O_\",\"filtersItems\":\"style_filtersItems__wtY3s\",\"chevron\":\"style_chevron__PPxCQ\",\"OptionContainer\":\"style_OptionContainer__9w4R7\",\"checkboxLabel\":\"style_checkboxLabel__mF6_s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipOverlay\":\"style_tooltipOverlay__DXBXv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"competitorIcon\":\"style_competitorIcon__77Of4\",\"pageTitleUrl\":\"style_pageTitleUrl__l8xBO\",\"selectInput\":\"style_selectInput__bKQhM\",\"tableOuterPages\":\"style_tableOuterPages__AgusG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltipOverlay\":\"style_tooltipOverlay__l3WUN\",\"truncate\":\"style_truncate__5_fss\",\"tabsContainer\":\"style_tabsContainer__UYJo0\",\"tooltipContent\":\"style_tooltipContent__yIv6r\",\"title\":\"style_title__vbncV\",\"stat\":\"style_stat__2U44j\",\"label\":\"style_label__oCj7Z\",\"value\":\"style_value__OatCd\",\"competingTermsDrawerStyle\":\"style_competingTermsDrawerStyle__98Cfv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectInput\":\"style_selectInput__RDSGZ\",\"minified\":\"style_minified__rLAna\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"competitorsHeadingsDrawerStyle\":\"style_competitorsHeadingsDrawerStyle__ejLJA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contentIdeasDrawer\":\"style_contentIdeasDrawer__fymKP\",\"popoverDivider\":\"style_popoverDivider__TIZ7J\",\"contentIdeasDrawerContent\":\"style_contentIdeasDrawerContent__4jpzP\",\"contentIdeasTitle\":\"style_contentIdeasTitle__rDNWa\",\"descriptionText\":\"style_descriptionText__dkTjD\",\"input\":\"style_input__ULYYv\",\"inputLabel\":\"style_inputLabel__ItSkl\",\"countrySelector\":\"style_countrySelector__DElA_\",\"selectInput\":\"style_selectInput__bf__m\",\"generateIdeasButton\":\"style_generateIdeasButton__AqGzy\",\"generatedItemsNumb\":\"style_generatedItemsNumb__iz2UY\",\"ContentIdeaContainer\":\"style_ContentIdeaContainer__4mBeR\",\"ContentIdea\":\"style_ContentIdea__2PlUV\",\"controlButtons\":\"style_controlButtons__YpGL7\",\"downloadButton\":\"style_downloadButton__iWffV\",\"copyButton\":\"style_copyButton___gD7q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overViewContainer\":\"style_overViewContainer__gRQCk\",\"title\":\"style_title__HNTaD\",\"boldTitle\":\"style_boldTitle__6f4Ii\",\"searchVolume\":\"style_searchVolume__kmSSg\",\"commonCitations\":\"style_commonCitations__g_Ylt\",\"citationScroll\":\"style_citationScroll__spbFE\",\"singleCitation\":\"style_singleCitation__0mNxO\",\"citationIcon\":\"style_citationIcon__UfZKe\",\"citationInfo\":\"style_citationInfo__fh1eJ\",\"citationName\":\"style_citationName__0_jeb\",\"citationUrl\":\"style_citationUrl____8Xs\",\"citationText\":\"style_citationText__j1sAb\",\"serpUsedByContainer\":\"style_serpUsedByContainer__82DwT\",\"citationSerpsContainer\":\"style_citationSerpsContainer__8KMGG\",\"serpIcon\":\"style_serpIcon__2dcxZ\",\"serpTooltip\":\"style_serpTooltip__mFPIs\",\"citationSerpMetaDesc\":\"style_citationSerpMetaDesc__tXyUj\",\"serpTitle\":\"style_serpTitle__KxJsy\",\"serpUrl\":\"style_serpUrl__oCtSk\",\"rankingContainer\":\"style_rankingContainer__V9EQL\",\"statusBar\":\"style_statusBar__qUtAS\",\"barTitle\":\"style_barTitle__yUiCm\",\"barSubTitle\":\"style_barSubTitle__ltuLr\",\"createButton\":\"style_createButton__4IncC\",\"rankingTable\":\"style_rankingTable__hRQEi\",\"firstColumnText\":\"style_firstColumnText__WROJq\",\"progress\":\"style_progress__Ft_pg\",\"dot\":\"style_dot__n0CLC\",\"topCompetitorTable\":\"style_topCompetitorTable__StrGn\",\"td\":\"style_td__vaRRm\",\"th\":\"style_th__e9zfY\",\"similarKeywordsTable\":\"style_similarKeywordsTable__53Snx\",\"paginationContainer\":\"style_paginationContainer__jJX9i\",\"titleText\":\"style_titleText__Z96eD\",\"urlText\":\"style_urlText__Qo1bK\",\"competitorImg\":\"style_competitorImg__Ct7If\",\"topTagsContainer\":\"style_topTagsContainer__30JuF\",\"topTags\":\"style_topTags__lUSuL\",\"addToProjectBtnExpanded\":\"style_addToProjectBtnExpanded___r13i\",\"addToProjectBtn\":\"style_addToProjectBtn__t13df\",\"disabledBtn\":\"style_disabledBtn__iGVvR\",\"addedToProjectBtnExpanded\":\"style_addedToProjectBtnExpanded__y3OYB\",\"iconRemove\":\"style_iconRemove__r5k98\",\"iconAdded\":\"style_iconAdded__KtJk2\",\"addedToProjectBtn\":\"style_addedToProjectBtn__AQ2cX\",\"viewAllKWButton\":\"style_viewAllKWButton__mqQ1f\",\"tooltipOverlay\":\"style_tooltipOverlay__EQTVG\",\"truncate\":\"style_truncate___oeK6\",\"contentResearchDrawerStyle\":\"style_contentResearchDrawerStyle__zXIxG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"flexCol\":\"style_flexCol__V9bN1\",\"limitedAccess\":\"style_limitedAccess__9hmvs\",\"flexRow\":\"style_flexRow__TypB_\",\"quota\":\"style_quota__rhh52\",\"focusTermDropdown\":\"style_focusTermDropdown__AOpQn\",\"scoreContainer\":\"style_scoreContainer__loUPZ\",\"scoreDescription\":\"style_scoreDescription__fydWp\",\"scoreDescTitle\":\"style_scoreDescTitle__N5Fq9\",\"scoreDescText\":\"style_scoreDescText__49I_N\",\"speedIndexContainer\":\"style_speedIndexContainer__hpZ7E\",\"speedIndexDot\":\"style_speedIndexDot__XHb3w\",\"refecthButtonContainer\":\"style_refecthButtonContainer__jX7gt\",\"popoverInfoContainer\":\"style_popoverInfoContainer__zv0v3\",\"customSpinner\":\"style_customSpinner___6GwX\",\"keywords\":\"style_keywords__fho0v\",\"keywordMetric\":\"style_keywordMetric__8JKbU\",\"keywordMetricProgressBar\":\"style_keywordMetricProgressBar__UMcSb\",\"viewers\":\"style_viewers__L2oXV\",\"avatar\":\"style_avatar__fZe_c\",\"progress\":\"style_progress__JMqDz\",\"smallProgress\":\"style_smallProgress__gDgKa\",\"needHelp\":\"style_needHelp__wFCHN\",\"userIcon\":\"style_userIcon__ByzNC\",\"readabilityLetter\":\"style_readabilityLetter__hQD0j\",\"readabilityAActive\":\"style_readabilityAActive__X2_dk\",\"readabilityBActive\":\"style_readabilityBActive__fAWmd\",\"readabilityCActive\":\"style_readabilityCActive__i1lv3\",\"readabilityDActive\":\"style_readabilityDActive__VivCX\",\"readabilityEActive\":\"style_readabilityEActive__H5ftS\",\"readabilitySecondary\":\"style_readabilitySecondary__QWVvd\",\"focusTermsCollapse\":\"style_focusTermsCollapse__UdsfG\",\"header\":\"style_header__PDtnu\",\"number\":\"style_number__G29Vf\",\"expandedIcon\":\"style_expandedIcon__VyaR6\",\"analyticsCollapseCardMargin\":\"style_analyticsCollapseCardMargin__fA2SL\",\"analyticsCollapseMarginTop\":\"style_analyticsCollapseMarginTop__PWpsl\",\"focusTermContent\":\"style_focusTermContent__erOS3\",\"focusTermAndProgressContainer\":\"style_focusTermAndProgressContainer__ih_4n\",\"focusTermNameAndCopy\":\"style_focusTermNameAndCopy__lXX3f\",\"includeMoreSingleTerm\":\"style_includeMoreSingleTerm__uE5uE\",\"copyIcon\":\"style_copyIcon__Yl1p4\",\"focusTermAndTags\":\"style_focusTermAndTags__e71fF\",\"icon\":\"style_icon__SlMha\",\"focusTermName\":\"style_focusTermName__2byG0\",\"foundInElement\":\"style_foundInElement__W0Nx4\",\"customFocusTermName\":\"style_customFocusTermName__Ms_Z_\",\"brandedLabel\":\"style_brandedLabel__RK_ob\",\"iconAndRemoveBtnContainer\":\"style_iconAndRemoveBtnContainer__z9yEJ\",\"focusTermUsageCount\":\"style_focusTermUsageCount__2P6MT\",\"reduceUsageFocusTerms\":\"style_reduceUsageFocusTerms__pHGc3\",\"removeFocusTerms\":\"style_removeFocusTerms__ERiTh\",\"removeTermLabel\":\"style_removeTermLabel__Hngc_\",\"removeTermIcon\":\"style_removeTermIcon__M1_JE\",\"checkOutlinedRemove\":\"style_checkOutlinedRemove__Oa1Mz\",\"focusTermUsageCountSca\":\"style_focusTermUsageCountSca__DyVeh\",\"focusTermsUsedIn\":\"style_focusTermsUsedIn__glCbD\",\"writingStylePopover\":\"style_writingStylePopover__C3ut3\",\"writingStylePopoverContent\":\"style_writingStylePopoverContent__5vHOV\",\"focusTermPopover\":\"style_focusTermPopover__VnTU3\",\"innerPopover\":\"style_innerPopover__lSYg1\",\"innerSingleCompetitorUrl\":\"style_innerSingleCompetitorUrl__24Dg6\",\"withArrow\":\"style_withArrow__5GtWL\",\"popoverTitle\":\"style_popoverTitle__ExoBo\",\"popoverCountrySv\":\"style_popoverCountrySv__XjYX9\",\"sv\":\"style_sv__uUHFn\",\"emoji\":\"style_emoji__YIvMa\",\"popOverTitle\":\"style_popOverTitle__QEfN0\",\"competitors\":\"style_competitors___oTWx\",\"competitor\":\"style_competitor__xaN9N\",\"singleCompetitor\":\"style_singleCompetitor__y4FaW\",\"singleCompetitorUrl\":\"style_singleCompetitorUrl__IGy_S\",\"snippetsContainer\":\"style_snippetsContainer__ujuID\",\"singleSnippet\":\"style_singleSnippet__VPWpj\",\"popoverDivider\":\"style_popoverDivider__boUZ7\",\"headingsPopover\":\"style_headingsPopover__y8sGr\",\"headingTooltipValue\":\"style_headingTooltipValue__fgpE6\",\"collapseContainer\":\"style_collapseContainer__pts2d\",\"collapsableContainer\":\"style_collapsableContainer__H44WO\",\"colaapseButtonArrow\":\"style_colaapseButtonArrow__88ikQ\",\"collapseButton\":\"style_collapseButton__so3g3\",\"commonPopover\":\"style_commonPopover__GswDO\",\"editKeywordsBtn\":\"style_editKeywordsBtn__u6kSF\",\"keywordSuggestionsContainer\":\"style_keywordSuggestionsContainer__NVC47\",\"singleSuggestedKwContainer\":\"style_singleSuggestedKwContainer__PZNMQ\",\"isKeywordRemoving\":\"style_isKeywordRemoving__juQLI\",\"suggestedKwContainer\":\"style_suggestedKwContainer__szYtD\",\"svAndCpc\":\"style_svAndCpc__KtqVX\",\"clickToAdd\":\"style_clickToAdd__GtPlI\",\"suggestedKWTitleContainer\":\"style_suggestedKWTitleContainer__uAxIa\",\"closeSuggestedKW\":\"style_closeSuggestedKW__g89NG\",\"cancelButton\":\"style_cancelButton__CSqoR\",\"addNewKeywordLocationIcon\":\"style_addNewKeywordLocationIcon___PuoH\",\"keywordContainer\":\"style_keywordContainer__4fdS3\",\"keywordContainerTitleContainer\":\"style_keywordContainerTitleContainer__2uDTM\",\"keywordDrawerIcon\":\"style_keywordDrawerIcon__Num0E\",\"removeKwButtonContainer\":\"style_removeKwButtonContainer__Qqz06\",\"removeKwButtonIcon\":\"style_removeKwButtonIcon__aT7_s\",\"keywordLocationIconContainer\":\"style_keywordLocationIconContainer__ceI0z\",\"keywordLocationIcon\":\"style_keywordLocationIcon__eF4lH\",\"showIcons\":\"style_showIcons__iTCoZ\",\"editKwButtonContainer\":\"style_editKwButtonContainer__saLfy\",\"editKwButtonIcon\":\"style_editKwButtonIcon__gMi05\",\"keywordName\":\"style_keywordName__q2NAW\",\"keywordMetricContainer\":\"style_keywordMetricContainer___q6X_\",\"link\":\"style_link__01A4S\",\"orderContentBtn\":\"style_orderContentBtn__DE32O\",\"footerText\":\"style_footerText__s81Rx\",\"divider\":\"style_divider__kuakJ\",\"viewSchemaBtn\":\"style_viewSchemaBtn__4XAB1\",\"tabs\":\"style_tabs__yKF1D\",\"truncateText\":\"style_truncateText__uv_Dk\",\"darkenTechnical\":\"style_darkenTechnical__xbbue\",\"importUrlButton\":\"style_importUrlButton__gFSge\",\"scoreDescHeader\":\"style_scoreDescHeader__jw8OS\",\"popOver\":\"style_popOver__TgfyK\",\"subtitle\":\"style_subtitle__py_8r\",\"scrollBarSidebar\":\"style_scrollBarSidebar__7vCov\",\"focusTermsExpanded\":\"style_focusTermsExpanded__K1IrF\",\"technicalPropgressInfoContainer\":\"style_technicalPropgressInfoContainer__gHhKR\",\"selectContainer\":\"style_selectContainer__dc_Qg\",\"customSelectInput\":\"style_customSelectInput__4LY7U\",\"globeContainer\":\"style_globeContainer__wDM6e\",\"globeIcon\":\"style_globeIcon__Grl8C\",\"PropertyDropDownCountries\":\"style_PropertyDropDownCountries__a4Cas\",\"countryInfo\":\"style_countryInfo__fnbn7\",\"countrySearch\":\"style_countrySearch__67Vea\",\"topDiv\":\"style_topDiv__VdAWB\",\"locationArea\":\"style_locationArea__aoXon\",\"addKwBtnContainer\":\"style_addKwBtnContainer__fZ77F\",\"tooltipInner\":\"style_tooltipInner__vtG3X\",\"writingStyleContainer\":\"style_writingStyleContainer___9YQW\",\"singleReadabilityItem\":\"style_singleReadabilityItem__eEjir\",\"activeReadabilityItem\":\"style_activeReadabilityItem__wuJaK\",\"prevReadabilityItem\":\"style_prevReadabilityItem__Tp5ZP\",\"nextReadabilityItem\":\"style_nextReadabilityItem__bvcj1\",\"writingStyleLevelContainer\":\"style_writingStyleLevelContainer__q2__N\",\"addNewKwForm\":\"style_addNewKwForm__RKuU2\",\"populateButton\":\"style_populateButton__GrfTY\",\"customInputField\":\"style_customInputField__zvN4C\",\"customFocusTermsTabs\":\"style_customFocusTermsTabs___0OIs\",\"focusTermsTabTitleValue\":\"style_focusTermsTabTitleValue__Gd2PJ\",\"questionsTab\":\"style_questionsTab__dppHa\",\"countrySelectorPopover\":\"style_countrySelectorPopover__T8e40\",\"columnTitlesRow\":\"style_columnTitlesRow__NMSYq\",\"columnTitle\":\"style_columnTitle__7VIWu\",\"defaultLocationName\":\"style_defaultLocationName__F5x15\",\"locationInfo\":\"style_locationInfo__NpXoS\",\"setAsDefaultText\":\"style_setAsDefaultText__cnlk2\",\"countryReach\":\"style_countryReach__pE0aL\",\"singleCountryRow\":\"style_singleCountryRow__pUxir\",\"singleCountryRowSelected\":\"style_singleCountryRowSelected__3i839\",\"isEditDefaultLocation\":\"style_isEditDefaultLocation__qu_SS\",\"copyTooltip\":\"style_copyTooltip__3916s\",\"miniMainmetricsBar\":\"style_miniMainmetricsBar__pm0sj\",\"miniMetrics\":\"style_miniMetrics__zV6fP\",\"miniMetricsLabel\":\"style_miniMetricsLabel__EtBkz\",\"miniMetricsValue\":\"style_miniMetricsValue__TOlMK\",\"longLoadingBannerContainer\":\"style_longLoadingBannerContainer__kw3Fc\",\"longLoadingBanner\":\"style_longLoadingBanner__Xqc_5\",\"customSchemaBtn\":\"style_customSchemaBtn__R0sVb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sidebarError\":\"error_sidebarError__2cjOS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"resize\":\"v2-sidebar_resize__QB3FU\",\"sidebar\":\"v2-sidebar_sidebar__q6cEA\",\"ant-typography\":\"v2-sidebar_ant-typography__ta5hf\",\"title\":\"v2-sidebar_title__OlAx5\",\"subTitle\":\"v2-sidebar_subTitle__LhneY\",\"secondary-text\":\"v2-sidebar_secondary-text__4LWw2\",\"divider\":\"v2-sidebar_divider__9z9OB\",\"link\":\"v2-sidebar_link___z0EU\",\"fullWidth\":\"v2-sidebar_fullWidth__k3Ujx\",\"back\":\"v2-sidebar_back__FYZmn\",\"close\":\"v2-sidebar_close__0lvVI\",\"edit\":\"v2-sidebar_edit__YifNd\",\"green\":\"v2-sidebar_green__KFjaa\",\"orange\":\"v2-sidebar_orange__cSWrx\",\"red\":\"v2-sidebar_red__JmlMA\",\"disable\":\"v2-sidebar_disable__nfA52\",\"upgradeCard\":\"v2-sidebar_upgradeCard__c27O9\",\"upgradeCardTitle\":\"v2-sidebar_upgradeCardTitle__HzPcb\",\"fullAccess\":\"v2-sidebar_fullAccess__tvMBu\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__NBfKV\",\"left-side\":\"styles_left-side__LpfI5\",\"pageEditorError\":\"styles_pageEditorError__I7i3p\",\"headerKeywords\":\"styles_headerKeywords__2WBVR\",\"popoverDivider\":\"styles_popoverDivider__1cFJJ\",\"draftToolkit\":\"styles_draftToolkit__UgO6K\",\"loaderSpinnerContainer\":\"styles_loaderSpinnerContainer__unc8w\",\"loaderSpinner\":\"styles_loaderSpinner__qi_LK\",\"spin\":\"styles_spin__YiR1L\",\"selectionTooltip\":\"styles_selectionTooltip__DsvgJ\",\"arrowBottom\":\"styles_arrowBottom__usbcz\",\"textInputNotification\":\"styles_textInputNotification__5FRSY\",\"contentGeneratorDrawer\":\"styles_contentGeneratorDrawer__T7pXe\",\"closeIcons\":\"styles_closeIcons__8uuC5\",\"outlineDrawerBackArrow\":\"styles_outlineDrawerBackArrow__mEByX\",\"contentGeneratorTitle\":\"styles_contentGeneratorTitle__fm_kc\",\"selectedTextInfoContainer\":\"styles_selectedTextInfoContainer__lwCTc\",\"dataAndIcon\":\"styles_dataAndIcon__NAyfz\",\"textAndUrl\":\"styles_textAndUrl__cOjPy\",\"text\":\"styles_text__TfrwZ\",\"url\":\"styles_url__p8_St\",\"textUrlControlls\":\"styles_textUrlControlls__L9_rW\",\"urlPopup\":\"styles_urlPopup__3ZEur\",\"inputContainer\":\"styles_inputContainer__ACZFh\",\"textLabel\":\"styles_textLabel__yKZPz\",\"urlInput\":\"styles_urlInput__DVTni\",\"inputControlls\":\"styles_inputControlls__Ynfjt\",\"linkSuggestionsPopover\":\"styles_linkSuggestionsPopover__2c_Jo\"};"],"names":["notificationType","Notification","type","text","showContactSupportLink","param","settings","customer","isGHLAccount","useStore","openLiveChat","chatBtn","document","querySelector","click","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","div","className","classnames","styles","jsx","NextImg","src","span","onClick","CaAiQuotaInfo","observer","quotaUtilization","mode","size","customLabel","isMinified","colorSetup","useState","dark","textColor","light","gray","sizeSetup","small","fontSize","normal","profile","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__","Wrapper","Label","ca","allowedAiContentGeneration","consumed","total","styled","_templateObject","p","_templateObject1","VideoPlayerModal","iconPath","title","subTitle","button1","videoLink","button2","FontAwesomeIcon","icon","faCheck","style","marginRight","buttonMinimize","onClickButton1","onClickButton2","button3","onClickButton3","home","videoPlayerModal","setVideoPlayerModal","minimized","setMinimized","Fragment","ModalStyled","destroyOnClose","width","display","alignSelf","visible","onClose","maskStyle","background","justifyContent","marginBottom","TitleText","SubTitleText","Button","color","variant","faArrowDownLeftAndArrowUpRightToCenter","iframe","height","frameBorder","allow","allowFullScreen","borderRadius","SmallPopupStyled","position","CloseOutlinedStyled","faArrowUpRightAndArrowDownLeftFromCenter","Modal","_templateObject3","_templateObject4","Table","props","block","blockProps","editor","getData","get","target","concat","createPortal","jsx_runtime","EditorBlock","data","tableKey","tableShape","colgroup","isArray","table","borderCollapse","margin","id","dangerouslySetInnerHTML","__html","tbody","map","row","i","tr","cell","j","element","th","border","padding","backgroundColor","textAlign","colSpan","colspan","rowSpan","rowspan","data-position","defaultValue","td","BlockImage","image","useRef","contentState","content","alt","getEntityAt","getEntity","widthImg","includes","heightImg","ref","iframeRegex","test","srcMatch","match","widthMatch","heightMatch","titleMatch","urlPattern","referrerPolicy","getNumberFromEnglishCounting","WriteForMe","htmlToDraft","contentOptimizer","currentPage","contentFragment","getCustomerQuota","isFullBtn","setIsFullBtn","currentEditorState","focusTermsClassNames","isSideBarHidden","antIcon","LoadingOutlined","spin","antIconLarge","useEffect","preventingDefaultMenu","e","stopPropagation","querySelectorAll","forEach","elem","addEventListener","removeEventListener","setTimeout","editorWrapperElem","getElementById","editorElem","clientWidth","offsetWidth","getEditorRealMargin","window","debouncedChange","debounce","state","focusTerms","isNewDecorations","editContent","debouncedUpdate","useCallback","getSelection","editorState","insertText","isBlock","firstNewBlockId","contentBlocks","entityMap","fragment","html","selection","newSelection","SelectionState","anchorKey","getKey","anchorOffset","getText","length","focusKey","focusOffset","getAnchorKey","getEndOffset","ContentState","createFromBlockArray","getBlockMap","nonStyledState","Modifier","replaceWithFragment","getCurrentContent","currentBlock","nextBlock","getBlockAfter","existingNodes","getAttribute","updatedState","EditorState","push","setCurrentEditorState","setAiTooltip","show","newTextElems","classList","add","analytics","remove","getParams","currentContent","fetchAndInsertText","action","selectedText","start","getAnchorOffset","getFocusOffset","end","getBlockForKey","isCollapsed","slice","fetchFragment","aiTooltip","Promise","reject","isTextSelected","isEmptyContent","Container","Tooltip","WriteForMeStyled","cursor","fragmentLoading","Spin","marginTop","indicator","faFeather","WriteForMeMiniStyled","BasedOn","isSelection","UsedQuota","used","_templateObject2","CustomBlock","blockRef","Option","Select","isOpen","setIsOpen","require","typesMap","hotKeysLabelMap","blockType","getType","dropdownRef","handleClickOutside","event","current","contains","onEditorChange","prevSelection","prevEditorState","forceSelection","BlockContainer","blockHeight","offsetHeight","topOffset","writeForMeTopOffset","isScaPublicPage","DropdownContainer","onContextMenu","currentValue","open","onChange","value","hasFocus","isBackward","newEditorState","RichUtils","toggleBlockType","dropdownStyle","dropdownMatchSelectWidth","suffixIcon","faCaretDown","Object","keys","idx","CustomBlock_templateObject","CustomBlock_templateObject1","Input","CommonInput","UploadFromUrlForm","store","form","Form","useForm","t","useTranslation","onUploadHandler","url","setIsCreateFromUrl","uploadFromUrl","updateContentLoadedAt","setCurrentStep","initialValues","onFinish","Item","name","rules","required","message","validator","_","isURL","require_protocol","resolve","inputType","placeholder","buttonType","loading","isUploading","Step1","setIsCreateFromScratch","setIsFirstArticleEdit","router","useRouter","onStartFromScratchClick","setIsFetchingTargetKw","analysis","clearUrl","createWithContent","createFromText","routes","landingPageOptimizer","query","uuid","undefined","shallow","br","Welcome","currentStep","styleMap","ContentEditor","getEditorState","showAiBanner","editorContainer","heroSection","lastScrollPosition","setLastScrollPosition","addHeroImageLoading","setAddHeroImageLoading","localStorage","setItem","aiOutline","aiMetaData","pages","getHeroImageById","clearFocusTermsClusters","getCurrentEditorState","zoomLevel","newPage","clearFeTargetKeywords","clearTargetKeywords","isInitialEditorStateFetched","setIsEditorScrolled","isEditorScrolled","setFocusTermsSorter","resetRepollCounters","clearAllTaData","setIsUnspashDrawerOpen","updateHeroImage","isHeroImageLoading","setContentType","clearAiOutline","isOpenAiOutlineDrawer","setIsOpenAiOutlineDrawer","clearV2AiOutline","setIsOpenAiContentToolsDrawer","clearTemplateOutlines","clearTemplates","setIsOpenAiWriterDrawer","clearOneClickIdea","clearOneClickOutlines","setAiWriter","aiWriterController","setAiTemplate","aiTemplatesController","clearMetaData","navBar","setIsDockedSider","heroImage","aiInProgress","setHeroImage","heroImageAltText","antIconOrange","windowHeight","innerHeight","showForm","label","key","removeSizeDataFromBlock","delete","set","blockMap","handleTabInTable","direction","collapsed","targetKey","targetBlock","getBlockBefore","merge","getLength","splitBlock","getLastBlock","createEmpty","setBlockType","isTargetTable","endOffset","setSelectionIfNone","getHasFocus","moveSelectionToStart","toggleInlineStyle","inlineStyle","customStyleMap","existingMatch","getCurrentInlineStyle","filter","split","toList","kebabCase","endsWith","rexp","RegExp","newString","replace","toggleListType","listType","getCurrentBlockType","handleDeleteKey","startBlock","getStartKey","endBlock","getEndKey","handleKeypressWhenSelectionNotCollapsed","toggleBlockData","newData","selectionState","newContentState","setBlockData","setIndent","listMax","indentMax","setDepth","adjustment","startKey","endKey","blocks","toSeq","skipUntil","k","takeUntil","depth","getDepth","maxDepth","newDepth","Math","max","min","selectionBefore","selectionAfter","isEditorFocus","focus","setIsEditorFocus","oneClick","getSingleUrlParam","writeWithAi","onEditorBlockTypeChange","getCurrentBlock","blockKey","currentSelection","handleChangeBlockType","keysMap","curPressKeys","checkKey","preventDefault","keyCode","multipleExist","keysArray","every","clearPressKeysArr","checkTitle","titleArray","handleAddHeroImage","targetKeywordsCount","cleanedHtml","res","loadPage","notification","error","warning","scrollTo","top","addHtmlToDocument","newHtml","hasText","reset","convertHtmlToEditorState","newBlockMap","newContent","currentEditor","blur","chars","prevBlock","firstCell","getStartOffset","firstTableKey","lastCell","lastTableKey","sameTable","startOffset","v","toOrderedMap","has","genKey","ContentBlock","Map","firstBlock","removeRange","first","butLast","subSelection","notLastTable","notFirstTable","notTable","separatorBlock","notTableStart","find","selectionKey","handlePastedText","pastedHtml","replaceText","moveFocusToEnd","getFirstBlock","blockRendererFn","contentBlock","component","editable","templateUsed","templateIcon","templateName","templateDesc","isStandaloneTool","toJS","isUseMask","onScroll","scrollTop","classNames","isExportingPage","getZoomLevel","editorHeightOffset","breadcrumbHeight","keywordsHeight","opaqueColor","alignItems","boxShadow","faBrainCircuit","fontWeight","marginLeft","faArrowRight","HeroImageWrapper","SkeletonRingLoader","HeroSection","HeroImage","ButtonsContainer","getPopupContainer","trigger","ButtonWrapper","faArrowsRotate","faICursor","faTrash","AiBanner","shouldPopulatePageHtml","Editor","editorKey","draftEditorState","scrollY","blockStyleFn","handleKeyCommand","command","offset","blockBefore","currentBlockType","acceptSelection","onBackspace","getFocusKey","float","keyBindingFn","KeyBindingUtil","hasCommandModifier","getDefaultKeyBinding","content_editor_templateObject","content_editor_templateObject1","content_editor_templateObject2","img","content_editor_templateObject3","content_editor_templateObject4","_templateObject5","User","avatar","email","isOwner","permission","onPermissionChange","activePermission","setActivePermission","Avatar","CaretDownFilled","share_modal_Option","ShareModal","pagePermissions","shareDialog","setEmail","setPermission","globalPermission","setGlobalPermission","isEditableByAnyone","handleGlobalPermissionsUpdate","location","existingPermission","existingViewPermission","isViewableByAnyone","navigator","clipboard","writeText","href","success","editPagePermissions","closeDialog","MixPanel","track","SCA_PAGE_SHARED","handleInviteUser","closeAfterSubmit","emails","warn","closable","closeIcon","faXmark","bodyStyle","Title","Head","InputContainer","V2Button","disabled","emailReg","EmailError","Body","ul","li","createdByUser","users","sort","user","toLowerCase","Divider","Footer","GrayButton","paddingBottom","paddingTop","share_modal_templateObject1","share_modal_templateObject2","share_modal_templateObject3","share_modal_templateObject4","share_modal_templateObject5","_templateObject6","_templateObject7","AiTooltip","activeOption","setActiveOption","urlCopy","setUrlCopy","setIsCopy","onLinkRemove","updatedSelection","toggleLink","sendTextToEditor","insertLinkToText","decorator","createCompositeDecorators","formatUrl","urlValue","entityKey","newContentWithEntity","createEntity","getLastCreatedEntityKey","newNewContent","textValue","withLinkText","withProperCursor","getSelectionAfter","isLinkEdit","bottom","left","onMouseDown","flexDirection","ButtonV2","paddingLeft","faEarthAmerica","faPen","isLink","faLinkSimpleSlash","word","faCopy","internalLinkSuggestions","link","keyword","trim","Popover","placement","overlayClassName","overlayStyle","SuggestionsContainerTitle","faCircleInfo","SuggestionsTitle","results","suggestion","SingleLinkContainer","Left","Link","Right","isUsed","SuggestionsMenuItem","faLink","faAngleRight","AiTooltip_templateObject","AiTooltip_templateObject1","AiTooltip_templateObject2","AiTooltip_templateObject3","AiTooltip_templateObject4","AiTooltip_templateObject5","AiTooltip_templateObject6","a","AiTooltip_templateObject7","Unsplash","contentType","UNSPLASH_ACCESS_KEY","UnsplashReact","namedExports","searchInput","onAddImage","imageUrl","onImageUpload","insertImage","accessKey","Uploader","withDefaultProps","InsertIntoApplicationUploader","onFinishedUploading","FreeStockTab","gap","Radio","RadioStyled","ImageComponent","setImagesList","historyCopyStatus","setShowSelectedHistoryImage","setShowHistoryImage","rootElement","setImagesAddedCount","imagesAddedCount","elemIdx","setElemIdx","imagesLoadedCount","setImagesLoadedCount","setShowAddHeroCheck","setShowAddToArticleCheck","setShowCopiedCheck","showAddHeroCheck","showAddToArticleCheck","showCopiedCheck","templatesHistory","currentElement","IntersectionObserver","entries","entry","intersectionRatio","unobserve","imagesLoading","item","imageList","images","root","threshold","observe","handleHistoryImageCopyClick","execCommand","result","inputs","fieldValue","selectedHistoryImageAdd","index","imgOnLoad","onMouseLeave","Col","onMouseOver","ColCardContainer","hide","ColCardImage","String","onLoad","button","copyIconWhite","viewImageCheck2","imageComponent_templateObject","imageComponent_templateObject1","ImageListComponent","buttonTitle","dummyImages","imagesDummy","setImagesDummy","imagesList","Row","gutter","overflow","maxHeight","val","CardStyle","load","Card","AICreateImagesTab","activeTab","isUnsplashDrawerOpen","setHistoryCopyStatus","aspectRatio","setAspectRatio","imagesAspectRatio","setImagesAspectRatio","isRealistic","setIsRealistic","loadAiTemplateOutlinesHistory","loadAiGeneratedImage","setDummyImages","setImageGenerateInputValue","imageGenerateInputValue","historyLoading","setCopyStatus","projects","setShowScaTopUpModal","isWhitelabel","isAllowedAiContentGenerationQuotaLimitReached","plans","showSidebarPaymentDrawer","setButtonTitle","showError","setShowError","showSelectedHistoryImage","showHistoryImage","selectSuffixIcon","filteredObj","projectId","defaultAiSettings","onGenerateBtnClick","subtitle","QuotaWrapper","QuotaInfoDetail","consumedData","totalData","heading","description","ctaLabel","showCta","customCta","isCenter","InputWrapper","CommonInputStyled","onFocus","whiteSpace","SettingContainer","SelectContainer","OptionLabel","SelectStyled","grayBackground","aspectRatioOptions","Checkbox","autoFocus","defaultChecked","checked","ModalImage","centered","footer","onOk","onCancel","ai_create_images_tab_templateObject","ai_create_images_tab_templateObject1","ai_create_images_tab_templateObject4","ai_create_images_tab_templateObject5","ai_create_images_tab_templateObject6","AddImageDrawer","checkTab","setActiveTab","handleClose","URL","queryParams","URLSearchParams","search","newURL","origin","pathname","toString","hash","history","pushState","path","Drawer","mask","maskClosable","TabsStyled","Tabs","tabBarGutter","activeKey","copyAndModifyQueryParams","TabPane","tab","AddImageDrawer_templateObject","EditorSection","isCopy","setEditorHeightOffset","setShowAiBanner","showEditAltModal","setShowEditAltModal","altText","setAltText","setElement","modalEditorStates","setModalEditorStates","hideButton","setHideButton","noFirstVisit","getItem","handleModalOpen","currentAlt","handleUpdateAlt","tagkey","attributes","blockList","next","newEntity","entity","mergeEntityData","promptForLink","pageX","pageY","closeContextMenu","headerKeywordsRef","updateKeywordsRef","isNil","isManualUpdate","debouncedHighlightingChange","decorated","changeType","acceptedTypes","decoratedState","debouncedHighlighting","errorMessage","isImportError","isCreatedFromScratch","prevOffset","blockWithLinkAtBeginning","linkKey","characterList","getCharacterList","initialSelectedText","generateSelectedText","lastWasEnd","selectedBlocks","blockArray","selectedTextFromBlocks","join","xSelection","x","prevChar","nextChar","prevEntity","nextEntity","finalPrevOffset","finalNextOffset","char","blockLength","finalAnchorOffset","rangeCount","getRangeAt","getBoundingClientRect","noEntityCase","noSelectionLeft","noSelectionTop","noSelectionBottom","tempX","clientY","clientX","linkInstance","startsWith","getLastChangeType","lastChangedBlockKey","lastChangedBlock","lastChangedBlockType","addCrossIcon","isExtensionInstalled","handleShowNotification","checkDate","getCount","date1","hoursDifference","Number","diffInMs","abs","date2","now","Date","maxWidth","checkCount","CloseOutlined","rel","transform","zIndex","InputTitle","InputStyled","ButtonsWrapper","CancelButton","ButtonStyled","EditorSection_templateObject","EditorSection_templateObject1","EditorSection_templateObject3","EditorSection_templateObject5","Header_Option","Header","blockTypeEnhancement","CaretDownOutlined","pointerEvents","UnorderedList","UnorderedListOutlined","Bold","inlineStyleEnhancement","BoldOutlined","Italic","ItalicOutlined","Underline","UnderlineOutlined","OrderedList","OrderedListOutlined","Code","CodeOutlined","Anchor","updateText","showNewUrlEditor","setShowNewUrlEditor","editorValues","setEditorValues","selectionRange","setSelectionRange","customSelection","dateRef","onkeydown","ctrlKey","shiftKey","metaKey","iconClicked","LinkOutlined","AnchorRemove","entityTypeEnhancement","removeLink","faUnlink","AddImage","openDrawer","faImage","Dragger","Upload","BrowseImage","loader","setLoader","isError","setIsError","altValue","parentElement","setImgFile","setImage","contentStateWithEntity","AtomicBlockUtils","insertAtomicBlock","formData","FormData","append","imgFile","CONTENT_ASSISTANT_API","uploadImage","ele","which","handleImageChange","selectedFile","reader","FileReader","onloadend","readAsDataURL","RequiredFileType","faTrashXmark","StyleDragger","multiple","showUploadList","customRequest","file","onDrop","getFile","dataTransfer","files","faCloudArrowUp","InputWraper","AtributeWrapper","Pwrapper","CancelBtn","AddBtn","browseFile_templateObject","browseFile_templateObject1","browseFile_templateObject2","UploadURL","imgRegex","imageFormat","urlUpload_templateObject","urlUpload_templateObject1","urlUpload_templateObject2","UploadImage","FileBtn","faFileImage","Popup","StyledInputContainer","StyledTabs","defaultActiveKey","UploadImage_templateObject2","UploadImage_templateObject3","InsertIframe","showIframeEditor","setShowIframeEditor","setUrl","contentData","iframeUrl","faRectangleCode","LargeBadge","alpha","StyledPopup","StyledUrlContainer","InsertButton","insertIframe_templateObject1","Textarea","Toolkit","isTaActive","setIsSideBarHidden","setZoomLevel","isPublic","updatingFolder","isLinkgraph","newState","undo","UndoOutlined","redo","RedoOutlined","faWandMagicSparkles","arrowPointAtCenter","faChevronRight","transition","useClickedOnPageHandler","callback","SingleKeywordDataCard","getSpecificCountryByCode","kw","keywordsFormProps","countries","Text","Typography","updateKeyword","useWatch","keywordResearcherV2","postNewKeywords","keywordDetails","loadKeywordDetailList","loadKeywordDetails","setDetailsRepolling","isKwNameEdit","setIsKwNameEdit","showLocationSelector","setShowLocationSelector","isEditDefaultLocation","setIsEditDefaultLocation","popRef","showKwErrorMsg","setShowKwErrorMsg","showMessage","r","removeTargetKeywords","err","payload","keywordsArray","feTargetKeywords","feKw","updateFeTargetKeywords","locationId","countryCode","editKeywords","response","status","allowedFocusTerms","isEmpty","setFieldsValue","postAndGetData","keywords","kwClickHandler","targetKeywords","setIsDrawerFromCa","setActiveTargetKw","setIsOpenKeywordDrawer","values","formKeyword","formatArray","preparedKeyword","kwArray","locationSelected","reach","updatelocationData","keywordForFrontendArray","JSON","stringify","SCA_PAGE_UPDATE_KEYWORD_LOCATION","locationDebouncerChange","country","updateCountriesList","openLocationSelector","searchForLocation","shouldUpdate","resetFields","faTimes","toUpperCase","overlayInnerStyle","faLocationDot","mouseLeaveDelay","mouseEnterDelay","openClassName","faArrowLeft","faSearch","faInfoCircle","faGlobe","formatNumber","faMapMarkerAlt","serpTaskStatus","Flag","code","searchVolumeFormatter","sv","Globe","globalSv","svTopCountries","indx","_countryCode","searchVolume","Progress","showInfo","strokeWidth","percent","round","trailColor","strokeColor","getProgressColor","SkeletonHorizontalLoaderGray","lightLoader","skeletonHeight","skeletonMarginTop","kd","getInverseProgressColor","costPerClickFormatter","cpc","TargetKeywords","expanded","isAddingNewKw","setIsAddingNewKw","newKwValue","setNewKwValue","kwLengthErr","setKwLengthErr","targetrKeywordsContainer","addHorizontalScroll","topScroll","leftScroll","scrollX","onscroll","deltaY","scrollLeft","newKwLocation","setNewKwLocation","popoverRef","onAddKeywordFinish","format","faPlus","numberWithCommas","textOverflow","faExclamationTriangle","SCA_PAGE_ADD_KEYWORD","SuggestedKeywordCard","isRemoving","setIsRemoving","addSuggestedKwToTargetKw","passedKw","stagedForAddingKw","SCA_PAGE_ADD_KEYWORD_SUGGESTION","removeTargetKeyword","removeSuggestedKeyword","strong","KeywordSuggestions","keywordSuggestionsContainer","showAllSuggestionsHandler","kwSuggestions","isFetchingSuggestedKw","editorText","TargetKeywordsAndSuggestions","isExpanded","setIsExpanded","containerRef","parentRef","ChevronDown","faChevronDown","faChevronsDown","faChevronUp","MetaIdeasList","metaIdeas","onIdeaUse","metaCopied","setMetaCopied","copyMetaHandler","desc","IdeasContainer","idea","SingleIdeaContainer","MetaTitle","metaTitle","MetaDesc","metaDesc","MetaIdeasList_templateObject","MetaIdeasList_templateObject1","MetaIdeasList_templateObject2","MetaIdeasList_templateObject3","MetaTagGenerator","updateMetaData","setIsExternalTitleEdit","isMetaUpdating","editTitle","setLoading","loadAiMetaData","metaData","showMetaDataModal","setShowMetaDataModal","customMetaTitle","setCustomMetaTitle","customMetaDesc","setCustomMetaDesc","showAiMetaResults","setShowAiMetaResults","antdIcon","updateMetadata","meta_title","meta_desc","checkPageTitle","regexp","aiButtonTooltipMsg","msg","generateSingleMetaIcon","metaValue","faHexagonExclamation","metaValueMinLength","metaValueMaxLength","largerThenMax","smallerThanMin","idealSize","missing","largerBy","smallerBy","statusMsg","faTriangleExclamation","faCircleCheck","updateMetaDataHandler","aiMetaDataHandler","targetKwArr","aiSuggestionMsg","metaDataTooltipContent","destroyTooltipOnHide","onVisibleChange","MetaDataBtnStyled","OneClickPublisherV2","extractOptions","wpArray","syncedAt","postStatus","synced","publishedAtUrl","topicalMapName","errorId","setErrorId","smallPageLoad","setUnsavedChanges","unsavedChangesInContent","wpPublish","fetchWpPublishData","postingData","showDataModal","setShowDataModal","publishWpPage","setShowAddSiteModal","isApiError","isShopifyApiError","updateApiError","setShowIndividualPopover","showIndividualPopover","setLoadingData","loadShopifyBlogs","blogs","creatingPage","creatingBlog","createNewShopifyPage","createNewShopifyBlog","getVendorAccounts","vendorAccounts","ottoV2Store","loadIssueTableData","ottoUrls","selectedWpSite","setSelectedWpSite","triggerSites","setTriggerSites","selectedShopifySite","setSelectedShopifySite","showWpVideo","setShowWpVideo","filteredObject","setFilteredObject","selectedUser","setSelectedUser","selectedWpSiteUsers","setSelectedWpSiteUsers","setTrigger","showSynchronizeTypeDropdown","setShowSynchronizeTypeDropdown","synchronizeType","setSynchronizeType","parent","setParent","project","setProject","reloadProjectUuid","refOne","refTwo","newBtnLabelOptions","setNewBtnLabelOptions","currentProject","offerPublishUrl","importedFromUrl","wpPublishedAtUrl","cleanWpArr","getDomain","showWpFormType","setShowWpFormType","syncWp","createNewWp","syncShopify","shopifySynced","createNewShopify","wpPostCategories","wpPostStatus","wpPostType","wpPublishedAtWebsiteId","defaultWpPostCategories","defaultWpPostStatus","defaultWpPostType","defaultWpWebsiteId","shopifyContentType","wpPostParent","shopDomain","wpWebsite","wpPostCategory","account_id","accountId","postParent","wpNewPostCategory","author","wpPostAuthorId","selectedWPsiteData","articles","updatedArticles","setShopifyInitialValues","newBtnLabel","setNewBtnLabel","syncBtnLabel","setSyncBtnLabel","Group","antdIconLarge","wpPostMetaDesc","getTopLinkUrl","getTopLinkId","publishWpPageHandler","notificationV2","topicalMapObject","obj","issueType","params","issue_type","page_size","pageSize","page","is_loading","pageId","pageUrl","postType","postAuthor","postCategories","selectedVendor","shopifySite","shop_domain","shopifyPayload","blog_title","ca_page_id","post_type","tags","new_post","permalink","getSyncedPill","SyncedPill","faCircleXmark","setFields","errors","categories","options","category","children","wpPublisherSyncSection","WpUpdatePostSection","isActive","CustomRadioButton","VideoTutorialBtn","InputsContainer","wpSyncedAt","shopifySyncedAt","wpSynced","shopifyContentUrl","WpLastSyncLeft","moment","WpSyncedPostDetails","sanitizeUrl","faUpRightFromSquare","InputLabelWrapper","FormLabel","initialValue","PurpleRadioButton","blueColor","getFieldValue","StyledFormItem","blog","on","userEmail","itemsArray","areCategoriesSame","Array","PublishButton","htmlType","wpPublisherNewPostSection","WpNewPostSection","borderRadiusTop","wpSite","OptionalTag","pattern","wordCount","wpPublishTooltipContent","WpPublishTooltipContentWrapper","ErrorNotificationContainer","ErrorNotification","textDecoration","onClickShopify","alignConfig","points","handleClick","shopifyBlogId","shopifyBlogTitle","shopifyPostType","shopifyAuthor","shopifyAccountId","shopifyTags","Dropdown","overlay","DropdownContentContainer","align","SynchronizeType","isCleanedHtmlUpdated","_content_wpPostAuthorId","faWordpressSimple","faCaretRight","isShopifyCustomer","faShopify","SynchronizeBtn","faRotate","OneClickPublisherV2_templateObject","OneClickPublisherV2_templateObject1","OneClickPublisherV2_templateObject2","OneClickPublisherV2_templateObject3","OneClickPublisherV2_templateObject4","OneClickPublisherV2_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject19","TitleEditor","languages","contentLoadedAt","isAnalyzing","isExternalTitleEdit","viewers","setShowQuickSyncModal","showQuickSyncModal","userAiSettings","updateUserAiSettings","getUserAiSettings","titleLeft","setTitleLeft","setTitle","modalUrl","setModalUrl","editPageUrl","setEditPageUrl","isCloseClicked","setIsCloseClicked","showDownloadConfirmationModal","setShowDownloadConfirmationModal","submitDisabled","setSubmitDisabled","renderWithbrowser","setRenderWithBrowser","keepContentModal","setKeepContentModal","titleContainerWidth","setTitleContainerWidth","calculateWidth","collapsedViewers","setCollapsedViewers","titleRef","getTitleLeft","urlInput","debouncedChangeFocusOut","URL_PATTERN","popupRef","language","setLanguage","defaultLanguage","onLanguageChangeHandler","option","selectSufixIcon","onEditUrlSubmit","updateUrlHandler","shouldOverwriteContent","renderWIthBrowser","SCA_PAGE_URL_UPDATE","titleWidth","ctx","createElement","getContext","measureText","formatedTitleWidth","WpInstructionsModal","WpAddSiteModal","CommonModal","EditUrlModalTitle","EditUrlModalSub","EditUrlLink","EditUrlModalButtons","CheckboxStyled","input","onBlur","readOnly","ScaArticleStatusSelectorV2","articleUuid","articleStatus","ProjectsSelector","projectName","pageUuid","minifiedVersion","EditUrlContainer","valuePropName","Loader","faArrowDownToBracket","faArrowUpFromBracket","opacity","StyledSelect","showSearch","filterOption","indexOf","onMouseEnter","lang","formatCountryCode","title_editor_templateObject","title_editor_templateObject2","title_editor_templateObject3","title_editor_templateObject4","title_editor_templateObject5","dropdownColors","grey","listItemsBackgroundColor","borderColor","BreadCrumb","headerTopRef","isKebabOpen","setIsKebabOpen","isModalOpen","setIsModalOpen","exportToDocsLoading","setExportToDocsLoading","briefAntIcon","copySuccess","setCopySuccess","clearAnalytics","isExporting","isSaving","exportToGoogledoc","deleteDialog","incrementInTotalArticle","setPageRemovedFromEditor","isAllowedPagesQuotaLimitReached","clientHeight","createPage","PAGES_API","SCA_CREATE_PAGE","exportToGoogleDocs","exportPageToGoogleDocs","PageHeader","onBack","login","backIcon","extra","ShareButton","openDialog","faShareNodes","ExportButton","faFileArrowDown","faEllipsisV","ButtonComponent","googledocLink","SCA_PAGE_EXPORT_TO_DOCS","GoogleOutlined","resp","exportArticleAsHtml","setAttribute","encodeURIComponent","body","appendChild","removeChild","allowedPages","DeleteModal","removeFromEditorCallback","h1","Btn","TopSection","minWidth","DraftToolkit","TextSuggestions","setIsTaActive","setFocusTermsForInsertion","stagingTaSuggestions","taActiveTerm","setTaActiveTerm","setStagingTaSuggestions","highlightedNodeId","setHighlightedNodeId","showOriginalBlockId","setShowOriginalBlockId","updatingTa","totalOccurances","setTotalOccurances","getElementsByClassName","class","onArrowClickHandler","updatedValues","term","order","nodesWithTerm","_higlightedNode_dataset","higlightedNode","dataset","blockIndex","elemOffset","offsetTop","Heading","blocksRenderer","blocksArray","domNode","attribs","typeDettector","onBlockStatusChange","prepDataArr","itemIndex","onDotClickHandler","updateImageStyle","replaceAll","TextContainer","regExp","isSuggestion","SingleBlockWithSuggestion","showingOriginalBlock","currNodeId","data-block-index","termIncluded","right","textTransform","parse","faRotateLeft","BlockWrapper","Controller","DotsContainer","Dot","Arrow","faArrowUp","faArrowDown","checkCurBlockStatus","highlightedNode","elementStatus","_highlightedNode_dataset","TextSuggestions_templateObject","TextSuggestions_templateObject1","TextSuggestions_templateObject2","TextSuggestions_templateObject3","TextSuggestions_templateObject4","TextSuggestions_templateObject5","TextSuggestions_templateObject6","TextSuggestions_templateObject7","TextSuggestions_templateObject8","TextSuggestions_templateObject9","TextSuggestions_templateObject10","TextSuggestions_templateObject11","TextSuggestions_templateObject12","MissingPlacementsBanner","setShow","termsWithNoSuggestions","setTermsWithNoSuggestions","getlinksForInsertion","linksAssistantSuggestions","prepArr","linksIncluded","noPlacementsTermsCount","autoAdjustOverflow","MissingPlacementsBanner_templateObject","SingleTerm","finalTermsList","setFinalTermsList","setVisible","kwUpdate","termIndex","setTermIndex","getstagingLinkSuggestions","setStagingLinkSuggestions","setLinkActiveTerm","linkActiveTerm","onTermClickHandler","curTerm","newClass","incDec","cardClick","scrollTerms","acceptedStatus","dismissedStatus","CardTitle","isTerm","faCircleX","faCircleDashed","StatusTitle","isVal","DividerLine","SuggestionCard","newItems","updateTerm","SingleTerm_templateObject","SingleTerm_templateObject1","SingleTerm_templateObject2","SingleTerm_templateObject3","SingleTerm_templateObject4","SingleTerm_templateObject6","LinksList","taLinkSuggestionLoading","setFilter","loadLinksData","expectedData","outerArray","linksData","innerArray","uniqueData","seenSet","Set","array","stringRepresentation","suggestionList","allLinks","arrayToObject","givenValue","expectedValue","internalLinkSuggestionsV2","getTerms","elements","DOMParser","parseFromString","innerText","formattedArray","arr","arrTwo","indexx","filteredValue","addData","firstTerm","LinkAssistantRightSidebar","inputValue","activeKeywordsList","setIsLinkActive","setLinksForInsertion","stagingLinkSuggestions","setIsTaUpdating","fetchLinkSuggestions","setActiveKeywordsList","updated","setUpdated","setInputValue","anyButtonClicked","setAnyButtonClicked","activeKwArr","active","onCheckboxClicked","elemId","filteredKw","findIndex","onCancelClickHandler","onSubmitHandler","finalHtmlOutput","updatedEditorState","keywordsDropdown","KeywordsDropdownContainer","OverlayTitle","addLink","allLink","urlWithProtocols","links","stringToArray","keywordNewLineReg","popoverContent","CustomTextarea","paddingToNumber","paddingToText","isKeyWordv2","autoSize","minHeight","autoSizeCheck","nativeEvent","LinkSubmitBtns","selectedLink","TaWrapper","TermsMainWrapper","TitleContainer","Description","ActionButtonsContainer","some","linkAssistantRightsideBar_templateObject","linkAssistantRightsideBar_templateObject1","linkAssistantRightsideBar_templateObject3","linkAssistantRightsideBar_templateObject4","linkAssistantRightsideBar_templateObject5","linkAssistantRightsideBar_templateObject7","viewSuggestionsOption","css","blinkAnimation","keyframes","linkAssistantRightsideBar_templateObject9","linkAssistantRightsideBar_templateObject10","linkAssistantRightsideBar_templateObject11","linkAssistantRightsideBar_templateObject12","TextSuggestionsLinks","isLinkActive","doc","TextSuggestionsLinks_templateObject","TextSuggestionsLinks_templateObject1","TextSuggestionsLinks_templateObject2","TextSuggestionsLinks_templateObject3","TextSuggestionsLinks_templateObject4","TextSuggestionsLinks_templateObject5","LeftSide","sideBarWidth","LeftSideContainer","isLinkSuggestionActive","isNewPage","LeftSide_templateObject","Error","WarningOutlined","h3","SingleCluster","SORT_DIRECTION","removingTerms","cluster","isClusterRemoving","tableData","setTableData","sortField","setSortField","sortDirection","setSortDirecion","removeClusterHandler","isBulkRemovingCluster","bulkRemoveTerms","setTerms","dataFiltered","filterDataInMemory","handleTableChange","pagination","filters","sorter","column","sortFieldName","dataSource","loadingRows","columns","dataIndex","render","record","foundIn","FoundInLabel","isBranded","formatLargeNumber","defaultSortOrder","usedCount","idealCountMax","RemoveClusterBtn","rowKey","SingleCluster_templateObject","SingleCluster_templateObject1","BulkRemoveTermsModal","clusteredTerms","setClusteredTerms","clusterToRemove","setClusterToRemove","clusterTerms","clusters","tempArr","focusTermsSorter","tempCluster","b","clusterTitle","termsArr","ModalTitle","CollapseStyled","expandIconPosition","Collapse","Panel","header","ClusterHeader","ClusterName","ClusterDesc","clusterSv","BulkRemoveTermsModal_templateObject","BulkRemoveTermsModal_templateObject1","BulkRemoveTermsModal_templateObject2","BulkRemoveTermsModal_templateObject3","BulkRemoveTermsModal_templateObject5","TermsDropdownController","onViewChange","currentView","onChangeIncludeBranded","includeBranded","onTermsFilter","onSortTerms","showExportModal","setShowExportModal","showBulkRemoveTermsModal","setShowBulkRemoveTermsModal","getTermsCount","termsFiltersSetup","setTermsFiltersSetup","handleOnSortChange","downloadFileToTxt","pageTitle","articleUrl","imagesCount","count","videosCount","videos","iframesCount","iframes","internalLinksCount","internal","externallLinksCount","external","socialCount","social","javascriptCount","js","headersSum","headers","headersCount","pageTechnicalsString","includedFocusterms","notIncludedFocusTerms","ft","requiredCountMin","questionsSting","questions","q","convertedText","Blob","createObjectURL","download","getXlsExportLink","token","getTokenFromCookies","baseUrl","getApiUrl","BaseApi","CA_ENDPOINT","termsFilterHandler","updatedTermsSetup","updatedFilteredTermsArr","tooltipStyle","isNotPublic","viewChangeDropdown","TermsViewDropdownContainer","CheckboxStyledHighlights","highlights","setHighlights","PTag","BulkRemoveTermsBtn","TermsContainer","ExportModalTitle","ExportModalDesc","ExportModalButtonsContainer","faFileSpreadsheet","faFileLines","faGoogle","TermsFilterContainer","customBackground","GroupTermsContainer","Menu","sorters","Sort","faArrowUpArrowDown","SortTxt","isRemovingFocusTerms","AddButton","setShowAddFocusTermModal","ExportBtn","AdjustBtnContainer","GearIcon","faSliders","TermsDropdownController_templateObject","TermsDropdownController_templateObject1","TermsDropdownController_templateObject2","TermsDropdownController_templateObject4","TermsDropdownController_templateObject5","TermsDropdownController_templateObject7","TermsDropdownController_templateObject9","TermsDropdownController_templateObject10","TermsDropdownController_templateObject11","TermsDropdownController_templateObject12","TermsDropdownController_templateObject13","TermsDropdownController_templateObject14","TermsDropdownController_templateObject15","TermsDropdownController_templateObject16","TermsDropdownController_templateObject17","TermsDataController","onFilter","isClustersExpanded","setIsClustersExpanded","termsSearchQuery","setTermsSearchQuery","termsSearchInputValue","setTermsSearchInputValue","secondAntIcon","handleOnClusterClick","filteredSearch","clusterName","termSearchHandler","formatInput","trimmedArr","SearchAndSort","prefix","faMagnifyingGlass","ClustersWrapper","ClustersContainer","expandedClusters","ClusterTooltipSingleRow","ClusterTooltipLabel","ClusterTooltipValue","SingleClusterContainer","activeCluster","TermsDataController_templateObject","TermsDataController_templateObject1","TermsDataController_templateObject2","TermsDataController_templateObject3","TermsDataController_templateObject4","TermsDataController_templateObject5","TermsDataController_templateObject6","TermsDataController_templateObject7","AntdInput","focusTerm","removeTermHandler","removeTerms","termContainerSetup","hoverBackground","fitTermInQuota","quote","startIndex","h5","targetKewyordsOnlyArr","getTwoGreenPercentageColor","percentage","requiredCountMax","competitors","competitor","getSiteName","hostname","snippets","snippet","normalizedScore","source","LowerSection","isAnyFocusTermLink","wikipediaLink","wikidataLink","knowledgeGraphLink","crunchbaseLink","ReferencesWrapper","ReferencesTitle","LinksWrapper","SingleLink","faWikipediaW","TermContainer","TermName","BrandedLabel","CopyIcon","FocusTermsTab_SingleTerm_templateObject","FocusTermsTab_SingleTerm_templateObject1","FocusTermsTab_SingleTerm_templateObject2","FocusTermsTab_SingleTerm_templateObject3","FocusTermsTab_SingleTerm_templateObject4","FocusTermsTab_SingleTerm_templateObject5","FocusTermsTab_SingleTerm_templateObject6","SingleTerm_templateObject7","SingleTerm_templateObject8","SingleTerm_templateObject9","SingleTerm_templateObject10","SingleTerm_templateObject11","TermsDropdowns","includedBranded","setIncludeBranded","setQuery","termsToShow","setTermsToShow","isCopied","setIsCopied","standardTerms","setStandardTerms","queryParam","prepTermsArr","filteredTerms","termsToShowParam","TopicalTermsContainer","focusMode","focusTermsExpanded","CopyButton","TermsDropdowns_templateObject","TermsDropdowns_templateObject1","TermsDropdowns_templateObject2","FocusTermsTab","includedTerms","includeMoreTerms","includeLessTerms","EmptyDataBox","FocusTermsTab_templateObject","LinkSuggestionsDropdownController","isSynced","setIsSynced","isSyncing","setIsSyncing","onLinksSync","getInternalLinkSuggestionsv2","FocusModeBtn","setFocusTermsExpanded","faDownLeftAndUpRightToCenter","faUpRightAndDownLeftFromCenter","FocusModeLabel","ExportIcon","faFileDownload","RefetrchBtnContainer","faSyncAlt","LinkSuggestionsDropdownController_templateObject","LinkSuggestionsDropdownController_templateObject2","LinkSuggestionsDropdownController_templateObject3","LinkSuggestionsDropdownController_templateObject4","SingleSuggestion","customCallback","isRemovingTerm","setIsRemovingTerm","isBookmarked","setIsBookmarked","removeInternalLinkSuggestion","bookmarkInternalLinkSuggestion","TitleAndStar","faStarSolid","faStar","SingleISugesstion_templateObject","SingleISugesstion_templateObject1","SingleISugesstion_templateObject2","SingleISugesstion_templateObject3","SingleISugesstion_templateObject4","SingleISugesstion_templateObject5","InternalLinksSuggestions","isQueried","DropdownsContainer","InternalLinkSuggestions_templateObject","SingleCitation","citation","addDefaultSrc","onError","substring","serps","serp","CommonCitations","commonCitations","SidebarTooltip","SuggestionsDataController","visibleKeywords","updateKeywords","linksDropDownFromSuggestion","showEditor","setShowEditor","hostnameEditor","EditorContainer","FormStyled","updateHostname","InputStyeld","ButtonContainer","isUpdatingHostname","UpdateButton","topMessage","HostnameContainer","HostnameLink","addProtocolToDomain","HostnameLinkBtnContainer","AddNewUrlBtn","ViewDropdownContainer","viewControlls","ViewControllsContainer","SearchAndSortWraper","SearchContainer","SuggestionsDataController_templateObject","SuggestionsDataController_templateObject1","SuggestionsDataController_templateObject3","SuggestionsDataController_templateObject4","SuggestionsDataController_templateObject5","SuggestionsDataController_templateObject6","SuggestionsDataController_templateObject7","SuggestionsDataController_templateObject9","CommonBtn","SuggestionsDataController_templateObject12","SuggestionsDataController_templateObject17","SuggestionsDataController_templateObject19","_templateObject20","_templateObject21","LinkSuggestionsTab","perc","setCurrentView","searchQuery","setSearchQuery","dataArr","setDataArr","initialDataArr","setInitialDataArr","setIsQueried","selectedOption","setSelectedOption","domain","setDomain","isVisiblePopover","setIsVisiblePopover","updateLoading","setUpdateLoading","urlsError","setUrlsError","isFetchingIntLinksSug","onDataFilter","filterDataHandler","formattedArr","customDataArr","foundLinks","n","filteredSelectedLinks","foundLink","calculateUsagePercentage","postLInkSuggestion","initValues","handleRadioChange","submitUrl","apiError","kwArr","SuggestionsBannerContainer","TooltipTitle","TooltipDescription","exportLinkIcon","Pill","StyledPopover","PopoverContentWrapper","PopoverTitle","providedUrl","AddDomainSection","DomainDetails","AddDomainTitle","AddDomainDesc","AddDomainInput","ProvideUrlsSection","ProvideUrlsDetails","ErrorMessageForURL","Dismiss","Update","onOpenChange","LinkSuggestionsTab_templateObject","LinkSuggestionsTab_templateObject1","LinkSuggestionsTab_templateObject2","LinkSuggestionsTab_templateObject3","LinkSuggestionsTab_templateObject4","LinkSuggestionsTab_templateObject6","LinkSuggestionsTab_templateObject7","LinkSuggestionsTab_templateObject8","LinkSuggestionsTab_templateObject9","LinkSuggestionsTab_templateObject10","LinkSuggestionsTab_templateObject11","LinkSuggestionsTab_templateObject12","LinkSuggestionsTab_templateObject14","LinkSuggestionsTab_templateObject15","LinkSuggestionsTab_templateObject16","LinkSuggestionsTab_templateObject18","SingleQuestion","question","aiCopied","setAiCopied","setCreatingPage","isAiGenerating","setIsAiGenerating","justify","faMessageCheck","faFilePlus","QuestionsTab","level","htmlString","string","copiedText","textContent","htmlContent","plainTextContent","copyToClipboardWithHtmlAndText","AddFocusTermModal","showAddFocusTermModal","terms","addFocusTerms","isFocusTermsLoading","handleAddFocusTerms","StyledModal","Desc","TextArea","AddFocusTermModal_templateObject1","AddFocusTermModal_templateObject2","AddFocusTermModal_templateObject3","AddFocusTermModal_templateObject4","FocusTermsTabs","setActiveKey","onChangeTab","SCA_PAGE_FOCUS_TERMS_TAB_OPEN","SCA_PAGE_QUESTIONS_TAB_OPEN","SCA_PAGE_LINK_SUGGESTIONS_TAB_OPEN","CommonTabsStyled","tabBarStyle","editorScrolled","TabTitleContainer","totalUsedTerms","totalUsedQuestions","totalUsedSuggestions","CommonTabs","CommonTabPane","FocusTermsTabs_templateObject2","SingleMetrics","tooltipLabel","showTooltip","headingData","StyledLable","StyledIcon","RangeValues","h2","h2Min","h2Max","h3Min","h3Max","internalLinks","internalLinksMin","internalLinksMax","externalLinks","externalLinksMin","externalLinksMax","isWithinRecomendedRange","SingleMetrics_templateObject","SingleMetrics_templateObject1","SingleMetrics_templateObject2","SingleMetrics_templateObject3","ContentScore","scoreCounts","scoreExtended","internalLinksData","externalLinksData","avg","h1value","h1Min","h1Max","h2value","h3value","setViewSuggestionsOption","setLinksDropDownFromSuggestion","isWordCountLoading","isScoreLoading","score","suggestedWordCountLimits","viewSuggestionHandler","shouldShowTooltip","tooltipMsg","cur","openText","scrollToText","anchorTag","scrollIntoView","behavior","countsSetup","lower","upper","paragraphs","paragraphsMin","paragraphsMax","headings","headingsMin","headingsMax","StyleHeadingsTooltipTitle","internalLinksLength","externalLinksLength","StyledLinksTabs","StyledRecommender","StyledRecomentedValue","StyledSuggestionLink","showAsLink","StyledCurrentValue","StyledFontAwesomeIcon","StyledLinksDiv","StyledLinkItem","faArrowUpRightFromSquare","ReactEcharts","grid","series","axisLine","roundCap","lineStyle","progress","startAngle","radius","endAngle","pointer","offsetCenter","itemStyle","axisTick","splitLine","distance","splitNumber","axisLabel","detail","RightSection","ContentScore_templateObject","ContentScore_templateObject1","ContentScore_templateObject2","ContentScore_templateObject5","ContentScore_templateObject6","ContentScore_templateObject7","ContentScore_templateObject8","ContentScore_templateObject9","ContentScore_templateObject10","WordCount","WordCount_templateObject","WordCount_templateObject1","HeaderSection","MiniContainer","ScoreAndWordCount","ProgressStyled","strokeLinecap","gapDegree","gapPosition","MiniTitleContainer","HeaderSection_templateObject","HeaderSection_templateObject1","HeaderSection_templateObject2","HeaderSection_templateObject3","HeaderSection_templateObject5","HeaderSection_templateObject6","HeaderSection_templateObject7","termsForInsertion","termsAssistantSuggestions","overflowY","TermsAssistant_MissingPlacementsBanner_templateObject","dots","setDots","saved","dismissed","savedPlacements","dismissedPlacements","placements","Data","PlacementsInfo","generatePlacmenetsInfo","TermsList_SingleTerm_templateObject","TermsList_SingleTerm_templateObject1","TermsList_SingleTerm_templateObject2","TermsList_SingleTerm_templateObject3","TermsList_SingleTerm_templateObject4","TermsList","termOccurances","TermsSelectionDropdown","_filter","selectedTerms","setSelectedTerms","popoverVisible","setPopoverVisible","showLimitError","setShowLimitEror","fetchTaSuggestions","taSuggestionsLoading","handleCheckboxClick","updatedList","onTermsSearchHandler","onBulkSelectTop20Handler","addCompleteTerms","prepcCompleteTerms","completeTermsLength","prepIncludeMoreTerms","onUncheckAllClickHandler","onTriggerClickHandler","HeadingSection","SearchBox","QuotaInfo","ControllsBar","BulkControllBtn","SingleTermRow","opaque","TermUsage","BtnsContainer","Trigger","TermsSelectionDropdown_templateObject","TermsSelectionDropdown_templateObject1","TermsSelectionDropdown_templateObject2","TermsSelectionDropdown_templateObject3","TermsSelectionDropdown_templateObject4","TermsSelectionDropdown_templateObject6","TermsSelectionDropdown_templateObject7","TermsSelectionDropdown_templateObject8","TermsSelectionDropdown_templateObject9","TermsSelectionDropdown_templateObject11","TermsSelectionDropdown_templateObject12","TermsSelectionDropdown_templateObject13","TermsAssistantRightSidebar","RightSidebar_templateObject","RightSidebar_templateObject1","RightSidebar_templateObject2","RightSidebar_templateObject3","RightSidebar_templateObject4","RightSidebar_templateObject5","SingleCompetitor","contentScore","TopRankingCompetitors","topRankingCompetitorActiveKw","competitorsData","setTopRankingCompetitorsActiveKw","openCompetingFocusTermsDrawer","onSelect","dropdownClassName","DrawersTriggers","changeView","loadingTaSuggestions","setLoadingTaSuggestions","handleTriggerAssistant","finalPrepArr","buttonsConf","faListTree","hoverColor","openCompetitorsHeadingsDrawer","faMagicWandSparkles","tooltipContent","faWrench","faChartSimple","updatedButtonConf","SingleItem","DrawersTriggers_templateObject","DrawersTriggers_templateObject1","Analytics","ContentContainer","Analytics_templateObject","Analytics_templateObject1","KeywordSelector","isSubscriber","isCompetitorsTable","setFilteredCompetitorsData","setActiveKw","setCompetitors","activeKw","handleOnSelectChange","KeywordDropdownWrapper","KeywordSelector_templateObject","CompetitorsTable","filteredCompetitorsData","schemaTypesList","allSchemasCount","nullCount","selectedSchema","setSelectedSchema","setShowCompetitorTermsTableDetail","isSmallScreen","setIsSmallScreen","allowScroll","setAllowScroll","onWindowResize","innerWidth","average","reFormatSchemaType","schema","selectedSchemaValue","filteredItems","graph","graphItem","fixed","ellipsis","PageUrlWrapper","lineHeight","dr","parseFloat","toFixed","DRWrapper","schemaLength","schemaItemsList","BlueTextWithUnderline","ULStyled","LinksContainer","paddingRight","LinkWrapper","StyledAnchor","h1Count","h2Count","h3Count","TypesSchemaFilterWrapper","SchemaFilterTitle","SchemaFilterWrapper","SchemaFilter","scroll","y","_dir","CompetitorsTable_templateObject","CompetitorsTable_templateObject1","CompetitorsTable_templateObject2","CompetitorsTable_templateObject3","CompetitorsTable_templateObject4","CompetitorsTable_templateObject5","CompetitorsTable_templateObject6","CompetitorsTable_templateObject7","CompetitorsTable_templateObject8","CompetitorsTable_templateObject9","CompetitorsTable_templateObject10","CompetitorsTable_templateObject11","CompetitorsTable_templateObject12","CompetitorsDetail","competitorSchemaObject","competitorTitle","competitorUrl","competitorSchemaGraphIdx","formats","renderSchemaData","dataObj","LargeLine","mainLebel","mainValue","SchemaLabel","SchemaValue","urlValidationRegex2","isValid","utc","BackArrowContainer","SchemaContainer","SchemaHeader","SchemaPageTitle","context","CompetitorsDetail_templateObject","CompetitorsDetail_templateObject1","CompetitorsDetail_templateObject2","CompetitorsDetail_templateObject3","CompetitorsDetail_templateObject4","CompetitorsDetail_templateObject5","CompetitorsDetail_templateObject6","CompetitorsDetail_templateObject7","CompetitorsDrawerTab","setSchemaTypesList","setAllSchemasCount","setNullCount","showCompetitorTermsTableDetail","squareTooltip","IsRanking","IsNotRanking","focusTermsTooltip","CompetingFocusTermsDrawer","isCompetingFocusTermsDrawerOpen","closeCompetingFocusTermsDrawer","isOpeningKwSuggestionsFromContentResearch","setIsOpeningKwSuggestionFromContentResearch","selectedKeyword","setSelectedKeyword","selectedCompTabKw","setSelectedCompTabKw","isHovered","setIsHovered","maxElemHeight","setMaxElemHeight","allRef","keywordSuggestionsRef","elementsArray","elementsWidthArr","exportSingleNode","node","today","date","getFullYear","getMonth","getDate","html2canvas","then","canvas","toDataURL","onTabChange","schemaCountsHandler","competitorsTypes","countOccurrences","inputArray","counts","prototype","hasOwnProperty","call","afterVisibleChange","focusTermsGridData","TitleStyled","tabPosition","overflowX","Subtitle","data-html2canvas-ignore","SectionHeader","sites","Rank","Site","rotate","wrap","contentScores","focusTermUsageBySites","Square","keywordSuggestionsGridData","keywordSuggestionsUsageBySites","CompetingFocusTermsDrawer_templateObject","CompetingFocusTermsDrawer_templateObject1","CompetingFocusTermsDrawer_templateObject2","CompetingFocusTermsDrawer_templateObject3","CompetingFocusTermsDrawer_templateObject4","CompetingFocusTermsDrawer_templateObject5","CompetingFocusTermsDrawer_templateObject6","CompetingFocusTermsDrawer_templateObject7","CompetingFocusTermsDrawer_templateObject9","CompetingFocusTermsDrawer_templateObject10","CompetingFocusTermsDrawer_templateObject11","NewContentIdeaForm","drawerVisible","usaCode","selectedCountry","setSelectedCountry","onFormSubmit","topic","loadContentIdeasData","SCA_PAGE_CONTENT_IDEAS_GENERATE","SingleContentIdea","setConvertedText","newLineIndex","textWithoutLeadingSpace","firstTitle","breakFileName","fileName","faDownload","SCA_PAGE_CONTENT_IDEA_DOWNLOAD","SCA_PAGE_CONTENT_IDEA_COPY","CopyOutlined","ContentIdeas","csvModel","wordsArray","CsvDownloader","datas","filename","displayName","ExportOutlined","ContentIdeasDrawer","contentIdeas","setDrawerVisible","clearContentIdeas","setIsOpenContentGeneratorDrawer","SimilarKeyword","isIncluded","OverviewPage","addToLoadingArray","loadingArray","onRemoveKeywordFinish","ContentResearchDrawer","keywordDetail","isContentResearchDrawerOpen","closeContentResearchDrawer","getKeywordDetail","removeFromLoadingArray","countryName","similarKeywordsPageNumber","setSimilarKeywordsPageNumber","similarKeywordsPageSize","similarKeywordsData","setSimilarKeywordsData","similarKeywordsList","setSimilarKeywordsList","topCompetitorsData","setTopCompetitorsData","rankingPotentialData","setRankingPotentialData","handleFilterRenderData","dataArray","pageNumber","targetKwArray","similarKeywordsFormattedData","isKwIncluded","similarKeywords","onPaginationChange","relevanceData","competition","typicalTop10","averageContentScores","averageDr","averageWordCount","readAbility","averageReadability","SimilarKeywordConfig","BarChartColumn","numeral","PageTitle","skeletonMarginRight","totalSearchResults","rankingPotential","xAxis","svTrend","interval","formatter","rich","month","year","yAxis","volume","areaStyle","symbolSize","symbol","MiddleContainer","readability","Pagination","showSizeChanger","defaultPageSize","showQuickJumper","termsGrid","ContentResearchDrawer_templateObject","ContentResearchDrawer_templateObject1","ContentResearchDrawer_templateObject2","ContentResearchDrawer_templateObject3","ContentResearchDrawer_templateObject4","ContentResearchDrawer_templateObject5","ContentResearchDrawer_templateObject6","ContentResearchDrawer_templateObject7","ContentResearchDrawer_templateObject8","ContentResearchDrawer_templateObject9","ContentResearchDrawer_templateObject10","KeywordsDrawer","isOpenKeywordsDrawer","isDrawerFromCa","KeywordDetailContent","TechnicalsViewSwitcher","TechnicalsSwitcherContainer","ViewSwitcher_templateObject","PageSpeedIndex","refetchArticle","refetchPage","SpeedIndexContainer","psiMetrics","avgSpeedIndex","SpeedIndexDot","LastFetchContainer","updatedAt","faRotateRight","isInitialPageLoad","isTechnicalsDataLoading","PageSpeedIndex_templateObject","PageSpeedIndex_templateObject1","PageSpeedIndex_templateObject2","PageSpeedIndex_templateObject3","TechnicalScore","technicalsMsgColorMap","technicalScore","TitleAndWordCount","TechnicalScore_templateObject","TechnicalScore_templateObject1","TechnicalScore_templateObject2","TechnicalScore_templateObject3","auditLoader","setAuditLoader","onPageAuditPopoverVisible","setOnPageAuditPopoverVisible","contentAuditStore","loadContentAudit","setNewRecordId","antIconSecond","onRunPageAudit","countryCodeToUse","getId","shouldUseHeadlessBrowser","onPageAuditDetails","TopSeactionContainer","PopoverWrapper","getUniqueKeywords","existingValues","getFieldsValue","AntdCheckbox","PopoverKwContainer","PopoverBtnContainer","RunPageAuditBtn","faFileChartColumn","BtnText","Technicals_HeaderSection_templateObject","Technicals_HeaderSection_templateObject1","Technicals_HeaderSection_templateObject3","Technicals_HeaderSection_templateObject4","Technicals_HeaderSection_templateObject5","Technicals_HeaderSection_templateObject6","HeaderSection_templateObject8","AnalyticsCollapseCard","descriptionColor","colTitle1","colTitle2","sortKey","colTitle3","colTitle4","dataRenderer","isCollapse","defaultActive","plan","warningBar","setPageNumber","checkData","setCheckData","isFilterOpened","setIsFilterOpened","sortOrder","setSortOrder","formatData","setFormatData","sortData","sortBy","bordered","expandIcon","CaretUpFilled","faCaretUp","defaultCurrent","faFilter","ChevronUp","disabledTooltip","SchemaModal","setShowModal","dataList","setExpanded","dataForDisplay","ModalContentWrapper","MainContainer","potentialAction","z","wordBreak","queryInput","SchemaModal_templateObject","SchemaModal_templateObject1","SchemaModal_templateObject2","SchemaModal_templateObject3","SchemaModal_templateObject4","SchemaModal_templateObject5","SchemaModal_templateObject6","TechnicalsData","showMissingAltText","setShowMissingAltText","isActiveInternalBrokenLinks","setIsActiveInternalBrokenLinks","isActiveExternalBrokenLinks","setIsActiveExternalBrokenLinks","showSchemaModal","setShowSchemaModal","internalLinksFilters","statusCode","SCA_PAGE_INTERNAL_LINKS_SHOW_BROKEN","uiFormatImageSize","sizeArray","brokenHeaders","translateWord","getMissingAltTotal","imagesFilter","SCA_PAGE_IMAGES_SHOW_MISSING_ALT","externalLinksFilters","SCA_PAGE_EXTERNAL_LINKS_SHOW_BROKEN","displayStatusCode","displayFollowCode","followCode","jsonLd","metaSummary","meta","field","statusColor","suggestionColor","getStatusColor","Image","getMissingAltText","WarningMiniBar","Video","video","visitable","ExternalLink","generateInternalLinksDesc","msgArr","labelColor","getInternalBrokenLinksCount","getInternalRedirectsCount","anchor","generateExternallLinksDesc","getExternalBrokenCount","getExternalRedirectsCount","List","ButtonLink","linkgraphDomain","Technicals","DataContainer","Technicals_templateObject","Technicals_templateObject1","compListCollapsed","HeadingsTree","activeCompetitor","setShowBulkAddContentBtn","showBulkAddContentBtn","setCheckedCount","checkedCount","setCheckedIndexData","checkedIndexData","setCopiedHeadings","addedHeadings","setAddedHeadings","copiedHeading","setCopiedHeading","tag","setFilters","onCheckboxChecked","curFilters","checkboxClickHandler","headingContent","headingTag","handleCopyClick","updatedCopiedHeadings","textToAdd","headingType","cleanText","curAddedHeadings","updatedAddedHeading","addHeadingsHandler","FiltersWrapper","FiltersContainer","headingsHierarchy","BulkAddAction","faSquareCheck","ActionsWrapper","AddHeadings","CopyAction","CancelAction","FiltersTree","SingleHeading","itemId","HeadingTag","HeadingText","Copy","InsertText","calculateIndent","getTopMargin","calculateFontSize","generateColor","HeadingsTree_templateObject","HeadingsTree_templateObject1","HeadingsTree_templateObject2","HeadingsTree_templateObject3","HeadingsTree_templateObject4","HeadingsTree_templateObject5","HeadingsTree_templateObject6","HeadingsTree_templateObject7","HeadingsTree_templateObject8","HeadingsTree_templateObject9","HeadingsTree_templateObject10","HeadingsTree_templateObject11","HeadingsTree_templateObject12","HeadingsTree_templateObject13","CompetitorHeadingsDrawerContent","setCompListCollapsed","setCheckedHeadingsWithTags","checkedHeadingsWithTags","setActiveCompetitor","updatedCompetitors","currentArticleOutline","generateHeadingOutline","getBlocksAsArray","outline","lastIndexOf","isCurrentArticleOutline","faBars","faBarsSort","competitorsList","CompetitorsList","CurrentArticleOutline","Order","NameLogoUrl","Name","Url","Logo","NameAndUrl","Headingoutlines","DrawerContent_templateObject","DrawerContent_templateObject1","DrawerContent_templateObject2","DrawerContent_templateObject3","DrawerContent_templateObject4","DrawerContent_templateObject5","DrawerContent_templateObject6","DrawerContent_templateObject7","DrawerContent_templateObject8","DrawerContent_templateObject9","DrawerContent_templateObject10","DrawerContent_templateObject11","DrawerContent_templateObject12","DrawerContent_templateObject13","CompetitorsHeadingsDrawer","isCompetitorsHeadingsDrawerOpen","closeCompetitorsHeadingsDrawer","SidebarContent","showTechnicals","setShowTechincals","TechnicalsContainer","LoadingBannerContainer","LongLoadingBanner","isFetchingTargetKw","SidebarContent_templateObject","SidebarContent_templateObject1","SidebarContent_templateObject2","SidebarContent_templateObject3","SidebarContent_templateObject4","RightSidebarV2","onResizeCallback","isHidden","topPosition","setTopPosition","sideBarRef","sidebarUpdate","handleScroll","pageYOffset","passive","_document_querySelector","Resizable","onResize","dir","elRef","enable","topRight","bottomRight","bottomLeft","topLeft","analyzingError","ErrorView","PageEditor","rootStore","loadAiWriterHistory","refetchOneClickDraftResultForArticleCreation","isExportingPageLoader","setIsPublic","setFocusTermsClassNames","setSideBarWidth","setViewers","emailAddress","resultId","triggerFreddySurvey","FREDDY_EVENT_SCA_ARTICLE_CREATED","updateFocusTermsState","sortedFocusTerms","internalLinksClusters","variations","finalData","parts","prepareFinalTerms","regex","multiWordCountRegex","mapFocusTerms","dbRef","firebase","database","snapshot","exists","catch","console","onDisconnect","cancel","setRepollsAllowed","focusedState","moveFocusToStart","afterSelectionMove","firstKey","formattedEditorState","setIsInitialEditorStateFetched","loadProject","getAllProjects","setRefechForBulkArticleCreation","getTime","loadPages","activeProjectId","initialLoadPage","setNewPage","headerStore","setComponent","spend","quotaProps","MainLoader","module","exports"],"sourceRoot":""}