{"version":3,"file":"static/chunks/8947-17925a955b7f0c9b.js","mappings":"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","sources":["webpack://_N_E/./src/compliance/components/ComplianceSearch/index.js","webpack://_N_E/./src/compliance/components/SavedCompliance/ComplianceChart.js","webpack://_N_E/./src/compliance/components/SavedCompliance/index.js","webpack://_N_E/./pages/compliance/index.js","webpack://_N_E/./src/compliance/components/CompliAssist/CompliAssistDisclaimer.js","webpack://_N_E/./src/compliance/redux/selectors/index.js","webpack://_N_E/./src/shared/components/AdminLink.js","webpack://_N_E/./src/shared/components/WithAuthentication/index.js"],"sourcesContent":["import { css } from '@emotion/core';\nimport { Col, Icon, Input, Row, Select } from 'antd';\nimport Router from 'next/router';\nimport React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { updateSearchFilters } from '@/src/compliance/redux/complianceReducer';\nimport Button from '@/src/shared/components/Button';\nimport Card from '@/src/shared/components/Card';\nimport Container from '@/src/shared/components/Container';\nimport Form from '@/src/shared/components/Form';\nimport Heading from '@/src/shared/components/Heading';\nimport { bp, colors, form as formStyle } from '@/styles';\nimport formatURL from '@/utils/formatURL';\nimport { escapeGTMParam, trackGTMEvent } from '@/utils/utils';\n\nconst { Option } = Select;\n\nconst styles = {\n searchContainer: css`\n padding-left: 0;\n padding-right: 0;\n @media ${bp.sm} {\n padding-left: 16px;\n padding-right: 16px;\n }\n @media print {\n display: none;\n }\n `,\n cardStyle: css`\n padding: 20px 16px;\n @media ${bp.lg} {\n padding: 24px 32px;\n }\n `,\n buttonContainer: css`\n display: flex;\n justify-content: flex-start;\n @media ${bp.md} {\n justify-content: flex-end;\n }\n `,\n headingSpacer: css`\n margin-bottom: 16px;\n `,\n toolTip: css`\n margin-left: 8px;\n font-size: 1.6rem;\n color: ${colors.secondaryBlue};\n `,\n titleContainer: css`\n display: flex;\n margin-bottom: 12px;\n align-items: center;\n h4 {\n margin-bottom: 0;\n }\n `,\n};\n\nconst ComplianceSearch = props => {\n const { form, options } = props;\n const dispatch = useDispatch();\n\n const search = async e => {\n e.preventDefault();\n await form.validateFieldsAndScroll(async (err, values) => {\n if (err) return;\n const { SearchText, States, Categories, Charts } = values;\n\n const selectedCategories = options.Categories.filter(c =>\n (Categories || []).includes(c.CategoryId)\n ).map(c => escapeGTMParam(c.CategoryDescription));\n const selectedCharts = options.Charts.filter(c => (Charts || []).includes(c.ChartId)).map(c =>\n escapeGTMParam(c.ChartTitle)\n );\n\n trackGTMEvent({\n event: 'complianceSearch',\n text: escapeGTMParam(SearchText || ''),\n state: States ? States.join(', ') : 'All',\n category: selectedCategories?.length > 0 ? selectedCategories.join(', ') : 'All',\n chart: selectedCharts?.length > 0 ? selectedCharts.join(', ') : 'All',\n });\n\n const queryObj = {\n searchtext: SearchText || '',\n states: States ? States.join() : '',\n categories: Categories ? Categories.join() : '',\n charts: Charts ? Charts.join() : '',\n };\n const formattedURL = formatURL('/compliance/compliassist', queryObj);\n\n Router.push(formattedURL, formattedURL);\n });\n };\n\n const updateSearch = (field, value) => {\n dispatch(updateSearchFilters(field, value));\n };\n\n const renderInputField = fieldProps => {\n const { type, optionId, optionDescription } = fieldProps;\n if (type === 'select') {\n const { name } = fieldProps;\n return (\n }\n showArrow\n css={formStyle.inputGray}\n mode=\"multiple\"\n onChange={v => {\n updateSearch(name, v);\n }}\n >\n {fieldProps.options.map(option => (\n \n ))}\n \n );\n }\n return } />;\n };\n\n const renderLabel = label => {\n return (\n
\n \n {label}\n \n
\n );\n };\n\n return (\n \n \n
\n \n \n \n Search Compliance Charts\n \n \n \n \n \n \n {form.getFieldDecorator('SearchText')(renderInputField({ type: 'input' }))}\n \n \n \n \n \n \n {form.getFieldDecorator('States')(\n renderInputField({\n type: 'select',\n name: 'State',\n options: options.States,\n optionId: 'StateCode',\n optionDescription: 'StateDescription',\n })\n )}\n \n \n \n \n {form.getFieldDecorator('Categories')(\n renderInputField({\n type: 'select',\n name: 'Categories',\n options: options.Categories,\n optionId: 'CategoryId',\n optionDescription: 'CategoryDescription',\n })\n )}\n \n \n \n \n {form.getFieldDecorator('Charts')(\n renderInputField({\n type: 'select',\n name: 'Charts',\n options: options.Charts,\n optionId: 'ChartId',\n optionDescription: 'ChartTitle',\n })\n )}\n \n \n \n
\n \n
\n
\n
\n
\n );\n};\n\nexport default Form.create({ name: 'ComplianceSearchForm' })(ComplianceSearch);\n","/* eslint-disable react/no-array-index-key */\nimport { css, jsx } from '@emotion/core';\nimport { Icon } from 'antd';\nimport Router from 'next/router';\nimport React, { useState } from 'react';\n\nimport EditSavedSearch from '@/src/compliance/components/CompliAssist/SavedSearches/SavedSearchRow/EditSavedSearch';\nimport Button from '@/src/shared/components/Button';\nimport Card from '@/src/shared/components/Card';\nimport Heading from '@/src/shared/components/Heading';\nimport CustomIcon from '@/src/shared/components/Icon';\nimport { bp, colors } from '@/styles';\n\nconst styles = {\n actionsRow: css`\n padding-top: 8px;\n margin-top: auto;\n `,\n actionsTitle: css`\n padding-bottom: 4px;\n `,\n cardContainer: css`\n width: 100%;\n margin: 10px;\n display: flex;\n flex-direction: column;\n padding: 34px 16px 28px;\n @media ${bp.lg} {\n margin-bottom: 0px;\n max-width: 368px;\n width: 32%;\n }\n @media ${bp.xl} {\n padding: 28px;\n }\n `,\n icon: css`\n color: ${colors.secondaryBlue};\n height: 56px;\n width: 56px;\n margin-right: 12px;\n `,\n cardTitleContainer: css`\n display: flex;\n margin-bottom: 14px;\n align-items: center;\n `,\n infoSectionContainer: css`\n display: flex;\n flex-direction: column;\n margin-bottom: 12px;\n h5 {\n margin-bottom: 0;\n }\n `,\n infoSectionTags: (keepTagsInRow = false) => css`\n display: flex;\n flex-wrap: wrap;\n flex-direction: ${keepTagsInRow ? 'row' : 'column'};\n `,\n chartButtonContainer: css`\n display: flex;\n `,\n chartButton: css`\n align-items: center;\n display: flex;\n color: ${colors.secondaryBlue};\n padding: 0px 8px !important;\n @media ${bp.xl} {\n padding: 0px 8px !important;\n }\n span {\n margin-left: 2px !important;\n @media ${bp.xl} {\n margin-left: 4px !important;\n }\n }\n `,\n chartIcon: css`\n display: flex !important;\n width: 12px;\n height: 12px;\n svg {\n font-size: 10px !important;\n }\n `,\n};\n\nconst InfoSection = ({ title, options, keepTagsInRow = false, maxOptions = 10, ...props }) => {\n let opts = options;\n let more = 0;\n if (Array.isArray(options) && options.length > maxOptions) {\n more = options.length - maxOptions;\n opts = options.slice(0, maxOptions);\n }\n\n return (\n
\n \n {title}\n \n
\n {Array.isArray(opts) && opts.length > 1 ? (\n opts.map((option, index) => {\n return (\n \n {option}\n {index + 1 < opts.length && }\n \n );\n })\n ) : (\n \n {opts}\n \n )}\n\n {more > 0 ? (\n \n , +{more} more\n \n ) : null}\n
\n
\n );\n};\n\nconst ComplianceChart = ({ data, iconName }) => {\n const [isModalVisible, setModalVisible] = useState(false);\n\n const {\n SearchDescription,\n SearchId,\n FieldOptions: { Categories, Charts, States, SearchText },\n } = data;\n\n const handleSearch = () => {\n Router.push(`/compliance/compliassist?searchId=${SearchId}`);\n };\n return (\n <>\n setModalVisible(false)}\n data={data}\n />\n \n
\n \n \n
\n\n
\n 0 ? Charts.map(c => c.ChartDescription) : 'All Charts'}\n maxOptions={5}\n />\n 0 ? States.map(s => s.StateDescription) : 'All States'}\n maxOptions={5}\n keepTagsInRow\n />\n {Categories.length > 0 && (\n c.CategoryDescription)} />\n )}\n {SearchText && (\n \n )}\n
\n\n
\n \n ACTIONS\n \n
\n \n \n View\n \n {/* */}\n setModalVisible(true)}\n >\n \n Edit\n \n {/* \n */}\n
\n
\n
\n \n );\n};\n\nexport default ComplianceChart;\n","import { css, jsx } from '@emotion/core';\nimport React from 'react';\n\nimport Container from '@/src/shared/components/Container';\nimport Heading from '@/src/shared/components/Heading';\nimport { save } from '@/src/shared/components/SavedSearchModal/utils';\nimport { bp } from '@/styles';\n\nimport ComplianceChart from './ComplianceChart';\n\nconst styles = {\n savedContainer: css`\n padding-left: 0;\n padding-right: 0;\n @media ${bp.sm} {\n padding-left: 16px;\n padding-right: 16px;\n }\n `,\n cardContainer: css`\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n @media ${bp.sm} {\n margin: -10px;\n }\n `,\n header: css`\n font-size: 2.8rem;\n padding-left: 16px;\n margin-bottom: 40px;\n @media ${bp.md} {\n padding-left: 0px;\n font-size: 3.6rem;\n }\n `,\n};\n\nconst SavedCompliance = ({ savedSearches }) => {\n return (\n \n \n Saved Compliance Charts\n \n
\n {savedSearches.map(ss => (\n \n ))}\n
\n
\n );\n};\n\nexport default SavedCompliance;\n","/* eslint-disable no-use-before-define */\nimport Router from 'next/router';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport Error from '@/pages/_error';\nimport Blocks from '@/src/cms/components/CMSPage/CorePage/Blocks';\nimport DesignPage from '@/src/cms/models/DesignPage';\nimport ComplianceSearch from '@/src/compliance/components/ComplianceSearch';\nimport ChartDescriptionsModal from '@/src/compliance/components/CompliAssist/ChartDescriptions/Modal';\nimport CompliAssistDisclaimer from '@/src/compliance/components/CompliAssist/CompliAssistDisclaimer';\nimport SavedSearchesModal from '@/src/compliance/components/CompliAssist/SavedSearches';\nimport SavedCompliance from '@/src/compliance/components/SavedCompliance';\nimport { requestSavedSearches } from '@/src/compliance/redux/complianceReducer';\nimport AdminLink from '@/src/shared/components/AdminLink';\nimport Button from '@/src/shared/components/Button';\nimport Head from '@/src/shared/components/Head';\nimport Hero from '@/src/shared/components/Hero';\nimport Layout from '@/src/shared/components/Layout';\nimport Sanitize from '@/src/shared/components/Sanitize';\nimport Section from '@/src/shared/components/Section';\nimport WebLogImage from '@/src/shared/components/WebLogImage';\nimport withAuthentication from '@/src/shared/components/WithAuthentication';\nimport { checkAccess, COMPLIANCE_ACCESS } from '@/src/shared/constants';\nimport { space } from '@/styles';\nimport request from '@/utils/axios';\n\nconst { m } = space;\n\nfunction getSavedSearchesList(savedSearchesObj) {\n return Object.keys(savedSearchesObj).map(searchKey => savedSearchesObj[searchKey]);\n}\n\nconst Compliance = props => {\n const { messageData = {} } = props;\n\n const dispatch = useDispatch();\n\n const { savedSearches } = useSelector(state => state.compliance.savedSearches);\n const { isLoggedIn, role } = useSelector(state => state.auth);\n const personId = useSelector(state => state.auth.userinfo.PersonID);\n\n const [options, setOptions] = useState({ Categories: [], Charts: [], States: [] });\n const [pagedata, setPageData] = useState({});\n const [loading, setLoading] = useState(true);\n\n const [disclaimerModalVisible, showDisclaimerModal] = useState(false);\n const [isDescriptionsModalVisible, setDescriptionsVisible] = useState(false);\n const [isSavedSearchesModalVisible, setSavedSearchesModalVisible] = useState(false);\n\n async function handleDisclaimerModalClose() {\n showDisclaimerModal(false);\n }\n\n const fetchDesignPage = async () => {\n try {\n const response = await request({\n url: `cms/designpage`,\n params: {\n alias: 'compliance-landing',\n },\n });\n const { data } = response;\n setPageData(data);\n } catch (err) {\n setPageData({});\n } finally {\n setLoading(false);\n }\n };\n\n const fetchOptions = async () => {\n try {\n const response = await request({\n url: 'compliassist/searchoptions',\n });\n if (response.status >= 200) {\n const {\n data: { FieldOptions },\n } = response;\n setOptions({\n Categories: FieldOptions.Categories,\n Charts: FieldOptions.Charts,\n States: FieldOptions.States,\n });\n }\n } catch (err) {\n console.warn(err);\n }\n };\n\n useEffect(() => {\n fetchDesignPage();\n fetchOptions();\n }, []);\n\n useEffect(() => {\n if (personId) {\n dispatch(requestSavedSearches({ personId }));\n }\n }, [personId]);\n\n const hasAccess = checkAccess(COMPLIANCE_ACCESS.COMPLIANCE, role);\n const isAuthorized = personId && Array.isArray(role) && hasAccess;\n const errorCode = isLoggedIn && !hasAccess ? 401.4 : 401;\n\n if (!isLoggedIn || !isAuthorized) return ;\n\n if (loading) {\n return null;\n }\n\n const page = new DesignPage({ ...pagedata, ...messageData });\n\n return (\n \n \n \n \n {page.HeroParagraph}\n \n
\n \n  \n \n  \n \n Router.push(\n '/compliance/compliassist/recent-changes',\n '/compliance/compliassist/recent-changes'\n )\n }\n >\n Recent Changes\n \n  \n \n Router.push(\n '/account/subscription-preferences/',\n '/account/subscription-preferences/#compliassist'\n )\n }\n >\n Subscribe to Changes\n \n
\n \n
\n \n
\n
\n \n
\n {page.Blocks.map(b => (\n \n ))}\n\n \n setDescriptionsVisible(false)}\n />\n setSavedSearchesModalVisible(false)}\n />\n \n
\n );\n};\n\nexport default withAuthentication(Compliance);\n","import { css, jsx } from '@emotion/core';\nimport { Modal } from 'antd';\nimport React from 'react';\n\nimport Heading from '@/src/shared/components/Heading';\nimport { space } from '@/styles';\n\nconst { m } = space;\nconst style = {\n text: css`\n line-height: 1.75;\n font-size: 1.6rem;\n `,\n};\nconst CompliAssistDisclaimer = props => {\n const { visible, handleModalClose } = props;\n\n return (\n \n Disclaimer\n \n }\n visible={visible}\n footer={null}\n onCancel={handleModalClose}\n maskStyle={{\n backgroundColor: 'rgba(0,38,73,0.65)',\n }}\n >\n

\n This compliance resource was prepared by American Property Casualty Insurance Association\n (APCIA) as a research aid only. Reasonable attempts have been made to ensure that the\n content is accurate and current as of its publication date. However, you should\n independently verify any statutory or regulatory language referenced herein. This compliance\n resource is not intended as, and should not be construed to constitute, legal or regulatory\n advice and use of the resource (or any part thereof) does not establish an attorney/client\n relationship. Transmission or reproduction of the compliance resource for commercial\n purposes or for distribution as legal or regulatory advice or using it to serve as,\n substitute for, supplement, or replace the operating procedures, decision rules, guidelines,\n or advice of your Company is strictly prohibited. Non-commercial transmission or\n reproduction of this resource for limited, internal use is permissible, but must include\n this Disclaimer.\n

\n \n );\n};\n\nexport default CompliAssistDisclaimer;\n","// Sort results by chart\nconst ChartShape = ({\n ChartId,\n ChartTitle,\n Contact,\n ChartDescription,\n Categories,\n ChartNotes,\n states,\n activeKeys,\n}) => ({\n ChartId,\n ChartTitle,\n Contact,\n ChartDescription,\n Categories,\n ChartNotes,\n states,\n activeKeys,\n});\n\nconst ChartStateShape = ({ ChartStateId, ChartState, topics, activeKeys, StateCode }) => ({\n ChartStateId,\n ChartState,\n topics,\n activeKeys,\n StateCode,\n});\n\nfunction getChartsArrangedByTopicAndState(chartsState) {\n const chartsArrangedByTopicAndState = chartsState.reduce((acc, current, index) => {\n // chart already exists\n const chartObj = acc.find(item => item.ChartId === current.ChartId);\n if (chartObj) {\n // chartsArrangedByTopicAndState contains ChartShape{} with states[ChartStateShape{}] with matching ChartStateId\n // IOW [{\n // ChartId: current.ChartId,\n // states: [{\n // ChartStateId: current.ChartStateId,\n // topics: [current]\n // }]\n // }]\n const existingState = chartObj.states.find(\n item => item.ChartStateId === current.ChartStateId\n );\n // state already exists\n if (existingState) {\n existingState.topics.push(current);\n // add new state\n } else {\n chartObj.states.push(\n new ChartStateShape({\n ChartStateId: current.ChartStateId,\n ChartState: current.ChartState,\n StateCode: current.StateCode,\n activeKeys: [],\n topics: [current],\n })\n );\n }\n } else {\n acc.push(\n new ChartShape({\n ChartTitle: current.ChartTitle,\n ChartId: current.ChartId,\n Contact: current.Contact,\n ChartDescription: current.ChartDescription,\n Categories: current.Categories,\n ChartNotes: current.ChartNotes,\n activeKeys: [index === 0 ? current.ChartId.toString() : undefined],\n states: [\n new ChartStateShape({\n ChartStateId: current.ChartStateId,\n ChartState: current.ChartState,\n StateCode: current.StateCode,\n activeKeys: [],\n topics: [current],\n }),\n ],\n })\n );\n }\n return acc;\n }, []);\n return chartsArrangedByTopicAndState;\n}\n\n// Sort search results by state\n\nconst StateShape = ({ StateCode, ChartState, charts }) => ({\n StateCode,\n ChartState,\n charts,\n});\n\nconst StateChartShape = ({\n ChartId,\n ChartTitle,\n Contact,\n ChartDescription,\n Categories,\n ChartNotes,\n topics,\n ChartStateId,\n}) => ({\n ChartId,\n ChartTitle,\n Contact,\n ChartDescription,\n Categories,\n ChartNotes,\n topics,\n ChartStateId,\n});\n\n/*\n{\n StateCode: 'AL',\n StateDescription: 'Alabama',\n charts: [\n {\n ChartStateId: current.ChartStateId,\n topics: [current]\n }\n ]\n\n}\n\n\n*/\nfunction getChartsArrangedByState(chartsState) {\n const chartsArrangedByState = chartsState.reduce((acc, current, index) => {\n // state already exists\n const stateObj = acc.find(item => item.StateCode === current.StateCode);\n if (stateObj) {\n const existingState = stateObj.charts.find(\n item => item.ChartStateId === current.ChartStateId\n );\n // state already exists\n if (existingState) {\n existingState.topics.push(current);\n // add new state\n } else {\n stateObj.charts.push(\n new StateChartShape({\n ChartId: current.ChartId,\n ChartTitle: current.ChartTitle,\n Contact: current.Contact,\n ChartDescription: current.ChartDescription,\n Categories: current.Categories,\n ChartNotes: current.ChartNotes,\n ChartStateId: current.ChartStateId,\n topics: [current],\n })\n );\n }\n } else {\n acc.push(\n new StateShape({\n StateCode: current.StateCode,\n ChartState: current.ChartState,\n charts: [\n new StateChartShape({\n ChartId: current.ChartId,\n ChartTitle: current.ChartTitle,\n Contact: current.Contact,\n ChartDescription: current.ChartDescription,\n Categories: current.Categories,\n ChartNotes: current.ChartNotes,\n ChartStateId: current.ChartStateId,\n topics: [current],\n }),\n ],\n })\n );\n }\n return acc;\n }, []);\n return chartsArrangedByState;\n}\n\nfunction getPaginatedCharts(allCharts, currentpage) {\n // eslint-disable-next-line no-param-reassign\n currentpage -= 1;\n return allCharts.slice(currentpage * 10, (currentpage + 1) * 10);\n}\n\n// transform saved searches schema to an array\nfunction getSavedSearchesList(savedSearchesObj) {\n return Object.keys(savedSearchesObj).map(searchKey => savedSearchesObj[searchKey]);\n}\n\nfunction getSelectedSearch(searchId, savedSearchesGroup) {\n if (searchId && savedSearchesGroup[searchId]) {\n return savedSearchesGroup[searchId];\n }\n return {\n SearchId: null,\n PersonId: null,\n SearchDescription: '',\n FieldOptions: {\n Categories: [],\n Charts: [],\n States: [],\n SearchText: '',\n Page: null,\n PageSize: null,\n SortField: null,\n SortOrder: null,\n },\n };\n}\n\nexport {\n getChartsArrangedByState,\n getChartsArrangedByTopicAndState,\n getPaginatedCharts,\n getSavedSearchesList,\n getSelectedSearch,\n};\n","import { css, jsx } from '@emotion/core';\nimport { Icon } from 'antd';\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport Container from '@/src/shared/components/Container';\nimport { colors } from '@/styles';\n\nconst style = {\n link: css`\n align-items: center;\n color: ${colors.primaryBlue};\n display: inline-flex;\n\n .anticon {\n margin: 0 1.2rem 0 0;\n }\n `,\n wrapper: css`\n margin: 1.6rem 0;\n `,\n};\n\nconst AdminLink = ({\n isLoggedIn,\n roles = [],\n PersonID,\n pageID,\n pageType,\n authorId = null,\n editorIds = [],\n}) => {\n const hasPermission =\n roles.includes('CMS Admin') ||\n roles.includes('CMS Static Content Admin') ||\n Number(PersonID) === authorId ||\n editorIds.includes(Number(PersonID));\n\n if (!isLoggedIn || !hasPermission || !pageID || !pageType) return null;\n\n let adminUrl = '';\n\n switch (pageType) {\n case 'core':\n adminUrl = 'core-pages';\n break;\n case 'content':\n adminUrl = 'content-pages';\n break;\n case 'publication':\n adminUrl = 'publications';\n break;\n case 'meeting':\n adminUrl = 'meetings';\n break;\n case 'release':\n adminUrl = 'news-releases';\n break;\n default:\n break;\n }\n\n return (\n \n
\n \n \n Edit Content\n \n
\n
\n );\n};\n\nexport default connect(\n state => {\n const { auth } = state;\n const {\n isLoggedIn,\n role,\n userinfo: { PersonID },\n } = auth;\n return { isLoggedIn, roles: role, PersonID };\n },\n null\n)(AdminLink);\n","import { useAuth0 } from '@auth0/auth0-react';\nimport { css, jsx } from '@emotion/core';\nimport Router, { useRouter } from 'next/router';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport LoadingPage from '../LoadingPage/LoadingPage';\n\nconst style = {\n loadingPage: css`\n height: 100vh;\n width: 100vw;\n background: white;\n display: flex;\n justify-content: center;\n align-items: center;\n `,\n};\n\nfunction withAuthentication(Component) {\n function NewComponent(props) {\n const { isLoading, isAuthenticated, loginWithRedirect } = useAuth0();\n const { pathname } = useRouter();\n const stateLoading = useSelector(state => state.auth.isLoading);\n\n if (isLoading || stateLoading) {\n return (\n
\n \n
\n );\n }\n\n if (!isLoading && !stateLoading && !isAuthenticated) {\n loginWithRedirect({\n appState: {\n returnTo: window.location.pathname,\n },\n });\n return null;\n }\n\n return ;\n }\n\n return NewComponent;\n}\n\nexport default withAuthentication;\n"],"names":["Option","styles","searchContainer","css","bp","cardStyle","buttonContainer","headingSpacer","toolTip","colors","titleContainer","Form","name","props","form","options","dispatch","useDispatch","search","e","preventDefault","validateFieldsAndScroll","err","values","SearchText","States","Categories","Charts","selectedCategories","filter","c","includes","CategoryId","map","escapeGTMParam","CategoryDescription","selectedCharts","ChartId","ChartTitle","trackGTMEvent","event","text","state","join","category","length","chart","queryObj","searchtext","states","categories","charts","formattedURL","formatURL","Router","renderInputField","fieldProps","type","optionId","optionDescription","allowClear","size","optionFilterProp","showArrow","formStyle","mode","onChange","v","field","value","updateSearchFilters","option","key","input","suffix","renderLabel","label","Heading","weight","theme","Container","Card","onSubmit","gutter","xs","lg","getFieldDecorator","Button","searchButton","htmlType","actionsRow","actionsTitle","cardContainer","icon","cardTitleContainer","infoSectionContainer","infoSectionTags","keepTagsInRow","chartButtonContainer","chartButton","chartIcon","InfoSection","title","maxOptions","opts","more","Array","isArray","slice","index","data","iconName","useState","isModalVisible","setModalVisible","SearchDescription","SearchId","FieldOptions","EditSavedSearch","visible","closeModal","ant","ChartDescription","s","StateDescription","inGroup","onClick","savedContainer","header","savedSearches","ss","m","space","withAuthentication","messageData","useSelector","compliance","auth","isLoggedIn","role","personId","userinfo","PersonID","setOptions","pagedata","setPageData","loading","setLoading","disclaimerModalVisible","showDisclaimerModal","isDescriptionsModalVisible","setDescriptionsVisible","isSavedSearchesModalVisible","setSavedSearchesModalVisible","fetchDesignPage","request","url","params","alias","response","fetchOptions","status","console","warn","useEffect","requestSavedSearches","hasAccess","checkAccess","COMPLIANCE_ACCESS","isAuthorized","errorCode","savedSearchesObj","page","DesignPage","Layout","Head","HeroHeadline","AdminLink","pageID","pageType","Hero","HeroImageId","bgImage","process","Sanitize","HeroParagraph","t16","Section","bgColor","Object","keys","searchKey","Blocks","b","blockData","entities","CompliAssistDisclaimer","handleModalClose","SavedSearches","WebLogImage","browserPath","style","b0","footer","onCancel","maskStyle","backgroundColor","ChartShape","Contact","ChartNotes","activeKeys","ChartStateShape","ChartStateId","ChartState","topics","StateCode","getChartsArrangedByTopicAndState","chartsState","reduce","acc","current","chartObj","find","item","existingState","push","toString","undefined","StateShape","StateChartShape","getChartsArrangedByState","stateObj","getPaginatedCharts","allCharts","currentpage","getSavedSearchesList","getSelectedSearch","searchId","savedSearchesGroup","PersonId","Page","PageSize","SortField","SortOrder","link","wrapper","connect","roles","authorId","editorIds","hasPermission","Number","adminUrl","href","target","rel","loadingPage","Component","useAuth0","isLoading","isAuthenticated","loginWithRedirect","stateLoading","useRouter","pathname","appState","returnTo","window","location"],"sourceRoot":""}