Skip to content

Commit

Permalink
initial draft of a kebab pattern and a card pattern
Browse files Browse the repository at this point in the history
  • Loading branch information
jgiardino committed Nov 7, 2016
1 parent 87ae6d8 commit 90fb640
Show file tree
Hide file tree
Showing 14 changed files with 236 additions and 4 deletions.
12 changes: 8 additions & 4 deletions source/_patterns/basics/dropdowns/00-dropdown.hbs
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
<div class="dropdown {{ dropdownState }}" aria-labelledby="{{ dropdownAriaLabelledby }}">
<button type="button" class="btn {{ btnClass }} dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ dropdownText }}
<div class="dropdown {{ dropdownState }} {{#if isKebab}}pf-dropdown__kebab{{/if}} {{#if pullright}}pull-right{{/if}}" aria-labelledby="{{ dropdownAriaLabelledby }}">
<button type="button" class="btn {{#if isKebab}}btn-link{{else}}{{ btnClass }}{{/if}} dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{#if isKebab}}
<span class="fa fa-ellipsis-v"></span>
{{else}}
{{ dropdownText }}
{{/if}}
</button>
<div class="dropdown-menu">
<div class="dropdown-menu {{#if pullright}}dropdown-menu-right{{/if}}">
{{#each dropdownList}}
<a class="dropdown-item" href="#">{{this}}</a>
{{/each}}
Expand Down
2 changes: 2 additions & 0 deletions source/_patterns/basics/dropdowns/02-dropdown-styles.hbs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{{> basics-dropdown dropdownText= "On Right" btnClass="btn-primary" pullright=true }}
{{> basics-dropdown dropdownText= "Primary" btnClass="btn-primary" }}
{{> basics-dropdown dropdownText= "Secondary" btnClass="btn-secondary" }}
{{> basics-dropdown dropdownText= "Success" btnClass="btn-success" }}
{{> basics-dropdown dropdownText= "Info" btnClass="btn-info" }}
{{> basics-dropdown dropdownText= "Warning" btnClass="btn-warning" }}
{{> basics-dropdown dropdownText= "Danger" btnClass="btn-danger" }}
{{> basics-dropdown isKebab= true }}
3 changes: 3 additions & 0 deletions source/_patterns/basics/dropdowns/03-dropdown-kebab.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{{> basics-dropdown isKebab= true }}
{{> basics-dropdown isKebab= true dropdownState="open" }}
<div>Paragraph included to get <br />past this dropdown menu<br /><br /></div>
Empty file.
14 changes: 14 additions & 0 deletions source/_patterns/components/03-cards/00-card-footer.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{#if isCardFooter}}
{{else}}
<div class="card ">
<div class="card-block">
<p class="card-text">Lorem ipsum dolor sit amet <a href> More Information</a>.</p>
{{/if}}
</div>
{{#if cardFooter}}
<div class="card-footer text-muted">
{{cardFooterContents}}
</div>
{{/if}}

</div>
Empty file.
38 changes: 38 additions & 0 deletions source/_patterns/components/03-cards/00-card-heading.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

<div class="card {{#if textcenter}}text-xs-center{{/if}} {{#if multiselect}}card-pf-view-multi-select{{/if}}">
{{#if cardHeader}}
<div class="card-header">
{{#if cardKebab}}
{{> basics-dropdown isKebab=true pullright=true dropdownState="open" }}
{{/if}}
<{{cardTitleSize}} class="card-title">{{cardTitle}}</{{cardTitleSize}}>
</div>
<div class="card-block">
{{else}}
<div class="card-block">
{{#if multiselect}}
<div class="card-pf-view-checkbox">
<input type="checkbox">
</div>
{{/if}}
{{#if cardTitleIconLarge}}
<div class="pf-card__top-element">
{{> basics-icon iconFamily="pficon" iconName="pficon-middleware" iconModifier="pf-icon--circle pf-icon--lg" }}
</div>
{{/if}}
{{#if cardTitleIconMedium}}
<div class="pf-card__top-element">
{{> basics-icon iconFamily="pficon" iconName="pficon-middleware" iconModifier="pf-icon--circle pf-icon--md" }}
</div>
{{/if}}
{{#if cardKebab}}
{{> basics-dropdown isKebab=true pullright=true }}
{{/if}}
<{{cardTitleSize}} class="card-title">{{cardTitle}}</{{cardTitleSize}}>
{{/if}}
{{#if isCardHeader}}
{{else}}
<p class="card-text">Lorem ipsum dolor sit amet <a href> More Information</a>.</p>
</div>
</div>
{{/if}}
Empty file.
40 changes: 40 additions & 0 deletions source/_patterns/components/03-cards/00-card.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@

<div class="card {{#if textcenter}}text-xs-center{{/if}} {{#if multiselect}}card-pf-view-multi-select{{/if}}">
{{#if cardHeader}}
<div class="card-header">
{{#if cardKebab}}
{{> basics-dropdown isKebab=true pullright=true }}
{{/if}}
<{{cardTitleSize}} class="card-title">{{cardTitle}}</{{cardTitleSize}}>
</div>
<div class="card-block">
{{else}}
<div class="card-block">
{{#if multiselect}}
<div class="card-pf-view-checkbox">
<input type="checkbox">
</div>
{{/if}}
{{#if cardTitleIconLarge}}
<div class="pf-card__top-element">
{{> basics-icon iconFamily="pficon" iconName="pficon-middleware" iconModifier="pf-icon--circle pf-icon--lg" }}
</div>
{{/if}}
{{#if cardTitleIconMedium}}
<div class="pf-card__top-element">
{{> basics-icon iconFamily="pficon" iconName="pficon-middleware" iconModifier="pf-icon--circle pf-icon--md" }}
</div>
{{/if}}
{{#if cardKebab}}
{{> basics-dropdown isKebab=true pullright=true }}
{{/if}}
<{{cardTitleSize}} class="card-title">{{cardTitle}}</{{cardTitleSize}}>
{{/if}}
<p class="card-text">{{{cardContents}}}</p>
</div>
{{#if cardFooter}}
<div class="card-footer text-muted">
{{cardFooterContents}}
</div>
{{/if}}
</div>
6 changes: 6 additions & 0 deletions source/_patterns/components/03-cards/00-card.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Card
---
## Overview

This is a Bootstrap component, [see complete documentation here](http://v4-alpha.getbootstrap.com/components/card/)
81 changes: 81 additions & 0 deletions source/_patterns/components/03-cards/01-card-sizes.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<p class="figure-caption"><strong>Columns</strong> This example is using bootstrap wrapper .card-columns</p>
<div class="card-columns">
{{> components-card cardTitleSize="h2" cardTitle="First card" cardContents="<strong>Created On</strong> 2015-03-01 02:00 AM<br />Never Expires" textcenter=true cardTitleIconLarge=true }}
{{> components-card cardTitleSize="h2" cardTitle="Second card" cardContents="<strong>Created On</strong> 2015-03-01 02:00 AM<br />Never Expires" textcenter=true cardTitleIconLarge=true }}
{{> components-card cardTitleSize="h2" cardTitle="Third card" cardContents="<strong>Created On</strong> 2015-03-01 02:00 AM<br />Never Expires" textcenter=true cardTitleIconLarge=true }}
{{> components-card cardTitleSize="h2" cardTitle="Fourth card" cardContents="<strong>Created On</strong> 2015-03-01 02:00 AM<br />Never Expires" textcenter=true cardTitleIconLarge=true }}
{{> components-card cardTitleSize="h2" cardTitle="Fifth card" cardContents="<strong>Created On</strong> 2015-03-01 02:00 AM<br />Never Expires" textcenter=true cardTitleIconLarge=true }}
{{> components-card cardTitleSize="h2" cardTitle="Sixth card" cardContents="<strong>Created On</strong> 2015-03-01 02:00 AM<br />Never Expires" textcenter=true cardTitleIconLarge=true }}
</div>

<p class="mt-pf-xxxl figure-caption"><strong>Groups</strong> This example is using bootstrap wrapper .card-group</p>
<div class="card-group">
{{> components-card cardTitleSize="h3" cardTitle="Title" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." multiselect=true }}
{{> components-card cardTitleSize="h3" cardTitle="Second card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." multiselect=true }}
{{> components-card cardTitleSize="h3" cardTitle="Third card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." multiselect=true }}
{{> components-card cardTitleSize="h3" cardTitle="Fourth card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." multiselect=true }}
</div>
<div class="card-group">
{{> components-card cardTitleSize="h3" cardTitle="Fifth card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." multiselect=true }}
{{> components-card cardTitleSize="h3" cardTitle="Sixth card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." multiselect=true }}
</div>

<p class="mt-pf-xxxl figure-caption"><strong>Deck</strong> This example is using bootstraps wrapper .card-deck</p>
<p class="figure-caption">These cards also include the text-xs-center class.</p>

<div class="card-deck">
{{> components-card cardTitleSize="h3" cardTitle="Title" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardKebab=true }}
{{> components-card cardTitleSize="h3" cardTitle="Second card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardKebab=true }}
{{> components-card cardTitleSize="h3" cardTitle="Third card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardKebab=true }}
{{> components-card cardTitleSize="h3" cardTitle="Fourth card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardKebab=true }}
</div>
<div class="card-deck">
{{> components-card cardTitleSize="h3" cardTitle="Fifth card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardKebab=true }}
{{> components-card cardTitleSize="h3" cardTitle="Sixth card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardKebab=true }}
</div>

<p class="mt-pf-xxxl figure-caption"><strong>Grid</strong> This example is using our current application of .col-sm-4 etc... classes per card. </p>
<p class="figure-caption">These cards also include the text-xs-center class.</p>
<div class="row">
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card cardTitleSize="h4" cardTitle="First Card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardTitleIconMedium=true }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card cardTitleSize="h4" cardTitle="Second Card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardTitleIconMedium=true }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card cardTitleSize="h4" cardTitle="Third Card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardTitleIconMedium=true }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card cardTitleSize="h4" cardTitle="Fourth Card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardTitleIconMedium=true }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card cardTitleSize="h4" cardTitle="Fifth Card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardFooter=true cardFooterContents="Card Footer" }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card cardTitleSize="h4" cardTitle="Sixth Card" cardContents="Lorem ipsum dolor sit amet <a href> More Information</a>." textcenter=true cardHeader=true cardHeaderContents="Card Header" }}
</div>
</div>

<p class="mt-pf-xxxl figure-caption"><strong>Grid</strong> This example is using our current application of .col-sm-4 etc... classes per card. </p>
<p class="figure-caption">These cards also include the text-xs-center class.</p>
<div class="row">
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card-heading cardTitleSize="h4" cardTitle="First Card" textcenter=true cardTitleIconLarge=true }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card-heading cardTitleSize="h4" cardTitle="Second Card" textcenter=true cardTitleIconMedium=true }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card-heading cardTitleSize="h4" cardTitle="Third Card" textcenter=true isCardHeader=true }}<p class="card-text"><strong>Created On</strong> 2015-03-01 02:00 AM<br />Never Expires</p></div></div>
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card-heading cardTitleSize="h4" cardTitle="Fourth Card" textcenter=true cardHeader=true cardKebab=true }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card-heading cardTitleSize="h4" cardTitle="Fifth Card" textcenter=true cardKebab=true isCardHeader=true }}<p class="card-text"><strong>Created On</strong> 2015-03-01 02:00 AM<br />Never Expires</p>{{> components-card-footer isCardFooter=true cardFooter=true cardFooterContents="Card footer." }}
</div>
<div class="col-xs-12 col-sm-4 col-md-3 col-lg-2">
{{> components-card-heading cardTitleSize="h4" cardTitle="Sixth Card" textcenter=true multiselect=true }}
</div>
</div>
6 changes: 6 additions & 0 deletions source/_patterns/components/03-cards/01-card-sizes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Card
---
## Overview

This is a Bootstrap component, [see complete documentation here](http://v4-alpha.getbootstrap.com/components/card/)
21 changes: 21 additions & 0 deletions source/scss/_pf-basic-dropdowns.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
//
// Dropdowns
// --------------------------------------------------

// Kebab dropdown
.pf-dropdown__kebab {
.dropdown-toggle::after {
display: none;
}
.btn-link {
color: $color-pf-black-900;
font-size: $font-size-relative-lg;
line-height: 1;
padding: 0 0 $pf-spacer-xxxs;
&:active,
&:focus,
&:hover {
color: $color-pf-blue-500;
}
}
}
17 changes: 17 additions & 0 deletions source/scss/_pf-basic-icons.scss
Original file line number Diff line number Diff line change
Expand Up @@ -237,3 +237,20 @@
border: 2px solid $color-pf-blue-300;
border-radius: 50%;
}
// Kebab dropdown
.pf-dropdown__kebab {
.dropdown-toggle::after {
display: none;
}
.btn-link {
color: $color-pf-black-900;
font-size: $font-size-relative-lg;
line-height: 1;
padding: 0 0 $pf-spacer-xxxs;
&:active,
&:focus,
&:hover {
color: $color-pf-blue-500;
}
}
}

0 comments on commit 90fb640

Please sign in to comment.