{"version":3,"file":"static/js/8871.8fa58267.chunk.js","mappings":"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","sources":["components/advertisement/load-home-google-ads.tsx","pages/errors/component/404-header.component.tsx","pages/errors/component/404-login-help-modal.component.tsx","pages/errors/component/404-login.component.tsx","pages/errors/component/404-simple-callout.component.tsx","pages/errors/component/404-smart-search.component.tsx","pages/errors/page-not-found.tsx","pages/news-and-articles/news-articles/components/news-articles-style.component.tsx","components/advertisement/load-news-articles-details-ads.tsx","pages/news-and-articles/news-articles/components/news-articles.component.tsx","pages/news-and-articles/news-articles/components/news-articles-layout.component.tsx","pages/news-and-articles/news-articles/index.tsx"],"sourcesContent":["import useDfpSlot from \"../../hooks/useDfpSlot\";\r\n\r\nconst LoadHomeGoogleAds = () => {\r\n useDfpSlot([{\r\n path: \"/22240682100/ROS_Footer1_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625252827-0\",\r\n },{\r\n path: \"/22240682100/ROS_Footer2_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625323242-0\",\r\n },{\r\n path: \"/22240682100/ROS_Footer3_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625359907-0\",\r\n },{\r\n path: \"/22240682100/ROS_Footer4_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625430383-0\",\r\n }]);\r\n\r\n return(<></>)\r\n}\r\n\r\nexport default LoadHomeGoogleAds;","import { useState, useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { retrievePageMenu } from \"../../../redux/slice/page-menu.slice\";\r\nimport { RootState, useAppDispatch } from \"../../../redux/store\";\r\n\r\ninterface Props {\r\n isProhibited: boolean;\r\n}\r\n\r\nconst Header404Component = (props: Props) => {\r\n const { isProhibited } = props;\r\n\r\n const path = isProhibited ? \"%2FLogin%2FProhibited\" : \"%2F404\";\r\n\r\n const { RapsEuropeData } = useSelector((state: RootState) => state.rapsEurope);\r\n const [description, setDescription] = useState(\"\");\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(retrievePageMenu(path));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (RapsEuropeData[0]) {\r\n let rapsResult = RapsEuropeData[0].result && RapsEuropeData[0].result[0];\r\n if (rapsResult) {\r\n setDescription(rapsResult.description);\r\n }\r\n }\r\n }, [RapsEuropeData]);\r\n\r\n return <>{description !== \"\" && <div className=\"container-fluid\" dangerouslySetInnerHTML={{ __html: description }}></div>}</>;\r\n};\r\n\r\nexport default Header404Component;\r\n","interface Prop {\r\n setShowModal: () => void;\r\n}\r\n\r\nconst LoginHelpModal404 = ({ setShowModal }: Prop) => {\r\n const handleClick = () => {\r\n setShowModal();\r\n };\r\n\r\n return (\r\n <div className=\"lity lity-opened lity-inline\" role=\"dialog\" aria-label=\"Dialog Window (Press escape to close)\" tabIndex={-1} aria-hidden=\"false\" onClick={setShowModal}>\r\n <div className=\"lity-wrap\" data-lity-close=\"\" role=\"document\">\r\n <div className=\"lity-container\" onClick={(e) => e.stopPropagation()}>\r\n <div className=\"lity-content\">\r\n <div id=\"login_help\" style={{ padding: 10, background: \"rgb(255, 255, 255)\", maxHeight: 711 }}>\r\n <h2>Log in</h2>\r\n\r\n <p>Please enter your username and password to login.</p>\r\n </div>\r\n </div>\r\n <button className=\"lity-close\" type=\"button\" aria-label=\"Close (Press escape to close)\" data-lity-close=\"\" onClick={handleClick}>\r\n ×\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default LoginHelpModal404","import React, { useState, useEffect } from \"react\";\r\nimport { useNavigate, useLocation } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { login } from \"../../../redux/slice/sso/authentication-slice\";\r\nimport { RootState, useAppDispatch } from \"../../../redux/store\";\r\n\r\nimport useAuth from \"../../../hooks/useAuth\";\r\n\r\nimport LoginHelpModal from \"./404-login-help-modal.component\";\r\nimport { retrieveUserInfo } from \"../../../redux/slice/sso/userinfo.slice\";\r\n//import LoadingComp from \"../../../components/re-usable/loading/loading\";\r\n\r\ninterface FormElements extends HTMLFormControlsCollection {\r\n txtText: HTMLInputElement,\r\n txtPassword: HTMLInputElement\r\n}\r\n\r\ninterface LoginFormElement extends HTMLFormElement {\r\n readonly elements: FormElements\r\n}\r\n\r\ninterface LoginRequest {\r\n username: string,\r\n password: string,\r\n staySignedIn: boolean\r\n}\r\n\r\nconst ErrorLoginComponent = (props: {isLoginPage: boolean}) => {\r\n const { isLoginPage } = props;\r\n const { loginUser } = useAuth();\r\n const [username, setUsername] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n const [attemptedLoggedIn, setAttemptedLoggedIn] = useState(false);\r\n const [showErrorMessage, setShowErrorMessage] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n \r\n const { checkLogin } = useSelector(\r\n (state: RootState) => state.loggedIn\r\n );\r\n const loginData = useSelector((state: RootState) => state.login.data);\r\n const userInfo = useSelector((state: RootState) => state.userInfo);\r\n\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const { from } = location.state || { from: { pathname: \"/member-dashboard\" } };\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n const { search } = location;\r\n const query = React.useMemo(() => new URLSearchParams(search.toLowerCase()), [search]);\r\n\r\n useEffect(() => {\r\n if (!checkLogin.isLoggedIn && attemptedLoggedIn) {\r\n let request: LoginRequest = {\r\n username: username,\r\n password: password,\r\n staySignedIn: false\r\n }\r\n dispatch(login(request));\r\n setShowErrorMessage(false);\r\n }\r\n }, [attemptedLoggedIn]);\r\n\r\n useEffect(() => {\r\n if (attemptedLoggedIn && loginData.length > 0) {\r\n loginUser(loginData[0]);\r\n\r\n if (window.runGlobalScripts) {\r\n window.runGlobalScripts();\r\n }\r\n }\r\n \r\n else if (attemptedLoggedIn) {\r\n setAttemptedLoggedIn(false);\r\n setShowErrorMessage(true);\r\n }\r\n }, [loginData]);\r\n\r\n useEffect(() => {\r\n if (checkLogin.isLoggedIn) {\r\n if (!userInfo.loading && userInfo.data?.result === undefined) {\r\n dispatch(retrieveUserInfo());\r\n }\r\n\r\n if (attemptedLoggedIn || isLoginPage) {\r\n setAttemptedLoggedIn(false);\r\n let returnUrl = query.get(\"returnurl\") || null;\r\n if (returnUrl !== null) {\r\n window.location.replace(returnUrl);\r\n } else {\r\n navigate(from);\r\n }\r\n }\r\n }\r\n }, [checkLogin]);\r\n\r\n const handleSubmit = (event: React.FormEvent<LoginFormElement>) => {\r\n event.preventDefault()\r\n setUsername(event.currentTarget.elements.txtText.value);\r\n setPassword(event.currentTarget.elements.txtPassword.value);\r\n setAttemptedLoggedIn(true);\r\n }\r\n\r\n if (checkLogin.isLoggedIn && !isLoginPage) {\r\n return (<></>)\r\n }\r\n\r\n const onClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\r\n event.preventDefault();\r\n setShowModal(true);\r\n }\r\n\r\n const handleModalEvent = () => {\r\n setShowModal(false);\r\n }\r\n\r\n return (\r\n <>\r\n <div className=\"FormPanel\">\r\n <p className=\"pull-right\">\r\n <a data-lity=\"\" href=\"#login_help\" onClick={onClick}>\r\n <i className=\"fa-regular fa-square-question hide\"></i>\r\n <span className=\"sr-only\">help</span>\r\n </a>\r\n </p>\r\n\r\n <h2>Log in</h2>\r\n\r\n <div className=\"form-login\">\r\n <form onSubmit={handleSubmit}>\r\n <div className=\"form-group\">\r\n <label className=\"EditingFormLabel\" htmlFor=\"txtText\" id=\"lUsername\">\r\n E-mail address\r\n </label>{\" \"}\r\n {/*<i className=\"fa-regular fa-user\"></i>*/}\r\n\r\n <div id=\"iUsername\">\r\n <input className=\"form-control\" id=\"txtText\" maxLength={500} name=\"txtText\" type=\"text\" placeholder=\"E-mail address\" />\r\n </div>\r\n </div>\r\n\r\n <div className=\"form-group\">\r\n <label className=\"EditingFormLabel\" htmlFor=\"txtPassword\" id=\"lPassword\">\r\n Password\r\n </label>{\" \"}\r\n {/*<i className=\"fa-regular fa-lock\"></i>*/}\r\n\r\n <div id=\"iPassword\">\r\n <div>\r\n <input\r\n className=\"form-control\"\r\n id=\"txtPassword\"\r\n maxLength={100}\r\n name=\"txtPassword\"\r\n type=\"password\"\r\n placeholder=\"Password\"\r\n />\r\n </div>\r\n </div>\r\n {showErrorMessage && (\r\n <span className=\"error\" id=\"spanLoginSnipperError\">\r\n E-mail address & Password Combo is invalid\r\n </span>)}\r\n </div>\r\n\r\n <div className=\"form-group\">\r\n <div className=\"forgot-password\">\r\n <a className=\"more\" href=\" https://my.raps.org/account/login.aspx?forgot=yes&RedirectUrl=https%3a%2f%2fraps.org&reload=timezone\">\r\n forgot your password?\r\n </a>\r\n </div>\r\n\r\n <div style={{ clear: \"both\" }}> </div>\r\n\r\n <hr />\r\n </div>\r\n\r\n <div className=\"hide\">\r\n <table className=\"EditingFormTable\">\r\n <tbody>\r\n <tr>\r\n <td className=\"FieldLabel\"> </td>\r\n <td className=\"EditingFormValueCell\">\r\n <input\r\n className=\"FormButton hide btn btn-primary\"\r\n id=\"btnOK\"\r\n name=\"btnOK\"\r\n type=\"submit\"\r\n value=\"Login\"\r\n />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <input type=\"submit\" value=\"Login\" className=\"btn btn-default btn-responsive\" id=\"btnSnippetLogin\" />\r\n </form>\r\n </div>\r\n {showModal && <LoginHelpModal setShowModal={handleModalEvent} />}\r\n </div>\r\n <script>\r\n </script>\r\n </>\r\n );\r\n};\r\n\r\nexport default ErrorLoginComponent;\r\n","import Slider from \"react-slick\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { CalloutsType } from \"../../../models/home/callouts.model\";\r\nimport { RootState, useAppDispatch } from \"../../../redux/store\";\r\nimport { retrieveCallouts } from \"../../../redux/slice/home/callouts.slice\";\r\n\r\nconst CalloutComponent =() => {\r\n const { data: calloutsData } = useSelector((state: RootState) => state.callouts);\r\n const [calloutItems, setCalloutItems] = useState([] as CalloutsType[]);\r\n const [width, setWidth] = useState(window.innerWidth) \r\n\r\n const xlarge = width > 1310\r\n const large = width > 1024 && width < 1309\r\n const medium = width > 641 && width < 1023\r\n //const small = width <= 640\r\n\r\n let settings = {\r\n dots: true,\r\n infinite: false,\r\n speed: 500,\r\n arrows: false,\r\n slidesToShow: xlarge ? 5 : large ? 3 : medium ? 2 : 1,\r\n slidesToScroll: xlarge ? 5 : large ? 3 : medium ? 2 : 1,\r\n autoplay: false,\r\n autoplaySpeed: 3000,\r\n centerMode: false,\r\n initialSlide: 0\r\n }\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(retrieveCallouts());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (calloutsData.callOutItems) {\r\n setCalloutItems(calloutsData.callOutItems);\r\n }\r\n }, [calloutsData]);\r\n\r\n useEffect(() => {\r\n const handleResize = () => {\r\n setWidth(window.innerWidth);\r\n };\r\n\r\n window.addEventListener('resize', handleResize);\r\n\r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n };\r\n }, [ ])\r\n\r\n\r\n if (calloutItems === undefined) return <></>;\r\n\r\n return (\r\n <>\r\n\r\n <div className=\"page-section brand-texture\" id=\"\">\r\n <div className=\"container\">\r\n <div className=\"card-callouts\">\r\n <ul className=\"blue-circle-dots callouts-slick\">\r\n {\r\n calloutItems && <Slider {...settings}>\r\n {calloutItems.map((item, index) => {\r\n return <SimpleCallout key={index} data={item} />;\r\n })}\r\n </Slider>\r\n }\r\n </ul>\r\n <p> </p>\r\n <div className=\"container\" style={{ textAlign: \"center\", marginTop: 15 }}>\r\n <Link to=\"/\" style={{ fontWeight: \"bold\", fontSize: 18 }}>\r\n Visit the RAPS Homepage{\" \"}<i className=\"fa-solid fa-arrow-right\"></i>\r\n </Link>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default CalloutComponent;\r\n\r\nconst SimpleCallout = (props: { data: CalloutsType }) => {\r\n const { data } = props;\r\n return (<li>\r\n <div className=\"card card-icon\" style={{ height: 228.688 }}>\r\n <a href={data.calloutLink}>\r\n <img alt={data.calloutTitle} src={data.calloutImage} />\r\n </a>\r\n <div className=\"caption\">\r\n <h3>\r\n <a href={data.calloutLink}>{data.calloutTitle} </a>\r\n </h3>\r\n <p>{data.calloutText}</p>\r\n <a className=\"btn btn-default\" href={data.calloutLink} role=\"button\">\r\n {data.calloutButtonText}\r\n </a>\r\n </div>\r\n </div>\r\n </li>\r\n );\r\n};\r\n","import { useRef } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\n\r\nconst SearchComponent = () => {\r\n const navigate = useNavigate();\r\n const headerSearch = useRef<HTMLInputElement>(null);\r\n const searchButtonHandler = () => {\r\n navigate(`/search?searchtext=${headerSearch.current?.value}`);\r\n }\r\n\r\n const searchKeyDownButtonHandler = (\r\n event: React.KeyboardEvent<HTMLInputElement>\r\n ) => {\r\n if (event.key === \"Enter\") {\r\n navigate(`/search?searchtext=${headerSearch.current?.value}`);\r\n }\r\n };\r\n return (\r\n <>\r\n <div className=\"container\">\r\n <div id=\"pnlSearch\">\r\n <div className=\"search-box\">\r\n <label htmlFor=\"txtKeyword\" id=\"lblSearch\" style={{ display: \"none\" }}>Search for:</label>\r\n <input type=\"hidden\" name=\"txtKeyword_exWatermark_ClientState\" id=\"txtKeyword_exWatermark_ClientState\" />\r\n <input name=\"txtKeyword\" type=\"text\" placeholder=\"Search...\" maxLength={1000} id=\"txtKeyword\" className=\"search-box-input form-control\" ref={headerSearch} onKeyDown={searchKeyDownButtonHandler} />\r\n <button className=\"search-box-submit\" onClick={searchButtonHandler} >\r\n <i className=\"fa-solid fa-magnifying-glass\"></i>\r\n </button>\r\n <input type=\"submit\" name=\"btnSearch\" id=\"btnSearch\" className=\"visually-hidden btn\" />\r\n <div className=\"col-xs-12 text-right\">\r\n <div id=\"pnlPredictiveResultsHolder\" className=\"predictiveSearchHolder\">\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </>);\r\n};\r\n\r\n\r\nexport default SearchComponent;","import { useEffect, useMemo } from \"react\";\r\nimport HomeGoogleAds from \"../../components/advertisement/home-google-ads\";\r\nimport LoadHomeGoogleAds from \"../../components/advertisement/load-home-google-ads\";\r\nimport Header404Component from \"./component/404-header.component\";\r\nimport NotFoundLogin from \"./component/404-login.component\";\r\nimport NotFoundSimpleCallout from \"./component/404-simple-callout.component\";\r\nimport NotFoundSmartSearchBox from \"./component/404-smart-search.component\";\r\nimport { Helmet } from \"react-helmet-async\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { retrievePageMenu } from \"../../redux/slice/page-menu.slice\";\r\nimport { RootState, useAppDispatch } from \"../../redux/store\";\r\n\r\nconst ErrorBoundary = () => {\r\n const cachedGoogleAds = useMemo(() => <HomeGoogleAds />, []);\r\n const cachedUseDfpSlot = useMemo(() => <LoadHomeGoogleAds />, []);\r\n const { RapsEuropeData } = useSelector((state: RootState) => state.rapsEurope);\r\n const path = \"%2F404\";\r\n\r\n const dispatch = useAppDispatch();\r\n \r\n useEffect(() => {\r\n dispatch(retrievePageMenu(path));\r\n }, [dispatch]);\r\n\r\n return (\r\n <>\r\n <Helmet>\r\n <title>{RapsEuropeData[0]?.result[0].menuItemName}</title>\r\n </Helmet>\r\n <div className=\"brand-texture\">\r\n <Header404Component isProhibited={false} />\r\n <div className=\"container\">\r\n <div className=\"row\">\r\n <div className=\"col-md-6 offset-md-3\">\r\n <NotFoundLogin isLoginPage={false} />\r\n </div>\r\n </div>\r\n </div>\r\n <NotFoundSmartSearchBox />\r\n <NotFoundSimpleCallout />\r\n </div>\r\n <p> </p>\r\n {cachedGoogleAds}\r\n {cachedUseDfpSlot}\r\n <p> </p>\r\n </>\r\n );\r\n};\r\n\r\nexport default ErrorBoundary;\r\n","const NewsArticleStyleComponent = () => {\r\n return (\r\n <>\r\n <style>\r\n {`\r\n .article .right-content{\r\n float:right;\r\n }\r\n .article .category-img{\r\n width:16px;\r\n }\r\n .article .category-type .category-text\r\n {\r\n text-transform: none;\r\n }\r\n .getsocial a{\r\n marign-bottom:0px;\r\n }\r\n @media only screen and (max-width: 767px) {\r\n .article .right-content{\r\n float:left;\r\n width: 100%;\r\n }\r\n .article .right-content .getsocial .gs-buttons.gs-right{\r\n text-align: center;\r\n }\r\n .article .right-content img\r\n {\r\n width: inherit;\r\n padding-right: 10px;\r\n }\r\n }\r\n .articleteaser {\r\n margin-left: 25px;\r\n max-width: 300px;\r\n }\r\n .articleteaser img {\r\n min-width: 300px;\r\n }\r\n .category-type span {\r\n margin-right: 4px; \r\n }\r\n .category-type span:not(:first-child){\r\n margin-left: 0\r\n }\r\n .newscaption {\r\n max-width: 300px;\r\n margin-left: 25px;\r\n margin-top: 5px;\r\n }\r\n /* for articles */\r\n .well {\r\n\t min-height: 20px;\r\n\t padding: 10px;\r\n\t margin-bottom: 5px;\r\n\t background-color: #f5f5f5;\r\n\t border: 1px solid #e3e3e3;\r\n\t border-radius: 6px;\r\n\t -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\r\n\t box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\r\n\t display: flow-root;\r\n }\r\n\r\n .arrow {\r\n font-size: 24pt;\r\n padding: 0 8px 8px 8px;\r\n cursor: pointer;\r\n border: 1px solid lightgray;\r\n }\r\n\r\n .navigation {\r\n width: 80%;\r\n }\r\n\r\n /* begin modal styles */\r\n .modal-open {\r\n overflow: hidden;\r\n }\r\n\r\n .modal-open .modal {\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n }\r\n\r\n .modal {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n z-index: 1050;\r\n display: none;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n outline: 0;\r\n }\r\n\r\n .modal-dialog {\r\n position: relative;\r\n width: auto;\r\n margin: 0.5rem;\r\n pointer-events: none;\r\n }\r\n\r\n .modal.fade .modal-dialog {\r\n transition: -webkit-transform 0.3s ease-out;\r\n transition: transform 0.3s ease-out;\r\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\r\n -webkit-transform: translate(0, -50px);\r\n transform: translate(0, -50px);\r\n }\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n .modal.fade .modal-dialog {\r\n transition: none;\r\n }\r\n }\r\n\r\n .modal.show .modal-dialog {\r\n /* -webkit-transform: none;\r\n transform: none;*/\r\n transform: translate(0, 0);\r\n }\r\n\r\n .modal.modal-static .modal-dialog {\r\n -webkit-transform: scale(1.02);\r\n transform: scale(1.02);\r\n }\r\n\r\n .modal-dialog-scrollable {\r\n display: -ms-flexbox;\r\n display: flex;\r\n max-height: calc(100% - 1rem);\r\n }\r\n\r\n .modal-dialog-scrollable .modal-content {\r\n max-height: calc(100vh - 1rem);\r\n overflow: hidden;\r\n }\r\n\r\n .modal-dialog-scrollable .modal-header,\r\n .modal-dialog-scrollable .modal-footer {\r\n -ms-flex-negative: 0;\r\n flex-shrink: 0;\r\n }\r\n\r\n .modal-dialog-scrollable .modal-body {\r\n overflow-y: auto;\r\n }\r\n\r\n .modal-dialog-centered {\r\n display: -ms-flexbox;\r\n display: flex;\r\n -ms-flex-align: center;\r\n align-items: center;\r\n min-height: calc(100% - 1rem);\r\n }\r\n\r\n .modal-dialog-centered::before {\r\n display: block;\r\n height: calc(100vh - 1rem);\r\n height: -webkit-min-content;\r\n height: -moz-min-content;\r\n height: min-content;\r\n content: \"\";\r\n }\r\n\r\n .modal-dialog-centered.modal-dialog-scrollable {\r\n -ms-flex-direction: column;\r\n flex-direction: column;\r\n -ms-flex-pack: center;\r\n justify-content: center;\r\n height: 100%;\r\n }\r\n\r\n .modal-dialog-centered.modal-dialog-scrollable .modal-content {\r\n max-height: none;\r\n }\r\n\r\n .modal-dialog-centered.modal-dialog-scrollable::before {\r\n content: none;\r\n }\r\n\r\n .modal-content {\r\n position: absolute;\r\n display: -ms-flexbox;\r\n display: flex;\r\n -ms-flex-direction: column;\r\n flex-direction: column;\r\n width: 100%;\r\n pointer-events: auto;\r\n background-color: #fff;\r\n background-clip: padding-box;\r\n border: 1px solid rgba(0, 0, 0, 0.2);\r\n border-radius: 0.3rem;\r\n outline: 0;\r\n height: 100%;\r\n }\r\n\r\n .modal-backdrop {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n z-index: 1040;\r\n width: 100vw;\r\n height: 100vh;\r\n background-color: #000;\r\n }\r\n\r\n .fade.show {\r\n opacity: 1 !important;\r\n }\r\n\r\n .modal-backdrop.fade {\r\n opacity: 0;\r\n }\r\n\r\n .modal-backdrop.show {\r\n opacity: 0.5;\r\n }\r\n\r\n .modal-header {\r\n display: -ms-flexbox;\r\n display: flex;\r\n -ms-flex-align: start;\r\n align-items: flex-start;\r\n -ms-flex-pack: justify;\r\n justify-content: space-between;\r\n padding: 1rem 1rem;\r\n border-bottom: 1px solid #dee2e6;\r\n border-top-left-radius: calc(0.3rem - 1px);\r\n border-top-right-radius: calc(0.3rem - 1px);\r\n }\r\n\r\n .modal-header .close {\r\n padding: 1rem 1rem;\r\n margin: -1rem -1rem -1rem auto;\r\n }\r\n\r\n .modal-title {\r\n margin-bottom: 0;\r\n line-height: 1.5;\r\n }\r\n\r\n .modal-body {\r\n position: relative;\r\n -ms-flex: 1 1 auto;\r\n flex: 1 1 auto;\r\n padding: 1rem;\r\n overflow-y: auto;\r\n }\r\n\r\n .modal-footer {\r\n display: -ms-flexbox;\r\n display: flex;\r\n -ms-flex-wrap: wrap;\r\n flex-wrap: wrap;\r\n -ms-flex-align: center;\r\n align-items: center;\r\n -ms-flex-pack: end;\r\n justify-content: flex-end;\r\n padding: 0.75rem;\r\n border-top: 1px solid #dee2e6;\r\n border-bottom-right-radius: calc(0.3rem - 1px);\r\n border-bottom-left-radius: calc(0.3rem - 1px);\r\n }\r\n\r\n .modal-footer>* {\r\n margin: 0.25rem;\r\n }\r\n\r\n .modal-scrollbar-measure {\r\n position: absolute;\r\n top: -9999px;\r\n width: 50px;\r\n height: 50px;\r\n overflow: scroll;\r\n }\r\n\r\n @media (min-width: 576px) {\r\n .modal-dialog {\r\n max-width: 500px;\r\n margin: 1.75rem auto;\r\n }\r\n\r\n .modal-dialog-scrollable {\r\n max-height: calc(100% - 3.5rem);\r\n }\r\n\r\n .modal-dialog-scrollable .modal-content {\r\n max-height: calc(100vh - 3.5rem);\r\n }\r\n\r\n .modal-dialog-centered {\r\n min-height: calc(100% - 3.5rem);\r\n }\r\n\r\n .modal-dialog-centered::before {\r\n height: calc(100vh - 3.5rem);\r\n height: -webkit-min-content;\r\n height: -moz-min-content;\r\n height: min-content;\r\n }\r\n\r\n .modal-sm {\r\n max-width: 300px;\r\n }\r\n }\r\n\r\n @media (min-width: 992px) {\r\n\r\n .modal-lg,\r\n .modal-xl {\r\n max-width: 80%;\r\n }\r\n }\r\n\r\n @media (min-width: 1200px) {\r\n .modal-xl {\r\n max-width: 1140px;\r\n }\r\n }\r\n `}\r\n </style>\r\n </>\r\n );\r\n};\r\n\r\nexport default NewsArticleStyleComponent;\r\n","import useDfpSlot from \"../../hooks/useDfpSlot\";\r\n\r\nconst LoadNewsArticlesDetailsAds = () => {\r\n useDfpSlot([{\r\n path: \"/22240682100/ROS_Footer1_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625252827-0\",\r\n },{\r\n path: \"/22240682100/ROS_Footer2_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625323242-0\",\r\n },{\r\n path: \"/22240682100/ROS_Footer3_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625359907-0\",\r\n },{\r\n path: \"/22240682100/ROS_Footer4_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625430383-0\",\r\n },{\r\n path: \"/22240682100/ROS_right_rail1_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625083968-0\",\r\n },{\r\n path: \"/22240682100/ROS_right_rail2_300x250\",\r\n size: [300, 250],\r\n id: \"div-gpt-ad-1628625213078-0\",\r\n },{\r\n path: \"/22240682100/Top_Banner_970x90\",\r\n size: [970, 90],\r\n id: \"div-gpt-ad-1611326459208-0\",\r\n },{\r\n path: \"/22240682100/Top_300x50_mobile\",\r\n size: [300, 50],\r\n id: \"div-gpt-ad-1611693088874-0\",\r\n },{\r\n path: \"/22240682100/Content_Banner_1_970x90\",\r\n size: [970, 90],\r\n id: \"div-gpt-ad-1649701637206-0\",\r\n },{\r\n path: \"/22240682100/Content_Banner_1_300x50_Mobile\",\r\n size: [300, 50],\r\n id: \"div-gpt-ad-1649701809430-0\",\r\n },{\r\n path: \"/22240682100/Content_Banner_2_970x90\",\r\n size: [970, 90],\r\n id: \"div-gpt-ad-1649701921828-0\",\r\n },{\r\n path: \"/22240682100/Content_Banner_2_300x50_Mobile\",\r\n size: [300, 50],\r\n id: \"div-gpt-ad-1649701861184-0\",\r\n },{\r\n path: \"/22240682100/Content_Banner_3_970x90\",\r\n size: [970, 90],\r\n id: \"div-gpt-ad-1649702008484-0\",\r\n },{\r\n path: \"/22240682100/Content_Banner_3_300x50_Mobile\",\r\n size: [300, 50],\r\n id: \"div-gpt-ad-1649702035816-0\",\r\n }]);\r\n\r\n return(<></>)\r\n}\r\n\r\nexport default LoadNewsArticlesDetailsAds;","import { useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { RootState } from \"../../../../redux/store\";\r\nimport { Helmet } from \"react-helmet-async\";\r\nimport pdfImages from \"../../../../assets/images/pdf-file-icon.png\";\r\nimport { useEffect, useMemo, useState } from \"react\";\r\nimport LoadNewsArticlesDetailsAds from \"../../../../components/advertisement/load-news-articles-details-ads\";\r\nimport { ArticleDetailsDetails } from \"../../../../models/article-detaisls-model\";\r\nimport LoadingComp from \"../../../../components/re-usable/loading/loading\";\r\nimport { renderToStaticMarkup } from \"react-dom/server\"\r\nimport { useGTMDispatch } from '@elgorditosalsero/react-gtm-hook'\r\nimport { useDynamicScripts } from \"../../../../hooks/useDynamicScript\";\r\n\r\nconst NewsArticleComponent = () => {\r\n const [isContentLoaded, setIsContentLoaded] = useState(false);\r\n const [isAdPlacementCalled, setIsAdPlacementCalled] = useState(false);\r\n\r\n const { ArticleDetailsData } = useSelector((state: RootState) => state.ArticleDetails);\r\n const tags = ArticleDetailsData[0]?.articleItems[0]?.documentTags && ArticleDetailsData[0]?.articleItems[0]?.documentTags.split(\",\");\r\n\r\n const [articleDetails, setArticleDetails] = useState<ArticleDetailsDetails | null>(ArticleDetailsData[0]?.articleItems[0] || null);\r\n const [articleDetailsString, setArticleDetailsString] = useState(\"\");\r\n const [scriptHtmlString, setScriptHtmlString] = useState(\"\");\r\n\r\n const sendDataToGTM = useGTMDispatch();\r\n\r\n useEffect(() => {\r\n if (ArticleDetailsData[0]?.articleItems[0] && !isContentLoaded) {\r\n const htmlString = renderToStaticMarkup(<ArticleComponent {...ArticleDetailsData[0]?.articleItems[0]} />)\r\n let timeout = 1000;\r\n\r\n let article = \"\";\r\n article = placead(\"#adcontentbannersdiv .adunitcontent1\", Math.max(2400, Math.floor(htmlString.length / 3)), htmlString) || htmlString;\r\n article = placead(\"#adcontentbannersdiv .adunitcontent2\", 400 + Math.floor(article.length * (2 / 3)), article) || article;\r\n\r\n setArticleDetails(ArticleDetailsData[0]?.articleItems[0]);\r\n setArticleDetailsString(article);\r\n\r\n setIsContentLoaded(true);\r\n setTimeout(() => {\r\n setIsAdPlacementCalled(true);\r\n }, timeout);\r\n\r\n setTimeout(() => {\r\n const script = document.createElement('script');\r\n script.setAttribute('async', '');\r\n script.setAttribute('class', 'instagram-embed-scripts');\r\n script.src = '//www.instagram.com/embed.js';\r\n script.onload = () => {\r\n window.instgrm.Embeds.process();\r\n }\r\n $(\"#article\").append(script);\r\n }, timeout + 1000)\r\n\r\n } else if (ArticleDetailsData[0]?.articleItems[0] === undefined) {\r\n setArticleDetails(null);\r\n }\r\n }, [ArticleDetailsData, isContentLoaded]);\r\n\r\n useEffect(() => {\r\n const category = ArticleDetailsData[0]?.articleItems[0]?.articleCategory?.split(\", \")[0]?.trim();\r\n console.log('category: ' + category);\r\n\r\n const addCategoryToArticlePage = () => sendDataToGTM({\r\n event: 'article_page',\r\n value: { 'article_category': category },\r\n });\r\n addCategoryToArticlePage();\r\n }, [ArticleDetailsData, sendDataToGTM]);\r\n\r\n const cachedNewsArticleAds = useMemo(() => <LoadNewsArticlesDetailsAds />, []);\r\n\r\n useEffect(() => {\r\n if (ArticleDetailsData[0]) {\r\n if (ArticleDetailsData[0].articleItems[0]?.javaScriptField) {\r\n setScriptHtmlString(ArticleDetailsData[0].articleItems[0].javaScriptField);\r\n }\r\n }\r\n }, [ArticleDetailsData]);\r\n\r\n useDynamicScripts({ htmlScriptString: scriptHtmlString });\r\n\r\n if (articleDetails === null) return <LoadingComp />\r\n\r\n return (\r\n <>\r\n <Helmet>\r\n <title>{articleDetails.menuItemName}</title>\r\n <meta name=\"twitter:card\" content=\"summary_large_image\" />\r\n <meta name=\"twitter:site\" content=\"RAPSorg\" />\r\n <meta name=\"twitter:title\" content={articleDetails.articleName} />\r\n <meta property=\"og:url\" content={window.location.href} />\r\n <meta property=\"og:title\" content={articleDetails.articleName} />\r\n <meta property=\"og:description\" content={articleDetails.articleTeaserText} />\r\n <meta name=\"description\" content={articleDetails.articleTeaserText} />\r\n {articleDetails.articleImage && (\r\n <>\r\n <meta property=\"og:image\" content={articleDetails.articleImage} />\r\n <meta name=\"twitter:image\" content={articleDetails.articleImage} />\r\n </>\r\n )}\r\n {(!articleDetails.articleImage && articleDetails.articleTeaserImage) && (\r\n <>\r\n <meta property=\"og:image\" content={articleDetails.articleTeaserImage} />\r\n <meta name=\"twitter:image\" content={articleDetails.articleTeaserImage} />\r\n </>\r\n )}\r\n </Helmet>\r\n {isAdPlacementCalled && cachedNewsArticleAds}\r\n\r\n <div className=\"article\" id=\"article\" dangerouslySetInnerHTML={{ __html: articleDetailsString }}></div>\r\n {tags && (\r\n <div className=\"TagCloud\">\r\n <p>\r\n Tags:{\" \"}\r\n {tags?.map((item, index, { length }) => {\r\n return (\r\n <Link key={index} to={`/news-and-articles/news-articles?DocumentTags=${item.trim()}`}>\r\n {`${item} ${index + 1 === length ? \"\" : \", \"}`}\r\n </Link>\r\n );\r\n })}{\" \"}\r\n </p>\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nexport default NewsArticleComponent;\r\n\r\nconst ArticleComponent = (articleDetails: ArticleDetailsDetails) => {\r\n return (\r\n <>\r\n <div className=\"article\" id=\"article\">\r\n <h1 className=\"black\" style={{ marginTop: \"0px\" }} itemProp=\"headline\">\r\n {articleDetails.articleName}\r\n </h1>\r\n {((articleDetails.category !== null || articleDetails.category !== \"\") && articleDetails.category.toString().includes(\"394\")) || articleDetails.category.toString().includes(\"402\") ? (\r\n <>\r\n <p className=\"small\" style={{ marginTop: \"15px\" }}>\r\n {articleDetails.author.trim() !== \"\" && <span className=\"authors\" dangerouslySetInnerHTML={{ __html: articleDetails.author }}></span>}\r\n </p>\r\n <p className=\"small\" style={{ display: \"inline-flex\" }}>\r\n <span className=\"d-flex\" dangerouslySetInnerHTML={{ __html: articleDetails.badgeUrl }}></span> | {articleDetails.articleReleaseDate}\r\n | \r\n <a href=\"#citation\" style={{ fontSize: \"medium\" }}>\r\n Citation\r\n </a>\r\n {articleDetails.pdfLocation !== \"\" && (\r\n <>\r\n | \r\n <a href={articleDetails.pdfLocation} target=\"_blank\" rel=\"noreferrer\">\r\n <img style={{ width: \"15px\" }} alt=\"PDF Link\" src={pdfImages} /> PDF\r\n </a>\r\n </>\r\n )}\r\n </p>\r\n </>\r\n ) : (\r\n <p className=\"small\" style={{ marginTop: \"15px\", display: \"flex\" }}>\r\n <span className=\"d-flex\" dangerouslySetInnerHTML={{ __html: articleDetails.badgeUrl }}></span> | {articleDetails.articleReleaseDate}\r\n {articleDetails.author.trim() !== \"\" && (\r\n <>\r\n | <span className=\"authors\" dangerouslySetInnerHTML={{ __html: articleDetails.author }}></span>\r\n </>\r\n )}\r\n </p>\r\n )}\r\n <div className=\"right-content\">\r\n <div className=\"articleteaser text-right\">{articleDetails.articleTeaserImage && <img itemProp=\"image\" alt={articleDetails.articleName} src={articleDetails.articleTeaserImage} />}</div>\r\n <p className=\"small newscaption\">{articleDetails.articleImageCaption}</p>\r\n </div>\r\n <div className=\"content\" dangerouslySetInnerHTML={{ __html: articleDetails.articleText }}></div>\r\n <p> </p>© {new Date().getFullYear()} Regulatory Affairs Professionals Society.\r\n <hr />\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nconst placead = (adunit: string, start: number, article: string) => {\r\n\r\n let articleElement = $(`<div>${article}</div>`);\r\n let content = $(articleElement).html();\r\n\r\n if (content.length > start + 400) {\r\n let mid = start + content.substring(start, content.length).indexOf(\"\\n\") + 1;\r\n\r\n let mid2 = start + content.substring(start, content.length).indexOf(\"</p>\") + 4;\r\n\r\n mid = Math.min(mid, mid2);\r\n\r\n if (window.location.href.toString().includes('rf-quarterly-december-2022-artificial-intelligence') && adunit.includes('1')) {\r\n mid = 1200 + content.substring(start, content.length).indexOf(\"</p>\") + 4;\r\n }\r\n\r\n if (articleElement.find(\".instagram-media\").length > 0 && (adunit.includes('1') || adunit.includes('2'))) return;\r\n\r\n if (adunit.includes('2') && mid < 4700) {\r\n let offset = 101;\r\n mid = content.length - offset + content.substring(content.length - offset, content.length).indexOf(\"</div>\") + 6;\r\n }\r\n\r\n articleElement.html(\r\n content.substring(0, mid) +\r\n $(adunit).prop('outerHTML') +\r\n content.substring(mid));\r\n\r\n setTimeout(() => {\r\n adunit = adunit.replace('#adcontentbannersdiv ', '')\r\n\r\n // send ad to end of list\r\n /*if ($(adunit).parent('li').length > 0) {\r\n $(adunit).parent('li').parent().after($(adunit));\r\n }\r\n else if ($(adunit).prev('li').length > 0) {\r\n $(adunit).parent().after($(adunit));\r\n }*/\r\n\r\n // move ad after a link\r\n if ($(adunit).parent('a').length > 0) {\r\n $(adunit).parent('a').after($(adunit));\r\n }\r\n\r\n // move ad after figure text\r\n /*if (((articleElement.find('.category-text').text() === 'Feature Articles') || (articleElement.find('.category-text').text() === 'RF Quarterly')) && (articleElement.find(adunit).prevUntil('.figure img', 'br').length < 5 || $(adunit).prev('.figure img').length > 0)) {\r\n let next = $(adunit).next();\r\n for (let i = 0; i < (5 - $(adunit).prevUntil('img', 'br').length); i++)\r\n next = next.next();\r\n next.after($(adunit));\r\n }*/\r\n }, 1500);\r\n }\r\n\r\n return articleElement.html();\r\n}","import { ReactNode, useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation, useNavigate } from \"react-router-dom\";\r\nimport LoadingComp from \"../../../../components/re-usable/loading/loading\";\r\nimport useAuth from \"../../../../hooks/useAuth\";\r\nimport TwoColumnLayOut from \"../../../../layouts/two-columns/two-column-layout\";\r\nimport { ArticleDetailsDetails } from \"../../../../models/article-detaisls-model\";\r\nimport { retrieveNewsArticlesRightSideTaxonomy } from \"../../../../redux/slice/right-side/new-articles-right-side-taxonomy-slice\";\r\nimport { retrieveNewsArticlesRightSideBooks } from \"../../../../redux/slice/right-side/news-articles-right-side-books-slice\";\r\nimport { retrieveNewsArticlesRightSideLearning } from \"../../../../redux/slice/right-side/news-articles-right-side-learning-slice\";\r\nimport { cleanNewsArticlesRightSideNews, retrieveNewsArticlesRightSideNews } from \"../../../../redux/slice/right-side/news-articles-right-side-news-slice\";\r\nimport { retrieveNewsArticlesRightSideRelatedEvents } from \"../../../../redux/slice/right-side/news-articles-right-side-related-events-slice\";\r\nimport { RootState, useAppDispatch } from \"../../../../redux/store\";\r\n\r\nconst NewsArticlesLayoutComponent = (props: { children: ReactNode }) => {\r\n const location = useLocation();\r\n const pathName = location.pathname;\r\n const user = useAuth().getUser();\r\n const navigate = useNavigate();\r\n const dispatch = useAppDispatch();\r\n\r\n const { rightSideFeaturedBooksData, Loading: booksLoading } = useSelector((state: RootState) => state.NewsArticlesRightSideBooks);\r\n const { rightSideFeaturedLearningData, Loading: learningLoading } = useSelector((state: RootState) => state.NewsArticlesRightSideLearning);\r\n const { rightSideTrendingNewsData, Loading: newsLoading } = useSelector((state: RootState) => state.NewsArticlesRightSideNews);\r\n const { rightSidePopularEventsData, Loading: eventsLoading } = useSelector((state: RootState) => state.NewsArticlesRightSideRelatedEvents);\r\n const { data, loading: taxonomyLoading } = useSelector((state: RootState) => state.NewsArticlesRightSideTaxonomy);\r\n\r\n const { ArticleDetailsData } = useSelector((state: RootState) => state.ArticleDetails);\r\n\r\n const [articleDetails, setArticleDetails] = useState<ArticleDetailsDetails | null>(ArticleDetailsData[0]?.articleItems[0] || null);\r\n\r\n useEffect(() => {\r\n if (location.pathname.toLowerCase() !== window.location.pathname.toLowerCase()) {\r\n setArticleDetails(null);\r\n }\r\n }, [location]);\r\n\r\n useEffect(() => {\r\n setArticleDetails(ArticleDetailsData[0]?.articleItems[0]);\r\n }, [ArticleDetailsData]);\r\n\r\n useEffect(() => {\r\n if (pathName) {\r\n if (!booksLoading) dispatch(retrieveNewsArticlesRightSideBooks(pathName));\r\n if (!taxonomyLoading) dispatch(retrieveNewsArticlesRightSideTaxonomy(pathName));\r\n if (!learningLoading) dispatch(retrieveNewsArticlesRightSideLearning(pathName));\r\n if (!newsLoading) dispatch(retrieveNewsArticlesRightSideNews(pathName));\r\n if (!eventsLoading) dispatch(retrieveNewsArticlesRightSideRelatedEvents(pathName));\r\n }\r\n\r\n return () => {\r\n dispatch(cleanNewsArticlesRightSideNews());\r\n }\r\n }, [dispatch, pathName]);\r\n\r\n let detailPageNewsTrail = {\r\n trendingNewsData: rightSideTrendingNewsData,\r\n popularEventsData: rightSidePopularEventsData,\r\n featuredLearningData: rightSideFeaturedLearningData,\r\n featuredBooksData: rightSideFeaturedBooksData,\r\n };\r\n\r\n // Need to change condition to make it follow the React way\r\n const [scriptHasRan, setScriptHasRan] = useState(false);\r\n\r\n useEffect(() => {\r\n if (articleDetails !== undefined && articleDetails !== null && !scriptHasRan && window.runGlobalScripts) {\r\n setScriptHasRan(true);\r\n window.runGlobalScripts();\r\n }\r\n }, [articleDetails])\r\n\r\n if (ArticleDetailsData[0]?.statusCode === 401 && (user === null || user === undefined)) {\r\n navigate(`/login?returnurl=${pathName.replace(/\\//g, \"%2F\")}`, { state: { from: pathName } });\r\n\r\n return <LoadingComp />;\r\n }\r\n\r\n if (ArticleDetailsData[0]?.statusCode === 403) {\r\n navigate(`/prohibited?returnurl=${pathName.replace(/\\//g, \"%2F\")}`, { state: { from: pathName } });\r\n\r\n return <LoadingComp />;\r\n }\r\n\r\n if (articleDetails === undefined || articleDetails === null) return <LoadingComp />;\r\n\r\n return (\r\n <>\r\n <TwoColumnLayOut\r\n breadcrumbPath={pathName}\r\n isBreadcrumbpath={false}\r\n detailPageTaxonomy={data}\r\n detailPageNewsTrail={detailPageNewsTrail}\r\n showAds={true}\r\n showAdsOutside={true}\r\n isSubscribeButton={true}\r\n siteTop={\r\n <div style={{ textAlign: \"center\" }}>\r\n <NewsArticlesTopBannerAds />\r\n </div>\r\n }\r\n newsArticleDetailAds={<NewsArticleContentBanners />}\r\n customUseDfpSlot={<></>}\r\n isDetails={true}\r\n addSchema={true} \r\n schemaOptions={{ itemType: \"https://schema.org/Article\" }}\r\n >\r\n {props.children}\r\n </TwoColumnLayOut>\r\n <div dangerouslySetInnerHTML={{ __html: FigureModal }}></div>\r\n </>\r\n );\r\n};\r\n\r\nexport default NewsArticlesLayoutComponent;\r\n\r\nconst NewsArticlesTopBannerAds = () => {\r\n return (\r\n <>\r\n <div className=\"text-center top-banner\" id=\"topbanner\">\r\n <div className=\"CMSBanner Banner topbanner gadsbanner\" id=\"div-gpt-ad-1611326459208-0\" style={{ width: \"970px\", height: \"90px\", display: \"none\", margin: \"0 auto\" }}></div>\r\n <div className=\"CMSBanner Banner topmobile gadsbanner\" id=\"div-gpt-ad-1611693088874-0\" style={{ width: \"300px\", height: \"50px\", display: \"none\", margin: \"0 auto\" }}></div>\r\n </div>\r\n\r\n <style type=\"text/css\">{`\r\n @media only screen and (max-width: 1260px) {\r\n .topmobile, .contentmobile {\r\n display: block;\r\n }\r\n .topbanner, .contentbanner {\r\n display: none;\r\n }\r\n }\r\n @media only screen and (min-width: 1260px) {\r\n .topmobile, .contentmobile {\r\n display: none;\r\n }\r\n .topbanner, .contentbanner {\r\n display: block;\r\n }\r\n }\r\n #topbanner { display: block !important; }\r\n `}</style>\r\n </>\r\n );\r\n};\r\n\r\nconst NewsArticleContentBanners = () => {\r\n return (\r\n <div id=\"adcontentbannersdiv\">\r\n <div className=\"adunitcontent1 mt-4 mb-2\">\r\n <NewsArticleContentBannerAds1 />\r\n </div>\r\n <div className=\"adunitcontent2 mt-4 mb-2\">\r\n <NewsArticleContentBannerAds2 />\r\n </div>\r\n <div className=\"adunitcontent3 mt-4 mb-2\">\r\n <NewsArticleContentBannerAds3 />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nconst NewsArticleContentBannerAds1 = () => {\r\n return (\r\n <>\r\n <div className=\"text-center CMSBanner Banner contentbanner gadsbanner\" id=\"div-gpt-ad-1649701637206-0\" style={{ minWidth: \"970px\", minHeight: \"90px\", display: \"none\" }}></div>\r\n <div className=\"text-center CMSBanner Banner contentmobile gadsbanner\" id=\"div-gpt-ad-1649701809430-0\" style={{ minWidth: \"300px\", minHeight: \"50px\", display: \"none\" }}></div>\r\n </>\r\n );\r\n};\r\n\r\nconst NewsArticleContentBannerAds2 = () => {\r\n return (\r\n <>\r\n <div className=\"text-center CMSBanner Banner contentbanner gadsbanner\" id=\"div-gpt-ad-1649701921828-0\" style={{ minWidth: \"970px\", minHeight: \"90px\", display: \"none\" }}></div>\r\n <div className=\"text-center CMSBanner Banner contentmobile gadsbanner\" id=\"div-gpt-ad-1649701861184-0\" style={{ minWidth: \"300px\", minHeight: \"50px\", display: \"none\" }}></div>\r\n </>\r\n );\r\n};\r\n\r\nconst NewsArticleContentBannerAds3 = () => {\r\n return (\r\n <>\r\n <div className=\"text-center CMSBanner Banner contentbanner gadsbanner\" id=\"div-gpt-ad-1649702008484-0\" style={{ minWidth: \"970px\", minHeight: \"90px\", display: \"none\" }}></div>\r\n <div className=\"text-center CMSBanner Banner contentmobile gadsbanner\" id=\"div-gpt-ad-1649702035816-0\" style={{ minWidth: \"300px\", minHeight: \"50px\", display: \"none\" }}></div>\r\n </>\r\n );\r\n};\r\n\r\nconst FigureModal = `\r\n<div aria-hidden=\"true\" aria-labelledby=\"exampleModalLabel\" class=\"modal fade\" id=\"figureModal\" tabindex=\"-1\">\r\n <div class=\"modal-dialog modal-dialog-centered modal-lg\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">View Figure <span> </span>\r\n </h5>\r\n <div align=\"center\" class=\"navigation\">\r\n <span class=\"arrow left\">←</span> <span class=\"arrow right\">→</span>\r\n </div>\r\n <button aria-label=\"Close\" class=\"close\" data-dismiss=\"modal\" type=\"button\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <img id=\"imgFigure\" style=\"display: block; margin: auto; width: 100%; height: auto;\" />\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button class=\"btn btn-secondary\" data-dismiss=\"modal\" type=\"button\">Close</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n`;","import NewsArticleStyleComponent from \"./components/news-articles-style.component\";\r\nimport NewsArticleComponent from \"./components/news-articles.component\";\r\nimport NewsArticlesLayoutComponent from \"./components/news-articles-layout.component\";\r\nimport { useEffect, useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { retrieveArticleDetails, cleanArticleDetails } from \"../../../redux/slice/article-details-slice\";\r\nimport { RootState, useAppDispatch } from \"../../../redux/store\";\r\nimport ErrorBoundary from \"../../errors/page-not-found\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nconst NewsAndArticleDetails = () => {\r\n const location = useLocation();\r\n const pathName = location.pathname;\r\n const dispatch = useAppDispatch();\r\n const cachedNewsArticleComponent = useMemo(() => <NewsArticleComponent />, []);\r\n const { ArticleDetailsData: data, ArticleDetaislLoading: loading } = useSelector((state: RootState) => state.ArticleDetails);\r\n\r\n useEffect(() => {\r\n window.scrollTo({ top: 0 });\r\n if (!loading) dispatch(retrieveArticleDetails(pathName));\r\n\r\n return () => {\r\n if (location.pathname.toLowerCase() !== window.location.pathname.toLowerCase()) {\r\n dispatch(cleanArticleDetails());\r\n }\r\n }\r\n }, [dispatch, location]);\r\n\r\n if (!loading && data[0]?.statusCode === 404) {\r\n return <ErrorBoundary />\r\n }\r\n\r\n return (\r\n <>\r\n <style>\r\n {`\r\n @media(max-width: 767px){\r\n .subscribe-btn {\r\n margin-top: 25px;\r\n }\r\n }\r\n `}\r\n </style>\r\n <NewsArticleStyleComponent />\r\n <NewsArticlesLayoutComponent>\r\n {cachedNewsArticleComponent}\r\n </NewsArticlesLayoutComponent>\r\n </>\r\n );\r\n};\r\n\r\nexport default NewsAndArticleDetails;\r\n"],"names":["useDfpSlot","path","size","id","props","isProhibited","RapsEuropeData","useSelector","state","rapsEurope","description","setDescription","useState","dispatch","useAppDispatch","useEffect","retrievePageMenu","rapsResult","result","className","dangerouslySetInnerHTML","__html","setShowModal","role","tabIndex","onClick","e","stopPropagation","style","padding","background","maxHeight","type","isLoginPage","loginUser","useAuth","username","setUsername","password","setPassword","attemptedLoggedIn","setAttemptedLoggedIn","showErrorMessage","setShowErrorMessage","showModal","checkLogin","loggedIn","loginData","login","data","userInfo","location","useLocation","navigate","useNavigate","from","pathname","search","query","React","URLSearchParams","toLowerCase","isLoggedIn","request","staySignedIn","length","window","runGlobalScripts","loading","undefined","retrieveUserInfo","returnUrl","get","replace","href","event","preventDefault","onSubmit","currentTarget","elements","txtText","value","txtPassword","htmlFor","maxLength","name","placeholder","clear","calloutsData","callouts","calloutItems","setCalloutItems","width","setWidth","innerWidth","xlarge","large","medium","settings","dots","infinite","speed","arrows","slidesToShow","slidesToScroll","autoplay","autoplaySpeed","centerMode","initialSlide","retrieveCallouts","callOutItems","handleResize","addEventListener","removeEventListener","map","item","index","SimpleCallout","textAlign","marginTop","to","fontWeight","fontSize","height","calloutLink","alt","calloutTitle","src","calloutImage","calloutText","calloutButtonText","headerSearch","useRef","display","ref","onKeyDown","key","current","cachedGoogleAds","useMemo","cachedUseDfpSlot","menuItemName","isContentLoaded","setIsContentLoaded","isAdPlacementCalled","setIsAdPlacementCalled","ArticleDetailsData","ArticleDetails","tags","articleItems","documentTags","split","articleDetails","setArticleDetails","articleDetailsString","setArticleDetailsString","scriptHtmlString","setScriptHtmlString","sendDataToGTM","useGTMDispatch","htmlString","renderToStaticMarkup","ArticleComponent","timeout","article","placead","Math","max","floor","setTimeout","script","document","createElement","setAttribute","onload","instgrm","Embeds","process","$","append","category","articleCategory","trim","console","log","cachedNewsArticleAds","javaScriptField","useDynamicScripts","htmlScriptString","content","articleName","property","articleTeaserText","articleImage","articleTeaserImage","itemProp","toString","includes","author","badgeUrl","articleReleaseDate","pdfLocation","target","rel","pdfImages","articleImageCaption","articleText","Date","getFullYear","adunit","start","articleElement","html","mid","substring","indexOf","mid2","min","find","offset","prop","parent","after","pathName","user","getUser","rightSideFeaturedBooksData","Loading","booksLoading","NewsArticlesRightSideBooks","rightSideFeaturedLearningData","learningLoading","NewsArticlesRightSideLearning","rightSideTrendingNewsData","newsLoading","NewsArticlesRightSideNews","rightSidePopularEventsData","eventsLoading","NewsArticlesRightSideRelatedEvents","taxonomyLoading","NewsArticlesRightSideTaxonomy","retrieveNewsArticlesRightSideBooks","retrieveNewsArticlesRightSideTaxonomy","retrieveNewsArticlesRightSideLearning","retrieveNewsArticlesRightSideNews","retrieveNewsArticlesRightSideRelatedEvents","cleanNewsArticlesRightSideNews","detailPageNewsTrail","trendingNewsData","popularEventsData","featuredLearningData","featuredBooksData","scriptHasRan","setScriptHasRan","statusCode","breadcrumbPath","isBreadcrumbpath","detailPageTaxonomy","showAds","showAdsOutside","isSubscribeButton","siteTop","NewsArticlesTopBannerAds","newsArticleDetailAds","NewsArticleContentBanners","customUseDfpSlot","isDetails","addSchema","schemaOptions","itemType","children","FigureModal","margin","NewsArticleContentBannerAds1","NewsArticleContentBannerAds2","NewsArticleContentBannerAds3","minWidth","minHeight","cachedNewsArticleComponent","ArticleDetaislLoading","scrollTo","top","retrieveArticleDetails","cleanArticleDetails"],"sourceRoot":""}