diff --git a/client/constants/Pattern.ts b/client/constants/Pattern.ts index b810f06..5d06f3e 100644 --- a/client/constants/Pattern.ts +++ b/client/constants/Pattern.ts @@ -26,6 +26,7 @@ enum Pattern { FloatingLabel = 'Floating label', FullScreenMenu = 'Full screen menu', HolyGrail = 'Holy grail', + KeyboardShortcut = 'Keyboard shortcut', InitialAvatar = 'Initial avatar', InputAddon = 'Input addon', MediaObject = 'Media object', diff --git a/client/pages/ExplorePage.tsx b/client/pages/ExplorePage.tsx index 37586ef..cc4fe83 100644 --- a/client/pages/ExplorePage.tsx +++ b/client/pages/ExplorePage.tsx @@ -148,6 +148,7 @@ const ExplorePage = () => { + diff --git a/client/patterns/keyboard-shortcut/Cover.tsx b/client/patterns/keyboard-shortcut/Cover.tsx new file mode 100644 index 0000000..1835f8d --- /dev/null +++ b/client/patterns/keyboard-shortcut/Cover.tsx @@ -0,0 +1,34 @@ +import React from 'react'; + +import Frame from '../../placeholders/Frame'; + +const Cover: React.FC<{}> = () => { + return ( + +
+ + ⌘ + C + +
+ + ); +}; + +export default Cover; diff --git a/client/patterns/keyboard-shortcut/Details.tsx b/client/patterns/keyboard-shortcut/Details.tsx new file mode 100644 index 0000000..a65b390 --- /dev/null +++ b/client/patterns/keyboard-shortcut/Details.tsx @@ -0,0 +1,110 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; + +import Heading from '../../components/Heading'; +import DetailsLayout from '../../layouts/DetailsLayout'; +import BrowserFrame from '../../placeholders/BrowserFrame'; + +interface ItemProps { + action: string; + keys: string; +} + +const Item: React.FC = ({ action, keys }) => { + return ( +
+
{action}
+ + {keys} + +
+ ); +}; + +const Details: React.FC<{}> = () => { + return ( + +
+
+ We use the native kbd tag to display the keyboard shortcut. +
+ + + ⌘ + C + +
+ )} + source={` + + ... + +`} + /> + + +
+ + +
+
+ We can use this pattern with the property list pattern + to create shortkey preferences as following: +
+
+ + + +
+
+
+
+ ); +}; + +export default Details; diff --git a/client/patterns/property-list/Details.tsx b/client/patterns/property-list/Details.tsx index 9b934a0..f235b7d 100644 --- a/client/patterns/property-list/Details.tsx +++ b/client/patterns/property-list/Details.tsx @@ -92,7 +92,7 @@ const Details: React.FC<{}> = () => {
-
+
Name
WebAssembly in Action
diff --git a/public/sitemap.xml b/public/sitemap.xml index b456414..645d53f 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -1,10 +1,5 @@ https://csslayout.io/patterns - https://csslayout.io/patterns/holy-grail - https://csslayout.io/patterns/sidebar - https://csslayout.io/patterns/split-screen - https://csslayout.io/patterns/sticky-footer - https://csslayout.io/patterns/sticky-header https://csslayout.io/patterns/accordion https://csslayout.io/patterns/avatar https://csslayout.io/patterns/avatar-list @@ -31,8 +26,10 @@ https://csslayout.io/patterns/fixed-at-corner https://csslayout.io/patterns/floating-label https://csslayout.io/patterns/full-screen-menu + https://csslayout.io/patterns/holy-grail https://csslayout.io/patterns/initial-avatar https://csslayout.io/patterns/input-addon + https://csslayout.io/patterns/keyboard-shortcut https://csslayout.io/patterns/media-object https://csslayout.io/patterns/menu https://csslayout.io/patterns/modal @@ -55,11 +52,15 @@ https://csslayout.io/patterns/same-height-columns https://csslayout.io/patterns/search-box https://csslayout.io/patterns/separator + https://csslayout.io/patterns/sidebar https://csslayout.io/patterns/simple-grid https://csslayout.io/patterns/slider https://csslayout.io/patterns/spin-button https://csslayout.io/patterns/split-navigation + https://csslayout.io/patterns/split-screen https://csslayout.io/patterns/stepper-input + https://csslayout.io/patterns/sticky-footer + https://csslayout.io/patterns/sticky-header https://csslayout.io/patterns/switch https://csslayout.io/patterns/tab https://csslayout.io/patterns/timeline