qpp-style 9.14.0 → 9.15.0
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/components/DropdownButton/DropdownButton.stories.js +137 -0
- package/components/DropdownButton/index.js +148 -0
- package/components/Footer/FooterUI.jsx +40 -59
- package/components/Search/index.js +44 -31
- package/dist/browser.js +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/react/index.js +1 -1
- 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/svg/file-download.svg +1 -0
- package/images/us_flag_small.png +0 -0
- package/package.json +3 -6
- package/styles/components/_header.scss +8 -5
- package/styles/qppds/base/_fonts.scss +24 -0
- package/styles/qppds/components/_button.scss +11 -2
- package/styles/qppds/components/_circular-loader.scss +47 -0
- package/styles/qppds/components/_dropdown-menu.scss +119 -0
- package/styles/qppds/components/_gov-banner.scss +351 -0
- package/styles/qppds/components/index.scss +3 -0
- package/styles/qppds/settings/variables/_type.scss +3 -0
- package/test-setup.js +0 -4
- package/coverage/clover.xml +0 -1264
- package/coverage/coverage-final.json +0 -69
- package/coverage/lcov-report/Header/HeaderUI.jsx.html +0 -1418
- package/coverage/lcov-report/Header/index.html +0 -111
- package/coverage/lcov-report/HeaderUI.jsx.html +0 -578
- package/coverage/lcov-report/SideNav/UI/index.html +0 -111
- package/coverage/lcov-report/SideNav/UI/index.js.html +0 -89
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/components/Accordion/index.html +0 -111
- package/coverage/lcov-report/components/Accordion/index.jsx.html +0 -359
- package/coverage/lcov-report/components/Error/Collapsible.jsx.html +0 -344
- package/coverage/lcov-report/components/Error/ErrorUI.jsx.html +0 -173
- package/coverage/lcov-report/components/Error/index.html +0 -126
- package/coverage/lcov-report/components/Footer/FooterUI.jsx.html +0 -845
- package/coverage/lcov-report/components/Footer/LegacyFooterUI.jsx.html +0 -662
- package/coverage/lcov-report/components/Footer/SocialLinks.jsx.html +0 -260
- package/coverage/lcov-report/components/Footer/Subscribe.jsx.html +0 -182
- package/coverage/lcov-report/components/Footer/index.html +0 -156
- package/coverage/lcov-report/components/InfoModal/index.html +0 -111
- package/coverage/lcov-report/components/InfoModal/index.jsx.html +0 -392
- package/coverage/lcov-report/components/Infotip/Infotip.jsx.html +0 -305
- package/coverage/lcov-report/components/Infotip/InfotipIcon.jsx.html +0 -203
- package/coverage/lcov-report/components/Infotip/index.html +0 -141
- package/coverage/lcov-report/components/Infotip/index.js.html +0 -89
- package/coverage/lcov-report/components/SanitizedContent/index.html +0 -111
- package/coverage/lcov-report/components/SanitizedContent/index.jsx.html +0 -680
- package/coverage/lcov-report/components/SessionDialogUI.jsx.html +0 -863
- package/coverage/lcov-report/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +0 -161
- package/coverage/lcov-report/components/SideNav/AnimationGroup/index.html +0 -111
- package/coverage/lcov-report/components/SideNav/Chart/ScoreChart.jsx.html +0 -884
- package/coverage/lcov-report/components/SideNav/Chart/index.html +0 -126
- package/coverage/lcov-report/components/SideNav/Chart/index.js.html +0 -89
- package/coverage/lcov-report/components/SideNav/Content/LevelOneContent.jsx.html +0 -677
- package/coverage/lcov-report/components/SideNav/Content/LevelTwoContent.jsx.html +0 -728
- 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/IndividualDetails.jsx.html +0 -134
- package/coverage/lcov-report/components/SideNav/Details/PracticeDetails.jsx.html +0 -215
- package/coverage/lcov-report/components/SideNav/Details/index.html +0 -141
- package/coverage/lcov-report/components/SideNav/Details/index.js.html +0 -92
- package/coverage/lcov-report/components/SideNav/Links/CmsSwitchLink.jsx.html +0 -203
- package/coverage/lcov-report/components/SideNav/Links/NavItemInline.jsx.html +0 -242
- package/coverage/lcov-report/components/SideNav/Links/NavLinkContainer.jsx.html +0 -194
- package/coverage/lcov-report/components/SideNav/Links/NavLinkDrawer.jsx.html +0 -827
- package/coverage/lcov-report/components/SideNav/Links/NavLinkInline.jsx.html +0 -401
- package/coverage/lcov-report/components/SideNav/Links/NavLinkToggle.jsx.html +0 -182
- package/coverage/lcov-report/components/SideNav/Links/index.html +0 -201
- package/coverage/lcov-report/components/SideNav/Links/index.js.html +0 -119
- package/coverage/lcov-report/components/SideNav/UI/SideNavUI.jsx.html +0 -1079
- 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/components/SideNav/helpers.js.html +0 -227
- package/coverage/lcov-report/components/SideNav/index.html +0 -111
- package/coverage/lcov-report/components/Tooltip/Tooltip.jsx.html +0 -344
- package/coverage/lcov-report/components/Tooltip/index.html +0 -141
- package/coverage/lcov-report/components/Tooltip/index.js.html +0 -89
- package/coverage/lcov-report/components/Tooltip/position.js.html +0 -284
- package/coverage/lcov-report/components/hooks/index.html +0 -111
- package/coverage/lcov-report/components/hooks/useGetConfig.js.html +0 -302
- package/coverage/lcov-report/components/index.html +0 -111
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -447
- package/coverage/lcov-report/lib/Chevron.jsx.html +0 -161
- package/coverage/lcov-report/lib/SvgComponents.jsx.html +0 -1697
- package/coverage/lcov-report/lib/index.html +0 -126
- package/coverage/lcov-report/lib/svg-definitions.svg.html +0 -455
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/react/components/Accordion/index.html +0 -117
- package/coverage/lcov-report/react/components/Accordion/index.jsx.html +0 -365
- package/coverage/lcov-report/react/components/Button/index.html +0 -117
- package/coverage/lcov-report/react/components/Button/index.js.html +0 -356
- package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +0 -350
- package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +0 -179
- package/coverage/lcov-report/react/components/Error/error.js.html +0 -164
- package/coverage/lcov-report/react/components/Error/index.html +0 -147
- package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +0 -893
- package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +0 -668
- package/coverage/lcov-report/react/components/Footer/SocialLinks.jsx.html +0 -266
- package/coverage/lcov-report/react/components/Footer/Subscribe.jsx.html +0 -188
- package/coverage/lcov-report/react/components/Footer/footer.js.html +0 -176
- package/coverage/lcov-report/react/components/Footer/index.html +0 -177
- package/coverage/lcov-report/react/components/Header/HeaderAccountMenu.jsx.html +0 -593
- package/coverage/lcov-report/react/components/Header/HeaderCancel.jsx.html +0 -134
- package/coverage/lcov-report/react/components/Header/HeaderContainer.jsx.html +0 -275
- package/coverage/lcov-report/react/components/Header/HeaderLogo.jsx.html +0 -212
- package/coverage/lcov-report/react/components/Header/HeaderMenuButton.js.html +0 -236
- package/coverage/lcov-report/react/components/Header/HeaderMenuItem.jsx.html +0 -755
- package/coverage/lcov-report/react/components/Header/HeaderMenuLink.js.html +0 -236
- package/coverage/lcov-report/react/components/Header/HeaderMenuSignOutButton.js.html +0 -272
- package/coverage/lcov-report/react/components/Header/HeaderMobileButton.js.html +0 -197
- package/coverage/lcov-report/react/components/Header/HeaderUI.jsx.html +0 -584
- package/coverage/lcov-report/react/components/Header/HelpIcon.jsx.html +0 -182
- package/coverage/lcov-report/react/components/Header/ImpersonatorBanner.jsx.html +0 -251
- package/coverage/lcov-report/react/components/Header/NavigationButtonIcon.jsx.html +0 -167
- package/coverage/lcov-report/react/components/Header/header.js.html +0 -206
- package/coverage/lcov-report/react/components/Header/hooks.js.html +0 -242
- package/coverage/lcov-report/react/components/Header/index.html +0 -342
- package/coverage/lcov-report/react/components/Header/utag-helpers.js.html +0 -113
- package/coverage/lcov-report/react/components/InfoModal/index.html +0 -111
- package/coverage/lcov-report/react/components/InfoModal/index.jsx.html +0 -392
- package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +0 -311
- package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +0 -209
- package/coverage/lcov-report/react/components/Infotip/index.html +0 -147
- package/coverage/lcov-report/react/components/Infotip/index.js.html +0 -95
- package/coverage/lcov-report/react/components/Modal/LegacyModal.jsx.html +0 -302
- package/coverage/lcov-report/react/components/Modal/Modal.jsx.html +0 -506
- package/coverage/lcov-report/react/components/Modal/index.html +0 -147
- package/coverage/lcov-report/react/components/Modal/index.jsx.html +0 -152
- package/coverage/lcov-report/react/components/NotificationBanner/NotificationBannerUI.jsx.html +0 -950
- package/coverage/lcov-report/react/components/NotificationBanner/index.html +0 -117
- package/coverage/lcov-report/react/components/NotificationBanner/index.js.html +0 -881
- package/coverage/lcov-report/react/components/SanitizedContent/index.html +0 -117
- package/coverage/lcov-report/react/components/SanitizedContent/index.jsx.html +0 -686
- package/coverage/lcov-report/react/components/SessionDialog/index.html +0 -117
- package/coverage/lcov-report/react/components/SessionDialog/sessionDialog.js.html +0 -164
- package/coverage/lcov-report/react/components/SessionDialogUI.jsx.html +0 -869
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/AnimationGroup.jsx.html +0 -167
- package/coverage/lcov-report/react/components/SideNav/AnimationGroup/index.html +0 -117
- package/coverage/lcov-report/react/components/SideNav/Chart/ScoreChart.jsx.html +0 -890
- package/coverage/lcov-report/react/components/SideNav/Chart/index.html +0 -132
- package/coverage/lcov-report/react/components/SideNav/Chart/index.js.html +0 -95
- package/coverage/lcov-report/react/components/SideNav/Content/LevelOneContent.jsx.html +0 -614
- package/coverage/lcov-report/react/components/SideNav/Content/LevelTwoContent.jsx.html +0 -734
- package/coverage/lcov-report/react/components/SideNav/Content/index.html +0 -147
- package/coverage/lcov-report/react/components/SideNav/Content/index.js.html +0 -98
- package/coverage/lcov-report/react/components/SideNav/Details/IndividualDetails.jsx.html +0 -140
- package/coverage/lcov-report/react/components/SideNav/Details/PracticeDetails.jsx.html +0 -221
- package/coverage/lcov-report/react/components/SideNav/Details/index.html +0 -147
- package/coverage/lcov-report/react/components/SideNav/Details/index.js.html +0 -98
- package/coverage/lcov-report/react/components/SideNav/Links/CmsSwitchLink.jsx.html +0 -209
- package/coverage/lcov-report/react/components/SideNav/Links/NavItemInline.jsx.html +0 -248
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkContainer.jsx.html +0 -200
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkDrawer.jsx.html +0 -833
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkInline.jsx.html +0 -407
- package/coverage/lcov-report/react/components/SideNav/Links/NavLinkToggle.jsx.html +0 -188
- package/coverage/lcov-report/react/components/SideNav/Links/index.html +0 -207
- package/coverage/lcov-report/react/components/SideNav/Links/index.js.html +0 -125
- package/coverage/lcov-report/react/components/SideNav/UI/SideNavUI.jsx.html +0 -1079
- package/coverage/lcov-report/react/components/SideNav/UI/index.html +0 -132
- package/coverage/lcov-report/react/components/SideNav/UI/index.js.html +0 -95
- package/coverage/lcov-report/react/components/SideNav/helpers.js.html +0 -233
- package/coverage/lcov-report/react/components/SideNav/index.html +0 -132
- package/coverage/lcov-report/react/components/SideNav/index.js.html +0 -245
- package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +0 -350
- package/coverage/lcov-report/react/components/Tooltip/index.html +0 -147
- package/coverage/lcov-report/react/components/Tooltip/index.js.html +0 -95
- package/coverage/lcov-report/react/components/Tooltip/position.js.html +0 -290
- package/coverage/lcov-report/react/components/hooks/index.html +0 -117
- package/coverage/lcov-report/react/components/hooks/useGetConfig.js.html +0 -308
- package/coverage/lcov-report/react/components/index.html +0 -117
- package/coverage/lcov-report/react/index.html +0 -117
- package/coverage/lcov-report/react/index.js.html +0 -179
- package/coverage/lcov-report/react/lib/Chevron.jsx.html +0 -182
- package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +0 -1703
- package/coverage/lcov-report/react/lib/index.html +0 -147
- package/coverage/lcov-report/react/lib/svg-definitions.svg.html +0 -461
- package/coverage/lcov-report/react/session/index.html +0 -162
- package/coverage/lcov-report/react/session/index.js.html +0 -101
- package/coverage/lcov-report/react/session/logout.js.html +0 -236
- package/coverage/lcov-report/react/session/refresh.js.html +0 -233
- package/coverage/lcov-report/react/session/ttl.js.html +0 -197
- package/coverage/lcov-report/session/index.html +0 -126
- package/coverage/lcov-report/session/index.js.html +0 -95
- package/coverage/lcov-report/session/logout.js.html +0 -203
- package/coverage/lcov-report/session/refresh.js.html +0 -227
- package/coverage/lcov-report/session/ttl.js.html +0 -191
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -2844
- package/storybook-static/0.284246fa7dd756530022.manager.bundle.js +0 -1
- package/storybook-static/0.e444ffe0.iframe.bundle.js +0 -1
- package/storybook-static/4.38e07a72.iframe.bundle.js +0 -3
- package/storybook-static/4.38e07a72.iframe.bundle.js.LICENSE.txt +0 -8
- package/storybook-static/4.38e07a72.iframe.bundle.js.map +0 -1
- package/storybook-static/4.5a2288a7314de45771fd.manager.bundle.js +0 -2
- package/storybook-static/4.5a2288a7314de45771fd.manager.bundle.js.LICENSE.txt +0 -8
- package/storybook-static/5.96d29e90.iframe.bundle.js +0 -1
- package/storybook-static/5.f669e5db79f970f4eeda.manager.bundle.js +0 -2
- package/storybook-static/5.f669e5db79f970f4eeda.manager.bundle.js.LICENSE.txt +0 -12
- package/storybook-static/6.fbe12c4b.iframe.bundle.js +0 -3
- package/storybook-static/6.fbe12c4b.iframe.bundle.js.LICENSE.txt +0 -12
- package/storybook-static/6.fbe12c4b.iframe.bundle.js.map +0 -1
- package/storybook-static/6.fc183cb0948fa18c4851.manager.bundle.js +0 -1
- package/storybook-static/7.6262147d7bfe4804e70d.manager.bundle.js +0 -1
- package/storybook-static/7.9e6103c8.iframe.bundle.js +0 -1
- package/storybook-static/8.88a822e73e773dbd9da6.manager.bundle.js +0 -1
- package/storybook-static/favicon.ico +0 -0
- package/storybook-static/fonts/FontAwesome.otf +0 -0
- package/storybook-static/fonts/OFL.txt +0 -92
- package/storybook-static/fonts/Rubik-Black.ttf +0 -0
- package/storybook-static/fonts/Rubik-BlackItalic.ttf +0 -0
- package/storybook-static/fonts/Rubik-Bold.ttf +0 -0
- package/storybook-static/fonts/Rubik-BoldItalic.ttf +0 -0
- package/storybook-static/fonts/Rubik-Italic.ttf +0 -0
- package/storybook-static/fonts/Rubik-Light.ttf +0 -0
- package/storybook-static/fonts/Rubik-LightItalic.ttf +0 -0
- package/storybook-static/fonts/Rubik-Medium.ttf +0 -0
- package/storybook-static/fonts/Rubik-MediumItalic.ttf +0 -0
- package/storybook-static/fonts/Rubik-Regular.ttf +0 -0
- package/storybook-static/fonts/fontawesome-webfont.eot +0 -0
- package/storybook-static/fonts/fontawesome-webfont.svg +0 -2671
- package/storybook-static/fonts/fontawesome-webfont.ttf +0 -0
- package/storybook-static/fonts/fontawesome-webfont.woff +0 -0
- package/storybook-static/fonts/fontawesome-webfont.woff2 +0 -0
- package/storybook-static/iframe.html +0 -138
- package/storybook-static/images/favicon/android-chrome-192x192.png +0 -0
- package/storybook-static/images/favicon/android-chrome-256x256.png +0 -0
- package/storybook-static/images/favicon/apple-touch-icon.png +0 -0
- package/storybook-static/images/favicon/browserconfig.xml +0 -9
- package/storybook-static/images/favicon/favicon-16x16.png +0 -0
- package/storybook-static/images/favicon/favicon-32x32.png +0 -0
- package/storybook-static/images/favicon/favicon.ico +0 -0
- package/storybook-static/images/favicon/manifest.json +0 -18
- package/storybook-static/images/favicon/mstile-150x150.png +0 -0
- package/storybook-static/images/favicon/safari-pinned-tab.svg +0 -32
- package/storybook-static/images/hhs-logo-black.svg +0 -10
- package/storybook-static/images/hhs-logo-white.svg +0 -10
- package/storybook-static/images/icons/close-x.svg +0 -6
- package/storybook-static/images/icons/help-headset.svg +0 -21
- package/storybook-static/images/icons/svg/arrow-down.svg +0 -3
- package/storybook-static/images/icons/svg/arrow-download.svg +0 -5
- package/storybook-static/images/icons/svg/arrow-right.svg +0 -5
- package/storybook-static/images/icons/svg/close.svg +0 -3
- package/storybook-static/images/icons/svg/download.svg +0 -1
- package/storybook-static/images/icons/svg/external.svg +0 -4
- package/storybook-static/images/icons/svg/file-upload.svg +0 -1
- package/storybook-static/images/icons/svg/print.svg +0 -4
- package/storybook-static/images/icons/svg/trash.svg +0 -5
- package/storybook-static/images/icons/svg/upload.svg +0 -3
- package/storybook-static/images/qpp_logo_reversed.png +0 -0
- package/storybook-static/images/qpp_logo_rgb_color.png +0 -0
- package/storybook-static/index.html +0 -55
- package/storybook-static/main.18ac9bfd601c66f4bee6.manager.bundle.js +0 -1
- package/storybook-static/main.9d42b744.iframe.bundle.js +0 -1
- package/storybook-static/runtime~main.d17fbed7a9ad1d2c431e.manager.bundle.js +0 -1
- package/storybook-static/runtime~main.ed6e2009.iframe.bundle.js +0 -1
- package/storybook-static/static/media/Bitter-Bold.091bd4b7.woff +0 -0
- package/storybook-static/static/media/Bitter-Bold.24bf01e4.woff2 +0 -0
- package/storybook-static/static/media/Bitter-Bold.46bc29e4.ttf +0 -0
- package/storybook-static/static/media/Bitter-Bold.790f4f2f.eot +0 -0
- package/storybook-static/static/media/Bitter-Italic.1fa5390c.eot +0 -0
- package/storybook-static/static/media/Bitter-Italic.25e5675f.woff +0 -0
- package/storybook-static/static/media/Bitter-Italic.2eb18f5a.ttf +0 -0
- package/storybook-static/static/media/Bitter-Italic.34644574.woff2 +0 -0
- package/storybook-static/static/media/Bitter-Regular.4b22b6e8.woff +0 -0
- package/storybook-static/static/media/Bitter-Regular.559e7075.eot +0 -0
- package/storybook-static/static/media/Bitter-Regular.8db0301b.ttf +0 -0
- package/storybook-static/static/media/Bitter-Regular.f4e2f1f1.woff2 +0 -0
- package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
- package/storybook-static/static/media/OpenSans-Bold-webfont.202d819d.eot +0 -0
- package/storybook-static/static/media/OpenSans-Bold-webfont.92e570c6.woff2 +0 -0
- package/storybook-static/static/media/OpenSans-Bold-webfont.da71e99a.ttf +0 -0
- package/storybook-static/static/media/OpenSans-Bold-webfont.e75949bb.woff +0 -0
- package/storybook-static/static/media/OpenSans-Italic-webfont.72daa33a.woff2 +0 -0
- package/storybook-static/static/media/OpenSans-Italic-webfont.74ead3a8.woff +0 -0
- package/storybook-static/static/media/OpenSans-Italic-webfont.ae19388f.eot +0 -0
- package/storybook-static/static/media/OpenSans-Italic-webfont.ec7a2746.ttf +0 -0
- package/storybook-static/static/media/OpenSans-Regular-webfont.63a5fa7d.woff +0 -0
- package/storybook-static/static/media/OpenSans-Regular-webfont.66451be4.ttf +0 -0
- package/storybook-static/static/media/OpenSans-Regular-webfont.7882d20f.eot +0 -0
- package/storybook-static/static/media/OpenSans-Regular-webfont.ca4dd835.woff2 +0 -0
- package/storybook-static/static/media/OpenSans-Semibold-webfont.17ded75f.woff2 +0 -0
- package/storybook-static/static/media/OpenSans-Semibold-webfont.2a5adf6c.woff +0 -0
- package/storybook-static/static/media/OpenSans-Semibold-webfont.6059fecb.ttf +0 -0
- package/storybook-static/static/media/OpenSans-Semibold-webfont.c9808185.eot +0 -0
- package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
- package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
- package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
- package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
- package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
- package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
- package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
- package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
- package/storybook-static/vendors~main.3604044d8484c1c4d1f7.manager.bundle.js +0 -2
- package/storybook-static/vendors~main.3604044d8484c1c4d1f7.manager.bundle.js.LICENSE.txt +0 -88
- package/storybook-static/vendors~main.7f923d15.iframe.bundle.js +0 -3
- package/storybook-static/vendors~main.7f923d15.iframe.bundle.js.LICENSE.txt +0 -152
- package/storybook-static/vendors~main.7f923d15.iframe.bundle.js.map +0 -1
- package/styles/qppds/utilities/_display-visability.scss +0 -83
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import SvgIcon from '@material-ui/core/SvgIcon';
|
|
3
|
+
import DropdownButton from './index';
|
|
4
|
+
import { withKnobs, boolean } from '@storybook/addon-knobs';
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: 'DropdownButton',
|
|
8
|
+
component: DropdownButton,
|
|
9
|
+
decorators: [withKnobs],
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
// mat-ui v4 doesn't include this "FileDownload" icon, but mat-ui v5 does
|
|
13
|
+
// whenever we update to v5, we could replace this svg with the one from npm
|
|
14
|
+
const DownloadIcon = (...props) => (
|
|
15
|
+
<SvgIcon {...props}>
|
|
16
|
+
<path d="M18,15v3H6v-3H4v3c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-3H18z M17,11l-1.41-1.41L13,12.17V4h-2v8.17L8.41,9.59L7,11l5,5 L17,11z" />
|
|
17
|
+
</SvgIcon>
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
export const BasicExample = () => (
|
|
21
|
+
<div className="qpp-u-padding--48">
|
|
22
|
+
<DropdownButton
|
|
23
|
+
menuId="example-menu-1"
|
|
24
|
+
ariaLabel="aria label example"
|
|
25
|
+
buttonLabel="Test"
|
|
26
|
+
options={[
|
|
27
|
+
{
|
|
28
|
+
value: 'option 1',
|
|
29
|
+
},
|
|
30
|
+
{ value: 'option 2', name: 'Name of Option 2' },
|
|
31
|
+
]}
|
|
32
|
+
loading={boolean('loading', false)}
|
|
33
|
+
/>
|
|
34
|
+
</div>
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
/*
|
|
38
|
+
Dropdown menu headers were removed from designs for now. We may revisit this
|
|
39
|
+
in the future so we're leaving this here until we decide on design.
|
|
40
|
+
*/
|
|
41
|
+
// export const WithHeader = () => (
|
|
42
|
+
// <div className="qpp-u-padding--48">
|
|
43
|
+
// <DropdownButton
|
|
44
|
+
// menuId="example-menu-2"
|
|
45
|
+
// ariaLabel="aria label example"
|
|
46
|
+
// buttonLabel="Test"
|
|
47
|
+
// options={[
|
|
48
|
+
// {
|
|
49
|
+
// value: 'option 1',
|
|
50
|
+
// },
|
|
51
|
+
// { value: 'option 2', name: 'Name of Option 2' },
|
|
52
|
+
// ]}
|
|
53
|
+
// header="Header"
|
|
54
|
+
// />
|
|
55
|
+
// </div>
|
|
56
|
+
// );
|
|
57
|
+
|
|
58
|
+
export const Loading = () => (
|
|
59
|
+
<div className="qpp-u-padding--48">
|
|
60
|
+
<DropdownButton
|
|
61
|
+
menuId="example-menu-3"
|
|
62
|
+
ariaLabel="aria label example"
|
|
63
|
+
buttonLabel="Test"
|
|
64
|
+
options={[
|
|
65
|
+
{
|
|
66
|
+
value: 'option 1',
|
|
67
|
+
},
|
|
68
|
+
{ value: 'option 2', name: 'Name of Option 2' },
|
|
69
|
+
]}
|
|
70
|
+
loading
|
|
71
|
+
/>
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
export const MaxHeight = () => (
|
|
76
|
+
<div className="qpp-u-padding--48">
|
|
77
|
+
<DropdownButton
|
|
78
|
+
menuId="example-menu-3"
|
|
79
|
+
ariaLabel="aria label example"
|
|
80
|
+
buttonLabel="Test"
|
|
81
|
+
options={[
|
|
82
|
+
{ value: 'option 1' },
|
|
83
|
+
{ value: 'option 2' },
|
|
84
|
+
{ value: 'option 3' },
|
|
85
|
+
{ value: 'option 4' },
|
|
86
|
+
{ value: 'option 5' },
|
|
87
|
+
{ value: 'option 6' },
|
|
88
|
+
{ value: 'option 7' },
|
|
89
|
+
{ value: 'option 8' },
|
|
90
|
+
{ value: 'option 9' },
|
|
91
|
+
]}
|
|
92
|
+
loading={boolean('loading', false)}
|
|
93
|
+
/>
|
|
94
|
+
</div>
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
export const MaxWidth = () => (
|
|
98
|
+
<div className="qpp-u-padding--48">
|
|
99
|
+
<DropdownButton
|
|
100
|
+
menuId="example-menu-1"
|
|
101
|
+
ariaLabel="aria label example"
|
|
102
|
+
buttonLabel="Test"
|
|
103
|
+
options={[
|
|
104
|
+
{ value: 'option 1' },
|
|
105
|
+
{
|
|
106
|
+
value: 'option 2',
|
|
107
|
+
name: 'very long item text 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24',
|
|
108
|
+
},
|
|
109
|
+
]}
|
|
110
|
+
loading={boolean('loading', false)}
|
|
111
|
+
/>
|
|
112
|
+
</div>
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
export const ItemsWithIcons = () => (
|
|
116
|
+
<div className="qpp-u-padding--48">
|
|
117
|
+
<DropdownButton
|
|
118
|
+
menuId="example-menu-1"
|
|
119
|
+
ariaLabel="aria label example"
|
|
120
|
+
buttonLabel="Test"
|
|
121
|
+
options={[
|
|
122
|
+
{
|
|
123
|
+
value: 'option 1',
|
|
124
|
+
Icon: DownloadIcon,
|
|
125
|
+
'aria-roledescription': 'Download file',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
value: 'option 2',
|
|
129
|
+
name: 'very long item text 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24',
|
|
130
|
+
Icon: DownloadIcon,
|
|
131
|
+
'aria-roledescription': 'Download file',
|
|
132
|
+
},
|
|
133
|
+
]}
|
|
134
|
+
loading={boolean('loading', false)}
|
|
135
|
+
/>
|
|
136
|
+
</div>
|
|
137
|
+
);
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import MuiMenu from '@material-ui/core/Menu';
|
|
4
|
+
import MuiMenuItem from '@material-ui/core/MenuItem';
|
|
5
|
+
import MuiProgressCircle from '@material-ui/core/CircularProgress';
|
|
6
|
+
import ExpandMore from '@material-ui/icons/ExpandMore';
|
|
7
|
+
import ExpandLess from '@material-ui/icons/ExpandLess';
|
|
8
|
+
import Button, { TextButton } from '../Button';
|
|
9
|
+
|
|
10
|
+
const ITEM_HEIGHT = 48;
|
|
11
|
+
|
|
12
|
+
const DropdownButton = ({
|
|
13
|
+
text = false,
|
|
14
|
+
loading = false,
|
|
15
|
+
options = [],
|
|
16
|
+
menuId,
|
|
17
|
+
buttonLabel,
|
|
18
|
+
header,
|
|
19
|
+
children,
|
|
20
|
+
...buttonProps
|
|
21
|
+
}) => {
|
|
22
|
+
const Btn = text ? TextButton : Button;
|
|
23
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
24
|
+
const open = Boolean(anchorEl);
|
|
25
|
+
const handleClick = (event) => {
|
|
26
|
+
setAnchorEl(event.currentTarget);
|
|
27
|
+
};
|
|
28
|
+
const handleClose = () => {
|
|
29
|
+
setAnchorEl(null);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<>
|
|
34
|
+
<Btn
|
|
35
|
+
aria-haspopup="true"
|
|
36
|
+
aria-controls={menuId}
|
|
37
|
+
onClick={handleClick}
|
|
38
|
+
{...buttonProps}
|
|
39
|
+
>
|
|
40
|
+
{buttonLabel}{' '}
|
|
41
|
+
{!anchorEl && (
|
|
42
|
+
<ExpandMore classes={{ root: 'qpp-icon-mat qpp-icon-inline--lg' }} />
|
|
43
|
+
)}
|
|
44
|
+
{anchorEl && (
|
|
45
|
+
<ExpandLess classes={{ root: 'qpp-icon-mat qpp-icon-inline--lg' }} />
|
|
46
|
+
)}
|
|
47
|
+
</Btn>
|
|
48
|
+
<MuiMenu
|
|
49
|
+
id={menuId}
|
|
50
|
+
keepMounted
|
|
51
|
+
open={open}
|
|
52
|
+
anchorEl={anchorEl}
|
|
53
|
+
onClose={handleClose}
|
|
54
|
+
getContentAnchorEl={null}
|
|
55
|
+
anchorOrigin={{
|
|
56
|
+
vertical: 'bottom',
|
|
57
|
+
}}
|
|
58
|
+
className="qpp-c-dropdown-menu"
|
|
59
|
+
classes={{
|
|
60
|
+
paper: 'qpp-c-dropdown-menu__box',
|
|
61
|
+
list: 'qpp-c-dropdown-menu__list',
|
|
62
|
+
}}
|
|
63
|
+
MenuListProps={{
|
|
64
|
+
['aria-labelledby']: header ? `${menuId}-header` : null,
|
|
65
|
+
}}
|
|
66
|
+
PaperProps={{
|
|
67
|
+
style: {
|
|
68
|
+
maxHeight: ITEM_HEIGHT * 5.5,
|
|
69
|
+
maxWidth: '400px',
|
|
70
|
+
},
|
|
71
|
+
}}
|
|
72
|
+
>
|
|
73
|
+
{header && (
|
|
74
|
+
<MuiMenuItem
|
|
75
|
+
id={`${menuId}-header`}
|
|
76
|
+
onClick={(e) => {
|
|
77
|
+
e.preventDefault();
|
|
78
|
+
e.stopPropagation();
|
|
79
|
+
}}
|
|
80
|
+
classes={{
|
|
81
|
+
root: 'qpp-c-dropdown-menu__item qpp-c-dropdown-menu__item--header',
|
|
82
|
+
}}
|
|
83
|
+
disabled
|
|
84
|
+
aria-hidden
|
|
85
|
+
role="presentation"
|
|
86
|
+
disableRipple
|
|
87
|
+
>
|
|
88
|
+
{header}
|
|
89
|
+
</MuiMenuItem>
|
|
90
|
+
)}
|
|
91
|
+
{loading && (
|
|
92
|
+
<MuiMenuItem
|
|
93
|
+
onClick={(e) => {
|
|
94
|
+
e.preventDefault();
|
|
95
|
+
e.stopPropagation();
|
|
96
|
+
}}
|
|
97
|
+
classes={{
|
|
98
|
+
root: 'qpp-c-dropdown-menu__item qpp-c-dropdown-menu__item--loading',
|
|
99
|
+
}}
|
|
100
|
+
disableRipple
|
|
101
|
+
disabled
|
|
102
|
+
>
|
|
103
|
+
<MuiProgressCircle
|
|
104
|
+
size="1em"
|
|
105
|
+
color="inherit"
|
|
106
|
+
classes={{ root: 'qpp-c-dropdown-menu__spinner' }}
|
|
107
|
+
/>{' '}
|
|
108
|
+
<span role="status">Loading...</span>
|
|
109
|
+
</MuiMenuItem>
|
|
110
|
+
)}
|
|
111
|
+
{!loading &&
|
|
112
|
+
options.map(({ disabled, name, value, Icon, ...itemProps }) => (
|
|
113
|
+
<MuiMenuItem
|
|
114
|
+
disabled={disabled}
|
|
115
|
+
key={value}
|
|
116
|
+
value={value}
|
|
117
|
+
onClick={handleClose}
|
|
118
|
+
classes={{ root: 'qpp-c-dropdown-menu__item' }}
|
|
119
|
+
disableRipple
|
|
120
|
+
{...itemProps}
|
|
121
|
+
>
|
|
122
|
+
{Icon && (
|
|
123
|
+
<div className="qpp-c-dropdown-menu__icon">
|
|
124
|
+
<Icon classes={{ root: 'qpp-icon-mat' }} />
|
|
125
|
+
</div>
|
|
126
|
+
)}
|
|
127
|
+
<span>{name || value}</span>
|
|
128
|
+
</MuiMenuItem>
|
|
129
|
+
))}
|
|
130
|
+
</MuiMenu>
|
|
131
|
+
</>
|
|
132
|
+
);
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
DropdownButton.propTypes = {
|
|
136
|
+
menuId: PropTypes.string.isRequired,
|
|
137
|
+
text: PropTypes.bool,
|
|
138
|
+
buttonLabel: PropTypes.string,
|
|
139
|
+
loading: PropTypes.bool,
|
|
140
|
+
options: PropTypes.arrayOf(PropTypes.object),
|
|
141
|
+
header: PropTypes.string,
|
|
142
|
+
children: PropTypes.oneOfType([
|
|
143
|
+
PropTypes.node,
|
|
144
|
+
PropTypes.arrayOf(PropTypes.node),
|
|
145
|
+
]),
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
export default DropdownButton;
|
|
@@ -1,63 +1,40 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import axios from 'axios';
|
|
4
3
|
import OpenInNewIcon from '@material-ui/icons/OpenInNew';
|
|
5
4
|
|
|
6
5
|
import InfoTip from '../Infotip/Infotip';
|
|
7
6
|
import LegacyFooterUI from './LegacyFooterUI';
|
|
8
7
|
import Subscribe from './Subscribe';
|
|
9
8
|
import SocialLinks from './SocialLinks';
|
|
9
|
+
import useGetConfig from '../hooks/useGetConfig';
|
|
10
10
|
|
|
11
11
|
const infoTipLabel =
|
|
12
12
|
'When dialing 711, you will automatically be connected to a TRS Communications Assistant who will relay your conversation to the help desk agent with strict confidentiality.';
|
|
13
13
|
|
|
14
|
-
const FooterUI = (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
const FooterUI = ({
|
|
15
|
+
isNewFooter,
|
|
16
|
+
isIESupportPage,
|
|
17
|
+
showHcdResearch,
|
|
18
|
+
buildVersion,
|
|
19
|
+
isFullWidth,
|
|
20
|
+
}) => {
|
|
21
|
+
const signUpNowLink = showHcdResearch
|
|
18
22
|
? '/about/hcd-research'
|
|
19
23
|
: 'mailto:QPPUserResearch@cms.hhs.gov?subject=Sign up for feedback sessions&body=Please let us know your role and how many Tax Identification Numbers (TINs) you represent. Don’t send us your actual TINs, that is confidential information that should not be shared with this email address. If you do not represent a practice, let us know what work you do in connection to QPP.';
|
|
20
|
-
|
|
24
|
+
|
|
25
|
+
const result = useGetConfig({
|
|
26
|
+
timeout: 5,
|
|
27
|
+
url: '/config/footer',
|
|
28
|
+
localStorageName: 'qpp_footer',
|
|
29
|
+
});
|
|
30
|
+
const content = (result?.content || [
|
|
31
|
+
{ listServ: false, showCcsqLink: false },
|
|
32
|
+
])[0];
|
|
21
33
|
|
|
22
34
|
const setLink = (link) => {
|
|
23
35
|
return isIESupportPage ? '/' : link;
|
|
24
36
|
};
|
|
25
37
|
|
|
26
|
-
// The footer content is populated with the following priority order:
|
|
27
|
-
// 1. Use the footer content in localStorage if it's there
|
|
28
|
-
// 2. If not, make a call to get it from the QPPFE endpoint. Hydrate the localStorage item with the response.
|
|
29
|
-
// 3. If the call fails, use the default value
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
const storageContent = JSON.parse(
|
|
32
|
-
localStorage.getItem('qpp_footer_listServ')
|
|
33
|
-
);
|
|
34
|
-
if (
|
|
35
|
-
storageContent?.content &&
|
|
36
|
-
new Date().valueOf() < storageContent.expiration
|
|
37
|
-
) {
|
|
38
|
-
setListServ(storageContent.listServ);
|
|
39
|
-
} else {
|
|
40
|
-
const origin = window.location.origin;
|
|
41
|
-
axios
|
|
42
|
-
.get(
|
|
43
|
-
!origin.includes('localhost')
|
|
44
|
-
? `${origin}/config/footer`
|
|
45
|
-
: 'https://qpp.cms.gov/config/footer'
|
|
46
|
-
)
|
|
47
|
-
.then(({ data: { data = {} } }) => {
|
|
48
|
-
localStorage.setItem(
|
|
49
|
-
'qpp_footer_listServ',
|
|
50
|
-
JSON.stringify({
|
|
51
|
-
listServ: data.listServ,
|
|
52
|
-
})
|
|
53
|
-
);
|
|
54
|
-
setListServ(data.listServ);
|
|
55
|
-
})
|
|
56
|
-
.catch((e) => {
|
|
57
|
-
setListServ(false);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}, []);
|
|
61
38
|
if (isNewFooter) {
|
|
62
39
|
return (
|
|
63
40
|
<>
|
|
@@ -77,7 +54,7 @@ const FooterUI = (props) => {
|
|
|
77
54
|
)}
|
|
78
55
|
<footer className="global-footer">
|
|
79
56
|
<div className="build-version" id="build-version">
|
|
80
|
-
{
|
|
57
|
+
{buildVersion}
|
|
81
58
|
</div>
|
|
82
59
|
|
|
83
60
|
<div className="responsive-container">
|
|
@@ -166,25 +143,29 @@ const FooterUI = (props) => {
|
|
|
166
143
|
</a>
|
|
167
144
|
</p>
|
|
168
145
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
146
|
+
{content?.showCcsqLink && (
|
|
147
|
+
<>
|
|
148
|
+
<p className="contact-title">QPP Service Center:</p>
|
|
149
|
+
<a
|
|
150
|
+
href="https://cmsqualitysupport.servicenowservices.com/ccsq_support_central"
|
|
151
|
+
aria-label="CCSQ Support Central"
|
|
152
|
+
className="email-link"
|
|
153
|
+
target="__blank"
|
|
154
|
+
rel="noopener noreferrer"
|
|
155
|
+
>
|
|
156
|
+
<strong>
|
|
157
|
+
Create or Track a QPP Service Center Ticket
|
|
158
|
+
</strong>
|
|
159
|
+
<OpenInNewIcon classes={{ root: 'ccsq-link-icon' }} />
|
|
160
|
+
</a>
|
|
161
|
+
</>
|
|
162
|
+
)}
|
|
182
163
|
</div>
|
|
183
164
|
<div className="footer-social-newsletter">
|
|
184
165
|
<p className="sub-title">Stay Connected</p>
|
|
185
166
|
<SocialLinks />
|
|
186
167
|
<p className="sub-title">
|
|
187
|
-
{listServ
|
|
168
|
+
{content?.listServ
|
|
188
169
|
? 'Sign Up for the QPP Listserv'
|
|
189
170
|
: 'Sign Up for the QPP Newsletter'}
|
|
190
171
|
</p>
|
|
@@ -266,8 +247,8 @@ const FooterUI = (props) => {
|
|
|
266
247
|
}
|
|
267
248
|
return (
|
|
268
249
|
<LegacyFooterUI
|
|
269
|
-
buildVersion={
|
|
270
|
-
isFullWidth={
|
|
250
|
+
buildVersion={buildVersion}
|
|
251
|
+
isFullWidth={isFullWidth}
|
|
271
252
|
signUpNowLink={signUpNowLink}
|
|
272
253
|
/>
|
|
273
254
|
);
|
|
@@ -14,43 +14,52 @@ const Search = ({
|
|
|
14
14
|
inputAriaLabel,
|
|
15
15
|
buttonAriaLabel,
|
|
16
16
|
inputWidth,
|
|
17
|
+
label,
|
|
18
|
+
parentElement,
|
|
17
19
|
}) => {
|
|
20
|
+
const ContainerElement = parentElement || 'span';
|
|
18
21
|
const inputStyle = {
|
|
19
22
|
width: inputWidth,
|
|
20
23
|
};
|
|
21
24
|
return (
|
|
22
|
-
<
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<input
|
|
28
|
-
style={inputStyle}
|
|
29
|
-
className="qpp-c-text-input"
|
|
30
|
-
type="search"
|
|
31
|
-
id={id}
|
|
32
|
-
name={name}
|
|
33
|
-
placeholder={placeholder}
|
|
34
|
-
value={inputValue}
|
|
35
|
-
disabled={disabled}
|
|
36
|
-
onChange={onChange}
|
|
37
|
-
aria-label={inputAriaLabel}
|
|
38
|
-
/>
|
|
39
|
-
|
|
40
|
-
<button
|
|
41
|
-
data-testid="search-btn"
|
|
42
|
-
aria-label={buttonAriaLabel}
|
|
43
|
-
onClick={onClick}
|
|
44
|
-
disabled={disableSearchBtn}
|
|
45
|
-
id={`${id}-submit`}
|
|
46
|
-
type="submit"
|
|
47
|
-
className="qpp-c-search__submit qpp-c-button qpp-c-button--text"
|
|
25
|
+
<ContainerElement className="qppds">
|
|
26
|
+
<form role="search" className="qpp-c-search qpp-c-search--compact">
|
|
27
|
+
<label
|
|
28
|
+
className={label ? 'qpp-u-margin-bottom--8' : 'qpp-u-visually-hidden'}
|
|
29
|
+
htmlFor={id}
|
|
48
30
|
>
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
31
|
+
{label ? label : 'Search'}
|
|
32
|
+
</label>
|
|
33
|
+
|
|
34
|
+
<div className="qpp-c-search__wrap">
|
|
35
|
+
<input
|
|
36
|
+
style={inputStyle}
|
|
37
|
+
className="qpp-c-text-input"
|
|
38
|
+
type="search"
|
|
39
|
+
id={id}
|
|
40
|
+
name={name}
|
|
41
|
+
placeholder={placeholder}
|
|
42
|
+
value={inputValue}
|
|
43
|
+
disabled={disabled}
|
|
44
|
+
onChange={onChange}
|
|
45
|
+
aria-label={inputAriaLabel}
|
|
46
|
+
/>
|
|
47
|
+
|
|
48
|
+
<button
|
|
49
|
+
data-testid="search-btn"
|
|
50
|
+
aria-label={buttonAriaLabel}
|
|
51
|
+
onClick={onClick}
|
|
52
|
+
disabled={disableSearchBtn}
|
|
53
|
+
id={`${id}-submit`}
|
|
54
|
+
type="submit"
|
|
55
|
+
className="qpp-c-search__submit qpp-c-button qpp-c-button--text"
|
|
56
|
+
>
|
|
57
|
+
<span className="qpp-u-visually-hidden">Search</span>
|
|
58
|
+
<SearchIcon classes={{ root: 'qpp-icon-mat' }} />
|
|
59
|
+
</button>
|
|
60
|
+
</div>
|
|
61
|
+
</form>
|
|
62
|
+
</ContainerElement>
|
|
54
63
|
);
|
|
55
64
|
};
|
|
56
65
|
|
|
@@ -66,9 +75,12 @@ Search.propTypes = {
|
|
|
66
75
|
inputAriaLabel: PropTypes.string,
|
|
67
76
|
buttonAriaLabel: PropTypes.string,
|
|
68
77
|
inputWidth: PropTypes.string,
|
|
78
|
+
label: PropTypes.string,
|
|
79
|
+
parentElement: PropTypes.string,
|
|
69
80
|
};
|
|
70
81
|
|
|
71
82
|
Search.defaultProps = {
|
|
83
|
+
label: null,
|
|
72
84
|
id: 'search-input',
|
|
73
85
|
name: '',
|
|
74
86
|
placeholder: '',
|
|
@@ -80,6 +92,7 @@ Search.defaultProps = {
|
|
|
80
92
|
inputAriaLabel: '',
|
|
81
93
|
buttonAriaLabel: '',
|
|
82
94
|
inputWidth: 'auto',
|
|
95
|
+
parentElement: 'span',
|
|
83
96
|
};
|
|
84
97
|
|
|
85
98
|
export default Search;
|