@civicactions/cmsds-open-data-components 3.0.0-alpha.5 → 3.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/index.ts","src/components/NavBar/index.ts","src/components/NavBar/Navbar.tsx","src/components/SubMenu/index.jsx","src/components/NavLink/index.jsx","src/templates/APIPage/index.jsx","src/templates/APIPage/APIPage.jsx","src/templates/PageNotFound/index.jsx","src/templates/PageNotFound/PageNotFound.jsx","src/templates/DatasetSearch/index.jsx","src/templates/DatasetSearch/DatasetSearch.tsx","src/utilities/QueryProvider/QueryProvider.jsx","src/components/DatasetSearchListItem/index.jsx","src/components/TransformedDate/index.jsx","src/components/DatasetSearchFacets/index.tsx","src/components/LargeFileInfo/index.tsx","src/components/SearchButton/index.tsx","src/components/PageHeader/index.tsx","src/services/useSearchAPI/helpers.ts","src/templates/Dataset/index.jsx","src/templates/Dataset/Dataset.jsx","src/services/useMetastoreDataset/index.jsx","src/services/useMetastoreDataset/useMetastoreDataset.jsx","src/templates/Dataset/DatasetBody.jsx","src/services/useDatastore/index.js","src/services/useDatastore/useDatastore.jsx","src/services/useDatastore/fetch.js","src/components/ResourcePreview/index.jsx","src/services/useDatastore/transformConditions.js","src/services/useDatastore/transformSorts.js","src/components/Datatable/index.js","src/components/Datatable/Datatable.jsx","src/components/Datatable/TruncatedResizeableTHead.jsx","src/components/Datatable/FixedSizeTHead.jsx","src/components/ResourceHeader/index.jsx","src/components/DataTablePageResults/index.js","src/components/DataTablePageResults/DataTablePageResults.tsx","src/components/DataTableDensity/index.jsx","src/components/ManageColumns/index.jsx","src/components/DataTableRowChanger/index.jsx","src/assets/icons/download.jsx","src/assets/icons/copy.jsx","src/assets/icons/settings.jsx","src/components/DatasetTags/index.jsx","src/components/DatasetDownloads/index.jsx","src/components/DatasetAdditionalInformation/index.jsx","src/components/ResourceFooter/index.jsx","src/components/ResourceInformation/index.jsx","src/templates/FilteredResource/functions.js","src/assets/metadataMapping.jsx","src/assets/frequencyMap.js","src/templates/Header/index.js","src/templates/Header/Header.jsx","src/components/DesktopHeader/index.jsx","src/components/DesktopHeader/DesktopHeader.jsx","src/components/SearchModal/index.jsx","node_modules/@parcel/runtime-js/lib/runtime-b3ccd292a961d1cb.js","src/components/MobileHeader/index.jsx","src/components/MobileHeader/MobileHeader.jsx","node_modules/@parcel/runtime-js/lib/runtime-e80621d7a1274d28.js","src/templates/Footer/index.jsx","src/services/useSearchAPI/index.jsx","src/services/useSearchAPI/useSearchAPI.jsx","src/components/Hero/index.jsx","src/components/ApiDocumentation/index.jsx","src/components/ResourceFilter/index.jsx","src/components/ResourceConditionField/index.jsx","src/assets/icons/close.jsx","src/components/Breadcrumb/index.jsx","src/components/Breadcrumb/Breadcrumb.jsx","src/templates/FilteredResource/index.jsx","src/templates/FilteredResource/FilteredResourceBody.jsx","src/templates/FilteredResource/QueryBuilder.jsx","src/templates/FilteredResource/QueryRow.jsx","src/templates/FilteredResource/QueryTitle.jsx","src/components/useAddLoginLink/index.jsx","src/components/useScrollToTop/index.jsx"],"sourcesContent":["// Components\nexport { default as NavBar } from './components/NavBar';\n\n\n// Templates\nexport { default as APIPage } from './templates/APIPage';\nexport { default as PageNotFound } from './templates/PageNotFound';\nexport { default as DatasetSearch } from './templates/DatasetSearch';\nexport { default as Dataset } from './templates/Dataset';\nexport { default as Header } from './templates/Header';\nexport { default as Footer } from './templates/Footer';\n\n// Services\nexport { default as useSearchAPI } from './services/useSearchAPI';\nexport { default as useDatastore } from './services/useDatastore';\nexport { transformTableSortToQuerySort } from './services/useDatastore/transformSorts';\n\n// export { default as NavLink } from './components/NavLink';\n// export { default as DatasetTags } from './components/DatasetTags';\n// export { default as DatasetDownloads } from './components/DatasetDownloads';\nexport { default as Hero } from './components/Hero';\n// export { default as SearchModal } from './components/SearchModal';\nexport { default as DatasetSearchListItem } from './components/DatasetSearchListItem';\n// export { default as SubMenu } from './components/SubMenu';\nexport { default as ApiDocumentation } from './components/ApiDocumentation';\n// export { default as ResourceConditionField } from './components/ResourceConditionField';\nexport { default as ResourceFilter } from './components/ResourceFilter';\nexport { default as ResourceHeader } from './components/ResourceHeader';\nexport { default as ResourcePreview } from './components/ResourcePreview';\nexport { default as ResourceFooter } from './components/ResourceFooter';\nexport { default as Breadcrumb } from './components/Breadcrumb';\nexport { default as TransformedDate } from './components/TransformedDate';\nexport { default as DataTable } from './components/Datatable';\nexport { buildRows } from './components/DatasetAdditionalInformation';\n\n// Templates\n// export { default as Dataset } from './templates/Dataset';\n// export { default as DatasetSearch } from './templates/DatasetSearch';\n// export { default as DrupalPage } from './templates/DrupalPage';\n// export { default as Header } from './templates/header';\n// export { default as MobileHeader } from './templates/mobile_header';\n\nexport { default as FilteredResource } from './templates/FilteredResource';\n// export { default as QueryBuilder } from './templates/FilteredResource/QueryBuilder';\nexport { default as QueryTitle } from './templates/FilteredResource/QueryTitle';\nexport { buildOperatorOptions, convertUTCToLocalDate, cleanText, buildCustomColHeaders } from './templates/FilteredResource/functions';\n// export { default as APIPage } from './templates/APIPage';\n\n// Hooks\nexport { default as useAddLoginLink } from './components/useAddLoginLink';\nexport { default as useScrollToTop } from './components/useScrollToTop';\nexport { default as useMetastoreDataset } from './services/useMetastoreDataset';\n\n// Assets\n// export { default as frequencyMap } from './assets/frequencyMap';\nexport { defaultMetadataMapping } from './assets/metadataMapping';\n\nexport { default as DataTablePageResults } from './components/DataTablePageResults';\n","export { default } from './Navbar';\n","import React from 'react';\nimport { NavbarProps } from './Navbar.types';\nimport SubMenu from '../SubMenu';\nimport NavLink from '../NavLink';\n\nconst NavBar = ({ links, menuName, menuId, menuClasses, linkClasses, wrapLabel }: NavbarProps) => {\n return (\n <nav className={`dc-c-${menuId}-menu`} aria-labelledby={`dc-c-${menuId}-menu--heading`}>\n <h2 id={`dc-c-${menuId}-menu--heading`} className=\"ds-u-visibility--screen-reader\">\n {menuName}\n </h2>\n <ul className={menuClasses}>\n {links.map((link) => {\n if (link.submenu) {\n return (\n <SubMenu key={link.id} link={link} wrapLabel={wrapLabel} linkClasses={linkClasses} />\n );\n } else {\n return (\n <li key={link.id}>\n <NavLink link={link} className={linkClasses} wrapLabel={wrapLabel} />\n </li>\n );\n }\n })}\n </ul>\n </nav>\n );\n};\n\nNavBar.defaultProps = {\n wrapLabel: false,\n};\n\nexport default NavBar;\n","import React, { useEffect, useState, useRef } from 'react';\nimport { Button } from '@cmsgov/design-system';\nimport NavLink from '../NavLink';\n\nconst SubMenu = ({ link, linkClasses, wrapLabel }) => {\n const [isExpanded, setIsExapanded] = useState(false);\n const innerHtml = wrapLabel ? <span>{link.label}</span> : link.label;\n const menu = useRef();\n useEffect(() => {\n function handleClickOutside(event) {\n if (menu.current && !menu.current.contains(event.target)) {\n setIsExapanded(false);\n }\n }\n function handleFocusOut(event) {\n if (menu.current && !menu.current.contains(event.relatedTarget)) {\n setIsExapanded(false);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n menu.current.addEventListener('focusout', handleFocusOut);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n if (menu.current) {\n menu.current.removeEventListener('focusout', handleFocusOut);\n }\n };\n }, [menu, isExpanded]);\n\n return (\n <li className={`has-submenu ${isExpanded ? 'open' : ''}`} ref={menu}>\n <Button\n size=\"small\"\n variation=\"ghost\"\n onDark\n className={linkClasses}\n aria-haspopup=\"true\"\n aria-expanded={isExpanded}\n onClick={(e) => {\n e.preventDefault();\n setIsExapanded(!isExpanded);\n }}\n >\n {innerHtml}\n </Button>\n <ul className=\"dc-c-site-menu--sub-menu\">\n {link.submenu.map((s) => (\n <li key={s.id}>\n <NavLink link={s} wrapLabel={wrapLabel} />\n </li>\n ))}\n </ul>\n </li>\n );\n};\n\nexport default SubMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NavLink as RRDNavLink } from 'react-router-dom';\nimport './NavLink.scss';\n// import validator from 'validator';\n\nconst NavLink = ({ link, className, wrapLabel }) => {\n const innerHtml = wrapLabel ? <span>{link.label}</span> : link.label;\n\n // if (validator.isURL(link.url, { require_protocol: true })) {\n // return (\n // <a className={className} href={link.url}>\n // {innerHtml}\n // </a>\n // );\n // } else {\n return (\n <RRDNavLink\n className={({ isActive }) => (isActive ? `dc-c-active-link ${className}` : `${className}`)}\n to={link.url}\n >\n {innerHtml}\n </RRDNavLink>\n );\n // }\n};\n\nNavLink.defaultProps = {\n wrapLabel: false,\n className: null,\n};\n\nNavLink.propTypes = {\n link: PropTypes.shape({\n url: PropTypes.string,\n label: PropTypes.string,\n nonReactLink: PropTypes.bool,\n }).isRequired,\n className: PropTypes.string,\n /**\n * Will wrap the link label in a span for help with styling.\n */\n wrapLabel: PropTypes.bool,\n};\n\nexport default NavLink;\n","export { default } from './APIPage';\n","import React from 'react';\nimport qs from 'qs';\nimport SwaggerUI from 'swagger-ui-react';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst APIPage = ({ hideAuth, additionalParams, rootUrl }) => {\n const hasACA = additionalParams && additionalParams.ACA ? true : false;\n let params = {\n authentication: hideAuth ? false : undefined,\n ACA: hasACA ? additionalParams.ACA : undefined,\n redirect: hasACA ? false : undefined,\n };\n return (\n <section className=\"ds-l-container\">\n <SwaggerUI\n url={`${rootUrl}${qs.stringify(params, { addQueryPrefix: true })}`}\n docExpansion={'list'}\n defaultModelsExpandDepth={-1}\n />\n </section>\n )\n};\n\nAPIPage.defaultProps = {\n hideAuth: true,\n};\n\nexport default APIPage;\n","export { default } from './PageNotFound';\n","import React from 'react';\n\nconst PageNotFound = ({ siteUrl, content }) => {\n return (\n <section className=\"ds-l-container ds-u-padding-top--3\">\n {content ? (\n content\n ) : (\n <>\n <h1 className=\"ds-title\">Error: Page not found</h1>\n <p>\n We're sorry, but there is no {siteUrl} web page that matches your entry. You may have\n been directed here because:\n </p>\n <ol>\n <li>The address you typed contains a typo;</li>\n <li>The requested page may have expired or;</li>\n <li>The requested page may have been moved.</li>\n </ol>\n <p>\n <span className=\"ds-u-font-weight--bold\">Note:</span> If you were using a bookmark,\n please reset it once you find the correct page.\n </p>\n </>\n )}\n </section>\n );\n};\n\nexport default PageNotFound;\n","export { default } from './DatasetSearch';\n","import React, { useEffect, useState } from 'react';\nimport { useSearchParams, useLocation } from 'react-router-dom';\nimport qs from 'qs';\nimport withQueryProvider from '../../utilities/QueryProvider/QueryProvider';\nimport { Accordion, AccordionItem, TextField, Dropdown, Spinner, Button, Alert, Pagination } from '@cmsgov/design-system';\nimport DatasetSearchListItem from '../../components/DatasetSearchListItem';\nimport DatasetSearchFacets from '../../components/DatasetSearchFacets';\nimport LargeFileInfo from '../../components/LargeFileInfo';\nimport SearchButton from '../../components/SearchButton';\nimport PageHeader from '../../components/PageHeader';\nimport { useQuery } from '@tanstack/react-query';\nimport { separateFacets, transformUrlParamsToSearchObject } from '../../services/useSearchAPI/helpers';\n\nimport axios from 'axios';\nimport './dataset-search.scss';\nimport { DatasetSearchPageProps, SelectedFacetsType, SidebarFacetTypes } from '../../types/search';\nimport { TextFieldValue } from '@cmsgov/design-system/dist/types/TextField/TextField';\n\nconst DatasetSearch = (props: DatasetSearchPageProps) => {\n const {\n rootUrl,\n surveyLink,\n additionalParams,\n enableSort,\n defaultSort,\n pageTitle,\n filterTitle,\n showLargeFileWarning,\n introText\n } = props;\n \n const sortOptions = [\n { label: 'Newest', value: 'newest'},\n { label: 'Oldest', value: 'oldest'},\n { label: 'Title A-Z', value: 'titleAZ'},\n { label: 'Title Z-A', value: 'titleZA'}\n ];\n\n const defaultSortBy = \"\";\n const defaultFulltext = \"\";\n const defaultSelectedFacets = {theme: [], keyword: []};\n const defaultSortOrder = \"\";\n const defaultPage = 1;\n const defaultPageSize = 10;\n\n const location = useLocation();\n const transformedParams = transformUrlParamsToSearchObject(location.search, ['theme', 'keyword'], defaultSort);\n\n const [currentResultNumbers, setCurrentResultNumbers] = useState({total: 0, startingNumber: 0, endingNumber: 0});\n const [noResults, setNoResults] = useState(false);\n let [searchParams, setSearchParams] = useSearchParams();\n const [fulltext, setFullText] = useState(transformedParams.fulltext);\n const [filterText, setFilterText] = useState(transformedParams.fulltext);\n const [totalItems, setTotalItems] = useState(0);\n const [page, setPage] = useState(transformedParams.page ? transformedParams.page : defaultPage);\n const [sort, setSort] = useState(\n transformedParams.sort ? transformedParams.sort : defaultSort ? defaultSort.defaultSort : defaultSortBy\n );\n const [sortOrder, setSortOrder] = useState(\n transformedParams.sortOrder\n ? transformedParams.sortOrder\n : defaultSort ? defaultSort.defaultOrder : defaultSortOrder\n );\n const [sortDisplay, setSortDisplay] = useState(() => {\n return sort === 'modified' ? (sortOrder === 'desc' ? 'newest' : 'oldest') : (sortOrder === 'desc' ? 'titleZA' : 'titleAZ');\n })\n const [selectedFacets, setSelectedFacets] = useState<SelectedFacetsType>(\n transformedParams.selectedFacets\n ? transformedParams.selectedFacets\n : {\n theme: [],\n keyword: [],\n }\n )\n\n const setSortOptions = (value: string) => {\n setSortDisplay(value)\n switch(value) {\n case 'newest':\n setSort('modified');\n setSortOrder('desc');\n break;\n case 'oldest':\n setSort('modified');\n setSortOrder('asc');\n break;\n case 'titleAZ':\n setSort('title');\n setSortOrder('asc');\n break;\n case 'titleZA':\n setSort('title');\n setSortOrder('desc');\n break;\n }\n }\n\n function updateSelectedFacets(key: string, value: string) {\n const newFacets: SelectedFacetsType = { ...selectedFacets };\n if (key === 'theme') {\n const existingFacet = newFacets.theme.findIndex((s) => s === value);\n if (existingFacet > -1) {\n newFacets.theme.splice(existingFacet, 1);\n } else {\n newFacets.theme.push(value);\n }\n }\n if (key === 'keyword') {\n const existingFacet = newFacets.keyword.findIndex((s) => s === value);\n if (existingFacet > -1) {\n newFacets.keyword.splice(existingFacet, 1);\n } else {\n newFacets.keyword.push(value);\n }\n }\n setSelectedFacets(newFacets);\n }\n\n const pageSize = defaultPageSize;\n\n useEffect(() => {\n const baseNumber = Number(totalItems) > 0 ? 1 : 0;\n const startingNumber = baseNumber + (Number(pageSize) * Number(page) - Number(pageSize));\n const endingNumber = Number(pageSize) * Number(page);\n setCurrentResultNumbers({\n total: Number(totalItems),\n startingNumber: Number(totalItems) >= startingNumber ? startingNumber : 0,\n endingNumber: Number(totalItems) < endingNumber ? Number(totalItems) : endingNumber,\n });\n if (totalItems && totalItems <= 0 && currentResultNumbers !== null) {\n setNoResults(true);\n } else {\n setNoResults(false);\n }\n }, [totalItems, pageSize, page]);\n\n useEffect(() => {\n var params = buildSearchParams(true);\n if (params !== location.search) {\n setSearchParams(params);\n }\n }, [page, sort, sortOrder, fulltext, selectedFacets]);\n\n function resetFilters() {\n setFullText(defaultFulltext);\n setFilterText(defaultFulltext);\n setSelectedFacets(defaultSelectedFacets);\n setPage(defaultPage);\n }\n\n function buildSearchParams(includePage: boolean) {\n let newParams: any = {};\n if (Number(page) !== 1 && includePage) {\n newParams.page = page;\n }\n if (sort !== defaultSort.defaultSort) {\n newParams.sort = sort;\n }\n if (sortOrder !== defaultSort.defaultOrder) {\n newParams.sortOrder = sortOrder;\n }\n if (fulltext !== '') {\n newParams.fulltext = fulltext;\n }\n if (Object.keys(selectedFacets).length) {\n Object.keys(selectedFacets).forEach((key) => {\n newParams[key] = selectedFacets[key];\n });\n }\n return qs.stringify(newParams, { addQueryPrefix: includePage, encode: true });\n }\n\n let params = {\n fulltext: fulltext ? fulltext : undefined,\n ...selectedFacets,\n sort: sort ? sort : undefined,\n ['sort-order']: sortOrder ? sortOrder : undefined,\n page: page !== 1 ? page : undefined, //use index except for when submitting to Search API\n ['page-size']: pageSize !== 10 ? pageSize : undefined,\n ...additionalParams\n }\n const { data, status, error } = useQuery([\"datasets\", params], () =>\n axios.get(`${rootUrl}/search/?${qs.stringify(params, {arrayFormat: 'comma',encode: false })}`)\n );\n\n if (data && totalItems != data.data.total) setTotalItems(data.data.total);\n\n const facets: SidebarFacetTypes = separateFacets(data ? data.data.facets : []);\n\n return (\n <>\n <PageHeader headerText={pageTitle} />\n <section className=\"ds-l-container\">\n <div className=\"ds-l-row\">\n <div className=\"ds-l-col--12 ds-u-margin-bottom--3\">\n {introText ? introText : null}\n {showLargeFileWarning && (\n <div className=\"ds-l-row ds-u-margin-bottom--6\">\n <div className=\"ds-l-md-col--12\">\n <Accordion bordered>\n <AccordionItem\n contentClassName=\"downloading-datasets\"\n heading=\"Please read before downloading datasets\"\n >\n <LargeFileInfo />\n </AccordionItem>\n </Accordion>\n </div>\n </div>\n )}\n <form\n onSubmit={(e) => {\n e.preventDefault();\n setFullText(filterText);\n }}\n className=\"dkan-dataset-search ds-l-form-row ds-u-padding-bottom--6 ds-u-border-bottom--1\"\n >\n <span className=\"ds-c-field__before fas fa-search ds-u-display--none ds-u-sm-display--inline-block\" />\n <TextField\n fieldClassName=\"ds-u-margin--0\"\n value={filterText as TextFieldValue}\n className=\"ds-u-padding-right--2 ds-l-col--10\"\n label=\"Search datasets\"\n labelClassName=\"ds-u-visibility--screen-reader\"\n placeholder=\"Search datasets\"\n name=\"dataset_fulltext_search\"\n onChange={(e) => setFilterText(e.target.value)}\n />\n <SearchButton />\n </form>\n </div>\n </div>\n <div className=\"ds-l-row ds-u-padding-top--6\">\n <div className=\"ds-l-col--12 ds-l-sm-col--4\">\n <Button\n className=\"dc-dataset-search--clear-all-filters ds-u-margin-bottom--2\"\n onClick={() => resetFilters()}\n >\n Clear all filters\n </Button>\n {facets.theme && (\n <DatasetSearchFacets\n facets={facets.theme}\n title=\"Categories\"\n onClickFunction={updateSelectedFacets}\n selectedFacets={selectedFacets.theme}\n />\n )}\n {facets.keyword && (\n <DatasetSearchFacets\n facets={facets.keyword}\n title={filterTitle}\n onClickFunction={updateSelectedFacets}\n selectedFacets={selectedFacets.keyword}\n />\n )}\n </div>\n <div className=\"ds-l-col--12 ds-l-sm-col--8\">\n {status === \"loading\" ? (\n <Spinner\n className=\"ds-u-valign--middle\"\n aria-valuetext=\"Dataset Search loading\"\n role=\"status\"\n />\n ) : (\n <>\n <div className=\"ds-u-display--flex ds-u-justify-content--between ds-u-align-items--end ds-u-flex-wrap--reverse ds-u-sm-flex-wrap--wrap\">\n <div className=\"ds-l-col--12 ds-l-sm-col--6 ds-l-md-col--8\">\n {currentResultNumbers && (\n <p className=\"ds-u-margin-y--0\" role=\"region\" aria-live=\"polite\" data-testid=\"currentResults\" >\n Showing {currentResultNumbers.startingNumber} -{' '}\n {currentResultNumbers.endingNumber} of {data ? data.data.total : \"\"} datasets\n </p>\n )}\n </div>\n {enableSort && (\n <div className=\"ds-l-col--12 ds-l-sm-col--6 ds-l-md-col--4 ds-u-sm-padding-right--0\">\n <Dropdown\n options={sortOptions}\n value={sortDisplay}\n label=\"Sort\"\n labelClassName=\"ds-u-margin-top--0\"\n name=\"dataset_search_sort\"\n onChange={(e) => setSortOptions(e.target.value)}\n />\n </div>\n )}\n </div>\n <ol className=\"dc-dataset-search-list ds-u-padding--0\" data-testid=\"results-list\">\n {noResults && <Alert variation=\"error\" heading=\"No results found.\" />}\n {data && Object.keys(data.data.results).map((key) => {\n return data.data.results[key];\n }).map((item) => (\n <li className=\"ds-u-padding--0\" key={item.identifier}>\n <DatasetSearchListItem item={item} updateFacets={updateSelectedFacets} />\n </li>\n ))}\n </ol>\n {data && data.data.total != 0 && (\n <Pagination\n currentPage={Number(page)}\n totalPages={Math.ceil(Number(data.data.total) / pageSize)}\n onPageChange={(evt, page) => {\n evt.preventDefault();\n window.scroll(0, 0);\n setPage(page);\n }}\n renderHref={(page) => {\n const searchParams = buildSearchParams(false);\n const includeAnd = searchParams ? '&' : '';\n return `/datasets?page=${page}${includeAnd}${searchParams}`;\n }}\n />\n )}\n\n </>\n )}\n </div>\n </div>\n </section>\n </>\n );\n};\n\nDatasetSearch.defaultProps = {\n pageTitle: 'Dataset Explorer',\n introText: '',\n fulltextLabel: 'Search term',\n fulltextLabelClassName: 'ds-u-visibility--screen-reader',\n fulltextPlaceholder: 'Search datasets',\n filterTitle: 'Tags',\n formClassName: 'ds-u-display--flex ds-u-justify-content--between ds-u-margin-bottom--2',\n enableSort: true,\n sortOptions: [\n { label: 'Newest', value: 'newest'},\n { label: 'Oldest', value: 'oldest'},\n { label: 'Title A-Z', value: 'titleAZ'},\n { label: 'Title Z-A', value: 'titleZA'}\n ],\n defaultSort: { defaultSort: 'modified', defaultOrder: 'desc' },\n showLargeFileWarning: false,\n};\n\nexport default withQueryProvider(DatasetSearch);\n","import React from 'react';\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\n\nconst queryClient = new QueryClient();\n\nconst withQueryProvider = (WrappedComponent) => (props) => {\n return (\n <QueryClientProvider client={queryClient}>\n <WrappedComponent { ...props }/>\n </QueryClientProvider>\n )\n}\n\nexport default withQueryProvider;","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport DOMPurify from 'dompurify';\nimport TextTruncate from 'react-text-truncate';\n\nimport { Button, Badge } from '@cmsgov/design-system';\nimport TransformedDate from '../TransformedDate';\nimport './dataset-search-list-item.scss';\n\nconst dangerousDescriptionElement = ({ children }) => (\n <span dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(children) }} />\n);\n\nconst DatasetSearchListItem = ({ item, updateFacets }) => {\n const { title, modified, description, theme, keyword, identifier } = item;\n\n const truncatedDescription = (\n <TextTruncate\n line={3}\n element={'p'}\n containerClassName=\"ds-u-margin-top--0\"\n truncateText=\"…\"\n textElement={dangerousDescriptionElement}\n text={description}\n textTruncateChild=\"\"\n />\n );\n return (\n <div className=\"dc-dataset-searchlist-item ds-u-border-top--1 ds-u-margin-bottom--5\">\n <div className=\"ds-l-row ds-u-padding-top--5\">\n <div className=\"ds-l-sm-col--7 ds-l-col--12\">\n {theme && (\n <ul className=\"ds-u-padding--0 ds-u-display--flex ds-u-flex-direction--row ds-u-flex-wrap--wrap\">\n {theme.map((t) => (\n <li key={t} className=\"ds-u-margin-right--1 ds-u-margin-bottom--1\">\n <Badge variation=\"info\">{t}</Badge>\n </li>\n ))}\n </ul>\n )}\n </div>\n <span className=\"ds-l-sm-col--5 ds-l-col--12 ds-u-color--gray ds-u-sm-text-align--right\">\n Updated <TransformedDate date={modified} />\n </span>\n </div>\n <h2 className=\"ds-u-margin-y--1 ds-text-heading--xl\">\n <Link className=\"ds-u-color--base\" to={`/dataset/${identifier}`}>\n {title}\n </Link>\n </h2>\n {truncatedDescription}\n <div>\n {keyword && (\n <ul className=\"ds-u-padding--0 ds-u-display--flex ds-u-flex-wrap--wrap\">\n {keyword.map((k) => (\n <li key={k}>\n <Badge\n className=\"ds-u-radius ds-u-fill--primary-alt-lightest ds-u-color--base ds-u-margin-right--1 ds-u-margin-bottom--2\"\n variation=\"info\"\n >\n {k}\n </Badge>\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n );\n};\n\nexport default DatasetSearchListItem;\n","import React from 'react';\n\nconst TransformedDate = ({ date, options }) => {\n const rawDate = new Date(date);\n let modifiedDate = '';\n if (rawDate) {\n modifiedDate = rawDate.toLocaleDateString('en-US', options);\n }\n return <>{modifiedDate}</>;\n};\n\nTransformedDate.defaultProps = {\n options: {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n timeZone: 'UTC',\n },\n};\n\nexport default TransformedDate;\n","import React from 'react';\nimport { Choice, Accordion, AccordionItem } from '@cmsgov/design-system';\nimport { SearchAPIFacetType, SearchFacetsPropTypes } from '../../types/search';\nimport './dataset-search-facets.scss';\n\nconst SearchFacets = (props: SearchFacetsPropTypes) => {\n const { facets, title, onClickFunction, selectedFacets = [] } = props;\n return (\n <div className=\"dkan-dataset-search--facet-container ds-u-margin-bottom--4\">\n <Accordion>\n <AccordionItem\n contentClassName=\"ds-u-padding-left--1 ds-u-padding-right--0\"\n heading={title}\n defaultOpen\n >\n <ul>\n {facets\n .filter((f: SearchAPIFacetType) => {\n return Number(f.total) > 0;\n })\n .map((f: SearchAPIFacetType) => {\n return (\n <li key={f.name as React.Key}>\n <Choice\n className=\"ds-u-margin-y--1\"\n checked={selectedFacets.findIndex((s) => s === f.name) > -1 ? true : false}\n name={`facet_theme_${f.name}`}\n type=\"checkbox\"\n label={`${f.name} (${f.total})`}\n value={f.name}\n onClick={() => onClickFunction(f.type, f.name)}\n />\n </li>\n );\n })}\n </ul>\n </AccordionItem>\n </Accordion>\n </div>\n );\n};\n\nexport default SearchFacets;\n","import { Link } from 'react-router-dom';\n\ntype LargeFileInfoProps = {\n className?: string;\n};\n\nconst LargeFileInfo = (props: LargeFileInfoProps) => (\n <div className={props.className}>\n <p>\n Some datasets contain very large files and, depending on your network characteristics and\n software, may take a long time to download or fail to download. Additionally, the number of\n rows in the file may be larger than the maximum rows your version of Microsoft Excel supports.\n If you can't download the file, we recommend engaging your IT support staff. If you are able\n to download the file but are unable to open it in MS Excel or get a message that the data has\n been truncated, we recommend trying alternative programs such as MS Access, Universal Viewer,\n Editpad or any other software your organization has available for large datasets.\n </p>\n <p>\n <Link to=\"/about/software-specs-and-limits\">\n Click here to learn more about software specifications and limits.\n </Link>\n </p>\n </div>\n);\n\nexport default LargeFileInfo;\n","import React from 'react';\nimport { Button } from '@cmsgov/design-system';\n\ntype SearchButtonProps = {\n text?: string;\n};\n\nconst SearchButton = (props: SearchButtonProps) => {\n const { text } = props;\n\n return (\n <Button type=\"submit\" variation=\"solid\" className=\"ds-l-col--2\">\n <span className=\"fas fa-search small-text ds-u-sm-display--none\" />\n <div className=\"full-text ds-u-display--none ds-u-sm-display--inline-block ds-u-display--flex ds-u-align-items--center\">\n <span>{text ? text : 'Search'}</span>\n {` `}\n <span className=\"fas fa-arrow-right\" />\n </div>\n </Button>\n );\n};\n\nexport default SearchButton;\n","import React from 'react';\ntype pageHeaderProps = {\n headerText: string;\n};\n\nconst PageHeader = (props: pageHeaderProps) => {\n const { headerText } = props;\n return (\n <div className=\"ds-l-container ds-u-padding-top--4\">\n <div className=\"ds-l-row\">\n <div className=\"ds-l-md-col--8\">\n <h1 className=\"dc-c-entity__name ds-h1 ds-u-margin-bottom--6\">\n <span className=\"ds-u-margin-right--2\" data-testid=\"profile-full-name\">\n {headerText}\n </span>\n </h1>\n </div>\n </div>\n </div>\n );\n};\n\nexport default PageHeader;\n","import axios from 'axios';\nimport qs from 'qs';\nimport { SearchAPIFacetType, SortType } from '../../types/search';\n\nexport function separateFacets(facets: SearchAPIFacetType[]) {\n let facetObj: any = {};\n if (facets) {\n facets.forEach((f) => {\n if(facetObj[f.type]) {\n facetObj[f.type] = [...facetObj[f.type], f]\n } else {\n facetObj[f.type] = [f]\n }\n })\n return facetObj;\n }\n}\n\nexport function transformUrlParamsToSearchObject(searchParams: string, facetList: [string, string], defaultSortOptions: SortType) {\n const params = qs.parse(searchParams, { ignoreQueryPrefix: true });\n let themes = params.theme as string[];\n let keywords = params.keyword as string[];\n return {\n page: params.page,\n sort: !params.sort ? defaultSortOptions.defaultSort : params.sort,\n sortOrder: !params.sortOrder ? defaultSortOptions.defaultOrder : params.sortOrder,\n fulltext: params.fulltext,\n selectedFacets: {\n theme: themes ? themes : [],\n keyword: keywords ? keywords : [],\n },\n };\n}\n\nexport async function fetchDatasets(rootUrl: string, options: any, additionalParams: any) {\n const { fulltext, selectedFacets, sort, sortOrder, page, pageSize } = options;\n\n let params = {\n fulltext: fulltext ? fulltext : undefined,\n ...selectedFacets,\n sort: sort ? sort : undefined,\n ['sort-order']: sortOrder ? sortOrder : undefined,\n page: page !== 1 ? page : undefined, //use index except for when submitting to Search API\n ['page-size']: pageSize !== 10 ? pageSize : undefined,\n ...additionalParams\n }\n return await axios.get(`${rootUrl}/search/?${qs.stringify(params, {arrayFormat: 'comma',encode: false})}`)\n}\n","export { default } from './Dataset';","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport useMetastoreDataset from '../../services/useMetastoreDataset';\nimport DatasetBody from './DatasetBody';\nimport PageNotFound from '../PageNotFound';\nimport { defaultMetadataMapping } from '../../assets/metadataMapping';\nimport './dataset.scss';\n\nconst Dataset = ({\n id,\n rootUrl,\n additionalParams,\n customColumns,\n setDatasetTitle,\n columnSettings,\n columnWidths,\n customMetadataMapping,\n}) => {\n const metastore = useMetastoreDataset(id, rootUrl, additionalParams);\n const { dataset } = metastore;\n const title = dataset.title ? dataset.title : '';\n const metadataMapping = {\n ...defaultMetadataMapping,\n ...customMetadataMapping,\n };\n useEffect(() => {\n if (title) {\n if (setDatasetTitle) {\n setDatasetTitle(title);\n }\n }\n }, [title]);\n const notFoundContent = (\n <div className=\"ds-u-padding-top--3\">\n <h1 className=\"ds-title\">Error: Dataset not found</h1>\n <p>\n We're sorry, but there is no dataset ID that matches your entry. You may have been directed\n here because:\n </p>\n <ol>\n <li>The address you typed contains a typo;</li>\n <li>The requested dataset no longer exists.</li>\n </ol>\n <p>\n <span className=\"ds-u-font-weight--bold\">Note:</span> If you were using a bookmark, please\n reset it once you find the correct dataset.\n </p>\n </div>\n );\n return (\n <>\n {dataset.error ? (\n <PageNotFound content={notFoundContent} />\n ) : (\n <DatasetBody\n rootUrl={rootUrl}\n id={id}\n dataset={dataset}\n additionalParams={additionalParams}\n customColumns={customColumns ? customColumns : []}\n columnSettings={columnSettings}\n columnWidths={columnWidths}\n metadataMapping={metadataMapping}\n />\n )}\n </>\n );\n};\n\nDataset.propTypes = {\n id: PropTypes.string.isRequired,\n rootUrl: PropTypes.string.isRequired,\n};\n\nexport default Dataset;\n","export { default } from './useMetastoreDataset';","import { useState, useEffect } from 'react';\nimport qs from 'qs';\nimport axios from 'axios';\n\nconst useMetastoreDataset = (datasetId, rootAPIUrl, additionalParams={}) => {\n const [dataset, setDataset] = useState({});\n const [id, setId] = useState(datasetId)\n const [rootUrl, setRootUrl] = useState(rootAPIUrl)\n const additionalParamsString = Object.keys(additionalParams).length ? `&${qs.stringify(additionalParams)}` : '';\n useEffect(() => {\n async function fetchData() {\n return axios.get(`${rootUrl}/metastore/schemas/dataset/items/${id}?show-reference-ids${additionalParamsString}`)\n .then((res) => setDataset(res.data))\n .catch((error) => setDataset({error: error}));\n }\n fetchData();\n }, [id, rootUrl]);\n return {dataset, setId, setRootUrl};\n}\n\nexport default useMetastoreDataset;\n","import React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport DOMPurify from 'dompurify';\nimport SwaggerUI from 'swagger-ui-react';\nimport { Badge, Button } from '@cmsgov/design-system';\nimport useDatastore from '../../services/useDatastore';\nimport ResourcePreview from '../../components/ResourcePreview';\nimport ResourceHeader from '../../components/ResourceHeader';\nimport DatasetTags from '../../components/DatasetTags';\nimport DatasetDownloads from '../../components/DatasetDownloads';\nimport DatasetAdditionalInformation from '../../components/DatasetAdditionalInformation';\nimport TransformedDate from '../../components/TransformedDate';\nimport ResourceFooter from '../../components/ResourceFooter';\nimport ResourceInformation from '../../components/ResourceInformation';\nimport { buildCustomColHeaders } from '../FilteredResource/functions';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst DatasetBody = ({\n rootUrl,\n id,\n dataset,\n additionalParams,\n customColumns,\n columnSettings,\n columnWidths,\n metadataMapping,\n}) => {\n let apiDocs = useRef();\n const [tablePadding, setTablePadding] = useState('ds-u-padding-y--1');\n const [fileFormat, setFileFormat] = useState('');\n\n let distribution = {};\n let distribution_array = dataset.distribution ? dataset.distribution : [];\n if (distribution_array.length) {\n distribution = distribution_array[0];\n }\n const resource = useDatastore(\n '',\n rootUrl,\n {\n limit: 10,\n manual: true,\n },\n additionalParams\n );\n useEffect(() => {\n if (distribution.identifier) {\n let localFileFormat = '';\n if (distribution.data.format) {\n localFileFormat = distribution.data.format.toUpperCase();\n } else if (distribution.data.mediaType) {\n const mediaType = distribution.data.mediaType.split('/');\n if (mediaType.length && mediaType[1]) {\n localFileFormat = mediaType[1].toUpperCase();\n }\n }\n setFileFormat(localFileFormat);\n if (localFileFormat === 'CSV') {\n resource.setResource(distribution.identifier);\n resource.setManual(false);\n }\n }\n }, [distribution]);\n\n return (\n <section className=\"ds-l-container\">\n <div className=\"ds-l-row ds-u-padding-top--3\">\n <div className=\"ds-l-md-col--9 ds-l-sm-col--12\">\n <h1 className=\"ds-title ds-u-word-break\">{dataset.title}</h1>\n <div className=\"ds-l-row\">\n <p className=\"ds-l-col--6\">\n {dataset.theme ? <Badge variation=\"info\">{dataset.theme[0].data}</Badge> : null}\n </p>\n {dataset.modified && (\n <p className=\"ds-l-col--6 ds-u-color--gray ds-u-text-align--right\">\n Updated <TransformedDate date={dataset.modified} />\n </p>\n )}\n </div>\n <p className=\"dc-c-metadata-description\" dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(dataset.description) }} />\n {resource.columns && Object.keys(resource.schema).length ? (\n <>\n <h2 className=\"dc-resource-header\">Resource Preview</h2>\n {resource.columns ? (\n <div>\n <ResourceHeader\n id={id}\n includeFiltered\n includeDensity={true}\n tablePadding={tablePadding}\n setTablePadding={setTablePadding}\n distribution={distribution}\n resource={resource}\n />\n <ResourcePreview\n id={distribution.identifier}\n tablePadding={tablePadding}\n resource={resource}\n customColumns={buildCustomColHeaders(\n customColumns,\n resource.columns,\n resource.schema[distribution_array[0].identifier]\n )}\n columnSettings={columnSettings}\n options={{\n layout: 'flex',\n columnFilter: false,\n columnSort: true,\n columnResize: true,\n }}\n columnWidths={columnWidths}\n />\n <ResourceFooter resource={resource} />\n <ResourceInformation resource={resource} />\n </div>\n ) : (\n <Spinner aria-valuetext=\"Dataset loading\" role=\"status\" />\n )}\n </>\n ) : (\n ''\n )}\n {dataset.identifier && (\n <DatasetAdditionalInformation\n datasetInfo={dataset}\n id={dataset.identifier}\n metadataMapping={metadataMapping}\n />\n )}\n {Object.keys(distribution).length && fileFormat === 'CSV' && dataset.identifier ? (\n <div ref={apiDocs}>\n <h2>Try the API</h2>\n <SwaggerUI\n url={`${rootUrl}/metastore/schemas/dataset/items/${\n dataset.identifier\n }/docs${\n additionalParams && additionalParams.ACA\n ? '?ACA=' + additionalParams.ACA + '&redirect=false'\n : ''\n }`}\n docExpansion={'list'}\n defaultModelsExpandDepth={-1}\n />\n </div>\n ) : (\n ''\n )}\n </div>\n <div className=\"ds-l-md-col--3 ds-l-sm-col--12\">\n {Object.keys(distribution).length ? (\n <DatasetDownloads\n dataDictionaryURL={dataset.describedBy}\n dataDictionaryType={dataset.describedByType}\n distributions={dataset.distribution}\n />\n ) : (\n ''\n )}\n {dataset.keyword && (\n <DatasetTags keywords={dataset.keyword} />\n )}\n\n {Object.keys(distribution).length && fileFormat === 'CSV' ? (\n <div className=\"dc-c-dataset-tags ds-u-margin-bottom--3 ds-u-padding--2 ds-u-border ds-u-border--1\">\n <h2 className=\"ds-u-color--primary ds-u-font-size--h3 ds-u-margin-top--0 ds-u-margin-bottom--2 ds-u-padding-bottom--2\">\n API\n </h2>\n <Button\n variation=\"ghost\"\n onClick={() =>\n window.scrollTo({\n behavior: 'smooth',\n top: apiDocs.current.offsetTop,\n })\n }\n >\n Scroll to dataset API\n </Button>\n </div>\n ) : (\n ''\n )}\n </div>\n </div>\n </section>\n );\n};\n\nDatasetBody.propTypes = {\n id: PropTypes.string.isRequired,\n dataset: PropTypes.object.isRequired,\n};\n\nexport default DatasetBody;\n","export { default } from './useDatastore';","import { useState, useEffect, useRef } from \"react\";\nimport { fetchDataFromQuery } from \"./fetch\";\n\nconst useDatastore = (\n resourceId,\n rootAPIUrl,\n options,\n additionalParams = {}\n) => {\n const keys = options.keys ? options.keys : true;\n const { prepareColumns } = options;\n const [manual, setManual] = useState(options.manual ? options.manual : false);\n const [requireConditions, setRequireConditions] = useState(\n options.requireConditions ? options.requireConditions : false\n );\n const [values, setValues] = useState([]);\n const [id, setResource] = useState(resourceId);\n const [rootUrl, setRootUrl] = useState(rootAPIUrl);\n const [limit, setLimit] = useState(options.limit ? options.limit : 20);\n const [count, setCount] = useState(null);\n const [columns, setColumns] = useState([]);\n const [offset, setOffset] = useState(options.offset ? options.offset : 0);\n const [loading, setLoading] = useState(false);\n const [conditions, setConditions] = useState(\n options.conditions ? options.conditions : undefined\n );\n const [sort, setSort] = useState(options.sort ? options.sort : undefined);\n const [groupings, setGroupings] = useState(\n options.groupings ? options.groupings : undefined\n );\n const [schema, setSchema] = useState({});\n // const [joins, setJoins] = useState()\n const [properties, setProperties] = useState(\n options.properties ? options.properties : undefined\n );\n const prevLimitRef = useRef();\n const prevOffsetRef = useRef();\n\n useEffect(() => {\n prevLimitRef.current = limit;\n prevOffsetRef.current = offset;\n });\n const prevLimit = prevLimitRef.current;\n const prevOffset = prevOffsetRef.current;\n\n function fetchData() {\n let newOffset =\n prevLimit === limit ? (prevOffset !== offset ? offset : 0) : 0;\n setOffset(newOffset);\n fetchDataFromQuery(\n id,\n rootUrl,\n {\n keys,\n limit,\n offset: newOffset,\n conditions,\n sort,\n groupings,\n prepareColumns,\n properties,\n setValues,\n setCount,\n setColumns,\n setLoading,\n setSchema,\n setProperties,\n },\n additionalParams\n );\n }\n\n useEffect(() => {\n if (!loading && !manual) {\n if (!requireConditions) {\n fetchData();\n } else if (requireConditions) {\n if (conditions && conditions.length) {\n fetchData();\n } else {\n setCount(null);\n setValues([]);\n }\n }\n }\n }, [id, rootUrl, offset, conditions, sort, limit, requireConditions]);\n\n return {\n loading,\n values,\n count,\n columns,\n limit,\n offset,\n schema,\n conditions,\n properties,\n setProperties,\n setGroupings,\n setResource,\n setRootUrl,\n setLimit,\n setOffset,\n setConditions,\n setSort,\n setManual,\n setRequireConditions,\n fetchData,\n };\n};\n\nexport default useDatastore;\n","import axios from \"axios\";\nimport qs from \"qs\";\n\nexport async function fetchDataFromQuery(\n id,\n rootUrl,\n options,\n additionalParams\n) {\n const {\n keys,\n limit,\n offset,\n conditions,\n sort,\n groupings,\n prepareColumns,\n properties,\n setValues,\n setCount,\n setColumns,\n setLoading,\n setSchema,\n } = options;\n if (!id) {\n // TODO: Throw error\n return false;\n }\n if (typeof setLoading === \"function\") {\n setLoading(true);\n }\n return await axios({\n method: \"GET\",\n url: `${rootUrl}/datastore/query/${id}`,\n params: {\n keys: keys,\n limit: limit,\n offset: offset,\n conditions: conditions,\n sorts: sort,\n properties: properties,\n groupings: groupings,\n ...additionalParams,\n },\n paramsSerializer: {\n serialize: qs.stringify\n },\n // paramsSerializer: (params) => {\n // return qs.stringify(params);\n // },\n }).then((res) => {\n const { data } = res;\n const propertyKeys =\n data.schema[id] && data.schema[id].fields\n ? Object.keys(data.schema[id].fields)\n : [];\n setValues(data.results), setCount(data.count);\n if (propertyKeys.length) {\n setColumns(prepareColumns ? prepareColumns(propertyKeys) : propertyKeys);\n }\n setSchema(data.schema);\n if (typeof setLoading === \"function\") {\n setLoading(false);\n }\n return data;\n });\n}\n","import React from 'react';\n\nimport { TextField, Spinner } from '@cmsgov/design-system';\nimport { transformTableFilterToQueryCondition } from '../../services/useDatastore/transformConditions';\nimport { transformTableSortToQuerySort} from '../../services/useDatastore/transformSorts';\nimport DataTable from '../Datatable';\n\n\nfunction calculateMaxWidth(previewSize) {\n return Math.floor(previewSize * 0.84);\n}\n\nexport function prepareColumns(columns, schema) {\n return columns.map((column) => ({\n header:\n schema && schema.fields[column].description ? schema.fields[column].description : column,\n accessor: column,\n }));\n}\n\nfunction DefaultColumnFilter({ column: { Header, accessor, setFilter, filterValue } }) {\n return (\n <TextField\n label={`Filter by ${Header}`}\n onChange={(e) => {\n setFilter(e.target.value) || undefined;\n }}\n labelClassName=\"ds-u-visibility--screen-reader\"\n name={accessor}\n value={filterValue || ''}\n />\n );\n}\n\nconst ResourcePreview = ({\n tablePadding,\n id,\n options,\n resource,\n defaultSort,\n customColumns,\n truncateCellHeader,\n columnSettings,\n columnWidths,\n customClasses,\n canResize,\n}) => {\n\n return (\n <div\n id=\"resource-preview\"\n className=\"ds-u-overflow--auto ds-u-border-x--1 ds-u-border-bottom--1\"\n >\n <DataTable\n // filterTitle=\"Filter columns\"\n data={resource.values}\n canResize={canResize}\n sortDefaults={defaultSort}\n columns={\n customColumns ? customColumns : prepareColumns(resource.columns, resource.schema[id])\n }\n // schema={resource.schema}\n // totalRows={parseInt(resource.totalRows)}\n // limit={resource.limit}\n // offset={resource.offset}\n // loading={resource.loading}\n setSort={resource.setSort}\n // setConditions={resource.setConditions}\n // conditionsTransform={transformTableFilterToQueryCondition}\n sortTransform={transformTableSortToQuerySort}\n tablePadding={tablePadding}\n className=\"dc-c-datatable\"\n customColumnFilter={DefaultColumnFilter}\n options={options}\n CustomLoadingComponent={\n <div className=\"ds-u-display--flex ds-u-padding--3\">\n <Spinner\n className=\"ds-u-valign--middle\"\n role=\"status\"\n aria-valuetext=\"Datatable loading\"\n />\n </div>\n }\n CustomNoResults={\n <div className=\"ds-u-display--flex ds-u-padding--3\">\n <p>No results returned.</p>\n </div>\n }\n />\n </div>\n );\n};\n\nResourcePreview.defaultProps = {\n options: {\n layout: 'flex',\n columnFilter: false,\n columnSort: true,\n columnResize: true,\n },\n truncateCellHeader: true,\n defaultSort: [],\n canResize: true,\n};\n\nexport default ResourcePreview;\n","// OPERATORS\n// =\n// <> not equal to\n// BETWEEN\n// IN\n// NOT IN\n// >=\n// <=\n// like\n\nexport function transformTableFilterToQueryCondition(filterArray) {\n const conditions = filterArray.map((f) => {\n return {\n resource: 't',\n property: f.id,\n value: `%${f.value}%`,\n operator: 'LIKE',\n }\n });\n return conditions;\n}\n\nexport function transformTableFilterToSQLCondition(filterArray) {\n if(!filterArray || filterArray.length === 0) {\n return '';\n }\n\n const where_clauses = [];\n filterArray.forEach((v, i) => {\n // Switch delimiter to, and strip any double-quote for Dkan2's sql query.\n let value = `%25${v.value}%25`;\n where_clauses[i] = `${v.id} = \"${v.value.replace('\"', '')}\"`;\n });\n return `[WHERE ${where_clauses.join(' AND ')}]`;\n}\n","export function transformTableSortToQuerySort(sortArray) {\n let newQuery = [];\n sortArray.forEach((s) => {\n return newQuery.push({property: s.id, order: s.desc ? 'desc' : 'asc'})\n })\n return newQuery;\n}","export { default } from './Datatable';","import React from \"react\";\nimport {\n useReactTable,\n flexRender,\n getCoreRowModel,\n createColumnHelper,\n getSortedRowModel,\n} from \"@tanstack/react-table\";\nimport { Spinner } from \"@cmsgov/design-system\";\nimport TruncatedResizeableTHead from \"./TruncatedResizeableTHead\";\nimport FixedSizeTHead from \"./FixedSizeTHead\";\nimport \"./datatable.scss\";\n\nconst DataTable = ({\n data,\n columns,\n setSort,\n sortTransform,\n tablePadding,\n canResize,\n loading = false,\n}) => {\n const [ sorting, setSorting ] = React.useState([])\n const columnHelper = createColumnHelper()\n const table_columns = columns.map((col) => {\n if (col.cell) {\n return (\n columnHelper.accessor(col.accessor, {\n header: col.header,\n cell: col.cell,\n })\n )\n }\n return (\n columnHelper.accessor(col.accessor, {\n header: col.header,\n })\n )\n })\n\n const sortElement = (isSorted, onClickFn) => {\n if(isSorted === 'asc') {\n return 'dc-c-sort--asc'\n }\n if(isSorted === 'desc') {\n return 'dc-c-sort--desc'\n }\n return 'dc-c-sort--default'\n }\n const filters = []\n const table = useReactTable({\n data: data,\n columns: table_columns,\n manualSorting: true,\n state: {\n\n sorting,\n },\n columnResizeMode: 'onChange',\n onSortingChange: setSorting,\n\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n debugTable: false,\n });\n\n React.useEffect(() => {\n const normalizedSort = sortTransform ? sortTransform(sorting) : filters;\n setSort(normalizedSort);\n }, [sorting]);\n\n return(\n <div>\n <table\n tabIndex={0}\n {...{\n style: {\n width: canResize ? table.getCenterTotalSize() : \"100%\",\n },\n }}\n className=\"dc-c-datatable\"\n >\n {canResize\n ? <TruncatedResizeableTHead table={table} sortElement={sortElement} />\n : <FixedSizeTHead table={table} sortElement={sortElement} />\n }\n {loading ? (\n <tbody>\n <tr>\n <td colSpan={columns.length}>\n <Spinner aria-valuetext=\"Dataset loading\" role=\"status\" className=\"ds-u-margin--3\" />\n </td>\n </tr>\n </tbody>\n ) : (\n <tbody>\n {table.getRowModel().rows.map((row, index) => {\n const even = (index + 1) % 2 === 0;\n return(\n <tr key={row.id} className={`${even ? \"dc-c-datatable--even-row\" : \"\"}`}>\n {row.getVisibleCells().map((cell) => {\n let classList = \"dc-truncate ds-u-padding-x--1\"\n return (\n <td\n {...{\n key: cell.id,\n style: {\n maxWidth: cell.column.getSize(),\n },\n }}\n className={`${classList} ${tablePadding}`}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n );\n })}\n </tr>\n )\n })}\n </tbody>\n )}\n </table>\n </div>\n )\n}\n\nexport default DataTable;\n","import React from 'react';\nimport {\n useReactTable,\n flexRender,\n getCoreRowModel,\n createColumnHelper,\n ColumnResizeMode,\n ColumnDef,\n getSortedRowModel,\n SortingState,\n} from \"@tanstack/react-table\";\n\nconst TruncatedResizeableTHead = ({table, sortElement}) => {\n return(\n <thead className=\"dc-thead--truncated dc-thead--resizeable\">\n {table.getHeaderGroups().map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n return(\n <th {\n ...{\n key: header.id,\n style: {\n width: header.getSize(),\n },\n title: header.column.columnDef.header\n }\n }\n className=\"ds-u-border-y--2 ds-u-padding--2 ds-u-border--dark ds-u-font-weight--bold dc-c-table-header-cell\"\n >\n <div onClick={header.column.getToggleSortingHandler()}>\n <span style={{maxWidth: header.getSize() - 16}} >\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </span>\n <span\n {...{\n className: header.column.getCanSort()\n ? `cursor-pointer select-none ${sortElement(header.column.getIsSorted())}`\n : '',\n }}\n />\n </div>\n <span\n {...{\n onMouseDown: header.getResizeHandler(),\n onTouchStart: header.getResizeHandler(),\n className: `dc-c-resize-handle ${\n header.column.getIsResizing() ? 'isResizing' : ''\n }`,\n }}\n />\n </th>\n )\n })}\n </tr>\n ))}\n </thead>\n );\n}\n\nexport default TruncatedResizeableTHead;\n","import React from 'react';\nimport {\n useReactTable,\n flexRender,\n getCoreRowModel,\n createColumnHelper,\n ColumnResizeMode,\n ColumnDef,\n getSortedRowModel,\n SortingState,\n} from \"@tanstack/react-table\";\n\nconst FixedSizeTHead = ({table, sortElement}) => {\n return(\n <thead className=\"dc-thead--fixed-size\">\n {table.getHeaderGroups().map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n return(\n <th {\n ...{\n key: header.id,\n style: {\n width: header.getSize(),\n },\n title: header.column.columnDef.header\n }\n }\n className=\"ds-u-border-y--2 ds-u-padding--2 ds-u-border--dark ds-u-font-weight--bold dc-c-table-header-cell\"\n >\n <div onClick={header.column.getToggleSortingHandler()}>\n <span>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </span>\n <span\n {...{\n className: header.column.getCanSort()\n ? `cursor-pointer select-none ${sortElement(header.column.getIsSorted())}`\n : '',\n }}\n />\n </div>\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n );\n}\n\nexport default FixedSizeTHead;\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useMediaQuery } from 'react-responsive';\nimport { usePopper } from 'react-popper';\nimport {\n HelpDrawerToggle,\n Button,\n Tooltip,\n Spinner,\n Accordion,\n AccordionItem,\n} from '@cmsgov/design-system';\nimport DataTablePageResults from '../DataTablePageResults';\nimport DataTableDensity from '../DataTableDensity';\nimport ManageColumns from '../ManageColumns';\nimport DataTableRowChanger from '../DataTableRowChanger';\nimport DownloadIcon from '../../assets/icons/download';\nimport CopyIcon from '../../assets/icons/copy';\nimport SettingsIcon from '../../assets/icons/settings';\n\nconst ResourceHeader = ({\n setTablePadding,\n id,\n distribution,\n includeFiltered,\n includeDensity,\n includeDownload,\n resource,\n tablePadding,\n downloadUrl,\n}) => {\n const md = useMediaQuery({ minWidth: 0, maxWidth: 768 });\n const { limit, offset, count, setLimit, setOffset } = resource;\n const intCount = count ? parseInt(count) : 0;\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n\n return (\n <div className=\"dc-c-resource-header\">\n <div className=\"ds-l-row\">\n <div className=\"ds-l-col--12\">\n {includeFiltered && (\n <Link className=\"ds-c-button ds-c-button--solid\" to={`/dataset/${id}/data`}>\n View and filter data\n </Link>\n )}\n </div>\n </div>\n <div className=\"ds-l-row ds-u-align-items--center\">\n <div className=\"ds-l-col--12 ds-u-display--flex ds-u-justify-content--between ds-u-align-items--center\">\n <div className=\"ds-u-font-weight--bold\">\n <DataTablePageResults\n totalRows={parseInt(intCount)}\n limit={parseInt(limit)}\n offset={parseInt(offset)}\n />\n </div>\n <div className=\"dc-c-resource-header--buttons\">\n {includeDownload && (\n <>\n <Button\n size=\"small\"\n className=\"ds-u-text-align--left ds-u-font-weight--normal ds-u-font-size--base ds-u-margin-right--1\"\n href={downloadUrl}\n aria-label=\"Download filtered data (CSV)\"\n >\n <DownloadIcon />\n {!md && (\n <span className=\"ds-u-font-weight--semibold ds-u-margin-left--1\">\n Download filtered data (CSV)\n </span>\n )}\n </Button>\n\n <Tooltip\n onOpen={() => {\n navigator.clipboard.writeText(window.location.href);\n }}\n className=\"ds-c-button ds-c-button--small ds-u-text-align--left ds-u-margin-right--1\"\n placement=\"bottom\"\n dialog\n ariaLabel=\"Copy link to filtered data\"\n title=\"Link copied to clipboard\"\n >\n <CopyIcon />\n {!md && (\n <span className=\"ds-u-font-weight--semibold ds-u-margin-left--1\">\n Copy link to filtered data\n </span>\n )}\n </Tooltip>\n </>\n )}\n <Tooltip\n className=\"ds-c-button ds-c-button--small ds-u-text-align--left\"\n placement=\"bottom\"\n dialog\n ariaLabel=\"Display settings\"\n title={\n <div className=\"dc-c-display-settings\">\n <DataTableRowChanger limit={limit} setLimit={setLimit} setOffset={setOffset} />\n {includeDensity && (\n <DataTableDensity\n setTablePadding={setTablePadding}\n tablePadding={tablePadding}\n />\n )}\n </div>\n }\n >\n <SettingsIcon />\n {!md && (\n <span className=\"ds-u-font-weight--semibold ds-u-margin-left--1\">\n Display settings\n </span>\n )}\n </Tooltip>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default ResourceHeader;\n","export { default } from './DataTablePageResults';","import React from 'react';\nimport PropTypes from 'prop-types';\n\ntype DataTablePageResultsType = {\n totalRows: number;\n limit: number;\n offset: number;\n className: string;\n}\n\nconst DataTablePageResults = ({\n totalRows, limit, offset, className\n}: DataTablePageResultsType) => {\n const numTotalRows = totalRows;\n if (numTotalRows === 0) {\n return <p className={className}>{`0 - 0 of 0 rows`}</p>\n }\n const ofTotal = () => {\n if (limit >= numTotalRows) { return numTotalRows; }\n if (limit + offset >= numTotalRows) { return numTotalRows; }\n if (offset === 0) { return limit; }\n return (offset + limit);\n }\n const page = offset / limit;\n const startTotal = () => (page * limit + 1)\n return (\n <p className={className}>{`${startTotal().toLocaleString()} - ${ofTotal().toLocaleString()} of ${numTotalRows.toLocaleString()} rows`}</p>\n );\n};\n\nDataTablePageResults.defaultProps = {\n className: 'data-table-results',\n};\n\nDataTablePageResults.propTypes = {\n className: PropTypes.string,\n totalRows: PropTypes.number.isRequired,\n limit: PropTypes.number.isRequired,\n offset: PropTypes.number.isRequired,\n};\n\nexport default DataTablePageResults;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown } from '@cmsgov/design-system';\n\nconst DataTableDensity = ({ setTablePadding, tablePadding }) => {\n return (\n <div className=\"ds-u-display--flex\">\n <Dropdown\n options={[\n { label: 'Tight', value: 'ds-u-padding-y--0' },\n { label: 'Normal', value: 'ds-u-padding-y--1' },\n { label: 'Expanded', value: 'ds-u-padding-y--2' },\n ]}\n size=\"small\"\n label=\"Display density:\"\n labelClassName=\"ds-u-margin-top--0\"\n name=\"datatable_display_density\"\n onChange={(e) => setTablePadding(e.target.value)}\n defaultValue={'ds-u-padding-y--1'}\n />\n </div>\n );\n};\n\nDataTableDensity.propTypes = {\n setTablePadding: PropTypes.func.isRequired,\n};\n\nexport default DataTableDensity;\n","import React, { useState } from 'react';\nimport { Button } from '@cmsgov/design-system';\n\nconst ManageColumns = () => {\n const [modalOpen, setModalOpen] = useState(false);\n return <Button onClick={() => setModalOpen(!modalOpen)}>Manage Columns</Button>;\n};\n\nexport default ManageColumns;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown } from '@cmsgov/design-system';\n\nconst DataTableRowChanger = ({ setLimit, rowOptions, limit }) => {\n return (\n <div>\n <Dropdown\n options={rowOptions.map((row) => ({ label: row, value: row }))}\n size=\"small\"\n label=\"Rows per page:\"\n labelClassName=\"ds-u-margin-top--0\"\n name=\"datatable_rows_per_page\"\n onChange={(e) => setLimit(e.target.value)}\n defaultValue={limit}\n />\n </div>\n );\n};\n\nDataTableRowChanger.defaultProps = {\n rowOptions: [10, 25, 50, 100],\n};\n\nDataTableRowChanger.propTypes = {\n rowOptions: PropTypes.arrayOf(PropTypes.number),\n setLimit: PropTypes.func.isRequired,\n};\n\nexport default DataTableRowChanger;\n","import React from 'react';\n\nconst DownloadIcon = () => (\n <svg\n width=\"15px\"\n height=\"15px\"\n viewBox=\"0 0 384 512\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Download Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#112E51\"\n fillRule=\"nonzero\"\n d=\"M384 128h-128V0L384 128zM256 160H384v304c0 26.51-21.49 48-48 48h-288C21.49 512 0 490.5 0 464v-416C0 21.49 21.49 0 48 0H224l.0039 128C224 145.7 238.3 160 256 160zM255 295L216 334.1V232c0-13.25-10.75-24-24-24S168 218.8 168 232v102.1L128.1 295C124.3 290.3 118.2 288 112 288S99.72 290.3 95.03 295c-9.375 9.375-9.375 24.56 0 33.94l80 80c9.375 9.375 24.56 9.375 33.94 0l80-80c9.375-9.375 9.375-24.56 0-33.94S264.4 285.7 255 295z\"\n />\n </g>\n </svg>\n);\n\nexport default DownloadIcon;\n","import React from 'react';\n\nconst CopyIcon = () => (\n <svg\n width=\"15px\"\n height=\"15px\"\n viewBox=\"0 0 512 512\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Copy Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#112E51\"\n fillRule=\"nonzero\"\n d=\"M384 96L384 0h-112c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48H464c26.51 0 48-21.49 48-48V128h-95.1C398.4 128 384 113.6 384 96zM416 0v96h96L416 0zM192 352V128h-144c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h192c26.51 0 48-21.49 48-48L288 416h-32C220.7 416 192 387.3 192 352z\"\n />\n </g>\n </svg>\n);\n\nexport default CopyIcon;\n","import React from 'react';\n\nconst SettingsIcon = () => (\n <svg\n width=\"15px\"\n height=\"15px\"\n // viewBox=\"0 0 15 15\"\n viewBox=\"0 0 512 512\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Settings Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#112E51\"\n fillRule=\"nonzero\"\n d=\"M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z\"\n />\n </g>\n </svg>\n);\n\nexport default SettingsIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport './dataset-tags.scss'\n\nconst DatasetTags = ({ keywords }) => {\n return (\n <div className=\"dc-c-dataset-tags ds-u-margin-bottom--3 ds-u-padding--2 ds-u-border ds-u-border--1\">\n <h2 className=\"ds-u-color--primary ds-u-font-size--h3 ds-u-margin-top--0 ds-u-margin-bottom--2\">\n Tags\n </h2>\n {keywords &&\n keywords.map((k) => (\n <Link\n key={k.identifier}\n to={`/datasets?keyword[]=${k.data}`}\n className=\"dc-c-dataset-tags--tag ds-u-color--base ds-u-font-size--small ds-u-text-decoration--none ds-u-margin-right--1 ds-u-margin-bottom--1 ds-u-padding-x--2 ds-u-padding-y--1 ds-u-radius\"\n >\n {k.data}\n </Link>\n ))}\n </div>\n );\n};\n\nDatasetTags.propTypes = {\n keywords: PropTypes.arrayOf(\n PropTypes.shape({\n data: PropTypes.string.isRequired,\n identifier: PropTypes.string.isRequired,\n })\n ).isRequired,\n};\n\nexport default DatasetTags;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst DatasetDownloads = ({ dataDictionaryURL, dataDictionaryType, distributions }) => {\n function trimDataDictionaryType() {\n let splitDataDictionaryType = dataDictionaryType.split('/');\n let type = splitDataDictionaryType.length > 1 ? splitDataDictionaryType[1] : splitDataDictionaryType[0];\n return type.toUpperCase()\n }\n\n function getFormatType(dist) {\n if(dist.data.format) {\n return dist.data.format.toUpperCase()\n }\n if(dist.data.mediaType) {\n const mediaType = dist.data.mediaType.split('/');\n if (mediaType.length && mediaType[1]) {\n return mediaType[1].toUpperCase();\n }\n }\n if(dist.data[\"%Ref:downloadURL\"].length && dist.data[\"%Ref:downloadURL\"][0].data) {\n if(dist.data[\"%Ref:downloadURL\"][0].data.mimeType) {\n const mimeType = dist.data[\"%Ref:downloadURL\"][0].data.mimeType.split(\"/\");\n if (mimeType.length && mimeType[1]) {\n return mimeType[1].toUpperCase();\n }\n }\n }\n return '';\n }\n\n return (\n <div className=\"ds-u-margin-bottom--3 ds-u-padding--2 ds-u-border ds-u-border--1 dc-c-dataset-downloads\">\n <h2 className=\"ds-u-color--primary ds-u-font-size--h3 ds-u-margin-top--0 ds-u-margin-bottom--2 ds-u-padding-bottom--2 ds-u-border ds-u-border-bottom--1\">\n Downloads\n </h2>\n {(distributions.length || (dataDictionaryURL && dataDictionaryType)) &&\n <ul className=\"ds-c-list ds-c-list--bare\">\n {\n distributions.map((dist) => (\n <li className=\"ds-u-padding-bottom--1\" key={dist.identifier}>\n <a href={dist.data.downloadURL} className=\"ds-u-word-break\">\n {getFormatType(dist)}\n {' '}\n Resource File\n </a>\n </li>\n ))\n }\n {(dataDictionaryURL && dataDictionaryType) &&\n <li>\n <a href={dataDictionaryURL}>\n Data Dictionary ({trimDataDictionaryType()})\n </a>\n </li>\n }\n </ul>\n }\n </div>\n );\n};\n\n\nexport default DatasetDownloads;\n","import React, { useState } from 'react';\nimport { Table, TableHead, TableRow, TableCell, TableBody } from '@cmsgov/design-system';\nimport './additional-information-table.scss';\n\nexport function buildRows(metadataMapping, datasetInfo) {\n const rows = [];\n Object.keys(metadataMapping).forEach((d) => {\n if (!datasetInfo[d]) {\n return null;\n } else {\n rows.push(...metadataMapping[d](datasetInfo[d]));\n }\n });\n return rows;\n}\n\nconst DatasetAdditionalInformation = ({ datasetInfo, id, metadataMapping}) => {\n const rows = buildRows(metadataMapping, datasetInfo);\n return (\n <div className=\"dc-c-additional-info-table ds-u-margin-bottom--6\">\n <h2>Additional Information</h2>\n <Table compact striped>\n <TableHead>\n <TableRow>\n <TableCell>Field</TableCell>\n <TableCell>Value</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {rows.map((r) => (\n <TableRow key={`${r.label}_${id}`}>\n <TableCell>{r.label}</TableCell>\n <TableCell className=\"ds-u-word-break-anywhere\">{r.value}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n );\n};\n\nexport default DatasetAdditionalInformation;\n","import React from 'react';\nimport { Pagination } from '@cmsgov/design-system';\n\nconst ResourceFooter = ({ resource }) => {\n const { limit, values, offset, count, setOffset } = resource;\n\n return (\n <div>\n {values.length > 0 && (\n <Pagination\n id=\"test-default\"\n currentPage={Number(offset) / limit + 1}\n totalPages={Math.ceil(Number(count) / limit)}\n onPageChange={(evt, page) => {\n evt.preventDefault();\n setOffset((page - 1) * limit);\n }}\n renderHref={(page) => {\n return \"\";\n }}\n />\n )}\n </div>\n );\n};\n\nexport default ResourceFooter;\n","import React from 'react';\nimport { Table, TableRow, TableCell } from '@cmsgov/design-system';\nimport './resource-information-table.scss';\n\nconst ResourceInformation = ({ resource }) => {\n const { count, columns } = resource;\n return (\n <div className=\"dc-c-resource-info-table\">\n <h2>About this Resource</h2>\n <Table compact striped>\n <TableRow>\n <TableCell component=\"th\" scope=\"row\">\n Rows\n </TableCell>\n <TableCell align=\"right\">{parseInt(count).toLocaleString()}</TableCell>\n </TableRow>\n <TableRow>\n <TableCell component=\"th\" scope=\"row\">\n Columns\n </TableCell>\n <TableCell align=\"right\">{columns.length.toLocaleString()}</TableCell>\n </TableRow>\n </Table>\n </div>\n );\n};\n\nexport default ResourceInformation;\n","// Example custom column headers, where only effective date has an ! at the end\n// [\n// {schema: 'date', cell: ({ value }) => localeDate(value),},\n// {accessor: 'effective_date',cell: ({ value }) => localeDate(value) + '!',},\n// ]\n\nexport function buildCustomColHeaders(customHeaders, columns, schema) {\n return columns.map((column) => {\n const customAccessorIndex = customHeaders.findIndex((header) => header.accessor === column);\n const customSchemaIndex = customHeaders.findIndex(\n (header) => header.schema === schema.fields[column].mysql_type\n );\n let newColumn = {};\n // If specific accessor is passed, this will override a general mysql_type Cell rewrite.\n if (customAccessorIndex > -1) {\n newColumn.header =\n schema && schema.fields[column].description ? schema.fields[column].description : column;\n newColumn.accessor = column;\n newColumn.cell = customHeaders[customAccessorIndex].cell;\n } else {\n newColumn.header =\n schema && schema.fields[column].description ? schema.fields[column].description : column;\n newColumn.accessor = column;\n if (customSchemaIndex > -1) {\n newColumn.cell = customHeaders[customSchemaIndex].cell;\n }\n }\n return newColumn;\n });\n}\n\nexport function convertUTCToLocalDate(date) {\n if (!date) {\n return date;\n }\n date = new Date(date);\n date = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n return date;\n}\n\nexport function cleanText(value, operator) {\n let newValue = value;\n if (Array.isArray(newValue)) {\n newValue = newValue.join(',');\n }\n // return newValue.replace(/(^\\%+|\\%+$)/gm, '');\n return newValue\n}\n\nexport const operatorMapping = [\n { label: 'Is', value: '=' },\n { label: 'Starts With', value: 'starts with' },\n { label: 'Contains', value: 'contains' },\n { label: 'Is Not', value: '<>' },\n { label: 'Or', value: 'in' },\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n { label: 'Greater Than', value: '>' },\n { label: 'Less Than', value: '<' },\n];\n\nexport function buildOperatorOptions(type) {\n switch (type) {\n case 'text': // Will change from text to string in future update\n case 'string':\n return [\n { label: 'Is', value: '=' },\n { label: 'Starts With', value: 'starts with' },\n { label: 'Contains', value: 'contains' },\n { label: 'Is Not', value: '<>' },\n { label: 'Or', value: 'in' },\n ];\n case 'date':\n return [\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n { label: 'Greater Than', value: '>' },\n { label: 'Less Than', value: '<' },\n ];\n default:\n // These 2 should be safe for all data types\n return [\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n ];\n }\n}\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport TransformedDate from '../components/TransformedDate';\nimport { frequencyMap } from './frequencyMap';\n\nexport const defaultMetadataMapping = {\n modified: (data) => {\n return [{ label: 'Modified', value: <TransformedDate date={data} /> }];\n },\n issued: (data) => {\n return [{ label: 'Issued', value: <TransformedDate date={data} /> }];\n },\n accrualPeriodicity: (data) => {\n return [\n {\n label: 'Frequency',\n value: frequencyMap[data].name,\n },\n ];\n },\n publisher: (data) => {\n if (data.data && data.data.name) {\n return [{ label: 'Publisher', value: data.data.name }];\n } else {\n return [];\n }\n },\n identifier: (data) => {\n return [{ label: 'Identifier', value: data }];\n },\n contactPoint: (data) => {\n let rows = [];\n if (data.fn) {\n rows.push({ label: 'Contact', value: data.fn });\n }\n if (data.hasEmail) {\n rows.push({ label: 'Contact Email', value: data.hasEmail });\n }\n return rows;\n },\n bureauCode: (data) => {\n if (data.length) {\n return [{ label: 'Bureau Code', value: data[0] }];\n }\n },\n programCode: (data) => {\n if (data.length) {\n return [{ label: 'Program Code', value: data[0] }];\n }\n },\n theme: (data) => {\n return [\n {\n label: 'Category',\n value: data\n .map((theme) => (\n <Link key={theme.data} to={`/datasets?theme[]=${theme.data}`}>\n {theme.data}\n </Link>\n ))\n .reduce((prev, curr) => [prev, ', ', curr]),\n },\n ];\n },\n keyword: (data) => {\n return [\n {\n label: 'Tags',\n value: data\n .map((keyword) => (\n <Link key={keyword.data} to={`/datasets?keyword[]=${keyword.data}`}>\n {keyword.data}\n </Link>\n ))\n .reduce((prev, curr) => [prev, ', ', curr]),\n },\n ];\n },\n license: (data) => {\n return [{ label: 'License', value: <a href={data}>{data}</a> }];\n },\n accessLevel: (data) => {\n return [{ label: 'Public Access Level', value: data }];\n },\n\n temporal: (data) => {\n return [\n { label: 'Temporal Coverage', value: <span className=\"dc-c-word-break--all\">{data}</span> },\n ];\n },\n spatial: (data) => {\n return [{ label: 'Spacial/Geographical Coverage', value: data }];\n },\n references: (data) => {\n return [\n {\n label: 'Related Documents',\n value: (\n <ul className=\"ds-u-margin--0 ds-u-padding-y--0 ds-u-padding-left--2 ds-u-padding-right--0\">\n {data.map((item) => (\n <li key={item}>\n <a href={item}>{item}</a>\n </li>\n ))}\n </ul>\n ),\n },\n ];\n },\n};\n","export const frequencyMap = {\n 'R/P10Y': { name: 'Decennial' },\n 'R/P4Y': { name: 'Quadrennial' },\n 'R/P1Y': { name: 'Annual' },\n 'R/P2M': { name: 'Bimonthly' },\n 'R/P3.5D': { name: 'Semiweekly' },\n 'R/P1D': { name: 'Daily' },\n 'R/P2W': { name: 'Biweekly' },\n 'R/P6M': { name: 'Semiannual' },\n 'R/P2Y': { name: 'Biennial' },\n 'R/P3Y': { name: 'Triennial' },\n 'R/P0.33W': { name: 'Three times a week' },\n 'R/P0.33M': { name: 'Three times a month' },\n 'R/PT1S': { name: 'Continuously updated' },\n 'R/P1M': { name: 'Monthly' },\n 'R/P3M': { name: 'Quarterly' },\n 'R/P0.5M': { name: 'Semimonthly' },\n 'R/P4M': { name: 'Three times a year' },\n 'R/P1W': { name: 'Weekly' },\n 'R/PT1H': { name: 'Hourly' },\n irregular: { name: 'Irregular' },\n};\n","export { default } from './Header';","import React from 'react';\nimport { useMediaQuery } from 'react-responsive';\nimport DesktopHeader from '../../components/DesktopHeader';\nimport MobileHeader from '../../components/MobileHeader';\nimport './header.scss';\n\nconst Header = ({\n mobileMaxWidth,\n desktopMinWidth,\n siteName,\n links,\n org,\n includeTopNav\n}) => {\n const mobile = useMediaQuery({ minWidth: 0, maxWidth: mobileMaxWidth});\n const desktop = useMediaQuery({ minWidth: desktopMinWidth});\n return(\n <>\n {desktop && (\n <DesktopHeader\n siteName={siteName}\n links={links}\n org={org}\n includeTopNav={includeTopNav}\n />\n )}\n {mobile && (\n <MobileHeader\n siteName={siteName}\n links={links}\n org={org}\n includeTopNav={includeTopNav}\n />\n )}\n </>\n );\n}\n\nHeader.defaultProps = {\n mobileMaxWidth: 1023,\n desktopMinWidth: 1024,\n includeTopNav: true,\n}\n\n\nexport default Header;\n","export { default } from './DesktopHeader';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NavLink } from 'react-router-dom';\nimport NavBar from '../NavBar';\nimport SearchModal from '../SearchModal';\nimport cmsLogo from '../../assets/images/CMSGovLogo-O.png';\n\nconst DesktopHeader = ({\n siteName,\n headerClasses,\n linkClasses,\n links,\n org,\n searchModalText,\n customSearch,\n includeTopNav,\n inversedModalButton,\n inversedSearchButton,\n includeSearch,\n}) => {\n const { url, tagline, logo, urlTitle, logoAltText } = org;\n const headerClassString = headerClasses ?? 'dc-c-header ds-base';\n return (\n <header className={headerClassString} aria-label=\"Site header\">\n {includeTopNav && (\n <div className=\"dc-c-cmsheader ds-u-display--flex ds-u-padding-x--5 ds-u-align-items--center\">\n <div className=\"ds-l-sm-col--12 ds-l-lg-col--8\">\n <div className=\"cms-link-container\">\n <a href={url} title={urlTitle}>\n <img src={logo} alt={logoAltText} />\n </a>\n </div>\n <div>\n <span className=\"cms-text-container\">{tagline}</span>\n </div>\n </div>\n <div className=\"ds-u-margin-left--auto\">\n <NavBar\n links={links.topnav}\n menuName=\"CMS Main Header\"\n menuId=\"cmsheader\"\n menuClasses=\"ds-u-display--flex dc-c-header--links ds-u-font-size--small\"\n />\n </div>\n </div>\n )}\n <div className=\"dc-c-main-navigation\">\n <div className=\"ds-l-container\">\n <div className=\"ds-l-row ds-u-align-items--center\">\n <div className=\"ds-u-margin-right--5 ds-u-padding-y--3 dc-c-site-title\">\n <NavLink className=\"ds-c-link--inverse ds-h1\" to=\"/\">\n <span className=\"\">{siteName}</span>\n </NavLink>\n </div>\n <NavBar\n links={links.main}\n wrapLabel\n menuName=\"CMS Site Main Nav\"\n menuId=\"site\"\n menuClasses=\"ds-u-display--flex dc-c-header--links ds-u-align-items--center\"\n linkClasses={linkClasses}\n />\n <div className=\"dc-c-main-navigation--search ds-u-margin-left--auto ds-u-lg-padding-left--1 ds-u-xl-padding-left--3\">\n {customSearch ? (\n customSearch\n ) : (\n <SearchModal\n searchModalText={searchModalText}\n inversedModalButton={inversedModalButton}\n inversedSearchButton={inversedSearchButton}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </header>\n );\n};\n\nDesktopHeader.defaultProps = {\n org: {\n tagline: 'The Centers for Medicare & Medicaid Services',\n url: 'https://cms.gov',\n urlTitle: 'CMS.gov Centers for Medicare & Medicaid Services',\n logo: cmsLogo,\n logoAltText: 'CMS.gov Centers for Medicare & Medicaid Services',\n },\n includeTopNav: true,\n customSearch: false,\n linkClasses: 'ds-u-xl-margin-right--4 ds-u-margin-right--3 ds-u-padding-y--3',\n includeSearch: true,\n};\n\nDesktopHeader.propTypes = {\n siteName: PropTypes.node.isRequired,\n includeTopNav: PropTypes.bool,\n linkClasses: PropTypes.string,\n includeSearch: PropTypes.bool,\n};\n\nexport default DesktopHeader;\n","import React, { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { useMediaQuery } from 'react-responsive';\nimport { Button, Dialog, TextField } from '@cmsgov/design-system';\n\nconst SearchModal = ({\n searchFunc,\n appNodeId,\n headingText,\n searchModalText,\n buttonSize,\n inversedModalButton,\n inversedSearchButton,\n}) => {\n const navigate = useNavigate();\n const [modalSearchTerm, setModalSearchTerm] = useState('');\n const [modalSearch, setModalSearch] = useState(false);\n const mobile = useMediaQuery({ minWidth: 0, maxWidth: 543 });\n\n function searchForDataset(e) {\n e.preventDefault();\n if (window) {\n if (window.location.pathname !== '/datasets') {\n navigate(`/datasets?fulltext=${modalSearchTerm}`);\n } else {\n window.location.search = `fulltext=${modalSearchTerm}`;\n setModalSearch(false);\n }\n }\n }\n\n return (\n <>\n <Button\n variation=\"ghost\"\n onDark={inversedSearchButton}\n size={buttonSize}\n className=\"ds-u-border--0 dc-c-search-modal--button\"\n onClick={() => setModalSearch(true)}\n >\n {mobile ? <span className=\"ds-u-visibility--screen-reader\">Search</span> : <>Search</>}\n </Button>\n {modalSearch && (\n <Dialog\n className=\"dc-c-search-dialog\"\n onExit={() => setModalSearch(false)}\n getApplicationNode={() => document.getElementById(appNodeId)}\n closeButtonText={<>Close</>}\n heading={`${headingText}`}\n >\n {searchModalText &&\n <p>{searchModalText}</p>\n }\n <form\n className=\"ds-u-display--flex ds-u-align-items--stretch ds-u-flex-wrap--nowrap\"\n onSubmit={(e) => {\n searchForDataset(e);\n }}\n >\n <TextField\n value={modalSearchTerm}\n fieldClassName=\"ds-u-display--inline-block\"\n className=\"ds-l-col--9\"\n label=\"Search Term\"\n name=\"search-modal\"\n labelClassName=\"ds-u-visibility--screen-reader\"\n onChange={(e) => setModalSearchTerm(e.target.value)}\n />\n <Button type=\"submit\" className=\"ds-l-col--3\">\n <span className=\"fas fa-search small-text ds-u-sm-display--none\" />\n <span className=\"full-text ds-u-display--none ds-u-sm-display--inline-block\">\n Search\n </span>\n </Button>\n </form>\n </Dialog>\n )}\n </>\n );\n};\n\nSearchModal.defaultProps = {\n appNodeId: 'App',\n buttonSize: null,\n inversedModalButton: true,\n inversedSearchButton: true,\n headingText: \"Dataset Search\"\n};\n\nexport default SearchModal;\n","module.exports = new __parcel__URL__(\"CMSGovLogo-O.90ce815c.png\").toString();","export { default } from './MobileHeader';","import React, { useState, useEffect, useRef } from 'react';\nimport { useMediaQuery } from 'react-responsive';\nimport { Button } from '@cmsgov/design-system';\nimport { Link } from 'react-router-dom';\nimport SearchModal from '../SearchModal';\nimport NavBar from '../NavBar/Navbar';\nimport cmsLogo from '../../assets/images/CMSGovLogo-O.png';\nimport cmsLogoWhite from '../../assets/images/CMSgov@2x-white-O.png';\nimport './mobile-header.scss';\n\nlet mobileHeaderMenuClassName = \"dc-c-mobile-header--menu\";\nconst MobileHeader = ({\n siteName,\n links,\n org,\n searchModalText,\n customSearch = false,\n includeTopNav,\n inversedModalButton,\n inversedSearchButton,\n includeSearch,\n}) => {\n const { url, logo, urlTitle, logoAltText, inverseLogo } = org;\n\n const [menuOpen, setMenuOpen] = useState(false);\n const mobile = useMediaQuery({ minWidth: 0, maxWidth: 543 });\n const tablet = useMediaQuery({ minWidth: 544, maxWidth: 1023 });\n const menu = useRef(null);\n useEffect(() => {\n function handleFocusOut(event) {\n if (menu.current && !menu.current.contains(event.relatedTarget)) {\n setMenuOpen(false);\n }\n }\n\n function handleFocusIn(event){\n if (!menuOpen) return;\n const mobileHeaderMenu = document.querySelector(`.${mobileHeaderMenuClassName}`);\n if (!mobileHeaderMenu) return\n // Select the first tabbable element in the `mobileHeaderMenu`\n const firstTabbableElement = mobileHeaderMenu.querySelector('a, button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])');\n if (!firstTabbableElement) return;\n firstTabbableElement.focus();\n }\n\n function handleClick(event) {\n // Links are wrapped in spans, this checks if the parent is an A, also check if in the search modal.\n if (\n // event.target.parentElement.nodeName === 'A' ||\n event.target.closest('.dc-c-search-dialog')\n ) {\n setMenuOpen(false);\n }\n }\n function handleSearchEnter(event) {\n // Close upon user hitting enter on search.\n if (event.keyCode === 13) {\n setMenuOpen(false);\n }\n }\n\n function handleMenuClose(event) {\n // Close upon user hitting escape\n if (event.keyCode === 27 && menuOpen) {\n setMenuOpen(false);\n }\n }\n\n menu.current.addEventListener('focusout', handleFocusOut);\n document.addEventListener('mousedown', handleClick);\n document.addEventListener('keyup', handleSearchEnter);\n document.addEventListener('keyup', handleMenuClose);\n handleFocusIn();\n\n return () => {\n document.removeEventListener('keyup', handleSearchEnter);\n document.removeEventListener('keyup', handleMenuClose);\n document.removeEventListener('mousedown', handleClick);\n if (menu.current) {\n menu.current.removeEventListener('focusout', handleFocusOut);\n }\n };\n }, [menu.current, menuOpen]);\n return (\n <header\n className={`dc-c-header dc-c-mobile-header ${menuOpen ? 'menu-open' : ''}`}\n aria-label=\"Site header\"\n >\n {includeTopNav && (\n <div\n className={`dc-c-cmsheader ds-u-display--flex ds-u-padding-x--1 ds-u-align-items--center ${\n mobile ? 'ds-u-justify-content--center' : 'ds-u-justify-content--between'\n }`}\n >\n <div className=\"cms-link-container\">\n <a href={url} title={urlTitle}>\n <img src={menuOpen ? inverseLogo : logo} alt={logoAltText} />\n </a>\n </div>\n\n {tablet && (\n <div className=\"ds-u-margin-left--auto\">\n <NavBar\n links={links.topnav}\n menuName=\"CMS Main Header\"\n menuId=\"cmsheader\"\n menuClasses=\"ds-u-display--flex dc-c-header--links ds-u-font-size--small\"\n />\n </div>\n )}\n </div>\n )}\n <div className=\"dc-c-main-navigation ds-u-display--flex ds-u-justify-content--between ds-u-align-items--center\">\n <Button\n variation=\"ghost\"\n onDark\n size=\"small\"\n className=\"dc-c-mobile-menu--open\"\n onClick={() => setMenuOpen(true)}\n >\n {mobile ? <span className=\"ds-u-visibility--screen-reader\">Menu</span> : <>Menu</>}\n </Button>\n <div className=\"ds-u-padding-y--3 dc-c-site-title\">\n <Link to=\"/\">\n <span className=\"ds-h1\">{siteName}</span>\n </Link>\n </div>\n {includeSearch && (\n <div className=\"dc-c-mobile-menu--search\">\n {customSearch ? (\n customSearch\n ) : (\n <SearchModal\n searchFunc={(e) => {\n e.preventDefault();\n }}\n searchModalText={searchModalText}\n buttonSize={'small'}\n inversedModalButton={inversedModalButton}\n inversedSearchButton={inversedSearchButton}\n />\n )}\n </div>\n )}\n </div>\n <div className={mobileHeaderMenuClassName} ref={menu}>\n <div className={`ds-u-display--flex ${mobileHeaderMenuClassName}-close ds-u-justify-content--between`}>\n <Button\n variation=\"ghost\"\n onDark\n size=\"small\"\n className=\"dc-c-mobile-menu--close ds-u-margin-left--1 ds-u-padding-left--0\"\n onClick={() => setMenuOpen(false)}\n >\n Close\n </Button>\n {tablet && includeSearch && (\n <div className=\"dc-c-mobile-menu--search\">\n {customSearch ? (\n customSearch\n ) : (\n <SearchModal\n searchFunc={(e) => {\n e.preventDefault();\n }}\n searchModalText={searchModalText}\n buttonSize={'small'}\n />\n )}\n </div>\n )}\n </div>\n <NavBar\n links={links.main}\n wrapLabel\n menuName=\"Main Nav\"\n menuId=\"site\"\n menuClasses=\"dc-c-header--links dc-c-header--mobile-links\"\n linkClasses=\"ds-u-margin-left--1 ds-u-padding-bottom--2 ds-h5\"\n />\n {mobile && (\n <div className=\"cms-mobile-header--container\">\n <span></span>\n <NavBar\n links={links.topnav}\n menuName=\"CMS Main Header\"\n menuId=\"cms-mobile-header\"\n linkClasses=\"ds-u-margin-left--1 ds-u-margin-bottom--2\"\n menuClasses=\"dc-c-header--links ds-u-font-size--small\"\n />\n </div>\n )}\n </div>\n </header>\n );\n};\n\nMobileHeader.defaultProps = {\n org: {\n tagline: 'The Centers for Medicare and Medicaid Services',\n url: 'https://cms.gov',\n urlTitle: 'CMS.gov Centers for Medicare &amp; Medicaid Services',\n logo: cmsLogo,\n logoAltText: 'CMS.gov Centers for Medicare &amp; Medicaid Services',\n inverseLogo: cmsLogoWhite,\n },\n includeTopNav: true,\n includeSearch: true,\n};\n\nexport default MobileHeader;\n","module.exports = new __parcel__URL__(\"CMSgov@2x-white-O.78cd05d3.png\").toString();","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useMediaQuery } from 'react-responsive';\nimport { Button } from '@cmsgov/design-system';\nimport NavLink from '../../components/NavLink';\nimport \"./footer.scss\";\n\nconst Footer = ({\n links,\n showEmail,\n emailTitle,\n emailBody,\n emailLink,\n emailButton,\n socialMediaLinks,\n hhsLogo,\n cmsLogo,\n trademarkContent,\n}) => {\n const xs = useMediaQuery({ minWidth: 0, maxWidth: 544 });\n const sm = useMediaQuery({ minWidth: 544, maxWidth: 768 });\n const md = useMediaQuery({ minWidth: 768 });\n const { footerOpenDataToolLinks, footerAdditionalResourcesLinks, footerUtilityLinks } = links;\n return (\n <footer className=\"dc-c-footer\">\n {showEmail && (\n <div className=\"dc-c-emailupdates\">\n <div className=\"ds-l-container ds-u-padding-y--5\">\n <div className=\"ds-l-row ds-u-align-items--center\">\n <div className=\"ds-l-md-col--8\">\n <h2 className=\"ds-h4\">{emailTitle}</h2>\n <p>{emailBody}</p>\n </div>\n <div className=\"ds-l-md-col--4 ds-u-padding-left--7\">\n <Button onDark variation=\"solid\" href={emailLink}>{emailButton}</Button>\n </div>\n </div>\n </div>\n </div>\n )}\n <div className=\"dc-c-footer--middle-container\">\n <div className={`${md ? 'ds-l-container' : ''}`}>\n <div className=\"ds-l-row ds-u-margin--0\">\n <div\n className={`dc-c-footer__resources ds-l-md-col--7 ds-l-sm-col--12 ds-u-padding-top--7 ds-u-padding-bottom--4 ${\n md ? 'ds-u-padding-x--0' : ''\n } ${sm ? 'ds-u-padding-x--4' : ''}`}\n >\n <div className=\"ds-l-lg-col--9 ds-l-md-col--11 ds-u-padding-x--0\">\n <div\n className={`ds-u-display--flex ${\n xs ? 'ds-u-flex-direction--column' : 'ds-u-flex-direction--row'\n }`}\n >\n <div className=\"ds-u-margin-right--6 ds-u-margin-bottom--2\">\n <h2 className=\"ds-h6 dc-footer--heading ds-u-margin-bottom--2\">\n Open data tools\n </h2>\n <ul className=\"ds-u-font-size--small ds-u-margin-bottom--3\">\n {footerOpenDataToolLinks.map((link) => (\n <li className=\"ds-u-margin-bottom--1\" key={link.id}>\n <NavLink link={link} className=\"dc-menu-item\" />\n </li>\n ))}\n </ul>\n </div>\n <div>\n <h2 className=\"ds-h6 dc-footer--heading ds-u-margin-bottom--2\">\n Additional resources\n </h2>\n <ul className=\"ds-u-font-size--small\">\n {footerAdditionalResourcesLinks\n .filter((link) => {\n const noOnClick = Object.keys(link).findIndex((l) => l === 'onClick');\n if (noOnClick === -1 || (link.onClick && link.dataTag)) {\n return link;\n }\n })\n .map((link) => {\n if (link.onClick && link.dataTag) {\n return (\n <li className=\"ds-u-margin-bottom--1\" key={link.id}>\n <a\n href={link.url}\n {...{\n ['data-' + link.dataTag.name]: link.dataTag.value,\n }}\n onClick={link.onClick}\n >\n {link.label}\n </a>\n </li>\n );\n }\n return (\n <li className=\"ds-u-margin-bottom--1\" key={link.id}>\n <NavLink link={link} className=\"dc-menu-item\" />\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n </div>\n </div>\n <div\n className={`dc-c-footer__cms-information ds-l-md-col--5 ds-l-sm-col--12 ${\n md ? 'ds-u-padding-left--7' : ''\n } ${sm ? ' ds-u-padding-left--4' : ''} ds-u-padding-y--7`}\n >\n <div className=\"ds-u-font-size--small\">\n <div>\n <a\n href=\"http://www.hhs.gov/\"\n target=\"_blank\"\n title=\"U.S. Department of Health &amp; Human Services\"\n >\n <img className=\"dc-c-footer__logo\" src={hhsLogo} alt=\"HHS Logo\" />\n <span className=\"ds-u-visibility--screen-reader\">opens in new window</span>\n </a>\n <a\n className=\"ds-u-margin-left--4\"\n target=\"_blank\"\n href=\"http://www.cms.gov/\"\n title=\"CMS.gov Centers for Medicare &amp; Medicaid Services\"\n >\n <img className=\"dc-c-footer__logo\" src={cmsLogo} alt=\"CMS Logo\" />\n <span className=\"ds-u-visibility--screen-reader\">opens in new window</span>\n </a>\n </div>\n {trademarkContent}\n {socialMediaLinks && (\n <ul className=\"ds-u-display--flex\">\n {socialMediaLinks.facebook && socialMediaLinks.facebook.url && (\n <li className=\"ds-u-margin-right--1\">\n <a href={socialMediaLinks.facebook.url}>\n <span className=\"dc-c-footer--svg-icon\">\n <svg\n className=\"svg-inline--fa fa-circle fa-w-16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-prefix=\"fas\"\n data-icon=\"circle\"\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path>\n </svg>\n <svg\n title=\"Facebook Icon\"\n className=\"svg-inline--fa fa-facebook-f fa-w-10 fa-inverse\"\n data-fa-transform=\"shrink-3.5\"\n aria-labelledby=\"svg-inline--fa-title-iRCARP7h6Kp3\"\n data-prefix=\"fab\"\n data-icon=\"facebook-f\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n data-fa-i2svg=\"\"\n >\n <title id=\"svg-inline--fa-title-iRCARP7h6Kp3\">\n {socialMediaLinks.facebook.title\n ? socialMediaLinks.facebook.title\n : 'CMS Facebook'}\n </title>\n <g transform=\"translate(160 256)\">\n <g transform=\"translate(0, 0) scale(0.78125, 0.78125) rotate(0 0 0)\">\n <path\n d=\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"\n transform=\"translate(-160 -256)\"\n ></path>\n </g>\n </g>\n </svg>\n </span>\n </a>\n </li>\n )}\n {socialMediaLinks.twitter && socialMediaLinks.twitter.url && (\n <li className=\"ds-u-margin-right--1\">\n <a href={socialMediaLinks.twitter.url}>\n <span className=\"dc-c-footer--svg-icon\">\n <svg\n className=\"svg-inline--fa fa-circle fa-w-16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-prefix=\"fas\"\n data-icon=\"circle\"\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path>\n </svg>\n <svg\n title=\"Twitter Icon\"\n className=\"svg-inline--fa fa-twitter fa-w-16 fa-inverse\"\n data-fa-transform=\"shrink-3.5\"\n aria-labelledby=\"svg-inline--fa-title-4z03ITiPPTVF\"\n data-prefix=\"fab\"\n data-icon=\"twitter\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <title id=\"svg-inline--fa-title-4z03ITiPPTVF\">\n {socialMediaLinks.twitter.title\n ? socialMediaLinks.twitter.title\n : 'CMS Twitter'}\n </title>\n <g transform=\"translate(256 256)\">\n <g transform=\"translate(0, 0) scale(0.78125, 0.78125) rotate(0 0 0)\">\n <path\n d=\"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"\n transform=\"translate(-256 -256)\"\n ></path>\n </g>\n </g>\n </svg>\n </span>\n </a>\n </li>\n )}\n {socialMediaLinks.linkedin && socialMediaLinks.linkedin.url && (\n <li className=\"ds-u-margin-right--1\">\n <a href={socialMediaLinks.linkedin.url}>\n <span className=\"dc-c-footer--svg-icon\">\n <svg\n className=\"svg-inline--fa fa-circle fa-w-16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-prefix=\"fas\"\n data-icon=\"circle\"\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path>\n </svg>\n <svg\n title=\"LinkedIn Icon\"\n className=\"svg-inline--fa fa-linkedin-in fa-w-14 fa-inverse\"\n data-fa-transform=\"shrink-3.5\"\n aria-labelledby=\"svg-inline--fa-title-Nm2qsuSKvuRZ\"\n data-prefix=\"fab\"\n data-icon=\"linkedin-in\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n data-fa-i2svg=\"\"\n >\n <title id=\"svg-inline--fa-title-Nm2qsuSKvuRZ\">\n {socialMediaLinks.linkedin.title\n ? socialMediaLinks.linkedin.title\n : 'CMS LinkedIn'}\n </title>\n <g transform=\"translate(224 256)\">\n <g transform=\"translate(0, 0) scale(0.78125, 0.78125) rotate(0 0 0)\">\n <path\n d=\"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"\n transform=\"translate(-224 -256)\"\n ></path>\n </g>\n </g>\n </svg>\n </span>\n </a>\n </li>\n )}\n {socialMediaLinks.youtube && socialMediaLinks.youtube.url && (\n <li>\n <a href={socialMediaLinks.youtube.url}>\n <span className=\"dc-c-footer--svg-icon\">\n <svg\n className=\"svg-inline--fa fa-circle fa-w-16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-prefix=\"fas\"\n data-icon=\"circle\"\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path>\n </svg>\n <svg\n title=\"youTube Icon\"\n className=\"svg-inline--fa fa-youtube fa-w-18 fa-inverse\"\n data-fa-transform=\"shrink-3.5\"\n aria-labelledby=\"svg-inline--fa-title-youtube\"\n data-prefix=\"fab\"\n data-icon=\"youtube\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 576 512\"\n data-fa-i2svg=\"\"\n >\n <title id=\"svg-inline--fa-title-youtube\">\n {socialMediaLinks.youtube.title\n ? socialMediaLinks.youtube.title\n : 'CMS youtube'}\n </title>\n <path\n fill=\"currentColor\"\n d=\"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"\n ></path>\n </svg>\n </span>\n </a>\n </li>\n )}\n </ul>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div className=\"dc-c-footer__utility ds-l-container ds-u-padding-y--2 ds-u-font-size--small\">\n <div className=\"ds-l-row \">\n <div className=\"ds-l-col--12 ds-u-padding-y--3\">\n <ul\n className={`ds-u-padding--0 ds-u-display--flex ${\n md ? 'ds-u-flex-direction--row' : 'ds-u-flex-direction--column'\n } ds-u-flex-wrap--wrap`}\n >\n {footerUtilityLinks.map((link) => (\n <li key={link.id}>\n <a href={link.url} className=\"ds-u-margin-right--2\">\n {link.label}\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n </footer>\n );\n};\n\nFooter.defaultProps = {\n showEmail: true,\n emailTitle: 'Get Email Updates',\n emailBody:\n 'Sign up to get the latest information from CMS by choosing the topics and frequency of emails that are best for you.',\n emailLink: '',\n emailButton: 'Sign up for email updates',\n socialMediaLinks: null,\n trademarkContent: (\n <div>\n <p>\n A federal government website managed and paid for by the U.S. Centers for Medicare &amp;\n Medicaid Services.\n </p>\n <p>7500 Security Boulevard, Baltimore, MD 21244</p>\n </div>\n ),\n};\n\nFooter.propTypes = {\n showEmail: PropTypes.bool,\n emailTitle: PropTypes.string,\n emailBody: PropTypes.string,\n emailLink: PropTypes.string,\n emailButton: PropTypes.string,\n links: PropTypes.shape({\n footerOpenDataToolLinks: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n url: PropTypes.string,\n target: PropTypes.string,\n })\n ),\n footerAdditionalResourcesLinks: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n url: PropTypes.string,\n target: PropTypes.string,\n })\n ),\n footerUtilityLinks: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n url: PropTypes.string,\n target: PropTypes.string,\n })\n ),\n }).isRequired,\n socialMediaLinks: PropTypes.shape({\n facebook: PropTypes.shape({\n title: PropTypes.string,\n url: PropTypes.string,\n }),\n twitter: PropTypes.shape({\n title: PropTypes.string,\n url: PropTypes.string,\n }),\n linkedin: PropTypes.shape({\n title: PropTypes.string,\n url: PropTypes.string,\n }),\n }),\n hhsLogo: PropTypes.string.isRequired,\n cmsLogo: PropTypes.string.isRequired,\n};\n\nexport default Footer;\n","export { default } from './useSearchAPI';\n","import { useState, useEffect } from \"react\";\nimport { fetchDatasets } from \"./helpers\";\n\nconst useSearchAPI = (\n rootUrl,\n initialSearchParams = {},\n additionalParams = {}\n) => {\n const defaultSort = \"\";\n const defaultFulltext = \"\";\n const defaultSelectedFacets = {};\n const defaultSortOrder = \"\";\n const defaultPage = 1;\n const defaultPageSize = 10;\n\n const sortOptions = [\"modified\", \"title\"];\n const sortOrderOptions = [\"asc\", \"desc\"];\n const [items, setItems] = useState([]);\n const [facets, setFacets] = useState([]);\n const [loading, setLoading] = useState(false);\n const [totalItems, setTotalItems] = useState(null);\n const [selectedFacets, setSelectedFacets] = useState(\n initialSearchParams.selectedFacets\n ? initialSearchParams.selectedFacets\n : defaultSelectedFacets\n );\n const [fulltext, setFulltext] = useState(\n initialSearchParams.fulltext\n ? initialSearchParams.fulltext\n : defaultFulltext\n );\n const [sort, setSort] = useState(\n initialSearchParams.sort ? initialSearchParams.sort : defaultSort\n );\n const [sortOrder, setSortOrder] = useState(\n initialSearchParams.sortOrder\n ? initialSearchParams.sortOrder\n : defaultSortOrder\n );\n const [page, setPage] = useState(\n initialSearchParams.page ? initialSearchParams.page : defaultPage\n );\n const [pageSize, setPageSize] = useState(\n initialSearchParams.pageSize\n ? initialSearchParams.pageSize\n : defaultPageSize\n );\n\n async function search() {\n const options = {\n fulltext: fulltext,\n selectedFacets: selectedFacets,\n sort: sort,\n sortOrder: sortOrder,\n page: Number(page),\n pageSize: pageSize,\n };\n const results = await fetchDatasets(rootUrl, options, additionalParams);\n const itemKeys = Object.keys(results.data.results);\n const itemsArray = itemKeys.map((key) => {\n return results.data.results[key];\n });\n setFacets(results.data.facets);\n setItems(itemsArray);\n setTotalItems(results.data.total);\n setLoading(false);\n }\n\n function resetFilters() {\n setFulltext(defaultFulltext);\n setSelectedFacets(defaultSelectedFacets);\n setPage(defaultPage);\n }\n\n useEffect(() => {\n if (totalItems !== null) {\n setPage(1);\n }\n }, [fulltext, selectedFacets, pageSize]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setLoading(true);\n search();\n }, 1000);\n return () => clearTimeout(timer);\n }, [fulltext, selectedFacets, sort, sortOrder, page, pageSize]);\n\n return {\n fulltext,\n selectedFacets,\n sortOptions,\n sortOrderOptions,\n items,\n facets,\n loading,\n totalItems,\n sort,\n sortOrder,\n page,\n pageSize,\n setPage,\n setPageSize,\n setSort,\n setSortOrder,\n setFulltext,\n resetFilters,\n };\n};\n\nexport default useSearchAPI;\n","import React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { Button, TextField } from '@cmsgov/design-system';\n\nconst Hero = ({ title, description, searchUrl, searchKey, textfieldLabel, searchButtonText }) => {\n const navigate = useNavigate();\n const [searchValue, setSearchValue] = React.useState('');\n\n function submitHero(e) {\n e.preventDefault();\n navigate(`/${searchUrl}?${searchKey}=${searchValue}`);\n }\n\n return (\n <section className={`dc-c-hero ds-base ds-u-padding--2`}>\n <div className=\"ds-l-container\">\n <div className=\"ds-l-row\">\n <h1 className=\"ds-text-heading--5xl ds-u-color--white ds-u-margin-y--1\">{title}</h1>\n <p className=\"ds-u-color--white ds-u-measure--wide\">{description}</p>\n </div>\n <form onSubmit={(e) => submitHero(e)}>\n <div\n style={{ position: 'relative' }}\n className=\"ds-l-row ds-u-align-items--stretch ds-u-margin-y--4 ds-u-flex-wrap--nowrap\"\n >\n <div\n className=\"ds-u-padding--0 ds-u-margin-right--1\"\n style={{ flex: '1 1 100%', maxWidth: '100%' }}\n >\n <TextField\n label={textfieldLabel}\n labelClassName=\"ds-u-visibility--screen-reader\"\n name=\"search_text_input\"\n style={{ maxWidth: 'none', height: '61px', margin: '0 20px 0 0' }}\n onChange={(e) => setSearchValue(e.target.value)}\n />\n </div>\n <Button className=\"ds-u-margin-left--auto\" size=\"big\" type=\"submit\" variation=\"solid\" onDark>\n <span className=\"fas fa-search small-text ds-u-sm-display--none\" />\n <span className=\"full-text ds-u-display--none ds-u-sm-display--inline-block\">\n {searchButtonText}\n </span>\n </Button>\n </div>\n </form>\n </div>\n </section>\n );\n};\n\nHero.defaultProps = {\n searchKey: 'fulltext',\n searchUrl: 'datasets',\n textfieldLabel: 'Search for a dataset',\n searchButtonText: 'Search',\n};\n\nexport default Hero;\n","import React from 'react';\nimport SwaggerUI from 'swagger-ui-react';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst ApiDocumentation = ({ endpoint }) => {\n return (\n <div>\n <SwaggerUI url={endpoint} />\n </div>\n );\n};\n\nexport default ApiDocumentation;\n","import React from 'react';\nimport qs from 'qs';\nimport { Button, HelpDrawer } from '@cmsgov/design-system';\nimport ResourceConditionField from '../ResourceConditionField';\n\nconst ResourceFilter = ({\n id,\n filterOpen,\n setFilterOpen,\n defaultCondition,\n resource,\n includeSearchParams,\n}) => {\n const {\n setConditions,\n schema,\n conditions,\n // searchParams\n } = resource;\n\n const [formConditions, setFormConditions] = React.useState(\n conditions && conditions.length ? conditions : [{ ...defaultCondition }]\n );\n React.useEffect(() => {\n if (includeSearchParams) {\n const url = new URL(window.location);\n const urlString = qs.stringify(\n { conditions: conditions },\n { encodeValuesOnly: true, addQueryPrefix: true }\n );\n window.history.pushState({}, '', `${url.origin}${url.pathname}${urlString}`);\n }\n }, [conditions]);\n\n function removeByIndex(index) {\n let newConditions = [...formConditions];\n newConditions.splice(index, 1);\n setFormConditions(newConditions);\n setConditions(newConditions);\n }\n\n function updateByIndex(index, key, value) {\n let newConditions = [...formConditions];\n newConditions[index][key] = value;\n setFormConditions(newConditions);\n }\n\n function removeAll() {\n setFormConditions([]);\n setConditions([]);\n }\n\n function submitFilters(e) {\n e.preventDefault();\n if (formConditions.length) {\n const updatedConditions = formConditions\n .filter((cond) => {\n if (cond.property) {\n return cond;\n }\n return false;\n })\n .map((cond) => {\n if (cond.operator === '=' || cond.operator === '<>') {\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.join();\n }\n cond.value = cond.value.replace(/(^\\%+|\\%+$)/gm, '');\n }\n if (cond.operator.toLowerCase() === 'like') {\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.join();\n }\n const cleanedValue = cond.value.replace(/(^\\%+|\\%+$)/gm, '');\n cond.value = `%${cleanedValue}%`;\n }\n if (cond.operator.toLowerCase() === 'in') {\n if (!Array.isArray(cond.value)) {\n cond.value = cond.value.split(',');\n }\n }\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.map((v) => v.trim().replace(/(^\\%+|\\%+$)/gm, ''));\n }\n return cond;\n });\n setConditions(updatedConditions);\n }\n }\n return (\n <HelpDrawer\n footerTitle=\"Update actions\"\n footerBody={\n <Button className=\"ds-u-margin-right--1\" onClick={(e) => submitFilters(e, formConditions)}>\n Update table\n </Button>\n }\n heading=\"Add filters\"\n className=\"dc-c-filterd-resouce-drawer\"\n onCloseClick={() => {\n setFilterOpen(!filterOpen);\n }}\n >\n <form onSubmit={(e) => submitFilters(e, formConditions)}>\n {Object.keys(schema).length &&\n formConditions.map((f, index) => (\n <ResourceConditionField\n key={index}\n data={f}\n index={index}\n remove={removeByIndex}\n schema={schema[id]}\n update={updateByIndex}\n />\n ))}\n <Button\n className=\"ds-u-margin-right--1\"\n variation=\"ghost\"\n onClick={(e) => {\n e.preventDefault();\n setFormConditions([...formConditions, { ...defaultCondition }]);\n }}\n >\n + Add another filter\n </Button>\n </form>\n {formConditions.length > 1 ? (\n <Button\n variation=\"ghost\"\n onClick={(e) => {\n e.preventDefault();\n removeAll();\n }}\n >\n Remove all filters\n </Button>\n ) : (\n ''\n )}\n </HelpDrawer>\n );\n};\n\nResourceFilter.defaultProps = {\n defaultCondition: {\n property: '',\n value: '',\n operator: '',\n },\n includeSearchParams: true,\n};\n\nexport default ResourceFilter;\n","import React from 'react';\nimport { Button, Dropdown, TextField } from '@cmsgov/design-system';\nimport DatePicker from 'react-datepicker';\nimport CloseIcon from '../../assets/icons/close';\nimport 'react-datepicker/dist/react-datepicker.css';\n\nfunction convertUTCToLocalDate(date) {\n if (!date) {\n return date;\n }\n date = new Date(date);\n date = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n return date;\n}\n\nfunction buildOperatorOptions(type) {\n switch (type) {\n case 'text': // Will change from text to string in future update\n case 'string':\n return [\n { label: 'Is', value: '=' },\n { label: 'Contains', value: 'like' },\n { label: 'Is Not', value: '<>' },\n { label: 'Or', value: 'in' },\n ];\n case 'date':\n return [\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n { label: 'Greater Than', value: '>' },\n { label: 'Less Than', value: '<' },\n ];\n default:\n // These 2 should be safe for all data types\n return [\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n ];\n }\n}\n\nfunction cleanText(value, operator) {\n let newValue = value;\n if (Array.isArray(newValue)) {\n newValue = newValue.join(',');\n }\n return newValue.replace(/(^\\%+|\\%+$)/gm, '');\n}\n\nconst ResourceConditionField = ({ data, index, remove, schema, update }) => {\n const { fields } = schema;\n const [startDate, setStartDate] = React.useState(data.value ? new Date(data.value) : new Date());\n const [propertyOptions, setPropertyOptions] = React.useState(\n Object.keys(fields).map((key) => {\n return { label: fields[key].description ? fields[key].description : key, value: key };\n })\n );\n const [property, setProperty] = React.useState(data.property);\n const [operator, setOperator] = React.useState(data.operator);\n const [operatorOptions, setOperatorOptions] = React.useState([{ label: '--', value: '' }]);\n const [value, setValue] = React.useState(data.value);\n\n React.useEffect(() => {\n if (property) {\n const opOptions = buildOperatorOptions(\n fields[property].mysql_type ? fields[property].mysql_type : fields[property].type\n ).map((opt) => {\n return { label: opt.label, value: opt.value };\n });\n update(index, 'property', property);\n if (!operator) {\n setOperator(opOptions[0].value);\n }\n setOperatorOptions(opOptions);\n if (\n (fields[property].mysql_type && fields[property].mysql_type === 'date') ||\n fields[property].type === 'date'\n ) {\n setValue(startDate.toJSON().slice(0, 10));\n }\n } else {\n update(index, 'property', property);\n setOperator('');\n setValue('');\n setOperatorOptions([{ label: '--', value: '' }]);\n }\n }, [property, operator]);\n\n React.useEffect(() => {\n if (operator) {\n update(index, 'operator', operator);\n } else {\n update(index, 'operator', '');\n }\n }, [operator]);\n\n React.useEffect(() => {\n if (value) {\n update(index, 'value', value);\n } else {\n update(index, 'value', '');\n }\n }, [value]);\n\n return (\n <fieldset>\n <div className=\"ds-l-form-row\">\n <Dropdown\n options={[{ label: 'Select column', value: '' }, ...propertyOptions]}\n value={property}\n onChange={(e) => setProperty(e.target.value)}\n label=\"Filter column\"\n labelClassName=\"ds-u-margin-top--0 ds-u-visibility--screen-reader\"\n name={`column_name_${index}`}\n className=\"ds-l-col--6\"\n />\n <Dropdown\n options={[...operatorOptions]}\n value={operator}\n disabled={!property ? true : false}\n onChange={(e) => setOperator(e.target.value)}\n labelClassName=\"ds-u-margin-top--0 ds-u-visibility--screen-reader\"\n size=\"small\"\n label=\"Filter operator\"\n name={`filter_operator_${index}`}\n className=\"ds-l-col--3\"\n />\n </div>\n <div className=\"ds-l-form-row\">\n {property &&\n (fields[property].mysql_type === 'date' || fields[property].type === 'date') ? (\n <div className=\"ds-u-clearfix ds-l-col--11\">\n <DatePicker\n selected={convertUTCToLocalDate(startDate)}\n onChange={(date) => {\n setStartDate(date);\n setValue(date.toJSON().slice(0, 10));\n }}\n showMonthDropdown\n showYearDropdown\n dropdownMode=\"select\"\n className=\"ds-c-field\"\n />\n </div>\n ) : (\n <TextField\n hint={operator.toLowerCase() === 'in' ? `Separate values with a comma.` : ''}\n value={cleanText(value, operator)}\n disabled={!property ? true : false}\n onChange={(e) => setValue(e.target.value)}\n label=\"Filter value\"\n labelClassName=\"ds-u-margin-top--0\"\n name={`filter_value_${index}`}\n className=\"ds-l-col--11\"\n />\n )}\n <Button\n className=\"ds-l-col--1\"\n variation=\"transparent\"\n aria-label=\"Remove filter\"\n onClick={(e) => {\n e.preventDefault();\n remove(index);\n }}\n >\n <CloseIcon />\n </Button>\n </div>\n </fieldset>\n );\n};\n\nexport default ResourceConditionField;\n","import React from 'react';\n\nconst CloseIcon = () => (\n <svg\n width=\"15px\"\n height=\"15px\"\n viewBox=\"0 0 15 15\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Close Icon</title>\n <desc>Created with Sketch.</desc>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M14.6467778,11.2126037 C14.8818403,11.4476661 15,11.7342663 15,12.0711472 C15,12.4080282 14.8818403,12.6946283 14.6467778,12.9296908 L12.9296908,14.6467778 C12.6933713,14.8830973 12.4067711,15.001257 12.0698902,15.001257 C11.7342663,15.001257 11.4476661,14.8830973 11.2126037,14.6467778 L7.49937149,10.9348026 L3.7873963,14.6467778 C3.55233386,14.8830973 3.26573368,15.001257 2.92885276,15.001257 C2.59197184,15.001257 2.30662868,14.8830973 2.07030923,14.6467778 L0.353222157,12.9296908 C0.116902707,12.6946283 0,12.4080282 0,12.0711472 C0,11.7342663 0.116902707,11.4476661 0.353222157,11.2126037 L4.06519735,7.50062851 L0.353222157,3.78865331 C0.116902707,3.55233386 0,3.2669907 0,2.92885276 C0,2.59322886 0.116902707,2.30662868 0.353222157,2.07156624 L2.07030923,0.353222157 C2.30662868,0.118159725 2.59197184,0 2.92885276,0 C3.26573368,0 3.55233386,0.118159725 3.7873963,0.353222157 L7.49937149,4.06519735 L11.2126037,0.353222157 C11.4476661,0.118159725 11.7342663,0 12.0698902,0 C12.4067711,0 12.6933713,0.118159725 12.9296908,0.353222157 L14.6467778,2.07156624 C14.8818403,2.30662868 15,2.59322886 15,2.92885276 C15,3.2669907 14.8818403,3.55233386 14.6467778,3.78865331 L10.9348026,7.50062851 L14.6467778,11.2126037 Z\"\n fill=\"#000000\"\n fillRule=\"nonzero\"\n ></path>\n </g>\n </svg>\n);\n\nexport default CloseIcon;\n","export { default } from './Breadcrumb';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport './breadcrumb.scss';\n\nconst Breadcrumb = ({ currentPage, pageTrail = [] }) => {\n const pageTrailContent = pageTrail.map((page) => (\n <li class=\"dc-c-breadcrumb__list-item\">\n <Link to={page.path} class=\"dc-c-breadcrumb__link\">\n <span>{page.title}</span>\n </Link>\n </li>\n ));\n\n return (\n <nav class=\"dc-c-breadcrumb ds-u-margin-top--6\" aria-label=\"Breadcrumbs\">\n <ol class=\"dc-c-breadcrumb__list\">\n {pageTrailContent}\n {currentPage ? (\n <li class=\"dc-c-breadcrumb__list-item dc-c-current\" aria-current=\"page\">\n <span>{currentPage}</span>\n </li>\n ) : (\n ''\n )}\n </ol>\n </nav>\n );\n};\n\nBreadcrumb.propTypes = {\n currentPage: PropTypes.string.isRequired,\n pageTrail: PropTypes.arrayOf(\n PropTypes.shape({\n path: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n })\n ),\n};\n\nexport default Breadcrumb;\n","import React, { useState, useEffect } from 'react';\nimport useMetastoreDataset from '../../services/useMetastoreDataset';\nimport PageNotFound from '../PageNotFound';\nimport FilteredResourceBody from './FilteredResourceBody';\nimport \"./filtered-resource.scss\";\n\nconst FilteredResource = ({\n id,\n dist_id,\n location,\n apiDocPage,\n additionalParams,\n customColumns,\n setDatasetTitle,\n columnSettings,\n columnWidths,\n customTitle,\n rootUrl\n}) => {\n const [ready, setReady] = useState(false);\n const [error, setError] = useState(false);\n const { dataset } = useMetastoreDataset(id, rootUrl, additionalParams);\n const distIndex = dist_id === 'data' ? 0 : dist_id;\n useEffect(() => {\n if (dataset.error) {\n setError(true);\n }\n if (dataset.distribution && dataset.distribution.length) {\n setReady(true);\n if (setDatasetTitle) {\n setDatasetTitle(dataset.title);\n }\n if (!dataset.distribution[distIndex]) {\n setError(true);\n }\n }\n }, [dataset.distribution, dataset.error, distIndex]);\n const notFoundContent = (\n <div className=\"ds-u-padding-top--3\">\n <h1 className=\"ds-title\">Error: Dataset not found</h1>\n <p>\n We're sorry, but there is no dataset ID that matches your entry. You may have been directed\n here because:\n </p>\n <ol>\n <li>The address you typed contains a typo;</li>\n <li>The requested dataset no longer exists.</li>\n </ol>\n <p>\n <span className=\"ds-u-font-weight--bold\">Note:</span> If you were using a bookmark, please\n reset it once you find the correct dataset.\n </p>\n </div>\n );\n\n return (\n <>\n {error ? (\n <PageNotFound content={notFoundContent} />\n ) : (\n <>\n {ready && (\n <FilteredResourceBody\n id={id}\n dataset={dataset}\n distIndex={distIndex}\n location={location}\n apiDocPage={apiDocPage}\n additionalParams={additionalParams}\n customColumns={customColumns ? customColumns : []}\n columnSettings={columnSettings}\n columnWidths={columnWidths}\n customTitle={customTitle}\n rootUrl={rootUrl}\n />\n )}\n </>\n )}\n </>\n );\n};\n\nexport default FilteredResource;\n","import React, { useEffect, useRef } from 'react';\nimport qs from 'qs';\nimport DOMPurify from 'dompurify';\nimport { Link, useNavigate } from 'react-router-dom';\nimport SwaggerUI from 'swagger-ui-react';\nimport useDatastore from '../../services/useDatastore';\nimport {\n HelpDrawerToggle,\n Button,\n Tooltip,\n Spinner,\n Accordion,\n AccordionItem,\n} from '@cmsgov/design-system';\nimport ResourceFilter from '../../components/ResourceFilter';\nimport ResourceHeader from '../../components/ResourceHeader';\nimport ResourcePreview from '../../components/ResourcePreview';\nimport ResourceFooter from '../../components/ResourceFooter';\nimport { buildCustomColHeaders } from './functions';\nimport QueryBuilder from './QueryBuilder';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst FilteredResourceBody = ({\n id,\n dataset,\n distIndex,\n location,\n apiDocPage,\n additionalParams,\n customColumns,\n columnSettings,\n columnWidths,\n customTitle,\n rootUrl\n}) => {\n const navigate = useNavigate();\n const [tablePadding, setTablePadding] = React.useState('ds-u-padding-y--1');\n let apiDocs = useRef();\n const [filtersOpen, setFiltersOpen] = React.useState(false);\n let distribution = {};\n let distribution_array = dataset.distribution ? dataset.distribution : [];\n if (distribution_array.length) {\n distribution = distribution_array.find(\n (dist) => dist.identifier === distribution_array[distIndex].identifier\n );\n }\n let buttonRef = null;\n const options = location.search\n ? { ...qs.parse(location.search, { ignoreQueryPrefix: true }) }\n : { conditions: [] };\n let conditions = options.conditions.length ? options.conditions : [];\n const resource = useDatastore(\n '',\n rootUrl,\n {\n ...options,\n limit: 25,\n manual: true,\n },\n additionalParams\n );\n\n useEffect(() => {\n if (distribution.identifier) {\n resource.setResource(distribution.identifier);\n resource.setManual(false);\n }\n }, [distribution]);\n const downloadUrl = `${\n rootUrl\n }/datastore/query/${id}/${distIndex}/download?${qs.stringify(\n { conditions: resource.conditions },\n { encode: true }\n )}&format=csv`;\n const pageTitle =\n distribution.data.title && distribution.data.title.toLowerCase() !== 'csv'\n ? distribution.data.title\n : dataset.title;\n\n return (\n <section className=\"ds-l-container ds-u-padding-bottom--3 ds-u-margin-bottom--2\">\n {Object.keys(distribution).length && (\n <>\n <Link to={`/dataset/${id}`} className=\"ds-u-padding-y--3 ds-u-display--block\">\n Back to {dataset.title}\n </Link>\n <h1 className=\"ds-title\">{customTitle ? customTitle : pageTitle}</h1>\n <p\n className=\"ds-u-margin-top--0 dc-c-metadata-description\"\n dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(distribution.data.description) }}\n />\n {resource.columns && Object.keys(resource.schema).length && (\n <QueryBuilder\n resource={resource}\n id={distribution.identifier}\n customColumns={customColumns}\n />\n )}\n {resource.columns && Object.keys(resource.schema).length ? (\n <div>\n <ResourceHeader\n includeDensity={true}\n setTablePadding={setTablePadding}\n distribution={distribution}\n resource={resource}\n downloadUrl={downloadUrl}\n tablePadding={tablePadding}\n includeDownload\n />\n <ResourcePreview\n id={distribution.identifier}\n tablePadding={tablePadding}\n resource={resource}\n customColumns={buildCustomColHeaders(\n customColumns,\n resource.columns,\n resource.schema[distribution_array[distIndex].identifier]\n )}\n columnSettings={columnSettings}\n options={{\n layout: 'flex',\n columnFilter: false,\n columnSort: true,\n columnResize: true,\n }}\n columnWidths={columnWidths}\n />\n <ResourceFooter resource={resource} />\n </div>\n ) : (\n <Spinner role=\"status\" aria-valuetext=\"Resource loading\" />\n )}\n {dataset.identifier && (\n <div ref={apiDocs}>\n <h2>Try the API</h2>\n <SwaggerUI\n url={`${rootUrl}/metastore/schemas/dataset/items/${\n dataset.identifier\n }/docs${\n additionalParams && additionalParams.ACA\n ? '?ACA=' + additionalParams.ACA + '&redirect=false'\n : ''\n }`}\n docExpansion={'list'}\n defaultModelsExpandDepth={-1}\n />\n </div>\n )}\n </>\n )}\n </section>\n );\n};\n\nFilteredResourceBody.defaultProps = {\n apiDocPage: '/api',\n};\n\nexport default FilteredResourceBody;\n","import React, { useState } from 'react';\nimport qs from 'qs';\nimport { Accordion, AccordionItem, Button, Dropdown, TextField } from '@cmsgov/design-system';\nimport QueryRow from './QueryRow';\nimport QueryTitle from './QueryTitle';\nimport { buildOperatorOptions } from './functions';\n\nfunction updateQueryForDatastore(condition) {\n let cond = condition;\n delete cond.key;\n if (cond.operator === '=' || cond.operator === '<>') {\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.join();\n }\n cond.value = cond.value.replace(/(^\\%+|\\%+$)/gm, '');\n }\n if (cond.operator.toLowerCase() === 'like') {\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.join();\n }\n const cleanedValue = cond.value.replace(/(^\\%+|\\%+$)/gm, '');\n cond.value = `%${cleanedValue}%`;\n }\n if (cond.operator.toLowerCase() === 'in') {\n if (!Array.isArray(cond.value)) {\n cond.value = cond.value.split(',');\n }\n }\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.map((v) => v.trim().replace(/(^\\%+|\\%+$)/gm, ''));\n }\n return cond;\n}\n\nconst QueryBuilder = ({ resource, id, includeSearchParams, customColumns }) => {\n const { conditions, schema, setConditions } = resource;\n const fields = Object.keys(schema[id].fields);\n const hasConditions = conditions.length > 0;\n\n const [queryCount, setQueryCount] = useState(0);\n const [queryConditions, setQueryConditions] = useState([]);\n const [titleConditions, setTitleConditions] = useState([]); // Add use effect to load conditions on first load if needed\n const [conditionsChanged, setConditionsChanged] = useState(false);\n\n const addCondition = (condition) => {\n if (Array.isArray(condition)) {\n const keyedConditions = condition.map((oc) => ({\n ...oc,\n key: Date.now() + oc.value + oc.property,\n }));\n setQueryConditions(keyedConditions);\n } else {\n setQueryConditions([\n ...queryConditions,\n {\n property: fields[0],\n value: '',\n operator: buildOperatorOptions(schema[id].fields[fields[0]].mysql_type)[0].value,\n key: Date.now(),\n },\n ]);\n }\n };\n\n React.useEffect(() => {\n addCondition(conditions);\n setTitleConditions(conditions);\n }, []);\n\n const propertyOptions = fields.map((f) => {\n if (schema[id].fields[f].description) {\n return { label: schema[id].fields[f].description, value: f };\n }\n return { label: f, value: f };\n });\n\n const submitConditions = (e) => {\n e.preventDefault();\n const submitConditions = queryConditions\n .filter((oc) => {\n if (oc.property) {\n return oc;\n }\n return false;\n })\n .map((oc) => {\n let cond = Object.assign({}, oc);\n return updateQueryForDatastore(cond);\n });\n setConditions(submitConditions);\n setTitleConditions(queryConditions.map((oc) => Object.assign({}, oc)));\n setConditionsChanged(false);\n if (includeSearchParams) {\n const url = new URL(window.location);\n const urlString = qs.stringify(\n { conditions: submitConditions },\n { encodeValuesOnly: true, addQueryPrefix: true }\n );\n window.history.pushState({}, '', `${url.origin}${url.pathname}${urlString}`);\n }\n };\n\n const updateCondition = (index, key, value) => {\n let newConditions = [...queryConditions];\n newConditions[index][key] = value;\n setQueryConditions(newConditions);\n setConditionsChanged(true);\n };\n\n const removeCondition = (index) => {\n let newConditions = queryConditions.map((oc) => Object.assign({}, oc));\n newConditions.splice(index, 1);\n setQueryConditions(newConditions);\n setConditionsChanged(true);\n };\n\n return (\n <div className=\"dc-query-builder ds-u-margin-bottom--3\">\n <Accordion bordered>\n <AccordionItem\n heading={\n <QueryTitle\n schema={schema[id]}\n conditions={titleConditions}\n customColumns={customColumns}\n />\n }\n defaultOpen={false}\n >\n <form onSubmit={(e) => submitConditions(e)}>\n <div>\n {queryConditions.map((qf, index) => (\n <QueryRow\n key={qf.key}\n id={id}\n schema={schema}\n condition={qf}\n index={index}\n propertyOptions={propertyOptions}\n update={updateCondition}\n remove={removeCondition}\n />\n ))}\n </div>\n\n <div className=\"dc-query-bulder--form-buttons ds-u-padding-y--2\">\n <Button variation=\"transparent\" onClick={() => addCondition(null)}>\n + Add filter\n </Button>\n <Button disabled={!conditionsChanged} className=\"ds-u-float--right\" type=\"submit\">\n Apply filters\n </Button>\n </div>\n </form>\n </AccordionItem>\n </Accordion>\n </div>\n );\n};\n\nQueryBuilder.defaultProps = {\n includeSearchParams: true,\n};\n\nexport default QueryBuilder;\n","import React, { useState, useEffect } from 'react';\nimport DatePicker from 'react-datepicker';\nimport { useMediaQuery } from 'react-responsive';\nimport { Accordion, AccordionItem, Button, Dropdown, TextField } from '@cmsgov/design-system';\nimport { buildOperatorOptions, convertUTCToLocalDate, cleanText } from './functions';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport CloseIcon from '../../assets/icons/close';\n\nfunction getStartDate(condition, schema, id) {\n if (schema[id].fields[condition.property].mysql_type === 'date') {\n const newDate = new Date(condition.value);\n if (newDate instanceof Date && !isNaN(newDate)) {\n return newDate;\n }\n }\n return new Date();\n}\n\nconst QueryRow = ({ id, condition, index, update, remove, propertyOptions, schema }) => {\n const md = useMediaQuery({ minWidth: 0, maxWidth: 768 });\n const [operator, setOperator] = useState(condition.operator);\n const [property, setProperty] = useState(condition.property);\n const [value, setValue] = useState(condition.value);\n const [startDate, setStartDate] = React.useState(getStartDate(condition, schema, id));\n useEffect(() => {\n if (property !== condition.property) {\n if (property) {\n update(index, 'property', property);\n } else {\n update(index, 'property', '');\n }\n if (schema[id].fields[condition.property].mysql_type === 'date') {\n if(!value) {\n setValue(startDate.toJSON().slice(0, 10));\n }\n }\n }\n }, [property, value, startDate, schema, id, condition]);\n\n useEffect(() => {\n if (operator !== condition.operator) {\n if (operator) {\n update(index, 'operator', operator);\n } else {\n update(index, 'operator', '');\n }\n }\n }, [operator]);\n\n useEffect(() => {\n if (value !== condition.value) {\n if (value) {\n update(index, 'value', value);\n } else {\n update(index, 'value', '');\n }\n }\n }, [value]);\n\n return (\n <fieldset className=\"ds-u-display--flex ds-u-justify-content--between ds-u-align-items--center\">\n <Dropdown\n options={propertyOptions}\n value={property}\n label=\"Property\"\n name={`${condition.key}_property`}\n onChange={(e) => setProperty(e.target.value)}\n />\n <Dropdown\n options={buildOperatorOptions(schema[id].fields[property].mysql_type)}\n value={operator}\n size=\"small\"\n label=\"Operator\"\n name={`${condition.key}_operator`}\n onChange={(e) => setOperator(e.target.value)}\n />\n {schema[id].fields[property].mysql_type === 'date' ? (\n <div>\n <label\n className=\"ds-c-label\"\n htmlFor={`${condition.key}_date_value`}\n id={`${condition.key}_date_value-label`}\n >\n <span>Value</span>\n </label>\n <DatePicker.default\n name={`${condition.key}_date_value`}\n selected={convertUTCToLocalDate(startDate)}\n onChange={(date) => {\n setStartDate(date);\n setValue(date.toJSON().slice(0, 10));\n }}\n showMonthDropdown\n showYearDropdown\n dropdownMode=\"select\"\n className=\"ds-c-field\"\n withPortal\n // popperPlacement=\"top-end\"\n // popperModifiers={[\n // {\n // name: 'preventOverflow',\n // options: {\n // rootBoundary: 'viewport',\n // // tether: true,\n // altAxis: true,\n // },\n // },\n // ]}\n />\n </div>\n ) : (\n <TextField\n label=\"Value\"\n name={`${condition.key}_value`}\n value={cleanText(value, operator)}\n onChange={(e) => setValue(e.target.value)}\n />\n )}\n\n <Button\n variation={md ? 'transparent' : null}\n size=\"small\"\n className=\"ds-u-margin-top--3\"\n aria-label=\"Delete filter\"\n onClick={() => remove(index)}\n >\n {!md ? (\n <>Delete filter</>\n ) : (\n <>\n <CloseIcon />{' '}\n </>\n )}\n </Button>\n </fieldset>\n );\n};\n\nexport default QueryRow;\n","import React from 'react';\nimport { Badge, FilterChip } from '@cmsgov/design-system';\nimport { operatorMapping, cleanText } from './functions';\n\nconst QueryTitle = ({ conditions, schema, customColumns }) => {\n const { fields } = schema;\n if (!conditions.length) {\n return 'Add a filter';\n }\n\n function formatValue(text, property) {\n if (customColumns.length > 0) {\n let newValue = text;\n let customColumn = customColumns.find((c) => c.accessor === property);\n if (customColumn && customColumn.cell) {\n return customColumn.cell({ value: text });\n }\n return text;\n } else {\n return text;\n }\n }\n\n function buildTitle() {\n const newTitle = conditions.map((c) => {\n const field = fields[c.property];\n const description = field && field.description ? field.description : c.property;\n const operator = operatorMapping.find((op) => op.value === c.operator);\n return `${description} ${operator.label} ${cleanText(c.value)}`;\n });\n return newTitle.join(' AND ');\n }\n\n return (\n <span className=\"dc-querybuilder-title\">\n {conditions\n .map((c) => {\n const field = fields[c.property];\n const description = field && field.description ? field.description : c.property;\n const operator = operatorMapping.find((op) => op.value === c.operator);\n const cleanedText = cleanText(c.value);\n const formattedText = formatValue(cleanedText, c.property);\n return (\n <span className=\"ds-u-fill--background ds-u-padding--1 ds-u-margin-y--1 ds-u-display--inline-block ds-u-font-weight--semibold\">\n <span className=\"ds-u-font-weight--bold\">{description}</span>{' '}\n <span className=\"ds-u-font-weight--normal\">{operator.label.toUpperCase()}</span>{' '}\n <span className=\"ds-u-color--success\">{formattedText}</span>\n </span>\n );\n })\n .reduce((prev, curr) => [\n prev,\n <Badge className=\"ds-u-margin-x--1\" variation=\"info\">\n AND\n </Badge>,\n curr,\n ])}\n </span>\n );\n};\n\nexport default QueryTitle;\n","import { useEffect, useState } from 'react';\n\nconst useAddLoginLink = (hosts, menuItems, targetKey, loginLinkObj) => {\n const [linksArray, setLinksArray] = useState({ ...menuItems });\n useEffect(() => {\n let localLinks = { ...menuItems };\n if (hosts.findIndex((host) => host === window.location.host) > -1) {\n if (localLinks[targetKey].findIndex((link) => link.id === loginLinkObj.id) === -1) {\n localLinks[targetKey].unshift(loginLinkObj);\n setLinksArray(localLinks);\n }\n }\n }, [linksArray]);\n return linksArray;\n};\n\nexport default useAddLoginLink;\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nconst useScrollToTop = () => {\n const { pathname } = useLocation();\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname])\n}\n\nexport default useScrollToTop;\n"],"names":[],"version":3,"file":"main.js.map"}
1
+ {"mappings":"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","sources":["src/index.ts","src/components/NavBar/index.ts","src/components/NavBar/Navbar.tsx","src/components/SubMenu/index.jsx","src/components/NavLink/index.jsx","src/templates/APIPage/index.jsx","src/templates/APIPage/APIPage.jsx","src/templates/PageNotFound/index.jsx","src/templates/PageNotFound/PageNotFound.jsx","src/templates/DatasetSearch/index.jsx","src/templates/DatasetSearch/DatasetSearch.tsx","src/utilities/QueryProvider/QueryProvider.jsx","src/components/DatasetSearchListItem/index.tsx","src/assets/icons/searchItem.tsx","src/components/TransformedDate/index.jsx","src/components/DatasetSearchFacets/index.tsx","src/components/LargeFileInfo/index.tsx","src/components/SearchButton/index.tsx","src/components/PageHeader/index.tsx","src/services/useSearchAPI/helpers.ts","src/templates/Dataset/index.jsx","src/templates/Dataset/Dataset.jsx","src/services/useMetastoreDataset/index.jsx","src/services/useMetastoreDataset/useMetastoreDataset.jsx","src/templates/Dataset/DatasetBody.jsx","src/services/useDatastore/index.js","src/services/useDatastore/useDatastore.jsx","src/services/useDatastore/fetch.js","src/components/ResourcePreview/index.jsx","src/services/useDatastore/transformConditions.js","src/services/useDatastore/transformSorts.js","src/components/Datatable/index.js","src/components/Datatable/Datatable.jsx","src/components/Datatable/TruncatedResizeableTHead.jsx","src/components/Datatable/FixedSizeTHead.jsx","src/components/ResourceHeader/index.jsx","src/components/DataTablePageResults/index.js","src/components/DataTablePageResults/DataTablePageResults.tsx","src/components/DataTableDensity/index.jsx","src/components/ManageColumns/index.jsx","src/components/DataTableRowChanger/index.jsx","src/assets/icons/download.jsx","src/assets/icons/copy.jsx","src/assets/icons/settings.jsx","src/components/DatasetTags/index.jsx","src/components/DatasetDownloads/index.jsx","src/components/DatasetAdditionalInformation/index.jsx","src/components/ResourceFooter/index.jsx","src/components/ResourceInformation/index.jsx","src/templates/FilteredResource/functions.js","src/assets/metadataMapping.jsx","src/assets/frequencyMap.js","src/templates/Header/index.js","src/templates/Header/Header.jsx","src/components/DesktopHeader/index.jsx","src/components/DesktopHeader/DesktopHeader.jsx","src/components/SearchModal/index.jsx","node_modules/@parcel/runtime-js/lib/runtime-b3ccd292a961d1cb.js","src/components/MobileHeader/index.jsx","src/components/MobileHeader/MobileHeader.jsx","node_modules/@parcel/runtime-js/lib/runtime-e80621d7a1274d28.js","src/templates/Footer/index.jsx","src/services/useSearchAPI/index.jsx","src/services/useSearchAPI/useSearchAPI.jsx","src/components/Hero/index.jsx","src/components/ApiDocumentation/index.jsx","src/components/ResourceFilter/index.jsx","src/components/ResourceConditionField/index.jsx","src/assets/icons/close.jsx","src/components/Breadcrumb/index.jsx","src/components/Breadcrumb/Breadcrumb.jsx","src/templates/FilteredResource/index.jsx","src/templates/FilteredResource/FilteredResourceBody.jsx","src/templates/FilteredResource/QueryBuilder.jsx","src/templates/FilteredResource/QueryRow.jsx","src/templates/FilteredResource/QueryTitle.jsx","src/components/useAddLoginLink/index.jsx","src/components/useScrollToTop/index.jsx"],"sourcesContent":["// Components\nexport { default as NavBar } from './components/NavBar';\n\n\n// Templates\nexport { default as APIPage } from './templates/APIPage';\nexport { default as PageNotFound } from './templates/PageNotFound';\nexport { default as DatasetSearch } from './templates/DatasetSearch';\nexport { default as Dataset } from './templates/Dataset';\nexport { default as Header } from './templates/Header';\nexport { default as Footer } from './templates/Footer';\n\n// Services\nexport { default as useSearchAPI } from './services/useSearchAPI';\nexport { default as useDatastore } from './services/useDatastore';\nexport { transformTableSortToQuerySort } from './services/useDatastore/transformSorts';\n\n// export { default as NavLink } from './components/NavLink';\n// export { default as DatasetTags } from './components/DatasetTags';\n// export { default as DatasetDownloads } from './components/DatasetDownloads';\nexport { default as Hero } from './components/Hero';\n// export { default as SearchModal } from './components/SearchModal';\nexport { default as DatasetSearchListItem } from './components/DatasetSearchListItem';\n// export { default as SubMenu } from './components/SubMenu';\nexport { default as ApiDocumentation } from './components/ApiDocumentation';\n// export { default as ResourceConditionField } from './components/ResourceConditionField';\nexport { default as ResourceFilter } from './components/ResourceFilter';\nexport { default as ResourceHeader } from './components/ResourceHeader';\nexport { default as ResourcePreview } from './components/ResourcePreview';\nexport { default as ResourceFooter } from './components/ResourceFooter';\nexport { default as Breadcrumb } from './components/Breadcrumb';\nexport { default as TransformedDate } from './components/TransformedDate';\nexport { default as DataTable } from './components/Datatable';\nexport { buildRows } from './components/DatasetAdditionalInformation';\n\n// Templates\n// export { default as Dataset } from './templates/Dataset';\n// export { default as DatasetSearch } from './templates/DatasetSearch';\n// export { default as DrupalPage } from './templates/DrupalPage';\n// export { default as Header } from './templates/header';\n// export { default as MobileHeader } from './templates/mobile_header';\n\nexport { default as FilteredResource } from './templates/FilteredResource';\n// export { default as QueryBuilder } from './templates/FilteredResource/QueryBuilder';\nexport { default as QueryTitle } from './templates/FilteredResource/QueryTitle';\nexport { buildOperatorOptions, convertUTCToLocalDate, cleanText, buildCustomColHeaders } from './templates/FilteredResource/functions';\n// export { default as APIPage } from './templates/APIPage';\n\n// Hooks\nexport { default as useAddLoginLink } from './components/useAddLoginLink';\nexport { default as useScrollToTop } from './components/useScrollToTop';\nexport { default as useMetastoreDataset } from './services/useMetastoreDataset';\n\n// Assets\n// export { default as frequencyMap } from './assets/frequencyMap';\nexport { defaultMetadataMapping } from './assets/metadataMapping';\n\nexport { default as DataTablePageResults } from './components/DataTablePageResults';\n","export { default } from './Navbar';\n","import React from 'react';\nimport { NavbarProps } from './Navbar.types';\nimport SubMenu from '../SubMenu';\nimport NavLink from '../NavLink';\n\nconst NavBar = ({ links, menuName, menuId, menuClasses, linkClasses, wrapLabel }: NavbarProps) => {\n return (\n <nav className={`dc-c-${menuId}-menu`} aria-labelledby={`dc-c-${menuId}-menu--heading`}>\n <h2 id={`dc-c-${menuId}-menu--heading`} className=\"ds-u-visibility--screen-reader\">\n {menuName}\n </h2>\n <ul className={menuClasses}>\n {links.map((link) => {\n if (link.submenu) {\n return (\n <SubMenu key={link.id} link={link} wrapLabel={wrapLabel} linkClasses={linkClasses} />\n );\n } else {\n return (\n <li key={link.id}>\n <NavLink link={link} className={linkClasses} wrapLabel={wrapLabel} />\n </li>\n );\n }\n })}\n </ul>\n </nav>\n );\n};\n\nNavBar.defaultProps = {\n wrapLabel: false,\n};\n\nexport default NavBar;\n","import React, { useEffect, useState, useRef } from 'react';\nimport { Button } from '@cmsgov/design-system';\nimport NavLink from '../NavLink';\n\nconst SubMenu = ({ link, linkClasses, wrapLabel }) => {\n const [isExpanded, setIsExapanded] = useState(false);\n const innerHtml = wrapLabel ? <span>{link.label}</span> : link.label;\n const menu = useRef();\n useEffect(() => {\n function handleClickOutside(event) {\n if (menu.current && !menu.current.contains(event.target)) {\n setIsExapanded(false);\n }\n }\n function handleFocusOut(event) {\n if (menu.current && !menu.current.contains(event.relatedTarget)) {\n setIsExapanded(false);\n }\n }\n document.addEventListener('mousedown', handleClickOutside);\n menu.current.addEventListener('focusout', handleFocusOut);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n if (menu.current) {\n menu.current.removeEventListener('focusout', handleFocusOut);\n }\n };\n }, [menu, isExpanded]);\n\n return (\n <li className={`has-submenu ${isExpanded ? 'open' : ''}`} ref={menu}>\n <Button\n size=\"small\"\n variation=\"ghost\"\n onDark\n className={linkClasses}\n aria-haspopup=\"true\"\n aria-expanded={isExpanded}\n onClick={(e) => {\n e.preventDefault();\n setIsExapanded(!isExpanded);\n }}\n >\n {innerHtml}\n </Button>\n <ul className=\"dc-c-site-menu--sub-menu\">\n {link.submenu.map((s) => (\n <li key={s.id}>\n <NavLink link={s} wrapLabel={wrapLabel} />\n </li>\n ))}\n </ul>\n </li>\n );\n};\n\nexport default SubMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NavLink as RRDNavLink } from 'react-router-dom';\nimport './NavLink.scss';\n// import validator from 'validator';\n\nconst NavLink = ({ link, className, wrapLabel }) => {\n const innerHtml = wrapLabel ? <span>{link.label}</span> : link.label;\n\n // if (validator.isURL(link.url, { require_protocol: true })) {\n // return (\n // <a className={className} href={link.url}>\n // {innerHtml}\n // </a>\n // );\n // } else {\n return (\n <RRDNavLink\n className={({ isActive }) => (isActive ? `dc-c-active-link ${className}` : `${className}`)}\n to={link.url}\n >\n {innerHtml}\n </RRDNavLink>\n );\n // }\n};\n\nNavLink.defaultProps = {\n wrapLabel: false,\n className: null,\n};\n\nNavLink.propTypes = {\n link: PropTypes.shape({\n url: PropTypes.string,\n label: PropTypes.string,\n nonReactLink: PropTypes.bool,\n }).isRequired,\n className: PropTypes.string,\n /**\n * Will wrap the link label in a span for help with styling.\n */\n wrapLabel: PropTypes.bool,\n};\n\nexport default NavLink;\n","export { default } from './APIPage';\n","import React from 'react';\nimport qs from 'qs';\nimport SwaggerUI from 'swagger-ui-react';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst APIPage = ({ hideAuth, additionalParams, rootUrl }) => {\n const hasACA = additionalParams && additionalParams.ACA ? true : false;\n let params = {\n authentication: hideAuth ? false : undefined,\n ACA: hasACA ? additionalParams.ACA : undefined,\n redirect: hasACA ? false : undefined,\n };\n return (\n <section className=\"ds-l-container\">\n <SwaggerUI\n url={`${rootUrl}${qs.stringify(params, { addQueryPrefix: true })}`}\n docExpansion={'list'}\n defaultModelsExpandDepth={-1}\n />\n </section>\n )\n};\n\nAPIPage.defaultProps = {\n hideAuth: true,\n};\n\nexport default APIPage;\n","export { default } from './PageNotFound';\n","import React from 'react';\n\nconst PageNotFound = ({ siteUrl, content }) => {\n return (\n <section className=\"ds-l-container ds-u-padding-top--3\">\n {content ? (\n content\n ) : (\n <>\n <h1 className=\"ds-title\">Error: Page not found</h1>\n <p>\n We're sorry, but there is no {siteUrl} web page that matches your entry. You may have\n been directed here because:\n </p>\n <ol>\n <li>The address you typed contains a typo;</li>\n <li>The requested page may have expired or;</li>\n <li>The requested page may have been moved.</li>\n </ol>\n <p>\n <span className=\"ds-u-font-weight--bold\">Note:</span> If you were using a bookmark,\n please reset it once you find the correct page.\n </p>\n </>\n )}\n </section>\n );\n};\n\nexport default PageNotFound;\n","export { default } from './DatasetSearch';\n","import React, { useEffect, useState } from 'react';\nimport { useSearchParams, useLocation } from 'react-router-dom';\nimport qs from 'qs';\nimport withQueryProvider from '../../utilities/QueryProvider/QueryProvider';\nimport { Accordion, AccordionItem, TextField, Dropdown, Spinner, Button, Alert, Pagination } from '@cmsgov/design-system';\nimport DatasetSearchListItem from '../../components/DatasetSearchListItem';\nimport DatasetSearchFacets from '../../components/DatasetSearchFacets';\nimport LargeFileInfo from '../../components/LargeFileInfo';\nimport SearchButton from '../../components/SearchButton';\nimport PageHeader from '../../components/PageHeader';\nimport { useQuery } from '@tanstack/react-query';\nimport { separateFacets, transformUrlParamsToSearchObject } from '../../services/useSearchAPI/helpers';\n\nimport axios from 'axios';\nimport './dataset-search.scss';\nimport { DatasetSearchPageProps, SelectedFacetsType, SidebarFacetTypes, DistributionItemType } from '../../types/search';\nimport { TextFieldValue } from '@cmsgov/design-system/dist/types/TextField/TextField';\n\nconst DatasetSearch = (props: DatasetSearchPageProps) => {\n const {\n rootUrl,\n surveyLink,\n additionalParams,\n enableSort,\n defaultSort,\n pageTitle,\n filterTitle,\n showLargeFileWarning,\n introText,\n showDownloadIcon,\n } = props;\n \n const sortOptions = [\n { label: 'Newest', value: 'newest'},\n { label: 'Oldest', value: 'oldest'},\n { label: 'Title A-Z', value: 'titleAZ'},\n { label: 'Title Z-A', value: 'titleZA'}\n ];\n\n const defaultSortBy = \"\";\n const defaultFulltext = \"\";\n const defaultSelectedFacets = {theme: [], keyword: []};\n const defaultSortOrder = \"\";\n const defaultPage = 1;\n const defaultPageSize = 10;\n\n const location = useLocation();\n const transformedParams = transformUrlParamsToSearchObject(location.search, ['theme', 'keyword'], defaultSort);\n\n const [currentResultNumbers, setCurrentResultNumbers] = useState({total: 0, startingNumber: 0, endingNumber: 0});\n const [noResults, setNoResults] = useState(false);\n let [searchParams, setSearchParams] = useSearchParams();\n const [fulltext, setFullText] = useState(transformedParams.fulltext);\n const [filterText, setFilterText] = useState(transformedParams.fulltext);\n const [totalItems, setTotalItems] = useState(0);\n const [page, setPage] = useState(transformedParams.page ? transformedParams.page : defaultPage);\n const [sort, setSort] = useState(\n transformedParams.sort ? transformedParams.sort : defaultSort ? defaultSort.defaultSort : defaultSortBy\n );\n const [sortOrder, setSortOrder] = useState(\n transformedParams.sortOrder\n ? transformedParams.sortOrder\n : defaultSort ? defaultSort.defaultOrder : defaultSortOrder\n );\n const [sortDisplay, setSortDisplay] = useState(() => {\n return sort === 'modified' ? (sortOrder === 'desc' ? 'newest' : 'oldest') : (sortOrder === 'desc' ? 'titleZA' : 'titleAZ');\n })\n const [selectedFacets, setSelectedFacets] = useState<SelectedFacetsType>(\n transformedParams.selectedFacets\n ? transformedParams.selectedFacets\n : {\n theme: [],\n keyword: [],\n }\n )\n\n const setSortOptions = (value: string) => {\n setSortDisplay(value)\n switch(value) {\n case 'newest':\n setSort('modified');\n setSortOrder('desc');\n break;\n case 'oldest':\n setSort('modified');\n setSortOrder('asc');\n break;\n case 'titleAZ':\n setSort('title');\n setSortOrder('asc');\n break;\n case 'titleZA':\n setSort('title');\n setSortOrder('desc');\n break;\n }\n }\n\n function updateSelectedFacets(key: string, value: string) {\n const newFacets: SelectedFacetsType = { ...selectedFacets };\n if (key === 'theme') {\n const existingFacet = newFacets.theme.findIndex((s) => s === value);\n if (existingFacet > -1) {\n newFacets.theme.splice(existingFacet, 1);\n } else {\n newFacets.theme.push(value);\n }\n }\n if (key === 'keyword') {\n const existingFacet = newFacets.keyword.findIndex((s) => s === value);\n if (existingFacet > -1) {\n newFacets.keyword.splice(existingFacet, 1);\n } else {\n newFacets.keyword.push(value);\n }\n }\n setSelectedFacets(newFacets);\n }\n\n const pageSize = defaultPageSize;\n\n useEffect(() => {\n const baseNumber = Number(totalItems) > 0 ? 1 : 0;\n const startingNumber = baseNumber + (Number(pageSize) * Number(page) - Number(pageSize));\n const endingNumber = Number(pageSize) * Number(page);\n setCurrentResultNumbers({\n total: Number(totalItems),\n startingNumber: Number(totalItems) >= startingNumber ? startingNumber : 0,\n endingNumber: Number(totalItems) < endingNumber ? Number(totalItems) : endingNumber,\n });\n if (totalItems && totalItems <= 0 && currentResultNumbers !== null) {\n setNoResults(true);\n } else {\n setNoResults(false);\n }\n }, [totalItems, pageSize, page]);\n\n useEffect(() => {\n var params = buildSearchParams(true);\n if (params !== location.search) {\n setSearchParams(params);\n }\n }, [page, sort, sortOrder, fulltext, selectedFacets]);\n\n function resetFilters() {\n setFullText(defaultFulltext);\n setFilterText(defaultFulltext);\n setSelectedFacets(defaultSelectedFacets);\n setPage(defaultPage);\n }\n\n function buildSearchParams(includePage: boolean) {\n let newParams: any = {};\n if (Number(page) !== 1 && includePage) {\n newParams.page = page;\n }\n if (sort !== defaultSort.defaultSort) {\n newParams.sort = sort;\n }\n if (sortOrder !== defaultSort.defaultOrder) {\n newParams.sortOrder = sortOrder;\n }\n if (fulltext !== '') {\n newParams.fulltext = fulltext;\n }\n if (Object.keys(selectedFacets).length) {\n Object.keys(selectedFacets).forEach((key) => {\n newParams[key] = selectedFacets[key];\n });\n }\n return qs.stringify(newParams, { addQueryPrefix: includePage, encode: true });\n }\n\n let params = {\n fulltext: fulltext ? fulltext : undefined,\n ...selectedFacets,\n sort: sort ? sort : undefined,\n ['sort-order']: sortOrder ? sortOrder : undefined,\n page: page !== 1 ? page : undefined, //use index except for when submitting to Search API\n ['page-size']: pageSize !== 10 ? pageSize : undefined,\n ...additionalParams\n }\n const { data, status, error } = useQuery([\"datasets\", params], () =>\n axios.get(`${rootUrl}/search/?${qs.stringify(params, {arrayFormat: 'comma',encode: false })}`)\n );\n\n if (data && totalItems != data.data.total) setTotalItems(data.data.total);\n\n const facets: SidebarFacetTypes = separateFacets(data ? data.data.facets : []);\n\n return (\n <>\n <PageHeader headerText={pageTitle} />\n <section className=\"ds-l-container\">\n <div className=\"ds-l-row\">\n <div className=\"ds-l-col--12 ds-u-margin-bottom--3\">\n {introText ? introText : null}\n {showLargeFileWarning && (\n <div className=\"ds-l-row ds-u-margin-bottom--6\">\n <div className=\"ds-l-md-col--12\">\n <Accordion bordered>\n <AccordionItem\n contentClassName=\"downloading-datasets\"\n heading=\"Please read before downloading datasets\"\n >\n <LargeFileInfo />\n </AccordionItem>\n </Accordion>\n </div>\n </div>\n )}\n <form\n onSubmit={(e) => {\n e.preventDefault();\n setFullText(filterText);\n }}\n className=\"dkan-dataset-search ds-l-form-row ds-u-padding-bottom--6 ds-u-border-bottom--1\"\n >\n <span className=\"ds-c-field__before fas fa-search ds-u-display--none ds-u-sm-display--inline-block\" />\n <TextField\n fieldClassName=\"ds-u-margin--0\"\n value={filterText as TextFieldValue}\n className=\"ds-u-padding-right--2 ds-l-col--10\"\n label=\"Search datasets\"\n labelClassName=\"ds-u-visibility--screen-reader\"\n placeholder=\"Search datasets\"\n name=\"dataset_fulltext_search\"\n onChange={(e) => setFilterText(e.target.value)}\n />\n <SearchButton />\n </form>\n </div>\n </div>\n <div className=\"ds-l-row ds-u-padding-top--6\">\n <div className=\"ds-l-col--12 ds-l-sm-col--4\">\n <Button\n className=\"dc-dataset-search--clear-all-filters ds-u-margin-bottom--2\"\n onClick={() => resetFilters()}\n >\n Clear all filters\n </Button>\n {facets.theme && (\n <DatasetSearchFacets\n facets={facets.theme}\n title=\"Categories\"\n onClickFunction={updateSelectedFacets}\n selectedFacets={selectedFacets.theme}\n />\n )}\n {facets.keyword && (\n <DatasetSearchFacets\n facets={facets.keyword}\n title={filterTitle}\n onClickFunction={updateSelectedFacets}\n selectedFacets={selectedFacets.keyword}\n />\n )}\n </div>\n <div className=\"ds-l-col--12 ds-l-sm-col--8\">\n {status === \"loading\" ? (\n <Spinner\n className=\"ds-u-valign--middle\"\n aria-valuetext=\"Dataset Search loading\"\n role=\"status\"\n />\n ) : (\n <>\n <div className=\"ds-u-display--flex ds-u-justify-content--between ds-u-align-items--end ds-u-flex-wrap--reverse ds-u-sm-flex-wrap--wrap\">\n <div className=\"ds-l-col--12 ds-l-sm-col--6 ds-l-md-col--8\">\n {currentResultNumbers && (\n <p className=\"ds-u-margin-y--0\" role=\"region\" aria-live=\"polite\" data-testid=\"currentResults\" >\n Showing {currentResultNumbers.startingNumber} -{' '}\n {currentResultNumbers.endingNumber} of {data ? data.data.total : \"\"} datasets\n </p>\n )}\n </div>\n {enableSort && (\n <div className=\"ds-l-col--12 ds-l-sm-col--6 ds-l-md-col--4 ds-u-sm-padding-right--0\">\n <Dropdown\n options={sortOptions}\n value={sortDisplay}\n label=\"Sort\"\n labelClassName=\"ds-u-margin-top--0\"\n name=\"dataset_search_sort\"\n onChange={(e) => setSortOptions(e.target.value)}\n />\n </div>\n )}\n </div>\n <ol className=\"dc-dataset-search-list ds-u-padding--0\" data-testid=\"results-list\">\n {noResults && <Alert variation=\"error\" heading=\"No results found.\" />}\n {data && Object.keys(data.data.results).map((key) => {\n return data.data.results[key];\n }).map((item) => {\n function getDownloadUrl(item: DistributionItemType) {\n let distribution_array = item.distribution ? item.distribution : [];\n return distribution_array.length ? item.distribution[0].downloadURL : null;\n }\n return (\n <DatasetSearchListItem \n title={item.title}\n modified={item.modified}\n description={item.description}\n theme={item.theme}\n identifier={item.identifier}\n downloadUrl={showDownloadIcon ? getDownloadUrl(item) : null}\n largeFile={item.theme && item.theme.includes('General Payments')} // Hardcoded for Open Payments for now, until we have a better way of detecting this\n />\n )\n })}\n </ol>\n {data && data.data.total != 0 && (\n <Pagination\n currentPage={Number(page)}\n totalPages={Math.ceil(Number(data.data.total) / pageSize)}\n onPageChange={(evt, page) => {\n evt.preventDefault();\n window.scroll(0, 0);\n setPage(page);\n }}\n renderHref={(page) => {\n const searchParams = buildSearchParams(false);\n const includeAnd = searchParams ? '&' : '';\n return `/datasets?page=${page}${includeAnd}${searchParams}`;\n }}\n />\n )}\n\n </>\n )}\n </div>\n </div>\n </section>\n </>\n );\n};\n\nDatasetSearch.defaultProps = {\n pageTitle: 'Dataset Explorer',\n introText: '',\n fulltextLabel: 'Search term',\n fulltextLabelClassName: 'ds-u-visibility--screen-reader',\n fulltextPlaceholder: 'Search datasets',\n filterTitle: 'Tags',\n formClassName: 'ds-u-display--flex ds-u-justify-content--between ds-u-margin-bottom--2',\n enableSort: true,\n sortOptions: [\n { label: 'Newest', value: 'newest'},\n { label: 'Oldest', value: 'oldest'},\n { label: 'Title A-Z', value: 'titleAZ'},\n { label: 'Title Z-A', value: 'titleZA'}\n ],\n defaultSort: { defaultSort: 'modified', defaultOrder: 'desc' },\n showLargeFileWarning: false,\n showDownloadIcon: false\n};\n\nexport default withQueryProvider(DatasetSearch);\n","import React from 'react';\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\n\nconst queryClient = new QueryClient();\n\nconst withQueryProvider = (WrappedComponent) => (props) => {\n return (\n <QueryClientProvider client={queryClient}>\n <WrappedComponent { ...props }/>\n </QueryClientProvider>\n )\n}\n\nexport default withQueryProvider;","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport DOMPurify from 'dompurify';\nimport TextTruncate from 'react-text-truncate';\nimport { useMediaQuery } from 'react-responsive';\n\nimport SearchItemIcon from '../../assets/icons/searchItem';\nimport TransformedDate from '../TransformedDate';\nimport './dataset-search-list-item.scss';\n\ntype SearchItemProps = {\n title: string;\n modified: string;\n description: string;\n theme: string[];\n identifier: string;\n downloadUrl?: string | null;\n largeFile: boolean;\n}\n\nconst dangerousDescriptionElement = ({ children } : {children: string}) => (\n <span dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(children) }} />\n);\n\nconst DatasetSearchListItem = (props: SearchItemProps) => {\n const desktop = useMediaQuery({ minWidth: 1024 });\n const { title, modified, description, theme, identifier, downloadUrl, largeFile = false } = props;\n\n let linkContainerClasses = 'ds-l-col--12 ds-u-margin-bottom--2';\n let linkClasses = 'ds-c-button ds-u-display--block ds-u-text-align--left';\n if (desktop) {\n linkContainerClasses = 'ds-l-col--auto';\n linkClasses = 'ds-u-display--block ds-u-text-align--left';\n }\n\n const truncatedDescription = (\n <TextTruncate\n line={3}\n element={'p'}\n containerClassName=\"ds-u-margin-top--0\"\n truncateText=\"…\"\n textElement={dangerousDescriptionElement}\n text={description}\n textTruncateChild=\"\"\n />\n );\n return (\n <li className=\"dc-c-search-list-item\" key={identifier}>\n <div className=\"dc-c-searchlist-item ds-u-border-top--1 ds-u-margin-bottom--4\">\n <div className=\"ds-l-row ds-u-align-items--start\">\n <span className=\"ds-l-col--12 ds-u-text-align--right ds-u-padding-top--2\">\n Updated <TransformedDate date={modified} />\n </span>\n <h2 className=\"ds-l-col--12\">\n <Link to={`/dataset/${identifier}`}>{title}</Link>\n </h2>\n </div>\n <div className=\"ds-l-row\">\n <div className=\"ds-l-col--12 ds-l-md-col--12\">{truncatedDescription}</div>\n </div>\n <ul className=\"ds-l-row ds-u-padding--0\">\n <li className={linkContainerClasses}>\n <span className={linkClasses}>\n <Link to={`/dataset/${identifier}#overview`}>\n <SearchItemIcon id=\"overview\" />\n Overview\n </Link>\n </span>\n </li>\n <li className={linkContainerClasses}>\n <span className={linkClasses}>\n <Link to={`/dataset/${identifier}#data-table`}>\n <SearchItemIcon id=\"data-table\" />\n Data Table\n </Link>\n </span>\n </li>\n <li className={linkContainerClasses}>\n <span className={linkClasses}>\n <Link to={`/dataset/${identifier}#api`}>\n <SearchItemIcon id=\"api\" />\n API\n </Link>\n </span>\n </li>\n {( downloadUrl ) ? (\n <li className={linkContainerClasses}>\n <span className={linkClasses}>\n {largeFile ? (\n <span>\n <SearchItemIcon id=\"download\" />\n {/*<LargeFileDialog downloadUrl={downloadUrl} /> */}\n </span>\n ) : (\n <a href={downloadUrl}>\n <SearchItemIcon id=\"download\" />\n Download\n </a>\n )}\n </span>\n </li>\n ) : (\n ''\n )}\n </ul>\n </div>\n </li>\n );\n};\n\nexport default DatasetSearchListItem;\n","import React from 'react'\ntype IconProps = {\n id: string;\n};\n\nconst SearchItemIcon = (props: IconProps) => {\n switch (props.id) {\n case 'overview':\n return (\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Overview Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fillRule=\"evenodd\">\n <g transform=\"translate(0.000000, -4.000000)\" fillRule=\"nonzero\">\n <g transform=\"translate(0.000000, -1.000000)\">\n <g transform=\"translate(0.000000, 5.000000)\">\n <g>\n <path d=\"M9.55610973,15.6404494 C9.31670823,15.8801498 9.02743142,16 8.6882793,16 C8.34912718,16 8.05985037,15.8801498 7.82044888,15.6404494 L0.33915212,8.14981273 C0.206151288,8.01664586 0.116375727,7.87682064 0.0698254364,7.73033708 C0.0232751455,7.58385352 0,7.43071161 0,7.27091136 L0,1.19850187 C0,0.852267998 0.113050707,0.565959218 0.33915212,0.339575531 C0.565253533,0.113191844 0.85120532,0 1.19700748,0 L7.26184539,0 C7.42144638,0 7.58104738,0.0233042031 7.74064838,0.0699126092 C7.90024938,0.116521015 8.04655029,0.206408656 8.17955112,0.339575531 L15.6209476,7.79026217 C15.8736492,8.04327923 16,8.33957553 16,8.67915106 C16,9.01872659 15.8736492,9.31502289 15.6209476,9.56803995 L9.55610973,15.6404494 Z M8.75953079,15 L15,8.75953079 L7.24046921,1 L1,1 L1,7.24046921 L8.75953079,15 Z M3,4 C3.26923077,4 3.50320513,3.90064103 3.70192308,3.70192308 C3.90064103,3.50320513 4,3.26923077 4,3 C4,2.73076923 3.90064103,2.49679487 3.70192308,2.29807692 C3.50320513,2.09935897 3.26923077,2 3,2 C2.73076923,2 2.49679487,2.09935897 2.29807692,2.29807692 C2.09935897,2.49679487 2,2.73076923 2,3 C2,3.26923077 2.09935897,3.50320513 2.29807692,3.70192308 C2.49679487,3.90064103 2.73076923,4 3,4 L3,4 Z\"></path>\n </g>\n <g transform=\"translate(7.890470, 8.890470) rotate(45.000000) translate(-7.890470, -8.890470) translate(3.543164, 6.321607)\">\n <path d=\"M6.16557222,4.98656515 C6.09634145,5.05213515 6.01557222,5.08309876 5.92326452,5.07945598 C5.83095683,5.07581321 5.7501876,5.04120682 5.68095683,4.97563682 C5.61172606,4.91006682 5.57711068,4.8317471 5.57711068,4.74067766 C5.57711068,4.64960821 5.61172606,4.57128849 5.68095683,4.50571849 L7.72326452,2.57140353 L5.69249529,0.648016895 C5.62326452,0.582446896 5.59057222,0.504127176 5.59441837,0.413057733 C5.59826452,0.32198829 5.63480299,0.243668569 5.70403375,0.17809857 C5.77326452,0.112528571 5.85595683,0.0797435719 5.95211068,0.0797435719 C6.04826452,0.0797435719 6.13095683,0.112528571 6.2001876,0.17809857 L8.47326452,2.34190853 C8.54249529,2.40747853 8.57711068,2.48397686 8.57711068,2.57140353 C8.57711068,2.65883019 8.54249529,2.73532853 8.47326452,2.80089852 L6.16557222,4.98656515 Z M2.29670341,4.98413866 L0.0208413435,2.82877761 C-0.0481241737,2.7631321 -0.0826069324,2.68654566 -0.0826069324,2.59901831 C-0.0826069324,2.51149096 -0.0481241737,2.43490453 0.0208413435,2.36925901 L2.31969192,0.181075204 C2.38865744,0.115429689 2.47103291,0.0826069324 2.56681835,0.0826069324 C2.6626038,0.0826069324 2.74497927,0.115429689 2.81394479,0.181075204 C2.88291031,0.246720718 2.91739307,0.325130638 2.91739307,0.416304963 C2.91739307,0.507479288 2.88291031,0.585889208 2.81394479,0.651534722 L0.76796778,2.59901831 L2.79095629,4.52462006 C2.8599218,4.59026558 2.89440456,4.66685201 2.89440456,4.75437936 C2.89440456,4.84190671 2.8599218,4.91849315 2.79095629,4.98413866 C2.72199077,5.04978418 2.63961529,5.08260693 2.54382985,5.08260693 C2.44804441,5.08260693 2.36566893,5.04978418 2.29670341,4.98413866 L2.29670341,4.98413866 Z\"></path>\n </g>\n </g>\n </g>\n </g>\n </g>\n </svg>\n );\n case 'data-table':\n return (\n <svg\n width=\"16px\"\n height=\"12px\"\n viewBox=\"0 0 16 12\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Data Table Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fillRule=\"evenodd\">\n <g transform=\"translate(-132.000000, -6.000000)\" fillRule=\"nonzero\">\n <g transform=\"translate(132.000000, -1.000000)\">\n <g transform=\"translate(8.000000, 13.000000) scale(1, -1) translate(-8.000000, -13.000000) translate(0.000000, 7.000000)\">\n <path d=\"M0,12 L0,0 L16,0 L16,12 L0,12 Z M1,10 L5,10 L5,1 L1,1 L1,10 Z M6,10 L10,10 L10,1 L6,1 L6,10 Z M11,10 L15,10 L15,1 L11,1 L11,10 Z\"></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n );\n case 'api':\n return (\n <svg\n width=\"16px\"\n height=\"13px\"\n viewBox=\"0 0 16 13\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>API Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fillRule=\"evenodd\">\n <g transform=\"translate(-279.000000, -6.000000)\" fillRule=\"nonzero\">\n <g transform=\"translate(279.000000, -1.000000)\">\n <g transform=\"translate(0.000000, 7.000000)\">\n <path d=\"M10.5806452,13 C10.4129032,13 10.2741935,12.9424479 10.1645161,12.8273438 C10.0548387,12.7122396 10,12.5666667 10,12.390625 C10,12.2145833 10.0548387,12.0690104 10.1645161,11.9539062 C10.2741935,11.8388021 10.4129032,11.78125 10.5806452,11.78125 L12.3225806,11.78125 C12.5935484,11.78125 12.8225806,11.6830729 13.0096774,11.4867188 C13.1967742,11.2903646 13.2903226,11.05 13.2903226,10.765625 L13.2903226,8.734375 C13.2903226,8.23333333 13.4354839,7.78645833 13.7258065,7.39375 C14.016129,7.00104167 14.3870968,6.73020833 14.8387097,6.58125 L14.8387097,6.41875 C14.3870968,6.28333333 14.016129,6.01588542 13.7258065,5.61640625 C13.4354839,5.21692708 13.2903226,4.76666667 13.2903226,4.265625 L13.2903226,2.234375 C13.2903226,1.95 13.1967742,1.70963542 13.0096774,1.51328125 C12.8225806,1.31692708 12.5935484,1.21875 12.3225806,1.21875 L10.5806452,1.21875 C10.4129032,1.21875 10.2741935,1.16119792 10.1645161,1.04609375 C10.0548387,0.930989583 10,0.785416667 10,0.609375 C10,0.433333333 10.0548387,0.287760417 10.1645161,0.17265625 C10.2741935,0.0575520833 10.4129032,8.8817842e-16 10.5806452,8.8817842e-16 L12.3225806,8.8817842e-16 C12.916129,8.8817842e-16 13.4193548,0.216666667 13.8322581,0.65 C14.2451613,1.08333333 14.4516129,1.61145833 14.4516129,2.234375 L14.4516129,4.265625 C14.4516129,4.55 14.5451613,4.79036458 14.7322581,4.98671875 C14.9193548,5.18307292 15.1483871,5.28125 15.4193548,5.28125 C15.5870968,5.28125 15.7258065,5.33880208 15.8354839,5.45390625 C15.9451613,5.56901042 16,5.71458333 16,5.890625 L16,7.109375 C16,7.271875 15.9451613,7.4140625 15.8354839,7.5359375 C15.7258065,7.6578125 15.5870968,7.71875 15.4193548,7.71875 C15.1483871,7.71875 14.9193548,7.81692708 14.7322581,8.01328125 C14.5451613,8.20963542 14.4516129,8.45 14.4516129,8.734375 L14.4516129,10.765625 C14.4516129,11.3885417 14.2451613,11.9166667 13.8322581,12.35 C13.4193548,12.7833333 12.916129,13 12.3225806,13 L10.5806452,13 Z M3.67741935,13 C3.08387097,13 2.58064516,12.7833333 2.16774194,12.35 C1.75483871,11.9166667 1.5483871,11.3885417 1.5483871,10.765625 L1.5483871,8.734375 C1.5483871,8.45 1.45483871,8.20963542 1.26774194,8.01328125 C1.08064516,7.81692708 0.851612903,7.71875 0.580645161,7.71875 C0.425806452,7.71875 0.290322581,7.6578125 0.174193548,7.5359375 C0.0580645161,7.4140625 3.52606833e-13,7.271875 3.52606833e-13,7.109375 L3.52606833e-13,5.890625 C3.52606833e-13,5.71458333 0.0580645161,5.56901042 0.174193548,5.45390625 C0.290322581,5.33880208 0.425806452,5.28125 0.580645161,5.28125 C0.851612903,5.28125 1.08064516,5.18307292 1.26774194,4.98671875 C1.45483871,4.79036458 1.5483871,4.55 1.5483871,4.265625 L1.5483871,2.234375 C1.5483871,1.61145833 1.75483871,1.08333333 2.16774194,0.65 C2.58064516,0.216666667 3.08387097,8.8817842e-16 3.67741935,8.8817842e-16 L5.41935484,8.8817842e-16 C5.58709677,8.8817842e-16 5.72580645,0.0575520833 5.83548387,0.17265625 C5.94516129,0.287760417 6,0.433333333 6,0.609375 C6,0.785416667 5.94516129,0.930989583 5.83548387,1.04609375 C5.72580645,1.16119792 5.58709677,1.21875 5.41935484,1.21875 L3.67741935,1.21875 C3.40645161,1.21875 3.17741935,1.31692708 2.99032258,1.51328125 C2.80322581,1.70963542 2.70967742,1.95 2.70967742,2.234375 L2.70967742,4.265625 C2.70967742,4.76666667 2.56451613,5.21692708 2.27419355,5.61640625 C1.98387097,6.01588542 1.61290323,6.28333333 1.16129032,6.41875 L1.16129032,6.58125 C1.61290323,6.73020833 1.98387097,7.00104167 2.27419355,7.39375 C2.56451613,7.78645833 2.70967742,8.23333333 2.70967742,8.734375 L2.70967742,10.765625 C2.70967742,11.05 2.80322581,11.2903646 2.99032258,11.4867188 C3.17741935,11.6830729 3.40645161,11.78125 3.67741935,11.78125 L5.41935484,11.78125 C5.58709677,11.78125 5.72580645,11.8388021 5.83548387,11.9539062 C5.94516129,12.0690104 6,12.2145833 6,12.390625 C6,12.5666667 5.94516129,12.7122396 5.83548387,12.8273438 C5.72580645,12.9424479 5.58709677,13 5.41935484,13 L3.67741935,13 Z\"></path>\n </g>\n </g>\n </g>\n </g>\n </svg>\n );\n case 'download':\n return (\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Download Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fillRule=\"evenodd\">\n <g transform=\"translate(-370.000000, -4.000000)\" fillRule=\"nonzero\">\n <g transform=\"translate(370.000000, -1.000000)\">\n <path d=\"M9,6 C9,5.446875 8.553125,5 8,5 C7.446875,5 7,5.446875 7,6 L7,13.584375 L4.70625,11.290625 C4.315625,10.9 3.68125,10.9 3.290625,11.290625 C2.9,11.68125 2.9,12.315625 3.290625,12.70625 L7.290625,16.70625 C7.68125,17.096875 8.315625,17.096875 8.70625,16.70625 L12.70625,12.70625 C13.096875,12.315625 13.096875,11.68125 12.70625,11.290625 C12.315625,10.9 11.68125,10.9 11.290625,11.290625 L9,13.584375 L9,6 Z M2,16 C0.896875,16 0,16.896875 0,18 L0,19 C0,20.103125 0.896875,21 2,21 L14,21 C15.103125,21 16,20.103125 16,19 L16,18 C16,16.896875 15.103125,16 14,16 L10.828125,16 L9.4125,17.415625 C8.63125,18.196875 7.365625,18.196875 6.584375,17.415625 L5.171875,16 L2,16 Z M13.5,19.25 C13.084375,19.25 12.75,18.915625 12.75,18.5 C12.75,18.084375 13.084375,17.75 13.5,17.75 C13.915625,17.75 14.25,18.084375 14.25,18.5 C14.25,18.915625 13.915625,19.25 13.5,19.25 Z\"></path>\n </g>\n </g>\n </g>\n </svg>\n );\n default:\n return null;\n }\n};\n\nexport default SearchItemIcon;\n","import React from 'react';\n\nconst TransformedDate = ({ date, options }) => {\n const rawDate = new Date(date);\n let modifiedDate = '';\n if (rawDate) {\n modifiedDate = rawDate.toLocaleDateString('en-US', options);\n }\n return <>{modifiedDate}</>;\n};\n\nTransformedDate.defaultProps = {\n options: {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n timeZone: 'UTC',\n },\n};\n\nexport default TransformedDate;\n","import React from 'react';\nimport { Choice, Accordion, AccordionItem } from '@cmsgov/design-system';\nimport { SearchAPIFacetType, SearchFacetsPropTypes } from '../../types/search';\nimport './dataset-search-facets.scss';\n\nconst SearchFacets = (props: SearchFacetsPropTypes) => {\n const { facets, title, onClickFunction, selectedFacets = [] } = props;\n return (\n <div className=\"dkan-dataset-search--facet-container ds-u-margin-bottom--4\">\n <Accordion>\n <AccordionItem\n contentClassName=\"ds-u-padding-left--1 ds-u-padding-right--0\"\n heading={title}\n defaultOpen\n >\n <ul>\n {facets\n .filter((f: SearchAPIFacetType) => {\n return Number(f.total) > 0;\n })\n .map((f: SearchAPIFacetType) => {\n return (\n <li key={f.name as React.Key}>\n <Choice\n className=\"ds-u-margin-y--1\"\n checked={selectedFacets.findIndex((s) => s === f.name) > -1 ? true : false}\n name={`facet_theme_${f.name}`}\n type=\"checkbox\"\n label={`${f.name} (${f.total})`}\n value={f.name}\n onClick={() => onClickFunction(f.type, f.name)}\n />\n </li>\n );\n })}\n </ul>\n </AccordionItem>\n </Accordion>\n </div>\n );\n};\n\nexport default SearchFacets;\n","import { Link } from 'react-router-dom';\n\ntype LargeFileInfoProps = {\n className?: string;\n};\n\nconst LargeFileInfo = (props: LargeFileInfoProps) => (\n <div className={props.className}>\n <p>\n Some datasets contain very large files and, depending on your network characteristics and\n software, may take a long time to download or fail to download. Additionally, the number of\n rows in the file may be larger than the maximum rows your version of Microsoft Excel supports.\n If you can't download the file, we recommend engaging your IT support staff. If you are able\n to download the file but are unable to open it in MS Excel or get a message that the data has\n been truncated, we recommend trying alternative programs such as MS Access, Universal Viewer,\n Editpad or any other software your organization has available for large datasets.\n </p>\n <p>\n <Link to=\"/about/software-specs-and-limits\">\n Click here to learn more about software specifications and limits.\n </Link>\n </p>\n </div>\n);\n\nexport default LargeFileInfo;\n","import React from 'react';\nimport { Button } from '@cmsgov/design-system';\n\ntype SearchButtonProps = {\n text?: string;\n};\n\nconst SearchButton = (props: SearchButtonProps) => {\n const { text } = props;\n\n return (\n <Button type=\"submit\" variation=\"solid\" className=\"ds-l-col--2\">\n <span className=\"fas fa-search small-text ds-u-sm-display--none\" />\n <div className=\"full-text ds-u-display--none ds-u-sm-display--inline-block ds-u-display--flex ds-u-align-items--center\">\n <span>{text ? text : 'Search'}</span>\n {` `}\n <span className=\"fas fa-arrow-right\" />\n </div>\n </Button>\n );\n};\n\nexport default SearchButton;\n","import React from 'react';\ntype pageHeaderProps = {\n headerText: string;\n};\n\nconst PageHeader = (props: pageHeaderProps) => {\n const { headerText } = props;\n return (\n <div className=\"ds-l-container ds-u-padding-top--4\">\n <div className=\"ds-l-row\">\n <div className=\"ds-l-md-col--8\">\n <h1 className=\"dc-c-entity__name ds-h1 ds-u-margin-bottom--6\">\n <span className=\"ds-u-margin-right--2\" data-testid=\"profile-full-name\">\n {headerText}\n </span>\n </h1>\n </div>\n </div>\n </div>\n );\n};\n\nexport default PageHeader;\n","import axios from 'axios';\nimport qs from 'qs';\nimport { SearchAPIFacetType, SortType } from '../../types/search';\n\nexport function separateFacets(facets: SearchAPIFacetType[]) {\n let facetObj: any = {};\n if (facets) {\n facets.forEach((f) => {\n if(facetObj[f.type]) {\n facetObj[f.type] = [...facetObj[f.type], f]\n } else {\n facetObj[f.type] = [f]\n }\n })\n return facetObj;\n }\n}\n\nexport function transformUrlParamsToSearchObject(searchParams: string, facetList: [string, string], defaultSortOptions: SortType) {\n const params = qs.parse(searchParams, { ignoreQueryPrefix: true });\n let themes = params.theme as string[];\n let keywords = params.keyword as string[];\n return {\n page: params.page,\n sort: !params.sort ? defaultSortOptions.defaultSort : params.sort,\n sortOrder: !params.sortOrder ? defaultSortOptions.defaultOrder : params.sortOrder,\n fulltext: params.fulltext,\n selectedFacets: {\n theme: themes ? themes : [],\n keyword: keywords ? keywords : [],\n },\n };\n}\n\nexport async function fetchDatasets(rootUrl: string, options: any, additionalParams: any) {\n const { fulltext, selectedFacets, sort, sortOrder, page, pageSize } = options;\n\n let params = {\n fulltext: fulltext ? fulltext : undefined,\n ...selectedFacets,\n sort: sort ? sort : undefined,\n ['sort-order']: sortOrder ? sortOrder : undefined,\n page: page !== 1 ? page : undefined, //use index except for when submitting to Search API\n ['page-size']: pageSize !== 10 ? pageSize : undefined,\n ...additionalParams\n }\n return await axios.get(`${rootUrl}/search/?${qs.stringify(params, {arrayFormat: 'comma',encode: false})}`)\n}\n","export { default } from './Dataset';","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport useMetastoreDataset from '../../services/useMetastoreDataset';\nimport DatasetBody from './DatasetBody';\nimport PageNotFound from '../PageNotFound';\nimport { defaultMetadataMapping } from '../../assets/metadataMapping';\nimport './dataset.scss';\n\nconst Dataset = ({\n id,\n rootUrl,\n additionalParams,\n customColumns,\n setDatasetTitle,\n columnSettings,\n columnWidths,\n customMetadataMapping,\n}) => {\n const metastore = useMetastoreDataset(id, rootUrl, additionalParams);\n const { dataset } = metastore;\n const title = dataset.title ? dataset.title : '';\n const metadataMapping = {\n ...defaultMetadataMapping,\n ...customMetadataMapping,\n };\n useEffect(() => {\n if (title) {\n if (setDatasetTitle) {\n setDatasetTitle(title);\n }\n }\n }, [title]);\n const notFoundContent = (\n <div className=\"ds-u-padding-top--3\">\n <h1 className=\"ds-title\">Error: Dataset not found</h1>\n <p>\n We're sorry, but there is no dataset ID that matches your entry. You may have been directed\n here because:\n </p>\n <ol>\n <li>The address you typed contains a typo;</li>\n <li>The requested dataset no longer exists.</li>\n </ol>\n <p>\n <span className=\"ds-u-font-weight--bold\">Note:</span> If you were using a bookmark, please\n reset it once you find the correct dataset.\n </p>\n </div>\n );\n return (\n <>\n {dataset.error ? (\n <PageNotFound content={notFoundContent} />\n ) : (\n <DatasetBody\n rootUrl={rootUrl}\n id={id}\n dataset={dataset}\n additionalParams={additionalParams}\n customColumns={customColumns ? customColumns : []}\n columnSettings={columnSettings}\n columnWidths={columnWidths}\n metadataMapping={metadataMapping}\n />\n )}\n </>\n );\n};\n\nDataset.propTypes = {\n id: PropTypes.string.isRequired,\n rootUrl: PropTypes.string.isRequired,\n};\n\nexport default Dataset;\n","export { default } from './useMetastoreDataset';","import { useState, useEffect } from 'react';\nimport qs from 'qs';\nimport axios from 'axios';\n\nconst useMetastoreDataset = (datasetId, rootAPIUrl, additionalParams={}) => {\n const [dataset, setDataset] = useState({});\n const [id, setId] = useState(datasetId)\n const [rootUrl, setRootUrl] = useState(rootAPIUrl)\n const additionalParamsString = Object.keys(additionalParams).length ? `&${qs.stringify(additionalParams)}` : '';\n useEffect(() => {\n async function fetchData() {\n return axios.get(`${rootUrl}/metastore/schemas/dataset/items/${id}?show-reference-ids${additionalParamsString}`)\n .then((res) => setDataset(res.data))\n .catch((error) => setDataset({error: error}));\n }\n fetchData();\n }, [id, rootUrl]);\n return {dataset, setId, setRootUrl};\n}\n\nexport default useMetastoreDataset;\n","import React, { useState, useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport DOMPurify from 'dompurify';\nimport SwaggerUI from 'swagger-ui-react';\nimport { Badge, Button } from '@cmsgov/design-system';\nimport useDatastore from '../../services/useDatastore';\nimport ResourcePreview from '../../components/ResourcePreview';\nimport ResourceHeader from '../../components/ResourceHeader';\nimport DatasetTags from '../../components/DatasetTags';\nimport DatasetDownloads from '../../components/DatasetDownloads';\nimport DatasetAdditionalInformation from '../../components/DatasetAdditionalInformation';\nimport TransformedDate from '../../components/TransformedDate';\nimport ResourceFooter from '../../components/ResourceFooter';\nimport ResourceInformation from '../../components/ResourceInformation';\nimport { buildCustomColHeaders } from '../FilteredResource/functions';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst DatasetBody = ({\n rootUrl,\n id,\n dataset,\n additionalParams,\n customColumns,\n columnSettings,\n columnWidths,\n metadataMapping,\n}) => {\n let apiDocs = useRef();\n const [tablePadding, setTablePadding] = useState('ds-u-padding-y--1');\n const [fileFormat, setFileFormat] = useState('');\n\n let distribution = {};\n let distribution_array = dataset.distribution ? dataset.distribution : [];\n if (distribution_array.length) {\n distribution = distribution_array[0];\n }\n const resource = useDatastore(\n '',\n rootUrl,\n {\n limit: 10,\n manual: true,\n },\n additionalParams\n );\n useEffect(() => {\n if (distribution.identifier) {\n let localFileFormat = '';\n if (distribution.data.format) {\n localFileFormat = distribution.data.format.toUpperCase();\n } else if (distribution.data.mediaType) {\n const mediaType = distribution.data.mediaType.split('/');\n if (mediaType.length && mediaType[1]) {\n localFileFormat = mediaType[1].toUpperCase();\n }\n }\n setFileFormat(localFileFormat);\n if (localFileFormat === 'CSV') {\n resource.setResource(distribution.identifier);\n resource.setManual(false);\n }\n }\n }, [distribution]);\n\n return (\n <section className=\"ds-l-container\">\n <div className=\"ds-l-row ds-u-padding-top--3\">\n <div className=\"ds-l-md-col--9 ds-l-sm-col--12\">\n <h1 className=\"ds-title ds-u-word-break\">{dataset.title}</h1>\n <div className=\"ds-l-row\">\n <p className=\"ds-l-col--6\">\n {dataset.theme ? <Badge variation=\"info\">{dataset.theme[0].data}</Badge> : null}\n </p>\n {dataset.modified && (\n <p className=\"ds-l-col--6 ds-u-color--gray ds-u-text-align--right\">\n Updated <TransformedDate date={dataset.modified} />\n </p>\n )}\n </div>\n <p className=\"dc-c-metadata-description\" dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(dataset.description) }} />\n {resource.columns && Object.keys(resource.schema).length ? (\n <>\n <h2 className=\"dc-resource-header\">Resource Preview</h2>\n {resource.columns ? (\n <div>\n <ResourceHeader\n id={id}\n includeFiltered\n includeDensity={true}\n tablePadding={tablePadding}\n setTablePadding={setTablePadding}\n distribution={distribution}\n resource={resource}\n />\n <ResourcePreview\n id={distribution.identifier}\n tablePadding={tablePadding}\n resource={resource}\n customColumns={buildCustomColHeaders(\n customColumns,\n resource.columns,\n resource.schema[distribution_array[0].identifier]\n )}\n columnSettings={columnSettings}\n options={{\n layout: 'flex',\n columnFilter: false,\n columnSort: true,\n columnResize: true,\n }}\n columnWidths={columnWidths}\n />\n <ResourceFooter resource={resource} />\n <ResourceInformation resource={resource} />\n </div>\n ) : (\n <Spinner aria-valuetext=\"Dataset loading\" role=\"status\" />\n )}\n </>\n ) : (\n ''\n )}\n {dataset.identifier && (\n <DatasetAdditionalInformation\n datasetInfo={dataset}\n id={dataset.identifier}\n metadataMapping={metadataMapping}\n />\n )}\n {Object.keys(distribution).length && fileFormat === 'CSV' && dataset.identifier ? (\n <div ref={apiDocs}>\n <h2>Try the API</h2>\n <SwaggerUI\n url={`${rootUrl}/metastore/schemas/dataset/items/${\n dataset.identifier\n }/docs${\n additionalParams && additionalParams.ACA\n ? '?ACA=' + additionalParams.ACA + '&redirect=false'\n : ''\n }`}\n docExpansion={'list'}\n defaultModelsExpandDepth={-1}\n />\n </div>\n ) : (\n ''\n )}\n </div>\n <div className=\"ds-l-md-col--3 ds-l-sm-col--12\">\n {Object.keys(distribution).length ? (\n <DatasetDownloads\n dataDictionaryURL={dataset.describedBy}\n dataDictionaryType={dataset.describedByType}\n distributions={dataset.distribution}\n />\n ) : (\n ''\n )}\n {dataset.keyword && (\n <DatasetTags keywords={dataset.keyword} />\n )}\n\n {Object.keys(distribution).length && fileFormat === 'CSV' ? (\n <div className=\"dc-c-dataset-tags ds-u-margin-bottom--3 ds-u-padding--2 ds-u-border ds-u-border--1\">\n <h2 className=\"ds-u-color--primary ds-u-font-size--h3 ds-u-margin-top--0 ds-u-margin-bottom--2 ds-u-padding-bottom--2\">\n API\n </h2>\n <Button\n variation=\"ghost\"\n onClick={() =>\n window.scrollTo({\n behavior: 'smooth',\n top: apiDocs.current.offsetTop,\n })\n }\n >\n Scroll to dataset API\n </Button>\n </div>\n ) : (\n ''\n )}\n </div>\n </div>\n </section>\n );\n};\n\nDatasetBody.propTypes = {\n id: PropTypes.string.isRequired,\n dataset: PropTypes.object.isRequired,\n};\n\nexport default DatasetBody;\n","export { default } from './useDatastore';","import { useState, useEffect, useRef } from \"react\";\nimport { fetchDataFromQuery } from \"./fetch\";\n\nconst useDatastore = (\n resourceId,\n rootAPIUrl,\n options,\n additionalParams = {}\n) => {\n const keys = options.keys ? options.keys : true;\n const { prepareColumns } = options;\n const [manual, setManual] = useState(options.manual ? options.manual : false);\n const [requireConditions, setRequireConditions] = useState(\n options.requireConditions ? options.requireConditions : false\n );\n const [values, setValues] = useState([]);\n const [id, setResource] = useState(resourceId);\n const [rootUrl, setRootUrl] = useState(rootAPIUrl);\n const [limit, setLimit] = useState(options.limit ? options.limit : 20);\n const [count, setCount] = useState(null);\n const [columns, setColumns] = useState([]);\n const [offset, setOffset] = useState(options.offset ? options.offset : 0);\n const [loading, setLoading] = useState(false);\n const [conditions, setConditions] = useState(\n options.conditions ? options.conditions : undefined\n );\n const [sort, setSort] = useState(options.sort ? options.sort : undefined);\n const [groupings, setGroupings] = useState(\n options.groupings ? options.groupings : undefined\n );\n const [schema, setSchema] = useState({});\n // const [joins, setJoins] = useState()\n const [properties, setProperties] = useState(\n options.properties ? options.properties : undefined\n );\n const prevLimitRef = useRef();\n const prevOffsetRef = useRef();\n\n useEffect(() => {\n prevLimitRef.current = limit;\n prevOffsetRef.current = offset;\n });\n const prevLimit = prevLimitRef.current;\n const prevOffset = prevOffsetRef.current;\n\n function fetchData() {\n let newOffset =\n prevLimit === limit ? (prevOffset !== offset ? offset : 0) : 0;\n setOffset(newOffset);\n fetchDataFromQuery(\n id,\n rootUrl,\n {\n keys,\n limit,\n offset: newOffset,\n conditions,\n sort,\n groupings,\n prepareColumns,\n properties,\n setValues,\n setCount,\n setColumns,\n setLoading,\n setSchema,\n setProperties,\n },\n additionalParams\n );\n }\n\n useEffect(() => {\n if (!loading && !manual) {\n if (!requireConditions) {\n fetchData();\n } else if (requireConditions) {\n if (conditions && conditions.length) {\n fetchData();\n } else {\n setCount(null);\n setValues([]);\n }\n }\n }\n }, [id, rootUrl, offset, conditions, sort, limit, requireConditions]);\n\n return {\n loading,\n values,\n count,\n columns,\n limit,\n offset,\n schema,\n conditions,\n properties,\n setProperties,\n setGroupings,\n setResource,\n setRootUrl,\n setLimit,\n setOffset,\n setConditions,\n setSort,\n setManual,\n setRequireConditions,\n fetchData,\n };\n};\n\nexport default useDatastore;\n","import axios from \"axios\";\nimport qs from \"qs\";\n\nexport async function fetchDataFromQuery(\n id,\n rootUrl,\n options,\n additionalParams\n) {\n const {\n keys,\n limit,\n offset,\n conditions,\n sort,\n groupings,\n prepareColumns,\n properties,\n setValues,\n setCount,\n setColumns,\n setLoading,\n setSchema,\n } = options;\n if (!id) {\n // TODO: Throw error\n return false;\n }\n if (typeof setLoading === \"function\") {\n setLoading(true);\n }\n return await axios({\n method: \"GET\",\n url: `${rootUrl}/datastore/query/${id}`,\n params: {\n keys: keys,\n limit: limit,\n offset: offset,\n conditions: conditions,\n sorts: sort,\n properties: properties,\n groupings: groupings,\n ...additionalParams,\n },\n paramsSerializer: {\n serialize: qs.stringify\n },\n // paramsSerializer: (params) => {\n // return qs.stringify(params);\n // },\n }).then((res) => {\n const { data } = res;\n const propertyKeys =\n data.schema[id] && data.schema[id].fields\n ? Object.keys(data.schema[id].fields)\n : [];\n setValues(data.results), setCount(data.count);\n if (propertyKeys.length) {\n setColumns(prepareColumns ? prepareColumns(propertyKeys) : propertyKeys);\n }\n setSchema(data.schema);\n if (typeof setLoading === \"function\") {\n setLoading(false);\n }\n return data;\n });\n}\n","import React from 'react';\n\nimport { TextField, Spinner } from '@cmsgov/design-system';\nimport { transformTableFilterToQueryCondition } from '../../services/useDatastore/transformConditions';\nimport { transformTableSortToQuerySort} from '../../services/useDatastore/transformSorts';\nimport DataTable from '../Datatable';\n\n\nfunction calculateMaxWidth(previewSize) {\n return Math.floor(previewSize * 0.84);\n}\n\nexport function prepareColumns(columns, schema) {\n return columns.map((column) => ({\n header:\n schema && schema.fields[column].description ? schema.fields[column].description : column,\n accessor: column,\n }));\n}\n\nfunction DefaultColumnFilter({ column: { Header, accessor, setFilter, filterValue } }) {\n return (\n <TextField\n label={`Filter by ${Header}`}\n onChange={(e) => {\n setFilter(e.target.value) || undefined;\n }}\n labelClassName=\"ds-u-visibility--screen-reader\"\n name={accessor}\n value={filterValue || ''}\n />\n );\n}\n\nconst ResourcePreview = ({\n tablePadding,\n id,\n options,\n resource,\n defaultSort,\n customColumns,\n truncateCellHeader,\n columnSettings,\n columnWidths,\n customClasses,\n canResize,\n}) => {\n\n return (\n <div\n id=\"resource-preview\"\n className=\"ds-u-overflow--auto ds-u-border-x--1 ds-u-border-bottom--1\"\n >\n <DataTable\n // filterTitle=\"Filter columns\"\n data={resource.values}\n canResize={canResize}\n sortDefaults={defaultSort}\n columns={\n customColumns ? customColumns : prepareColumns(resource.columns, resource.schema[id])\n }\n // schema={resource.schema}\n // totalRows={parseInt(resource.totalRows)}\n // limit={resource.limit}\n // offset={resource.offset}\n // loading={resource.loading}\n setSort={resource.setSort}\n // setConditions={resource.setConditions}\n // conditionsTransform={transformTableFilterToQueryCondition}\n sortTransform={transformTableSortToQuerySort}\n tablePadding={tablePadding}\n className=\"dc-c-datatable\"\n customColumnFilter={DefaultColumnFilter}\n options={options}\n CustomLoadingComponent={\n <div className=\"ds-u-display--flex ds-u-padding--3\">\n <Spinner\n className=\"ds-u-valign--middle\"\n role=\"status\"\n aria-valuetext=\"Datatable loading\"\n />\n </div>\n }\n CustomNoResults={\n <div className=\"ds-u-display--flex ds-u-padding--3\">\n <p>No results returned.</p>\n </div>\n }\n />\n </div>\n );\n};\n\nResourcePreview.defaultProps = {\n options: {\n layout: 'flex',\n columnFilter: false,\n columnSort: true,\n columnResize: true,\n },\n truncateCellHeader: true,\n defaultSort: [],\n canResize: true,\n};\n\nexport default ResourcePreview;\n","// OPERATORS\n// =\n// <> not equal to\n// BETWEEN\n// IN\n// NOT IN\n// >=\n// <=\n// like\n\nexport function transformTableFilterToQueryCondition(filterArray) {\n const conditions = filterArray.map((f) => {\n return {\n resource: 't',\n property: f.id,\n value: `%${f.value}%`,\n operator: 'LIKE',\n }\n });\n return conditions;\n}\n\nexport function transformTableFilterToSQLCondition(filterArray) {\n if(!filterArray || filterArray.length === 0) {\n return '';\n }\n\n const where_clauses = [];\n filterArray.forEach((v, i) => {\n // Switch delimiter to, and strip any double-quote for Dkan2's sql query.\n let value = `%25${v.value}%25`;\n where_clauses[i] = `${v.id} = \"${v.value.replace('\"', '')}\"`;\n });\n return `[WHERE ${where_clauses.join(' AND ')}]`;\n}\n","export function transformTableSortToQuerySort(sortArray) {\n let newQuery = [];\n sortArray.forEach((s) => {\n return newQuery.push({property: s.id, order: s.desc ? 'desc' : 'asc'})\n })\n return newQuery;\n}","export { default } from './Datatable';","import React from \"react\";\nimport {\n useReactTable,\n flexRender,\n getCoreRowModel,\n createColumnHelper,\n getSortedRowModel,\n} from \"@tanstack/react-table\";\nimport { Spinner } from \"@cmsgov/design-system\";\nimport TruncatedResizeableTHead from \"./TruncatedResizeableTHead\";\nimport FixedSizeTHead from \"./FixedSizeTHead\";\nimport \"./datatable.scss\";\n\nconst DataTable = ({\n data,\n columns,\n setSort,\n sortTransform,\n tablePadding,\n canResize,\n loading = false,\n}) => {\n const [ sorting, setSorting ] = React.useState([])\n const columnHelper = createColumnHelper()\n const table_columns = columns.map((col) => {\n if (col.cell) {\n return (\n columnHelper.accessor(col.accessor, {\n header: col.header,\n cell: col.cell,\n })\n )\n }\n return (\n columnHelper.accessor(col.accessor, {\n header: col.header,\n })\n )\n })\n\n const sortElement = (isSorted, onClickFn) => {\n if(isSorted === 'asc') {\n return 'dc-c-sort--asc'\n }\n if(isSorted === 'desc') {\n return 'dc-c-sort--desc'\n }\n return 'dc-c-sort--default'\n }\n const filters = []\n const table = useReactTable({\n data: data,\n columns: table_columns,\n manualSorting: true,\n state: {\n\n sorting,\n },\n columnResizeMode: 'onChange',\n onSortingChange: setSorting,\n\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n debugTable: false,\n });\n\n React.useEffect(() => {\n const normalizedSort = sortTransform ? sortTransform(sorting) : filters;\n setSort(normalizedSort);\n }, [sorting]);\n\n return(\n <div>\n <table\n tabIndex={0}\n {...{\n style: {\n width: canResize ? table.getCenterTotalSize() : \"100%\",\n },\n }}\n className=\"dc-c-datatable\"\n >\n {canResize\n ? <TruncatedResizeableTHead table={table} sortElement={sortElement} />\n : <FixedSizeTHead table={table} sortElement={sortElement} />\n }\n {loading ? (\n <tbody>\n <tr>\n <td colSpan={columns.length}>\n <Spinner aria-valuetext=\"Dataset loading\" role=\"status\" className=\"ds-u-margin--3\" />\n </td>\n </tr>\n </tbody>\n ) : (\n <tbody>\n {table.getRowModel().rows.map((row, index) => {\n const even = (index + 1) % 2 === 0;\n return(\n <tr key={row.id} className={`${even ? \"dc-c-datatable--even-row\" : \"\"}`}>\n {row.getVisibleCells().map((cell) => {\n let classList = \"dc-truncate ds-u-padding-x--1\"\n return (\n <td\n {...{\n key: cell.id,\n style: {\n maxWidth: cell.column.getSize(),\n },\n }}\n className={`${classList} ${tablePadding}`}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n );\n })}\n </tr>\n )\n })}\n </tbody>\n )}\n </table>\n </div>\n )\n}\n\nexport default DataTable;\n","import React from 'react';\nimport {\n useReactTable,\n flexRender,\n getCoreRowModel,\n createColumnHelper,\n ColumnResizeMode,\n ColumnDef,\n getSortedRowModel,\n SortingState,\n} from \"@tanstack/react-table\";\n\nconst TruncatedResizeableTHead = ({table, sortElement}) => {\n return(\n <thead className=\"dc-thead--truncated dc-thead--resizeable\">\n {table.getHeaderGroups().map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n return(\n <th {\n ...{\n key: header.id,\n style: {\n width: header.getSize(),\n },\n title: header.column.columnDef.header\n }\n }\n className=\"ds-u-border-y--2 ds-u-padding--2 ds-u-border--dark ds-u-font-weight--bold dc-c-table-header-cell\"\n >\n <div onClick={header.column.getToggleSortingHandler()}>\n <span style={{maxWidth: header.getSize() - 16}} >\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </span>\n <span\n {...{\n className: header.column.getCanSort()\n ? `cursor-pointer select-none ${sortElement(header.column.getIsSorted())}`\n : '',\n }}\n />\n </div>\n <span\n {...{\n onMouseDown: header.getResizeHandler(),\n onTouchStart: header.getResizeHandler(),\n className: `dc-c-resize-handle ${\n header.column.getIsResizing() ? 'isResizing' : ''\n }`,\n }}\n />\n </th>\n )\n })}\n </tr>\n ))}\n </thead>\n );\n}\n\nexport default TruncatedResizeableTHead;\n","import React from 'react';\nimport {\n useReactTable,\n flexRender,\n getCoreRowModel,\n createColumnHelper,\n ColumnResizeMode,\n ColumnDef,\n getSortedRowModel,\n SortingState,\n} from \"@tanstack/react-table\";\n\nconst FixedSizeTHead = ({table, sortElement}) => {\n return(\n <thead className=\"dc-thead--fixed-size\">\n {table.getHeaderGroups().map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n return(\n <th {\n ...{\n key: header.id,\n style: {\n width: header.getSize(),\n },\n title: header.column.columnDef.header\n }\n }\n className=\"ds-u-border-y--2 ds-u-padding--2 ds-u-border--dark ds-u-font-weight--bold dc-c-table-header-cell\"\n >\n <div onClick={header.column.getToggleSortingHandler()}>\n <span>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </span>\n <span\n {...{\n className: header.column.getCanSort()\n ? `cursor-pointer select-none ${sortElement(header.column.getIsSorted())}`\n : '',\n }}\n />\n </div>\n </th>\n );\n })}\n </tr>\n ))}\n </thead>\n );\n}\n\nexport default FixedSizeTHead;\n","import React, { useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { useMediaQuery } from 'react-responsive';\nimport { usePopper } from 'react-popper';\nimport {\n HelpDrawerToggle,\n Button,\n Tooltip,\n Spinner,\n Accordion,\n AccordionItem,\n} from '@cmsgov/design-system';\nimport DataTablePageResults from '../DataTablePageResults';\nimport DataTableDensity from '../DataTableDensity';\nimport ManageColumns from '../ManageColumns';\nimport DataTableRowChanger from '../DataTableRowChanger';\nimport DownloadIcon from '../../assets/icons/download';\nimport CopyIcon from '../../assets/icons/copy';\nimport SettingsIcon from '../../assets/icons/settings';\n\nconst ResourceHeader = ({\n setTablePadding,\n id,\n distribution,\n includeFiltered,\n includeDensity,\n includeDownload,\n resource,\n tablePadding,\n downloadUrl,\n}) => {\n const md = useMediaQuery({ minWidth: 0, maxWidth: 768 });\n const { limit, offset, count, setLimit, setOffset } = resource;\n const intCount = count ? parseInt(count) : 0;\n const [referenceElement, setReferenceElement] = useState(null);\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n modifiers: [{ name: 'arrow', options: { element: arrowElement } }],\n });\n\n return (\n <div className=\"dc-c-resource-header\">\n <div className=\"ds-l-row\">\n <div className=\"ds-l-col--12\">\n {includeFiltered && (\n <Link className=\"ds-c-button ds-c-button--solid\" to={`/dataset/${id}/data`}>\n View and filter data\n </Link>\n )}\n </div>\n </div>\n <div className=\"ds-l-row ds-u-align-items--center\">\n <div className=\"ds-l-col--12 ds-u-display--flex ds-u-justify-content--between ds-u-align-items--center\">\n <div className=\"ds-u-font-weight--bold\">\n <DataTablePageResults\n totalRows={parseInt(intCount)}\n limit={parseInt(limit)}\n offset={parseInt(offset)}\n />\n </div>\n <div className=\"dc-c-resource-header--buttons\">\n {includeDownload && (\n <>\n <Button\n size=\"small\"\n className=\"ds-u-text-align--left ds-u-font-weight--normal ds-u-font-size--base ds-u-margin-right--1\"\n href={downloadUrl}\n aria-label=\"Download filtered data (CSV)\"\n >\n <DownloadIcon />\n {!md && (\n <span className=\"ds-u-font-weight--semibold ds-u-margin-left--1\">\n Download filtered data (CSV)\n </span>\n )}\n </Button>\n\n <Tooltip\n onOpen={() => {\n navigator.clipboard.writeText(window.location.href);\n }}\n className=\"ds-c-button ds-c-button--small ds-u-text-align--left ds-u-margin-right--1\"\n placement=\"bottom\"\n dialog\n ariaLabel=\"Copy link to filtered data\"\n title=\"Link copied to clipboard\"\n >\n <CopyIcon />\n {!md && (\n <span className=\"ds-u-font-weight--semibold ds-u-margin-left--1\">\n Copy link to filtered data\n </span>\n )}\n </Tooltip>\n </>\n )}\n <Tooltip\n className=\"ds-c-button ds-c-button--small ds-u-text-align--left\"\n placement=\"bottom\"\n dialog\n ariaLabel=\"Display settings\"\n title={\n <div className=\"dc-c-display-settings\">\n <DataTableRowChanger limit={limit} setLimit={setLimit} setOffset={setOffset} />\n {includeDensity && (\n <DataTableDensity\n setTablePadding={setTablePadding}\n tablePadding={tablePadding}\n />\n )}\n </div>\n }\n >\n <SettingsIcon />\n {!md && (\n <span className=\"ds-u-font-weight--semibold ds-u-margin-left--1\">\n Display settings\n </span>\n )}\n </Tooltip>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default ResourceHeader;\n","export { default } from './DataTablePageResults';","import React from 'react';\nimport PropTypes from 'prop-types';\n\ntype DataTablePageResultsType = {\n totalRows: number;\n limit: number;\n offset: number;\n className: string;\n}\n\nconst DataTablePageResults = ({\n totalRows, limit, offset, className\n}: DataTablePageResultsType) => {\n const numTotalRows = totalRows;\n if (numTotalRows === 0) {\n return <p className={className}>{`0 - 0 of 0 rows`}</p>\n }\n const ofTotal = () => {\n if (limit >= numTotalRows) { return numTotalRows; }\n if (limit + offset >= numTotalRows) { return numTotalRows; }\n if (offset === 0) { return limit; }\n return (offset + limit);\n }\n const page = offset / limit;\n const startTotal = () => (page * limit + 1)\n return (\n <p className={className}>{`${startTotal().toLocaleString()} - ${ofTotal().toLocaleString()} of ${numTotalRows.toLocaleString()} rows`}</p>\n );\n};\n\nDataTablePageResults.defaultProps = {\n className: 'data-table-results',\n};\n\nDataTablePageResults.propTypes = {\n className: PropTypes.string,\n totalRows: PropTypes.number.isRequired,\n limit: PropTypes.number.isRequired,\n offset: PropTypes.number.isRequired,\n};\n\nexport default DataTablePageResults;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown } from '@cmsgov/design-system';\n\nconst DataTableDensity = ({ setTablePadding, tablePadding }) => {\n return (\n <div className=\"ds-u-display--flex\">\n <Dropdown\n options={[\n { label: 'Tight', value: 'ds-u-padding-y--0' },\n { label: 'Normal', value: 'ds-u-padding-y--1' },\n { label: 'Expanded', value: 'ds-u-padding-y--2' },\n ]}\n size=\"small\"\n label=\"Display density:\"\n labelClassName=\"ds-u-margin-top--0\"\n name=\"datatable_display_density\"\n onChange={(e) => setTablePadding(e.target.value)}\n defaultValue={'ds-u-padding-y--1'}\n />\n </div>\n );\n};\n\nDataTableDensity.propTypes = {\n setTablePadding: PropTypes.func.isRequired,\n};\n\nexport default DataTableDensity;\n","import React, { useState } from 'react';\nimport { Button } from '@cmsgov/design-system';\n\nconst ManageColumns = () => {\n const [modalOpen, setModalOpen] = useState(false);\n return <Button onClick={() => setModalOpen(!modalOpen)}>Manage Columns</Button>;\n};\n\nexport default ManageColumns;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Dropdown } from '@cmsgov/design-system';\n\nconst DataTableRowChanger = ({ setLimit, rowOptions, limit }) => {\n return (\n <div>\n <Dropdown\n options={rowOptions.map((row) => ({ label: row, value: row }))}\n size=\"small\"\n label=\"Rows per page:\"\n labelClassName=\"ds-u-margin-top--0\"\n name=\"datatable_rows_per_page\"\n onChange={(e) => setLimit(e.target.value)}\n defaultValue={limit}\n />\n </div>\n );\n};\n\nDataTableRowChanger.defaultProps = {\n rowOptions: [10, 25, 50, 100],\n};\n\nDataTableRowChanger.propTypes = {\n rowOptions: PropTypes.arrayOf(PropTypes.number),\n setLimit: PropTypes.func.isRequired,\n};\n\nexport default DataTableRowChanger;\n","import React from 'react';\n\nconst DownloadIcon = () => (\n <svg\n width=\"15px\"\n height=\"15px\"\n viewBox=\"0 0 384 512\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Download Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#112E51\"\n fillRule=\"nonzero\"\n d=\"M384 128h-128V0L384 128zM256 160H384v304c0 26.51-21.49 48-48 48h-288C21.49 512 0 490.5 0 464v-416C0 21.49 21.49 0 48 0H224l.0039 128C224 145.7 238.3 160 256 160zM255 295L216 334.1V232c0-13.25-10.75-24-24-24S168 218.8 168 232v102.1L128.1 295C124.3 290.3 118.2 288 112 288S99.72 290.3 95.03 295c-9.375 9.375-9.375 24.56 0 33.94l80 80c9.375 9.375 24.56 9.375 33.94 0l80-80c9.375-9.375 9.375-24.56 0-33.94S264.4 285.7 255 295z\"\n />\n </g>\n </svg>\n);\n\nexport default DownloadIcon;\n","import React from 'react';\n\nconst CopyIcon = () => (\n <svg\n width=\"15px\"\n height=\"15px\"\n viewBox=\"0 0 512 512\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Copy Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#112E51\"\n fillRule=\"nonzero\"\n d=\"M384 96L384 0h-112c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48H464c26.51 0 48-21.49 48-48V128h-95.1C398.4 128 384 113.6 384 96zM416 0v96h96L416 0zM192 352V128h-144c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h192c26.51 0 48-21.49 48-48L288 416h-32C220.7 416 192 387.3 192 352z\"\n />\n </g>\n </svg>\n);\n\nexport default CopyIcon;\n","import React from 'react';\n\nconst SettingsIcon = () => (\n <svg\n width=\"15px\"\n height=\"15px\"\n // viewBox=\"0 0 15 15\"\n viewBox=\"0 0 512 512\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Settings Icon</title>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n fill=\"#112E51\"\n fillRule=\"nonzero\"\n d=\"M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z\"\n />\n </g>\n </svg>\n);\n\nexport default SettingsIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport './dataset-tags.scss'\n\nconst DatasetTags = ({ keywords }) => {\n return (\n <div className=\"dc-c-dataset-tags ds-u-margin-bottom--3 ds-u-padding--2 ds-u-border ds-u-border--1\">\n <h2 className=\"ds-u-color--primary ds-u-font-size--h3 ds-u-margin-top--0 ds-u-margin-bottom--2\">\n Tags\n </h2>\n {keywords &&\n keywords.map((k) => (\n <Link\n key={k.identifier}\n to={`/datasets?keyword[]=${k.data}`}\n className=\"dc-c-dataset-tags--tag ds-u-color--base ds-u-font-size--small ds-u-text-decoration--none ds-u-margin-right--1 ds-u-margin-bottom--1 ds-u-padding-x--2 ds-u-padding-y--1 ds-u-radius\"\n >\n {k.data}\n </Link>\n ))}\n </div>\n );\n};\n\nDatasetTags.propTypes = {\n keywords: PropTypes.arrayOf(\n PropTypes.shape({\n data: PropTypes.string.isRequired,\n identifier: PropTypes.string.isRequired,\n })\n ).isRequired,\n};\n\nexport default DatasetTags;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst DatasetDownloads = ({ dataDictionaryURL, dataDictionaryType, distributions }) => {\n function trimDataDictionaryType() {\n let splitDataDictionaryType = dataDictionaryType.split('/');\n let type = splitDataDictionaryType.length > 1 ? splitDataDictionaryType[1] : splitDataDictionaryType[0];\n return type.toUpperCase()\n }\n\n function getFormatType(dist) {\n if(dist.data.format) {\n return dist.data.format.toUpperCase()\n }\n if(dist.data.mediaType) {\n const mediaType = dist.data.mediaType.split('/');\n if (mediaType.length && mediaType[1]) {\n return mediaType[1].toUpperCase();\n }\n }\n if(dist.data[\"%Ref:downloadURL\"].length && dist.data[\"%Ref:downloadURL\"][0].data) {\n if(dist.data[\"%Ref:downloadURL\"][0].data.mimeType) {\n const mimeType = dist.data[\"%Ref:downloadURL\"][0].data.mimeType.split(\"/\");\n if (mimeType.length && mimeType[1]) {\n return mimeType[1].toUpperCase();\n }\n }\n }\n return '';\n }\n\n return (\n <div className=\"ds-u-margin-bottom--3 ds-u-padding--2 ds-u-border ds-u-border--1 dc-c-dataset-downloads\">\n <h2 className=\"ds-u-color--primary ds-u-font-size--h3 ds-u-margin-top--0 ds-u-margin-bottom--2 ds-u-padding-bottom--2 ds-u-border ds-u-border-bottom--1\">\n Downloads\n </h2>\n {(distributions.length || (dataDictionaryURL && dataDictionaryType)) &&\n <ul className=\"ds-c-list ds-c-list--bare\">\n {\n distributions.map((dist) => (\n <li className=\"ds-u-padding-bottom--1\" key={dist.identifier}>\n <a href={dist.data.downloadURL} className=\"ds-u-word-break\">\n {getFormatType(dist)}\n {' '}\n Resource File\n </a>\n </li>\n ))\n }\n {(dataDictionaryURL && dataDictionaryType) &&\n <li>\n <a href={dataDictionaryURL}>\n Data Dictionary ({trimDataDictionaryType()})\n </a>\n </li>\n }\n </ul>\n }\n </div>\n );\n};\n\n\nexport default DatasetDownloads;\n","import React, { useState } from 'react';\nimport { Table, TableHead, TableRow, TableCell, TableBody } from '@cmsgov/design-system';\nimport './additional-information-table.scss';\n\nexport function buildRows(metadataMapping, datasetInfo) {\n const rows = [];\n Object.keys(metadataMapping).forEach((d) => {\n if (!datasetInfo[d]) {\n return null;\n } else {\n rows.push(...metadataMapping[d](datasetInfo[d]));\n }\n });\n return rows;\n}\n\nconst DatasetAdditionalInformation = ({ datasetInfo, id, metadataMapping}) => {\n const rows = buildRows(metadataMapping, datasetInfo);\n return (\n <div className=\"dc-c-additional-info-table ds-u-margin-bottom--6\">\n <h2>Additional Information</h2>\n <Table compact striped>\n <TableHead>\n <TableRow>\n <TableCell>Field</TableCell>\n <TableCell>Value</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {rows.map((r) => (\n <TableRow key={`${r.label}_${id}`}>\n <TableCell>{r.label}</TableCell>\n <TableCell className=\"ds-u-word-break-anywhere\">{r.value}</TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n );\n};\n\nexport default DatasetAdditionalInformation;\n","import React from 'react';\nimport { Pagination } from '@cmsgov/design-system';\n\nconst ResourceFooter = ({ resource }) => {\n const { limit, values, offset, count, setOffset } = resource;\n\n return (\n <div>\n {values.length > 0 && (\n <Pagination\n id=\"test-default\"\n currentPage={Number(offset) / limit + 1}\n totalPages={Math.ceil(Number(count) / limit)}\n onPageChange={(evt, page) => {\n evt.preventDefault();\n setOffset((page - 1) * limit);\n }}\n renderHref={(page) => {\n return \"\";\n }}\n />\n )}\n </div>\n );\n};\n\nexport default ResourceFooter;\n","import React from 'react';\nimport { Table, TableRow, TableCell } from '@cmsgov/design-system';\nimport './resource-information-table.scss';\n\nconst ResourceInformation = ({ resource }) => {\n const { count, columns } = resource;\n return (\n <div className=\"dc-c-resource-info-table\">\n <h2>About this Resource</h2>\n <Table compact striped>\n <TableRow>\n <TableCell component=\"th\" scope=\"row\">\n Rows\n </TableCell>\n <TableCell align=\"right\">{parseInt(count).toLocaleString()}</TableCell>\n </TableRow>\n <TableRow>\n <TableCell component=\"th\" scope=\"row\">\n Columns\n </TableCell>\n <TableCell align=\"right\">{columns.length.toLocaleString()}</TableCell>\n </TableRow>\n </Table>\n </div>\n );\n};\n\nexport default ResourceInformation;\n","// Example custom column headers, where only effective date has an ! at the end\n// [\n// {schema: 'date', cell: ({ value }) => localeDate(value),},\n// {accessor: 'effective_date',cell: ({ value }) => localeDate(value) + '!',},\n// ]\n\nexport function buildCustomColHeaders(customHeaders, columns, schema) {\n return columns.map((column) => {\n const customAccessorIndex = customHeaders.findIndex((header) => header.accessor === column);\n const customSchemaIndex = customHeaders.findIndex(\n (header) => header.schema === schema.fields[column].mysql_type\n );\n let newColumn = {};\n // If specific accessor is passed, this will override a general mysql_type Cell rewrite.\n if (customAccessorIndex > -1) {\n newColumn.header =\n schema && schema.fields[column].description ? schema.fields[column].description : column;\n newColumn.accessor = column;\n newColumn.cell = customHeaders[customAccessorIndex].cell;\n } else {\n newColumn.header =\n schema && schema.fields[column].description ? schema.fields[column].description : column;\n newColumn.accessor = column;\n if (customSchemaIndex > -1) {\n newColumn.cell = customHeaders[customSchemaIndex].cell;\n }\n }\n return newColumn;\n });\n}\n\nexport function convertUTCToLocalDate(date) {\n if (!date) {\n return date;\n }\n date = new Date(date);\n date = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n return date;\n}\n\nexport function cleanText(value, operator) {\n let newValue = value;\n if (Array.isArray(newValue)) {\n newValue = newValue.join(',');\n }\n // return newValue.replace(/(^\\%+|\\%+$)/gm, '');\n return newValue\n}\n\nexport const operatorMapping = [\n { label: 'Is', value: '=' },\n { label: 'Starts With', value: 'starts with' },\n { label: 'Contains', value: 'contains' },\n { label: 'Is Not', value: '<>' },\n { label: 'Or', value: 'in' },\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n { label: 'Greater Than', value: '>' },\n { label: 'Less Than', value: '<' },\n];\n\nexport function buildOperatorOptions(type) {\n switch (type) {\n case 'text': // Will change from text to string in future update\n case 'string':\n return [\n { label: 'Is', value: '=' },\n { label: 'Starts With', value: 'starts with' },\n { label: 'Contains', value: 'contains' },\n { label: 'Is Not', value: '<>' },\n { label: 'Or', value: 'in' },\n ];\n case 'date':\n return [\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n { label: 'Greater Than', value: '>' },\n { label: 'Less Than', value: '<' },\n ];\n default:\n // These 2 should be safe for all data types\n return [\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n ];\n }\n}\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport TransformedDate from '../components/TransformedDate';\nimport { frequencyMap } from './frequencyMap';\n\nexport const defaultMetadataMapping = {\n modified: (data) => {\n return [{ label: 'Modified', value: <TransformedDate date={data} /> }];\n },\n issued: (data) => {\n return [{ label: 'Issued', value: <TransformedDate date={data} /> }];\n },\n accrualPeriodicity: (data) => {\n return [\n {\n label: 'Frequency',\n value: frequencyMap[data].name,\n },\n ];\n },\n publisher: (data) => {\n if (data.data && data.data.name) {\n return [{ label: 'Publisher', value: data.data.name }];\n } else {\n return [];\n }\n },\n identifier: (data) => {\n return [{ label: 'Identifier', value: data }];\n },\n contactPoint: (data) => {\n let rows = [];\n if (data.fn) {\n rows.push({ label: 'Contact', value: data.fn });\n }\n if (data.hasEmail) {\n rows.push({ label: 'Contact Email', value: data.hasEmail });\n }\n return rows;\n },\n bureauCode: (data) => {\n if (data.length) {\n return [{ label: 'Bureau Code', value: data[0] }];\n }\n },\n programCode: (data) => {\n if (data.length) {\n return [{ label: 'Program Code', value: data[0] }];\n }\n },\n theme: (data) => {\n return [\n {\n label: 'Category',\n value: data\n .map((theme) => (\n <Link key={theme.data} to={`/datasets?theme[]=${theme.data}`}>\n {theme.data}\n </Link>\n ))\n .reduce((prev, curr) => [prev, ', ', curr]),\n },\n ];\n },\n keyword: (data) => {\n return [\n {\n label: 'Tags',\n value: data\n .map((keyword) => (\n <Link key={keyword.data} to={`/datasets?keyword[]=${keyword.data}`}>\n {keyword.data}\n </Link>\n ))\n .reduce((prev, curr) => [prev, ', ', curr]),\n },\n ];\n },\n license: (data) => {\n return [{ label: 'License', value: <a href={data}>{data}</a> }];\n },\n accessLevel: (data) => {\n return [{ label: 'Public Access Level', value: data }];\n },\n\n temporal: (data) => {\n return [\n { label: 'Temporal Coverage', value: <span className=\"dc-c-word-break--all\">{data}</span> },\n ];\n },\n spatial: (data) => {\n return [{ label: 'Spacial/Geographical Coverage', value: data }];\n },\n references: (data) => {\n return [\n {\n label: 'Related Documents',\n value: (\n <ul className=\"ds-u-margin--0 ds-u-padding-y--0 ds-u-padding-left--2 ds-u-padding-right--0\">\n {data.map((item) => (\n <li key={item}>\n <a href={item}>{item}</a>\n </li>\n ))}\n </ul>\n ),\n },\n ];\n },\n};\n","export const frequencyMap = {\n 'R/P10Y': { name: 'Decennial' },\n 'R/P4Y': { name: 'Quadrennial' },\n 'R/P1Y': { name: 'Annual' },\n 'R/P2M': { name: 'Bimonthly' },\n 'R/P3.5D': { name: 'Semiweekly' },\n 'R/P1D': { name: 'Daily' },\n 'R/P2W': { name: 'Biweekly' },\n 'R/P6M': { name: 'Semiannual' },\n 'R/P2Y': { name: 'Biennial' },\n 'R/P3Y': { name: 'Triennial' },\n 'R/P0.33W': { name: 'Three times a week' },\n 'R/P0.33M': { name: 'Three times a month' },\n 'R/PT1S': { name: 'Continuously updated' },\n 'R/P1M': { name: 'Monthly' },\n 'R/P3M': { name: 'Quarterly' },\n 'R/P0.5M': { name: 'Semimonthly' },\n 'R/P4M': { name: 'Three times a year' },\n 'R/P1W': { name: 'Weekly' },\n 'R/PT1H': { name: 'Hourly' },\n irregular: { name: 'Irregular' },\n};\n","export { default } from './Header';","import React from 'react';\nimport { useMediaQuery } from 'react-responsive';\nimport DesktopHeader from '../../components/DesktopHeader';\nimport MobileHeader from '../../components/MobileHeader';\nimport './header.scss';\n\nconst Header = ({\n mobileMaxWidth,\n desktopMinWidth,\n siteName,\n links,\n org,\n includeTopNav\n}) => {\n const mobile = useMediaQuery({ minWidth: 0, maxWidth: mobileMaxWidth});\n const desktop = useMediaQuery({ minWidth: desktopMinWidth});\n return(\n <>\n {desktop && (\n <DesktopHeader\n siteName={siteName}\n links={links}\n org={org}\n includeTopNav={includeTopNav}\n />\n )}\n {mobile && (\n <MobileHeader\n siteName={siteName}\n links={links}\n org={org}\n includeTopNav={includeTopNav}\n />\n )}\n </>\n );\n}\n\nHeader.defaultProps = {\n mobileMaxWidth: 1023,\n desktopMinWidth: 1024,\n includeTopNav: true,\n}\n\n\nexport default Header;\n","export { default } from './DesktopHeader';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { NavLink } from 'react-router-dom';\nimport NavBar from '../NavBar';\nimport SearchModal from '../SearchModal';\nimport cmsLogo from '../../assets/images/CMSGovLogo-O.png';\n\nconst DesktopHeader = ({\n siteName,\n headerClasses,\n linkClasses,\n links,\n org,\n searchModalText,\n customSearch,\n includeTopNav,\n inversedModalButton,\n inversedSearchButton,\n includeSearch,\n}) => {\n const { url, tagline, logo, urlTitle, logoAltText } = org;\n const headerClassString = headerClasses ?? 'dc-c-header ds-base';\n return (\n <header className={headerClassString} aria-label=\"Site header\">\n {includeTopNav && (\n <div className=\"dc-c-cmsheader ds-u-display--flex ds-u-padding-x--5 ds-u-align-items--center\">\n <div className=\"ds-l-sm-col--12 ds-l-lg-col--8\">\n <div className=\"cms-link-container\">\n <a href={url} title={urlTitle}>\n <img src={logo} alt={logoAltText} />\n </a>\n </div>\n <div>\n <span className=\"cms-text-container\">{tagline}</span>\n </div>\n </div>\n <div className=\"ds-u-margin-left--auto\">\n <NavBar\n links={links.topnav}\n menuName=\"CMS Main Header\"\n menuId=\"cmsheader\"\n menuClasses=\"ds-u-display--flex dc-c-header--links ds-u-font-size--small\"\n />\n </div>\n </div>\n )}\n <div className=\"dc-c-main-navigation\">\n <div className=\"ds-l-container\">\n <div className=\"ds-l-row ds-u-align-items--center\">\n <div className=\"ds-u-margin-right--5 ds-u-padding-y--3 dc-c-site-title\">\n <NavLink className=\"ds-c-link--inverse ds-h1\" to=\"/\">\n <span className=\"\">{siteName}</span>\n </NavLink>\n </div>\n <NavBar\n links={links.main}\n wrapLabel\n menuName=\"CMS Site Main Nav\"\n menuId=\"site\"\n menuClasses=\"ds-u-display--flex dc-c-header--links ds-u-align-items--center\"\n linkClasses={linkClasses}\n />\n <div className=\"dc-c-main-navigation--search ds-u-margin-left--auto ds-u-lg-padding-left--1 ds-u-xl-padding-left--3\">\n {customSearch ? (\n customSearch\n ) : (\n <SearchModal\n searchModalText={searchModalText}\n inversedModalButton={inversedModalButton}\n inversedSearchButton={inversedSearchButton}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </header>\n );\n};\n\nDesktopHeader.defaultProps = {\n org: {\n tagline: 'The Centers for Medicare & Medicaid Services',\n url: 'https://cms.gov',\n urlTitle: 'CMS.gov Centers for Medicare & Medicaid Services',\n logo: cmsLogo,\n logoAltText: 'CMS.gov Centers for Medicare & Medicaid Services',\n },\n includeTopNav: true,\n customSearch: false,\n linkClasses: 'ds-u-xl-margin-right--4 ds-u-margin-right--3 ds-u-padding-y--3',\n includeSearch: true,\n};\n\nDesktopHeader.propTypes = {\n siteName: PropTypes.node.isRequired,\n includeTopNav: PropTypes.bool,\n linkClasses: PropTypes.string,\n includeSearch: PropTypes.bool,\n};\n\nexport default DesktopHeader;\n","import React, { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { useMediaQuery } from 'react-responsive';\nimport { Button, Dialog, TextField } from '@cmsgov/design-system';\n\nconst SearchModal = ({\n searchFunc,\n appNodeId,\n headingText,\n searchModalText,\n buttonSize,\n inversedModalButton,\n inversedSearchButton,\n}) => {\n const navigate = useNavigate();\n const [modalSearchTerm, setModalSearchTerm] = useState('');\n const [modalSearch, setModalSearch] = useState(false);\n const mobile = useMediaQuery({ minWidth: 0, maxWidth: 543 });\n\n function searchForDataset(e) {\n e.preventDefault();\n if (window) {\n if (window.location.pathname !== '/datasets') {\n navigate(`/datasets?fulltext=${modalSearchTerm}`);\n } else {\n window.location.search = `fulltext=${modalSearchTerm}`;\n setModalSearch(false);\n }\n }\n }\n\n return (\n <>\n <Button\n variation=\"ghost\"\n onDark={inversedSearchButton}\n size={buttonSize}\n className=\"ds-u-border--0 dc-c-search-modal--button\"\n onClick={() => setModalSearch(true)}\n >\n {mobile ? <span className=\"ds-u-visibility--screen-reader\">Search</span> : <>Search</>}\n </Button>\n {modalSearch && (\n <Dialog\n className=\"dc-c-search-dialog\"\n onExit={() => setModalSearch(false)}\n getApplicationNode={() => document.getElementById(appNodeId)}\n closeButtonText={<>Close</>}\n heading={`${headingText}`}\n >\n {searchModalText &&\n <p>{searchModalText}</p>\n }\n <form\n className=\"ds-u-display--flex ds-u-align-items--stretch ds-u-flex-wrap--nowrap\"\n onSubmit={(e) => {\n searchForDataset(e);\n }}\n >\n <TextField\n value={modalSearchTerm}\n fieldClassName=\"ds-u-display--inline-block\"\n className=\"ds-l-col--9\"\n label=\"Search Term\"\n name=\"search-modal\"\n labelClassName=\"ds-u-visibility--screen-reader\"\n onChange={(e) => setModalSearchTerm(e.target.value)}\n />\n <Button type=\"submit\" className=\"ds-l-col--3\">\n <span className=\"fas fa-search small-text ds-u-sm-display--none\" />\n <span className=\"full-text ds-u-display--none ds-u-sm-display--inline-block\">\n Search\n </span>\n </Button>\n </form>\n </Dialog>\n )}\n </>\n );\n};\n\nSearchModal.defaultProps = {\n appNodeId: 'App',\n buttonSize: null,\n inversedModalButton: true,\n inversedSearchButton: true,\n headingText: \"Dataset Search\"\n};\n\nexport default SearchModal;\n","module.exports = new __parcel__URL__(\"CMSGovLogo-O.90ce815c.png\").toString();","export { default } from './MobileHeader';","import React, { useState, useEffect, useRef } from 'react';\nimport { useMediaQuery } from 'react-responsive';\nimport { Button } from '@cmsgov/design-system';\nimport { Link } from 'react-router-dom';\nimport SearchModal from '../SearchModal';\nimport NavBar from '../NavBar/Navbar';\nimport cmsLogo from '../../assets/images/CMSGovLogo-O.png';\nimport cmsLogoWhite from '../../assets/images/CMSgov@2x-white-O.png';\nimport './mobile-header.scss';\n\nlet mobileHeaderMenuClassName = \"dc-c-mobile-header--menu\";\nconst MobileHeader = ({\n siteName,\n links,\n org,\n searchModalText,\n customSearch = false,\n includeTopNav,\n inversedModalButton,\n inversedSearchButton,\n includeSearch,\n}) => {\n const { url, logo, urlTitle, logoAltText, inverseLogo } = org;\n\n const [menuOpen, setMenuOpen] = useState(false);\n const mobile = useMediaQuery({ minWidth: 0, maxWidth: 543 });\n const tablet = useMediaQuery({ minWidth: 544, maxWidth: 1023 });\n const menu = useRef(null);\n useEffect(() => {\n function handleFocusOut(event) {\n if (menu.current && !menu.current.contains(event.relatedTarget)) {\n setMenuOpen(false);\n }\n }\n\n function handleFocusIn(event){\n if (!menuOpen) return;\n const mobileHeaderMenu = document.querySelector(`.${mobileHeaderMenuClassName}`);\n if (!mobileHeaderMenu) return\n // Select the first tabbable element in the `mobileHeaderMenu`\n const firstTabbableElement = mobileHeaderMenu.querySelector('a, button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])');\n if (!firstTabbableElement) return;\n firstTabbableElement.focus();\n }\n\n function handleClick(event) {\n // Links are wrapped in spans, this checks if the parent is an A, also check if in the search modal.\n if (\n // event.target.parentElement.nodeName === 'A' ||\n event.target.closest('.dc-c-search-dialog')\n ) {\n setMenuOpen(false);\n }\n }\n function handleSearchEnter(event) {\n // Close upon user hitting enter on search.\n if (event.keyCode === 13) {\n setMenuOpen(false);\n }\n }\n\n function handleMenuClose(event) {\n // Close upon user hitting escape\n if (event.keyCode === 27 && menuOpen) {\n setMenuOpen(false);\n }\n }\n\n menu.current.addEventListener('focusout', handleFocusOut);\n document.addEventListener('mousedown', handleClick);\n document.addEventListener('keyup', handleSearchEnter);\n document.addEventListener('keyup', handleMenuClose);\n handleFocusIn();\n\n return () => {\n document.removeEventListener('keyup', handleSearchEnter);\n document.removeEventListener('keyup', handleMenuClose);\n document.removeEventListener('mousedown', handleClick);\n if (menu.current) {\n menu.current.removeEventListener('focusout', handleFocusOut);\n }\n };\n }, [menu.current, menuOpen]);\n return (\n <header\n className={`dc-c-header dc-c-mobile-header ${menuOpen ? 'menu-open' : ''}`}\n aria-label=\"Site header\"\n >\n {includeTopNav && (\n <div\n className={`dc-c-cmsheader ds-u-display--flex ds-u-padding-x--1 ds-u-align-items--center ${\n mobile ? 'ds-u-justify-content--center' : 'ds-u-justify-content--between'\n }`}\n >\n <div className=\"cms-link-container\">\n <a href={url} title={urlTitle}>\n <img src={menuOpen ? inverseLogo : logo} alt={logoAltText} />\n </a>\n </div>\n\n {tablet && (\n <div className=\"ds-u-margin-left--auto\">\n <NavBar\n links={links.topnav}\n menuName=\"CMS Main Header\"\n menuId=\"cmsheader\"\n menuClasses=\"ds-u-display--flex dc-c-header--links ds-u-font-size--small\"\n />\n </div>\n )}\n </div>\n )}\n <div className=\"dc-c-main-navigation ds-u-display--flex ds-u-justify-content--between ds-u-align-items--center\">\n <Button\n variation=\"ghost\"\n onDark\n size=\"small\"\n className=\"dc-c-mobile-menu--open\"\n onClick={() => setMenuOpen(true)}\n >\n {mobile ? <span className=\"ds-u-visibility--screen-reader\">Menu</span> : <>Menu</>}\n </Button>\n <div className=\"ds-u-padding-y--3 dc-c-site-title\">\n <Link to=\"/\">\n <span className=\"ds-h1\">{siteName}</span>\n </Link>\n </div>\n {includeSearch && (\n <div className=\"dc-c-mobile-menu--search\">\n {customSearch ? (\n customSearch\n ) : (\n <SearchModal\n searchFunc={(e) => {\n e.preventDefault();\n }}\n searchModalText={searchModalText}\n buttonSize={'small'}\n inversedModalButton={inversedModalButton}\n inversedSearchButton={inversedSearchButton}\n />\n )}\n </div>\n )}\n </div>\n <div className={mobileHeaderMenuClassName} ref={menu}>\n <div className={`ds-u-display--flex ${mobileHeaderMenuClassName}-close ds-u-justify-content--between`}>\n <Button\n variation=\"ghost\"\n onDark\n size=\"small\"\n className=\"dc-c-mobile-menu--close ds-u-margin-left--1 ds-u-padding-left--0\"\n onClick={() => setMenuOpen(false)}\n >\n Close\n </Button>\n {tablet && includeSearch && (\n <div className=\"dc-c-mobile-menu--search\">\n {customSearch ? (\n customSearch\n ) : (\n <SearchModal\n searchFunc={(e) => {\n e.preventDefault();\n }}\n searchModalText={searchModalText}\n buttonSize={'small'}\n />\n )}\n </div>\n )}\n </div>\n <NavBar\n links={links.main}\n wrapLabel\n menuName=\"Main Nav\"\n menuId=\"site\"\n menuClasses=\"dc-c-header--links dc-c-header--mobile-links\"\n linkClasses=\"ds-u-margin-left--1 ds-u-padding-bottom--2 ds-h5\"\n />\n {mobile && (\n <div className=\"cms-mobile-header--container\">\n <span></span>\n <NavBar\n links={links.topnav}\n menuName=\"CMS Main Header\"\n menuId=\"cms-mobile-header\"\n linkClasses=\"ds-u-margin-left--1 ds-u-margin-bottom--2\"\n menuClasses=\"dc-c-header--links ds-u-font-size--small\"\n />\n </div>\n )}\n </div>\n </header>\n );\n};\n\nMobileHeader.defaultProps = {\n org: {\n tagline: 'The Centers for Medicare and Medicaid Services',\n url: 'https://cms.gov',\n urlTitle: 'CMS.gov Centers for Medicare &amp; Medicaid Services',\n logo: cmsLogo,\n logoAltText: 'CMS.gov Centers for Medicare &amp; Medicaid Services',\n inverseLogo: cmsLogoWhite,\n },\n includeTopNav: true,\n includeSearch: true,\n};\n\nexport default MobileHeader;\n","module.exports = new __parcel__URL__(\"CMSgov@2x-white-O.78cd05d3.png\").toString();","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useMediaQuery } from 'react-responsive';\nimport { Button } from '@cmsgov/design-system';\nimport NavLink from '../../components/NavLink';\nimport \"./footer.scss\";\n\nconst Footer = ({\n links,\n showEmail,\n emailTitle,\n emailBody,\n emailLink,\n emailButton,\n socialMediaLinks,\n hhsLogo,\n cmsLogo,\n trademarkContent,\n}) => {\n const xs = useMediaQuery({ minWidth: 0, maxWidth: 544 });\n const sm = useMediaQuery({ minWidth: 544, maxWidth: 768 });\n const md = useMediaQuery({ minWidth: 768 });\n const { footerOpenDataToolLinks, footerAdditionalResourcesLinks, footerUtilityLinks } = links;\n return (\n <footer className=\"dc-c-footer\">\n {showEmail && (\n <div className=\"dc-c-emailupdates\">\n <div className=\"ds-l-container ds-u-padding-y--5\">\n <div className=\"ds-l-row ds-u-align-items--center\">\n <div className=\"ds-l-md-col--8\">\n <h2 className=\"ds-h4\">{emailTitle}</h2>\n <p>{emailBody}</p>\n </div>\n <div className=\"ds-l-md-col--4 ds-u-padding-left--7\">\n <Button onDark variation=\"solid\" href={emailLink}>{emailButton}</Button>\n </div>\n </div>\n </div>\n </div>\n )}\n <div className=\"dc-c-footer--middle-container\">\n <div className={`${md ? 'ds-l-container' : ''}`}>\n <div className=\"ds-l-row ds-u-margin--0\">\n <div\n className={`dc-c-footer__resources ds-l-md-col--7 ds-l-sm-col--12 ds-u-padding-top--7 ds-u-padding-bottom--4 ${\n md ? 'ds-u-padding-x--0' : ''\n } ${sm ? 'ds-u-padding-x--4' : ''}`}\n >\n <div className=\"ds-l-lg-col--9 ds-l-md-col--11 ds-u-padding-x--0\">\n <div\n className={`ds-u-display--flex ${\n xs ? 'ds-u-flex-direction--column' : 'ds-u-flex-direction--row'\n }`}\n >\n <div className=\"ds-u-margin-right--6 ds-u-margin-bottom--2\">\n <h2 className=\"ds-h6 dc-footer--heading ds-u-margin-bottom--2\">\n Open data tools\n </h2>\n <ul className=\"ds-u-font-size--small ds-u-margin-bottom--3\">\n {footerOpenDataToolLinks.map((link) => (\n <li className=\"ds-u-margin-bottom--1\" key={link.id}>\n <NavLink link={link} className=\"dc-menu-item\" />\n </li>\n ))}\n </ul>\n </div>\n <div>\n <h2 className=\"ds-h6 dc-footer--heading ds-u-margin-bottom--2\">\n Additional resources\n </h2>\n <ul className=\"ds-u-font-size--small\">\n {footerAdditionalResourcesLinks\n .filter((link) => {\n const noOnClick = Object.keys(link).findIndex((l) => l === 'onClick');\n if (noOnClick === -1 || (link.onClick && link.dataTag)) {\n return link;\n }\n })\n .map((link) => {\n if (link.onClick && link.dataTag) {\n return (\n <li className=\"ds-u-margin-bottom--1\" key={link.id}>\n <a\n href={link.url}\n {...{\n ['data-' + link.dataTag.name]: link.dataTag.value,\n }}\n onClick={link.onClick}\n >\n {link.label}\n </a>\n </li>\n );\n }\n return (\n <li className=\"ds-u-margin-bottom--1\" key={link.id}>\n <NavLink link={link} className=\"dc-menu-item\" />\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n </div>\n </div>\n <div\n className={`dc-c-footer__cms-information ds-l-md-col--5 ds-l-sm-col--12 ${\n md ? 'ds-u-padding-left--7' : ''\n } ${sm ? ' ds-u-padding-left--4' : ''} ds-u-padding-y--7`}\n >\n <div className=\"ds-u-font-size--small\">\n <div>\n <a\n href=\"http://www.hhs.gov/\"\n target=\"_blank\"\n title=\"U.S. Department of Health &amp; Human Services\"\n >\n <img className=\"dc-c-footer__logo\" src={hhsLogo} alt=\"HHS Logo\" />\n <span className=\"ds-u-visibility--screen-reader\">opens in new window</span>\n </a>\n <a\n className=\"ds-u-margin-left--4\"\n target=\"_blank\"\n href=\"http://www.cms.gov/\"\n title=\"CMS.gov Centers for Medicare &amp; Medicaid Services\"\n >\n <img className=\"dc-c-footer__logo\" src={cmsLogo} alt=\"CMS Logo\" />\n <span className=\"ds-u-visibility--screen-reader\">opens in new window</span>\n </a>\n </div>\n {trademarkContent}\n {socialMediaLinks && (\n <ul className=\"ds-u-display--flex\">\n {socialMediaLinks.facebook && socialMediaLinks.facebook.url && (\n <li className=\"ds-u-margin-right--1\">\n <a href={socialMediaLinks.facebook.url}>\n <span className=\"dc-c-footer--svg-icon\">\n <svg\n className=\"svg-inline--fa fa-circle fa-w-16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-prefix=\"fas\"\n data-icon=\"circle\"\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path>\n </svg>\n <svg\n title=\"Facebook Icon\"\n className=\"svg-inline--fa fa-facebook-f fa-w-10 fa-inverse\"\n data-fa-transform=\"shrink-3.5\"\n aria-labelledby=\"svg-inline--fa-title-iRCARP7h6Kp3\"\n data-prefix=\"fab\"\n data-icon=\"facebook-f\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n data-fa-i2svg=\"\"\n >\n <title id=\"svg-inline--fa-title-iRCARP7h6Kp3\">\n {socialMediaLinks.facebook.title\n ? socialMediaLinks.facebook.title\n : 'CMS Facebook'}\n </title>\n <g transform=\"translate(160 256)\">\n <g transform=\"translate(0, 0) scale(0.78125, 0.78125) rotate(0 0 0)\">\n <path\n d=\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"\n transform=\"translate(-160 -256)\"\n ></path>\n </g>\n </g>\n </svg>\n </span>\n </a>\n </li>\n )}\n {socialMediaLinks.twitter && socialMediaLinks.twitter.url && (\n <li className=\"ds-u-margin-right--1\">\n <a href={socialMediaLinks.twitter.url}>\n <span className=\"dc-c-footer--svg-icon\">\n <svg\n className=\"svg-inline--fa fa-circle fa-w-16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-prefix=\"fas\"\n data-icon=\"circle\"\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path>\n </svg>\n <svg\n title=\"Twitter Icon\"\n className=\"svg-inline--fa fa-twitter fa-w-16 fa-inverse\"\n data-fa-transform=\"shrink-3.5\"\n aria-labelledby=\"svg-inline--fa-title-4z03ITiPPTVF\"\n data-prefix=\"fab\"\n data-icon=\"twitter\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <title id=\"svg-inline--fa-title-4z03ITiPPTVF\">\n {socialMediaLinks.twitter.title\n ? socialMediaLinks.twitter.title\n : 'CMS Twitter'}\n </title>\n <g transform=\"translate(256 256)\">\n <g transform=\"translate(0, 0) scale(0.78125, 0.78125) rotate(0 0 0)\">\n <path\n d=\"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"\n transform=\"translate(-256 -256)\"\n ></path>\n </g>\n </g>\n </svg>\n </span>\n </a>\n </li>\n )}\n {socialMediaLinks.linkedin && socialMediaLinks.linkedin.url && (\n <li className=\"ds-u-margin-right--1\">\n <a href={socialMediaLinks.linkedin.url}>\n <span className=\"dc-c-footer--svg-icon\">\n <svg\n className=\"svg-inline--fa fa-circle fa-w-16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-prefix=\"fas\"\n data-icon=\"circle\"\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path>\n </svg>\n <svg\n title=\"LinkedIn Icon\"\n className=\"svg-inline--fa fa-linkedin-in fa-w-14 fa-inverse\"\n data-fa-transform=\"shrink-3.5\"\n aria-labelledby=\"svg-inline--fa-title-Nm2qsuSKvuRZ\"\n data-prefix=\"fab\"\n data-icon=\"linkedin-in\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n data-fa-i2svg=\"\"\n >\n <title id=\"svg-inline--fa-title-Nm2qsuSKvuRZ\">\n {socialMediaLinks.linkedin.title\n ? socialMediaLinks.linkedin.title\n : 'CMS LinkedIn'}\n </title>\n <g transform=\"translate(224 256)\">\n <g transform=\"translate(0, 0) scale(0.78125, 0.78125) rotate(0 0 0)\">\n <path\n d=\"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"\n transform=\"translate(-224 -256)\"\n ></path>\n </g>\n </g>\n </svg>\n </span>\n </a>\n </li>\n )}\n {socialMediaLinks.youtube && socialMediaLinks.youtube.url && (\n <li>\n <a href={socialMediaLinks.youtube.url}>\n <span className=\"dc-c-footer--svg-icon\">\n <svg\n className=\"svg-inline--fa fa-circle fa-w-16\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-prefix=\"fas\"\n data-icon=\"circle\"\n role=\"presentation\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 512 512\"\n data-fa-i2svg=\"\"\n >\n <path d=\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"></path>\n </svg>\n <svg\n title=\"youTube Icon\"\n className=\"svg-inline--fa fa-youtube fa-w-18 fa-inverse\"\n data-fa-transform=\"shrink-3.5\"\n aria-labelledby=\"svg-inline--fa-title-youtube\"\n data-prefix=\"fab\"\n data-icon=\"youtube\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 576 512\"\n data-fa-i2svg=\"\"\n >\n <title id=\"svg-inline--fa-title-youtube\">\n {socialMediaLinks.youtube.title\n ? socialMediaLinks.youtube.title\n : 'CMS youtube'}\n </title>\n <path\n fill=\"currentColor\"\n d=\"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"\n ></path>\n </svg>\n </span>\n </a>\n </li>\n )}\n </ul>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div className=\"dc-c-footer__utility ds-l-container ds-u-padding-y--2 ds-u-font-size--small\">\n <div className=\"ds-l-row \">\n <div className=\"ds-l-col--12 ds-u-padding-y--3\">\n <ul\n className={`ds-u-padding--0 ds-u-display--flex ${\n md ? 'ds-u-flex-direction--row' : 'ds-u-flex-direction--column'\n } ds-u-flex-wrap--wrap`}\n >\n {footerUtilityLinks.map((link) => (\n <li key={link.id}>\n <a href={link.url} className=\"ds-u-margin-right--2\">\n {link.label}\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n </footer>\n );\n};\n\nFooter.defaultProps = {\n showEmail: true,\n emailTitle: 'Get Email Updates',\n emailBody:\n 'Sign up to get the latest information from CMS by choosing the topics and frequency of emails that are best for you.',\n emailLink: '',\n emailButton: 'Sign up for email updates',\n socialMediaLinks: null,\n trademarkContent: (\n <div>\n <p>\n A federal government website managed and paid for by the U.S. Centers for Medicare &amp;\n Medicaid Services.\n </p>\n <p>7500 Security Boulevard, Baltimore, MD 21244</p>\n </div>\n ),\n};\n\nFooter.propTypes = {\n showEmail: PropTypes.bool,\n emailTitle: PropTypes.string,\n emailBody: PropTypes.string,\n emailLink: PropTypes.string,\n emailButton: PropTypes.string,\n links: PropTypes.shape({\n footerOpenDataToolLinks: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n url: PropTypes.string,\n target: PropTypes.string,\n })\n ),\n footerAdditionalResourcesLinks: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n url: PropTypes.string,\n target: PropTypes.string,\n })\n ),\n footerUtilityLinks: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n label: PropTypes.string,\n url: PropTypes.string,\n target: PropTypes.string,\n })\n ),\n }).isRequired,\n socialMediaLinks: PropTypes.shape({\n facebook: PropTypes.shape({\n title: PropTypes.string,\n url: PropTypes.string,\n }),\n twitter: PropTypes.shape({\n title: PropTypes.string,\n url: PropTypes.string,\n }),\n linkedin: PropTypes.shape({\n title: PropTypes.string,\n url: PropTypes.string,\n }),\n }),\n hhsLogo: PropTypes.string.isRequired,\n cmsLogo: PropTypes.string.isRequired,\n};\n\nexport default Footer;\n","export { default } from './useSearchAPI';\n","import { useState, useEffect } from \"react\";\nimport { fetchDatasets } from \"./helpers\";\n\nconst useSearchAPI = (\n rootUrl,\n initialSearchParams = {},\n additionalParams = {}\n) => {\n const defaultSort = \"\";\n const defaultFulltext = \"\";\n const defaultSelectedFacets = {};\n const defaultSortOrder = \"\";\n const defaultPage = 1;\n const defaultPageSize = 10;\n\n const sortOptions = [\"modified\", \"title\"];\n const sortOrderOptions = [\"asc\", \"desc\"];\n const [items, setItems] = useState([]);\n const [facets, setFacets] = useState([]);\n const [loading, setLoading] = useState(false);\n const [totalItems, setTotalItems] = useState(null);\n const [selectedFacets, setSelectedFacets] = useState(\n initialSearchParams.selectedFacets\n ? initialSearchParams.selectedFacets\n : defaultSelectedFacets\n );\n const [fulltext, setFulltext] = useState(\n initialSearchParams.fulltext\n ? initialSearchParams.fulltext\n : defaultFulltext\n );\n const [sort, setSort] = useState(\n initialSearchParams.sort ? initialSearchParams.sort : defaultSort\n );\n const [sortOrder, setSortOrder] = useState(\n initialSearchParams.sortOrder\n ? initialSearchParams.sortOrder\n : defaultSortOrder\n );\n const [page, setPage] = useState(\n initialSearchParams.page ? initialSearchParams.page : defaultPage\n );\n const [pageSize, setPageSize] = useState(\n initialSearchParams.pageSize\n ? initialSearchParams.pageSize\n : defaultPageSize\n );\n\n async function search() {\n const options = {\n fulltext: fulltext,\n selectedFacets: selectedFacets,\n sort: sort,\n sortOrder: sortOrder,\n page: Number(page),\n pageSize: pageSize,\n };\n const results = await fetchDatasets(rootUrl, options, additionalParams);\n const itemKeys = Object.keys(results.data.results);\n const itemsArray = itemKeys.map((key) => {\n return results.data.results[key];\n });\n setFacets(results.data.facets);\n setItems(itemsArray);\n setTotalItems(results.data.total);\n setLoading(false);\n }\n\n function resetFilters() {\n setFulltext(defaultFulltext);\n setSelectedFacets(defaultSelectedFacets);\n setPage(defaultPage);\n }\n\n useEffect(() => {\n if (totalItems !== null) {\n setPage(1);\n }\n }, [fulltext, selectedFacets, pageSize]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setLoading(true);\n search();\n }, 1000);\n return () => clearTimeout(timer);\n }, [fulltext, selectedFacets, sort, sortOrder, page, pageSize]);\n\n return {\n fulltext,\n selectedFacets,\n sortOptions,\n sortOrderOptions,\n items,\n facets,\n loading,\n totalItems,\n sort,\n sortOrder,\n page,\n pageSize,\n setPage,\n setPageSize,\n setSort,\n setSortOrder,\n setFulltext,\n resetFilters,\n };\n};\n\nexport default useSearchAPI;\n","import React from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { Button, TextField } from '@cmsgov/design-system';\n\nconst Hero = ({ title, description, searchUrl, searchKey, textfieldLabel, searchButtonText }) => {\n const navigate = useNavigate();\n const [searchValue, setSearchValue] = React.useState('');\n\n function submitHero(e) {\n e.preventDefault();\n navigate(`/${searchUrl}?${searchKey}=${searchValue}`);\n }\n\n return (\n <section className={`dc-c-hero ds-base ds-u-padding--2`}>\n <div className=\"ds-l-container\">\n <div className=\"ds-l-row\">\n <h1 className=\"ds-text-heading--5xl ds-u-color--white ds-u-margin-y--1\">{title}</h1>\n <p className=\"ds-u-color--white ds-u-measure--wide\">{description}</p>\n </div>\n <form onSubmit={(e) => submitHero(e)}>\n <div\n style={{ position: 'relative' }}\n className=\"ds-l-row ds-u-align-items--stretch ds-u-margin-y--4 ds-u-flex-wrap--nowrap\"\n >\n <div\n className=\"ds-u-padding--0 ds-u-margin-right--1\"\n style={{ flex: '1 1 100%', maxWidth: '100%' }}\n >\n <TextField\n label={textfieldLabel}\n labelClassName=\"ds-u-visibility--screen-reader\"\n name=\"search_text_input\"\n style={{ maxWidth: 'none', height: '61px', margin: '0 20px 0 0' }}\n onChange={(e) => setSearchValue(e.target.value)}\n />\n </div>\n <Button className=\"ds-u-margin-left--auto\" size=\"big\" type=\"submit\" variation=\"solid\" onDark>\n <span className=\"fas fa-search small-text ds-u-sm-display--none\" />\n <span className=\"full-text ds-u-display--none ds-u-sm-display--inline-block\">\n {searchButtonText}\n </span>\n </Button>\n </div>\n </form>\n </div>\n </section>\n );\n};\n\nHero.defaultProps = {\n searchKey: 'fulltext',\n searchUrl: 'datasets',\n textfieldLabel: 'Search for a dataset',\n searchButtonText: 'Search',\n};\n\nexport default Hero;\n","import React from 'react';\nimport SwaggerUI from 'swagger-ui-react';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst ApiDocumentation = ({ endpoint }) => {\n return (\n <div>\n <SwaggerUI url={endpoint} />\n </div>\n );\n};\n\nexport default ApiDocumentation;\n","import React from 'react';\nimport qs from 'qs';\nimport { Button, HelpDrawer } from '@cmsgov/design-system';\nimport ResourceConditionField from '../ResourceConditionField';\n\nconst ResourceFilter = ({\n id,\n filterOpen,\n setFilterOpen,\n defaultCondition,\n resource,\n includeSearchParams,\n}) => {\n const {\n setConditions,\n schema,\n conditions,\n // searchParams\n } = resource;\n\n const [formConditions, setFormConditions] = React.useState(\n conditions && conditions.length ? conditions : [{ ...defaultCondition }]\n );\n React.useEffect(() => {\n if (includeSearchParams) {\n const url = new URL(window.location);\n const urlString = qs.stringify(\n { conditions: conditions },\n { encodeValuesOnly: true, addQueryPrefix: true }\n );\n window.history.pushState({}, '', `${url.origin}${url.pathname}${urlString}`);\n }\n }, [conditions]);\n\n function removeByIndex(index) {\n let newConditions = [...formConditions];\n newConditions.splice(index, 1);\n setFormConditions(newConditions);\n setConditions(newConditions);\n }\n\n function updateByIndex(index, key, value) {\n let newConditions = [...formConditions];\n newConditions[index][key] = value;\n setFormConditions(newConditions);\n }\n\n function removeAll() {\n setFormConditions([]);\n setConditions([]);\n }\n\n function submitFilters(e) {\n e.preventDefault();\n if (formConditions.length) {\n const updatedConditions = formConditions\n .filter((cond) => {\n if (cond.property) {\n return cond;\n }\n return false;\n })\n .map((cond) => {\n if (cond.operator === '=' || cond.operator === '<>') {\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.join();\n }\n cond.value = cond.value.replace(/(^\\%+|\\%+$)/gm, '');\n }\n if (cond.operator.toLowerCase() === 'like') {\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.join();\n }\n const cleanedValue = cond.value.replace(/(^\\%+|\\%+$)/gm, '');\n cond.value = `%${cleanedValue}%`;\n }\n if (cond.operator.toLowerCase() === 'in') {\n if (!Array.isArray(cond.value)) {\n cond.value = cond.value.split(',');\n }\n }\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.map((v) => v.trim().replace(/(^\\%+|\\%+$)/gm, ''));\n }\n return cond;\n });\n setConditions(updatedConditions);\n }\n }\n return (\n <HelpDrawer\n footerTitle=\"Update actions\"\n footerBody={\n <Button className=\"ds-u-margin-right--1\" onClick={(e) => submitFilters(e, formConditions)}>\n Update table\n </Button>\n }\n heading=\"Add filters\"\n className=\"dc-c-filterd-resouce-drawer\"\n onCloseClick={() => {\n setFilterOpen(!filterOpen);\n }}\n >\n <form onSubmit={(e) => submitFilters(e, formConditions)}>\n {Object.keys(schema).length &&\n formConditions.map((f, index) => (\n <ResourceConditionField\n key={index}\n data={f}\n index={index}\n remove={removeByIndex}\n schema={schema[id]}\n update={updateByIndex}\n />\n ))}\n <Button\n className=\"ds-u-margin-right--1\"\n variation=\"ghost\"\n onClick={(e) => {\n e.preventDefault();\n setFormConditions([...formConditions, { ...defaultCondition }]);\n }}\n >\n + Add another filter\n </Button>\n </form>\n {formConditions.length > 1 ? (\n <Button\n variation=\"ghost\"\n onClick={(e) => {\n e.preventDefault();\n removeAll();\n }}\n >\n Remove all filters\n </Button>\n ) : (\n ''\n )}\n </HelpDrawer>\n );\n};\n\nResourceFilter.defaultProps = {\n defaultCondition: {\n property: '',\n value: '',\n operator: '',\n },\n includeSearchParams: true,\n};\n\nexport default ResourceFilter;\n","import React from 'react';\nimport { Button, Dropdown, TextField } from '@cmsgov/design-system';\nimport DatePicker from 'react-datepicker';\nimport CloseIcon from '../../assets/icons/close';\nimport 'react-datepicker/dist/react-datepicker.css';\n\nfunction convertUTCToLocalDate(date) {\n if (!date) {\n return date;\n }\n date = new Date(date);\n date = new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n return date;\n}\n\nfunction buildOperatorOptions(type) {\n switch (type) {\n case 'text': // Will change from text to string in future update\n case 'string':\n return [\n { label: 'Is', value: '=' },\n { label: 'Contains', value: 'like' },\n { label: 'Is Not', value: '<>' },\n { label: 'Or', value: 'in' },\n ];\n case 'date':\n return [\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n { label: 'Greater Than', value: '>' },\n { label: 'Less Than', value: '<' },\n ];\n default:\n // These 2 should be safe for all data types\n return [\n { label: 'Is', value: '=' },\n { label: 'Is Not', value: '<>' },\n ];\n }\n}\n\nfunction cleanText(value, operator) {\n let newValue = value;\n if (Array.isArray(newValue)) {\n newValue = newValue.join(',');\n }\n return newValue.replace(/(^\\%+|\\%+$)/gm, '');\n}\n\nconst ResourceConditionField = ({ data, index, remove, schema, update }) => {\n const { fields } = schema;\n const [startDate, setStartDate] = React.useState(data.value ? new Date(data.value) : new Date());\n const [propertyOptions, setPropertyOptions] = React.useState(\n Object.keys(fields).map((key) => {\n return { label: fields[key].description ? fields[key].description : key, value: key };\n })\n );\n const [property, setProperty] = React.useState(data.property);\n const [operator, setOperator] = React.useState(data.operator);\n const [operatorOptions, setOperatorOptions] = React.useState([{ label: '--', value: '' }]);\n const [value, setValue] = React.useState(data.value);\n\n React.useEffect(() => {\n if (property) {\n const opOptions = buildOperatorOptions(\n fields[property].mysql_type ? fields[property].mysql_type : fields[property].type\n ).map((opt) => {\n return { label: opt.label, value: opt.value };\n });\n update(index, 'property', property);\n if (!operator) {\n setOperator(opOptions[0].value);\n }\n setOperatorOptions(opOptions);\n if (\n (fields[property].mysql_type && fields[property].mysql_type === 'date') ||\n fields[property].type === 'date'\n ) {\n setValue(startDate.toJSON().slice(0, 10));\n }\n } else {\n update(index, 'property', property);\n setOperator('');\n setValue('');\n setOperatorOptions([{ label: '--', value: '' }]);\n }\n }, [property, operator]);\n\n React.useEffect(() => {\n if (operator) {\n update(index, 'operator', operator);\n } else {\n update(index, 'operator', '');\n }\n }, [operator]);\n\n React.useEffect(() => {\n if (value) {\n update(index, 'value', value);\n } else {\n update(index, 'value', '');\n }\n }, [value]);\n\n return (\n <fieldset>\n <div className=\"ds-l-form-row\">\n <Dropdown\n options={[{ label: 'Select column', value: '' }, ...propertyOptions]}\n value={property}\n onChange={(e) => setProperty(e.target.value)}\n label=\"Filter column\"\n labelClassName=\"ds-u-margin-top--0 ds-u-visibility--screen-reader\"\n name={`column_name_${index}`}\n className=\"ds-l-col--6\"\n />\n <Dropdown\n options={[...operatorOptions]}\n value={operator}\n disabled={!property ? true : false}\n onChange={(e) => setOperator(e.target.value)}\n labelClassName=\"ds-u-margin-top--0 ds-u-visibility--screen-reader\"\n size=\"small\"\n label=\"Filter operator\"\n name={`filter_operator_${index}`}\n className=\"ds-l-col--3\"\n />\n </div>\n <div className=\"ds-l-form-row\">\n {property &&\n (fields[property].mysql_type === 'date' || fields[property].type === 'date') ? (\n <div className=\"ds-u-clearfix ds-l-col--11\">\n <DatePicker\n selected={convertUTCToLocalDate(startDate)}\n onChange={(date) => {\n setStartDate(date);\n setValue(date.toJSON().slice(0, 10));\n }}\n showMonthDropdown\n showYearDropdown\n dropdownMode=\"select\"\n className=\"ds-c-field\"\n />\n </div>\n ) : (\n <TextField\n hint={operator.toLowerCase() === 'in' ? `Separate values with a comma.` : ''}\n value={cleanText(value, operator)}\n disabled={!property ? true : false}\n onChange={(e) => setValue(e.target.value)}\n label=\"Filter value\"\n labelClassName=\"ds-u-margin-top--0\"\n name={`filter_value_${index}`}\n className=\"ds-l-col--11\"\n />\n )}\n <Button\n className=\"ds-l-col--1\"\n variation=\"transparent\"\n aria-label=\"Remove filter\"\n onClick={(e) => {\n e.preventDefault();\n remove(index);\n }}\n >\n <CloseIcon />\n </Button>\n </div>\n </fieldset>\n );\n};\n\nexport default ResourceConditionField;\n","import React from 'react';\n\nconst CloseIcon = () => (\n <svg\n width=\"15px\"\n height=\"15px\"\n viewBox=\"0 0 15 15\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n >\n <title>Close Icon</title>\n <desc>Created with Sketch.</desc>\n <g stroke=\"none\" strokeWidth=\"1\" fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M14.6467778,11.2126037 C14.8818403,11.4476661 15,11.7342663 15,12.0711472 C15,12.4080282 14.8818403,12.6946283 14.6467778,12.9296908 L12.9296908,14.6467778 C12.6933713,14.8830973 12.4067711,15.001257 12.0698902,15.001257 C11.7342663,15.001257 11.4476661,14.8830973 11.2126037,14.6467778 L7.49937149,10.9348026 L3.7873963,14.6467778 C3.55233386,14.8830973 3.26573368,15.001257 2.92885276,15.001257 C2.59197184,15.001257 2.30662868,14.8830973 2.07030923,14.6467778 L0.353222157,12.9296908 C0.116902707,12.6946283 0,12.4080282 0,12.0711472 C0,11.7342663 0.116902707,11.4476661 0.353222157,11.2126037 L4.06519735,7.50062851 L0.353222157,3.78865331 C0.116902707,3.55233386 0,3.2669907 0,2.92885276 C0,2.59322886 0.116902707,2.30662868 0.353222157,2.07156624 L2.07030923,0.353222157 C2.30662868,0.118159725 2.59197184,0 2.92885276,0 C3.26573368,0 3.55233386,0.118159725 3.7873963,0.353222157 L7.49937149,4.06519735 L11.2126037,0.353222157 C11.4476661,0.118159725 11.7342663,0 12.0698902,0 C12.4067711,0 12.6933713,0.118159725 12.9296908,0.353222157 L14.6467778,2.07156624 C14.8818403,2.30662868 15,2.59322886 15,2.92885276 C15,3.2669907 14.8818403,3.55233386 14.6467778,3.78865331 L10.9348026,7.50062851 L14.6467778,11.2126037 Z\"\n fill=\"#000000\"\n fillRule=\"nonzero\"\n ></path>\n </g>\n </svg>\n);\n\nexport default CloseIcon;\n","export { default } from './Breadcrumb';\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport './breadcrumb.scss';\n\nconst Breadcrumb = ({ currentPage, pageTrail = [] }) => {\n const pageTrailContent = pageTrail.map((page) => (\n <li class=\"dc-c-breadcrumb__list-item\">\n <Link to={page.path} class=\"dc-c-breadcrumb__link\">\n <span>{page.title}</span>\n </Link>\n </li>\n ));\n\n return (\n <nav class=\"dc-c-breadcrumb ds-u-margin-top--6\" aria-label=\"Breadcrumbs\">\n <ol class=\"dc-c-breadcrumb__list\">\n {pageTrailContent}\n {currentPage ? (\n <li class=\"dc-c-breadcrumb__list-item dc-c-current\" aria-current=\"page\">\n <span>{currentPage}</span>\n </li>\n ) : (\n ''\n )}\n </ol>\n </nav>\n );\n};\n\nBreadcrumb.propTypes = {\n currentPage: PropTypes.string.isRequired,\n pageTrail: PropTypes.arrayOf(\n PropTypes.shape({\n path: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n })\n ),\n};\n\nexport default Breadcrumb;\n","import React, { useState, useEffect } from 'react';\nimport useMetastoreDataset from '../../services/useMetastoreDataset';\nimport PageNotFound from '../PageNotFound';\nimport FilteredResourceBody from './FilteredResourceBody';\nimport \"./filtered-resource.scss\";\n\nconst FilteredResource = ({\n id,\n dist_id,\n location,\n apiDocPage,\n additionalParams,\n customColumns,\n setDatasetTitle,\n columnSettings,\n columnWidths,\n customTitle,\n rootUrl\n}) => {\n const [ready, setReady] = useState(false);\n const [error, setError] = useState(false);\n const { dataset } = useMetastoreDataset(id, rootUrl, additionalParams);\n const distIndex = dist_id === 'data' ? 0 : dist_id;\n useEffect(() => {\n if (dataset.error) {\n setError(true);\n }\n if (dataset.distribution && dataset.distribution.length) {\n setReady(true);\n if (setDatasetTitle) {\n setDatasetTitle(dataset.title);\n }\n if (!dataset.distribution[distIndex]) {\n setError(true);\n }\n }\n }, [dataset.distribution, dataset.error, distIndex]);\n const notFoundContent = (\n <div className=\"ds-u-padding-top--3\">\n <h1 className=\"ds-title\">Error: Dataset not found</h1>\n <p>\n We're sorry, but there is no dataset ID that matches your entry. You may have been directed\n here because:\n </p>\n <ol>\n <li>The address you typed contains a typo;</li>\n <li>The requested dataset no longer exists.</li>\n </ol>\n <p>\n <span className=\"ds-u-font-weight--bold\">Note:</span> If you were using a bookmark, please\n reset it once you find the correct dataset.\n </p>\n </div>\n );\n\n return (\n <>\n {error ? (\n <PageNotFound content={notFoundContent} />\n ) : (\n <>\n {ready && (\n <FilteredResourceBody\n id={id}\n dataset={dataset}\n distIndex={distIndex}\n location={location}\n apiDocPage={apiDocPage}\n additionalParams={additionalParams}\n customColumns={customColumns ? customColumns : []}\n columnSettings={columnSettings}\n columnWidths={columnWidths}\n customTitle={customTitle}\n rootUrl={rootUrl}\n />\n )}\n </>\n )}\n </>\n );\n};\n\nexport default FilteredResource;\n","import React, { useEffect, useRef } from 'react';\nimport qs from 'qs';\nimport DOMPurify from 'dompurify';\nimport { Link, useNavigate } from 'react-router-dom';\nimport SwaggerUI from 'swagger-ui-react';\nimport useDatastore from '../../services/useDatastore';\nimport {\n HelpDrawerToggle,\n Button,\n Tooltip,\n Spinner,\n Accordion,\n AccordionItem,\n} from '@cmsgov/design-system';\nimport ResourceFilter from '../../components/ResourceFilter';\nimport ResourceHeader from '../../components/ResourceHeader';\nimport ResourcePreview from '../../components/ResourcePreview';\nimport ResourceFooter from '../../components/ResourceFooter';\nimport { buildCustomColHeaders } from './functions';\nimport QueryBuilder from './QueryBuilder';\nimport 'swagger-ui-react/swagger-ui.css';\n\nconst FilteredResourceBody = ({\n id,\n dataset,\n distIndex,\n location,\n apiDocPage,\n additionalParams,\n customColumns,\n columnSettings,\n columnWidths,\n customTitle,\n rootUrl\n}) => {\n const navigate = useNavigate();\n const [tablePadding, setTablePadding] = React.useState('ds-u-padding-y--1');\n let apiDocs = useRef();\n const [filtersOpen, setFiltersOpen] = React.useState(false);\n let distribution = {};\n let distribution_array = dataset.distribution ? dataset.distribution : [];\n if (distribution_array.length) {\n distribution = distribution_array.find(\n (dist) => dist.identifier === distribution_array[distIndex].identifier\n );\n }\n let buttonRef = null;\n const options = location.search\n ? { ...qs.parse(location.search, { ignoreQueryPrefix: true }) }\n : { conditions: [] };\n let conditions = options.conditions.length ? options.conditions : [];\n const resource = useDatastore(\n '',\n rootUrl,\n {\n ...options,\n limit: 25,\n manual: true,\n },\n additionalParams\n );\n\n useEffect(() => {\n if (distribution.identifier) {\n resource.setResource(distribution.identifier);\n resource.setManual(false);\n }\n }, [distribution]);\n const downloadUrl = `${\n rootUrl\n }/datastore/query/${id}/${distIndex}/download?${qs.stringify(\n { conditions: resource.conditions },\n { encode: true }\n )}&format=csv`;\n const pageTitle =\n distribution.data.title && distribution.data.title.toLowerCase() !== 'csv'\n ? distribution.data.title\n : dataset.title;\n\n return (\n <section className=\"ds-l-container ds-u-padding-bottom--3 ds-u-margin-bottom--2\">\n {Object.keys(distribution).length && (\n <>\n <Link to={`/dataset/${id}`} className=\"ds-u-padding-y--3 ds-u-display--block\">\n Back to {dataset.title}\n </Link>\n <h1 className=\"ds-title\">{customTitle ? customTitle : pageTitle}</h1>\n <p\n className=\"ds-u-margin-top--0 dc-c-metadata-description\"\n dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(distribution.data.description) }}\n />\n {resource.columns && Object.keys(resource.schema).length && (\n <QueryBuilder\n resource={resource}\n id={distribution.identifier}\n customColumns={customColumns}\n />\n )}\n {resource.columns && Object.keys(resource.schema).length ? (\n <div>\n <ResourceHeader\n includeDensity={true}\n setTablePadding={setTablePadding}\n distribution={distribution}\n resource={resource}\n downloadUrl={downloadUrl}\n tablePadding={tablePadding}\n includeDownload\n />\n <ResourcePreview\n id={distribution.identifier}\n tablePadding={tablePadding}\n resource={resource}\n customColumns={buildCustomColHeaders(\n customColumns,\n resource.columns,\n resource.schema[distribution_array[distIndex].identifier]\n )}\n columnSettings={columnSettings}\n options={{\n layout: 'flex',\n columnFilter: false,\n columnSort: true,\n columnResize: true,\n }}\n columnWidths={columnWidths}\n />\n <ResourceFooter resource={resource} />\n </div>\n ) : (\n <Spinner role=\"status\" aria-valuetext=\"Resource loading\" />\n )}\n {dataset.identifier && (\n <div ref={apiDocs}>\n <h2>Try the API</h2>\n <SwaggerUI\n url={`${rootUrl}/metastore/schemas/dataset/items/${\n dataset.identifier\n }/docs${\n additionalParams && additionalParams.ACA\n ? '?ACA=' + additionalParams.ACA + '&redirect=false'\n : ''\n }`}\n docExpansion={'list'}\n defaultModelsExpandDepth={-1}\n />\n </div>\n )}\n </>\n )}\n </section>\n );\n};\n\nFilteredResourceBody.defaultProps = {\n apiDocPage: '/api',\n};\n\nexport default FilteredResourceBody;\n","import React, { useState } from 'react';\nimport qs from 'qs';\nimport { Accordion, AccordionItem, Button, Dropdown, TextField } from '@cmsgov/design-system';\nimport QueryRow from './QueryRow';\nimport QueryTitle from './QueryTitle';\nimport { buildOperatorOptions } from './functions';\n\nfunction updateQueryForDatastore(condition) {\n let cond = condition;\n delete cond.key;\n if (cond.operator === '=' || cond.operator === '<>') {\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.join();\n }\n cond.value = cond.value.replace(/(^\\%+|\\%+$)/gm, '');\n }\n if (cond.operator.toLowerCase() === 'like') {\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.join();\n }\n const cleanedValue = cond.value.replace(/(^\\%+|\\%+$)/gm, '');\n cond.value = `%${cleanedValue}%`;\n }\n if (cond.operator.toLowerCase() === 'in') {\n if (!Array.isArray(cond.value)) {\n cond.value = cond.value.split(',');\n }\n }\n if (Array.isArray(cond.value)) {\n cond.value = cond.value.map((v) => v.trim().replace(/(^\\%+|\\%+$)/gm, ''));\n }\n return cond;\n}\n\nconst QueryBuilder = ({ resource, id, includeSearchParams, customColumns }) => {\n const { conditions, schema, setConditions } = resource;\n const fields = Object.keys(schema[id].fields);\n const hasConditions = conditions.length > 0;\n\n const [queryCount, setQueryCount] = useState(0);\n const [queryConditions, setQueryConditions] = useState([]);\n const [titleConditions, setTitleConditions] = useState([]); // Add use effect to load conditions on first load if needed\n const [conditionsChanged, setConditionsChanged] = useState(false);\n\n const addCondition = (condition) => {\n if (Array.isArray(condition)) {\n const keyedConditions = condition.map((oc) => ({\n ...oc,\n key: Date.now() + oc.value + oc.property,\n }));\n setQueryConditions(keyedConditions);\n } else {\n setQueryConditions([\n ...queryConditions,\n {\n property: fields[0],\n value: '',\n operator: buildOperatorOptions(schema[id].fields[fields[0]].mysql_type)[0].value,\n key: Date.now(),\n },\n ]);\n }\n };\n\n React.useEffect(() => {\n addCondition(conditions);\n setTitleConditions(conditions);\n }, []);\n\n const propertyOptions = fields.map((f) => {\n if (schema[id].fields[f].description) {\n return { label: schema[id].fields[f].description, value: f };\n }\n return { label: f, value: f };\n });\n\n const submitConditions = (e) => {\n e.preventDefault();\n const submitConditions = queryConditions\n .filter((oc) => {\n if (oc.property) {\n return oc;\n }\n return false;\n })\n .map((oc) => {\n let cond = Object.assign({}, oc);\n return updateQueryForDatastore(cond);\n });\n setConditions(submitConditions);\n setTitleConditions(queryConditions.map((oc) => Object.assign({}, oc)));\n setConditionsChanged(false);\n if (includeSearchParams) {\n const url = new URL(window.location);\n const urlString = qs.stringify(\n { conditions: submitConditions },\n { encodeValuesOnly: true, addQueryPrefix: true }\n );\n window.history.pushState({}, '', `${url.origin}${url.pathname}${urlString}`);\n }\n };\n\n const updateCondition = (index, key, value) => {\n let newConditions = [...queryConditions];\n newConditions[index][key] = value;\n setQueryConditions(newConditions);\n setConditionsChanged(true);\n };\n\n const removeCondition = (index) => {\n let newConditions = queryConditions.map((oc) => Object.assign({}, oc));\n newConditions.splice(index, 1);\n setQueryConditions(newConditions);\n setConditionsChanged(true);\n };\n\n return (\n <div className=\"dc-query-builder ds-u-margin-bottom--3\">\n <Accordion bordered>\n <AccordionItem\n heading={\n <QueryTitle\n schema={schema[id]}\n conditions={titleConditions}\n customColumns={customColumns}\n />\n }\n defaultOpen={false}\n >\n <form onSubmit={(e) => submitConditions(e)}>\n <div>\n {queryConditions.map((qf, index) => (\n <QueryRow\n key={qf.key}\n id={id}\n schema={schema}\n condition={qf}\n index={index}\n propertyOptions={propertyOptions}\n update={updateCondition}\n remove={removeCondition}\n />\n ))}\n </div>\n\n <div className=\"dc-query-bulder--form-buttons ds-u-padding-y--2\">\n <Button variation=\"transparent\" onClick={() => addCondition(null)}>\n + Add filter\n </Button>\n <Button disabled={!conditionsChanged} className=\"ds-u-float--right\" type=\"submit\">\n Apply filters\n </Button>\n </div>\n </form>\n </AccordionItem>\n </Accordion>\n </div>\n );\n};\n\nQueryBuilder.defaultProps = {\n includeSearchParams: true,\n};\n\nexport default QueryBuilder;\n","import React, { useState, useEffect } from 'react';\nimport DatePicker from 'react-datepicker';\nimport { useMediaQuery } from 'react-responsive';\nimport { Accordion, AccordionItem, Button, Dropdown, TextField } from '@cmsgov/design-system';\nimport { buildOperatorOptions, convertUTCToLocalDate, cleanText } from './functions';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport CloseIcon from '../../assets/icons/close';\n\nfunction getStartDate(condition, schema, id) {\n if (schema[id].fields[condition.property].mysql_type === 'date') {\n const newDate = new Date(condition.value);\n if (newDate instanceof Date && !isNaN(newDate)) {\n return newDate;\n }\n }\n return new Date();\n}\n\nconst QueryRow = ({ id, condition, index, update, remove, propertyOptions, schema }) => {\n const md = useMediaQuery({ minWidth: 0, maxWidth: 768 });\n const [operator, setOperator] = useState(condition.operator);\n const [property, setProperty] = useState(condition.property);\n const [value, setValue] = useState(condition.value);\n const [startDate, setStartDate] = React.useState(getStartDate(condition, schema, id));\n useEffect(() => {\n if (property !== condition.property) {\n if (property) {\n update(index, 'property', property);\n } else {\n update(index, 'property', '');\n }\n if (schema[id].fields[condition.property].mysql_type === 'date') {\n if(!value) {\n setValue(startDate.toJSON().slice(0, 10));\n }\n }\n }\n }, [property, value, startDate, schema, id, condition]);\n\n useEffect(() => {\n if (operator !== condition.operator) {\n if (operator) {\n update(index, 'operator', operator);\n } else {\n update(index, 'operator', '');\n }\n }\n }, [operator]);\n\n useEffect(() => {\n if (value !== condition.value) {\n if (value) {\n update(index, 'value', value);\n } else {\n update(index, 'value', '');\n }\n }\n }, [value]);\n\n return (\n <fieldset className=\"ds-u-display--flex ds-u-justify-content--between ds-u-align-items--center\">\n <Dropdown\n options={propertyOptions}\n value={property}\n label=\"Property\"\n name={`${condition.key}_property`}\n onChange={(e) => setProperty(e.target.value)}\n />\n <Dropdown\n options={buildOperatorOptions(schema[id].fields[property].mysql_type)}\n value={operator}\n size=\"small\"\n label=\"Operator\"\n name={`${condition.key}_operator`}\n onChange={(e) => setOperator(e.target.value)}\n />\n {schema[id].fields[property].mysql_type === 'date' ? (\n <div>\n <label\n className=\"ds-c-label\"\n htmlFor={`${condition.key}_date_value`}\n id={`${condition.key}_date_value-label`}\n >\n <span>Value</span>\n </label>\n <DatePicker.default\n name={`${condition.key}_date_value`}\n selected={convertUTCToLocalDate(startDate)}\n onChange={(date) => {\n setStartDate(date);\n setValue(date.toJSON().slice(0, 10));\n }}\n showMonthDropdown\n showYearDropdown\n dropdownMode=\"select\"\n className=\"ds-c-field\"\n withPortal\n // popperPlacement=\"top-end\"\n // popperModifiers={[\n // {\n // name: 'preventOverflow',\n // options: {\n // rootBoundary: 'viewport',\n // // tether: true,\n // altAxis: true,\n // },\n // },\n // ]}\n />\n </div>\n ) : (\n <TextField\n label=\"Value\"\n name={`${condition.key}_value`}\n value={cleanText(value, operator)}\n onChange={(e) => setValue(e.target.value)}\n />\n )}\n\n <Button\n variation={md ? 'transparent' : null}\n size=\"small\"\n className=\"ds-u-margin-top--3\"\n aria-label=\"Delete filter\"\n onClick={() => remove(index)}\n >\n {!md ? (\n <>Delete filter</>\n ) : (\n <>\n <CloseIcon />{' '}\n </>\n )}\n </Button>\n </fieldset>\n );\n};\n\nexport default QueryRow;\n","import React from 'react';\nimport { Badge, FilterChip } from '@cmsgov/design-system';\nimport { operatorMapping, cleanText } from './functions';\n\nconst QueryTitle = ({ conditions, schema, customColumns }) => {\n const { fields } = schema;\n if (!conditions.length) {\n return 'Add a filter';\n }\n\n function formatValue(text, property) {\n if (customColumns.length > 0) {\n let newValue = text;\n let customColumn = customColumns.find((c) => c.accessor === property);\n if (customColumn && customColumn.cell) {\n return customColumn.cell({ value: text });\n }\n return text;\n } else {\n return text;\n }\n }\n\n function buildTitle() {\n const newTitle = conditions.map((c) => {\n const field = fields[c.property];\n const description = field && field.description ? field.description : c.property;\n const operator = operatorMapping.find((op) => op.value === c.operator);\n return `${description} ${operator.label} ${cleanText(c.value)}`;\n });\n return newTitle.join(' AND ');\n }\n\n return (\n <span className=\"dc-querybuilder-title\">\n {conditions\n .map((c) => {\n const field = fields[c.property];\n const description = field && field.description ? field.description : c.property;\n const operator = operatorMapping.find((op) => op.value === c.operator);\n const cleanedText = cleanText(c.value);\n const formattedText = formatValue(cleanedText, c.property);\n return (\n <span className=\"ds-u-fill--background ds-u-padding--1 ds-u-margin-y--1 ds-u-display--inline-block ds-u-font-weight--semibold\">\n <span className=\"ds-u-font-weight--bold\">{description}</span>{' '}\n <span className=\"ds-u-font-weight--normal\">{operator.label.toUpperCase()}</span>{' '}\n <span className=\"ds-u-color--success\">{formattedText}</span>\n </span>\n );\n })\n .reduce((prev, curr) => [\n prev,\n <Badge className=\"ds-u-margin-x--1\" variation=\"info\">\n AND\n </Badge>,\n curr,\n ])}\n </span>\n );\n};\n\nexport default QueryTitle;\n","import { useEffect, useState } from 'react';\n\nconst useAddLoginLink = (hosts, menuItems, targetKey, loginLinkObj) => {\n const [linksArray, setLinksArray] = useState({ ...menuItems });\n useEffect(() => {\n let localLinks = { ...menuItems };\n if (hosts.findIndex((host) => host === window.location.host) > -1) {\n if (localLinks[targetKey].findIndex((link) => link.id === loginLinkObj.id) === -1) {\n localLinks[targetKey].unshift(loginLinkObj);\n setLinksArray(localLinks);\n }\n }\n }, [linksArray]);\n return linksArray;\n};\n\nexport default useAddLoginLink;\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nconst useScrollToTop = () => {\n const { pathname } = useLocation();\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname])\n}\n\nexport default useScrollToTop;\n"],"names":[],"version":3,"file":"main.js.map"}