diff --git a/src/develop/Develop.js b/src/develop/Develop.js
index 487a59a..ebdcc25 100644
--- a/src/develop/Develop.js
+++ b/src/develop/Develop.js
@@ -19,6 +19,7 @@ var DashboardDoc = require('./patterns/DashboardDoc');
var NavigationDoc = require('./patterns/NavigationDoc');
var MarqueeDoc = require('./components/MarqueeDoc');
var WorldMapDoc = require('./components/WorldMapDoc');
+var ResourcesDoc = require('./components/ResourcesDoc');
var ContentCardDoc = require('./components/ContentCardDoc');
var StackDoc = require('./components/StackDoc');
@@ -49,6 +50,7 @@ var CONTENTS = [
contents: [
{route: 'develop_box', label: 'Box', component: BoxDoc},
{route: 'develop_marquee', label: 'Marquee', component: MarqueeDoc},
+ {route: 'develop_resources', label: 'Resources', component: ResourcesDoc},
{route: 'develop_content-card', label: 'ContentCard', component: ContentCardDoc},
{route: 'develop_stack', label: 'Stack', component: StackDoc},
{route: 'develop_world-map', label: 'WorldMap', component: WorldMapDoc}
diff --git a/src/develop/components/ResourcesDoc.js b/src/develop/components/ResourcesDoc.js
new file mode 100644
index 0000000..4c04c86
--- /dev/null
+++ b/src/develop/components/ResourcesDoc.js
@@ -0,0 +1,95 @@
+// (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP
+
+var React = require('react');
+var jsxToString = require('jsx-to-string');
+var DocsArticle = require('../../DocsArticle');
+var Resources = require('../../modules/Resources');
+
+Resources.displayName = 'Resources';
+
+var inline = "";
+
+var ResourcesDoc = React.createClass({
+
+ contextTypes: {
+ routePrefix: React.PropTypes.string.isRequired
+ },
+
+ _renderCode(name, jsx) {
+ return (
+
+
{name}
+
+ {jsx}
+
+
+ {jsxToString(jsx)}
+
+
+ );
+ },
+
+ render: function() {
+ var simpleResources = (
+ console.log('Hello')
+ },
+ {
+ thumbnail: '/docs/img/resource-img-3.png',
+ title: 'Video -1:41',
+ description: 'Real Academia de Bellas Artes Ehances Experience with Mobile App'
+ }
+ ]}
+ />
+ );
+
+ return (
+
+
+ The Resources module.
+ {inline}
+
+
+ Resources Options
+
+ tiles {`[{thumbnail: , title: , description: , link: }, ...]`}
+ - An array of resource tiles. Required.
+
+
+
+
+ ResourcesTile Options
+
+ thumbnail {'{string}'}
+ - Url path to image. Required.
+ title {'{string}'}
+ - Resource title. Required.
+ description {'{string}'}
+ - Resource description. Required.
+ link {'{string}'}
+ - URL where the link should go.
+
+
+
+
+ Examples
+
+ {this._renderCode('Default', simpleResources)}
+
+
+ );
+ }
+});
+
+module.exports = ResourcesDoc;
diff --git a/src/examples/Examples.js b/src/examples/Examples.js
index 0bbfe01..252f05b 100644
--- a/src/examples/Examples.js
+++ b/src/examples/Examples.js
@@ -16,6 +16,7 @@ var SocialFacebookIcon = require('grommet/components/icons/base/SocialFacebook')
var Marquee = require('../modules/Marquee');
var ContentCard = require('../modules/ContentCard');
var MarqueeParallax = require('../modules/MarqueeParallax');
+var Resources = require('../modules/Resources');
var Header = require('./Header');
var Examples = React.createClass({
@@ -243,6 +244,27 @@ var Examples = React.createClass({
type: 'mp4'
}}
/>
+ console.log('Hello')
+ },
+ {
+ thumbnail: '/docs/img/resource-img-3.png',
+ title: 'Video -1:41',
+ description: 'Real Academia de Bellas Artes Ehances Experience with Mobile App'
+ }
+ ]}
+ />
+ {subHeader}
+
+ );
+ }
+
+ const resourceTiles = tiles.map((tile, key) => {
+ return ;
+ });
+
+ return (
+
+
+ {header}
+ {subHeaderMarkup}
+
+
+ {resourceTiles}
+
+
+ );
+ }
+};
+
+Resources.propTypes = {
+ header: PropTypes.string,
+ subHeader: PropTypes.string,
+ tiles: PropTypes.arrayOf(PropTypes.shape({
+ thumbnail: PropTypes.string.isRequired,
+ title: PropTypes.string.isRequired,
+ description: PropTypes.string.isRequired,
+ link: PropTypes.string
+ })).isRequired
+};
+
+Resources.defaultProps = {
+ header: 'Resources'
+};
diff --git a/src/modules/ResourcesTile.js b/src/modules/ResourcesTile.js
new file mode 100644
index 0000000..939608c
--- /dev/null
+++ b/src/modules/ResourcesTile.js
@@ -0,0 +1,65 @@
+// (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP
+
+import React, { Component, PropTypes } from 'react';
+import classnames from 'classnames';
+import Box from 'grommet/components/Box';
+import Heading from 'grommet/components/Heading';
+import Tile from 'grommet/components/Tile';
+import Paragraph from 'grommet/components/Paragraph';
+
+const CLASS_ROOT = 'resources-tile';
+
+export default class ResourcesTile extends Component {
+ constructor (props) {
+ super(props);
+ this._handleClick = this._handleClick.bind(this);
+ }
+
+ _handleClick () {
+ window.location.href = this.props.link;
+ }
+
+ render () {
+ const {
+ className,
+ thumbnail,
+ title,
+ description,
+ link,
+ ...props
+ } = this.props;
+
+ const classes = classnames(
+ CLASS_ROOT,
+ className
+ );
+
+ return (
+
+
+
+ {title}
+ {description}
+
+
+ );
+ }
+};
+
+ResourcesTile.propTypes = {
+ title: PropTypes.string.isRequired,
+ description: PropTypes.string.isRequired,
+ thumbnail: PropTypes.string.isRequired,
+ link: PropTypes.string
+};
diff --git a/src/scss/_objects.modules.scss b/src/scss/_objects.modules.scss
index 2426b4e..78925ea 100644
--- a/src/scss/_objects.modules.scss
+++ b/src/scss/_objects.modules.scss
@@ -1,5 +1,7 @@
@import 'objects.marquee';
@import 'objects.marquee-parallax';
+@import 'objects.resources';
+@import 'objects.resources-tile';
@import 'objects.content-card';
@import 'objects.stack';
diff --git a/src/scss/_objects.resources-tile.scss b/src/scss/_objects.resources-tile.scss
new file mode 100644
index 0000000..06c9738
--- /dev/null
+++ b/src/scss/_objects.resources-tile.scss
@@ -0,0 +1,13 @@
+.resources-tile {
+ background-color: $background-color;
+
+ &__thumbnail {
+ width: $graphic-small-size;
+ height: $graphic-small-size;
+ }
+
+ .grommetux-heading--uppercase {
+ letter-spacing: normal;
+ }
+}
+
diff --git a/src/scss/_objects.resources.scss b/src/scss/_objects.resources.scss
new file mode 100644
index 0000000..688c83b
--- /dev/null
+++ b/src/scss/_objects.resources.scss
@@ -0,0 +1,13 @@
+.resources {
+
+ .grommetux-tiles {
+ @include media-query(lap-and-up) {
+ margin: halve(-$inuit-base-spacing-unit);
+
+ > .grommetux-tile {
+ flex-basis: $inuit-base-spacing-unit * 17;
+ }
+ }
+ }
+}
+