From e7bf0240bb0b88ce34baf63e79a4c452e9624bab Mon Sep 17 00:00:00 2001 From: ronronscelestes Date: Fri, 20 May 2022 19:24:05 +0200 Subject: [PATCH] refacto css --- .../FolderCard/FolderCard/FolderCard.js | 50 +++++++++---------- .../FolderCard/FolderCardLink/index.js | 0 2 files changed, 23 insertions(+), 27 deletions(-) create mode 100644 packages/core/upload/admin/src/components/FolderCard/FolderCardLink/index.js diff --git a/packages/core/upload/admin/src/components/FolderCard/FolderCard/FolderCard.js b/packages/core/upload/admin/src/components/FolderCard/FolderCard/FolderCard.js index d4479c08af..0e3794b694 100644 --- a/packages/core/upload/admin/src/components/FolderCard/FolderCard/FolderCard.js +++ b/packages/core/upload/admin/src/components/FolderCard/FolderCard/FolderCard.js @@ -1,4 +1,4 @@ -import React, { useState, useRef } from 'react'; +import React from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; @@ -31,6 +31,19 @@ const StyledFolder = styled(Folder)` } `; +const CardActionDisplay = styled(Box)` + display: none; +`; + +const Card = styled(Box)` + &:hover, + &:focus-within { + ${CardActionDisplay} { + display: ${({ isCardActions }) => (isCardActions ? 'block' : '')}; + } + } +`; + export const FolderCard = ({ children, id, @@ -41,27 +54,10 @@ export const FolderCard = ({ ...props }) => { const generatedId = useId(id); - const cardRef = useRef(); - const [showCardAction, setShowCardAction] = useState(false); - - const handleBlur = event => { - if (!cardRef.current.contains(event.relatedTarget)) { - setShowCardAction(false); - } - }; return ( - setShowCardAction(true)} - onMouseLeave={() => setShowCardAction(false)} - onFocus={() => setShowCardAction(true)} - onBlur={handleBlur} - ref={cardRef} - tabIndex={0} - {...props} - > + - {cardActions} - - )} + + {cardActions} + - + ); }; FolderCard.defaultProps = { id: undefined, + startAction: null, + cardActions: null, }; FolderCard.propTypes = { @@ -119,6 +115,6 @@ FolderCard.propTypes = { children: PropTypes.node.isRequired, id: PropTypes.string, onClick: PropTypes.func.isRequired, - startAction: PropTypes.element.isRequired, - cardActions: PropTypes.element.isRequired, + startAction: PropTypes.element, + cardActions: PropTypes.element, }; diff --git a/packages/core/upload/admin/src/components/FolderCard/FolderCardLink/index.js b/packages/core/upload/admin/src/components/FolderCard/FolderCardLink/index.js new file mode 100644 index 0000000000..e69de29bb2