{"version":3,"file":"static/chunks/9792-e73074879608725a.js","mappings":"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","sources":["webpack://_N_E/./src/events/components/EventsList/index.js","webpack://_N_E/./src/events/components/EventsSearchFilters.js","webpack://_N_E/./pages/events/meetings/index.js","webpack://_N_E/./src/shared/components/LoadingResults/index.js","webpack://_N_E/./src/shared/components/MembershipPageWrap/index.js","webpack://_N_E/./src/shared/components/SearchTag.js","webpack://_N_E/./src/shared/components/WebLogImage.js"],"sourcesContent":["import { css, jsx } from '@emotion/core';\nimport { Pagination, Radio } from 'antd';\nimport moment from 'moment';\nimport { useRouter } from 'next/router';\nimport React, { useEffect, useState } from 'react';\n\nimport Heading from '@/src/shared/components/Heading';\nimport Loading from '@/src/shared/components/LoadingResults';\nimport ResultCard from '@/src/shared/components/ResultCard';\nimport { colors, space } from '@/styles';\nimport formatURL from '@/utils/formatURL';\n\nconst styles = {\n paginationWrapper: css`\n display: flex;\n align-items: center;\n .ant-pagination-total-text {\n font-weight: bold;\n color: ${colors.secondaryGrey};\n font-family: 'Lato', sans-serif;\n font-size: 1.2rem;\n }\n `,\n results: css`\n font-weight: 900;\n font-size: 1.2rem;\n color: ${colors.secondaryGray};\n `,\n listWrapper: css`\n width: 100%;\n max-width: 100%;\n `,\n toggleWrapper: css`\n margin: 0 0 2.4rem;\n\n .ant-radio-group {\n font-size: 1.2rem;\n font-weight: 900;\n }\n\n .ant-radio-group-solid\n .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {\n background: ${colors.secondaryBlue};\n border-color: ${colors.secondaryBlue};\n\n &:hover {\n background: ${colors.secondaryBlueDark};\n border-color: ${colors.secondaryBlueDark};\n }\n }\n\n .ant-radio-button-wrapper {\n color: ${colors.secondaryBlue};\n\n &:hover {\n color: ${colors.secondaryBlueDark};\n }\n }\n `,\n};\n\nconst PAGE_SIZE = 10;\n\nconst EventsList = props => {\n const { eventsData, loading } = props;\n const [currentPage, setCurrentPage] = useState(1);\n const [show, setShow] = useState('upcoming');\n\n const router = useRouter();\n\n const pastEvents = [];\n const upcomingEvents = [];\n if (eventsData.length) {\n const today = moment().startOf('day');\n eventsData.forEach(e => {\n const startDate = moment(e.MeetingStartDate);\n if (startDate.isBefore(today)) {\n pastEvents.push(e);\n } else {\n upcomingEvents.push(e);\n }\n });\n }\n\n useEffect(() => {\n const { page } = router.query;\n\n if (page && !Number.isNaN(page)) {\n setCurrentPage(page);\n }\n }, [router.query.page]);\n\n useEffect(() => {\n const { show: showValue } = router.query;\n\n setShow(showValue === 'past' ? 'past' : 'upcoming');\n }, [router.query.show]);\n\n const handleToggleChange = e => {\n const {\n target: { value },\n } = e;\n setCurrentPage(1);\n const newURL = formatURL(router.asPath, { show: value });\n router.replace(newURL, newURL, { shallow: true });\n };\n\n function handlePaginationChange(page) {\n setCurrentPage(page);\n const newURL = formatURL(router.asPath, { page });\n router.replace(newURL, newURL, { shallow: true });\n }\n\n function renderEvents() {\n const eventsArray = Object.values(show === 'past' ? pastEvents : upcomingEvents);\n const paginatedResults = eventsArray.slice(\n (currentPage - 1) * PAGE_SIZE,\n currentPage * PAGE_SIZE\n );\n const eventResults = {};\n for (let i = 0; i < paginatedResults.length; i += 1) {\n const result = paginatedResults[i];\n const resultEvent = result.ViewGroup;\n if (resultEvent in eventResults) {\n eventResults[resultEvent].push(result);\n } else {\n eventResults[resultEvent] = [result];\n }\n }\n\n return Object.entries(eventResults).map(([viewGroup, _results]) => {\n return (\n \n {/* \n {viewGroup}\n */}\n {_results.map(result => (\n \n ))}\n \n );\n });\n }\n\n function renderPagination(hideIfResults) {\n const eventCount = show === 'past' ? pastEvents.length : upcomingEvents.length;\n if (hideIfResults && !eventCount) return null;\n\n return (\n
\n `${range[0]}-${range[1]} of ${total} items`}\n current={Number(currentPage)}\n />\n
\n );\n }\n\n return (\n
\n {loading ? (\n \n ) : (\n <>\n
\n \n Upcoming Events\n Past Events\n \n
\n\n {renderPagination()}\n\n
{renderEvents()}
\n\n {renderPagination(true)}\n \n )}\n
\n );\n};\n\nexport default EventsList;\n","import { css } from '@emotion/core';\nimport { Checkbox, Col, Collapse, Icon, Input, Row, Select, Tooltip } from 'antd';\nimport { isEmpty } from 'lodash';\nimport moment from 'moment';\nimport { useRouter } from 'next/router';\nimport React, { useEffect, useState } from 'react';\n\nimport Button from '@/src/shared/components/Button';\nimport DateRangePicker from '@/src/shared/components/DateRangePicker';\nimport Form from '@/src/shared/components/Form';\nimport Heading from '@/src/shared/components/Heading';\nimport SearchTag from '@/src/shared/components/SearchTag';\nimport { bp, colors, form as formStyle, space } from '@/styles';\nimport { URL_DATE_FORMAT, validateCustomRange } from '@/utils/dateTimeHelpers';\nimport formatURL from '@/utils/formatURL';\nimport { escapeGTMParam, trackGTMEvent } from '@/utils/utils';\n\nconst { m } = space;\n\nconst filterColorOverride = css`\n background-color: #fff\n`\n\nconst { Panel } = Collapse;\n\nconst style = {\n filterWrapper: css`\n @media ${bp.md} {\n width: 100%;\n }\n `,\n filterSearch: css`\n display: flex;\n border-bottom: 1px solid ${colors.accentGrayLight};\n padding-bottom: 20px;\n `,\n filters: css`\n padding: 4px 18px 4px;\n margin-bottom: 24px;\n margin-left: -12px;\n margin-right: -12px;\n background: #fff;\n box-shadow: 0 6px 12px 0 rgba(35, 32, 32, 0.1);\n border-radius: 0px;\n @media ${bp.md} {\n padding: 8px 32px 4px;\n border-radius: 4px;\n margin-left: initial;\n margin-right: initial;\n }\n .ant-collapse {\n &-header {\n padding: 20px 0 !important;\n }\n &-content-box {\n padding: 0;\n .ant-collapse-content-box {\n padding: 0 0 20px !important;\n }\n }\n &-arrow {\n right: 0 !important;\n left: auto !important;\n }\n }\n & > div:first-of-type {\n margin-bottom: 20px;\n & > div {\n border-bottom: none !important;\n & > div:first-of-type {\n border-bottom: 1px solid ${colors.accentGrayLight};\n margin-bottom: 16px;\n }\n }\n }\n `,\n filterTags: css`\n visibility: visible;\n opacity: 1;\n transition: all 0.3s $ease-in-out;\n margin-bottom: 12px;\n `,\n filterTagsHidden: css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n position: absolute;\n `,\n filterTagsVisible: css``,\n buttonContainer: css`\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n `,\n myCommitteesLabel: css`\n font-size: 1.2rem;\n font-weight: 900;\n `,\n toolTipIcon: css`\n color: ${colors.secondaryBlue};\n font-size: 1.4rem;\n margin-left: 0.8rem;\n `,\n};\n\nconst filterCollapseProps = {\n bordered: false,\n expandIconPosition: 'right',\n expandIcon: ({ isActive }) => ,\n};\n\nconst FIELD_NAMES = {\n SEARCHTEXT: 'searchText',\n DATERANGES: 'dateRanges',\n DATESTART: 'customRange',\n DATEEND: 'customRange',\n MEETINGTYPES: 'meetingTypes',\n STATES: 'states',\n COMMITTEES: 'committees',\n};\n\nconst DESCRIPTION_NAME = {\n DATERANGES: 'DayRangeDescription',\n MEETINGTYPES: 'MeetingTypeDescription',\n STATES: 'StateDescription',\n COMMITTEES: 'CommitteeDescription',\n};\n\nconst INITIAL_TAG_STATE = {\n [`tags_${FIELD_NAMES.SEARCHTEXT}`]: [],\n [`tags_${FIELD_NAMES.DATERANGES}`]: [],\n tags_customRange: [],\n [`tags_${FIELD_NAMES.MEETINGTYPES}`]: [],\n [`tags_${FIELD_NAMES.STATES}`]: [],\n [`tags_${FIELD_NAMES.COMMITTEES}`]: [],\n};\n\nconst FilterSection = props => {\n const { label, children, defaultActiveKey, keyProp, ..._props } = props;\n const collapseProps = {\n ...filterCollapseProps,\n ..._props,\n };\n return (\n \n \n {label}\n \n }\n >\n {children}\n \n \n );\n};\n\nconst FILTER_KEY = '1';\n\nconst EventsSearchFilters = props => {\n const router = useRouter();\n const { query } = router;\n const {\n form,\n DateRanges,\n MeetingTypes,\n States,\n Committees,\n search,\n collapsed,\n setCollapsed,\n userCommittees,\n } = props;\n\n const [tags, setTags] = useState({});\n const [isCustomDateRange, setIsCustomDateRange] = useState(false);\n const [initialValues, setInitialValues] = useState({\n searchText: '',\n dateRanges: '6',\n customRange: [moment().subtract(1, 'months'), moment().add(5, 'months')],\n meetingTypes: [],\n states: [],\n committees: [],\n });\n\n const [useUserCommittees, setUseUserCommittees] = useState(false);\n\n useEffect(() => {\n const { daterange, meetingtype, states, committees, datestart = null, dateend = null } = query;\n if (\n isEmpty(query) &&\n ['search', 'daterange', 'meetingtype'].some(str => router.asPath.indexOf(str) > -1)\n ) {\n // when nextjs statically built load, the query is empty because the router\n // hasn't full loaded yet. This is how we check for this.\n return;\n }\n\n // eslint-disable-next-line camelcase\n const { page, show, wrap_access_token, wrap_access_token_expires_in, ..._query } = query;\n\n if (isEmpty(_query)) {\n search({\n dateRanges: '6',\n customRange: [moment().subtract(30, 'days'), moment().add(30, 'days')],\n meetingTypes: [],\n states: [],\n committees: [],\n show: query.show,\n });\n } else {\n // Only allow committees that exist in Committees.entities)\n const unfilteredCommittees = committees ? committees.split(',') : [];\n const committedIds = Object.keys(Committees.entities);\n const filteredCommittees = unfilteredCommittees.filter(c => {\n return committedIds.includes(c);\n });\n\n const values = {\n searchText: query.search || '',\n meetingTypes: meetingtype ? meetingtype.split(',') : [],\n states: states ? states.split(',') : [],\n committees: filteredCommittees,\n dateRanges: daterange,\n ...(daterange === '6' && { customRange: [moment(datestart), moment(dateend)] }),\n ...(query.myCommittees && { myCommittees: true }),\n show: query.show,\n };\n\n const newValues = {};\n Object.entries(query).forEach(([key, val]) => {\n const upperKey = key.toUpperCase();\n const fieldName = FIELD_NAMES[upperKey];\n let value = [];\n\n if (upperKey === 'SEARCH') {\n value = [\n {\n value: val,\n children: val,\n input: FIELD_NAMES.SEARCHTEXT,\n },\n ];\n newValues[`tags_${FIELD_NAMES.SEARCHTEXT}`] = value;\n } else if (['DATESTART', 'DATEEND'].includes(upperKey)) {\n if (!newValues[`tags_customRange`] || !Array.isArray(newValues[`tags_customRange`])) {\n value = [\n {\n value: [undefined, undefined],\n input: 'customRange', // name used in getFieldDecorator\n children: 'DS-DE', // text description\n },\n ];\n } else {\n value = newValues[`tags_customRange`];\n }\n const dtValue = moment(val);\n const isDateStart = upperKey === 'DATESTART';\n value[0].value[isDateStart ? 0 : 1] = dtValue;\n value[0].children = value[0].children.replace(\n isDateStart ? 'DS' : 'DE',\n dtValue.format('MM/DD/YYYY')\n );\n newValues[`tags_customRange`] = value;\n } else if (upperKey === 'DATERANGE') {\n value = [\n {\n value: val,\n children: DateRanges.entities[val][DESCRIPTION_NAME['DATERANGES']],\n input: FIELD_NAMES.DATERANGES,\n },\n ];\n newValues[`tags_${FIELD_NAMES.DATERANGES}`] = value;\n } else if (upperKey === 'MEETINGTYPE') {\n const arraySelections = val.split(',');\n value = arraySelections.map(sel => {\n return {\n value: sel,\n children: MeetingTypes.entities[sel][DESCRIPTION_NAME['MEETINGTYPES']],\n input: FIELD_NAMES.MEETINGTYPES,\n };\n });\n newValues[`tags_${FIELD_NAMES.MEETINGTYPES}`] = value;\n } else if (fieldName && val) {\n const arraySelections = val.split(',');\n value = arraySelections.map(sel => {\n let children = [];\n\n if (upperKey === 'STATES' && States.entities[sel]) {\n children = States.entities[sel][DESCRIPTION_NAME[upperKey]];\n } else if (Committees.entities[sel]) {\n children = Committees.entities[sel][DESCRIPTION_NAME[upperKey]];\n }\n\n return {\n value: sel,\n children,\n input: fieldName,\n };\n });\n newValues[`tags_${fieldName}`] = value;\n }\n });\n setTags(newValues);\n setInitialValues(values);\n search(values);\n\n setUseUserCommittees(!!query.myCommittees);\n }\n }, [\n query.show,\n query.daterange,\n query.meetingtype,\n query.states,\n query.committees,\n query.search,\n query.datestar,\n query.dateend,\n query.myCommittees,\n ]);\n\n useEffect(() => {\n setIsCustomDateRange(initialValues.dateRanges === '6');\n }, [initialValues.dateRanges]);\n\n function handleSubmit(e) {\n e.preventDefault();\n form.validateFields((err, values) => {\n if (err) {\n return;\n }\n try {\n const {\n searchText = '',\n dateRanges,\n customRange,\n meetingTypes,\n states,\n committees,\n myCommittees = false,\n } = values;\n\n let committeeNames = '';\n if (myCommittees && Array.isArray(userCommittees)) {\n committeeNames =\n userCommittees?.length > 0\n ? userCommittees\n .map(committee =>\n escapeGTMParam(Committees.entities[committee]?.CommitteeDescription || '')\n )\n .join(', ')\n : 'All';\n } else if (Array.isArray(committees)) {\n committeeNames =\n committees?.length > 0\n ? committees\n .map(committee =>\n escapeGTMParam(Committees.entities[committee].CommitteeDescription)\n )\n .join(', ')\n : 'All';\n }\n\n trackGTMEvent({\n event: 'meetingSearch',\n text: escapeGTMParam(searchText),\n types:\n Array.isArray(meetingTypes) && meetingTypes.length > 0\n ? meetingTypes\n .map(meeting =>\n escapeGTMParam(MeetingTypes.entities[meeting].MeetingTypeDescription)\n )\n .join(', ')\n : 'All',\n states: Array.isArray(states) && states?.length > 0 ? states.join(', ') : 'All',\n committees: committeeNames,\n dateRange: DateRanges.entities[dateRanges].DayRangeDescription || 'All',\n });\n\n const url = formatURL(router.asPath, {\n search: searchText,\n daterange: dateRanges,\n datestart: dateRanges === '6' ? customRange[0].format(URL_DATE_FORMAT) : null,\n dateend: dateRanges === '6' ? customRange[1].format(URL_DATE_FORMAT) : null,\n meetingtype: Array.isArray(meetingTypes) ? meetingTypes.join(',') : null,\n states: Array.isArray(states) ? states.join(',') : null,\n committees: Array.isArray(committees) ? committees.join(',') : null,\n page: 1,\n show: 'upcoming',\n myCommittees,\n });\n\n if (url !== router.asPath) {\n router.replace(url, url, { shallow: true });\n } else {\n search(values);\n }\n } catch (error) {\n console.log(error);\n }\n });\n }\n\n const handleReset = () => {\n const { setFieldsValue } = form;\n\n setFieldsValue({\n searchText: '',\n dateRanges: '6',\n customRange: [moment().subtract(30, 'days'), moment().add(30, 'days')],\n meetingTypes: [],\n states: [],\n committees: [],\n myCommittees: false,\n });\n router.replace('/events/meetings?page=1', '/events/meetings?page=1', { shallow: true });\n setTags(INITIAL_TAG_STATE);\n };\n\n /**\n *\n * @param {Array} keys empty for collapsed, ['1'] for open;\n */\n function handleCollapseChange(keys) {\n const isOpen = keys?.length > 0;\n\n trackGTMEvent({\n event: isOpen ? 'expandSearch' : 'collapseSearch',\n });\n\n setCollapsed(!keys.includes(FILTER_KEY));\n }\n\n const setSelection = (value, selectedNodes, input) => {\n if (input === 'customRange' && Array.isArray(value) && !value.length) {\n setTags({\n ...tags,\n tags_customRange: [],\n });\n } else if (Array.isArray(value) && value.length === 2 && moment.isMoment(value[1])) {\n setTags({\n ...tags,\n [`tags_${input}`]: [{ value, input, children: selectedNodes.join(' - ') }],\n });\n } else if (selectedNodes && Array.isArray(selectedNodes)) {\n const selections = selectedNodes.map(nd => ({ ...nd.props, input }));\n setTags({\n ...tags,\n [`tags_${input}`]: selections,\n });\n } else {\n setTags({\n ...tags,\n [`tags_${input}`]: value\n ? [{ value, input, children: selectedNodes ? selectedNodes.props.children : value }]\n : [],\n });\n }\n };\n\n const tagClose = (e, value, input) => {\n e.preventDefault();\n const storedValue = form.getFieldValue(input);\n if (input === FIELD_NAMES.DATESTART) {\n form.setFieldsValue({ customRange: [] });\n setTags({\n ...tags,\n tags_customRange: [],\n });\n } else if (input === FIELD_NAMES.DATERANGES) {\n const newFieldsValue = {\n [input]: undefined,\n customRange: [],\n };\n const newTags = {\n ...tags,\n [`tags_${input}`]: [],\n tags_customRange: [],\n };\n form.setFieldsValue(newFieldsValue);\n setTags(newTags);\n setIsCustomDateRange(false);\n } else if (Array.isArray(storedValue)) {\n const selections = storedValue.filter(v => v !== value);\n form.setFieldsValue({ [input]: selections });\n setTags({\n ...tags,\n [`tags_${input}`]: tags[`tags_${input}`].filter(tag => selections.includes(tag.value)),\n });\n } else {\n form.setFieldsValue({ [input]: undefined });\n setTags({\n ...tags,\n [`tags_${input}`]: [],\n });\n }\n };\n\n const getTagCount = label => {\n if (tags && tags[label] && tags[label].length) {\n return tags[label].length;\n }\n return 0;\n };\n\n const handleMyCommitteeChange = e => {\n const {\n target: { checked },\n } = e;\n\n setUseUserCommittees(checked);\n\n if (checked) {\n form.setFieldsValue({ committees: undefined });\n\n setTags({\n ...tags,\n tags_committees: [],\n });\n }\n };\n\n return (\n
\n \n \n
\n \n \n Search Filters\n \n }\n css={style.filterWrapper}\n id={collapsed ? 'collapsepanel' : 'expandpanel'}\n >\n
\n
\n \n {form.getFieldDecorator('searchText', {\n initialValue: initialValues.searchText,\n })(\n }\n placeholder=\"Search\"\n css={[formStyle.inputGray, m.r16]}\n onChange={(e, s) => setSelection(e.target.value, s, 'searchText')}\n />\n )}\n \n
\n \n <>\n \n {form.getFieldDecorator('dateRanges', {\n initialValue: initialValues.dateRanges,\n })(\n {\n setSelection(value, s, 'dateRanges');\n setIsCustomDateRange(value === '6');\n }}\n >\n {DateRanges.result.map(dr => {\n const entity = DateRanges.entities[dr];\n return (\n \n {entity.DayRangeDescription}\n \n );\n })}\n \n )}\n \n {isCustomDateRange ? (\n \n {form.getFieldDecorator('customRange', {\n rules: [\n {\n required: true,\n message: 'A date range is required when selecting custom',\n validator: validateCustomRange,\n },\n ],\n initialValue: initialValues.customRange,\n })(\n setSelection(value, s, 'customRange')}\n />\n )}\n \n ) : null}\n \n \n \n \n {form.getFieldDecorator('meetingTypes', {\n initialValue: initialValues.meetingTypes,\n })(\n setSelection(value, s, 'meetingTypes')}\n >\n {MeetingTypes.result\n .filter(item => item !== '1')\n .map(mt => {\n const entity = MeetingTypes.entities[mt];\n return (\n \n {entity.MeetingTypeDescription}\n \n );\n })}\n \n )}\n \n \n \n \n {form.getFieldDecorator('states', {\n initialValue: initialValues.states,\n })(\n setSelection(value, s, 'states')}\n >\n {States.result.map(s => {\n const entity = States.entities[s];\n return (\n \n {entity.StateDescription}\n \n );\n })}\n \n )}\n \n \n \n \n {form.getFieldDecorator('committees', {\n initialValue: initialValues.committees,\n })(\n {\n setSelection(value, s, 'committees');\n if (value.length) {\n form.setFieldsValue({ myCommittees: false });\n }\n }}\n >\n {Committees.result.map(mv => {\n const entity = Committees.entities[mv];\n return (\n \n {entity.CommitteeDescription}\n \n );\n })}\n \n )}\n \n \n {form.getFieldDecorator('myCommittees', {\n initialValue: !!query.myCommittees,\n valuePropName: 'checked',\n })(\n \n My Committee Meetings\n \n \n \n \n )}\n \n \n
\n \n \n
\n \n \n \n
\n \n \n \n {Object.values(tags).map(tagTypeValues =>\n tagTypeValues.map(tag => )\n )}\n
\n \n \n \n );\n};\n\nexport default EventsSearchFilters;\n","import { css, jsx } from '@emotion/core';\nimport { Col, Row } from 'antd';\nimport moment from 'moment';\nimport { normalize, schema } from 'normalizr';\nimport React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\n\nimport HeroSlides from '@/src/cms/components/CMSPage/CorePage/Blocks/HeroSlides';\nimport DesignPage from '@/src/cms/models/DesignPage';\nimport EventsList from '@/src/events/components/EventsList';\nimport SearchFilters from '@/src/events/components/EventsSearchFilters';\nimport Container from '@/src/shared/components/Container';\nimport Form from '@/src/shared/components/Form';\nimport Heading from '@/src/shared/components/Heading';\nimport Hero from '@/src/shared/components/Hero';\nimport Layout from '@/src/shared/components/Layout';\nimport Link from '@/src/shared/components/Link';\nimport withMembershipAccessWrap, {\n mapStateToProps,\n} from '@/src/shared/components/MembershipPageWrap';\nimport Section from '@/src/shared/components/Section';\nimport WebLogImage from '@/src/shared/components/WebLogImage';\nimport { bp, colors } from '@/styles';\nimport request from '@/utils/axios';\nimport searchContent from '@/utils/searchContent';\n\nconst DATE_FORMAT = 'MM/DD/YYYY';\nconst isServer = typeof window === 'undefined';\n\nconst style = {\n carouselWrapper: css`\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n radioButtonWrapper: css`\n .ant-radio-button-wrapper-checked {\n background: ${colors.secondaryBlue} !important;\n border-color: ${colors.secondaryBlue} !important;\n box-shadow: -1px 0 0 0 ${colors.secondaryBlue} !important;\n }\n .ant-radio-button-wrapper-checked::before {\n background: ${colors.secondaryBlue} !important;\n border-color: ${colors.secondaryBlue} !important;\n box-shadow: -1px 0 0 0 ${colors.secondaryBlue} !important;\n }\n .ant-radio-button-wrapper-checked::after {\n background: ${colors.secondaryBlue} !important;\n border-color: ${colors.secondaryBlue} !important;\n box-shadow: -1px 0 0 0 ${colors.secondaryBlue} !important;\n }\n `,\n button: css`\n color: ${colors.secondaryBlue};\n border: 1px solid #dad9d7;\n border-radius: 2px !important;\n box-sizing: border-box;\n &:hover {\n color: ${colors.secondaryBlue};\n }\n font-size: 1.2rem;\n font-weight: bold;\n `,\n container: collapsed => css`\n display: flex !important;\n flex-direction: column;\n @media ${bp.md} {\n ${collapsed\n ? css`\n flex-direction: column;\n `\n : css`\n flex-direction: row;\n `};\n }\n `,\n buttonsRow: css`\n display: flex;\n flex-wrap: wrap;\n @media ${bp.lg} {\n flex-wrap: nowrap;\n }\n `,\n monthYearWrapper: css`\n margin-top: 24px;\n @media ${bp.xs} {\n margin-left: auto;\n margin-top: 0px;\n margin-right: 10px;\n }\n `,\n select: css`\n width: 100px;\n font-size: 1.6rem;\n `,\n paginationWrapper: css`\n display: flex;\n align-items: center;\n `,\n results: css`\n font-weight: 900;\n font-size: 1.2rem;\n color: ${colors.secondaryGray};\n `,\n viewWrapper: css`\n width: 100%;\n `,\n search: css`\n @media ${bp.md} {\n margin-right: 32px;\n }\n @media print {\n display: none;\n }\n `,\n contentbox: css`\n padding: 52px 32px;\n background-color: white;\n border-radius: 4px;\n box-shadow: 0 6px 12px 0 rgba(35, 32, 32, 0.1);\n `,\n nonmemberprompt: css`\n text-align: center;\n p {\n font-size: 1.6rem;\n margin-bottom: 0;\n }\n `,\n heroContainer: css`\n @media print {\n -webkit-print-color-adjust: exact !important; /* Chrome, Safari */\n color-adjust: exact !important;\n }\n `,\n noRecordsFound: css`\n font-size: 1.6rem;\n font-weight: bold;\n text-align: center;\n `,\n};\n\nconst getUserCommittees = async personId => {\n try {\n const { data } = await request({\n url: 'profile/profilecommittees',\n params: { personId },\n triggerLoad: false,\n });\n if (data.Success !== 'false' && Array.isArray(data.Committees)) {\n return data.Committees.map(c => c.CommitteeCode);\n }\n return [];\n } catch (error) {\n return [];\n }\n};\n\nfunction Events(props) {\n const {\n form,\n pagedata,\n DateRanges = { entities: {}, result: [] },\n MeetingTypes = { entities: {}, result: [] },\n States = { entities: {}, result: [] },\n Committees = { entities: {}, result: [] },\n isLoggedIn,\n messageData = {},\n personId,\n } = props;\n const [collapsed, setCollapsed] = useState(false);\n const [eventsData, setEventsData] = useState({});\n const [searching, setSearching] = useState(true);\n const [designPageData, setPageData] = useState(pagedata);\n const [userCommittees, setUserCommittees] = useState([]);\n\n useEffect(() => {\n (async () => {\n if (personId) {\n const theCommittees = await getUserCommittees(personId);\n setUserCommittees(theCommittees);\n }\n })();\n }, [personId]);\n\n useEffect(() => {\n const fetchDesignPage = async () => {\n const pageResponse = await request({\n url: `cms/designpage`,\n params: {\n alias: 'heroslides',\n },\n });\n if (pageResponse.data?.DateLastUpdated !== pagedata?.DateLastUpdated) {\n setPageData(pageResponse.data);\n }\n };\n fetchDesignPage();\n }, []);\n\n async function formatValues(values) {\n const {\n dateRanges,\n meetingTypes = [],\n states = [],\n committees = [],\n searchText = '',\n customRange,\n myCommittees = false,\n } = values;\n\n const formattedValues = {\n SearchText: searchText,\n DateRanges: dateRanges ? [{ DayRangeCode: dateRanges }] : [],\n MeetingTypes: meetingTypes.map(mtId => ({ MeetingTypeId: mtId })),\n States: states.map(stId => ({ StateCode: stId })),\n Committees: myCommittees\n ? userCommittees.map(id => ({ CommitteeCode: id }))\n : committees.map(comId => ({ CommitteeCode: comId })),\n };\n\n if (customRange && Array.isArray(customRange) && customRange.length === 2) {\n const [dateStart, dateEnd] = customRange;\n if (typeof dateState !== 'string' && typeof dateEnd !== 'string') {\n // YYYY-MM-DD format comes from the query per https://www.benlcollins.com/spreadsheets/query-dates/\n formattedValues.DateStart = dateStart.format(DATE_FORMAT);\n formattedValues.DateEnd = dateEnd.format(DATE_FORMAT);\n } else {\n formattedValues.DateStart = moment(dateStart).format(DATE_FORMAT);\n formattedValues.DateEnd = moment(dateEnd).format(DATE_FORMAT);\n }\n }\n return formattedValues;\n }\n\n async function searchEvents(values) {\n const currentScrollPosition = window.scrollY;\n if (!isLoggedIn) return;\n setSearching(true);\n try {\n const formattedValues = await formatValues(values);\n if (values.show === undefined || values.show === 'upcoming') {\n formattedValues.DateStart = formattedValues.DateStart\n ? formattedValues.DateStart\n : moment(new Date()).format('MM/DD/YYYY');\n } else if (values.show === 'past') {\n formattedValues.DateEnd = formattedValues.DateEnd\n ? formattedValues.DateEnd\n : moment(new Date()).format('MM/DD/YYYY');\n }\n window.scrollTo({ top: currentScrollPosition, behavior: 'smooth' });\n const payload = JSON.stringify({\n FieldOptions: formattedValues,\n });\n\n const response = await request({\n method: 'POST',\n url: 'cms/eventssearch',\n data: payload,\n triggerLoad: false,\n });\n const { data } = response;\n\n if (!data.Count) {\n setEventsData({});\n setSearching(false);\n } else {\n setEventsData(data.Results);\n setTimeout(() => setSearching(false), 50);\n }\n } catch (error) {\n setEventsData({});\n setSearching(false);\n }\n }\n\n const page = new DesignPage({ ...designPageData, ...messageData });\n const blockData = page.getBlockDataByTypeId(10);\n\n return (\n \n Events}\n css={style.heroContainer}\n >\n \n \n
\n {isLoggedIn ? (\n \n \n \n \n \n \n \n {!eventsData.length > 0 && (\n

No events match your search criteria

\n )}\n \n
\n
\n ) : (\n \n
\n \n Are you a member?\n \n

\n \n Login\n {' '}\n to see the full calendar.\n

\n
\n
\n )}\n
\n \n
\n );\n}\n\nexport async function getStaticProps() {\n const pageResponse = await request({\n url: `cms/designpage`,\n params: {\n alias: 'heroslides',\n },\n });\n\n const response = await searchContent({\n fieldOptionsToReturn: ['DateRanges', 'MeetingTypes', 'States', 'Committees'],\n });\n const dateRange = new schema.Entity('DateRanges', {}, { idAttribute: 'DayRangeCode' });\n const meetingType = new schema.Entity('MeetingTypes', {}, { idAttribute: 'MeetingTypeId' });\n const state = new schema.Entity('States', {}, { idAttribute: 'StateCode' });\n const committee = new schema.Entity('Committees', {}, { idAttribute: 'CommitteeCode' });\n\n const normalized = normalize(response.options, {\n DateRanges: [dateRange],\n MeetingTypes: [meetingType],\n States: [state],\n Committees: [committee],\n });\n\n return {\n props: {\n pagedata: pageResponse.data,\n DateRanges: {\n entities: normalized.entities.DateRanges,\n result: normalized.result.DateRanges,\n },\n MeetingTypes: {\n entities: normalized.entities.MeetingTypes,\n result: normalized.result.MeetingTypes,\n },\n States: {\n entities: normalized.entities.States,\n result: normalized.result.States,\n },\n Committees: {\n entities: normalized.entities.Committees,\n result: normalized.result.Committees,\n },\n },\n };\n}\n\nexport default connect(mapStateToProps)(\n withMembershipAccessWrap(Form.create()(Events), null, true)\n);\n","import { css, jsx } from '@emotion/core';\nimport { Icon, Spin } from 'antd';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport Heading from '@/src/shared/components/Heading';\nimport { colors, space } from '@/styles';\n\nconst { m } = space;\nconst spinner = ;\n\nconst style = {\n container: css`\n border-radius: 2px;\n background-color: #ffffff;\n box-shadow: 0 6px 12px 0 rgba(35, 32, 32, 0.1);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n `,\n text: css`\n color: ${colors.secondaryBlue};\n `,\n spinner: css`\n color: ${colors.secondaryBlue};\n `,\n};\n\nconst LoadingResults = ({ text = 'Loading...', height }) => {\n return (\n
\n \n \n {text}\n \n
\n );\n};\n\nLoadingResults.propTypes = {\n text: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nLoadingResults.defaultProps = {\n text: 'Loading...',\n height: 'auto',\n};\n\nexport default LoadingResults;\n","import { useAuth0 } from '@auth0/auth0-react';\nimport Router from 'next/router';\nimport React, { useEffect } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport Error from '@/pages/_error';\nimport { checkAccess } from '@/src/shared/constants';\n\nimport LoadingPage from '../LoadingPage/LoadingPage';\n\nconst isBrowser = typeof window !== 'undefined';\n\nconst withMembershipAccessWrap = (PageComponent, memberLevels, ssr = false) => {\n return function PageComponentWithAccess(props) {\n const { loginWithRedirect, isLoading } = useAuth0();\n const { isLoggedIn, role } = useSelector(state => state.auth);\n const stateLoading = useSelector(state => state.auth.isLoading);\n const personId = useSelector(state => state.auth.userinfo.PersonID);\n\n useEffect(() => {\n if (!stateLoading && !isLoggedIn) {\n loginWithRedirect({\n appState: {\n returnTo: Router.pathname,\n },\n });\n }\n }, [isLoggedIn, stateLoading]);\n\n const hasAccess = checkAccess(memberLevels, role);\n const isAuthorized = personId && Array.isArray(role) && hasAccess;\n const errorCode = isLoggedIn && !hasAccess ? 401.4 : 401;\n\n if (!ssr || isBrowser) {\n if (isLoading || stateLoading) return ;\n if (!stateLoading && !isLoggedIn) {\n loginWithRedirect({\n appState: {\n returnTo: Router.pathname,\n },\n });\n }\n if (!stateLoading && isLoggedIn && !isAuthorized) return ;\n }\n\n return ;\n };\n};\n\nexport const mapStateToProps = state => {\n const {\n auth: {\n isLoggedIn,\n isLoading,\n role,\n userinfo: { PersonID },\n },\n } = state;\n return {\n isLoggedIn,\n isLoading,\n role,\n personId: PersonID,\n };\n};\n\nexport default withMembershipAccessWrap;\n","import { css, jsx } from '@emotion/core';\nimport { Tag, Tooltip } from 'antd';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { colors } from '@/styles';\n\nconst style = {\n filterTag: css`\n height: 30px;\n min-width: 83px;\n border-radius: 2px;\n border: 1px solid ${colors.accentGrayLight};\n background-color: #fff;\n font-size: 1.2rem;\n display: inline-flex !important;\n align-items: center;\n font-weight: 900;\n .anticon-close {\n color: ${colors.secondaryGray};\n font-size: 1.4rem;\n margin-left: auto;\n margin-right: 4px;\n transform: translateX(4px);\n }\n `,\n};\n\nconst SearchTag = ({ tag, tagClose }) => {\n const { children, value, input } = tag;\n if (!children) return null;\n const childrenStr = children.toString();\n const isLongTag = childrenStr.length > 25;\n const tagNode = (\n tagClose(e, value, input)}\n >\n {isLongTag ? `${childrenStr.slice(0, 25)}...` : childrenStr}\n \n );\n\n return isLongTag ? (\n \n {tagNode}\n \n ) : (\n tagNode\n );\n};\n\nSearchTag.propTypes = {\n tag: PropTypes.object.isRequired,\n tagClose: PropTypes.func.isRequired,\n};\n\nexport default SearchTag;\n","import { css } from '@emotion/core';\nimport { useRouter } from 'next/router';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nconst style = {\n weblogImg: css`\n display: none;\n `,\n};\n\nconst host = process.env.API_ROOT;\nconst isBrowser = typeof window !== 'undefined';\n\nconst WebLogImage = props => {\n const { personId, path, sitePageId, title, pagedata, browserPath } = props;\n\n const router = useRouter();\n const { query } = router;\n const source = query.source ? query.source : 'web';\n const pageTitle = title || pagedata.MetaTitle || 'APCIA';\n const url =\n browserPath && isBrowser\n ? `${host}${window.location.pathname}`\n : `${host}${path}${sitePageId ? '/' : ''}${sitePageId}`;\n\n const src = `/pciwebsite/weblogging/Log/Create?url=${url}&id=${sitePageId}&personid=${personId}&source=${source}&title=${pageTitle}`;\n\n return \"web;\n};\n\nfunction mapStateToProps(state) {\n const {\n auth: {\n userinfo: { PersonID },\n },\n } = state;\n return {\n personId: PersonID,\n };\n}\n\nWebLogImage.propTypes = {\n path: PropTypes.string,\n sitePageId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n title: PropTypes.string,\n pagedata: PropTypes.object,\n browserPath: PropTypes.bool,\n};\n\nWebLogImage.defaultProps = {\n path: '',\n sitePageId: '',\n title: '',\n pagedata: {},\n browserPath: false,\n};\n\nexport default connect(mapStateToProps)(WebLogImage);\n"],"names":["styles","paginationWrapper","css","colors","results","listWrapper","toggleWrapper","props","eventsData","loading","useState","currentPage","setCurrentPage","show","setShow","router","useRouter","pastEvents","upcomingEvents","length","today","moment","startOf","forEach","e","MeetingStartDate","isBefore","push","useEffect","page","query","Number","isNaN","showValue","handlePaginationChange","newURL","formatURL","asPath","replace","shallow","renderPagination","hideIfResults","eventCount","space","total","pageSize","onChange","showTotal","range","current","height","defaultValue","buttonStyle","value","target","paginatedResults","Object","values","slice","eventResults","i","result","resultEvent","ViewGroup","entries","map","viewGroup","_results","key","ResultCard","SitePageId","as","href","title","PageTitle","subtitle","MeetingLocationId","format","iconId","IconId","summary","ExecutiveSummary","truncate","fullWidth","summaryLimit","renderEvents","m","filterColorOverride","Panel","style","filterWrapper","bp","filterSearch","filters","filterTags","filterTagsHidden","filterTagsVisible","buttonContainer","myCommitteesLabel","toolTipIcon","filterCollapseProps","bordered","expandIconPosition","expandIcon","isActive","type","FIELD_NAMES","SEARCHTEXT","DATERANGES","DATESTART","DATEEND","MEETINGTYPES","STATES","COMMITTEES","DESCRIPTION_NAME","INITIAL_TAG_STATE","FilterSection","label","children","defaultActiveKey","keyProp","_props","collapseProps","header","Heading","weight","theme","form","DateRanges","MeetingTypes","States","Committees","search","collapsed","setCollapsed","userCommittees","tags","setTags","isCustomDateRange","setIsCustomDateRange","searchText","dateRanges","customRange","subtract","add","meetingTypes","states","committees","initialValues","setInitialValues","useUserCommittees","setUseUserCommittees","daterange","meetingtype","datestart","dateend","isEmpty","some","str","indexOf","wrap_access_token","wrap_access_token_expires_in","_query","unfilteredCommittees","split","committedIds","keys","entities","filteredCommittees","filter","c","includes","myCommittees","newValues","val","upperKey","toUpperCase","fieldName","input","Array","isArray","undefined","dtValue","isDateStart","sel","datestar","setSelection","selectedNodes","tags_customRange","join","selections","nd","tagClose","preventDefault","storedValue","getFieldValue","setFieldsValue","newFieldsValue","newTags","v","tag","getTagCount","gutter","xs","md","lg","activeKey","isOpen","trackGTMEvent","event","id","Form","colon","onSubmit","validateFields","err","committeeNames","committee","escapeGTMParam","CommitteeDescription","text","types","meeting","MeetingTypeDescription","dateRange","DayRangeDescription","url","URL_DATE_FORMAT","error","console","log","b0","getFieldDecorator","initialValue","prefix","placeholder","formStyle","r16","s","size","optionFilterProp","dr","entity","DayRangeCode","t16","rules","required","message","validator","validateCustomRange","DateRangePicker","maxTagCount","maxTagTextLength","mode","item","mt","MeetingTypeId","StateCode","StateDescription","mv","CommitteeCode","valuePropName","onClick","checked","tags_committees","twoToneColor","Button","htmlType","tagTypeValues","SearchTag","DATE_FORMAT","carouselWrapper","radioButtonWrapper","button","container","buttonsRow","monthYearWrapper","select","viewWrapper","contentbox","nonmemberprompt","heroContainer","noRecordsFound","getUserCommittees","personId","request","params","triggerLoad","data","Success","connect","mapStateToProps","withMembershipAccessWrap","pagedata","isLoggedIn","messageData","setEventsData","searching","setSearching","designPageData","setPageData","setUserCommittees","formatValues","formattedValues","SearchText","mtId","stId","comId","dateStart","dateEnd","dateState","DateStart","DateEnd","currentScrollPosition","window","scrollY","Date","scrollTo","top","behavior","payload","JSON","stringify","FieldOptions","method","response","Count","Results","setTimeout","theCommittees","fetchDesignPage","alias","pageResponse","DateLastUpdated","DesignPage","blockData","getBlockDataByTypeId","Layout","Hero","className","HeroSlides","Section","bgColor","Container","Link","anchor","process","encodeURIComponent","location","WebLogImage","browserPath","spinner","fontSize","spin","LoadingResults","indicator","t24","b24","t32","defaultProps","state","auth","isLoading","role","userinfo","PersonID","PageComponent","memberLevels","useAuth0","loginWithRedirect","useSelector","stateLoading","appState","returnTo","Router","hasAccess","checkAccess","isAuthorized","errorCode","status","filterTag","childrenStr","toString","isLongTag","tagNode","closable","onClose","weblogImg","host","path","sitePageId","source","pageTitle","MetaTitle","pathname","src","alt"],"sourceRoot":""}