connect([mapStateToProps], [mapDispatchToProps])(Component)
<script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.5.9/lottie.min.js" type="text/javascript"></script> | |
<script> | |
document.addEventListener("DOMContentLoaded", function() { | |
lottie.loadAnimation({ | |
container: document.getElementById('intro-animation'), | |
renderer: 'svg', | |
loop: true, | |
autoplay: true, | |
animationData: /* PASTE JSON HERE */ | |
}); |
<div ng-controller="loyaltyProgramController as loyaltyProgramCtrl"> | |
<div class="cover-hammock" update-background-image="{{loyaltyProgramCtrl.lp.content.partnerPageImage}}"> | |
<div class="section soft-double--top"> | |
<div class="grid"> | |
<div class="grid__item one-half lap--two-thirds palm--seven-eighths"> | |
<div class="soft"> | |
<h1 class="text--uppercase"> | |
Welcome <span ng-bind-html="loyaltyProgramCtrl.lp.content.companyName"></span> <span ng-bind-html="loyaltyProgramCtrl.lp.content.lpName"></span> | |
</h1> | |
<div class="text--chubby-weight">Stay organized. Go further.</div> |
npm install -g jspm gulp | |
git clone git@github.com:Points/react-jspm-boilerplate.git | |
cd react-jspm-boilerplate | |
npm install | |
jspm install |
[3624, 34, 278, 168, 140, 18883, 1254, 1045, 139, 69, 1252, 623, 646, 637, 612, 1231, 203, 172, 275, 276, 307, 34, 1228, 1258, 1260, 408, 596, 237, 628, 408, 135, 69, 645, 622, 1260, 168, 140, 33, 280, 277, 134, 201, 636, 377, 241, 1231, 1261, 312, 340, 597, 1252, 632, 303, 318, 312, 315, 635, 625, 139, 471, 313, 937, 1257, 307, 940, 315, 305, 646, 987, 244, 336, 285, 309, 336, 591, 639, 272, 633, 337, 313, 649, 286, 1263, 600, 336, 309, 1263, 612, 632, 1253, 913, 336, 1266, 613, 309, 311, 1263, 914, 305, 1261, 602, 339, 310, 1243, 35, 879, 355, 1260, 594, 1892, 1239, 1261, 1006, 244, 1254, 308, 305, 635, 273, 348, 279, 338, 312, 305, 420, 204, 1253, 580, 987, 957, 1114, 104, 639, 638, 1252, 245, 517, 1716, 1267, 1239, 1260, 1239, 1242, 639, 633, 917, 311, 630, 640, 1252, 615, 633, 1258, 599, 639, 1240, 1262, 1253, 413, 168, 4417, 3151, 1169]
mp3: https://dl.dropboxusercontent.com/u/7119407/02_How_Did_I_Get_Here.mp3
var specHelper = (function(){ | |
var defaultUser = {...} | |
var mockedServices; | |
var files = fs.readdirSync('./service_mocks'); | |
//load all the mocked services | |
function loadMockServices(){ | |
mockedServices = {}; | |
_.forEach(files, function(file) { | |
var mock = require(path.join(__dirname, '/service_mocks', file); |
Available HTML | |
<p></p> | |
<a href="http://someurl.com"></a> | |
<ul></ul> | |
<ol></ol> | |
<li></li> | |
<span></span> | |
Available classes | |
text--success //usually green, signifies positive things |
{ | |
fields: [ | |
{ | |
name: "lastName" | |
minLength: 1, | |
maxLength: 100, | |
pattern: 'regexPattern', | |
type: 'text', | |
labels: { | |
fr: "Last Name", |
<form ng-submit="signInForm.$valid && loginCtrl.login()" class="form" name="signInForm" novalidate> | |
<!--Email --> | |
<div class="form__item"> | |
<label>Email</label> | |
<input name="email" | |
type="email" | |
ng-model="loginCtrl.creds.email" | |
ng-model-options="{ 'updateOn': 'blur'}" | |
required |
<form name="signInForm"> | |
<label>Email</label> | |
<input type="text" name="email"> | |
<label>Password</label> | |
<input type="password" name="password"> | |
<button type="submit">Sign In</button> | |