', () => {
+ expect(render(
).type).toEqual('div')
+ expect(render(
).type).toEqual('div')
+ })
+})
diff --git a/src/__tests__/__snapshots__/BreadcrumbItem.js.snap b/src/__tests__/__snapshots__/BreadcrumbItem.js.snap
index 2cb15070f8d..1d89748a790 100644
--- a/src/__tests__/__snapshots__/BreadcrumbItem.js.snap
+++ b/src/__tests__/__snapshots__/BreadcrumbItem.js.snap
@@ -292,6 +292,11 @@ exports[`Breadcrumb.Item renders the given "as" prop 1`] = `
"small": "544px",
"xlarge": "1280px",
},
+ "popovers": Object {
+ "colors": Object {
+ "caret": "rgba(27, 31, 35, 0.15)",
+ },
+ },
"radii": Array [
"0",
"3px",
diff --git a/src/__tests__/__snapshots__/FilterListItem.js.snap b/src/__tests__/__snapshots__/FilterListItem.js.snap
index 52fefdf3da4..6fb22ed9084 100644
--- a/src/__tests__/__snapshots__/FilterListItem.js.snap
+++ b/src/__tests__/__snapshots__/FilterListItem.js.snap
@@ -305,6 +305,11 @@ exports[`FilterList.Item renders the given "as" prop 1`] = `
"small": "544px",
"xlarge": "1280px",
},
+ "popovers": Object {
+ "colors": Object {
+ "caret": "rgba(27, 31, 35, 0.15)",
+ },
+ },
"radii": Array [
"0",
"3px",
diff --git a/src/__tests__/__snapshots__/Popover.js.snap b/src/__tests__/__snapshots__/Popover.js.snap
new file mode 100644
index 00000000000..dfa98493cf5
--- /dev/null
+++ b/src/__tests__/__snapshots__/Popover.js.snap
@@ -0,0 +1,2859 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Popover and Popover.Content renders correctly for a caret position of bottom 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of bottom-left 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of bottom-right 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of left 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of left-bottom 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of left-top 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of right 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of right-bottom 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of right-top 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of top 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of top-left 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders correctly for a caret position of top-right 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: block;
+}
+
+.c2 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c2::before,
+.c2::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c2::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c2::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders with default props 1`] = `
+.c1 {
+ position: absolute;
+ z-index: 100;
+ display: none;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--bottom .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--bottom-left .c2::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--bottom .c2::after,
+.c0.caret-pos--bottom-right .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c0.caret-pos--top-right .c2,
+.c0.caret-pos--bottom-right .c2 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before,
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-right .c2::before,
+.c0.caret-pos--bottom-right .c2::before {
+ right: 20px;
+}
+
+.c0.caret-pos--top-right .c2::after,
+.c0.caret-pos--bottom-right .c2::after {
+ right: 21px;
+}
+
+.c0.caret-pos--top-left .c2,
+.c0.caret-pos--bottom-left .c2 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::before,
+.c0.caret-pos--bottom-left .c2::before,
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c0.caret-pos--top-left .c2::after,
+.c0.caret-pos--bottom-left .c2::after {
+ left: calc(24px + 1px);
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ margin-top: -8px;
+}
+
+.c0.caret-pos--right .c2::before,
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--right-bottom .c2::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--right .c2::after,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--right-bottom .c2::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c0.caret-pos--left .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c0.caret-pos--left .c2::after,
+.c0.caret-pos--left-top .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c0.caret-pos--right-top .c2::before,
+.c0.caret-pos--left-top .c2::before,
+.c0.caret-pos--right-top .c2::after,
+.c0.caret-pos--left-top .c2::after {
+ top: 24px;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before,
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ top: auto;
+}
+
+.c0.caret-pos--right-bottom .c2::before,
+.c0.caret-pos--left-bottom .c2::before {
+ bottom: 16px;
+}
+
+.c0.caret-pos--right-bottom .c2::after,
+.c0.caret-pos--left-bottom .c2::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
+
+exports[`Popover and Popover.Content renders with default props 2`] = `
+.c0 {
+ border: 1px solid;
+ border-color: #e1e4e8;
+ border-radius: 6px;
+ position: relative;
+ width: 232px;
+ margin-right: auto;
+ margin-left: auto;
+ padding: 24px;
+ background-color: #fff;
+}
+
+.c0::before,
+.c0::after {
+ position: absolute;
+ left: 50%;
+ display: inline-block;
+ content: '';
+}
+
+.c0::before {
+ top: -16px;
+ margin-left: -9px;
+ border: 8px solid transparent;
+ border-bottom-color: rgba(27,31,35,0.15);
+}
+
+.c0::after {
+ top: -14px;
+ margin-left: -8px;
+ border: 7px solid transparent;
+ border-bottom-color: #fff;
+}
+
+.c1.caret-pos--bottom .c0::before,
+.c1.caret-pos--bottom-right .c0::before,
+.c1.caret-pos--bottom-left .c0::before,
+.c1.caret-pos--bottom .c0::after,
+.c1.caret-pos--bottom-right .c0::after,
+.c1.caret-pos--bottom-left .c0::after {
+ top: auto;
+ border-bottom-color: transparent;
+}
+
+.c1.caret-pos--bottom .c0::before,
+.c1.caret-pos--bottom-right .c0::before,
+.c1.caret-pos--bottom-left .c0::before {
+ bottom: -16px;
+ border-top-color: rgba(27,31,35,0.15);
+}
+
+.c1.caret-pos--bottom .c0::after,
+.c1.caret-pos--bottom-right .c0::after,
+.c1.caret-pos--bottom-left .c0::after {
+ bottom: -14px;
+ border-top-color: #fff;
+}
+
+.c1.caret-pos--top-right .c0,
+.c1.caret-pos--bottom-right .c0 {
+ right: -9px;
+ margin-right: 0;
+}
+
+.c1.caret-pos--top-right .c0::before,
+.c1.caret-pos--bottom-right .c0::before,
+.c1.caret-pos--top-right .c0::after,
+.c1.caret-pos--bottom-right .c0::after {
+ left: auto;
+ margin-left: 0;
+}
+
+.c1.caret-pos--top-right .c0::before,
+.c1.caret-pos--bottom-right .c0::before {
+ right: 20px;
+}
+
+.c1.caret-pos--top-right .c0::after,
+.c1.caret-pos--bottom-right .c0::after {
+ right: 21px;
+}
+
+.c1.caret-pos--top-left .c0,
+.c1.caret-pos--bottom-left .c0 {
+ left: -9px;
+ margin-left: 0;
+}
+
+.c1.caret-pos--top-left .c0::before,
+.c1.caret-pos--bottom-left .c0::before,
+.c1.caret-pos--top-left .c0::after,
+.c1.caret-pos--bottom-left .c0::after {
+ left: 24px;
+ margin-left: 0;
+}
+
+.c1.caret-pos--top-left .c0::after,
+.c1.caret-pos--bottom-left .c0::after {
+ left: calc(24px + 1px);
+}
+
+.c1.caret-pos--right .c0::before,
+.c1.caret-pos--right-top .c0::before,
+.c1.caret-pos--right-bottom .c0::before,
+.c1.caret-pos--left .c0::before,
+.c1.caret-pos--left-top .c0::before,
+.c1.caret-pos--left-bottom .c0::before,
+.c1.caret-pos--right .c0::after,
+.c1.caret-pos--right-top .c0::after,
+.c1.caret-pos--right-bottom .c0::after,
+.c1.caret-pos--left .c0::after,
+.c1.caret-pos--left-top .c0::after,
+.c1.caret-pos--left-bottom .c0::after {
+ top: 50%;
+ left: auto;
+ margin-left: 0;
+ border-bottom-color: transparent;
+}
+
+.c1.caret-pos--right .c0::before,
+.c1.caret-pos--right-top .c0::before,
+.c1.caret-pos--right-bottom .c0::before,
+.c1.caret-pos--left .c0::before,
+.c1.caret-pos--left-top .c0::before,
+.c1.caret-pos--left-bottom .c0::before {
+ margin-top: calc((8px + 1px) * -1);
+}
+
+.c1.caret-pos--right .c0::after,
+.c1.caret-pos--right-top .c0::after,
+.c1.caret-pos--right-bottom .c0::after,
+.c1.caret-pos--left .c0::after,
+.c1.caret-pos--left-top .c0::after,
+.c1.caret-pos--left-bottom .c0::after {
+ margin-top: -8px;
+}
+
+.c1.caret-pos--right .c0::before,
+.c1.caret-pos--right-top .c0::before,
+.c1.caret-pos--right-bottom .c0::before {
+ right: -16px;
+ border-left-color: rgba(27,31,35,0.15);
+}
+
+.c1.caret-pos--right .c0::after,
+.c1.caret-pos--right-top .c0::after,
+.c1.caret-pos--right-bottom .c0::after {
+ right: -14px;
+ border-left-color: #fff;
+}
+
+.c1.caret-pos--left .c0::before,
+.c1.caret-pos--left-top .c0::before,
+.c1.caret-pos--left-bottom .c0::before {
+ left: -16px;
+ border-right-color: rgba(27,31,35,0.15);
+}
+
+.c1.caret-pos--left .c0::after,
+.c1.caret-pos--left-top .c0::after,
+.c1.caret-pos--left-bottom .c0::after {
+ left: -14px;
+ border-right-color: #fff;
+}
+
+.c1.caret-pos--right-top .c0::before,
+.c1.caret-pos--left-top .c0::before,
+.c1.caret-pos--right-top .c0::after,
+.c1.caret-pos--left-top .c0::after {
+ top: 24px;
+}
+
+.c1.caret-pos--right-bottom .c0::before,
+.c1.caret-pos--left-bottom .c0::before,
+.c1.caret-pos--right-bottom .c0::after,
+.c1.caret-pos--left-bottom .c0::after {
+ top: auto;
+}
+
+.c1.caret-pos--right-bottom .c0::before,
+.c1.caret-pos--left-bottom .c0::before {
+ bottom: 16px;
+}
+
+.c1.caret-pos--right-bottom .c0::after,
+.c1.caret-pos--left-bottom .c0::after {
+ bottom: calc(16px + 1px);
+}
+
+
+`;
diff --git a/src/__tests__/__snapshots__/SubNavLink.js.snap b/src/__tests__/__snapshots__/SubNavLink.js.snap
index 8660b96f274..c18f1a79131 100644
--- a/src/__tests__/__snapshots__/SubNavLink.js.snap
+++ b/src/__tests__/__snapshots__/SubNavLink.js.snap
@@ -332,6 +332,11 @@ exports[`SubNav.Link renders the given "as" prop 1`] = `
"small": "544px",
"xlarge": "1280px",
},
+ "popovers": Object {
+ "colors": Object {
+ "caret": "rgba(27, 31, 35, 0.15)",
+ },
+ },
"radii": Array [
"0",
"3px",
diff --git a/src/__tests__/__snapshots__/UnderlineNavLink.js.snap b/src/__tests__/__snapshots__/UnderlineNavLink.js.snap
index b3c44d16a10..7060a25b054 100644
--- a/src/__tests__/__snapshots__/UnderlineNavLink.js.snap
+++ b/src/__tests__/__snapshots__/UnderlineNavLink.js.snap
@@ -309,6 +309,11 @@ exports[`UnderlineNav.Link renders the given "as" prop 1`] = `
"small": "544px",
"xlarge": "1280px",
},
+ "popovers": Object {
+ "colors": Object {
+ "caret": "rgba(27, 31, 35, 0.15)",
+ },
+ },
"radii": Array [
"0",
"3px",
diff --git a/src/index.js b/src/index.js
index 61ac8bed24e..c94c997caad 100644
--- a/src/index.js
+++ b/src/index.js
@@ -35,6 +35,7 @@ export {default as Label} from './Label'
export {default as LabelGroup} from './LabelGroup'
export {default as Link} from './Link'
export {default as PointerBox} from './PointerBox'
+export {default as Popover} from './Popover'
export {default as ProgressBar} from './ProgressBar'
export {default as SideNav} from './SideNav'
export {default as StateLabel} from './StateLabel'
diff --git a/src/theme.js b/src/theme.js
index 242c787e9f0..79bbd79b2ac 100644
--- a/src/theme.js
+++ b/src/theme.js
@@ -152,6 +152,12 @@ const buttons = {
}
}
+const popovers = {
+ colors: {
+ caret: 'rgba(27, 31, 35, 0.15)'
+ }
+}
+
const theme = {
breakpoints: ['544px', '768px', '1012px', '1280px'],
maxWidths: {
@@ -197,7 +203,8 @@ const theme = {
primaryActiveShadow: 'inset 0px 1px 0px rgba(20, 70, 32, 0.2)'
},
space: ['0', '4px', '8px', '16px', '24px', '32px', '40px', '48px', '64px', '80px', '96px', '112px', '128px'],
- buttons
+ buttons,
+ popovers
}
export default theme