@civicactions/cmsds-open-data-components 2.0.0-alpha.9 → 2.0.1
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/scss/components/additional-information-table.scss +9 -0
- package/dist/scss/components/breadcrumb.scss +32 -0
- package/dist/scss/components/dataset-downloads.scss +0 -0
- package/dist/scss/components/dataset-search-facets.scss +10 -0
- package/dist/scss/components/dataset-search-list-item.scss +20 -0
- package/dist/scss/components/dataset-tags.scss +4 -0
- package/dist/scss/components/datatable.scss +24 -0
- package/dist/scss/components/index.scss +9 -0
- package/dist/scss/components/pagination.scss +59 -0
- package/dist/scss/components/resource-information-table.scss +5 -0
- package/dist/scss/index.scss +24 -0
- package/dist/scss/templates/dataset-search.scss +38 -0
- package/dist/scss/templates/dataset.scss +44 -0
- package/dist/scss/templates/filtered-resource.scss +19 -0
- package/dist/scss/templates/footer.scss +83 -0
- package/dist/scss/templates/header.scss +402 -0
- package/dist/scss/templates/index.scss +7 -0
- package/dist/scss/templates/query-builder.scss +22 -0
- package/dist/scss/templates/swagger.scss +21 -0
- package/lib/assets/frequencyMap.js +22 -0
- package/lib/assets/icons/close.js +33 -0
- package/lib/assets/icons/close.jsx +24 -0
- package/lib/assets/icons/copy.js +33 -0
- package/lib/assets/icons/copy.jsx +23 -0
- package/lib/assets/icons/download.js +33 -0
- package/lib/assets/icons/download.jsx +23 -0
- package/lib/assets/icons/settings.js +34 -0
- package/lib/assets/icons/settings.jsx +24 -0
- package/lib/assets/metadataMapping.js +161 -0
- package/lib/assets/metadataMapping.jsx +110 -0
- package/lib/commands/index.js +7 -0
- package/lib/commands/templates/footer.js +61 -0
- package/lib/commands/templates/header.js +84 -0
- package/lib/commands/templates/page_not_found.js +14 -0
- package/lib/components/ApiDocumentation/index.js +24 -0
- package/lib/components/Breadcrumb/index.js +47 -0
- package/lib/components/DataTableDensity/datatabledensity.test.js +30 -0
- package/lib/components/DataTableDensity/index.js +47 -0
- package/lib/components/DataTableRowChanger/datatablerowchanger.test.js +49 -0
- package/lib/components/DataTableRowChanger/index.js +46 -0
- package/lib/components/DatasetAdditionalInformation/index.js +59 -0
- package/lib/components/DatasetDownloads/datasetdownloads.test.js +30 -0
- package/lib/components/DatasetDownloads/index.js +34 -0
- package/lib/components/DatasetSearchFacets/dataset_search_facets.test.js +103 -0
- package/lib/components/DatasetSearchFacets/index.js +104 -0
- package/lib/components/DatasetSearchListItem/datasetsearchlistitem.test.js +44 -0
- package/lib/components/DatasetSearchListItem/index.js +86 -0
- package/lib/components/DatasetTags/datasettags.test.js +40 -0
- package/lib/components/DatasetTags/index.js +38 -0
- package/lib/components/Hero/index.js +92 -0
- package/lib/components/ManageColumns/index.js +36 -0
- package/lib/components/NavBar/index.js +55 -0
- package/lib/components/NavLink/index.js +60 -0
- package/lib/components/NavLink/navlink.test.js +35 -0
- package/lib/components/Pagination/index.js +263 -0
- package/lib/components/Pagination/pagination.test.js +541 -0
- package/lib/components/ResourceConditionField/ResourceConditionalField.test.js +20 -0
- package/lib/components/ResourceConditionField/index.js +246 -0
- package/lib/components/ResourceFilter/index.js +174 -0
- package/lib/components/ResourceFilter/resourcefilter.test.js +440 -0
- package/lib/components/ResourceFooter/index.js +34 -0
- package/lib/components/ResourceHeader/index.js +149 -0
- package/lib/components/ResourceInformation/index.js +37 -0
- package/lib/components/ResourcePreview/index.js +139 -0
- package/lib/components/SearchModal/index.js +116 -0
- package/lib/components/SubMenu/index.js +86 -0
- package/lib/components/TransformedDate/index.js +34 -0
- package/lib/components/useAddLoginLink/index.js +44 -0
- package/lib/components/useScrollToTop/index.js +22 -0
- package/lib/index.js +247 -0
- package/lib/templates/APIPage/index.js +30 -0
- package/lib/templates/Dataset/DatasetBody.js +189 -0
- package/lib/templates/Dataset/index.js +83 -0
- package/lib/templates/DatasetSearch/datasetsearch.test.js +122 -0
- package/lib/templates/DatasetSearch/index.js +356 -0
- package/lib/templates/DrupalPage/index.js +37 -0
- package/lib/templates/FilteredResource/FilteredResourceBody.js +160 -0
- package/lib/templates/FilteredResource/QueryBuilder.js +235 -0
- package/lib/templates/FilteredResource/QueryRow.js +175 -0
- package/lib/templates/FilteredResource/QueryTitle.js +89 -0
- package/lib/templates/FilteredResource/functions.js +142 -0
- package/lib/templates/FilteredResource/index.js +95 -0
- package/lib/templates/Footer/footer.test.js +48 -0
- package/lib/templates/Footer/index.js +366 -0
- package/lib/templates/PageNotFound/index.js +25 -0
- package/lib/templates/header/index.js +112 -0
- package/lib/templates/mobile_header/index.js +199 -0
- package/package.json +11 -7
- package/dist/main.css +0 -679
- package/dist/main.css.map +0 -1
- package/dist/main.js +0 -4832
- package/dist/main.js.map +0 -1
- package/dist/types.d.ts +0 -414
- package/dist/types.d.ts.map +0 -1
- /package/{dist/CMSGovLogo-O.90ce815c.png → lib/assets/images/CMSGovLogo-O.png} +0 -0
- /package/{dist/CMSgov@2x-white-O.78cd05d3.png → lib/assets/images/CMSgov@2x-white-O.png} +0 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _reactResponsive = require("react-responsive");
|
|
17
|
+
|
|
18
|
+
var _designSystem = require("@cmsgov/design-system");
|
|
19
|
+
|
|
20
|
+
var _reactRouterDom = require("react-router-dom");
|
|
21
|
+
|
|
22
|
+
var _SearchModal = _interopRequireDefault(require("../../components/SearchModal"));
|
|
23
|
+
|
|
24
|
+
var _NavBar = _interopRequireDefault(require("../../components/NavBar"));
|
|
25
|
+
|
|
26
|
+
var _CMSGovLogoO = _interopRequireDefault(require("../../assets/images/CMSGovLogo-O.png"));
|
|
27
|
+
|
|
28
|
+
var _CMSgov2xWhiteO = _interopRequireDefault(require("../../assets/images/CMSgov@2x-white-O.png"));
|
|
29
|
+
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
+
|
|
34
|
+
var MobileHeader = function MobileHeader(_ref) {
|
|
35
|
+
var siteName = _ref.siteName,
|
|
36
|
+
links = _ref.links,
|
|
37
|
+
org = _ref.org,
|
|
38
|
+
searchModalText = _ref.searchModalText,
|
|
39
|
+
_ref$customSearch = _ref.customSearch,
|
|
40
|
+
customSearch = _ref$customSearch === void 0 ? false : _ref$customSearch,
|
|
41
|
+
includeTopNav = _ref.includeTopNav,
|
|
42
|
+
inversedModalButton = _ref.inversedModalButton,
|
|
43
|
+
inversedSearchButton = _ref.inversedSearchButton,
|
|
44
|
+
includeSearch = _ref.includeSearch;
|
|
45
|
+
var url = org.url,
|
|
46
|
+
logo = org.logo,
|
|
47
|
+
urlTitle = org.urlTitle,
|
|
48
|
+
logoAltText = org.logoAltText,
|
|
49
|
+
inverseLogo = org.inverseLogo;
|
|
50
|
+
|
|
51
|
+
var _useState = (0, _react.useState)(false),
|
|
52
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
53
|
+
menuOpen = _useState2[0],
|
|
54
|
+
setMenuOpen = _useState2[1];
|
|
55
|
+
|
|
56
|
+
var mobile = (0, _reactResponsive.useMediaQuery)({
|
|
57
|
+
minWidth: 0,
|
|
58
|
+
maxWidth: 543
|
|
59
|
+
});
|
|
60
|
+
var tablet = (0, _reactResponsive.useMediaQuery)({
|
|
61
|
+
minWidth: 544,
|
|
62
|
+
maxWidth: 1023
|
|
63
|
+
});
|
|
64
|
+
var menu = (0, _react.useRef)(null);
|
|
65
|
+
(0, _react.useEffect)(function () {
|
|
66
|
+
function handleFocusOut(event) {
|
|
67
|
+
if (menu.current && !menu.current.contains(event.relatedTarget)) {
|
|
68
|
+
setMenuOpen(false);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function handleClick(event) {
|
|
73
|
+
// Links are wrapped in spans, this checks if the parent is an A, also check if in the search modal.
|
|
74
|
+
if ( // event.target.parentElement.nodeName === 'A' ||
|
|
75
|
+
event.target.closest('.dc-c-search-dialog')) {
|
|
76
|
+
setMenuOpen(false);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function handleSearchEnter(event) {
|
|
81
|
+
// Close upon user hiting enter on search.
|
|
82
|
+
if (event.keyCode === 13) {
|
|
83
|
+
setMenuOpen(false);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
menu.current.addEventListener('focusout', handleFocusOut);
|
|
88
|
+
document.addEventListener('mousedown', handleClick);
|
|
89
|
+
document.addEventListener('keyup', handleSearchEnter);
|
|
90
|
+
return function () {
|
|
91
|
+
document.removeEventListener('keyup', handleSearchEnter);
|
|
92
|
+
document.removeEventListener('mousedown', handleClick);
|
|
93
|
+
|
|
94
|
+
if (menu.current) {
|
|
95
|
+
menu.current.removeEventListener('focusout', handleFocusOut);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}, [menu.current, menuOpen]);
|
|
99
|
+
return /*#__PURE__*/_react["default"].createElement("header", {
|
|
100
|
+
className: "dc-c-header dc-c-mobile-header ".concat(menuOpen ? 'menu-open' : ''),
|
|
101
|
+
"aria-label": "Site header"
|
|
102
|
+
}, includeTopNav && /*#__PURE__*/_react["default"].createElement("div", {
|
|
103
|
+
className: "dc-c-cmsheader ds-u-display--flex ds-u-padding-x--1 ds-u-align-items--center ".concat(mobile ? 'ds-u-justify-content--center' : 'ds-u-justify-content--between')
|
|
104
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
105
|
+
className: "cms-link-container"
|
|
106
|
+
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
107
|
+
href: url,
|
|
108
|
+
title: urlTitle
|
|
109
|
+
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
110
|
+
src: menuOpen ? inverseLogo : logo,
|
|
111
|
+
alt: logoAltText
|
|
112
|
+
}))), tablet && /*#__PURE__*/_react["default"].createElement("div", {
|
|
113
|
+
className: "ds-u-margin-left--auto"
|
|
114
|
+
}, /*#__PURE__*/_react["default"].createElement(_NavBar["default"], {
|
|
115
|
+
links: links.topnav,
|
|
116
|
+
menuName: "CMS Main Header",
|
|
117
|
+
menuId: "cmsheader",
|
|
118
|
+
menuClasses: "ds-u-display--flex dc-c-header--links ds-u-font-size--small"
|
|
119
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
120
|
+
className: "dc-c-main-navigation ds-u-display--flex ds-u-justify-content--between ds-u-align-items--center"
|
|
121
|
+
}, /*#__PURE__*/_react["default"].createElement(_designSystem.Button, {
|
|
122
|
+
variation: "transparent",
|
|
123
|
+
inversed: true,
|
|
124
|
+
size: "small",
|
|
125
|
+
className: "dc-c-mobile-menu--open",
|
|
126
|
+
onClick: function onClick() {
|
|
127
|
+
return setMenuOpen(true);
|
|
128
|
+
}
|
|
129
|
+
}, mobile ? /*#__PURE__*/_react["default"].createElement("span", {
|
|
130
|
+
className: "ds-u-visibility--screen-reader"
|
|
131
|
+
}, "Menu") : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, "Menu")), /*#__PURE__*/_react["default"].createElement("div", {
|
|
132
|
+
className: "ds-u-padding-y--3 dc-c-site-title"
|
|
133
|
+
}, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
|
|
134
|
+
to: "/"
|
|
135
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
136
|
+
className: "ds-h1"
|
|
137
|
+
}, siteName))), includeSearch && /*#__PURE__*/_react["default"].createElement("div", {
|
|
138
|
+
className: "dc-c-mobile-menu--search"
|
|
139
|
+
}, customSearch ? customSearch : /*#__PURE__*/_react["default"].createElement(_SearchModal["default"], {
|
|
140
|
+
searchFunc: function searchFunc(e) {
|
|
141
|
+
e.preventDefault();
|
|
142
|
+
},
|
|
143
|
+
searchModalText: searchModalText,
|
|
144
|
+
buttonSize: 'small',
|
|
145
|
+
inversedModalButton: inversedModalButton,
|
|
146
|
+
inversedSearchButton: inversedSearchButton
|
|
147
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
148
|
+
className: "dc-c-mobile-header--menu",
|
|
149
|
+
ref: menu
|
|
150
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
151
|
+
className: "ds-u-display--flex dc-c-mobile-header--menu-close ds-u-justify-content--between"
|
|
152
|
+
}, /*#__PURE__*/_react["default"].createElement(_designSystem.Button, {
|
|
153
|
+
variation: "transparent",
|
|
154
|
+
inversed: true,
|
|
155
|
+
size: "small",
|
|
156
|
+
className: "dc-c-mobile-menu--close ds-u-margin-left--1 ds-u-padding-left--0",
|
|
157
|
+
onClick: function onClick() {
|
|
158
|
+
return setMenuOpen(false);
|
|
159
|
+
}
|
|
160
|
+
}, "Close"), tablet && includeSearch && /*#__PURE__*/_react["default"].createElement("div", {
|
|
161
|
+
className: "dc-c-mobile-menu--search"
|
|
162
|
+
}, customSearch ? customSearch : /*#__PURE__*/_react["default"].createElement(_SearchModal["default"], {
|
|
163
|
+
searchFunc: function searchFunc(e) {
|
|
164
|
+
e.preventDefault();
|
|
165
|
+
},
|
|
166
|
+
searchModalText: searchModalText,
|
|
167
|
+
buttonSize: 'small'
|
|
168
|
+
}))), /*#__PURE__*/_react["default"].createElement(_NavBar["default"], {
|
|
169
|
+
links: links.main,
|
|
170
|
+
wrapLabel: true,
|
|
171
|
+
menuName: "CMS Site Main Nav",
|
|
172
|
+
menuId: "site",
|
|
173
|
+
menuClasses: "dc-c-header--links dc-c-header--mobile-links",
|
|
174
|
+
linkClasses: "ds-u-margin-left--1 ds-u-padding-bottom--2 ds-h5"
|
|
175
|
+
}), mobile && /*#__PURE__*/_react["default"].createElement("div", {
|
|
176
|
+
className: "cms-mobile-header--container"
|
|
177
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null), /*#__PURE__*/_react["default"].createElement(_NavBar["default"], {
|
|
178
|
+
links: links.topnav,
|
|
179
|
+
menuName: "CMS Main Header",
|
|
180
|
+
menuId: "cms-mobile-header",
|
|
181
|
+
linkClasses: "ds-u-margin-left--1 ds-u-margin-bottom--2",
|
|
182
|
+
menuClasses: "dc-c-header--links ds-u-font-size--small"
|
|
183
|
+
}))));
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
MobileHeader.defaultProps = {
|
|
187
|
+
org: {
|
|
188
|
+
tagline: 'The Centers for Medicare and Medicaid Services',
|
|
189
|
+
url: 'https://cms.gov',
|
|
190
|
+
urlTitle: 'CMS.gov Centers for Medicare & Medicaid Services',
|
|
191
|
+
logo: _CMSGovLogoO["default"],
|
|
192
|
+
logoAltText: 'CMS.gov Centers for Medicare & Medicaid Services',
|
|
193
|
+
inverseLogo: _CMSgov2xWhiteO["default"]
|
|
194
|
+
},
|
|
195
|
+
includeTopNav: true,
|
|
196
|
+
includeSearch: true
|
|
197
|
+
};
|
|
198
|
+
var _default = MobileHeader;
|
|
199
|
+
exports["default"] = _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@civicactions/cmsds-open-data-components",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Components for the open data catalog frontend using CMS Design System",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -31,18 +31,22 @@
|
|
|
31
31
|
"swagger-ui-react": "^4.15.5"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
+
"@babel/preset-env": "^7.22.5",
|
|
35
|
+
"@babel/preset-react": "^7.22.5",
|
|
34
36
|
"@parcel/packager-ts": "^2.8.3",
|
|
35
37
|
"@parcel/transformer-sass": "^2.8.3",
|
|
36
38
|
"@parcel/transformer-typescript-types": "^2.8.3",
|
|
37
|
-
"@storybook/react": "^
|
|
39
|
+
"@storybook/react": "^7.0.22",
|
|
38
40
|
"@testing-library/dom": "^8.20.0",
|
|
39
|
-
"@testing-library/jest-dom": "^5.
|
|
40
|
-
"@testing-library/react": "^
|
|
41
|
+
"@testing-library/jest-dom": "^5.16.5",
|
|
42
|
+
"@testing-library/react": "^14.0.0",
|
|
41
43
|
"@testing-library/user-event": "^14.4.3",
|
|
42
44
|
"core-js": "^3.27.2",
|
|
43
45
|
"css-loader": "^6.7.3",
|
|
44
|
-
"jest": "29.
|
|
45
|
-
"jest-axe": "^7.0.
|
|
46
|
+
"jest": "29.5.0",
|
|
47
|
+
"jest-axe": "^7.0.1",
|
|
48
|
+
"jest-canvas-mock": "^2.5.1",
|
|
49
|
+
"jest-environment-jsdom": "^29.5.0",
|
|
46
50
|
"parcel": "^2.8.3",
|
|
47
51
|
"prettier": "^2.5.1",
|
|
48
52
|
"react-test-renderer": "^18.2.0",
|
|
@@ -64,4 +68,4 @@
|
|
|
64
68
|
"lib",
|
|
65
69
|
"dist"
|
|
66
70
|
]
|
|
67
|
-
}
|
|
71
|
+
}
|