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>
|
|
@@ -327,52 +333,7 @@
|
|
|
327
333
|
<a name='L268'></a><a href='#L268'>268</a>
|
|
328
334
|
<a name='L269'></a><a href='#L269'>269</a>
|
|
329
335
|
<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>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
376
337
|
<span class="cline-any cline-neutral"> </span>
|
|
377
338
|
<span class="cline-any cline-neutral"> </span>
|
|
378
339
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -382,11 +343,7 @@
|
|
|
382
343
|
<span class="cline-any cline-yes">3x</span>
|
|
383
344
|
<span class="cline-any cline-yes">3x</span>
|
|
384
345
|
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-
|
|
386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
387
|
-
<span class="cline-any cline-yes">1x</span>
|
|
388
|
-
<span class="cline-any cline-yes">1x</span>
|
|
389
|
-
<span class="cline-any cline-yes">1x</span>
|
|
346
|
+
<span class="cline-any cline-yes">3x</span>
|
|
390
347
|
<span class="cline-any cline-yes">1x</span>
|
|
391
348
|
<span class="cline-any cline-yes">1x</span>
|
|
392
349
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -396,23 +353,13 @@
|
|
|
396
353
|
<span class="cline-any cline-neutral"> </span>
|
|
397
354
|
<span class="cline-any cline-neutral"> </span>
|
|
398
355
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
+
<span class="cline-any cline-yes">1x</span>
|
|
399
357
|
<span class="cline-any cline-neutral"> </span>
|
|
400
358
|
<span class="cline-any cline-neutral"> </span>
|
|
401
359
|
<span class="cline-any cline-neutral"> </span>
|
|
402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-yes">1x</span>
|
|
405
|
-
<span class="cline-any cline-yes">1x</span>
|
|
406
360
|
<span class="cline-any cline-yes">1x</span>
|
|
407
361
|
<span class="cline-any cline-yes">1x</span>
|
|
408
|
-
<span class="cline-any cline-neutral"> </span>
|
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
411
|
-
<span class="cline-any cline-neutral"> </span>
|
|
412
|
-
<span class="cline-any cline-no"> </span>
|
|
413
362
|
<span class="cline-any cline-no"> </span>
|
|
414
|
-
<span class="cline-any cline-no"> </span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
363
|
<span class="cline-any cline-neutral"> </span>
|
|
417
364
|
<span class="cline-any cline-neutral"> </span>
|
|
418
365
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -420,16 +367,6 @@
|
|
|
420
367
|
<span class="cline-any cline-no"> </span>
|
|
421
368
|
<span class="cline-any cline-no"> </span>
|
|
422
369
|
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-no"> </span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-no"> </span>
|
|
431
|
-
<span class="cline-any cline-no"> </span>
|
|
432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
433
370
|
<span class="cline-any cline-neutral"> </span>
|
|
434
371
|
<span class="cline-any cline-neutral"> </span>
|
|
435
372
|
<span class="cline-any cline-no"> </span>
|
|
@@ -447,7 +384,7 @@
|
|
|
447
384
|
<span class="cline-any cline-neutral"> </span>
|
|
448
385
|
<span class="cline-any cline-neutral"> </span>
|
|
449
386
|
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-
|
|
387
|
+
<span class="cline-any cline-yes">1x</span>
|
|
451
388
|
<span class="cline-any cline-yes">1x</span>
|
|
452
389
|
<span class="cline-any cline-neutral"> </span>
|
|
453
390
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -466,8 +403,6 @@
|
|
|
466
403
|
<span class="cline-any cline-neutral"> </span>
|
|
467
404
|
<span class="cline-any cline-yes">1x</span>
|
|
468
405
|
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-neutral"> </span>
|
|
471
406
|
<span class="cline-any cline-yes">1x</span>
|
|
472
407
|
<span class="cline-any cline-neutral"> </span>
|
|
473
408
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -495,13 +430,12 @@
|
|
|
495
430
|
<span class="cline-any cline-neutral"> </span>
|
|
496
431
|
<span class="cline-any cline-yes">1x</span>
|
|
497
432
|
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-neutral"> </span>
|
|
499
|
-
<span class="cline-any cline-neutral"> </span>
|
|
500
433
|
<span class="cline-any cline-yes">1x</span>
|
|
501
434
|
<span class="cline-any cline-neutral"> </span>
|
|
502
435
|
<span class="cline-any cline-neutral"> </span>
|
|
503
436
|
<span class="cline-any cline-neutral"> </span>
|
|
504
437
|
<span class="cline-any cline-neutral"> </span>
|
|
438
|
+
<span class="cline-any cline-neutral"> </span>
|
|
505
439
|
<span class="cline-any cline-yes">1x</span>
|
|
506
440
|
<span class="cline-any cline-neutral"> </span>
|
|
507
441
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -512,28 +446,28 @@
|
|
|
512
446
|
<span class="cline-any cline-neutral"> </span>
|
|
513
447
|
<span class="cline-any cline-neutral"> </span>
|
|
514
448
|
<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-
|
|
449
|
+
<span class="cline-any cline-yes">9x</span>
|
|
450
|
+
<span class="cline-any cline-yes">3x</span>
|
|
451
|
+
<span class="cline-any cline-yes">6x</span>
|
|
452
|
+
<span class="cline-any cline-yes">3x</span>
|
|
519
453
|
<span class="cline-any cline-neutral"> </span>
|
|
520
|
-
<span class="cline-any cline-
|
|
454
|
+
<span class="cline-any cline-yes">3x</span>
|
|
521
455
|
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-
|
|
456
|
+
<span class="cline-any cline-yes">9x</span>
|
|
523
457
|
<span class="cline-any cline-neutral"> </span>
|
|
524
458
|
<span class="cline-any cline-neutral"> </span>
|
|
525
459
|
<span class="cline-any cline-neutral"> </span>
|
|
526
460
|
<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-
|
|
461
|
+
<span class="cline-any cline-yes">9x</span>
|
|
462
|
+
<span class="cline-any cline-yes">9x</span>
|
|
463
|
+
<span class="cline-any cline-yes">3x</span>
|
|
530
464
|
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-
|
|
465
|
+
<span class="cline-any cline-yes">9x</span>
|
|
532
466
|
<span class="cline-any cline-neutral"> </span>
|
|
533
467
|
<span class="cline-any cline-neutral"> </span>
|
|
534
468
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-
|
|
536
|
-
<span class="cline-any cline-
|
|
469
|
+
<span class="cline-any cline-yes">9x</span>
|
|
470
|
+
<span class="cline-any cline-yes">3x</span>
|
|
537
471
|
<span class="cline-any cline-neutral"> </span>
|
|
538
472
|
<span class="cline-any cline-neutral"> </span>
|
|
539
473
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -552,11 +486,10 @@
|
|
|
552
486
|
<span class="cline-any cline-neutral"> </span>
|
|
553
487
|
<span class="cline-any cline-neutral"> </span>
|
|
554
488
|
<span class="cline-any cline-yes">1x</span>
|
|
555
|
-
<span class="cline-any cline-
|
|
556
|
-
<span class="cline-any cline-no"> </span>
|
|
557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
489
|
+
<span class="cline-any cline-yes">9x</span>
|
|
558
490
|
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-
|
|
491
|
+
<span class="cline-any cline-yes">3x</span>
|
|
492
|
+
<span class="cline-any cline-yes">3x</span>
|
|
560
493
|
<span class="cline-any cline-neutral"> </span>
|
|
561
494
|
<span class="cline-any cline-neutral"> </span>
|
|
562
495
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -564,12 +497,10 @@
|
|
|
564
497
|
<span class="cline-any cline-neutral"> </span>
|
|
565
498
|
<span class="cline-any cline-neutral"> </span>
|
|
566
499
|
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-no"> </span>
|
|
568
500
|
<span class="cline-any cline-neutral"> </span>
|
|
569
501
|
<span class="cline-any cline-neutral"> </span>
|
|
570
502
|
<span class="cline-any cline-no"> </span>
|
|
571
|
-
<span class="cline-any cline-
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
503
|
+
<span class="cline-any cline-no"> </span>
|
|
573
504
|
<span class="cline-any cline-neutral"> </span>
|
|
574
505
|
<span class="cline-any cline-neutral"> </span>
|
|
575
506
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -597,6 +528,7 @@
|
|
|
597
528
|
<span class="cline-any cline-neutral"> </span>
|
|
598
529
|
<span class="cline-any cline-neutral"> </span>
|
|
599
530
|
<span class="cline-any cline-neutral"> </span>
|
|
531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
600
532
|
<span class="cline-any cline-yes">1x</span>
|
|
601
533
|
<span class="cline-any cline-neutral"> </span>
|
|
602
534
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -604,10 +536,13 @@
|
|
|
604
536
|
<span class="cline-any cline-neutral"> </span>
|
|
605
537
|
<span class="cline-any cline-neutral"> </span>
|
|
606
538
|
<span class="cline-any cline-neutral"> </span>
|
|
539
|
+
<span class="cline-any cline-yes">1x</span>
|
|
607
540
|
<span class="cline-any cline-no"> </span>
|
|
608
541
|
<span class="cline-any cline-neutral"> </span>
|
|
609
542
|
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-
|
|
543
|
+
<span class="cline-any cline-yes">1x</span>
|
|
544
|
+
<span class="cline-any cline-yes">1x</span>
|
|
545
|
+
<span class="cline-any cline-yes">1x</span>
|
|
611
546
|
<span class="cline-any cline-yes">1x</span>
|
|
612
547
|
<span class="cline-any cline-neutral"> </span>
|
|
613
548
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -626,11 +561,8 @@
|
|
|
626
561
|
<span class="cline-any cline-neutral"> </span>
|
|
627
562
|
<span class="cline-any cline-neutral"> </span>
|
|
628
563
|
<span class="cline-any cline-no"> </span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
564
|
<span class="cline-any cline-no"> </span>
|
|
631
565
|
<span class="cline-any cline-neutral"> </span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
634
566
|
<span class="cline-any cline-no"> </span>
|
|
635
567
|
<span class="cline-any cline-neutral"> </span>
|
|
636
568
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -642,11 +574,6 @@
|
|
|
642
574
|
<span class="cline-any cline-neutral"> </span>
|
|
643
575
|
<span class="cline-any cline-neutral"> </span>
|
|
644
576
|
<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
577
|
<span class="cline-any cline-yes">1x</span>
|
|
651
578
|
<span class="cline-any cline-neutral"> </span>
|
|
652
579
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -657,10 +584,6 @@
|
|
|
657
584
|
<span class="cline-any cline-neutral"> </span>
|
|
658
585
|
<span class="cline-any cline-neutral"> </span>
|
|
659
586
|
<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
587
|
<span class="cline-any cline-yes">1x</span>
|
|
665
588
|
<span class="cline-any cline-neutral"> </span>
|
|
666
589
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -673,21 +596,14 @@
|
|
|
673
596
|
<span class="cline-any cline-neutral"> </span>
|
|
674
597
|
<span class="cline-any cline-neutral"> </span>
|
|
675
598
|
<span class="cline-any cline-neutral"> </span>
|
|
599
|
+
<span class="cline-any cline-yes">3x</span>
|
|
676
600
|
<span class="cline-any cline-neutral"> </span>
|
|
677
601
|
<span class="cline-any cline-neutral"> </span>
|
|
678
602
|
<span class="cline-any cline-neutral"> </span>
|
|
679
603
|
<span class="cline-any cline-neutral"> </span>
|
|
680
604
|
<span class="cline-any cline-neutral"> </span>
|
|
681
605
|
<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">3x</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';
|
|
606
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import React, { useState, useEffect } from 'react';
|
|
691
607
|
import { pie, arc } from 'd3-shape';
|
|
692
608
|
import { select, event } from 'd3-selection';
|
|
693
609
|
import PropTypes from 'prop-types';
|
|
@@ -697,321 +613,275 @@ const HEIGHT = 210;
|
|
|
697
613
|
const RADIUS = Math.min(WIDTH, HEIGHT) / 2;
|
|
698
614
|
const GAP_VALUE = 2.5;
|
|
699
615
|
|
|
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
|
-
}
|
|
616
|
+
const ScoreChart = ({ performanceYear, chartData, linkCallback }) => {
|
|
617
|
+
const [hasLegend, setHasLegend] = useState(false);
|
|
618
|
+
const [titleMapping, setTitleMapping] = useState({
|
|
619
|
+
quality: 'Quality Measures',
|
|
620
|
+
aci: 'Advancing Care Info',
|
|
621
|
+
pi: 'Promoting Interoperability',
|
|
622
|
+
ia: 'Improvement Activities',
|
|
623
|
+
cost: 'Cost',
|
|
624
|
+
});
|
|
717
625
|
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
626
|
+
const { categories } = chartData;
|
|
627
|
+
let legendToggler;
|
|
628
|
+
let legend;
|
|
629
|
+
|
|
630
|
+
const getAdvancingCareLabel = () => {
|
|
631
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (performanceYear > 2017) {
|
|
632
|
+
<span class="cstat-no" title="statement not covered" > setTitleMapping({ ...titleMapping, aci: 'Promoting Interoperability' });</span>
|
|
724
633
|
}
|
|
634
|
+
};
|
|
725
635
|
|
|
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
|
-
}
|
|
636
|
+
const redirectToCategory = <span class="fstat-no" title="function not covered" >(l</span>ink, categoryId) => {
|
|
637
|
+
<span class="cstat-no" title="statement not covered" > if (!link) {</span>
|
|
638
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
731
639
|
}
|
|
732
640
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
641
|
+
// track explicitly chart legends
|
|
642
|
+
<span class="cstat-no" title="statement not covered" > if (window.utag) {</span>
|
|
643
|
+
<span class="cstat-no" title="statement not covered" > window.utag.track('link', {</span>
|
|
644
|
+
ga_event_category: 'SidebarNav',
|
|
645
|
+
ga_event_action: `GoTo${categoryId}`,
|
|
646
|
+
ga_event_label: categoryId,
|
|
647
|
+
});
|
|
648
|
+
}
|
|
737
649
|
|
|
738
|
-
<span class="cstat-no" title="statement not covered" >
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
650
|
+
<span class="cstat-no" title="statement not covered" > if (linkCallback) {</span>
|
|
651
|
+
<span class="cstat-no" title="statement not covered" > linkCallback(link);</span>
|
|
652
|
+
} else {
|
|
653
|
+
<span class="cstat-no" title="statement not covered" > window.location.href = link;</span>
|
|
742
654
|
}
|
|
655
|
+
};
|
|
743
656
|
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
747
|
-
}
|
|
657
|
+
const draw = (chartData) => {
|
|
658
|
+
const scorePie = pie().sort(null);
|
|
748
659
|
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
ga_event_action: `GoTo${categoryId}`,
|
|
754
|
-
ga_event_label: categoryId
|
|
755
|
-
});
|
|
756
|
-
}
|
|
660
|
+
// Removing invalid categories
|
|
661
|
+
const validCategories = chartData.categories.filter(
|
|
662
|
+
({ maxContribution }) => !!maxContribution
|
|
663
|
+
);
|
|
757
664
|
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
}
|
|
763
|
-
}
|
|
665
|
+
// Calculating the sum of valid categories in order to calculate ratios
|
|
666
|
+
const categorySum = validCategories
|
|
667
|
+
.map(({ maxContribution }) => maxContribution)
|
|
668
|
+
.reduce((sum, current) => sum + current);
|
|
764
669
|
|
|
765
|
-
|
|
766
|
-
|
|
670
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!categorySum) {
|
|
671
|
+
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
672
|
+
}
|
|
767
673
|
|
|
768
|
-
|
|
769
|
-
const categories = chartData.categories.filter(
|
|
770
|
-
({ maxContribution }) => !!maxContribution
|
|
771
|
-
);
|
|
674
|
+
select('.score-chart').selectAll('*').remove();
|
|
772
675
|
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
.reduce((sum, current) => sum + current);
|
|
676
|
+
const svg = select('.score-chart')
|
|
677
|
+
.attr('width', WIDTH)
|
|
678
|
+
.attr('height', HEIGHT);
|
|
777
679
|
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
680
|
+
const chartArc = arc()
|
|
681
|
+
.innerRadius(RADIUS - 1.5)
|
|
682
|
+
.outerRadius(RADIUS - 25);
|
|
781
683
|
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
684
|
+
// Preparing the data structure with ratios: [ FILLED, EMPTY, TRANSPARENT, FILLED, EMPTY, ... ]
|
|
685
|
+
let data;
|
|
686
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (validCategories.length === 0) {
|
|
687
|
+
<span class="cstat-no" title="statement not covered" > data = [];</span>
|
|
688
|
+
} else <span class="missing-if-branch" title="if path not taken" >I</span>if (validCategories.length === 1) {
|
|
689
|
+
const { value, maxContribution } = <span class="cstat-no" title="statement not covered" >validCategories[0];</span>
|
|
690
|
+
<span class="cstat-no" title="statement not covered" > data = [value || 0, maxContribution - value];</span>
|
|
691
|
+
} else {
|
|
692
|
+
data = validCategories
|
|
693
|
+
.map(({ value, maxContribution }) => [
|
|
694
|
+
value || <span class="branch-1 cbranch-no" title="branch not covered" >0,</span>
|
|
695
|
+
maxContribution - value,
|
|
696
|
+
GAP_VALUE * (categorySum / 100),
|
|
697
|
+
])
|
|
698
|
+
.reduce((a, b) => a.concat(b), []);
|
|
699
|
+
}
|
|
785
700
|
|
|
786
|
-
|
|
787
|
-
.attr('width', WIDTH)
|
|
788
|
-
.attr('height', HEIGHT);
|
|
701
|
+
svg.append('title').attr('id', 'titleID').text('Your submission score');
|
|
789
702
|
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
703
|
+
svg
|
|
704
|
+
.append('desc')
|
|
705
|
+
.attr('id', 'descID')
|
|
706
|
+
.text(`${chartData.finalScore} out of 100`);
|
|
793
707
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
708
|
+
// Setting up the arcs
|
|
709
|
+
let arcs = svg
|
|
710
|
+
.append('g')
|
|
711
|
+
.attr('class', 'arcs')
|
|
712
|
+
.attr('role', 'presentation')
|
|
713
|
+
.selectAll('g.arc')
|
|
714
|
+
.data(scorePie(data))
|
|
715
|
+
.enter()
|
|
716
|
+
.append('g')
|
|
717
|
+
.attr('class', (d, i) => {
|
|
718
|
+
let role;
|
|
719
|
+
if (i % 3 === 0) {
|
|
720
|
+
role = 'filled';
|
|
721
|
+
} else if (i % 3 === 1) {
|
|
722
|
+
role = 'empty';
|
|
801
723
|
} 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), []);
|
|
724
|
+
role = 'transparent';
|
|
809
725
|
}
|
|
726
|
+
return `arc ${validCategories[parseInt(i / 3)].name} ${role}`;
|
|
727
|
+
})
|
|
728
|
+
.attr('transform', `translate(${RADIUS}, ${RADIUS})`)
|
|
729
|
+
// For accessibility, we add keyboard access to the filled slices
|
|
730
|
+
.attr('tabindex', (d, i) => {
|
|
731
|
+
let tabindex = -1;
|
|
732
|
+
if (i % 3 === 0) {
|
|
733
|
+
tabindex = 0;
|
|
734
|
+
}
|
|
735
|
+
return tabindex;
|
|
736
|
+
})
|
|
737
|
+
// IE for for focusable svg elements
|
|
738
|
+
.attr('focusable', (d, i) => {
|
|
739
|
+
if (i % 3 === 0) {
|
|
740
|
+
return true;
|
|
741
|
+
}
|
|
742
|
+
})
|
|
743
|
+
// For accessibility, we add keyboard access to the filled slices
|
|
744
|
+
.on('keyup', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
745
|
+
const code = <span class="cstat-no" title="statement not covered" >event.keyCode || event.which;</span>
|
|
746
|
+
<span class="cstat-no" title="statement not covered" > if (code === 13) {</span>
|
|
747
|
+
const { name, link } = <span class="cstat-no" title="statement not covered" >validCategories[parseInt(i / 3)];</span>
|
|
748
|
+
<span class="cstat-no" title="statement not covered" > redirectToCategory(link, name);</span>
|
|
749
|
+
}
|
|
750
|
+
})
|
|
751
|
+
// On click - go to category page
|
|
752
|
+
.on('click', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
753
|
+
const { name, link } = <span class="cstat-no" title="statement not covered" >validCategories[parseInt(i / 3)];</span>
|
|
754
|
+
<span class="cstat-no" title="statement not covered" > redirectToCategory(link, name);</span>
|
|
755
|
+
});
|
|
810
756
|
|
|
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
|
-
});
|
|
757
|
+
// Add accessibility description
|
|
758
|
+
arcs.append('desc').text((d, i) => {
|
|
759
|
+
if (i % 3 === 0) {
|
|
760
|
+
const { name, value, maxContribution } =
|
|
761
|
+
validCategories[parseInt(i / 3)];
|
|
762
|
+
return `${titleMapping[name]} ${value} out of ${maxContribution}`;
|
|
763
|
+
}
|
|
764
|
+
});
|
|
867
765
|
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
<span class="cstat-no" title="statement not covered" >
|
|
875
|
-
|
|
876
|
-
|
|
766
|
+
arcs
|
|
767
|
+
.append('path')
|
|
768
|
+
.attr('d', chartArc)
|
|
769
|
+
// On mouse over - show category tooltip
|
|
770
|
+
.on('mouseover', <span class="fstat-no" title="function not covered" >(d</span>, i) => {
|
|
771
|
+
const { name, value, maxContribution } =
|
|
772
|
+
<span class="cstat-no" title="statement not covered" > validCategories[parseInt(i / 3)];</span>
|
|
773
|
+
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip')</span>
|
|
774
|
+
.style('opacity', 1)
|
|
775
|
+
.text(`${titleMapping[name]} ${value}/${maxContribution}`);
|
|
776
|
+
})
|
|
777
|
+
// On mouse move - move category tooltip
|
|
778
|
+
.on('mousemove', <span class="fstat-no" title="function not covered" >()</span> => {
|
|
779
|
+
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip')</span>
|
|
780
|
+
.style('top', event.clientY - HEIGHT + 10 + 'px')
|
|
781
|
+
.style('left', event.clientX + 'px');
|
|
782
|
+
})
|
|
783
|
+
// On mouse out - hide category tooltip
|
|
784
|
+
.on('mouseout', <span class="fstat-no" title="function not covered" >()</span> => {
|
|
785
|
+
<span class="cstat-no" title="statement not covered" > select('.chart-tooltip').style('opacity', 0);</span>
|
|
786
|
+
});
|
|
877
787
|
|
|
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
|
-
});
|
|
788
|
+
// Adding title and subtitle
|
|
789
|
+
const text = svg
|
|
790
|
+
.append('g')
|
|
791
|
+
.attr('text-anchor', 'middle')
|
|
792
|
+
.attr('transform', `translate(${WIDTH / 2}, ${HEIGHT / 2})`);
|
|
901
793
|
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
794
|
+
// Adding title - X%
|
|
795
|
+
text
|
|
796
|
+
.append('text')
|
|
797
|
+
.attr('y', 4)
|
|
798
|
+
.attr('class', 'chart-title')
|
|
799
|
+
.text(chartData.finalScore);
|
|
907
800
|
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
801
|
+
// Adding subtitle - OUT OF 100
|
|
802
|
+
text
|
|
803
|
+
.append('text')
|
|
804
|
+
.attr('y', 24)
|
|
805
|
+
.attr('class', 'chart-subtitle')
|
|
806
|
+
.text('OUT OF 100');
|
|
807
|
+
};
|
|
913
808
|
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
.attr('class', 'chart-subtitle')
|
|
918
|
-
.text('OUT OF 100');
|
|
919
|
-
}
|
|
809
|
+
const toggleLegend = <span class="fstat-no" title="function not covered" >()</span> => {
|
|
810
|
+
<span class="cstat-no" title="statement not covered" > setHasLegend(!hasLegend);</span>
|
|
811
|
+
};
|
|
920
812
|
|
|
921
|
-
|
|
922
|
-
<span class="
|
|
813
|
+
useEffect(() => {
|
|
814
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (chartData?.finalScore) {
|
|
815
|
+
draw(chartData);
|
|
816
|
+
getAdvancingCareLabel();
|
|
923
817
|
}
|
|
818
|
+
}, [chartData?.finalScore]);
|
|
924
819
|
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
820
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (hasLegend) {
|
|
821
|
+
<span class="cstat-no" title="statement not covered" > legendToggler = (</span>
|
|
822
|
+
<button className="open" type="button" aria-pressed="true">
|
|
823
|
+
Hide Legend
|
|
824
|
+
<svg
|
|
825
|
+
className="right-icon rotated"
|
|
826
|
+
aria-hidden="true"
|
|
827
|
+
focusable="false"
|
|
828
|
+
>
|
|
829
|
+
<use xlinkHref="#chevron-down" />
|
|
830
|
+
</svg>
|
|
831
|
+
</button>
|
|
832
|
+
);
|
|
833
|
+
<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>
|
|
834
|
+
<span class="cstat-no" title="statement not covered" > return (</span>
|
|
835
|
+
<li key={name} className="legend-axis">
|
|
836
|
+
<button onClick={<span class="fstat-no" title="function not covered" >()</span> => <span class="cstat-no" title="statement not covered" >redirectToCategory(link, name)}</span>>
|
|
837
|
+
<span className={`legend-axis-color ${name}`} />
|
|
838
|
+
&nbsp;
|
|
839
|
+
<span className="legend-axis-title">{titleMapping[name]}</span>
|
|
840
|
+
&nbsp;
|
|
841
|
+
<span className="legend-axis-value">{`${value}/${maxContribution}`}</span>
|
|
842
|
+
</button>
|
|
843
|
+
</li>
|
|
844
|
+
);
|
|
845
|
+
});
|
|
846
|
+
} else {
|
|
847
|
+
legendToggler = (
|
|
848
|
+
<button type="button" aria-pressed="false">
|
|
849
|
+
Show Legend
|
|
850
|
+
<svg className="right-icon" aria-hidden="true" focusable="false">
|
|
851
|
+
<use xlinkHref="#chevron-down" />
|
|
852
|
+
</svg>
|
|
853
|
+
</button>
|
|
854
|
+
);
|
|
855
|
+
}
|
|
929
856
|
|
|
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
|
-
}
|
|
857
|
+
return (
|
|
858
|
+
<div className="chart">
|
|
859
|
+
<svg className="score-chart" focusable="false" />
|
|
860
|
+
<div className="chart-tooltip off" />
|
|
861
|
+
<div className="chart-legend-toggler" onClick={toggleLegend}>
|
|
862
|
+
{legendToggler}
|
|
863
|
+
</div>
|
|
864
|
+
<ul className="chart-legend">{legend}</ul>
|
|
865
|
+
</div>
|
|
866
|
+
);
|
|
867
|
+
};
|
|
999
868
|
|
|
1000
869
|
ScoreChart.propTypes = {
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
870
|
+
chartData: PropTypes.object,
|
|
871
|
+
linkCallback: PropTypes.func,
|
|
872
|
+
performanceYear: PropTypes.number,
|
|
1004
873
|
};
|
|
874
|
+
|
|
875
|
+
export default ScoreChart;
|
|
1005
876
|
</pre></td></tr></table></pre>
|
|
1006
877
|
|
|
1007
878
|
<div class='push'></div><!-- for sticky footer -->
|
|
1008
879
|
</div><!-- /wrapper -->
|
|
1009
880
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1010
881
|
Code coverage generated by
|
|
1011
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1012
|
-
at Mon
|
|
882
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
883
|
+
at Mon Mar 06 2023 14:49:52 GMT-0800 (Pacific Standard Time)
|
|
1013
884
|
</div>
|
|
1014
|
-
</div>
|
|
1015
885
|
<script src="../../../../prettify.js"></script>
|
|
1016
886
|
<script>
|
|
1017
887
|
window.onload = function () {
|