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