diff --git a/src/cdk-experimental/menu/menu.md b/src/cdk-experimental/menu/menu.md
index e28953a9bd86..38d19d2b76e5 100644
--- a/src/cdk-experimental/menu/menu.md
+++ b/src/cdk-experimental/menu/menu.md
@@ -29,7 +29,10 @@ menu directives to build your custom menu. A typical menu consists of the follow
- `cdkMenu` - the actual menu you want to open
- `cdkMenuItem` - added to each button
-
+
Most menu interactions consist of two parts: a trigger and a menu panel.
@@ -70,7 +73,10 @@ layed out horizontally or vertically (defaulting to horizontal). If the layout c
the `orientation` attribute to match in order for the keyboard navigation to work properly and for
menus to open up in the correct location.
-
+
### Context Menus
@@ -79,7 +85,10 @@ container element with the `cdkContextMenuTriggerFor`, which behaves like `cdkMe
that it responds to the browser's native `contextmenu` event. Custom context menus appear next to
the cursor, similarly to native context menus.
-
+
You can nest context menu container elements. Upon right-click, the menu associated with the closest
container element will open.
@@ -101,7 +110,10 @@ trigger. You can use an inline menu when you want a persistent menu interaction
items within an inline menus are logically grouped together and you can navigate through them using
your keyboard.
-
+
### Menu Items
@@ -177,7 +189,10 @@ Note however that when the menu is closed and reopened any state is lost. You mu
groups `change` output, or to `cdkMenuItemToggled` on each radio item and track changes your self.
Finally, you can provide state for each item using the `checked` attribute.
-
+
### Smart Menu Aim
diff --git a/src/components-examples/BUILD.bazel b/src/components-examples/BUILD.bazel
index d980eb93b8ea..9ad3bb8ad421 100644
--- a/src/components-examples/BUILD.bazel
+++ b/src/components-examples/BUILD.bazel
@@ -59,6 +59,7 @@ ALL_EXAMPLES = [
"//src/components-examples/cdk/clipboard",
"//src/components-examples/cdk/a11y",
"//src/components-examples/cdk/overlay",
+ "//src/components-examples/cdk-experimental/menu",
"//src/components-examples/cdk-experimental/popover-edit",
"//src/components-examples/cdk-experimental/selection",
]
diff --git a/src/components-examples/cdk-experimental/menu/BUILD.bazel b/src/components-examples/cdk-experimental/menu/BUILD.bazel
new file mode 100644
index 000000000000..b07df5a2c9a5
--- /dev/null
+++ b/src/components-examples/cdk-experimental/menu/BUILD.bazel
@@ -0,0 +1,26 @@
+load("//tools:defaults.bzl", "ng_module")
+
+package(default_visibility = ["//visibility:public"])
+
+ng_module(
+ name = "menu",
+ srcs = glob(["**/*.ts"]),
+ assets = glob([
+ "**/*.html",
+ "**/*.css",
+ ]),
+ module_name = "@angular/components-examples/cdk-experimental/menu",
+ deps = [
+ "//src/cdk-experimental/menu",
+ "@npm//@angular/forms",
+ ],
+)
+
+filegroup(
+ name = "source-files",
+ srcs = glob([
+ "**/*.html",
+ "**/*.css",
+ "**/*.ts",
+ ]),
+)
diff --git a/src/components-examples/cdk-experimental/menu/cdk-menu-context/cdk-menu-context-example.css b/src/components-examples/cdk-experimental/menu/cdk-menu-context/cdk-menu-context-example.css
new file mode 100644
index 000000000000..0fed1a5894cc
--- /dev/null
+++ b/src/components-examples/cdk-experimental/menu/cdk-menu-context/cdk-menu-context-example.css
@@ -0,0 +1,33 @@
+.example-menu {
+ display: inline-flex;
+ flex-direction: column;
+ min-width: 180px;
+ max-width: 280px;
+ background-color: rgb(255, 255, 255);
+ padding: 6px 0;
+}
+
+.example-menu-item {
+ background-color: transparent;
+ cursor: pointer;
+ outline: none;
+ border: none;
+
+ user-select: none;
+ min-width: 64px;
+ line-height: 36px;
+ padding: 0 16px;
+
+ display: flex;
+ align-items: center;
+ flex-direction: row;
+ flex: 1;
+}
+
+.example-menu-item:hover {
+ background-color: rgb(208, 208, 208);
+}
+
+.example-menu-item:active {
+ background-color: rgb(170, 170, 170);
+}
diff --git a/src/components-examples/cdk-experimental/menu/cdk-menu-context/cdk-menu-context-example.html b/src/components-examples/cdk-experimental/menu/cdk-menu-context/cdk-menu-context-example.html
new file mode 100644
index 000000000000..99338e29d68d
--- /dev/null
+++ b/src/components-examples/cdk-experimental/menu/cdk-menu-context/cdk-menu-context-example.html
@@ -0,0 +1,18 @@
+
+ Did you ever hear the tragedy of Darth Plagueis The Wise? I thought not. It's not a story the Jedi
+ would tell you. It's a Sith legend. Darth Plagueis was a Dark Lord of the Sith, so powerful and so
+ wise he could use the Force to influence the midichlorians to create life… He had such a knowledge
+ of the dark side that he could even keep the ones he cared about from dying. The dark side of the
+ Force is a pathway to many abilities some consider to be unnatural. He became so powerful… the
+ only thing he was afraid of was losing his power, which eventually, of course, he did.
+ Unfortunately, he taught his apprentice everything he knew, then his apprentice killed him in his
+ sleep. Ironic. He could save others from death, but not himself.
+