diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts index a0df96b..9f0d193 100644 --- a/client/constants/Pattern.ts +++ b/client/constants/Pattern.ts @@ -64,6 +64,7 @@ enum Pattern { Tab = 'Tab', Timeline = 'Timeline', TogglePasswordVisibility = 'Toggle password visibility', + Tooltip = 'Tooltip', UploadButton = 'Upload button', ValidationIcon = 'Validation icon', VideoBackground = 'Video background', diff --git a/client/pages/ExplorePage.tsx b/client/pages/ExplorePage.tsx index 8b6a175..8c527eb 100644 --- a/client/pages/ExplorePage.tsx +++ b/client/pages/ExplorePage.tsx @@ -173,6 +173,7 @@ const ExplorePage = () => { + diff --git a/client/patterns/popover-arrow/Details.tsx b/client/patterns/popover-arrow/Details.tsx index 21cf88a..7de1436 100644 --- a/client/patterns/popover-arrow/Details.tsx +++ b/client/patterns/popover-arrow/Details.tsx @@ -1,5 +1,7 @@ import React from 'react'; +import RelatedPatterns from '../../components/RelatedPatterns'; +import Pattern from '../../constants/Pattern'; import DetailsLayout from '../../layouts/DetailsLayout'; import BrowserFrame from '../../placeholders/BrowserFrame'; @@ -421,6 +423,8 @@ const Details: React.FC<{}> = () => { `} /> + + ); }; diff --git a/client/patterns/tooltip/Cover.tsx b/client/patterns/tooltip/Cover.tsx new file mode 100644 index 0000000..edcbd14 --- /dev/null +++ b/client/patterns/tooltip/Cover.tsx @@ -0,0 +1,58 @@ +import React from 'react'; + +import Frame from '../../placeholders/Frame'; +import Rectangle from '../../placeholders/Rectangle'; + +const Cover: React.FC<{}> = () => { + return ( + +
+
+
+
+ +
+
+ + ); +}; + +export default Cover; diff --git a/client/patterns/tooltip/Details.tsx b/client/patterns/tooltip/Details.tsx new file mode 100644 index 0000000..4e8f06b --- /dev/null +++ b/client/patterns/tooltip/Details.tsx @@ -0,0 +1,127 @@ +import React from 'react'; + +import './tooltip.css'; + +import RelatedPatterns from '../../components/RelatedPatterns'; +import Pattern from '../../constants/Pattern'; +import DetailsLayout from '../../layouts/DetailsLayout'; +import Block from '../../placeholders/Block'; +import BrowserFrame from '../../placeholders/BrowserFrame'; +import Rectangle from '../../placeholders/Rectangle'; + +const Details: React.FC<{}> = () => { + return ( + +
+
+ Move the mouser over the main element to see the tooltip. +
+ +
+
+ +
+
+ +
+
+ )} + source={` + + +
+ +
+ ... +
+ + +
+ + + ... +
+`} + /> +
+ + + + ); +}; + +export default Details; diff --git a/client/patterns/tooltip/tooltip.css b/client/patterns/tooltip/tooltip.css new file mode 100644 index 0000000..ad2ab58 --- /dev/null +++ b/client/patterns/tooltip/tooltip.css @@ -0,0 +1,29 @@ +.p-tooltip { + position: relative; +} +.p-tooltip:hover .p-tooltip-arrow, +.p-tooltip:hover .p-tooltip-content { + opacity: 1; +} +.p-tooltip-arrow { + border: 8px solid transparent; + border-top-color: #00439e; + bottom: 100%; + height: 0; + left: 50%; + opacity: 0; + position: absolute; + transform: translate(-50%, 8px); + width: 0; + z-index: 10; +} +.p-tooltip-content { + background-color: #00439e; + border-radius: 2px; + bottom: 100%; + left: 50%; + opacity: 0; + position: absolute; + transform: translate(-50%, -8px); + z-index: 10; +} diff --git a/public/sitemap.xml b/public/sitemap.xml index cba59a6..396d23c 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -65,6 +65,7 @@ https://csslayout.io/patterns/tab https://csslayout.io/patterns/timeline https://csslayout.io/patterns/toggle-password-visibility + https://csslayout.io/patterns/tooltip https://csslayout.io/patterns/upload-button https://csslayout.io/patterns/validation-icon https://csslayout.io/patterns/video-background