qpp-style 0.0.8 → 0.0.10
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/.eslintrc.js +28 -28
- package/.husky/pre-commit +5 -0
- package/README.md +45 -0
- package/components/Accordion/index.jsx +35 -43
- package/components/Alert/index.js +53 -0
- package/components/Breadcrumb/Breadcrumb.md +28 -0
- package/components/Breadcrumb/index.js +69 -11
- package/components/Button/index.js +90 -0
- package/components/CalloutBox/index.js +109 -0
- package/components/Card/index.js +137 -0
- package/components/Details/DetailsIcons.js +50 -0
- package/components/Details/index.js +53 -0
- package/components/Dropdown/index.js +85 -0
- package/components/DropdownButton/Menu.js +25 -0
- package/components/DropdownButton/MenuButton.js +41 -0
- package/components/DropdownButton/MenuItem.js +25 -0
- package/components/DropdownButton/MenuItemLink.js +27 -0
- package/components/Error/Collapsible.jsx +2 -2
- package/components/Footer/FooterUI.jsx +175 -177
- package/components/Footer/footer.js +2 -12
- package/components/GovBanner/index.js +117 -0
- package/components/Header/HeaderAccountMenu.jsx +63 -234
- package/components/Header/HeaderCancel.jsx +5 -10
- package/components/Header/HeaderContainer.jsx +74 -0
- package/components/Header/HeaderLogo.jsx +42 -0
- package/components/Header/HeaderMenuButton.js +50 -0
- package/components/Header/HeaderMenuItem.jsx +239 -0
- package/components/Header/HeaderMenuLink.js +56 -0
- package/components/Header/HeaderMenuSignOutButton.js +62 -0
- package/components/Header/HeaderMobileButton.js +37 -0
- package/components/Header/HeaderUI.jsx +130 -361
- package/components/Header/HelpIcon.jsx +32 -0
- package/components/Header/ImpersonatorBanner.jsx +81 -0
- package/components/Header/default-content.json +158 -87
- package/components/Header/header.js +2 -0
- package/components/Header/hooks.js +66 -0
- package/components/Header/utag-helpers.js +9 -0
- package/components/Infotip/Infotip.jsx +6 -10
- package/components/Infotip/InfotipContent.jsx +46 -0
- package/components/Infotip/InfotipIcon.jsx +3 -3
- package/components/Link/index.js +61 -0
- package/components/Modal/LegacyModal.jsx +72 -0
- package/components/Modal/Modal.jsx +140 -0
- package/components/Modal/index.jsx +13 -63
- package/components/NotificationBanner/CollapsedView.js +39 -0
- package/components/NotificationBanner/ExpandedView.js +45 -0
- package/components/NotificationBanner/index.js +219 -30
- package/components/Search/index.js +98 -0
- package/components/SessionDialog/sessionDialog.js +26 -0
- package/components/SessionDialogUI.jsx +34 -26
- package/components/SideNav/AnimationGroup/AnimationGroup.jsx +10 -4
- package/components/SideNav/Chart/ScoreChart.jsx +81 -109
- package/components/SideNav/Chart/__tests__/ScoreChart.test.js +3 -12
- package/components/SideNav/Chart/__tests__/__snapshots__/ScoreChart.test.js.snap +144 -35
- package/components/SideNav/Chart/index.js +1 -1
- package/components/SideNav/Content/LevelOneContent.jsx +146 -258
- package/components/SideNav/Content/LevelTwoContent.jsx +6 -4
- package/components/SideNav/Content/SelectRole/index.js +77 -0
- package/components/SideNav/Content/SelectRole/utils.js +140 -0
- package/components/SideNav/Details/PracticeDetails.jsx +4 -0
- package/components/SideNav/Links/CmsSwitchLink.jsx +1 -1
- package/components/SideNav/Links/NavLinkContainer.jsx +29 -34
- package/components/SideNav/Links/NavLinkDrawer.jsx +192 -124
- package/components/SideNav/Links/NavLinkInline.jsx +7 -2
- package/components/SideNav/Links/NavLinkToggle.jsx +1 -1
- package/components/SideNav/SideNav.md +28 -27
- package/components/SideNav/UI/SideNavUI.jsx +198 -268
- package/components/SideNav/UI/default-content.json +117 -0
- package/components/SideNav/helpers.js +316 -4
- package/components/Tabs/TabPanel.js +5 -0
- package/components/Tabs/Tabs.js +73 -0
- package/components/TextInput/index.js +137 -0
- package/components/hooks/useGetConfig.js +75 -0
- package/components/index.js +106 -9
- package/coverage/clover.xml +1194 -748
- package/coverage/coverage-final.json +72 -50
- package/coverage/lcov-report/block-navigation.js +8 -0
- package/coverage/lcov-report/components/Accordion/index.html +26 -21
- package/coverage/lcov-report/components/Accordion/index.jsx.html +106 -131
- package/coverage/lcov-report/{SideNav/Chart → components/Button}/index.html +29 -24
- package/coverage/lcov-report/{Error/Collapsible.jsx.html → components/Button/index.js.html} +125 -114
- package/coverage/lcov-report/components/Error/Collapsible.jsx.html +92 -87
- package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +32 -33
- package/coverage/lcov-report/components/Error/index.html +11 -6
- package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +200 -189
- package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +24 -61
- package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +18 -13
- package/coverage/lcov-report/components/Footer/index.html +35 -45
- package/coverage/lcov-report/components/{InfoModal → GovBanner}/index.html +27 -22
- package/coverage/lcov-report/components/{InfoModal/index.jsx.html → GovBanner/index.js.html} +157 -122
- package/coverage/lcov-report/components/Header/HeaderAccountMenu.jsx.html +93 -520
- package/coverage/lcov-report/components/Header/HeaderCancel.jsx.html +19 -23
- package/coverage/lcov-report/components/Header/HeaderContainer.jsx.html +280 -0
- package/coverage/lcov-report/components/Header/HeaderLogo.jsx.html +211 -0
- package/coverage/lcov-report/components/Header/HeaderMenuButton.js.html +235 -0
- package/coverage/lcov-report/components/{Footer/LegacyFooterUI.jsx.html → Header/HeaderMenuItem.jsx.html} +334 -200
- package/coverage/lcov-report/components/Header/HeaderMenuLink.js.html +253 -0
- package/coverage/lcov-report/components/Header/HeaderMenuSignOutButton.js.html +271 -0
- package/coverage/lcov-report/components/Header/HeaderMobileButton.js.html +196 -0
- package/coverage/lcov-report/components/Header/HeaderUI.jsx.html +176 -756
- package/coverage/lcov-report/components/Header/HelpIcon.jsx.html +181 -0
- package/coverage/lcov-report/{Accordion/index.jsx.html → components/Header/ImpersonatorBanner.jsx.html} +109 -167
- package/coverage/lcov-report/components/Header/NavigationButtonIcon.jsx.html +24 -19
- package/coverage/lcov-report/components/Header/hooks.js.html +283 -0
- package/coverage/lcov-report/components/Header/index.html +203 -33
- package/coverage/lcov-report/components/{SideNav/Links/index.js.html → Header/utag-helpers.js.html} +35 -42
- package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +53 -48
- package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +37 -32
- package/coverage/lcov-report/components/Infotip/index.html +8 -3
- package/coverage/lcov-report/components/Infotip/index.js.html +8 -3
- package/coverage/lcov-report/components/Modal/LegacyModal.jsx.html +301 -0
- package/coverage/lcov-report/components/Modal/Modal.jsx.html +505 -0
- package/coverage/lcov-report/components/Modal/index.html +146 -0
- package/coverage/lcov-report/components/{SideNav/Details/IndividualDetails.jsx.html → Modal/index.jsx.html} +50 -42
- package/coverage/lcov-report/components/NotificationBanner/CollapsedView.js.html +202 -0
- package/coverage/lcov-report/components/NotificationBanner/ExpandedView.js.html +220 -0
- package/coverage/lcov-report/components/NotificationBanner/index.html +58 -23
- package/coverage/lcov-report/components/{SideNav/Content/LevelTwoContent.jsx.html → NotificationBanner/index.js.html} +292 -272
- package/coverage/lcov-report/components/SanitizedContent/index.html +8 -3
- package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +475 -50
- package/coverage/lcov-report/components/SessionDialogUI.jsx.html +248 -255
- package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +272 -408
- package/coverage/lcov-report/components/SideNav/Chart/index.html +28 -38
- package/coverage/lcov-report/components/SideNav/Content/SelectRole/index.html +116 -0
- package/coverage/lcov-report/components/SideNav/Content/SelectRole/utils.js.html +505 -0
- package/coverage/lcov-report/components/SideNav/helpers.js.html +987 -46
- package/coverage/lcov-report/components/SideNav/index.html +24 -19
- package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +70 -65
- package/coverage/lcov-report/components/Tooltip/index.html +8 -3
- package/coverage/lcov-report/components/Tooltip/index.js.html +8 -3
- package/coverage/lcov-report/components/Tooltip/position.js.html +57 -64
- package/coverage/lcov-report/components/hooks/index.html +116 -0
- package/coverage/lcov-report/components/hooks/useGetConfig.js.html +310 -0
- package/coverage/lcov-report/components/index.html +10 -5
- package/coverage/lcov-report/index.html +249 -154
- package/coverage/lcov-report/{Error/ErrorUI.jsx.html → lib/Chevron.jsx.html} +44 -42
- package/coverage/lcov-report/lib/SvgComponents.jsx.html +1840 -0
- package/coverage/lcov-report/lib/index.html +34 -14
- package/coverage/lcov-report/react/components/Accordion/index.html +26 -21
- package/coverage/lcov-report/react/components/Accordion/index.jsx.html +106 -131
- package/coverage/lcov-report/react/components/{FlashNotification → Button}/index.html +23 -33
- package/coverage/lcov-report/{components/SideNav/Links/NavLinkInline.jsx.html → react/components/Button/index.js.html} +119 -120
- package/coverage/lcov-report/react/components/{Tabs → Dropdown}/index.html +23 -33
- package/coverage/lcov-report/react/components/{InfoModal/index.jsx.html → Dropdown/index.js.html} +103 -155
- package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +92 -87
- package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +32 -33
- package/coverage/lcov-report/react/components/Error/error.js.html +25 -20
- package/coverage/lcov-report/react/components/Error/index.html +11 -6
- package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +200 -189
- package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +14 -15
- package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +18 -13
- package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +18 -13
- package/coverage/lcov-report/react/components/Footer/footer.js.html +12 -34
- package/coverage/lcov-report/react/components/Footer/index.html +35 -45
- package/coverage/lcov-report/react/components/{InfoModal → GovBanner}/index.html +27 -22
- package/coverage/lcov-report/react/components/{Tabs/TabsUI.jsx.html → GovBanner/index.js.html} +146 -153
- package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +93 -520
- package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +19 -23
- package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +307 -0
- package/coverage/lcov-report/{components/SideNav/Links/CmsSwitchLink.jsx.html → react/components/Header/HeaderLogo.jsx.html} +64 -53
- package/coverage/lcov-report/{components/SideNav/Links/NavItemInline.jsx.html → react/components/Header/HeaderMenuButton.js.html} +64 -71
- package/coverage/lcov-report/{components/SideNav/Links/NavLinkDrawer.jsx.html → react/components/Header/HeaderMenuItem.jsx.html} +284 -261
- package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +253 -0
- package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +271 -0
- package/coverage/lcov-report/{components/SideNav/Links/NavLinkToggle.jsx.html → react/components/Header/HeaderMobileButton.js.html} +58 -41
- package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +189 -745
- package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +181 -0
- package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +331 -0
- package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +18 -13
- package/coverage/lcov-report/react/components/Header/header.js.html +18 -4
- package/coverage/lcov-report/react/components/Header/hooks.js.html +283 -0
- package/coverage/lcov-report/react/components/Header/index.html +205 -35
- package/coverage/lcov-report/react/components/{Spinner/index.js.html → Header/utag-helpers.js.html} +26 -21
- package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +53 -48
- package/coverage/lcov-report/{components/SideNav/Links/NavLinkContainer.jsx.html → react/components/Infotip/InfotipContent.jsx.html} +83 -60
- package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +37 -32
- package/coverage/lcov-report/react/components/Infotip/index.html +8 -3
- package/coverage/lcov-report/react/components/Infotip/index.js.html +8 -3
- package/coverage/lcov-report/react/components/{FlashNotification/FlashNotificationUI.jsx.html → Modal/LegacyModal.jsx.html} +89 -84
- package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +505 -0
- package/coverage/lcov-report/react/components/Modal/index.html +52 -17
- package/coverage/lcov-report/react/components/Modal/index.jsx.html +38 -201
- package/coverage/lcov-report/react/components/{Tabs/tabs.js.html → NotificationBanner/CollapsedView.js.html} +61 -47
- package/coverage/lcov-report/{components/SideNav/Details/PracticeDetails.jsx.html → react/components/NotificationBanner/ExpandedView.js.html} +74 -57
- package/coverage/lcov-report/react/components/NotificationBanner/index.html +58 -23
- package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +615 -43
- package/coverage/lcov-report/react/components/SanitizedContent/index.html +8 -3
- package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +478 -53
- package/coverage/lcov-report/react/components/{Spinner → SessionDialog}/index.html +11 -6
- package/coverage/lcov-report/react/components/{FlashNotification/index.js.html → SessionDialog/sessionDialog.js.html} +35 -42
- package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +248 -255
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +53 -18
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +18 -13
- package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +272 -402
- package/coverage/lcov-report/react/components/SideNav/Chart/index.html +28 -23
- package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +9 -4
- package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +190 -521
- package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +23 -12
- package/coverage/lcov-report/{components/SideNav/Details → react/components/SideNav/Content/SelectRole}/index.html +42 -52
- package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/index.js.html +316 -0
- package/coverage/lcov-report/react/components/SideNav/Content/SelectRole/utils.js.html +505 -0
- package/coverage/lcov-report/react/components/SideNav/Content/index.html +32 -27
- package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +8 -3
- package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +20 -24
- package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +54 -37
- package/coverage/lcov-report/react/components/SideNav/Details/index.html +23 -18
- package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +8 -3
- package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +9 -4
- package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +8 -3
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +56 -57
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +351 -142
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +60 -40
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +9 -4
- package/coverage/lcov-report/react/components/SideNav/Links/index.html +44 -39
- package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +8 -3
- package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +243 -433
- package/coverage/lcov-report/react/components/SideNav/UI/index.html +28 -23
- package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +8 -3
- package/coverage/lcov-report/react/components/SideNav/helpers.js.html +958 -17
- package/coverage/lcov-report/react/components/SideNav/index.html +27 -22
- package/coverage/lcov-report/react/components/SideNav/index.js.html +8 -3
- package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +70 -65
- package/coverage/lcov-report/react/components/Tooltip/index.html +8 -3
- package/coverage/lcov-report/react/components/Tooltip/index.js.html +8 -3
- package/coverage/lcov-report/react/components/Tooltip/position.js.html +57 -64
- package/coverage/lcov-report/{components/SideNav/AnimationGroup → react/components/hooks}/index.html +29 -24
- package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +310 -0
- package/coverage/lcov-report/react/components/index.html +10 -5
- package/coverage/lcov-report/react/index.html +20 -15
- package/coverage/lcov-report/react/index.js.html +29 -9
- package/coverage/lcov-report/react/lib/Chevron.jsx.html +181 -0
- package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +195 -106
- package/coverage/lcov-report/react/lib/index.html +37 -17
- package/coverage/lcov-report/react/lib/svg-definitions.svg.html +57 -916
- package/coverage/lcov-report/react/session/index.html +32 -27
- package/coverage/lcov-report/react/session/index.js.html +8 -3
- package/coverage/lcov-report/react/session/logout.js.html +121 -17
- package/coverage/lcov-report/react/session/refresh.js.html +11 -6
- package/coverage/lcov-report/react/session/ttl.js.html +8 -3
- package/coverage/lcov-report/session/index.html +50 -45
- package/coverage/lcov-report/session/index.js.html +8 -3
- package/coverage/lcov-report/session/logout.js.html +144 -49
- package/coverage/lcov-report/session/refresh.js.html +41 -36
- package/coverage/lcov-report/session/ttl.js.html +34 -29
- package/coverage/lcov-report/sorter.js +26 -0
- package/coverage/lcov.info +2427 -1491
- package/dist/browser.js +1 -1
- package/dist/browser.js.LICENSE.txt +1 -7
- package/dist/browser.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.LICENSE.txt +1 -7
- package/dist/index.js.map +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.LICENSE.txt +16 -16
- package/dist/react/index.js.map +1 -1
- package/fonts/PublicSans-Black.ttf +0 -0
- package/fonts/PublicSans-BlackItalic.ttf +0 -0
- package/fonts/PublicSans-Bold.ttf +0 -0
- package/fonts/PublicSans-BoldItalic.ttf +0 -0
- package/fonts/PublicSans-ExtraBold.ttf +0 -0
- package/fonts/PublicSans-ExtraBoldItalic.ttf +0 -0
- package/fonts/PublicSans-ExtraLight.ttf +0 -0
- package/fonts/PublicSans-ExtraLightItalic.ttf +0 -0
- package/fonts/PublicSans-Italic.ttf +0 -0
- package/fonts/PublicSans-Light.ttf +0 -0
- package/fonts/PublicSans-LightItalic.ttf +0 -0
- package/fonts/PublicSans-Medium.ttf +0 -0
- package/fonts/PublicSans-MediumItalic.ttf +0 -0
- package/fonts/PublicSans-Regular.ttf +0 -0
- package/fonts/PublicSans-SemiBold.ttf +0 -0
- package/fonts/PublicSans-SemiBoldItalic.ttf +0 -0
- package/fonts/PublicSans-Thin.ttf +0 -0
- package/fonts/PublicSans-ThinItalic.ttf +0 -0
- package/images/icon-dot-gov.svg +1 -0
- package/images/icon-https.svg +1 -0
- package/images/icons/close-x.svg +6 -0
- package/images/icons/svg/arrow-down.svg +3 -0
- package/images/icons/svg/arrow-download.svg +1 -0
- package/images/icons/svg/arrow-right.svg +1 -0
- package/images/icons/svg/arrow-up.svg +3 -0
- package/images/icons/svg/block.svg +5 -0
- package/images/icons/svg/calendar.svg +1 -0
- package/images/icons/svg/check-circle.svg +5 -0
- package/images/icons/svg/checkmark.svg +7 -0
- package/images/icons/svg/chevron-down.svg +11 -0
- package/images/icons/svg/chevron-left.svg +12 -0
- package/images/icons/svg/chevron-right.svg +12 -0
- package/images/icons/svg/chevron-up.svg +12 -0
- package/images/icons/svg/clipboard.svg +1 -0
- package/images/icons/svg/close.svg +1 -0
- package/images/icons/svg/divide.svg +13 -0
- package/images/icons/svg/doctors-and-clinicians-preview.svg +10 -0
- package/images/icons/svg/download.svg +1 -0
- package/images/icons/svg/dropdown-arrow.svg +1 -0
- package/images/icons/svg/equals.svg +13 -0
- package/images/icons/svg/exclamation.svg +11 -0
- package/images/icons/svg/external.svg +1 -0
- package/images/icons/svg/file-download.svg +1 -0
- package/images/icons/svg/file-upload.svg +1 -0
- package/images/icons/svg/info.svg +20 -0
- package/images/icons/svg/manage-user-access.svg +8 -0
- package/images/icons/svg/multiply.svg +12 -0
- package/images/icons/svg/performance-feedback.svg +1 -0
- package/images/icons/svg/plus.svg +12 -0
- package/images/icons/svg/preview.svg +17 -0
- package/images/icons/svg/print.svg +1 -0
- package/images/icons/svg/registration.svg +8 -0
- package/images/icons/svg/reporting.svg +17 -0
- package/images/icons/svg/save-disk.svg +5 -0
- package/images/icons/svg/search.svg +1 -0
- package/images/icons/svg/subtract.svg +15 -0
- package/images/icons/svg/targeted-review.svg +15 -0
- package/images/icons/svg/tooltip-question.svg +1 -0
- package/images/icons/svg/trash.svg +1 -0
- package/images/icons/svg/upload.svg +1 -0
- package/images/us_flag_small.png +0 -0
- package/index.js +5 -0
- package/jest.config.js +138 -134
- package/lib/Chevron.jsx +32 -0
- package/lib/SvgComponents.jsx +197 -49
- package/package.json +62 -77
- package/session/logout.js +35 -2
- package/styles/_global.scss +63 -62
- package/styles/_main.scss +6 -0
- package/styles/_qpp-style.scss +0 -3
- package/styles/components/_accordion.scss +249 -246
- package/styles/components/_autocomplete.scss +0 -3
- package/styles/components/_modals.scss +9 -9
- package/styles/components/_spinner.scss +0 -2
- package/styles/components/_tables.scss +77 -67
- package/styles/components/_text.scss +102 -102
- package/styles/components/_variables.scss +12 -12
- package/styles/qppds/base/_backgrounds.scss +7 -0
- package/styles/qppds/base/_fonts.scss +24 -0
- package/styles/qppds/base/_icon.scss +31 -0
- package/styles/qppds/base/_layout.scss +5 -0
- package/styles/qppds/base/_typography.scss +78 -44
- package/styles/qppds/base/index.scss +4 -5
- package/styles/qppds/components/_alert.scss +101 -0
- package/styles/qppds/components/_breadcrumbs.scss +42 -6
- package/styles/qppds/components/_button.scss +129 -11
- package/styles/qppds/components/_card.scss +175 -0
- package/styles/qppds/components/_checkbox.scss +199 -0
- package/styles/qppds/components/_circular-loader.scss +47 -0
- package/styles/qppds/components/_details.scss +90 -0
- package/styles/qppds/components/_dropdown-menu.scss +125 -0
- package/styles/qppds/components/_dropdown.scss +7 -1
- package/styles/qppds/components/_footer.scss +606 -0
- package/styles/qppds/components/_gov-banner.scss +344 -0
- package/styles/qppds/components/_header.scss +913 -0
- package/styles/qppds/components/_link.scss +52 -0
- package/styles/qppds/components/_modal.scss +118 -0
- package/styles/qppds/components/_page-header.scss +65 -2
- package/styles/qppds/components/_pagination.scss +227 -0
- package/styles/qppds/components/_process-list.scss +104 -0
- package/styles/qppds/components/_radio-button.scss +184 -0
- package/styles/qppds/components/_search.scss +118 -0
- package/styles/{components → qppds/components}/_sidebar.scss +2 -0
- package/styles/qppds/components/_step-indicator.scss +190 -0
- package/styles/qppds/components/_table.scss +157 -0
- package/styles/qppds/components/_tabs.scss +197 -0
- package/styles/qppds/components/_text-input.scss +60 -0
- package/styles/qppds/components/index.scss +20 -0
- package/styles/{components → qppds/components}/sidebar/_links.scss +48 -1
- package/styles/qppds/components/sidebar/_select-role-dropdown.scss +21 -0
- package/styles/qppds/components/sidebar/_sidebar-animation.scss +125 -0
- package/styles/qppds/components/sidebar/_sidebar.scss +146 -0
- package/styles/{components → qppds/components}/sidebar/project-specific/_wi.scss +1 -37
- package/styles/qppds/settings/_functions.scss +3 -1
- package/styles/qppds/settings/mixins/_borders.scss +6 -0
- package/styles/qppds/settings/mixins/_focus.scss +28 -0
- package/styles/qppds/settings/mixins/_icons.scss +39 -4
- package/styles/qppds/settings/mixins/_index.scss +4 -0
- package/styles/qppds/settings/mixins/_layout.scss +46 -7
- package/styles/qppds/settings/mixins/_table.scss +91 -0
- package/styles/qppds/settings/mixins/_type.scss +89 -0
- package/styles/qppds/settings/variables/_color.scss +47 -1
- package/styles/qppds/settings/variables/_index.scss +2 -1
- package/styles/qppds/settings/variables/_layout.scss +34 -9
- package/styles/qppds/settings/variables/_type.scss +41 -0
- package/styles/qppds/settings/variables/_z-index.scss +8 -0
- package/styles/qppds/utilities/_background-color.scss +4 -0
- package/styles/qppds/utilities/_color.scss +28 -0
- package/styles/qppds/utilities/{_display-visability.scss → _display-visibility.scss} +8 -0
- package/styles/qppds/utilities/_flexbox.scss +113 -0
- package/styles/qppds/utilities/_font-family.scss +4 -0
- package/styles/qppds/utilities/_gap.scss +38 -0
- package/styles/qppds/utilities/_height.scss +79 -0
- package/styles/qppds/utilities/_list-style.scss +18 -0
- package/styles/qppds/utilities/_position.scss +24 -0
- package/styles/qppds/utilities/_text-align.scss +40 -0
- package/styles/qppds/utilities/_text-transform.scss +7 -0
- package/styles/qppds/utilities/_truncate.scss +5 -5
- package/styles/qppds/utilities/_vertical-align.scss +72 -0
- package/styles/qppds/utilities/_width.scss +38 -1
- package/styles/qppds/utilities/index.scss +8 -2
- package/styles/third-party/legacy-bootstrap/_dropdowns.scss +0 -1
- package/svgo.config.js +14 -0
- package/test/components/Accordion.test.js +4 -13
- package/test/components/ErrorUI.test.js +10 -46
- package/test/components/FooterUI.test.js +0 -30
- package/test/components/HeaderUI.test.js +33 -15
- package/test/components/Infotip.test.js +18 -12
- package/test/components/SessionDialogUI.test.js +55 -70
- package/test/components/SideNavUI.test.js +6 -13
- package/test-setup.js +1 -3
- package/webpack.config.js +29 -39
- package/webpack.config.react.js +7 -18
- package/.storybook/.babelrc +0 -4
- package/.storybook/main.js +0 -89
- package/.storybook/preview-head.html +0 -9
- package/.storybook/preview.js +0 -16
- package/components/Accordion/Accordion.stories.js +0 -20
- package/components/Breadcrumb/Breadcrumb.js +0 -58
- package/components/Breadcrumb/Breadcrumb.stories.js +0 -62
- package/components/Breadcrumb/LegacyBreadcrumb.js +0 -46
- package/components/Footer/Footer.stories.js +0 -22
- package/components/Footer/LegacyFooterUI.jsx +0 -194
- package/components/Header/Header.stories.js +0 -32
- package/components/InfoModal/InfoModal.stories.js +0 -98
- package/components/InfoModal/index.jsx +0 -104
- package/components/Infotip/Infotip.stories.js +0 -58
- package/components/NotificationBanner/NotificationBanner.stories.js +0 -24
- package/components/NotificationBanner/NotificationBannerUI.jsx +0 -282
- package/components/SideNav/SideNav.stories.js +0 -320
- package/components/Spinner/index.js +0 -9
- package/components/Tabs/TabsUI.jsx +0 -118
- package/components/Tabs/tabs.js +0 -36
- package/components/Tooltip/Tooltip.jsx +0 -88
- package/components/Tooltip/Tooltip.stories.js +0 -90
- package/components/Tooltip/index.js +0 -3
- package/components/Tooltip/position.js +0 -68
- package/components/UnwrappedSpinner/index.js +0 -8
- package/components/UnwrappedTabs/TabPanelUI.jsx +0 -16
- package/components/UnwrappedTabs/TabsUI.jsx +0 -82
- package/coverage/lcov-report/Accordion/index.html +0 -111
- package/coverage/lcov-report/Error/index.html +0 -126
- package/coverage/lcov-report/ScoreChart.jsx.html +0 -1025
- package/coverage/lcov-report/SideNav/Chart/ScoreChart.jsx.html +0 -1025
- package/coverage/lcov-report/components/NotificationBanner/NotificationBannerUI.jsx.html +0 -1010
- package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +0 -131
- package/coverage/lcov-report/components/SideNav/Chart/index.js.html +0 -89
- package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +0 -1007
- package/coverage/lcov-report/components/SideNav/Content/index.html +0 -141
- package/coverage/lcov-report/components/SideNav/Content/index.js.html +0 -92
- package/coverage/lcov-report/components/SideNav/Details/index.js.html +0 -92
- package/coverage/lcov-report/components/SideNav/Links/index.html +0 -201
- package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +0 -1298
- package/coverage/lcov-report/components/SideNav/UI/index.html +0 -126
- package/coverage/lcov-report/components/SideNav/UI/index.js.html +0 -89
- package/coverage/lcov-report/lib/svg-definitions.svg.html +0 -1319
- package/coverage/lcov-report/react/components/NotificationBanner/NotificationBannerUI.jsx.html +0 -926
- package/styles/components/_footer.scss +0 -593
- package/styles/components/_header.scss +0 -526
- package/styles/components/sidebar/_sidebar-animation.scss +0 -85
- package/styles/components/sidebar/_sidebar.scss +0 -141
- package/test/components/Tooltip.test.js +0 -147
- package/test/components/__snapshots__/Accordion.test.js.snap +0 -11439
- /package/styles/{components → qppds/components}/sidebar/_animations.scss +0 -0
- /package/styles/{components → qppds/components}/sidebar/_cms.scss +0 -0
- /package/styles/{components → qppds/components}/sidebar/_details.scss +0 -0
- /package/styles/{components → qppds/components}/sidebar/_sidebar-tooltip.scss +0 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">68.6% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>59/86</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">47.22% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>17/36</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">59.09% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>13/22</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">68.6% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>59/86</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -54,8 +54,14 @@
|
|
|
54
54
|
<p class="quiet">
|
|
55
55
|
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
56
|
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line medium'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
60
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -325,62 +331,8 @@
|
|
|
325
331
|
<a name='L266'></a><a href='#L266'>266</a>
|
|
326
332
|
<a name='L267'></a><a href='#L267'>267</a>
|
|
327
333
|
<a name='L268'></a><a href='#L268'>268</a>
|
|
328
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
329
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
330
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
331
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
332
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
333
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
334
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
335
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
336
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
337
|
-
<a name='L278'></a><a href='#L278'>278</a>
|
|
338
|
-
<a name='L279'></a><a href='#L279'>279</a>
|
|
339
|
-
<a name='L280'></a><a href='#L280'>280</a>
|
|
340
|
-
<a name='L281'></a><a href='#L281'>281</a>
|
|
341
|
-
<a name='L282'></a><a href='#L282'>282</a>
|
|
342
|
-
<a name='L283'></a><a href='#L283'>283</a>
|
|
343
|
-
<a name='L284'></a><a href='#L284'>284</a>
|
|
344
|
-
<a name='L285'></a><a href='#L285'>285</a>
|
|
345
|
-
<a name='L286'></a><a href='#L286'>286</a>
|
|
346
|
-
<a name='L287'></a><a href='#L287'>287</a>
|
|
347
|
-
<a name='L288'></a><a href='#L288'>288</a>
|
|
348
|
-
<a name='L289'></a><a href='#L289'>289</a>
|
|
349
|
-
<a name='L290'></a><a href='#L290'>290</a>
|
|
350
|
-
<a name='L291'></a><a href='#L291'>291</a>
|
|
351
|
-
<a name='L292'></a><a href='#L292'>292</a>
|
|
352
|
-
<a name='L293'></a><a href='#L293'>293</a>
|
|
353
|
-
<a name='L294'></a><a href='#L294'>294</a>
|
|
354
|
-
<a name='L295'></a><a href='#L295'>295</a>
|
|
355
|
-
<a name='L296'></a><a href='#L296'>296</a>
|
|
356
|
-
<a name='L297'></a><a href='#L297'>297</a>
|
|
357
|
-
<a name='L298'></a><a href='#L298'>298</a>
|
|
358
|
-
<a name='L299'></a><a href='#L299'>299</a>
|
|
359
|
-
<a name='L300'></a><a href='#L300'>300</a>
|
|
360
|
-
<a name='L301'></a><a href='#L301'>301</a>
|
|
361
|
-
<a name='L302'></a><a href='#L302'>302</a>
|
|
362
|
-
<a name='L303'></a><a href='#L303'>303</a>
|
|
363
|
-
<a name='L304'></a><a href='#L304'>304</a>
|
|
364
|
-
<a name='L305'></a><a href='#L305'>305</a>
|
|
365
|
-
<a name='L306'></a><a href='#L306'>306</a>
|
|
366
|
-
<a name='L307'></a><a href='#L307'>307</a>
|
|
367
|
-
<a name='L308'></a><a href='#L308'>308</a>
|
|
368
|
-
<a name='L309'></a><a href='#L309'>309</a>
|
|
369
|
-
<a name='L310'></a><a href='#L310'>310</a>
|
|
370
|
-
<a name='L311'></a><a href='#L311'>311</a>
|
|
371
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
372
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
373
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
374
|
-
<a name='L315'></a><a href='#L315'>315</a>
|
|
375
|
-
<a name='L316'></a><a href='#L316'>316</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-neutral"> </span>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
379
335
|
<span class="cline-any cline-neutral"> </span>
|
|
380
|
-
<span class="cline-any cline-yes">2x</span>
|
|
381
|
-
<span class="cline-any cline-yes">2x</span>
|
|
382
|
-
<span class="cline-any cline-yes">2x</span>
|
|
383
|
-
<span class="cline-any cline-yes">2x</span>
|
|
384
336
|
<span class="cline-any cline-neutral"> </span>
|
|
385
337
|
<span class="cline-any cline-neutral"> </span>
|
|
386
338
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -388,45 +340,28 @@
|
|
|
388
340
|
<span class="cline-any cline-yes">1x</span>
|
|
389
341
|
<span class="cline-any cline-yes">1x</span>
|
|
390
342
|
<span class="cline-any cline-yes">1x</span>
|
|
391
|
-
<span class="cline-any cline-yes">1x</span>
|
|
392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-neutral"> </span>
|
|
396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
398
|
-
<span class="cline-any cline-neutral"> </span>
|
|
399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-neutral"> </span>
|
|
402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
403
343
|
<span class="cline-any cline-neutral"> </span>
|
|
404
344
|
<span class="cline-any cline-yes">1x</span>
|
|
405
345
|
<span class="cline-any cline-yes">1x</span>
|
|
406
346
|
<span class="cline-any cline-yes">1x</span>
|
|
407
|
-
<span class="cline-any cline-yes">1x</span>
|
|
408
347
|
<span class="cline-any cline-neutral"> </span>
|
|
409
348
|
<span class="cline-any cline-neutral"> </span>
|
|
410
349
|
<span class="cline-any cline-neutral"> </span>
|
|
411
350
|
<span class="cline-any cline-neutral"> </span>
|
|
412
|
-
<span class="cline-any cline-no"> </span>
|
|
413
|
-
<span class="cline-any cline-no"> </span>
|
|
414
|
-
<span class="cline-any cline-no"> </span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
351
|
<span class="cline-any cline-neutral"> </span>
|
|
417
352
|
<span class="cline-any cline-neutral"> </span>
|
|
418
353
|
<span class="cline-any cline-neutral"> </span>
|
|
419
354
|
<span class="cline-any cline-yes">1x</span>
|
|
420
|
-
<span class="cline-any cline-no"> </span>
|
|
421
|
-
<span class="cline-any cline-no"> </span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-no"> </span>
|
|
424
355
|
<span class="cline-any cline-neutral"> </span>
|
|
425
356
|
<span class="cline-any cline-neutral"> </span>
|
|
426
357
|
<span class="cline-any cline-neutral"> </span>
|
|
358
|
+
<span class="cline-any cline-yes">1x</span>
|
|
359
|
+
<span class="cline-any cline-yes">1x</span>
|
|
360
|
+
<span class="cline-any cline-no"> </span>
|
|
427
361
|
<span class="cline-any cline-neutral"> </span>
|
|
428
362
|
<span class="cline-any cline-neutral"> </span>
|
|
429
363
|
<span class="cline-any cline-neutral"> </span>
|
|
364
|
+
<span class="cline-any cline-yes">1x</span>
|
|
430
365
|
<span class="cline-any cline-no"> </span>
|
|
431
366
|
<span class="cline-any cline-no"> </span>
|
|
432
367
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -447,7 +382,7 @@
|
|
|
447
382
|
<span class="cline-any cline-neutral"> </span>
|
|
448
383
|
<span class="cline-any cline-neutral"> </span>
|
|
449
384
|
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-
|
|
385
|
+
<span class="cline-any cline-yes">1x</span>
|
|
451
386
|
<span class="cline-any cline-yes">1x</span>
|
|
452
387
|
<span class="cline-any cline-neutral"> </span>
|
|
453
388
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -466,8 +401,6 @@
|
|
|
466
401
|
<span class="cline-any cline-neutral"> </span>
|
|
467
402
|
<span class="cline-any cline-yes">1x</span>
|
|
468
403
|
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
471
404
|
<span class="cline-any cline-yes">1x</span>
|
|
472
405
|
<span class="cline-any cline-neutral"> </span>
|
|
473
406
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -495,13 +428,12 @@
|
|
|
495
428
|
<span class="cline-any cline-neutral"> </span>
|
|
496
429
|
<span class="cline-any cline-yes">1x</span>
|
|
497
430
|
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
500
431
|
<span class="cline-any cline-yes">1x</span>
|
|
501
432
|
<span class="cline-any cline-neutral"> </span>
|
|
502
433
|
<span class="cline-any cline-neutral"> </span>
|
|
503
434
|
<span class="cline-any cline-neutral"> </span>
|
|
504
435
|
<span class="cline-any cline-neutral"> </span>
|
|
436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
505
437
|
<span class="cline-any cline-yes">1x</span>
|
|
506
438
|
<span class="cline-any cline-neutral"> </span>
|
|
507
439
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -512,28 +444,28 @@
|
|
|
512
444
|
<span class="cline-any cline-neutral"> </span>
|
|
513
445
|
<span class="cline-any cline-neutral"> </span>
|
|
514
446
|
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-
|
|
516
|
-
<span class="cline-any cline-
|
|
517
|
-
<span class="cline-any cline-
|
|
518
|
-
<span class="cline-any cline-
|
|
447
|
+
<span class="cline-any cline-yes">9x</span>
|
|
448
|
+
<span class="cline-any cline-yes">3x</span>
|
|
449
|
+
<span class="cline-any cline-yes">6x</span>
|
|
450
|
+
<span class="cline-any cline-yes">3x</span>
|
|
519
451
|
<span class="cline-any cline-neutral"> </span>
|
|
520
|
-
<span class="cline-any cline-
|
|
452
|
+
<span class="cline-any cline-yes">3x</span>
|
|
521
453
|
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-
|
|
454
|
+
<span class="cline-any cline-yes">9x</span>
|
|
523
455
|
<span class="cline-any cline-neutral"> </span>
|
|
524
456
|
<span class="cline-any cline-neutral"> </span>
|
|
525
457
|
<span class="cline-any cline-neutral"> </span>
|
|
526
458
|
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-
|
|
528
|
-
<span class="cline-any cline-
|
|
529
|
-
<span class="cline-any cline-
|
|
459
|
+
<span class="cline-any cline-yes">9x</span>
|
|
460
|
+
<span class="cline-any cline-yes">9x</span>
|
|
461
|
+
<span class="cline-any cline-yes">3x</span>
|
|
530
462
|
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-
|
|
463
|
+
<span class="cline-any cline-yes">9x</span>
|
|
532
464
|
<span class="cline-any cline-neutral"> </span>
|
|
533
465
|
<span class="cline-any cline-neutral"> </span>
|
|
534
466
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-
|
|
536
|
-
<span class="cline-any cline-
|
|
467
|
+
<span class="cline-any cline-yes">9x</span>
|
|
468
|
+
<span class="cline-any cline-yes">3x</span>
|
|
537
469
|
<span class="cline-any cline-neutral"> </span>
|
|
538
470
|
<span class="cline-any cline-neutral"> </span>
|
|
539
471
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -552,11 +484,9 @@
|
|
|
552
484
|
<span class="cline-any cline-neutral"> </span>
|
|
553
485
|
<span class="cline-any cline-neutral"> </span>
|
|
554
486
|
<span class="cline-any cline-yes">1x</span>
|
|
555
|
-
<span class="cline-any cline-
|
|
556
|
-
<span class="cline-any cline-
|
|
557
|
-
<span class="cline-any cline-
|
|
558
|
-
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-no"> </span>
|
|
487
|
+
<span class="cline-any cline-yes">9x</span>
|
|
488
|
+
<span class="cline-any cline-yes">3x</span>
|
|
489
|
+
<span class="cline-any cline-yes">3x</span>
|
|
560
490
|
<span class="cline-any cline-neutral"> </span>
|
|
561
491
|
<span class="cline-any cline-neutral"> </span>
|
|
562
492
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -564,12 +494,9 @@
|
|
|
564
494
|
<span class="cline-any cline-neutral"> </span>
|
|
565
495
|
<span class="cline-any cline-neutral"> </span>
|
|
566
496
|
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-no"> </span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
497
|
<span class="cline-any cline-neutral"> </span>
|
|
570
498
|
<span class="cline-any cline-no"> </span>
|
|
571
|
-
<span class="cline-any cline-
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-no"> </span>
|
|
573
500
|
<span class="cline-any cline-neutral"> </span>
|
|
574
501
|
<span class="cline-any cline-neutral"> </span>
|
|
575
502
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -597,6 +524,7 @@
|
|
|
597
524
|
<span class="cline-any cline-neutral"> </span>
|
|
598
525
|
<span class="cline-any cline-neutral"> </span>
|
|
599
526
|
<span class="cline-any cline-neutral"> </span>
|
|
527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
600
528
|
<span class="cline-any cline-yes">1x</span>
|
|
601
529
|
<span class="cline-any cline-neutral"> </span>
|
|
602
530
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -604,10 +532,13 @@
|
|
|
604
532
|
<span class="cline-any cline-neutral"> </span>
|
|
605
533
|
<span class="cline-any cline-neutral"> </span>
|
|
606
534
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
+
<span class="cline-any cline-yes">1x</span>
|
|
607
536
|
<span class="cline-any cline-no"> </span>
|
|
608
537
|
<span class="cline-any cline-neutral"> </span>
|
|
609
538
|
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-
|
|
539
|
+
<span class="cline-any cline-yes">1x</span>
|
|
540
|
+
<span class="cline-any cline-yes">1x</span>
|
|
541
|
+
<span class="cline-any cline-yes">1x</span>
|
|
611
542
|
<span class="cline-any cline-yes">1x</span>
|
|
612
543
|
<span class="cline-any cline-neutral"> </span>
|
|
613
544
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -626,11 +557,8 @@
|
|
|
626
557
|
<span class="cline-any cline-neutral"> </span>
|
|
627
558
|
<span class="cline-any cline-neutral"> </span>
|
|
628
559
|
<span class="cline-any cline-no"> </span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
560
|
<span class="cline-any cline-no"> </span>
|
|
631
561
|
<span class="cline-any cline-neutral"> </span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
634
562
|
<span class="cline-any cline-no"> </span>
|
|
635
563
|
<span class="cline-any cline-neutral"> </span>
|
|
636
564
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -642,11 +570,6 @@
|
|
|
642
570
|
<span class="cline-any cline-neutral"> </span>
|
|
643
571
|
<span class="cline-any cline-neutral"> </span>
|
|
644
572
|
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-neutral"> </span>
|
|
646
|
-
<span class="cline-any cline-neutral"> </span>
|
|
647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
648
|
-
<span class="cline-any cline-neutral"> </span>
|
|
649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
650
573
|
<span class="cline-any cline-yes">1x</span>
|
|
651
574
|
<span class="cline-any cline-neutral"> </span>
|
|
652
575
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -657,10 +580,6 @@
|
|
|
657
580
|
<span class="cline-any cline-neutral"> </span>
|
|
658
581
|
<span class="cline-any cline-neutral"> </span>
|
|
659
582
|
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
583
|
<span class="cline-any cline-yes">1x</span>
|
|
665
584
|
<span class="cline-any cline-neutral"> </span>
|
|
666
585
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -673,21 +592,14 @@
|
|
|
673
592
|
<span class="cline-any cline-neutral"> </span>
|
|
674
593
|
<span class="cline-any cline-neutral"> </span>
|
|
675
594
|
<span class="cline-any cline-neutral"> </span>
|
|
595
|
+
<span class="cline-any cline-yes">1x</span>
|
|
676
596
|
<span class="cline-any cline-neutral"> </span>
|
|
677
597
|
<span class="cline-any cline-neutral"> </span>
|
|
678
598
|
<span class="cline-any cline-neutral"> </span>
|
|
679
599
|
<span class="cline-any cline-neutral"> </span>
|
|
680
600
|
<span class="cline-any cline-neutral"> </span>
|
|
681
601
|
<span class="cline-any cline-neutral"> </span>
|
|
682
|
-
<span class="cline-any cline-neutral"> </span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-yes">2x</span>
|
|
686
|
-
<span class="cline-any cline-neutral"> </span>
|
|
687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import React, { Component } from 'react';
|
|
602
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState, useEffect } from 'react';
|
|
691
603
|
import { pie, arc } from 'd3-shape';
|
|
692
604
|
import { select, event } from 'd3-selection';
|
|
693
605
|
import PropTypes from 'prop-types';
|
|
@@ -697,321 +609,273 @@ const HEIGHT = 210;
|
|
|
697
609
|
const RADIUS = Math.min(WIDTH, HEIGHT) / 2;
|
|
698
610
|
const GAP_VALUE = 2.5;
|
|
699
611
|
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
quality: 'Quality Measures',
|
|
710
|
-
aci: 'Advancing Care Info',
|
|
711
|
-
pi: 'Promoting Interoperability',
|
|
712
|
-
ia: 'Improvement Activities',
|
|
713
|
-
cost: 'Cost'
|
|
714
|
-
}
|
|
715
|
-
};
|
|
716
|
-
}
|
|
612
|
+
const ScoreChart = ({ performanceYear, chartData, linkCallback }) => {
|
|
613
|
+
const [hasLegend, setHasLegend] = useState(false);
|
|
614
|
+
const [titleMapping, setTitleMapping] = useState({
|
|
615
|
+
quality: 'Quality Measures',
|
|
616
|
+
aci: 'Advancing Care Info',
|
|
617
|
+
pi: 'Promoting Interoperability',
|
|
618
|
+
ia: 'Improvement Activities',
|
|
619
|
+
cost: 'Cost',
|
|
620
|
+
});
|
|
717
621
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
622
|
+
const { categories } = chartData;
|
|
623
|
+
let legendToggler;
|
|
624
|
+
let legend;
|
|
625
|
+
|
|
626
|
+
const getAdvancingCareLabel = () => {
|
|
627
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (performanceYear > 2017) {
|
|
628
|
+
<span class="cstat-no" title="statement not covered" > setTitleMapping({ ...titleMapping, aci: 'Promoting Interoperability' });</span>
|
|
724
629
|
}
|
|
630
|
+
};
|
|
725
631
|
|
|
726
|
-
<span class="fstat-no" title="function not covered" >
|
|
727
|
-
<span class="cstat-no" title="statement not covered" >
|
|
728
|
-
<span class="cstat-no" title="statement not covered" >
|
|
729
|
-
<span class="cstat-no" title="statement not covered" > this.getAdvancingCareLabel();</span>
|
|
730
|
-
}
|
|
632
|
+
const redirectToCategory = <span class="fstat-no" title="function not covered" >(l</span>ink, categoryId) => {
|
|
633
|
+
<span class="cstat-no" title="statement not covered" > if (!link) {</span>
|
|
634
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
731
635
|
}
|
|
732
636
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
637
|
+
// track explicitly chart legends
|
|
638
|
+
<span class="cstat-no" title="statement not covered" > if (window.utag) {</span>
|
|
639
|
+
<span class="cstat-no" title="statement not covered" > window.utag.track('link', {</span>
|
|
640
|
+
ga_event_category: 'SidebarNav',
|
|
641
|
+
ga_event_action: `GoTo${categoryId}`,
|
|
642
|
+
ga_event_label: categoryId,
|
|
643
|
+
});
|
|
644
|
+
}
|
|
737
645
|
|
|
738
|
-
<span class="cstat-no" title="statement not covered" >
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
646
|
+
<span class="cstat-no" title="statement not covered" > if (linkCallback) {</span>
|
|
647
|
+
<span class="cstat-no" title="statement not covered" > linkCallback(link);</span>
|
|
648
|
+
} else {
|
|
649
|
+
<span class="cstat-no" title="statement not covered" > window.location.href = link;</span>
|
|
742
650
|
}
|
|
651
|
+
};
|
|
743
652
|
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
747
|
-
}
|
|
653
|
+
const draw = (chartData) => {
|
|
654
|
+
const scorePie = pie().sort(null);
|
|
748
655
|
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
ga_event_action: `GoTo${categoryId}`,
|
|
754
|
-
ga_event_label: categoryId
|
|
755
|
-
});
|
|
756
|
-
}
|
|
656
|
+
// Removing invalid categories
|
|
657
|
+
const categories = chartData.categories.filter(
|
|
658
|
+
({ maxContribution }) => !!maxContribution
|
|
659
|
+
);
|
|
757
660
|
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
}
|
|
763
|
-
}
|
|
661
|
+
// Calculating the sum of valid categories in order to calculate ratios
|
|
662
|
+
const categorySum = categories
|
|
663
|
+
.map(({ maxContribution }) => maxContribution)
|
|
664
|
+
.reduce((sum, current) => sum + current);
|
|
764
665
|
|
|
765
|
-
|
|
766
|
-
|
|
666
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!categorySum) {
|
|
667
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
668
|
+
}
|
|
767
669
|
|
|
768
|
-
|
|
769
|
-
const categories = chartData.categories.filter(
|
|
770
|
-
({ maxContribution }) => !!maxContribution
|
|
771
|
-
);
|
|
670
|
+
select('.score-chart').selectAll('*').remove();
|
|
772
671
|
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
.reduce((sum, current) => sum + current);
|
|
672
|
+
const svg = select('.score-chart')
|
|
673
|
+
.attr('width', WIDTH)
|
|
674
|
+
.attr('height', HEIGHT);
|
|
777
675
|
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
676
|
+
const chartArc = arc()
|
|
677
|
+
.innerRadius(RADIUS - 1.5)
|
|
678
|
+
.outerRadius(RADIUS - 25);
|
|
781
679
|
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
680
|
+
// Preparing the data structure with ratios: [ FILLED, EMPTY, TRANSPARENT, FILLED, EMPTY, ... ]
|
|
681
|
+
let data;
|
|
682
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (categories.length === 0) {
|
|
683
|
+
<span class="cstat-no" title="statement not covered" > data = [];</span>
|
|
684
|
+
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (categories.length === 1) {
|
|
685
|
+
const { value, maxContribution } = <span class="cstat-no" title="statement not covered" >categories[0];</span>
|
|
686
|
+
<span class="cstat-no" title="statement not covered" > data = [value || 0, maxContribution - value];</span>
|
|
687
|
+
} else {
|
|
688
|
+
data = categories
|
|
689
|
+
.map(({ value, maxContribution }) => [
|
|
690
|
+
value || <span class="branch-1 cbranch-no" title="branch not covered" >0,</span>
|
|
691
|
+
maxContribution - value,
|
|
692
|
+
GAP_VALUE * (categorySum / 100),
|
|
693
|
+
])
|
|
694
|
+
.reduce((a, b) => a.concat(b), []);
|
|
695
|
+
}
|
|
785
696
|
|
|
786
|
-
|
|
787
|
-
.attr('width', WIDTH)
|
|
788
|
-
.attr('height', HEIGHT);
|
|
697
|
+
svg.append('title').attr('id', 'titleID').text('Your submission score');
|
|
789
698
|
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
699
|
+
svg
|
|
700
|
+
.append('desc')
|
|
701
|
+
.attr('id', 'descID')
|
|
702
|
+
.text(`${chartData.finalScore} out of 100`);
|
|
793
703
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
704
|
+
// Setting up the arcs
|
|
705
|
+
let arcs = svg
|
|
706
|
+
.append('g')
|
|
707
|
+
.attr('class', 'arcs')
|
|
708
|
+
.attr('role', 'presentation')
|
|
709
|
+
.selectAll('g.arc')
|
|
710
|
+
.data(scorePie(data))
|
|
711
|
+
.enter()
|
|
712
|
+
.append('g')
|
|
713
|
+
.attr('class', (d, i) => {
|
|
714
|
+
let role;
|
|
715
|
+
if (i % 3 === 0) {
|
|
716
|
+
role = 'filled';
|
|
717
|
+
} else if (i % 3 === 1) {
|
|
718
|
+
role = 'empty';
|
|
801
719
|
} else {
|
|
802
|
-
|
|
803
|
-
.map(({ value, maxContribution }) => [
|
|
804
|
-
value || <span class="branch-1 cbranch-no" title="branch not covered" >0,</span>
|
|
805
|
-
maxContribution - value,
|
|
806
|
-
GAP_VALUE * (categorySum / 100)
|
|
807
|
-
])
|
|
808
|
-
.reduce((a, b) => a.concat(b), []);
|
|
720
|
+
role = 'transparent';
|
|
809
721
|
}
|
|
722
|
+
return `arc ${categories[parseInt(i / 3)].name} ${role}`;
|
|
723
|
+
})
|
|
724
|
+
.attr('transform', `translate(${RADIUS}, ${RADIUS})`)
|
|
725
|
+
// For accessibility, we add keyboard access to the filled slices
|
|
726
|
+
.attr('tabindex', (d, i) => {
|
|
727
|
+
let tabindex = -1;
|
|
728
|
+
if (i % 3 === 0) {
|
|
729
|
+
tabindex = 0;
|
|
730
|
+
}
|
|
731
|
+
return tabindex;
|
|
732
|
+
})
|
|
733
|
+
// IE for for focusable svg elements
|
|
734
|
+
.attr('focusable', (d, i) => {
|
|
735
|
+
if (i % 3 === 0) {
|
|
736
|
+
return true;
|
|
737
|
+
}
|
|
738
|
+
})
|
|
739
|
+
// For accessibility, we add keyboard access to the filled slices
|
|
740
|
+
.on('keyup', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
741
|
+
const code = <span class="cstat-no" title="statement not covered" >event.keyCode || event.which;</span>
|
|
742
|
+
<span class="cstat-no" title="statement not covered" > if (code === 13) {</span>
|
|
743
|
+
const { name, link } = <span class="cstat-no" title="statement not covered" >categories[parseInt(i / 3)];</span>
|
|
744
|
+
<span class="cstat-no" title="statement not covered" > redirectToCategory(link, name);</span>
|
|
745
|
+
}
|
|
746
|
+
})
|
|
747
|
+
// On click - go to category page
|
|
748
|
+
.on('click', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
749
|
+
const { name, link } = <span class="cstat-no" title="statement not covered" >categories[parseInt(i / 3)];</span>
|
|
750
|
+
<span class="cstat-no" title="statement not covered" > redirectToCategory(link, name);</span>
|
|
751
|
+
});
|
|
810
752
|
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
// Setting up the arcs
|
|
820
|
-
let arcs = svg
|
|
821
|
-
.append('g')
|
|
822
|
-
.attr('class', 'arcs')
|
|
823
|
-
.attr('role', 'presentation')
|
|
824
|
-
.selectAll('g.arc')
|
|
825
|
-
.data(scorePie(data))
|
|
826
|
-
.enter()
|
|
827
|
-
.append('g')
|
|
828
|
-
.attr('class', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
829
|
-
let role;
|
|
830
|
-
<span class="cstat-no" title="statement not covered" > if (i % 3 === 0) {</span>
|
|
831
|
-
<span class="cstat-no" title="statement not covered" > role = 'filled';</span>
|
|
832
|
-
} else <span class="cstat-no" title="statement not covered" >if (i % 3 === 1) {</span>
|
|
833
|
-
<span class="cstat-no" title="statement not covered" > role = 'empty';</span>
|
|
834
|
-
} else {
|
|
835
|
-
<span class="cstat-no" title="statement not covered" > role = 'transparent';</span>
|
|
836
|
-
}
|
|
837
|
-
<span class="cstat-no" title="statement not covered" > return `arc ${categories[parseInt(i / 3)].name} ${role}`;</span>
|
|
838
|
-
})
|
|
839
|
-
.attr('transform', `translate(${RADIUS}, ${RADIUS})`)
|
|
840
|
-
// For accessibility, we add keyboard access to the filled slices
|
|
841
|
-
.attr('tabindex', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
842
|
-
let tabindex = <span class="cstat-no" title="statement not covered" >-1;</span>
|
|
843
|
-
<span class="cstat-no" title="statement not covered" > if (i % 3 === 0) {</span>
|
|
844
|
-
<span class="cstat-no" title="statement not covered" > tabindex = 0;</span>
|
|
845
|
-
}
|
|
846
|
-
<span class="cstat-no" title="statement not covered" > return tabindex;</span>
|
|
847
|
-
})
|
|
848
|
-
// IE for for focusable svg elements
|
|
849
|
-
.attr('focusable', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
850
|
-
<span class="cstat-no" title="statement not covered" > if (i % 3 === 0) {</span>
|
|
851
|
-
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
852
|
-
}
|
|
853
|
-
})
|
|
854
|
-
// For accessibility, we add keyboard access to the filled slices
|
|
855
|
-
.on('keyup', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
856
|
-
const code = <span class="cstat-no" title="statement not covered" >event.keyCode || event.which;</span>
|
|
857
|
-
<span class="cstat-no" title="statement not covered" > if (code === 13) {</span>
|
|
858
|
-
const { name, link } = <span class="cstat-no" title="statement not covered" >categories[parseInt(i / 3)];</span>
|
|
859
|
-
<span class="cstat-no" title="statement not covered" > this.redirectToCategory(link, name);</span>
|
|
860
|
-
}
|
|
861
|
-
})
|
|
862
|
-
// On click - go to category page
|
|
863
|
-
.on('click', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
864
|
-
const { name, link } = <span class="cstat-no" title="statement not covered" >categories[parseInt(i / 3)];</span>
|
|
865
|
-
<span class="cstat-no" title="statement not covered" > this.redirectToCategory(link, name);</span>
|
|
866
|
-
});
|
|
753
|
+
// Add accessibility description
|
|
754
|
+
arcs.append('desc').text((d, i) => {
|
|
755
|
+
if (i % 3 === 0) {
|
|
756
|
+
const { name, value, maxContribution } = categories[parseInt(i / 3)];
|
|
757
|
+
return `${titleMapping[name]} ${value} out of ${maxContribution}`;
|
|
758
|
+
}
|
|
759
|
+
});
|
|
867
760
|
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
<span class="cstat-no" title="statement not covered" >
|
|
875
|
-
|
|
876
|
-
|
|
761
|
+
arcs
|
|
762
|
+
.append('path')
|
|
763
|
+
.attr('d', chartArc)
|
|
764
|
+
// On mouse over - show category tooltip
|
|
765
|
+
.on('mouseover', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
766
|
+
const { name, value, maxContribution } = <span class="cstat-no" title="statement not covered" >categories[parseInt(i / 3)];</span>
|
|
767
|
+
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip')</span>
|
|
768
|
+
.style('opacity', 1)
|
|
769
|
+
.text(`${titleMapping[name]} ${value}/${maxContribution}`);
|
|
770
|
+
})
|
|
771
|
+
// On mouse move - move category tooltip
|
|
772
|
+
.on('mousemove', <span class="fstat-no" title="function not covered" >()</span> => {
|
|
773
|
+
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip')</span>
|
|
774
|
+
.style('top', event.clientY - HEIGHT + 10 + 'px')
|
|
775
|
+
.style('left', event.clientX + 'px');
|
|
776
|
+
})
|
|
777
|
+
// On mouse out - hide category tooltip
|
|
778
|
+
.on('mouseout', <span class="fstat-no" title="function not covered" >()</span> => {
|
|
779
|
+
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip').style('opacity', 0);</span>
|
|
780
|
+
});
|
|
877
781
|
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
parseInt(i / 3)
|
|
884
|
-
];
|
|
885
|
-
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip')</span>
|
|
886
|
-
.style('opacity', 1)
|
|
887
|
-
.text(
|
|
888
|
-
`${this.state.titleMapping[name]} ${value}/${maxContribution}`
|
|
889
|
-
);
|
|
890
|
-
})
|
|
891
|
-
// On mouse move - move category tooltip
|
|
892
|
-
.on('mousemove', <span class="fstat-no" title="function not covered" >()</span> => {
|
|
893
|
-
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip')</span>
|
|
894
|
-
.style('top', event.clientY - HEIGHT + 10 + 'px')
|
|
895
|
-
.style('left', event.clientX + 'px');
|
|
896
|
-
})
|
|
897
|
-
// On mouse out - hide category tooltip
|
|
898
|
-
.on('mouseout', <span class="fstat-no" title="function not covered" >()</span> => {
|
|
899
|
-
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip').style('opacity', 0);</span>
|
|
900
|
-
});
|
|
782
|
+
// Adding title and subtitle
|
|
783
|
+
const text = svg
|
|
784
|
+
.append('g')
|
|
785
|
+
.attr('text-anchor', 'middle')
|
|
786
|
+
.attr('transform', `translate(${WIDTH / 2}, ${HEIGHT / 2})`);
|
|
901
787
|
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
788
|
+
// Adding title - X%
|
|
789
|
+
text
|
|
790
|
+
.append('text')
|
|
791
|
+
.attr('y', 4)
|
|
792
|
+
.attr('class', 'chart-title')
|
|
793
|
+
.text(chartData.finalScore);
|
|
907
794
|
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
795
|
+
// Adding subtitle - OUT OF 100
|
|
796
|
+
text
|
|
797
|
+
.append('text')
|
|
798
|
+
.attr('y', 24)
|
|
799
|
+
.attr('class', 'chart-subtitle')
|
|
800
|
+
.text('OUT OF 100');
|
|
801
|
+
};
|
|
913
802
|
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
.attr('class', 'chart-subtitle')
|
|
918
|
-
.text('OUT OF 100');
|
|
919
|
-
}
|
|
803
|
+
const toggleLegend = <span class="fstat-no" title="function not covered" >()</span> => {
|
|
804
|
+
<span class="cstat-no" title="statement not covered" > setHasLegend(!hasLegend);</span>
|
|
805
|
+
};
|
|
920
806
|
|
|
921
|
-
|
|
922
|
-
<span class="
|
|
807
|
+
useEffect(() => {
|
|
808
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (chartData?.finalScore) {
|
|
809
|
+
draw(chartData);
|
|
810
|
+
getAdvancingCareLabel();
|
|
923
811
|
}
|
|
812
|
+
}, [chartData?.finalScore]);
|
|
924
813
|
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
814
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (hasLegend) {
|
|
815
|
+
<span class="cstat-no" title="statement not covered" > legendToggler = (</span>
|
|
816
|
+
<button className="open" type="button" aria-pressed="true">
|
|
817
|
+
Hide Legend
|
|
818
|
+
<svg
|
|
819
|
+
className="right-icon rotated"
|
|
820
|
+
aria-hidden="true"
|
|
821
|
+
focusable="false"
|
|
822
|
+
>
|
|
823
|
+
<use xlinkHref="#chevron-down" />
|
|
824
|
+
</svg>
|
|
825
|
+
</button>
|
|
826
|
+
);
|
|
827
|
+
<span class="cstat-no" title="statement not covered" > legend = categories.map(<span class="fstat-no" title="function not covered" >({</span> name, value, maxContribution, link }, index) => {</span>
|
|
828
|
+
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
829
|
+
<li key={name} className="legend-axis">
|
|
830
|
+
<button onClick={<span class="fstat-no" title="function not covered" >()</span> => <span class="cstat-no" title="statement not covered" >redirectToCategory(link, name)}</span>>
|
|
831
|
+
<span className={`legend-axis-color ${name}`} />
|
|
832
|
+
&nbsp;
|
|
833
|
+
<span className="legend-axis-title">{titleMapping[name]}</span>
|
|
834
|
+
&nbsp;
|
|
835
|
+
<span className="legend-axis-value">{`${value}/${maxContribution}`}</span>
|
|
836
|
+
</button>
|
|
837
|
+
</li>
|
|
838
|
+
);
|
|
839
|
+
});
|
|
840
|
+
} else {
|
|
841
|
+
legendToggler = (
|
|
842
|
+
<button type="button" aria-pressed="false">
|
|
843
|
+
Show Legend
|
|
844
|
+
<svg className="right-icon" aria-hidden="true" focusable="false">
|
|
845
|
+
<use xlinkHref="#chevron-down" />
|
|
846
|
+
</svg>
|
|
847
|
+
</button>
|
|
848
|
+
);
|
|
849
|
+
}
|
|
929
850
|
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
</button>
|
|
942
|
-
);
|
|
943
|
-
<span class="cstat-no" title="statement not covered" > legend = categories.map(</span>
|
|
944
|
-
<span class="fstat-no" title="function not covered" > ({</span> name, value, maxContribution, link }, index) => {
|
|
945
|
-
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
946
|
-
<li key={name} className="legend-axis">
|
|
947
|
-
<button
|
|
948
|
-
onClick={<span class="fstat-no" title="function not covered" >()</span> =>
|
|
949
|
-
<span class="cstat-no" title="statement not covered" > this.redirectToCategory(link, name)</span>
|
|
950
|
-
}
|
|
951
|
-
>
|
|
952
|
-
<span className={`legend-axis-color ${name}`} />
|
|
953
|
-
&nbsp;
|
|
954
|
-
<span className="legend-axis-title">
|
|
955
|
-
{this.state.titleMapping[name]}
|
|
956
|
-
</span>
|
|
957
|
-
&nbsp;
|
|
958
|
-
<span className="legend-axis-value">{`${value}/${maxContribution}`}</span>
|
|
959
|
-
</button>
|
|
960
|
-
</li>
|
|
961
|
-
);
|
|
962
|
-
}
|
|
963
|
-
);
|
|
964
|
-
} else {
|
|
965
|
-
legendToggler = (
|
|
966
|
-
<button type="button" aria-pressed="false">
|
|
967
|
-
Show Legend
|
|
968
|
-
<svg
|
|
969
|
-
className="right-icon"
|
|
970
|
-
aria-hidden="true"
|
|
971
|
-
focusable="false"
|
|
972
|
-
>
|
|
973
|
-
<use xlinkHref="#chevron-down" />
|
|
974
|
-
</svg>
|
|
975
|
-
</button>
|
|
976
|
-
);
|
|
977
|
-
}
|
|
978
|
-
|
|
979
|
-
return (
|
|
980
|
-
<div className="chart">
|
|
981
|
-
<svg
|
|
982
|
-
className="score-chart"
|
|
983
|
-
role="img"
|
|
984
|
-
aria-labelledby="titleID descID"
|
|
985
|
-
focusable="false"
|
|
986
|
-
/>
|
|
987
|
-
<div className="chart-tooltip off" />
|
|
988
|
-
<div
|
|
989
|
-
className="chart-legend-toggler"
|
|
990
|
-
onClick={this.toggleLegend}
|
|
991
|
-
>
|
|
992
|
-
{legendToggler}
|
|
993
|
-
</div>
|
|
994
|
-
<ul className="chart-legend">{legend}</ul>
|
|
995
|
-
</div>
|
|
996
|
-
);
|
|
997
|
-
}
|
|
998
|
-
}
|
|
851
|
+
return (
|
|
852
|
+
<div className="chart">
|
|
853
|
+
<svg className="score-chart" focusable="false" />
|
|
854
|
+
<div className="chart-tooltip off" />
|
|
855
|
+
<div className="chart-legend-toggler" onClick={toggleLegend}>
|
|
856
|
+
{legendToggler}
|
|
857
|
+
</div>
|
|
858
|
+
<ul className="chart-legend">{legend}</ul>
|
|
859
|
+
</div>
|
|
860
|
+
);
|
|
861
|
+
};
|
|
999
862
|
|
|
1000
863
|
ScoreChart.propTypes = {
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
864
|
+
chartData: PropTypes.object,
|
|
865
|
+
linkCallback: PropTypes.func,
|
|
866
|
+
performanceYear: PropTypes.number,
|
|
1004
867
|
};
|
|
868
|
+
|
|
869
|
+
export default ScoreChart;
|
|
1005
870
|
</pre></td></tr></table></pre>
|
|
1006
871
|
|
|
1007
872
|
<div class='push'></div><!-- for sticky footer -->
|
|
1008
873
|
</div><!-- /wrapper -->
|
|
1009
874
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1010
875
|
Code coverage generated by
|
|
1011
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1012
|
-
at
|
|
876
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
877
|
+
at Sun Sep 11 2022 11:18:36 GMT-0700 (Pacific Daylight Time)
|
|
1013
878
|
</div>
|
|
1014
|
-
</div>
|
|
1015
879
|
<script src="../../../prettify.js"></script>
|
|
1016
880
|
<script>
|
|
1017
881
|
window.onload = function () {
|