diff --git a/elements/rh-layouts/demo/index.html b/elements/rh-layouts/demo/index.html index 89a194e479..9f105b8b9d 100644 --- a/elements/rh-layouts/demo/index.html +++ b/elements/rh-layouts/demo/index.html @@ -143,6 +143,21 @@

Code

+ +
+

Bullseye

+

Used for centering all children (typically a single item) both vertically and horizontally within a parent element.

+
+

Basic Bullseye

+
+
Bam!
+
+

Code

+
<div class="rh-l-bullseye">
+  <div class="rh-l-bullseye__item">Bam!</div>
+</div>
+
+
diff --git a/elements/rh-layouts/rh-layouts.css b/elements/rh-layouts/rh-layouts.css index d2170a74c4..3c12b32b53 100644 --- a/elements/rh-layouts/rh-layouts.css +++ b/elements/rh-layouts/rh-layouts.css @@ -7,9 +7,6 @@ .rh-l--text-align--right { text-align: right; } -:root { - --rh-l-grid--m-gutter--GridGap: var(--rh--global--gutter, $rh-global--gutter); } - .rh-l-grid { display: grid; grid-template-columns: repeat(12, [col-start] 1fr); } @@ -743,4 +740,12 @@ .rh-l-grid > .rh-m-12-row-on-xl { grid-row: span 12; } } .rh-l-grid.rh-m-gutters { - grid-gap: var(--rh-l-grid--m-gutter--GridGap); } \ No newline at end of file + grid-gap: var(--rh-l-grid--m-gutter--GridGap, 1rem); } + +.rh-l-bullseye { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: var(--rh-l-bullseye--Padding, 1rem); + margin: 0; } \ No newline at end of file diff --git a/elements/rh-layouts/rh-layouts.scss b/elements/rh-layouts/rh-layouts.scss index 6752f1695d..efe575c390 100644 --- a/elements/rh-layouts/rh-layouts.scss +++ b/elements/rh-layouts/rh-layouts.scss @@ -2,3 +2,4 @@ @import "sass/alignments"; @import "sass/grid"; +@import "sass/bullseye"; diff --git a/elements/rh-layouts/rh-layouts.story.js b/elements/rh-layouts/rh-layouts.story.js new file mode 100644 index 0000000000..0f15f55fd8 --- /dev/null +++ b/elements/rh-layouts/rh-layouts.story.js @@ -0,0 +1,65 @@ +import { storiesOf } from "@storybook/polymer"; + +storiesOf("Layouts", module).add( + "rh-layouts", + () => ` + + + +
+

Pure Grid

+
+
Item
+
Item
+
Item
+
Item
+
Item
+
+
+
+

Bootstrap-style Columns

+
+
Default Item
+
rh-m-2-col
+
rh-m-10-col
+
rh-m-4-col
+
rh-m-4-col
+
rh-m-4-col
+
rh-m-6-col rh-m-3-col-on-md
+
rh-m-6-col rh-m-3-col-on-md rh-m-startat-7-col-on-md
+
rh-m-6-col rh-m-3-col-on-md
+
+
+
+

Basic Bullseye

+
+
Bam!
+
+
+ ` +); diff --git a/elements/rh-layouts/sass/_bullseye.scss b/elements/rh-layouts/sass/_bullseye.scss new file mode 100644 index 0000000000..e448514f3a --- /dev/null +++ b/elements/rh-layouts/sass/_bullseye.scss @@ -0,0 +1,26 @@ +// ============================================================================ +// Note: There should be no direct HEX or other values in this file. +// Please reference RH-SASS variables. +// ============================================================================ +// +// Global vars are named: +// `$rh-global--concept--PropertyTitleCase--modifier--state` +// For example: +// * $rh-global--color--primary +// * $rh-global--FontSize +// * --rh-theme--FontSize--heading--xs + +// Component/Element vars are named: +// `$rh-c-block__element--modifier--state--PropertyTitleCase` +// For example: +// * --rh-dropdown--heading--FontSize +// * --cp-accordion--heading--FontSize + +.rh-l-bullseye { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: var(--rh-l-bullseye--Padding, $rh-global--spacer); + margin: 0; +} diff --git a/elements/rh-layouts/sass/_grid.scss b/elements/rh-layouts/sass/_grid.scss index de47fcf236..ab9d19d33a 100644 --- a/elements/rh-layouts/sass/_grid.scss +++ b/elements/rh-layouts/sass/_grid.scss @@ -16,9 +16,11 @@ // * --rh-dropdown--heading--FontSize // * --cp-accordion--heading--FontSize -:root { - --rh-l-grid--m-gutter--GridGap: var(--rh--global--gutter, $rh-global--gutter); -} +// $rh-global--gutter: $rh-global--spacer; +// +// :root { +// --rh-l-grid--m-gutter--GridGap: var(--rh--global--gutter, $rh-global--gutter); +// } /// Media query used to create responsive grid items /// @group mixins @@ -125,6 +127,6 @@ } &.rh-m-gutters { - grid-gap: var(--rh-l-grid--m-gutter--GridGap); + grid-gap: var(--rh-l-grid--m-gutter--GridGap, $rh-global--spacer); } } diff --git a/package.json b/package.json index cfb5f83440..894e173363 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "postinstall": "npm run bootstrap && npm run wct-kludge", "precommit": "npm run update-test-suite > /dev/null && lint-staged", "update-test-suite": "node scripts/test-suite-inject.js", - "storybook": "start-storybook -c .storybook -p 9001", + "storybook": "start-storybook -c .storybook -p 9001 -s ./elements", "build-storybook": "build-storybook -c .storybook -o .storybook_out", "new": "cd elements && yo rhelement && npm run update-test-suite" },