diff --git a/__tests__/components/CardCloseButton.test.jsx b/__tests__/components/CardCloseButton.test.jsx index f341201f60..e28131e7ec 100644 --- a/__tests__/components/CardCloseButton.test.jsx +++ b/__tests__/components/CardCloseButton.test.jsx @@ -8,7 +8,7 @@ describe('', () => { const button = wrapper.find('Button'); expect(button).toHaveLength(1); expect(button.prop('variant')).toBe('plain'); - expect(button.prop('className')).toBe('pf-c-card__close'); + expect(button.prop('aria-label')).toBe('Close'); expect(wrapper.find('Link')).toHaveLength(0); }); @@ -18,6 +18,6 @@ describe('', () => { const link = wrapper.find('Link'); expect(link).toHaveLength(1); expect(link.prop('to')).toEqual('/foo'); - expect(link.prop('className')).toEqual('pf-c-button pf-c-card__close'); + expect(link.prop('aria-label')).toEqual('Close'); }); }); diff --git a/src/app.scss b/src/app.scss index 8f621a094a..dedcbf2959 100644 --- a/src/app.scss +++ b/src/app.scss @@ -72,7 +72,7 @@ // page header overrides // -.pf-c-page__main-section.pf-m-condensed { +.pf-c-page__main-section { padding-top: 10px; padding-bottom: 10px; } @@ -208,17 +208,6 @@ position: relative; } -.pf-c-card__close { - position: absolute; - top: 5px; - right: 4px; - color: var(--pf-c-button--m-plain--Color); - - &.pf-c-button { - position: absolute; - } -} - .pf-c-card__header { padding: 0; } diff --git a/src/components/BasicChip/BasicChip.jsx b/src/components/BasicChip/BasicChip.jsx new file mode 100644 index 0000000000..d70514945c --- /dev/null +++ b/src/components/BasicChip/BasicChip.jsx @@ -0,0 +1,39 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { Chip as PFChip } from '@patternfly/react-core'; +import styled from 'styled-components'; + +const Chip = styled(PFChip)` + padding: 3px 8px; + height: 24px; + margin-right: 10px; + margin-bottom: 10px; + + &.pf-c-chip { + margin-top: 0; + } + + &.pf-m-overflow { + padding: 0; + } + + &:not(.pf-m-overflow) .pf-c-button { + display: none; + } +`; +const BasicChip = ({ children, onToggle, isOverflowChip }) => ( + + {children} + +); + +BasicChip.propTypes = { + children: PropTypes.node.isRequired, +}; + +export default BasicChip; diff --git a/src/components/Breadcrumbs/Breadcrumbs.jsx b/src/components/Breadcrumbs/Breadcrumbs.jsx index 9722b79b80..503c54ee03 100644 --- a/src/components/Breadcrumbs/Breadcrumbs.jsx +++ b/src/components/Breadcrumbs/Breadcrumbs.jsx @@ -1,18 +1,29 @@ import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import { - PageSection, + PageSection as PFPageSection, PageSectionVariants, Breadcrumb, BreadcrumbItem, - BreadcrumbHeading + BreadcrumbHeading as PFBreadcrumbHeading } from '@patternfly/react-core'; import { Link, Route, withRouter } from 'react-router-dom'; -import './breadcrumbs.scss'; +import styled from 'styled-components'; + +const PageSection = styled(PFPageSection)` + padding-top: 10px; + padding-bottom: 10px; +`; + +const BreadcrumbHeading = styled(PFBreadcrumbHeading)` + --pf-c-breadcrumb__heading--FontSize: 20px; + line-height: 24px; + flex: 100%; +`; const Breadcrumbs = ({ breadcrumbConfig }) => { const { light } = PageSectionVariants; @@ -20,7 +31,6 @@ const Breadcrumbs = ({ breadcrumbConfig }) => { return ( { crumbElement = ( {crumb} diff --git a/src/components/Breadcrumbs/breadcrumbs.scss b/src/components/Breadcrumbs/breadcrumbs.scss deleted file mode 100644 index 28b5be3973..0000000000 --- a/src/components/Breadcrumbs/breadcrumbs.scss +++ /dev/null @@ -1,11 +0,0 @@ -.pf-c-breadcrumb__item.heading { - --pf-c-breadcrumb__heading--FontSize: 20px; - line-height: 24px; - flex: 100%; -} - -.pf-c-breadcrumb__item:nth-last-child(2) { - .pf-c-breadcrumb__item-divider { - display: none; - } -} diff --git a/src/components/CardCloseButton.jsx b/src/components/CardCloseButton.jsx index c26cb76b84..c41de8132c 100644 --- a/src/components/CardCloseButton.jsx +++ b/src/components/CardCloseButton.jsx @@ -1,16 +1,24 @@ import React from 'react'; import { string } from 'prop-types'; -import { Link } from 'react-router-dom'; +import { Link as RRLink } from 'react-router-dom'; import { Button } from '@patternfly/react-core'; import { TimesIcon } from '@patternfly/react-icons'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; +import styled from 'styled-components'; + +const Link = styled(RRLink)` + position: absolute; + top: 5px; + right: 4px; + color: var(--pf-c-button--m-plain--Color); +`; function CardCloseButton ({ linkTo, i18n, i18nHash, ...props }) { if (linkTo) { return ( diff --git a/src/components/FormActionGroup/FormActionGroup.jsx b/src/components/FormActionGroup/FormActionGroup.jsx index ee92ac0169..7a91e72c15 100644 --- a/src/components/FormActionGroup/FormActionGroup.jsx +++ b/src/components/FormActionGroup/FormActionGroup.jsx @@ -3,27 +3,24 @@ import PropTypes from 'prop-types'; import { withI18n } from '@lingui/react'; import { t } from '@lingui/macro'; import { - ActionGroup, + ActionGroup as PFActionGroup, Toolbar, ToolbarGroup, Button } from '@patternfly/react-core'; -import './styles.scss'; +import styled from 'styled-components'; -const formActionGroupStyle = { - display: 'flex', - flexDirection: 'row', - justifyContent: 'flex-end', -}; - -const buttonGroupStyle = { - marginRight: '20px' -}; +const ActionGroup = styled(PFActionGroup)` + display: flex; + flex-direction: row; + justify-content: flex-end; + --pf-c-form__group--m-action--MarginTop: 0; +`; const FormActionGroup = ({ onSubmit, submitDisabled, onCancel, i18n }) => ( - + - + diff --git a/src/components/FormActionGroup/index.js b/src/components/FormActionGroup/index.js deleted file mode 100644 index 95f4999d9e..0000000000 --- a/src/components/FormActionGroup/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import FormActionGroup from './FormActionGroup'; - -export default FormActionGroup; diff --git a/src/components/FormActionGroup/styles.scss b/src/components/FormActionGroup/styles.scss deleted file mode 100644 index b42fb22d74..0000000000 --- a/src/components/FormActionGroup/styles.scss +++ /dev/null @@ -1,3 +0,0 @@ -.pf-c-form__group.pf-m-action { - --pf-c-form__group--m-action--MarginTop: 0; -} diff --git a/src/components/FormRow.jsx b/src/components/FormRow.jsx index d7e6c0cd11..1f917c1592 100644 --- a/src/components/FormRow.jsx +++ b/src/components/FormRow.jsx @@ -1,15 +1,15 @@ import React from 'react'; +import styled from 'styled-components'; export default function FormRow ({ children }) { + const Row = styled.div` + display: grid; + grid-gap: 20px; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + `; return ( -
+ {children} -
+ ); } diff --git a/src/pages/Organizations/components/OrganizationForm.jsx b/src/pages/Organizations/components/OrganizationForm.jsx index c8364239e8..fcf0ec8809 100644 --- a/src/pages/Organizations/components/OrganizationForm.jsx +++ b/src/pages/Organizations/components/OrganizationForm.jsx @@ -13,7 +13,7 @@ import { Config } from '../../../contexts/Config'; import { withNetwork } from '../../../contexts/Network'; import FormRow from '../../../components/FormRow'; import FormField from '../../../components/FormField'; -import FormActionGroup from '../../../components/FormActionGroup'; +import FormActionGroup from '../../../components/FormActionGroup/FormActionGroup'; import AnsibleSelect from '../../../components/AnsibleSelect'; import InstanceGroupsLookup from './InstanceGroupsLookup'; import { required } from '../../../util/validators';