Add show code

This commit is contained in:
Jeremy Thomas
2017-10-09 12:27:08 +01:00
parent 927f7ebb38
commit 3ac5137192
4 changed files with 229 additions and 1 deletions

View File

@@ -107,12 +107,24 @@ document.addEventListener('DOMContentLoaded', () => {
const expandEl = '<button class="button is-small bd-expand">Expand</button>';
$el.insertAdjacentHTML('beforeend', copyEl);
<<<<<<< HEAD
const $parent = $el.parentNode;
if ($parent && $parent.classList.contains('bd-is-more')) {
const showEl = '<button class="bd-show"><div><span class="icon"><i class="fa fa-code"></i></span> <strong>Show code</strong></div></button>';
$el.insertAdjacentHTML('beforeend', showEl);
} else if ($el.firstElementChild.scrollHeight > 480 && $el.firstElementChild.clientHeight <= 480) {
$el.insertAdjacentHTML('beforeend', expandEl);
=======
if ($el.firstElementChild.scrollHeight > 480 && $el.firstElementChild.clientHeight <= 480) {
$el.insertAdjacentHTML('beforeend', expandEl);
}
const $parent = $el.parentNode;
if ($parent && $parent.className == 'bd-highlight-clipped') {
const showEl = '<button class="bd-show"><div><span class="icon"><i class="fa fa-code"></i></span> <strong>Show code</strong></div></button>';
$el.classList.add('bd-is-clipped');
$el.insertAdjacentHTML('beforeend', showEl);
>>>>>>> Add show code
}
itemsProcessed++;
@@ -147,7 +159,7 @@ document.addEventListener('DOMContentLoaded', () => {
$highlightShows.forEach($el => {
$el.addEventListener('click', () => {
$el.parentNode.parentNode.classList.remove('bd-is-more-clipped');
$el.parentNode.classList.remove('bd-is-clipped');
});
});
}

View File

@@ -42,6 +42,10 @@
margin-top: -1.5rem
&:not(:last-child)
margin-bottom: 1.5rem
& + .bd-highlight-clipped
margin-top: -1.5rem
&:not(:last-child)
margin-bottom: 1.5rem
// Snippet
.bd-snippet
@@ -210,6 +214,33 @@ $structure-invert: $danger-invert
pre
white-space: pre-wrap
.bd-highlight-clipped
.bd-show
+overlay
align-items: center
background-color: rgba(#000, 0.9)
background-image: linear-gradient(rgba(#000, 0), rgba(#000, 0) 90%, rgba(#000, 1))
border: none
color: $white
cursor: pointer
display: none
font-size: $size-6
justify-content: center
opacity: 0.7
width: 100%
strong
color: currentColor
font-weight: $weight-semibold
&:hover
opacity: 0.8
.highlight.bd-is-clipped
height: 4em
overflow: hidden
pre
overflow: hidden
.bd-show
display: flex
+tablet
.section:not(.is-fullwidth) > .bd-example:not(.is-fullwidth)
margin-left: 1.5rem

View File

@@ -1179,11 +1179,19 @@ a.has-text-danger:hover, a.has-text-danger:focus {
}
a.box:hover, a.box:focus {
<<<<<<< HEAD
box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #3273dc;
}
a.box:active {
box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #3273dc;
=======
box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #00d1b2;
}
a.box:active {
box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #00d1b2;
>>>>>>> Add show code
}
.button {
@@ -1263,7 +1271,11 @@ a.box:active {
}
.button:focus:not(:active), .button.is-focused:not(:active) {
<<<<<<< HEAD
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
=======
box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
>>>>>>> Add show code
}
.button:active, .button.is-active {
@@ -1876,7 +1888,11 @@ a.box:active {
}
.button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
<<<<<<< HEAD
box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25);
=======
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
>>>>>>> Add show code
}
.button.is-info:active, .button.is-info.is-active {
@@ -1904,7 +1920,11 @@ a.box:active {
background-color: #fff;
border-color: transparent;
box-shadow: none;
<<<<<<< HEAD
color: #209cee;
=======
color: #3273dc;
>>>>>>> Add show code
}
.button.is-info.is-loading:after {
@@ -1929,9 +1949,15 @@ a.box:active {
.button.is-info.is-outlined[disabled] {
background-color: transparent;
<<<<<<< HEAD
border-color: #209cee;
box-shadow: none;
color: #209cee;
=======
border-color: #3273dc;
box-shadow: none;
color: #3273dc;
>>>>>>> Add show code
}
.button.is-info.is-inverted.is-outlined {
@@ -2593,8 +2619,13 @@ a.box:active {
.textarea.is-focused,
.textarea:active,
.textarea.is-active {
<<<<<<< HEAD
border-color: #3273dc;
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
=======
border-color: #00d1b2;
box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
>>>>>>> Add show code
}
.input[disabled],
@@ -2698,6 +2729,7 @@ a.box:active {
.textarea.is-primary:active,
.textarea.is-primary.is-active {
box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
<<<<<<< HEAD
}
.input.is-link,
@@ -2711,6 +2743,8 @@ a.box:active {
.textarea.is-link:active,
.textarea.is-link.is-active {
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
=======
>>>>>>> Add show code
}
.input.is-info,
@@ -2723,7 +2757,11 @@ a.box:active {
.textarea.is-info.is-focused,
.textarea.is-info:active,
.textarea.is-info.is-active {
<<<<<<< HEAD
box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25);
=======
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
>>>>>>> Add show code
}
.input.is-success,
@@ -2935,8 +2973,13 @@ a.box:active {
}
.select select:focus, .select select.is-focused, .select select:active, .select select.is-active {
<<<<<<< HEAD
border-color: #3273dc;
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
=======
border-color: #00d1b2;
box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
>>>>>>> Add show code
}
.select select[disabled] {
@@ -3040,7 +3083,11 @@ a.box:active {
}
.select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
<<<<<<< HEAD
box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25);
=======
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
>>>>>>> Add show code
}
.select.is-success select {
@@ -3292,7 +3339,11 @@ a.box:active {
.file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
border-color: transparent;
<<<<<<< HEAD
box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25);
=======
box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25);
>>>>>>> Add show code
color: #fff;
}
@@ -4869,7 +4920,11 @@ a.tag:hover {
.breadcrumb a {
align-items: center;
<<<<<<< HEAD
color: #3273dc;
=======
color: #7a7a7a;
>>>>>>> Add show code
display: flex;
justify-content: center;
padding: 0.5em 0.75em;
@@ -8992,6 +9047,7 @@ label.panel-block:hover {
}
}
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
.hero.is-info {
@@ -9015,6 +9071,12 @@ label.panel-block:hover {
>>>>>>> Add show code
.hero.is-link {
>>>>>>> Add link color
=======
.hero.is-link {
=======
.hero.is-info {
>>>>>>> Add show code
>>>>>>> Add show code
background-color: #3273dc;
color: #fff;
}
@@ -9038,11 +9100,16 @@ label.panel-block:hover {
}
@media screen and (max-width: 1023px) {
<<<<<<< HEAD
.hero.is-link .navbar-menu {
=======
.hero.is-info .navbar-menu {
>>>>>>> Add show code
background-color: #3273dc;
}
}
<<<<<<< HEAD
.hero.is-link .navbar-item,
.hero.is-link .navbar-link {
color: rgba(255, 255, 255, 0.7);
@@ -9051,6 +9118,16 @@ label.panel-block:hover {
.hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,
.hero.is-link .navbar-link:hover,
.hero.is-link .navbar-link.is-active {
=======
.hero.is-info .navbar-item,
.hero.is-info .navbar-link {
color: rgba(255, 255, 255, 0.7);
}
.hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,
.hero.is-info .navbar-link:hover,
.hero.is-info .navbar-link.is-active {
>>>>>>> Add show code
background-color: #2366d1;
color: #fff;
}
@@ -9087,11 +9164,16 @@ label.panel-block:hover {
}
@media screen and (max-width: 768px) {
<<<<<<< HEAD
.hero.is-link.is-bold .navbar-menu {
=======
.hero.is-info.is-bold .navbar-menu {
>>>>>>> Add show code
background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%);
}
}
<<<<<<< HEAD
.hero.is-info {
background-color: #209cee;
color: #fff;
@@ -9220,6 +9302,8 @@ label.panel-block:hover {
}
}
=======
>>>>>>> Add show code
.hero.is-success {
background-color: #23d160;
color: #fff;
@@ -10710,6 +10794,14 @@ html.route-index #carbon {
margin-bottom: 1.5rem;
}
.bd-example + .bd-highlight-clipped {
margin-top: -1.5rem;
}
.bd-example + .bd-highlight-clipped:not(:last-child) {
margin-bottom: 1.5rem;
}
.bd-snippet {
border: 1px solid #ffdd57;
margin-top: 2rem;
@@ -10811,6 +10903,7 @@ html.route-index #carbon {
>>>>>>> Add variables data
align-items: stretch;
<<<<<<< HEAD
<<<<<<< HEAD
>>>>>>> Add love data
=======
border-radius: 5px;
@@ -10843,6 +10936,12 @@ html.route-index #carbon {
>>>>>>> Use link instead of primary
=======
>>>>>>> Add variables data
=======
border-radius: 5px;
border-top-left-radius: 0;
=======
>>>>>>> Add show code
>>>>>>> Add show code
display: flex;
justify-content: center;
}
@@ -10870,6 +10969,7 @@ html.route-index #carbon {
=======
align-items: stretch;
<<<<<<< HEAD
<<<<<<< HEAD
>>>>>>> Use link instead of primary
=======
-webkit-box-align: stretch;
@@ -10926,6 +11026,11 @@ html.route-index #carbon {
>>>>>>> Use link instead of primary
=======
>>>>>>> Add variables data
=======
border-radius: 0 5px 5px 0;
=======
>>>>>>> Add show code
>>>>>>> Add show code
display: flex;
flex-direction: column;
}
@@ -11129,6 +11234,47 @@ html.route-index #carbon {
}
}
.bd-highlight-clipped .bd-show {
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
align-items: center;
background-color: rgba(0, 0, 0, 0.9);
background-image: linear-gradient(transparent, transparent 90%, black);
border: none;
color: white;
cursor: pointer;
display: none;
font-size: 1rem;
justify-content: center;
opacity: 0.7;
width: 100%;
}
.bd-highlight-clipped .bd-show strong {
color: currentColor;
font-weight: 600;
}
.bd-highlight-clipped .bd-show:hover {
opacity: 0.8;
}
.bd-highlight-clipped .highlight.bd-is-clipped {
height: 4em;
overflow: hidden;
}
.bd-highlight-clipped .highlight.bd-is-clipped pre {
overflow: hidden;
}
.bd-highlight-clipped .highlight.bd-is-clipped .bd-show {
display: flex;
}
@media screen and (min-width: 769px), print {
.section:not(.is-fullwidth) > .bd-example:not(.is-fullwidth) {
margin-left: 1.5rem;
@@ -11259,11 +11405,19 @@ html.route-index #carbon {
}
#_default_ > a:hover, #_default_ > a:focus {
<<<<<<< HEAD
box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #3273dc;
}
#_default_ > a:active {
box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #3273dc;
=======
box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #00d1b2;
}
#_default_ > a:active {
box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #00d1b2;
>>>>>>> Add show code
}
#_default_ > a span {
@@ -11477,9 +11631,12 @@ html.route-index .hero.is-primary a.column:hover .title strong {
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
=======
=======
>>>>>>> Use link instead of primary
=======
>>>>>>> Add show code
align-items: center;
display: none;
=======
@@ -11492,6 +11649,9 @@ html.route-index .hero.is-primary a.column:hover .title strong {
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
=======
align-items: center;
>>>>>>> Add show code
display: flex;
<<<<<<< HEAD
=======

View File

@@ -111,6 +111,9 @@ document.addEventListener('DOMContentLoaded', function () {
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> Add show code
var $parent = $el.parentNode;
if ($parent && $parent.classList.contains('bd-is-more')) {
var showEl = '<button class="bd-show"><div><span class="icon"><i class="fa fa-code"></i></span> <strong>Show code</strong></div></button>';
@@ -122,6 +125,7 @@ document.addEventListener('DOMContentLoaded', function () {
$el.insertAdjacentHTML('beforeend', expandEl);
}
<<<<<<< HEAD
=======
>>>>>>> Improve snippet
var $parent = $el.parentNode;
@@ -134,6 +138,14 @@ document.addEventListener('DOMContentLoaded', function () {
} else if ($el.firstElementChild.scrollHeight > 480 && $el.firstElementChild.clientHeight <= 480) {
$el.insertAdjacentHTML('beforeend', expandEl);
>>>>>>> Improve snippet
=======
var $parent = $el.parentNode;
if ($parent && $parent.className == 'bd-highlight-clipped') {
var showEl = '<button class="bd-show"><div><span class="icon"><i class="fa fa-code"></i></span> <strong>Show code</strong></div></button>';
$el.classList.add('bd-is-clipped');
$el.insertAdjacentHTML('beforeend', showEl);
>>>>>>> Add show code
>>>>>>> Add show code
}
itemsProcessed++;
@@ -164,6 +176,7 @@ document.addEventListener('DOMContentLoaded', function () {
});
});
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
var $highlightShows = getAll('.highlight .bd-show');
@@ -179,12 +192,24 @@ document.addEventListener('DOMContentLoaded', function () {
$el.parentNode.classList.remove('bd-is-clipped');
>>>>>>> Add show code
=======
=======
>>>>>>> Add show code
var $highlightShows = getAll('.highlight .bd-show');
$highlightShows.forEach(function ($el) {
$el.addEventListener('click', function () {
$el.parentNode.parentNode.classList.remove('bd-is-more-clipped');
<<<<<<< HEAD
>>>>>>> Improve snippet
=======
=======
var $highlightShows = getAll('.bd-highlight-clipped .bd-show');
$highlightShows.forEach(function ($el) {
$el.addEventListener('click', function () {
$el.parentNode.classList.remove('bd-is-clipped');
>>>>>>> Add show code
>>>>>>> Add show code
});
});
}