resolving conflict

This commit is contained in:
JUDIT GRESKOVITS 2017-01-31 15:35:12 +00:00
commit 71743f6e9c
17 changed files with 261 additions and 602 deletions

View File

@ -53,6 +53,7 @@
"redux-thunk": "^2.1.0",
"require-hacker": "^2.1.4",
"reselect": "^2.5.4",
"style-loader": "^0.13.1",
"styled-components": "^1.3.0",
"svg-react-loader": "^0.3.7",
"understood": "^1.0.1",

View File

@ -1,19 +1,38 @@
const React = require('react');
const styled = require('styled-components');
const Row = require('@ui/components/row');
const Column = require('@ui/components/column');
const Button = require('@ui/components/button');
const {
default: Styled
} = styled;
// TOOD: Require from UI Components - causes issue ATM.
const Select = require('react-select');
require('react-select/dist/react-select.css');
const SelectWrapper = Styled.div`
.Select-menu-outer {
margin-top: 48px;
}
.Select-arrow {
position: relative;
top: -4px;
}
`;
const Invite = React.createClass({
propTypes: {
addMemember: React.PropTypes.func,
// UI: React.PropTypes.object,
handleToggle: React.PropTypes.func,
// people: React.PropTypes.array,
parentIndex: React.PropTypes.number,
platformMembers: React.PropTypes.array,
},
@ -31,6 +50,26 @@ const Invite = React.createClass({
}));
},
handleSubmit(e) {
e.preventDefault();
const data = {
member: {
name: this.state.selectValue.label,
email: this.state.selectValue.value,
role: 'Unassigned',
status: 'Sent invitation',
},
parentIndex: this.props.parentIndex,
};
this.props.addMemember(data, () => {
this.setState({
selectValue: ''
});
});
},
render() {
const {
@ -41,7 +80,10 @@ const Invite = React.createClass({
const InputStyle = {
float: 'left',
width: '75%'
width: '75%',
minHeight: '50px',
marginBottom: '20px',
paddingTop: '10px'
};
const AddButtonStyle = {
@ -69,21 +111,26 @@ const Invite = React.createClass({
<Row>
<Column xs={12}>
{/*TODO: Fix why there are issues with webpack and nodemodules*/}
<Select
onChange={handleSelectChange}
options={selectData}
placeholder="Enter an email address or password"
style={InputStyle}
value={this.state.selectValue}
/>
<Button
secondary
style={AddButtonStyle}
>
Add
</Button>
<form onSubmit={this.handleSubmit}>
<SelectWrapper>
<Select.Creatable
aria-label="member select"
onChange={handleSelectChange}
onNewOptionClick={handleSelectChange}
options={selectData}
placeholder="Enter an email address or password"
style={InputStyle}
value={this.state.selectValue}
/>
</SelectWrapper>
<Button
secondary
style={AddButtonStyle}
type="submit"
>
Add
</Button>
</form>
</Column>
</Row>

View File

@ -1,12 +1,23 @@
const React = require('react');
const Styled = require('styled-components');
const Table = require('@ui/components/table-data-table');
const Checkbox = require('@ui/components/checkbox');
const fns = require('@ui/shared/functions');
const PersonStatus = require('./person-status');
const PersonRole = require('./person-role');
const PersonDelete = require('./person-delete');
const {
default: styled
} = Styled;
const {
remcalc
} = fns;
const PeopleTable = (props) => {
const {
@ -78,11 +89,17 @@ const PeopleTable = (props) => {
};
});
const StyledWrapper = styled.div`
margin-top: ${remcalc(40)};
`;
return (
<Table
columns={columns}
data={data}
/>
<StyledWrapper>
<Table
columns={columns}
data={data}
/>
</StyledWrapper>
);
};

View File

@ -17,6 +17,7 @@ const {
} = selectors;
const {
addMemberToOrg,
orgHandleInviteToggle,
orgHandlePeopleRoleTooltip,
orgHandlePeopleStatusTooltip,
@ -43,6 +44,8 @@ const mapStateToProps = (state, {
});
const mapDispatchToProps = (dispatch) => ({
addMemember: (member, callback) =>
dispatch(addMemberToOrg(member, callback)),
handleToggle: () => dispatch(orgHandleInviteToggle()),
handleStatusTooltip: (id) => dispatch(orgHandlePeopleStatusTooltip(id)),
handleRoleTooltip: (id) => dispatch(orgHandlePeopleRoleTooltip(id)),

View File

@ -17,6 +17,7 @@ const {
} = selectors;
const {
addMemberToProject,
projectHandleInviteToggle,
projectHandlePeopleRoleTooltip,
projectHandlePeopleStatusTooltip,
@ -43,6 +44,8 @@ const mapStateToProps = (state, {
});
const mapDispatchToProps = (dispatch) => ({
addMemember: (member, callback) =>
dispatch(addMemberToProject(member, callback)),
handleToggle: () => dispatch(projectHandleInviteToggle()),
handleStatusTooltip: (id) => dispatch(projectHandlePeopleStatusTooltip(id)),
handleRoleTooltip: (id) => dispatch(projectHandlePeopleRoleTooltip(id)),

View File

@ -479,7 +479,7 @@
},
"orgs": {
"ui": {
"invite_toggled": true,
"invite_toggled": false,
"member_status_tooltip": false,
"member_role_tooltip": false,
"sections": [
@ -535,7 +535,7 @@
},
"projects": {
"ui": {
"invite_toggled": true,
"invite_toggled": false,
"member_status_tooltip": false,
"member_role_tooltip": false,
"sections": [

View File

@ -8,6 +8,8 @@ const {
const APP = constantCase(process.env['APP_NAME']);
const projectMemberActions = {
addMemberToProject:
createAction(`${APP}/PROJECT_ADD_MEMBER`),
projectHandleInviteToggle:
createAction(`${APP}/PROJECT_HANDLE_INVITE_MEMBER_TOGGLE`),
projectHandlePeopleStatusTooltip:
@ -21,6 +23,8 @@ const projectMemberActions = {
};
const orgMemberActions = {
addMemberToOrg:
createAction(`${APP}/ORG_ADD_MEMBER`),
orgHandleInviteToggle:
createAction(`${APP}/ORG_HANDLE_INVITE_MEMBER_TOGGLE`),
orgHandlePeopleStatusTooltip:

View File

@ -7,6 +7,7 @@ const {
} = ReduxActions;
const {
addMemberToOrg,
orgHandleInviteToggle,
orgHandlePeopleRoleTooltip,
orgHandlePeopleStatusTooltip,
@ -15,6 +16,28 @@ const {
} = actions;
module.exports = handleActions({
[addMemberToOrg.toString()]: (state, action) => {
const {
parentIndex,
member,
} = action.payload;
return {
...state,
data: [
...state.data.slice(0, parentIndex),
{
...state.data[parentIndex],
members: [
...state.data[parentIndex].members,
member
]
},
...state.data.slice(parentIndex + 1),
]
};
},
[orgHandleInviteToggle.toString()]: (state, action) => {
return {
...state,

View File

@ -8,6 +8,7 @@ const {
} = ReduxActions;
const {
addMemberToProject,
projectHandleInviteToggle,
projectHandlePeopleRoleTooltip,
projectHandlePeopleStatusTooltip,
@ -21,6 +22,28 @@ const {
} = fns;
module.exports = handleActions({
[addMemberToProject.toString()]: (state, action) => {
const {
parentIndex,
member,
} = action.payload;
return {
...state,
data: [
...state.data.slice(0, parentIndex),
{
...state.data[parentIndex],
members: [
...state.data[parentIndex].members,
member
]
},
...state.data.slice(parentIndex + 1),
]
};
},
[projectHandleInviteToggle.toString()]: (state, action) => {
return {
...state,

View File

@ -2,7 +2,7 @@
<html lang='en-US'>
<head>
<title>Joyent Frontend</title>
<link rel="stylesheet" href="../../ui/src/vendor/normalize.css">
<link rel="stylesheet" href="/static/vendor/normalize.min.css">
</head>
<body>
<div id='root'></div>

View File

@ -3,8 +3,8 @@
"@tomgco/joyent-portal-ui@alpha":
version "0.0.1-554"
resolved "https://registry.yarnpkg.com/@tomgco/joyent-portal-ui/-/joyent-portal-ui-0.0.1-554.tgz#de27c9ff4b630e32303d333690144bdc08401f85"
version "0.0.1-577"
resolved "https://registry.yarnpkg.com/@tomgco/joyent-portal-ui/-/joyent-portal-ui-0.0.1-577.tgz#f49c9c71a52e36fa8b23b702858222ecce1096be"
dependencies:
build-array "^1.0.0"
chart.js "^2.4.0"
@ -209,10 +209,6 @@ array-find-index@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
array-findindex-polyfill@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/array-findindex-polyfill/-/array-findindex-polyfill-0.1.0.tgz#c362665bec7645f22d7a3c3aac9793f71c3622ef"
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
@ -299,11 +295,11 @@ auto-bind@^0.1.0:
resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-0.1.0.tgz#7a29efc8c2388d3d578e02fc2df531c81ffc1ee1"
autoprefixer@^6.3.1:
version "6.7.0"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.0.tgz#88992cf04df141e7b8293550f2ee716c565d1cae"
version "6.7.1"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.1.tgz#d14d0842f6ef90741cfb2b1e8152a04e83b39ed2"
dependencies:
browserslist "~1.6.0"
caniuse-db "^1.0.30000613"
browserslist "^1.7.1"
caniuse-db "^1.0.30000617"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
postcss "^5.2.11"
@ -1381,12 +1377,12 @@ browserify-zlib@^0.1.4:
dependencies:
pako "~0.2.0"
browserslist@^1.0.1, browserslist@^1.4.0, browserslist@^1.5.2, browserslist@~1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.6.0.tgz#85fb7c993540d3fda31c282baf7f5aee698ac9ee"
browserslist@^1.0.1, browserslist@^1.4.0, browserslist@^1.5.2, browserslist@^1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.1.tgz#cc9bd193979a2a4b09fdb3df6003fefe48ccefe1"
dependencies:
caniuse-db "^1.0.30000613"
electron-to-chromium "^1.2.0"
caniuse-db "^1.0.30000617"
electron-to-chromium "^1.2.1"
buf-compare@^1.0.0:
version "1.0.1"
@ -1500,9 +1496,9 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.3.0"
shelljs "^0.7.0"
caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000613:
version "1.0.30000615"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000615.tgz#605bc071db4c5031acfb5e469c3b50a531dd5d04"
caniuse-db@^1.0.30000346, caniuse-db@^1.0.30000617:
version "1.0.30000617"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000617.tgz#9b7fd81f58a35526315c83e60cb5f076f0beb392"
capture-stack-trace@^1.0.0:
version "1.0.0"
@ -1854,9 +1850,9 @@ constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
content-disposition@0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b"
content-disposition@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
content-type-parser@^1.0.1:
version "1.0.1"
@ -1988,7 +1984,7 @@ css-color-names@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
css-loader@^0.26.1:
css-loader:
version "0.26.1"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.1.tgz#2ba7f20131b93597496b3e9bb500785a49cd29ea"
dependencies:
@ -2083,9 +2079,9 @@ cssesc@^0.1.0:
postcss-value-parser "^3.2.3"
postcss-zindex "^2.0.1"
csso@~2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/csso/-/csso-2.2.1.tgz#51fbb5347e50e81e6ed51668a48490ae6fe2afe2"
csso@~2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.1.tgz#4f8d91a156f2f1c2aebb40b8fb1b5eb83d94d3b9"
dependencies:
clap "^1.0.9"
source-map "^0.5.3"
@ -2181,9 +2177,9 @@ d3-geo@1.4.0:
dependencies:
d3-array "1"
d3-hierarchy@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.0.3.tgz#986b4925e81f1e0b4087e9442850f950cf27d338"
d3-hierarchy@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.1.tgz#6deefccdf19f370dfc77b6538284e953e0e769b3"
d3-interpolate@1, d3-interpolate@1.1.3:
version "1.1.3"
@ -2282,8 +2278,8 @@ d3-zoom@1.1.1:
d3-transition "1"
d3@^4.4.1:
version "4.4.4"
resolved "https://registry.yarnpkg.com/d3/-/d3-4.4.4.tgz#15d4e455687bc7a8ff2eeb4b25354a6ba4f24f57"
version "4.5.0"
resolved "https://registry.yarnpkg.com/d3/-/d3-4.5.0.tgz#b68412b84ace3c18a49fee43be1b212b13a23f97"
dependencies:
d3-array "1.0.2"
d3-axis "1.0.4"
@ -2298,7 +2294,7 @@ d3@^4.4.1:
d3-force "1.0.4"
d3-format "1.0.2"
d3-geo "1.4.0"
d3-hierarchy "1.0.3"
d3-hierarchy "1.1.1"
d3-interpolate "1.1.3"
d3-path "1.0.3"
d3-polygon "1.0.2"
@ -2523,7 +2519,7 @@ ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
electron-to-chromium@^1.2.0:
electron-to-chromium@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.1.tgz#63ac7579a1c5bedb296c8607621f2efc9a54b968"
@ -2749,8 +2745,8 @@ eslint-plugin-standard@^2.0.1:
resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3"
eslint@^3.13.1:
version "3.14.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.0.tgz#2c617e5f782fda5cbee5bc8be7ef5053af8e63a3"
version "3.14.1"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.1.tgz#8a62175f2255109494747a1b25128d97b8eb3d97"
dependencies:
babel-code-frame "^6.16.0"
chalk "^1.1.3"
@ -2888,12 +2884,12 @@ expand-range@^1.8.1:
fill-range "^2.1.0"
express@^4.13.3:
version "4.14.0"
resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66"
version "4.14.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.14.1.tgz#646c237f766f148c2120aff073817b9e4d7e0d33"
dependencies:
accepts "~1.3.3"
array-flatten "1.1.1"
content-disposition "0.5.1"
content-disposition "0.5.2"
content-type "~1.0.2"
cookie "0.3.1"
cookie-signature "1.0.6"
@ -2902,19 +2898,19 @@ express@^4.13.3:
encodeurl "~1.0.1"
escape-html "~1.0.3"
etag "~1.7.0"
finalhandler "0.5.0"
finalhandler "0.5.1"
fresh "0.3.0"
merge-descriptors "1.0.1"
methods "~1.1.2"
on-finished "~2.3.0"
parseurl "~1.3.1"
path-to-regexp "0.1.7"
proxy-addr "~1.1.2"
proxy-addr "~1.1.3"
qs "6.2.0"
range-parser "~1.2.0"
send "0.14.1"
serve-static "~1.11.1"
type-is "~1.6.13"
send "0.14.2"
serve-static "~1.11.2"
type-is "~1.6.14"
utils-merge "1.0.0"
vary "~1.1.0"
@ -3008,14 +3004,14 @@ filled-array@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84"
finalhandler@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7"
finalhandler@0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.1.tgz#2c400d8d4530935bc232549c5fa385ec07de6fcd"
dependencies:
debug "~2.2.0"
escape-html "~1.0.3"
on-finished "~2.3.0"
statuses "~1.3.0"
statuses "~1.3.1"
unpipe "~1.0.0"
find-cache-dir@^0.1.1:
@ -3491,8 +3487,8 @@ ignore-by-default@^1.0.0, ignore-by-default@^1.0.1:
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
ignore@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435"
version "3.2.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410"
immutable@^3.8.1:
version "3.8.1"
@ -3936,8 +3932,8 @@ istanbul-lib-source-maps@^1.1.0:
source-map "^0.5.3"
istanbul-reports@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.0.tgz#24b4eb2b1d29d50f103b369bd422f6e640aa0777"
version "1.0.1"
resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.1.tgz#9a17176bc4a6cbebdae52b2f15961d52fa623fbc"
dependencies:
handlebars "^4.0.3"
@ -3968,20 +3964,13 @@ js-tokens@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.0.tgz#a2f2a969caae142fb3cd56228358c89366957bd1"
js-yaml@^3.2.7, js-yaml@^3.5.1:
js-yaml@^3.2.7, js-yaml@^3.5.1, js-yaml@~3.7.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
dependencies:
argparse "^1.0.7"
esprima "^2.6.0"
js-yaml@~3.6.1:
version "3.6.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30"
dependencies:
argparse "^1.0.7"
esprima "^2.6.0"
jsbn@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
@ -4118,10 +4107,14 @@ load-json-file@^1.0.0, load-json-file@^1.1.0:
strip-bom "^2.0.0"
loader-runner@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.2.0.tgz#824c1b699c4e7a2b6501b85902d5b862bf45b3fa"
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
<<<<<<< HEAD
loader-utils@0.2.x, loader-utils@^0.2, loader-utils@^0.2.11, loader-utils@^0.2.16, loader-utils@~0.2.2, loader-utils@~0.2.5:
=======
loader-utils@^0.2, loader-utils@^0.2.11, loader-utils@^0.2.16, loader-utils@^0.2.7, loader-utils@~0.2.2, loader-utils@~0.2.5, loader-utils@0.2.x:
>>>>>>> 15034596951386f5628a541061f1d8c5bde2f67a
version "0.2.16"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d"
dependencies:
@ -4141,10 +4134,6 @@ lodash-es@^4.17.3, lodash-es@^4.2.0, lodash-es@^4.2.1:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7"
lodash._getnative@^3.0.0:
version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
lodash._reinterpolate@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@ -4201,14 +4190,6 @@ lodash.indexof@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/lodash.indexof/-/lodash.indexof-4.0.5.tgz#53714adc2cddd6ed87638f893aa9b6c24e31ef3c"
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
lodash.isempty@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e"
@ -4229,14 +4210,6 @@ lodash.isundefined@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz#23ef3d9535565203a66cefd5b830f848911afb48"
lodash.keys@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
dependencies:
lodash._getnative "^3.0.0"
lodash.isarguments "^3.0.0"
lodash.isarray "^3.0.0"
lodash.map@^4.4.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
@ -5417,7 +5390,7 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
proxy-addr@~1.1.2:
proxy-addr@~1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.3.tgz#dc97502f5722e888467b3fa2297a7b1ff47df074"
dependencies:
@ -5737,8 +5710,8 @@ reduce-reducers@^0.1.0, reduce-reducers@^0.1.2:
resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.2.tgz#fa1b4718bc5292a71ddd1e5d839c9bea9770f14b"
redux-actions@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-1.2.0.tgz#4f421f1aa74c827d5e8abce6c009d5872c4af3e6"
version "1.2.1"
resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-1.2.1.tgz#649711d88f49f1dde5bc5a1cea8ceec5b54d9181"
dependencies:
invariant "^2.2.1"
lodash "^4.13.1"
@ -5756,10 +5729,9 @@ redux-batched-actions@^0.1.5:
resolved "https://registry.yarnpkg.com/redux-batched-actions/-/redux-batched-actions-0.1.5.tgz#b39b84775f4499a4724f3154b882968073b58bed"
redux-form@^6.4.3:
version "6.4.3"
resolved "https://registry.yarnpkg.com/redux-form/-/redux-form-6.4.3.tgz#bd83a77770d9805f7b595a4ff18f00fe4267d3c8"
version "6.5.0"
resolved "https://registry.yarnpkg.com/redux-form/-/redux-form-6.5.0.tgz#8c75ea77018afbabaa02f1389cf6b0e10787c5b8"
dependencies:
array-findindex-polyfill "^0.1.0"
deep-equal "^1.0.1"
es6-error "^4.0.0"
hoist-non-react-statics "^1.2.0"
@ -5767,7 +5739,6 @@ redux-form@^6.4.3:
is-promise "^2.1.0"
lodash "^4.17.3"
lodash-es "^4.17.3"
shallowequal "^0.2.2"
redux-logger@^2.7.4:
version "2.7.4"
@ -6003,24 +5974,6 @@ semver-diff@^2.0.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
send@0.14.1:
version "0.14.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a"
dependencies:
debug "~2.2.0"
depd "~1.1.0"
destroy "~1.0.4"
encodeurl "~1.0.1"
escape-html "~1.0.3"
etag "~1.7.0"
fresh "0.3.0"
http-errors "~1.5.0"
mime "1.3.4"
ms "0.7.1"
on-finished "~2.3.0"
range-parser "~1.2.0"
statuses "~1.3.0"
send@0.14.2:
version "0.14.2"
resolved "https://registry.yarnpkg.com/send/-/send-0.14.2.tgz#39b0438b3f510be5dc6f667a11f71689368cdeef"
@ -6051,7 +6004,7 @@ serve-index@^1.7.2:
mime-types "~2.1.11"
parseurl "~1.3.1"
serve-static@~1.11.1:
serve-static@~1.11.2:
version "1.11.2"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.2.tgz#2cf9889bd4435a320cc36895c9aa57bd662e6ac7"
dependencies:
@ -6082,12 +6035,6 @@ sha.js@^2.3.6:
dependencies:
inherits "^2.0.1"
shallowequal@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-0.2.2.tgz#1e32fd5bcab6ad688a4812cb0cc04efc75c7014e"
dependencies:
lodash.keys "^3.1.2"
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
@ -6184,8 +6131,8 @@ source-list-map@^0.1.4, source-list-map@~0.1.7:
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
source-map-support@^0.4.0, source-map-support@^0.4.2:
version "0.4.10"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.10.tgz#d7b19038040a14c0837a18e630a196453952b378"
version "0.4.11"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322"
dependencies:
source-map "^0.5.3"
@ -6275,7 +6222,7 @@ statehood@5.x.x:
items "2.x.x"
joi "10.x.x"
"statuses@>= 1.3.1 < 2", statuses@~1.3.0, statuses@~1.3.1:
"statuses@>= 1.3.1 < 2", statuses@~1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
@ -6369,9 +6316,15 @@ strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
style-loader:
version "0.13.1"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.1.tgz#468280efbc0473023cd3a6cd56e33b5a1d7fc3a9"
dependencies:
loader-utils "^0.2.7"
styled-components@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-1.4.0.tgz#a094d2ebd1c3227cd591d4d999d48860bf3f76b7"
version "1.4.2"
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-1.4.2.tgz#4fbb0e30b5adacd5c02ad7f6f1ff869c68fdc9a8"
dependencies:
buffer "^5.0.2"
css-to-react-native "^1.0.6"
@ -6380,6 +6333,7 @@ styled-components@^1.3.0:
inline-style-prefixer "^2.0.5"
is-function "^1.0.1"
is-plain-object "^2.0.1"
supports-color "^3.1.2"
subtext@^4.3.x:
version "4.3.0"
@ -6414,13 +6368,13 @@ svg-react-loader@^0.3.7:
xml2js "^0.4"
svgo@^0.7.0:
version "0.7.1"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.1.tgz#287320fed972cb097e72c2bb1685f96fe08f8034"
version "0.7.2"
resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
dependencies:
coa "~1.0.1"
colors "~1.1.2"
csso "~2.2.1"
js-yaml "~3.6.1"
csso "~2.3.1"
js-yaml "~3.7.0"
mkdirp "~0.5.1"
sax "~1.2.1"
whet.extend "~0.9.9"
@ -6625,7 +6579,7 @@ type-component@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/type-component/-/type-component-0.0.1.tgz#952a6c81c21efd24d13d811d0c8498cb860e1956"
type-is@~1.6.13:
type-is@~1.6.14:
version "1.6.14"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2"
dependencies:

View File

@ -20,7 +20,8 @@
"dependencies": {
"husky": "^0.11.9",
"license-to-fail": "^2.2.0",
"lodash.findindex": "^4.6.0"
"lodash.findindex": "^4.6.0",
"style-loader": "^0.13.1"
},
"devDependencies": {
"tap-xunit": "^1.4.0"

View File

@ -1 +1 @@
<link href="./normalize.css" rel="stylesheet">
<link href="./normalize.min.css" rel="stylesheet">

View File

@ -11,7 +11,7 @@
"lint": "make lint",
"test": "make test",
"build": "make compile",
"storybook": "start-storybook -s ./src/assets,./src/vendor -p 6006",
"storybook": "start-storybook -s ./src/assets,../frontend/static/vendor -p 6006",
"build-storybook": "build-storybook"
},
"dependencies": {

View File

@ -124,6 +124,12 @@ const style = css`
const StyledButton = styled.button`
min-width: ${remcalc(120)};
${style}
// Need to use HTML element selector, as adjecent buttons may have
// different class names if they are primary/secondary/disabled
& + button {
margin-left: 20px;
}
`;
const StyledAnchor = styled.a`

View File

@ -1,454 +0,0 @@
/**************************************************************************
* NORMALIZE.CSS *
**************************************************************************/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
display: block;
}
audio,
canvas,
progress,
video {
display: inline-block;
}
audio:not([controls]) {
display: none;
height: 0;
}
progress {
vertical-align: baseline;
}
template,
[hidden] {
display: none;
}
a {
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:active,
a:hover {
outline-width: 0;
}
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
b,
strong {
font-weight: inherit;
}
b,
strong {
font-weight: bolder;
}
dfn {
font-style: italic;
}
h1 {
margin: 0.67em 0;
}
mark {
background-color: #ff0;
color: #000;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
img {
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
figure {
margin: 1em calc( (40 / 16) * 1rem);
}
hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
}
button,
input,
optgroup,
select,
textarea {
font: inherit;
margin: 0;
}
optgroup {
font-weight: bold;
}
button,
input {
overflow: visible ;
}
button,
select {
text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal;
}
textarea {
overflow: auto;
}
[type="checkbox"],
[type="radio"] {
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
/**************************************************************************
* BOOTSTRAP REBOOT *
**************************************************************************/
*,
*::before,
*::after {
box-sizing: inherit;
}
@-ms-viewport {
width: device-width;
}
[tabindex="-1"]:focus {
outline: none !important;
}
/**
* Typography
*/
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0;
margin-bottom: .5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
cursor: help;
border-bottom: 1px dotted #FFFFFF;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: bold;
}
dd {
margin-bottom: .5rem;
margin-left: 0; /* Undo browser default */
}
blockquote {
margin: 0 0 1rem;
}
/**
* Links
*/
a {
color: #364ACD;
text-decoration: underline;
&:focus,
&:hover {
text-decoration: none;
}
&:focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: 2px;
}
}
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
&:focus,
&:hover {
text-decoration: none;
}
&:focus {
outline: none;
}
}
/**
* Code
*/
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
/**
* Figures
*/
figure {
margin: 0 0 1rem;
}
/**
* Images
*/
img {
vertical-align: middle;
}
[role="button"] {
cursor: pointer;
}
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
touch-action: manipulation;
}
/**
* Tables
*/
table {
border-collapse: collapse;
background-color: transparent;
}
caption {
padding-top: .75rem;
padding-bottom: .75rem;
color: #FFFFFF;
text-align: left;
caption-side: bottom;
}
th {
text-align: left;
}
/**
* Forms
*/
label {
display: inline-block;
margin-bottom: .5rem;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
textarea {
line-height: inherit;
}
input[type="radio"],
input[type="checkbox"] {
&:disabled {
cursor: disabled;
}
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
}
input[type="search"] {
-webkit-appearance: none;
}

View File

@ -26,6 +26,10 @@ balanced-match@^0.4.1:
version "0.4.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
big.js@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
brace-expansion@^1.0.0:
version "1.1.6"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
@ -84,6 +88,10 @@ duplexer@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
escape-string-regexp@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@ -171,6 +179,10 @@ json-parse-helpfulerror@^1.0.2:
dependencies:
jju "^1.1.0"
json5@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
license-checker@^7.1.0:
version "7.1.1"
resolved "https://registry.yarnpkg.com/license-checker/-/license-checker-7.1.1.tgz#b0a3ec47f2469fe3a639e52a1151cd26fc2c2905"
@ -188,6 +200,15 @@ license-to-fail@^2.2.0:
dependencies:
license-checker "^7.1.0"
loader-utils@^0.2.7:
version "0.2.16"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d"
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
json5 "^0.5.0"
object-assign "^4.0.1"
lodash.findindex@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106"
@ -233,6 +254,10 @@ normalize-path@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379"
object-assign@^4.0.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@ -327,6 +352,12 @@ strip-ansi@^0.3.0:
dependencies:
ansi-regex "^0.2.1"
style-loader:
version "0.13.1"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.1.tgz#468280efbc0473023cd3a6cd56e33b5a1d7fc3a9"
dependencies:
loader-utils "^0.2.7"
supports-color@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"