diff --git a/.gitignore b/.gitignore index 99bc5c1d..5aba682b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ +lib build node_modules npm-debug.log -yarn.lock .idea .DS_Store diff --git a/docs/yarn.lock b/docs/yarn.lock new file mode 100644 index 00000000..6df4a071 --- /dev/null +++ b/docs/yarn.lock @@ -0,0 +1,4354 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +accepts@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + dependencies: + mime-types "~2.1.11" + negotiator "0.6.1" + +acorn@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + +amdefine@>=0.0.4: + version "1.0.0" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.0.tgz#fd17474700cb5cc9c2b709f0be9d23ce3c198c33" + +ansi-html@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.6.tgz#bda8e33dd2ee1c20f54c08eb405713cbfc0ed80e" + +ansi-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +aproba@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +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-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-index@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz#ec56a749ee103e4e08c790b9c353df16055b97f9" + dependencies: + debug "^2.2.0" + es6-symbol "^3.0.2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asap@~2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +ast-types@0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.0.tgz#c8721c8747ae4d5b29b929e99c5317b4e8745623" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + +async@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + +async@^1.3.0, async@^1.5.0, async@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.0.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.2.tgz#612a4ab45ef42a70cde806bad86ee6db047e8385" + dependencies: + lodash "^4.14.0" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +autoprefixer@^6.3.1, autoprefixer@^6.4.0: + version "6.5.1" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.5.1.tgz#ae759a5221e709f3da17c2d656230e67c43cbb75" + dependencies: + browserslist "~1.4.0" + caniuse-db "^1.0.30000554" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.4" + postcss-value-parser "^3.2.3" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + +babel-code-frame@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^2.0.0" + +babel-core@^6.13.2, babel-core@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.0.tgz#bb5ce9bc0a956e6e94e2f12d597abb3b0b330deb" + dependencies: + babel-code-frame "^6.16.0" + babel-generator "^6.18.0" + babel-helpers "^6.16.0" + babel-messages "^6.8.0" + babel-register "^6.18.0" + babel-runtime "^6.9.1" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-eslint@^6.0.4: + version "6.1.2" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-6.1.2.tgz#5293419fe3672d66598d327da9694567ba6a5f2f" + dependencies: + babel-traverse "^6.0.20" + babel-types "^6.0.19" + babylon "^6.0.18" + lodash.assign "^4.0.0" + lodash.pickby "^4.0.0" + +babel-generator@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.18.0.tgz#e4f104cb3063996d9850556a45aae4a022060a07" + dependencies: + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.18.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + +babel-helper-bindify-decorators@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz#fc00c573676a6e702fffa00019580892ec8780a5" + dependencies: + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" + dependencies: + babel-helper-explode-assignable-expression "^6.18.0" + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-builder-react-jsx@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.18.0.tgz#ab02f19a2eb7ace936dd87fa55896d02be59bf71" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.18.0" + esutils "^2.0.0" + lodash "^4.2.0" + +babel-helper-call-delegate@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" + dependencies: + babel-helper-hoist-variables "^6.18.0" + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" + dependencies: + babel-helper-function-name "^6.18.0" + babel-runtime "^6.9.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-helper-explode-assignable-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" + dependencies: + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-explode-class@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz#c44f76f4fa23b9c5d607cbac5d4115e7a76f62cb" + dependencies: + babel-helper-bindify-decorators "^6.18.0" + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" + dependencies: + babel-helper-get-function-arity "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-get-function-arity@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-hoist-variables@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-optimise-call-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-regex@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.18.0.tgz#336cdf3cab650bb191b02fc16a3708e7be7f9ce5" + dependencies: + babel-helper-function-name "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" + dependencies: + babel-helper-optimise-call-expression "^6.18.0" + babel-messages "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helpers@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" + dependencies: + babel-runtime "^6.0.0" + babel-template "^6.16.0" + +babel-loader@^6.2.4: + version "6.2.7" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.7.tgz#16fdbf64328030dc5a606827d389c8b92a2a8032" + dependencies: + find-cache-dir "^0.1.1" + loader-utils "^0.2.11" + mkdirp "^0.5.1" + object-assign "^4.0.1" + +babel-messages@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-check-es2015-constants@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-react-transform@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-2.0.2.tgz#515bbfa996893981142d90b1f9b1635de2995109" + dependencies: + lodash "^4.6.1" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-constructor-call@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-do-expressions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-export-extensions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + +babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.3.13: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" + +babel-plugin-syntax-function-bind@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" + +babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.3.13: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.13.0.tgz#2b84b7d53dd744f94ff1fad7669406274b23f541" + +babel-plugin-transform-async-generator-functions@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" + dependencies: + babel-helper-remap-async-to-generator "^6.16.2" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-async-to-generator@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" + dependencies: + babel-helper-remap-async-to-generator "^6.16.0" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-class-constructor-call@^6.3.13: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.18.0.tgz#80855e38a1ab47b8c6c647f8ea1bcd2c00ca3aae" + dependencies: + babel-plugin-syntax-class-constructor-call "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-class-properties@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.18.0.tgz#bc1266a39d4c8726e0bd7b15c56235177e6ede57" + dependencies: + babel-helper-function-name "^6.18.0" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.9.1" + +babel-plugin-transform-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz#82d65c1470ae83e2d13eebecb0a1c2476d62da9d" + dependencies: + babel-helper-define-map "^6.8.0" + babel-helper-explode-class "^6.8.0" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-types "^6.13.0" + +babel-plugin-transform-do-expressions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.8.0.tgz#fda692af339835cc255bb7544efb8f7c1306c273" + dependencies: + babel-plugin-syntax-do-expressions "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-arrow-functions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoping@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.18.0.tgz#3bfdcfec318d46df22525cdea88f1978813653af" + dependencies: + babel-runtime "^6.9.0" + babel-template "^6.15.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" + dependencies: + babel-helper-define-map "^6.18.0" + babel-helper-function-name "^6.18.0" + babel-helper-optimise-call-expression "^6.18.0" + babel-helper-replace-supers "^6.18.0" + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-template "^6.14.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-computed-properties@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" + dependencies: + babel-helper-define-map "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-destructuring@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.18.0.tgz#a08fb89415ab82058649558bedb7bf8dafa76ba5" + dependencies: + babel-runtime "^6.9.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-for-of@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-function-name@^6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" + dependencies: + babel-helper-function-name "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.9.0" + +babel-plugin-transform-es2015-literals@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-modules-amd@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" + dependencies: + babel-plugin-transform-strict-mode "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.18.0.tgz#f09294707163edae4d3b3e8bfacecd01d920b7ad" + dependencies: + babel-helper-hoist-variables "^6.18.0" + babel-runtime "^6.11.6" + babel-template "^6.14.0" + +babel-plugin-transform-es2015-modules-umd@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-object-super@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" + dependencies: + babel-helper-replace-supers "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-parameters@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.18.0.tgz#9b2cfe238c549f1635ba27fc1daa858be70608b1" + dependencies: + babel-helper-call-delegate "^6.18.0" + babel-helper-get-function-arity "^6.18.0" + babel-runtime "^6.9.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-shorthand-properties@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-spread@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-sticky-regex@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-template-literals@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-unicode-regex@^6.3.13: + version "6.11.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-export-extensions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.8.0.tgz#fa80ff655b636549431bfd38f6b817bd82e47f5b" + dependencies: + babel-plugin-syntax-export-extensions "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-flow-strip-types@^6.3.13: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.18.0.tgz#4d3e642158661e9b40db457c004a30817fa32592" + dependencies: + babel-plugin-syntax-flow "^6.18.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-function-bind@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.8.0.tgz#e7f334ce69f50d28fe850a822eaaab9fa4f4d821" + dependencies: + babel-plugin-syntax-function-bind "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-object-rest-spread@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.16.0.tgz#db441d56fffc1999052fdebe2e2f25ebd28e36a9" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-react-display-name@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz#f7a084977383d728bdbdc2835bba0159577f660e" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-react-jsx-self@^6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz#605c9450c1429f97a930f7e1dfe3f0d9d0dbd0f4" + dependencies: + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.9.0" + +babel-plugin-transform-react-jsx-source@^6.3.13: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz#af684a05c2067a86e0957d4f343295ccf5dccf00" + dependencies: + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.9.0" + +babel-plugin-transform-react-jsx@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz#94759942f70af18c617189aa7f3593f1644a71ab" + dependencies: + babel-helper-builder-react-jsx "^6.8.0" + babel-plugin-syntax-jsx "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-regenerator@^6.16.0: + version "6.16.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz#a75de6b048a14154aae14b0122756c5bed392f59" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.16.0" + private "~0.1.5" + +babel-plugin-transform-strict-mode@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-preset-es2015@^6.13.2: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312" + dependencies: + babel-plugin-check-es2015-constants "^6.3.13" + babel-plugin-transform-es2015-arrow-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoping "^6.18.0" + babel-plugin-transform-es2015-classes "^6.18.0" + babel-plugin-transform-es2015-computed-properties "^6.3.13" + babel-plugin-transform-es2015-destructuring "^6.18.0" + babel-plugin-transform-es2015-duplicate-keys "^6.6.0" + babel-plugin-transform-es2015-for-of "^6.18.0" + babel-plugin-transform-es2015-function-name "^6.9.0" + babel-plugin-transform-es2015-literals "^6.3.13" + babel-plugin-transform-es2015-modules-amd "^6.18.0" + babel-plugin-transform-es2015-modules-commonjs "^6.18.0" + babel-plugin-transform-es2015-modules-systemjs "^6.18.0" + babel-plugin-transform-es2015-modules-umd "^6.18.0" + babel-plugin-transform-es2015-object-super "^6.3.13" + babel-plugin-transform-es2015-parameters "^6.18.0" + babel-plugin-transform-es2015-shorthand-properties "^6.18.0" + babel-plugin-transform-es2015-spread "^6.3.13" + babel-plugin-transform-es2015-sticky-regex "^6.3.13" + babel-plugin-transform-es2015-template-literals "^6.6.0" + babel-plugin-transform-es2015-typeof-symbol "^6.18.0" + babel-plugin-transform-es2015-unicode-regex "^6.3.13" + babel-plugin-transform-regenerator "^6.16.0" + +babel-preset-react@^6.5.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.16.0.tgz#aa117d60de0928607e343c4828906e4661824316" + dependencies: + babel-plugin-syntax-flow "^6.3.13" + babel-plugin-syntax-jsx "^6.3.13" + babel-plugin-transform-flow-strip-types "^6.3.13" + babel-plugin-transform-react-display-name "^6.3.13" + babel-plugin-transform-react-jsx "^6.3.13" + babel-plugin-transform-react-jsx-self "^6.11.0" + babel-plugin-transform-react-jsx-source "^6.3.13" + +babel-preset-stage-0@^6.5.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.16.0.tgz#f5a263c420532fd57491f1a7315b3036e428f823" + dependencies: + babel-plugin-transform-do-expressions "^6.3.13" + babel-plugin-transform-function-bind "^6.3.13" + babel-preset-stage-1 "^6.16.0" + +babel-preset-stage-1@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.16.0.tgz#9d31fbbdae7b17c549fd3ac93e3cf6902695e479" + dependencies: + babel-plugin-transform-class-constructor-call "^6.3.13" + babel-plugin-transform-export-extensions "^6.3.13" + babel-preset-stage-2 "^6.16.0" + +babel-preset-stage-2@^6.13.0, babel-preset-stage-2@^6.16.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.18.0.tgz#9eb7bf9a8e91c68260d5ba7500493caaada4b5b5" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.18.0" + babel-plugin-transform-decorators "^6.13.0" + babel-preset-stage-3 "^6.17.0" + +babel-preset-stage-3@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.3.13" + babel-plugin-transform-async-generator-functions "^6.17.0" + babel-plugin-transform-async-to-generator "^6.16.0" + babel-plugin-transform-exponentiation-operator "^6.3.13" + babel-plugin-transform-object-rest-spread "^6.16.0" + +babel-register@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" + dependencies: + babel-core "^6.18.0" + babel-runtime "^6.11.6" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.9.0, babel-runtime@^6.9.1: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.9.5" + +babel-standalone@^6.7.7: + version "6.18.1" + resolved "https://registry.yarnpkg.com/babel-standalone/-/babel-standalone-6.18.1.tgz#17914105fcbcad958d554e0f4ea63ca31e7a6a82" + +babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.8.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" + dependencies: + babel-runtime "^6.9.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-traverse@^6.0.20, babel-traverse@^6.16.0, babel-traverse@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.18.0.tgz#5aeaa980baed2a07c8c47329cd90c3b90c80f05e" + dependencies: + babel-code-frame "^6.16.0" + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.18.0" + babylon "^6.11.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.0.19, babel-types@^6.13.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.8.0, babel-types@^6.9.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.18.0.tgz#1f7d5a73474c59eb9151b2417bbff4e4fce7c3f8" + dependencies: + babel-runtime "^6.9.1" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.0.18, babylon@^6.11.0: + version "6.13.1" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb" + +balanced-match@^0.4.1, balanced-match@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +balanced-match@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.1.0.tgz#b504bd05869b39259dd0c5efc35d843176dccc4a" + +base64-js@^1.0.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + +Base64@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028" + +bcrypt-pbkdf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" + +binary-extensions@^1.0.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bluebird@^3.4.6: + version "3.4.6" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.6.tgz#01da8d821d87813d158967e743d5fe6c62cf8c0f" + +boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browserify-zlib@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +browserslist@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.4.0.tgz#9cfdcf5384d9158f5b70da2aa00b30e8ff019049" + dependencies: + caniuse-db "^1.0.30000539" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +buffer@^4.9.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +camel-case@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +caniuse-db@^1.0.30000539, caniuse-db@^1.0.30000554: + version "1.0.30000572" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000572.tgz#81d0aa6b7de2d785c8dcab135502983276cc707d" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +change-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.0.tgz#6c9c8e35f8790870a82b6b0745be8c3cbef9b081" + dependencies: + camel-case "^3.0.0" + constant-case "^2.0.0" + dot-case "^2.1.0" + header-case "^1.0.0" + is-lower-case "^1.1.0" + is-upper-case "^1.1.0" + lower-case "^1.1.1" + lower-case-first "^1.0.0" + no-case "^2.2.0" + param-case "^2.1.0" + pascal-case "^2.0.0" + path-case "^2.1.0" + sentence-case "^2.1.0" + snake-case "^2.1.0" + swap-case "^1.1.0" + title-case "^2.1.0" + upper-case "^1.1.1" + upper-case-first "^1.1.0" + +cheerio@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.18.0.tgz#4e1c06377e725b740e996e0dfec353863de677fa" + dependencies: + CSSselect "~0.4.0" + dom-serializer "~0.0.0" + entities "~1.1.1" + htmlparser2 "~3.8.1" + lodash "~2.4.1" + +chokidar@^1.0.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +clap@^1.0.9: + version "1.1.1" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.1.tgz#a8a93e0bfb7581ac199c4f001a5525a724ce696d" + dependencies: + chalk "^1.1.3" + +classnames@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" + +clean-css@3.4.x: + version "3.4.20" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.20.tgz#c0d8963b5448e030f0bcd3ddd0dac4dfe3dea501" + dependencies: + commander "2.8.x" + source-map "0.4.x" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +clone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +coa@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz#7f959346cfc8719e3f7233cd6852854a7c67d8a3" + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb" + dependencies: + number-is-nan "^1.0.0" + +codemirror@^5.14.2: + version "5.20.2" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.20.2.tgz#918e0ece96d57a99030b2f8b33011284bed5217a" + +collections@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/collections/-/collections-0.2.2.tgz#1f23026b2ef36f927eecc901e99c5f0d48fa334e" + dependencies: + weak-map "1.0.0" + +color-convert@^1.3.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.6.0.tgz#7592755faf53938a05b1ea8e5374cab77d6dd190" + dependencies: + color-name "^1.1.1" + +color-name@^1.0.0, color-name@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + dependencies: + color-name "^1.0.0" + +color@^0.11.0: + version "0.11.3" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.3.tgz#4bad1d0d52499dd00dbd6f0868442467e49394e6" + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@^2.9.0, commander@2.9.0, commander@2.9.x: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@2.8.x: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constant-case@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" + dependencies: + snake-case "^2.1.0" + upper-case "^1.1.1" + +constants-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2" + +content-disposition@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b" + +content-type@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + +convert-source-map@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + +core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cross-env@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-2.0.1.tgz#f283b4039ea759ada9ab7e987ad3bddb241b79a6" + dependencies: + cross-spawn "^3.0.1" + lodash.assign "^3.2.0" + +cross-spawn@^3.0.0, cross-spawn@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +crypto-browserify@~3.2.6: + version "3.2.8" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.2.8.tgz#b9b11dbe6d9651dd882a01e6cc467df718ecf189" + dependencies: + pbkdf2-compat "2.0.1" + ripemd160 "0.2.0" + sha.js "2.2.6" + +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.23.1: + version "0.23.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.23.1.tgz#9fa23f2b5c0965235910ad5ecef3b8a36390fe50" + dependencies: + css-selector-tokenizer "^0.5.1" + cssnano ">=2.6.1 <4" + loader-utils "~0.2.2" + lodash.camelcase "^3.0.1" + object-assign "^4.0.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.0.0" + postcss-modules-local-by-default "^1.0.1" + postcss-modules-scope "^1.0.0" + postcss-modules-values "^1.1.0" + source-list-map "^0.1.4" + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-selector-tokenizer@^0.5.1: + version "0.5.4" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.5.4.tgz#139bafd34a35fd0c1428487049e0699e6f6a2c21" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + +css-selector-tokenizer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.6.0.tgz#6445f582c7930d241dcc5007a43d6fcb8f073152" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +css-what@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" + +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + +"cssnano@>=2.6.1 <4": + version "3.8.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.8.0.tgz#bb90ac5292f42b679d9a05f6da0e9697556bb80d" + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + 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" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +CSSselect@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/CSSselect/-/CSSselect-0.4.1.tgz#f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2" + dependencies: + CSSwhat "0.4" + domutils "1.4" + +CSSwhat@0.4: + version "0.4.7" + resolved "https://registry.yarnpkg.com/CSSwhat/-/CSSwhat-0.4.7.tgz#867da0ff39f778613242c44cfea83f0aa4ebdf9b" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +d@^0.1.1, d@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" + dependencies: + es5-ext "~0.10.2" + +dashdash@^1.12.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +debug@^2.1.1, debug@^2.2.0, debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +dom-converter@~0.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b" + dependencies: + utila "~0.3" + +dom-serializer@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.0.1.tgz#9589827f1e32d22c37c829adabd59b3247af8eaf" + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +dom-serializer@0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +dom-walk@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + +domain-browser@^1.1.1: + version "1.1.7" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + +domelementtype@1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + +domhandler@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594" + dependencies: + domelementtype "1" + +domhandler@2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" + dependencies: + domelementtype "1" + +domutils@1.1: + version "1.1.6" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.1.6.tgz#bddc3de099b9a2efacc51c623f28f416ecc57485" + dependencies: + domelementtype "1" + +domutils@1.4: + version "1.4.3" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.4.3.tgz#0865513796c6b306031850e175516baf80b72a6f" + dependencies: + domelementtype "1" + +domutils@1.5, domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.0.tgz#4b43dd0d7403c34cb645424add397e80bfe85ca6" + dependencies: + no-case "^2.2.0" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +enhanced-resolve@~0.9.0: + version "0.9.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.2.0" + tapable "^0.1.8" + +entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + +entities@1.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" + +errno@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + dependencies: + prr "~0.0.0" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292" + dependencies: + stackframe "^0.3.1" + +es5-ext@^0.10.7, es5-ext@~0.10.11, es5-ext@~0.10.2: + version "0.10.12" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" + dependencies: + d "^0.1.1" + es5-ext "^0.10.7" + es6-symbol "3" + +es6-symbol@^3.0.2, es6-symbol@~3.1, es6-symbol@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + +es6-templates@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + dependencies: + recast "~0.11.12" + through "~2.3.6" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@~3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.1.tgz#02dbcc5ac3ece81070377f99158ec742ab5dda06" + +esutils@^2.0.0, esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +express@^4.13.4: + version "4.14.0" + resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66" + dependencies: + accepts "~1.3.3" + array-flatten "1.1.1" + content-disposition "0.5.1" + content-type "~1.0.2" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "~2.2.0" + depd "~1.1.0" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + finalhandler "0.5.0" + 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" + qs "6.2.0" + range-parser "~1.2.0" + send "0.14.1" + serve-static "~1.11.1" + type-is "~1.6.13" + utils-merge "1.0.0" + vary "~1.1.0" + +extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extract-text-webpack-plugin@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-1.0.1.tgz#c95bf3cbaac49dc96f1dc6e072549fbb654ccd2c" + dependencies: + async "^1.5.0" + loader-utils "^0.2.3" + webpack-sources "^0.1.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + +fbjs@^0.8.4: + version "0.8.5" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.5.tgz#f69ba8a876096cb1b9bffe4d7c1e71c19d39d008" + dependencies: + core-js "^1.0.0" + immutable "^3.7.6" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + ua-parser-js "^0.7.9" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" + dependencies: + debug "~2.2.0" + escape-html "~1.0.3" + on-finished "~2.3.0" + statuses "~1.3.0" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.1.tgz#4adf0342e1a79afa1e84c8c320a9ffc82392a1f3" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +forwarded@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" + +fresh@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.0.14" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.14.tgz#558e8cc38643d8ef40fe45158486d0d25758eee4" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + +gauge@~2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-color "^0.1.7" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" + dependencies: + globule "^1.0.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +gh-pages@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-0.11.0.tgz#93313c6dcbfc74d426bc89a29ebff6420acc3c1b" + dependencies: + async "1.5.2" + commander "2.9.0" + globby "^4.0.0" + graceful-fs "4.1.2" + q "1.4.1" + q-io "1.13.2" + wrench "1.5.8" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.1.tgz#5f757908c7cbabce54f386ae440e11e26b7916df" + dependencies: + min-document "^2.19.0" + process "~0.5.1" + +globals@^9.0.0: + version "9.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d" + +globby@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^6.0.1" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" + dependencies: + glob "~7.1.1" + lodash "~4.16.4" + minimatch "~3.0.2" + +graceful-fs@^4.1.2: + version "4.1.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" + +graceful-fs@4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.2.tgz#fe2239b7574972e67e41f808823f9bfa4a991e37" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-color@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +he@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/he/-/he-0.5.0.tgz#2c05ffaef90b68e860f3fd2b54ef580989277ee2" + +he@1.1.x: + version "1.1.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.0.tgz#29319d49beec13a9b1f3c4f9b2a6dde4859bb2a7" + +header-case@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.0.tgz#d9e335909505d56051ec16a0106821889e910781" + dependencies: + no-case "^2.2.0" + upper-case "^1.1.3" + +"highlight-loader@git://github.com/javivelasco/highlight-loader.git#master": + version "0.4.5" + resolved "git://github.com/javivelasco/highlight-loader.git#24a6155f81190a34ec923d98c3aec3f6930939ff" + dependencies: + cheerio "^0.18.0" + he "^0.5.0" + highlight.js "^8.4.0" + +highlight.js@^8.4.0: + version "8.9.1" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-8.9.1.tgz#b8a9c5493212a9392f0222b649c9611497ebfb88" + +highlight.js@^9.3.0: + version "9.7.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.7.0.tgz#e7a926bf3079c65b2ae50314878e456a009b4aac" + +history@^2.1.1, history@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/history/-/history-2.1.2.tgz#4aa2de897a0e4867e4539843be6ecdb2986bfdec" + dependencies: + deep-equal "^1.0.0" + invariant "^2.0.0" + query-string "^3.0.0" + warning "^2.0.0" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hoist-non-react-statics@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + +html-comment-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + +html-entities@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.0.tgz#41948caf85ce82fed36e4e6a0ed371a6664379e2" + +html-loader@^0.4.3: + version "0.4.4" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.4.4.tgz#f2b5b9acd5e035ff3ab5fd369c13c97a7bb014da" + dependencies: + es6-templates "^0.2.2" + fastparse "^1.1.1" + html-minifier "^3.0.1" + loader-utils "^0.2.15" + object-assign "^4.1.0" + +html-minifier@^3.0.1, html-minifier@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.1.0.tgz#e0b35d7a1fff89ae989e2fa51c572bc0d1f2d1f6" + dependencies: + change-case "3.0.x" + clean-css "3.4.x" + commander "2.9.x" + he "1.1.x" + ncname "1.0.x" + relateurl "0.2.x" + uglify-js "2.7.x" + +html-webpack-plugin@^2.16.1: + version "2.24.1" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.24.1.tgz#7f45fc678f66eac2d433f22336b4399da023b57e" + dependencies: + bluebird "^3.4.6" + html-minifier "^3.1.0" + loader-utils "^0.2.16" + lodash "^4.16.4" + pretty-error "^2.0.2" + toposort "^1.0.0" + +htmlparser2@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" + dependencies: + domelementtype "1" + domhandler "2.1" + domutils "1.1" + readable-stream "1.0" + +htmlparser2@~3.8.1: + version "3.8.3" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" + dependencies: + domelementtype "1" + domhandler "2.3" + domutils "1.5" + entities "1.0" + readable-stream "1.1" + +http-browserify@^1.3.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.7.0.tgz#33795ade72df88acfbfd36773cefeda764735b20" + dependencies: + Base64 "~0.2.0" + inherits "~2.0.1" + +http-errors@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.0.tgz#b1cb3d8260fd8e2386cad3189045943372d48211" + dependencies: + inherits "2.0.1" + setprototypeof "1.0.1" + statuses ">= 1.3.0 < 2" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.0.tgz#b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd" + +iconv-lite@~0.4.13: + version "0.4.13" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" + +icss-replace-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.0.2.tgz#cb0b6054eb3af6edc9ab1d62d01933e2d4c8bfa5" + +ieee754@^1.1.4: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + +immutable@^3.7.6: + version "3.8.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +interpret@^0.6.4: + version "0.6.6" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" + +invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ipaddr.js@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz#c791d95f52b29c1247d5df80ada39b8a73647230" + +is-absolute-url@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.0.0.tgz#9c4b20b0e5c0cbef9a479a367ede6f991679f359" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-lower-case@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" + dependencies: + lower-case "^1.1.0" + +is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-svg@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.0.1.tgz#f93ab3bf1d6bbca30e9753cd3485b1300eebc013" + dependencies: + html-comment-regex "^1.1.0" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-upper-case@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" + dependencies: + upper-case "^1.1.0" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-base64@^2.1.9: + version "2.1.9" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" + +js-tokens@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" + +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" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2" + +jsonpointer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kind-of@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" + dependencies: + is-buffer "^1.0.2" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +loader-utils@^0.2.11, loader-utils@^0.2.14, loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^0.2.3, loader-utils@^0.2.7, loader-utils@~0.2.2: + 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._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._bindcallback@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + +lodash._createassigner@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" + dependencies: + lodash._bindcallback "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash.restparam "^3.0.0" + +lodash._createcompounder@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._createcompounder/-/lodash._createcompounder-3.0.0.tgz#5dd2cb55372d6e70e0e2392fb2304d6631091075" + dependencies: + lodash.deburr "^3.0.0" + lodash.words "^3.0.0" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash.assign@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" + dependencies: + lodash._baseassign "^3.0.0" + lodash._createassigner "^3.0.0" + lodash.keys "^3.0.0" + +lodash.assign@^4.0.0, lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.camelcase@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-3.0.1.tgz#932c8b87f8a4377897c67197533282f97aeac298" + dependencies: + lodash._createcompounder "^3.0.0" + +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + +lodash.deburr@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-3.2.0.tgz#6da8f54334a366a7cf4c4c76ef8d80aa1b365ed5" + dependencies: + lodash._root "^3.0.0" + +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.keys@^3.0.0: + 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.pickby@^4.0.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.words@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.words/-/lodash.words-3.2.0.tgz#4e2a8649bc08745b17c695b1a3ce8fee596623b3" + dependencies: + lodash._root "^3.0.0" + +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.16.4, lodash@^4.2.0, lodash@^4.6.1, lodash@~4.16.4: + version "4.16.6" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" + +lodash@~2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" + dependencies: + js-tokens "^2.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case-first@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1" + dependencies: + lower-case "^1.1.2" + +lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.3.tgz#c92393d976793eee5ba4edb583cf8eae35bd9bfb" + +lru-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.1.tgz#1343955edaf2e37d9b9e7ee7241e27c4b9fb72be" + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + +macaddress@^0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +markdown-loader@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/markdown-loader/-/markdown-loader-0.1.7.tgz#2ab6616fd17652a7cbfe66540781b55e4f19e267" + dependencies: + loader-utils "^0.2.7" + marked "^0.3.2" + object-assign "^2.0.0" + +marked@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" + +math-expression-evaluator@^1.2.14: + version "1.2.14" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.14.tgz#39511771ed9602405fba9affff17eb4d2a3843ab" + dependencies: + lodash.indexof "^4.0.5" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +memory-fs@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" + +memory-fs@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.24.0: + version "1.24.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c" + +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: + version "2.1.12" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729" + dependencies: + mime-db "~1.24.0" + +mime@^1.2.11, mime@^1.3.4, mime@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + +mimeparse@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/mimeparse/-/mimeparse-0.1.4.tgz#dafb02752370fd226093ae3152c271af01ac254a" + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + dependencies: + dom-walk "^0.1.0" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2, "minimatch@2 || 3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@^0.5.0, mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +nan@^2.3.0, nan@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" + +ncname@1.0.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" + dependencies: + xml-char-classes "^1.0.0" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +no-case@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.0.tgz#ca2825ccb76b18e6f79d573dcfbf1eace33dd164" + dependencies: + lower-case "^1.1.1" + +node-dir@^0.1.6: + version "0.1.16" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.16.tgz#d2ef583aa50b90d93db8cdd26fcea58353957fe4" + dependencies: + minimatch "^3.0.2" + +node-fetch@^1.0.1: + version "1.6.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-gyp@^3.3.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.4.0.tgz#dda558393b3ecbbe24c9e6b8703c71194c63fa36" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3" + osenv "0" + path-array "^1.0.0" + request "2" + rimraf "2" + semver "2.x || 3.x || 4 || 5" + tar "^2.0.0" + which "1" + +node-libs-browser@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.6.0.tgz#244806d44d319e048bc8607b5cc4eaf9a29d2e3c" + dependencies: + assert "^1.1.1" + browserify-zlib "~0.1.4" + buffer "^4.9.0" + console-browserify "^1.1.0" + constants-browserify "0.0.1" + crypto-browserify "~3.2.6" + domain-browser "^1.1.1" + events "^1.0.0" + http-browserify "^1.3.2" + https-browserify "0.0.0" + os-browserify "~0.1.2" + path-browserify "0.0.0" + process "^0.11.0" + punycode "^1.2.4" + querystring-es3 "~0.2.0" + readable-stream "^1.1.13" + stream-browserify "^1.0.0" + string_decoder "~0.10.25" + timers-browserify "^1.0.1" + tty-browserify "0.0.0" + url "~0.10.1" + util "~0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.6.29: + version "0.6.31" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.31.tgz#d8a00ddaa301a940615dbcc8caad4024d58f6017" + dependencies: + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.0" + rc "~1.1.6" + request "^2.75.0" + rimraf "~2.5.4" + semver "~5.3.0" + tar "~2.2.1" + tar-pack "~3.3.0" + +node-sass@^3.7.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.10.1.tgz#c535b2e1a5439240591e06d7308cb663820d616c" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + npmlog "^4.0.0" + request "^2.61.0" + sass-graph "^2.1.1" + +node-uuid@~1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" + +nopt@~3.0.6, "nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +normalize-url@^1.4.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.7.0.tgz#d82452d98d38821cffddab4d77a5f8d20ce66db0" + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +npmlog@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.6.0" + set-blocking "~2.0.0" + +"npmlog@0 || 1 || 2 || 3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-3.1.2.tgz#2d46fa874337af9498a2f12bb43d8d0be4a36873" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.6.0" + set-blocking "~2.0.0" + +nth-check@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +optimist@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +os-browserify@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.3.tgz#83cf05c6d6458fc4d5ac6362ea325d92f2754217" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +param-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.0.tgz#2619f90fd6c829ed0b958f1c84ed03a745a6d70a" + dependencies: + no-case "^2.2.0" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parseurl@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + +pascal-case@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.0.tgz#39c248bde5a8dc02d5160696bdb01e044d016ee1" + dependencies: + camel-case "^3.0.0" + upper-case-first "^1.1.0" + +path-array@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271" + dependencies: + array-index "^1.0.0" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.0.tgz#5ac491de642936e5dfe0e18d16c461b8be8cf073" + dependencies: + no-case "^2.2.0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pbkdf2-compat@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-colormin@^2.1.8: + version "2.2.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.1.tgz#dc5421b6ae6f779ef6bfd47352b94abe59d0316b" + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-convert-values@^2.3.4: + version "2.4.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.4.1.tgz#45dce4d4e33b7d967b97a4d937f270ea98d2fe7a" + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + dependencies: + postcss "^5.0.14" + +postcss-discard-duplicates@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.0.1.tgz#5fae3f1a71df3e19cffb37309d1a7dba56c4589c" + dependencies: + postcss "^5.0.4" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + dependencies: + postcss "^5.0.14" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + dependencies: + postcss "^5.0.16" + +postcss-discard-unused@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.2.tgz#5d72f7d05d11de0a9589e001958067ccae1b4931" + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c" + dependencies: + postcss "^5.0.4" + uniqid "^4.0.0" + +postcss-loader@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-0.9.1.tgz#87a3e70f58e46d68a75badc6725d9ea4773fd1d7" + dependencies: + loader-utils "^0.2.14" + postcss "^5.0.19" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.1.tgz#ff59b5dec6d586ce2cea183138f55c5876fa9cdc" + dependencies: + postcss "^5.0.4" + +postcss-merge-rules@^2.0.3: + version "2.0.10" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.0.10.tgz#54b360be804e7e69a5c7222635247b92a3569e9b" + dependencies: + postcss "^5.0.4" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-params@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.0.5.tgz#82d602643b8616a61fb3634d7ede0289836d67f9" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.0.5.tgz#4e1f966fb49c95266804016ba9a3c6645bb601e0" + dependencies: + alphanum-sort "^1.0.2" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-modules-extract-imports@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.0.1.tgz#8fb3fef9a6dd0420d3f6d4353cf1ff73f2b2a341" + dependencies: + postcss "^5.0.4" + +postcss-modules-local-by-default@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.1.1.tgz#29a10673fa37d19251265ca2ba3150d9040eb4ce" + dependencies: + css-selector-tokenizer "^0.6.0" + postcss "^5.0.4" + +postcss-modules-scope@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.0.2.tgz#ff977395e5e06202d7362290b88b1e8cd049de29" + dependencies: + css-selector-tokenizer "^0.6.0" + postcss "^5.0.4" + +postcss-modules-values@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.2.2.tgz#f0e7d476fe1ed88c5e4c7f97533a3e772ad94ca1" + dependencies: + icss-replace-symbols "^1.0.2" + postcss "^5.0.14" + +postcss-normalize-charset@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.0.tgz#2fbd30e12248c442981d31ea2484d46fd0628970" + dependencies: + postcss "^5.0.5" + +postcss-normalize-url@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.7.tgz#6bd90d0a4bc5a1df22c26ea65c53257dc3829f4e" + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-ordered-values@^2.1.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.2.tgz#be8b511741fab2dac8e614a2302e9d10267b0771" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-reduce-idents@^2.2.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.3.1.tgz#024e8e219f52773313408573db9645ba62d2d2fe" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.0.tgz#8f739b938289ef2e48936d7101783e4741ca9bbb" + dependencies: + postcss "^5.0.4" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-selector-parser@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.1.tgz#fdbf696103b12b0a64060e5610507f410491f7c8" + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^2.1.1: + version "2.1.5" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.5.tgz#46fc0363f01bab6a36a9abb01c229fcc45363094" + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss-zindex@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.1.1.tgz#ea3fbe656c9738aa8729e2ee96ec2a46089b720f" + dependencies: + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.19, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.4: + version "5.2.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.5.tgz#ec428c27dffc7fac65961340a9b022fa4af5f056" + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.1.2" + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-error@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.0.2.tgz#a7db19cbb529ca9f0af3d3a2f77d5caf8e5dec23" + dependencies: + renderkid "~2.0.0" + utila "~0.4" + +private@^0.1.6, private@~0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process@^0.11.0, process@~0.11.0: + version "0.11.9" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" + +process@~0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + +promise@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" + dependencies: + asap "~2.0.3" + +proxy-addr@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.2.tgz#b4cc5f22610d9535824c123aef9d3cf73c40ba37" + dependencies: + forwarded "~0.1.0" + ipaddr.js "1.1.1" + +prr@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + +pseudomap@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +q-io@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/q-io/-/q-io-1.13.2.tgz#eea130d481ddb5e1aa1bc5a66855f7391d06f003" + dependencies: + collections "^0.2.0" + mime "^1.2.11" + mimeparse "^0.1.4" + q "^1.0.1" + qs "^1.2.1" + url2 "^0.0.0" + +q@^1.0.1, q@^1.1.2, q@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + +qs@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-1.2.2.tgz#19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88" + +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + +qs@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" + +query-string@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-3.0.3.tgz#ae2e14b4d05071d4e9b9eb4873c35b0dcd42e638" + dependencies: + strict-uri-encode "^1.0.0" + +query-string@^4.1.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.2.3.tgz#9f27273d207a25a8ee4c7b8c74dcd45d556db822" + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@~0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@^0.2.0, querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +randomatic@^1.1.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +range-parser@^1.0.3, range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-loader@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" + +rc@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +react-css-themr@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/react-css-themr/-/react-css-themr-1.4.1.tgz#26fa63fe0a8f7343b019f088f88475ca89da2d5a" + dependencies: + invariant "^2.2.1" + +react-deep-force-update@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.0.1.tgz#f911b5be1d2a6fe387507dd6e9a767aa2924b4c7" + +react-dom@^15.2.0: + version "15.3.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.3.2.tgz#c46b0aa5380d7b838e7a59c4a7beff2ed315531f" + +react-proxy@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-1.1.8.tgz#9dbfd9d927528c3aa9f444e4558c37830ab8c26a" + dependencies: + lodash "^4.6.1" + react-deep-force-update "^1.0.0" + +react-router@^2.4.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-2.8.1.tgz#73e9491f6ceb316d0f779829081863e378ee4ed7" + dependencies: + history "^2.1.2" + hoist-non-react-statics "^1.2.0" + invariant "^2.2.1" + loose-envify "^1.2.0" + warning "^3.0.0" + +react-transform-catch-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/react-transform-catch-errors/-/react-transform-catch-errors-1.0.2.tgz#1b4d4a76e97271896fc16fe3086c793ec88a9eeb" + +react-transform-hmr@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/react-transform-hmr/-/react-transform-hmr-1.0.4.tgz#e1a40bd0aaefc72e8dfd7a7cda09af85066397bb" + dependencies: + global "^4.3.0" + react-proxy "^1.1.7" + +react@^15.2.0: + version "15.3.2" + resolved "https://registry.yarnpkg.com/react/-/react-15.3.2.tgz#a7bccd2fee8af126b0317e222c28d1d54528d09e" + dependencies: + fbjs "^0.8.4" + loose-envify "^1.1.0" + object-assign "^4.1.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +readable-stream@^1.0.27-1, readable-stream@^1.1.13: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@1.0: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@1.1: + version "1.1.13" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +recast@~0.11.12: + version "0.11.15" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.15.tgz#3d03ee4f74b2ef4aa2f6ea2059d92db843d1316c" + dependencies: + ast-types "0.9.0" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" + +redbox-react@^1.2.4: + version "1.3.2" + resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.3.2.tgz#bc12ca4f88705d29aaace7a12183d3ec14dd33f1" + dependencies: + error-stack-parser "^1.3.6" + object-assign "^4.0.1" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.1.tgz#fa02e126e695824263cab91d3a5b0fdc1dd27a9a" + dependencies: + balanced-match "~0.1.0" + +regenerate@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.1.tgz#0300203a5d2fdcf89116dce84275d011f5903f33" + +regenerator-runtime@^0.9.5: + version "0.9.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz#403d6d40a4bdff9c330dd9392dcbb2d9a8bba1fc" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + +renderkid@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.0.tgz#1859753e7a5adbf35443aba0d4e4579e78abee85" + dependencies: + css-select "^1.1.0" + dom-converter "~0.1" + htmlparser2 "~3.3.0" + strip-ansi "^3.0.0" + utila "~0.3" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@^2.61.0, request@^2.75.0, request@2: + version "2.76.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.76.0.tgz#be44505afef70360a0436955106be3945d95560e" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@~2.5.1, rimraf@~2.5.4, rimraf@2: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +ripemd160@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce" + +sass-graph@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.1.2.tgz#965104be23e8103cb7e5f710df65935b317da57b" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + yargs "^4.7.1" + +sass-loader@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-4.0.2.tgz#a616eb770366543e64f547c8630f39c4da75f15d" + dependencies: + async "^2.0.1" + loader-utils "^0.2.15" + object-assign "^4.1.0" + +sax@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + +semver@~5.3.0, "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5": + 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" + +sentence-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.0.tgz#d592fbed457fd1a59e3af0ee17e99f6fd70d7efd" + dependencies: + no-case "^2.2.0" + upper-case-first "^1.1.2" + +serve-static@~1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.14.1" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +setprototypeof@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.1.tgz#52009b27888c4dc48f591949c0a8275834c1ca7e" + +sha.js@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" + +signal-exit@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +snake-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" + dependencies: + no-case "^2.2.0" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^0.1.4, source-list-map@~0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.6.tgz#e1e6f94f0b40c4d28dcf8f5b8766e0e45636877f" + +source-map-support@^0.4.2: + version "0.4.6" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb" + dependencies: + source-map "^0.5.3" + +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +source-map@~0.4.1, source-map@0.4.x: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stackframe@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4" + +"statuses@>= 1.3.0 < 2", statuses@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" + +stream-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-1.0.0.tgz#bf9b4abfb42b274d751479e44e0ff2656b6f1193" + dependencies: + inherits "~2.0.1" + readable-stream "^1.0.27-1" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + +string_decoder@~0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +style-loader@^0.13.1: + 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@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0, supports-color@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +svgo@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.1.tgz#287320fed972cb097e72c2bb1685f96fe08f8034" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.2.1" + js-yaml "~3.6.1" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +swap-case@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" + dependencies: + lower-case "^1.1.1" + upper-case "^1.1.1" + +tapable@^0.1.8, tapable@~0.1.8: + version "0.1.10" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" + +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@^2.0.0, tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +through@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +timers-browserify@^1.0.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" + dependencies: + process "~0.11.0" + +title-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.0.tgz#c68ccb4232079ded64f94b91b4941ade91391979" + dependencies: + no-case "^2.2.0" + upper-case "^1.0.3" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +toposort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.0.tgz#b66cf385a1a8a8e68e45b8259e7f55875e8b06ef" + +tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +transfer-webpack-plugin@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/transfer-webpack-plugin/-/transfer-webpack-plugin-0.1.4.tgz#6b5adedc58cbaa89ddcb9eb4e90e36f67655ed76" + dependencies: + node-dir "^0.1.6" + vow "^0.4.9" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" + +type-is@~1.6.13: + version "1.6.13" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.13.tgz#6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.11" + +ua-parser-js@^0.7.9: + version "0.7.10" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.10.tgz#917559ddcce07cbc09ece7d80495e4c268f4ef9f" + +uglify-js@~2.7.3, uglify-js@2.7.x: + version "2.7.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.4.tgz#a295a0de12b6a650c031c40deb0dc40b14568bd2" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + +uniqid@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.0.tgz#33d9679f65022f48988a03fd24e7dcaf8f109eca" + dependencies: + macaddress "^0.2.8" + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + +unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +upper-case-first@^1.1.0, upper-case-first@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" + dependencies: + upper-case "^1.1.1" + +upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + +url@~0.10.1: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +url2@^0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/url2/-/url2-0.0.0.tgz#4eaabd1d5c3ac90d62ab4485c998422865a04b1a" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@~0.10.3, util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +utila@~0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + +utils-merge@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +vary@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140" + +vendors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +vow@^0.4.9: + version "0.4.13" + resolved "https://registry.yarnpkg.com/vow/-/vow-0.4.13.tgz#e7c14f1bd9c8be0e7359a4597fe2d1ef6d1a7e88" + +warning@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-2.1.0.tgz#21220d9c63afc77a8c92111e011af705ce0c6901" + dependencies: + loose-envify "^1.0.0" + +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + dependencies: + loose-envify "^1.0.0" + +watchpack@^0.2.1: + version "0.2.9" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b" + dependencies: + async "^0.9.0" + chokidar "^1.0.0" + graceful-fs "^4.1.2" + +weak-map@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.0.tgz#b66e56a9df0bd25a76bbf1b514db129080614a37" + +webpack-core@~0.6.0: + version "0.6.8" + resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.8.tgz#edf9135de00a6a3c26dd0f14b208af0aa4af8d0a" + dependencies: + source-list-map "~0.1.0" + source-map "~0.4.1" + +webpack-dev-middleware@^1.6.1: + version "1.8.4" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.8.4.tgz#e8765c9122887ce9e3abd4cc9c3eb31b61e0948d" + dependencies: + memory-fs "~0.3.0" + mime "^1.3.4" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + +webpack-hot-middleware@^2.10.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.13.1.tgz#104350e044be58ba3b7ef1c39513d69562841975" + dependencies: + ansi-html "0.0.6" + html-entities "^1.2.0" + querystring "^0.2.0" + strip-ansi "^3.0.0" + +webpack-sources@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.2.tgz#057a3f3255f8ba561b901d9150589aa103a57e65" + dependencies: + source-list-map "~0.1.0" + source-map "~0.5.3" + +webpack@^1.13.0: + version "1.13.3" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.13.3.tgz#e79c46fe5a37c5ca70084ba0894c595cdcb42815" + dependencies: + acorn "^3.0.0" + async "^1.3.0" + clone "^1.0.2" + enhanced-resolve "~0.9.0" + interpret "^0.6.4" + loader-utils "^0.2.11" + memory-fs "~0.3.0" + mkdirp "~0.5.0" + node-libs-browser "^0.6.0" + optimist "~0.6.0" + supports-color "^3.1.0" + tapable "~0.1.8" + uglify-js "~2.7.3" + watchpack "^0.2.1" + webpack-core "~0.6.0" + +whatwg-fetch@>=0.10.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.0.0.tgz#01c2ac4df40e236aaa18480e3be74bd5c8eb798e" + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which@^1.2.9, which@1: + version "1.2.11" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wrap-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.0.0.tgz#7d30f8f873f9a5bbc3a64dabc8d177e071ae426f" + dependencies: + string-width "^1.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +wrench@1.5.8: + version "1.5.8" + resolved "https://registry.yarnpkg.com/wrench/-/wrench-1.5.8.tgz#7a31c97f7869246d76c5cf2f5c977a1c4c8e5ab5" + +xml-char-classes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" + +yargs-parser@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" + dependencies: + camelcase "^3.0.0" + lodash.assign "^4.0.6" + +yargs@^4.7.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" + dependencies: + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + lodash.assign "^4.0.3" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.1" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^2.4.1" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + diff --git a/lib/_colors.scss b/lib/_colors.scss deleted file mode 100644 index c2eb5099..00000000 --- a/lib/_colors.scss +++ /dev/null @@ -1,301 +0,0 @@ -//-- Color definitions taken from Material Design Lite - -// Red -$palette-red-50: rgb(255,235,238); -$palette-red-100: rgb(255,205,210); -$palette-red-200: rgb(239,154,154); -$palette-red-300: rgb(229,115,115); -$palette-red-400: rgb(239,83,80); -$palette-red-500: rgb(244,67,54); -$palette-red-600: rgb(229,57,53); -$palette-red-700: rgb(211,47,47); -$palette-red-800: rgb(198,40,40); -$palette-red-900: rgb(183,28,28); -$palette-red-a100: rgb(255,138,128); -$palette-red-a200: rgb(255,82,82); -$palette-red-a400: rgb(255,23,68); -$palette-red-a700: rgb(213,0,0); - -// Pink -$palette-pink-50: rgb(252,228,236); -$palette-pink-100: rgb(248,187,208); -$palette-pink-200: rgb(244,143,177); -$palette-pink-300: rgb(240,98,146); -$palette-pink-400: rgb(236,64,122); -$palette-pink-500: rgb(233,30,99); -$palette-pink-600: rgb(216,27,96); -$palette-pink-700: rgb(194,24,91); -$palette-pink-800: rgb(173,20,87); -$palette-pink-900: rgb(136,14,79); -$palette-pink-a100: rgb(255,128,171); -$palette-pink-a200: rgb(255,64,129); -$palette-pink-a400: rgb(245,0,87); -$palette-pink-a700: rgb(197,17,98); - -// Purple -$palette-purple-50: rgb(243,229,245); -$palette-purple-100: rgb(225,190,231); -$palette-purple-200: rgb(206,147,216); -$palette-purple-300: rgb(186,104,200); -$palette-purple-400: rgb(171,71,188); -$palette-purple-500: rgb(156,39,176); -$palette-purple-600: rgb(142,36,170); -$palette-purple-700: rgb(123,31,162); -$palette-purple-800: rgb(106,27,154); -$palette-purple-900: rgb(74,20,140); -$palette-purple-a100: rgb(234,128,252); -$palette-purple-a200: rgb(224,64,251); -$palette-purple-a400: rgb(213,0,249); -$palette-purple-a700: rgb(170,0,255); - -//Deep Purple -$palette-deep-purple-50: rgb(237,231,246); -$palette-deep-purple-100: rgb(209,196,233); -$palette-deep-purple-200: rgb(179,157,219); -$palette-deep-purple-300: rgb(149,117,205); -$palette-deep-purple-400: rgb(126,87,194); -$palette-deep-purple-500: rgb(103,58,183); -$palette-deep-purple-600: rgb(94,53,177); -$palette-deep-purple-700: rgb(81,45,168); -$palette-deep-purple-800: rgb(69,39,160); -$palette-deep-purple-900: rgb(49,27,146); -$palette-deep-purple-a100: rgb(179,136,255); -$palette-deep-purple-a200: rgb(124,77,255); -$palette-deep-purple-a400: rgb(101,31,255); -$palette-deep-purple-a700: rgb(98,0,234); - -// Indigo -$palette-indigo-50: rgb(232,234,246); -$palette-indigo-100: rgb(197,202,233); -$palette-indigo-200: rgb(159,168,218); -$palette-indigo-300: rgb(121,134,203); -$palette-indigo-400: rgb(92,107,192); -$palette-indigo-500: rgb(63,81,181); -$palette-indigo-600: rgb(57,73,171); -$palette-indigo-700: rgb(48,63,159); -$palette-indigo-800: rgb(40,53,147); -$palette-indigo-900: rgb(26,35,126); -$palette-indigo-a100: rgb(140,158,255); -$palette-indigo-a200: rgb(83,109,254); -$palette-indigo-a400: rgb(61,90,254); -$palette-indigo-a700: rgb(48,79,254); - -// Blue -$palette-blue-50: rgb(227,242,253); -$palette-blue-100: rgb(187,222,251); -$palette-blue-200: rgb(144,202,249); -$palette-blue-300: rgb(100,181,246); -$palette-blue-400: rgb(66,165,245); -$palette-blue-500: rgb(33,150,243); -$palette-blue-600: rgb(30,136,229); -$palette-blue-700: rgb(25,118,210); -$palette-blue-800: rgb(21,101,192); -$palette-blue-900: rgb(13,71,161); -$palette-blue-a100: rgb(130,177,255); -$palette-blue-a200: rgb(68,138,255); -$palette-blue-a400: rgb(41,121,255); -$palette-blue-a700: rgb(41,98,255); - -// Light Blue -$palette-light-blue-50: rgb(225,245,254); -$palette-light-blue-100: rgb(179,229,252); -$palette-light-blue-200: rgb(129,212,250); -$palette-light-blue-300: rgb(79,195,247); -$palette-light-blue-400: rgb(41,182,246); -$palette-light-blue-500: rgb(3,169,244); -$palette-light-blue-600: rgb(3,155,229); -$palette-light-blue-700: rgb(2,136,209); -$palette-light-blue-800: rgb(2,119,189); -$palette-light-blue-900: rgb(1,87,155); -$palette-light-blue-a100: rgb(128,216,255); -$palette-light-blue-a200: rgb(64,196,255); -$palette-light-blue-a400: rgb(0,176,255); -$palette-light-blue-a700: rgb(0,145,234); - -// Cyan -$palette-cyan-50: rgb(224,247,250); -$palette-cyan-100: rgb(178,235,242); -$palette-cyan-200: rgb(128,222,234); -$palette-cyan-300: rgb(77,208,225); -$palette-cyan-400: rgb(38,198,218); -$palette-cyan-500: rgb(0,188,212); -$palette-cyan-600: rgb(0,172,193); -$palette-cyan-700: rgb(0,151,167); -$palette-cyan-800: rgb(0,131,143); -$palette-cyan-900: rgb(0,96,100); -$palette-cyan-a100: rgb(132,255,255); -$palette-cyan-a200: rgb(24,255,255); -$palette-cyan-a400: rgb(0,229,255); -$palette-cyan-a700: rgb(0,184,212); - -// Teal -$palette-teal-50: rgb(224,242,241); -$palette-teal-100: rgb(178,223,219); -$palette-teal-200: rgb(128,203,196); -$palette-teal-300: rgb(77,182,172); -$palette-teal-400: rgb(38,166,154); -$palette-teal-500: rgb(0,150,136); -$palette-teal-600: rgb(0,137,123); -$palette-teal-700: rgb(0,121,107); -$palette-teal-800: rgb(0,105,92); -$palette-teal-900: rgb(0,77,64); -$palette-teal-a100: rgb(167,255,235); -$palette-teal-a200: rgb(100,255,218); -$palette-teal-a400: rgb(29,233,182); -$palette-teal-a700: rgb(0,191,165); - -// Green -$palette-green-50: rgb(232,245,233); -$palette-green-100: rgb(200,230,201); -$palette-green-200: rgb(165,214,167); -$palette-green-300: rgb(129,199,132); -$palette-green-400: rgb(102,187,106); -$palette-green-500: rgb(76,175,80); -$palette-green-600: rgb(67,160,71); -$palette-green-700: rgb(56,142,60); -$palette-green-800: rgb(46,125,50); -$palette-green-900: rgb(27,94,32); -$palette-green-a100: rgb(185,246,202); -$palette-green-a200: rgb(105,240,174); -$palette-green-a400: rgb(0,230,118); -$palette-green-a700: rgb(0,200,83); - -// Green -$palette-light-green-50: rgb(241,248,233); -$palette-light-green-100: rgb(220,237,200); -$palette-light-green-200: rgb(197,225,165); -$palette-light-green-300: rgb(174,213,129); -$palette-light-green-400: rgb(156,204,101); -$palette-light-green-500: rgb(139,195,74); -$palette-light-green-600: rgb(124,179,66); -$palette-light-green-700: rgb(104,159,56); -$palette-light-green-800: rgb(85,139,47); -$palette-light-green-900: rgb(51,105,30); -$palette-light-green-a100: rgb(204,255,144); -$palette-light-green-a200: rgb(178,255,89); -$palette-light-green-a400: rgb(118,255,3); -$palette-light-green-a700: rgb(100,221,23); - -// Lime -$palette-lime-50: rgb(249,251,231); -$palette-lime-100: rgb(240,244,195); -$palette-lime-200: rgb(230,238,156); -$palette-lime-300: rgb(220,231,117); -$palette-lime-400: rgb(212,225,87); -$palette-lime-500: rgb(205,220,57); -$palette-lime-600: rgb(192,202,51); -$palette-lime-700: rgb(175,180,43); -$palette-lime-800: rgb(158,157,36); -$palette-lime-900: rgb(130,119,23); -$palette-lime-a100: rgb(244,255,129); -$palette-lime-a200: rgb(238,255,65); -$palette-lime-a400: rgb(198,255,0); -$palette-lime-a700: rgb(174,234,0); - -// Yellow -$palette-yellow-50: rgb(255,253,231); -$palette-yellow-100: rgb(255,249,196); -$palette-yellow-200: rgb(255,245,157); -$palette-yellow-300: rgb(255,241,118); -$palette-yellow-400: rgb(255,238,88); -$palette-yellow-500: rgb(255,235,59); -$palette-yellow-600: rgb(253,216,53); -$palette-yellow-700: rgb(251,192,45); -$palette-yellow-800: rgb(249,168,37); -$palette-yellow-900: rgb(245,127,23); -$palette-yellow-a100: rgb(255,255,141); -$palette-yellow-a200: rgb(255,255,0); -$palette-yellow-a400: rgb(255,234,0); -$palette-yellow-a700: rgb(255,214,0); - -// Amber -$palette-amber-50: rgb(255,248,225); -$palette-amber-100: rgb(255,236,179); -$palette-amber-200: rgb(255,224,130); -$palette-amber-300: rgb(255,213,79); -$palette-amber-400: rgb(255,202,40); -$palette-amber-500: rgb(255,193,7); -$palette-amber-600: rgb(255,179,0); -$palette-amber-700: rgb(255,160,0); -$palette-amber-800: rgb(255,143,0); -$palette-amber-900: rgb(255,111,0); -$palette-amber-a100: rgb(255,229,127); -$palette-amber-a200: rgb(255,215,64); -$palette-amber-a400: rgb(255,196,0); -$palette-amber-a700: rgb(255,171,0); - -// Orange -$palette-orange-50: rgb(255,243,224); -$palette-orange-100: rgb(255,224,178); -$palette-orange-200: rgb(255,204,128); -$palette-orange-300: rgb(255,183,77); -$palette-orange-400: rgb(255,167,38); -$palette-orange-500: rgb(255,152,0); -$palette-orange-600: rgb(251,140,0); -$palette-orange-700: rgb(245,124,0); -$palette-orange-800: rgb(239,108,0); -$palette-orange-900: rgb(230,81,0); -$palette-orange-a100: rgb(255,209,128); -$palette-orange-a200: rgb(255,171,64); -$palette-orange-a400: rgb(255,145,0); -$palette-orange-a700: rgb(255,109,0); - -// Deep Orange -$palette-deep-orange-50: rgb(251,233,231); -$palette-deep-orange-100: rgb(255,204,188); -$palette-deep-orange-200: rgb(255,171,145); -$palette-deep-orange-300: rgb(255,138,101); -$palette-deep-orange-400: rgb(255,112,67); -$palette-deep-orange-500: rgb(255,87,34); -$palette-deep-orange-600: rgb(244,81,30); -$palette-deep-orange-700: rgb(230,74,25); -$palette-deep-orange-800: rgb(216,67,21); -$palette-deep-orange-900: rgb(191,54,12); -$palette-deep-orange-a100: rgb(255,158,128); -$palette-deep-orange-a200: rgb(255,110,64); -$palette-deep-orange-a400: rgb(255,61,0); -$palette-deep-orange-a700: rgb(221,44,0); - -// Brown -$palette-brown-50: rgb(239,235,233); -$palette-brown-100: rgb(215,204,200); -$palette-brown-200: rgb(188,170,164); -$palette-brown-300: rgb(161,136,127); -$palette-brown-400: rgb(141,110,99); -$palette-brown-500: rgb(121,85,72); -$palette-brown-600: rgb(109,76,65); -$palette-brown-700: rgb(93,64,55); -$palette-brown-800: rgb(78,52,46); -$palette-brown-900: rgb(62,39,35); - -// Grey -$palette-grey-50: rgb(250,250,250); -$palette-grey-100: rgb(245,245,245); -$palette-grey-200: rgb(238,238,238); -$palette-grey-300: rgb(224,224,224); -$palette-grey-400: rgb(189,189,189); -$palette-grey-500: rgb(158,158,158); -$palette-grey-600: rgb(117,117,117); -$palette-grey-700: rgb(97,97,97); -$palette-grey-800: rgb(66,66,66); -$palette-grey-900: rgb(33,33,33); - -// Blue Grey -$palette-blue-grey-50: rgb(236,239,241); -$palette-blue-grey-100: rgb(207,216,220); -$palette-blue-grey-200: rgb(176,190,197); -$palette-blue-grey-300: rgb(144,164,174); -$palette-blue-grey-400: rgb(120,144,156); -$palette-blue-grey-500: rgb(96,125,139); -$palette-blue-grey-600: rgb(84,110,122); -$palette-blue-grey-700: rgb(69,90,100); -$palette-blue-grey-800: rgb(55,71,79); -$palette-blue-grey-900: rgb(38,50,56); - -$color-black: rgb(0,0,0); -$color-white: rgb(255,255,255); - -//-- The two possible colors for overlayed text. -$styleguide-generate-template: false !default; -$color-dark-contrast: $color-white !default; -$color-light-contrast: $color-black !default; diff --git a/lib/_globals.scss b/lib/_globals.scss deleted file mode 100644 index 73edd5f9..00000000 --- a/lib/_globals.scss +++ /dev/null @@ -1,81 +0,0 @@ -//-- Color configuration -$color-divider: $palette-grey-200 !default; -$color-background: $color-white !default; -$color-text: $palette-grey-900 !default; -$color-text-secondary: $palette-grey-600 !default; - -$color-primary: $palette-indigo-500 !default; -$color-primary-dark: $palette-indigo-700 !default; -$color-accent: $palette-pink-a200 !default; -$color-accent-dark: $palette-pink-700 !default; -$color-primary-contrast: $color-dark-contrast !default; -$color-accent-contrast: $color-dark-contrast !default; - -//-- Sizing -$unit: 1rem !default; - -// -- Fonts -$preferred-font: "Roboto", "Helvetica", "Arial", sans-serif !default; -$font-size: 1.6 * $unit !default; -$font-size-tiny: 1.2 * $unit !default; -$font-size-small: 1.4 * $unit !default; -$font-size-normal: $font-size !default; -$font-size-big: 1.8 * $unit !default; -$font-weight-thin: 300 !default; -$font-weight-normal: 400 !default; -$font-weight-semi-bold: 500 !default; -$font-weight-bold: 700 !default; - -//-- Shadows -$shadow-key-umbra-opacity: 0.2 !default; -$shadow-key-penumbra-opacity: 0.14 !default; -$shadow-ambient-shadow-opacity: 0.12 !default; - -//-- Depth Shadows -$zdepth-shadow-1: 0 1px 6px rgba(0,0,0,.12), 0 1px 4px rgba(0,0,0,.24); -$zdepth-shadow-2: 0 3px 10px rgba(0,0,0,.16), 0 3px 10px rgba(0,0,0,.23); -$zdepth-shadow-3: 0 10px 30px rgba(0,0,0,.19), 0 6px 10px rgba(0,0,0,.23); -$zdepth-shadow-4: 0 14px 45px rgba(0,0,0,.25), 0 10px 18px rgba(0,0,0,.22); -$zdepth-shadow-5: 0 19px 60px rgba(0,0,0,.3), 0 15px 20px rgba(0,0,0,.22); - -//-- Animation -$animation-duration: .35s; -$animation-delay: $animation-duration / 5; -$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default; -$animation-curve-linear-out-slow-in: cubic-bezier(0, 0, 0.2, 1) !default; -$animation-curve-fast-out-linear-in: cubic-bezier(0.4, 0, 1, 1) !default; -$animation-curve-default: $animation-curve-fast-out-slow-in !default; - -//-- Indexes -$z-index-highest: 300 !default; -$z-index-higher: 200 !default; -$z-index-high: 100 !default; -$z-index-normal: 1 !default; -$z-index-low: -100 !default; -$z-index-lower: -200 !default; - -//-- Breakpoints -// height of app bar -// https://material.google.com/layout/metrics-keylines.html#metrics-keylines-keylines-spacing -$standard-increment-mobile: (5.6 * $unit) !default; -$standard-increment-desktop: (6.4 * $unit) !default; - -// https://material.google.com/layout/metrics-keylines.html#metrics-keylines-baseline-grids -$baseline-grid: (0.8 * $unit) !default; -$layout-gutter-width-sm: ($baseline-grid * 2) !default; -$layout-gutter-width: ($baseline-grid * 3) !default; - -// https://material.google.com/layout/responsive-ui.html#responsive-ui-breakpoints -// 4 columns -$layout-breakpoint-xxs: 480px !default; -// 8 columns -$layout-breakpoint-xs: 600px !default; -// 12 columns -$layout-breakpoint-sm-tablet: 720px !default; -$layout-breakpoint-sm: 840px !default; -$layout-breakpoint-md: 960px !default; -$layout-breakpoint-lg-tablet: 1024px !default; -$layout-breakpoint-lg: 1280px !default; -$layout-breakpoint-xl: 1440px !default; -$layout-breakpoint-xxl: 1600px !default; -$layout-breakpoint-xxxl: 1920px !default; diff --git a/lib/_mixins.scss b/lib/_mixins.scss deleted file mode 100644 index 40490c70..00000000 --- a/lib/_mixins.scss +++ /dev/null @@ -1,260 +0,0 @@ -// scss-lint:disable VendorPrefix -@mixin typo-preferred-font($use-preferred: true) { - @if $use-preferred { - font-family: $preferred-font; - } -} - -@mixin typo-display-4($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 11.2; - font-weight: 300; - line-height: 1; - letter-spacing: -.04em; - - @if $color-contrast { - opacity: .54; - } -} - -@mixin typo-display-3($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 5.6; - font-weight: 400; - line-height: 1.35; - letter-spacing: -.02em; - - @if $color-contrast { - opacity: .54; - } -} - -@mixin typo-display-2($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 4.5; - font-weight: 400; - line-height: $unit * 4.8; - - @if $color-contrast { - opacity: .54; - } -} - -@mixin typo-display-1($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 3.4; - font-weight: 400; - line-height: $unit * 4; - - @if $color-contrast { - opacity: .54; - } -} - -@mixin typo-headline($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 2.4; - font-weight: 400; - line-height: $unit * 3.2; - -moz-osx-font-smoothing: grayscale; - - @if $color-contrast { - opacity: .87; - } -} - -@mixin typo-title($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 2; - font-weight: 500; - line-height: 1; - letter-spacing: .02em; - - @if $color-contrast { - opacity: .87; - } -} - -@mixin typo-subhead($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 1.6; - font-weight: 400; - line-height: $unit * 2.4; - letter-spacing: .04em; - - @if $color-contrast { - opacity: .87; - } -} - -@mixin typo-subhead-2($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 1.6; - font-weight: 400; - line-height: $unit * 2.8; - letter-spacing: .04em; - - @if $color-contrast { - opacity: .87; - } -} - -@mixin typo-body-2($color-contrast: false, $use-preferred: false) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 1.4; - line-height: $unit * 2.4; - letter-spacing: 0; - - @if $use-preferred { - font-weight: 500; - } @else { - font-weight: bold; - } - - @if $color-contrast { - opacity: .87; - } -} - -@mixin typo-body-1($color-contrast: false, $use-preferred: false) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 1.4; - font-weight: 400; - line-height: $unit * 2.4; - letter-spacing: 0; - - @if $color-contrast { - opacity: .87; - } -} - -@mixin typo-caption($color-contrast: false, $use-preferred: false) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 1.2; - font-weight: 400; - line-height: 1; - letter-spacing: 0; - - @if $color-contrast { - opacity: .54; - } -} - -@mixin typo-blockquote($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - position: relative; - font-size: $unit * 2.4; - font-style: italic; - font-weight: 300; - line-height: 1.35; - letter-spacing: .08em; - - &:before { - position: absolute; - left: -.5em; - content: "“"; - } - - &:after { - margin-left: -.05em; - content: "”"; - } - - @if $color-contrast { - opacity: .54; - } -} - -@mixin typo-menu($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 1.4; - font-weight: 500; - line-height: 1; - letter-spacing: 0; - - @if $color-contrast { - opacity: .87; - } -} - -@mixin typo-button($color-contrast: false, $use-preferred: true) { - @include typo-preferred-font($use-preferred); - font-size: $unit * 1.4; - font-weight: 500; - line-height: 1; - text-transform: uppercase; - letter-spacing: 0; - - @if $color-contrast { - opacity: .87; - } -} - -//-- Shadows -@mixin focus-shadow() { - box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36); -} - -@mixin shadow-2dp() { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity), - 0 3px 1px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity), - 0 1px 5px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity); -} - -@mixin shadow-3dp() { - box-shadow: 0 3px 4px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity), - 0 3px 3px -2px rgba(0, 0, 0, $shadow-key-umbra-opacity), - 0 1px 8px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity); -} - -@mixin shadow-4dp() { - box-shadow: 0 4px 5px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity), - 0 1px 10px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity), - 0 2px 4px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity); -} - -@mixin shadow-6dp() { - box-shadow: 0 6px 10px 0 rgba(0, 0, 0, $shadow-key-penumbra-opacity), - 0 1px 18px 0 rgba(0, 0, 0, $shadow-ambient-shadow-opacity), - 0 3px 5px -1px rgba(0, 0, 0, $shadow-key-umbra-opacity); -} - -@mixin shadow-8dp() { - box-shadow: 0 8px 10px 1px rgba(0, 0, 0, $shadow-key-penumbra-opacity), - 0 3px 14px 2px rgba(0, 0, 0, $shadow-ambient-shadow-opacity), - 0 5px 5px -3px rgba(0, 0, 0, $shadow-key-umbra-opacity); -} - -@mixin shadow-16dp() { - box-shadow: 0 16px 24px 2px rgba(0, 0, 0, $shadow-key-penumbra-opacity), - 0 6px 30px 5px rgba(0, 0, 0, $shadow-ambient-shadow-opacity), - 0 8px 10px -5px rgba(0, 0, 0, $shadow-key-umbra-opacity); -} - -//-- Animations -@mixin material-animation-fast-out-slow-in($duration: .2s) { - transition-timing-function: $animation-curve-fast-out-slow-in; - transition-duration: $duration; -} - -@mixin material-animation-linear-out-slow-in($duration: .2s) { - transition-timing-function: $animation-curve-linear-out-slow-in; - transition-duration: $duration; -} - -@mixin material-animation-fast-out-linear-in($duration: .2s) { - transition-timing-function: $animation-curve-fast-out-linear-in; - transition-duration: $duration; -} - -@mixin material-animation-default($duration: .2s) { - transition-timing-function: $animation-curve-default; - transition-duration: $duration; -} - -@mixin no-webkit-scrollbar { - &::-webkit-scrollbar { - width: 0; - height: 0; - } -} diff --git a/lib/animations/index.js b/lib/animations/index.js deleted file mode 100644 index 787971bc..00000000 --- a/lib/animations/index.js +++ /dev/null @@ -1,29 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ZoomOut = exports.ZoomIn = exports.SlideRight = exports.SlideLeft = undefined; - -var _slideLeft = require('./slide-left.scss'); - -var _slideLeft2 = _interopRequireDefault(_slideLeft); - -var _slideRight = require('./slide-right.scss'); - -var _slideRight2 = _interopRequireDefault(_slideRight); - -var _zoomIn = require('./zoom-in.scss'); - -var _zoomIn2 = _interopRequireDefault(_zoomIn); - -var _zoomOut = require('./zoom-out.scss'); - -var _zoomOut2 = _interopRequireDefault(_zoomOut); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.SlideLeft = _slideLeft2.default; -exports.SlideRight = _slideRight2.default; -exports.ZoomIn = _zoomIn2.default; -exports.ZoomOut = _zoomOut2.default; \ No newline at end of file diff --git a/lib/animations/slide-left.scss b/lib/animations/slide-left.scss deleted file mode 100644 index aba03995..00000000 --- a/lib/animations/slide-left.scss +++ /dev/null @@ -1,26 +0,0 @@ -.enter, .leave { - position: absolute; - transition-timing-function: ease-in-out; - transition-duration: .35s; - transition-property: transform, opacity; -} - -.enter { - opacity: 0; - transform: translate3d(-100%, 0, 0); - - &.enterActive { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} - -.leave { - opacity: 1; - transform: translate3d(0, 0, 0); - - &.leaveActive { - opacity: 0; - transform: translate3d(100%, 0, 0); - } -} diff --git a/lib/animations/slide-right.scss b/lib/animations/slide-right.scss deleted file mode 100644 index 95d0e15d..00000000 --- a/lib/animations/slide-right.scss +++ /dev/null @@ -1,29 +0,0 @@ -.enter, .leave { - position: absolute; -} - -.enterActive, .leaveActive { - transition-timing-function: ease-in-out; - transition-duration: 350ms; - transition-property: transform, opacity; -} - -.enter { - opacity: 0; - transform: translateX(100%); - - &.enterActive { - opacity: 1; - transform: translateX(0); - } -} - -.leave { - opacity: 1; - transform: translateX(0); - - &.leaveActive { - opacity: 0; - transform: translateX(-100%); - } -} diff --git a/lib/animations/zoom-in.scss b/lib/animations/zoom-in.scss deleted file mode 100644 index d752e940..00000000 --- a/lib/animations/zoom-in.scss +++ /dev/null @@ -1,33 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; - -.enter, .leave { - position: absolute; -} - -.enterActive, .leaveActive { - transition: transform, opacity; - transition-timing-function: $animation-curve-fast-out-slow-in; - transition-duration: 500ms; -} - -.enter { - opacity: 0; - transform: scale(0.85); - - &.enterActive { - opacity: 1; - transform: scale(1); - } -} - -.leave { - opacity: 1; - transform: scale(1); - - &.leaveActive { - opacity: 0; - transform: scale(1.25); - } -} diff --git a/lib/animations/zoom-out.scss b/lib/animations/zoom-out.scss deleted file mode 100644 index cf1500fc..00000000 --- a/lib/animations/zoom-out.scss +++ /dev/null @@ -1,33 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; - -.enter, .leave { - position: absolute; -} - -.enterActive, .leaveActive { - transition: transform, opacity; - transition-timing-function: $animation-curve-fast-out-slow-in; - transition-duration: 500ms; -} - -.enter { - opacity: 0; - transform: scale(1.25); - - &.enterActive { - opacity: 1; - transform: scale(1); - } -} - -.leave { - opacity: 1; - transform: scale(1); - - &.leaveActive { - opacity: 0; - transform: scale(0.85); - } -} diff --git a/lib/app_bar/AppBar.js b/lib/app_bar/AppBar.js deleted file mode 100644 index 852b9277..00000000 --- a/lib/app_bar/AppBar.js +++ /dev/null @@ -1,177 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.AppBar = exports.appBarFactory = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _IconButton = require('../button/IconButton.js'); - -var _IconButton2 = _interopRequireDefault(_IconButton); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(IconButton) { - var AppBar = function (_React$Component) { - _inherits(AppBar, _React$Component); - - function AppBar() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, AppBar); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AppBar.__proto__ || Object.getPrototypeOf(AppBar)).call.apply(_ref, [this].concat(args))), _this), _this.state = { hidden: false, height: 0 }, _this.initializeScroll = function () { - window.addEventListener('scroll', _this.handleScroll); - - var _this$rootNode$getBou = _this.rootNode.getBoundingClientRect(), - height = _this$rootNode$getBou.height; - - _this.curScroll = window.scrollY; - _this.setState({ height: height }); - }, _this.endScroll = function () { - window.removeEventListener('scroll', _this.handleScroll); - }, _this.handleScroll = function () { - var scrollDiff = _this.curScroll - window.scrollY; - var hidden = scrollDiff < 0 && window.scrollY !== undefined && window.scrollY > _this.state.height; - _this.setState({ hidden: hidden }); - _this.curScroll = window.scrollY; - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(AppBar, [{ - key: 'componentDidMount', - value: function componentDidMount() { - if (this.props.scrollHide) { - this.initializeScroll(); - } - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (!this.props.scrollHide && nextProps.scrollHide) { - this.initializeScroll(); - } - - if (this.props.scrollHide && !nextProps.scrollHide) { - this.endScroll(); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - if (this.props.scrollHide) { - this.endScroll(); - } - } - }, { - key: 'render', - value: function render() { - var _classnames, - _this2 = this; - - var _props = this.props, - children = _props.children, - leftIcon = _props.leftIcon, - onLeftIconClick = _props.onLeftIconClick, - onRightIconClick = _props.onRightIconClick, - rightIcon = _props.rightIcon, - theme = _props.theme, - title = _props.title; - - var className = (0, _classnames3.default)(theme.appBar, (_classnames = {}, _defineProperty(_classnames, theme.fixed, this.props.fixed), _defineProperty(_classnames, theme.flat, this.props.flat), _defineProperty(_classnames, theme.scrollHide, this.state.hidden), _classnames), this.props.className); - - return _react2.default.createElement( - 'header', - { - className: className, - 'data-react-toolbox': 'app-bar', - ref: function ref(node) { - _this2.rootNode = node; - } - }, - leftIcon && _react2.default.createElement(IconButton, { - inverse: true, - className: (0, _classnames3.default)(theme.leftIcon), - onClick: onLeftIconClick, - icon: leftIcon }), - title && _react2.default.createElement( - 'h1', - { className: (0, _classnames3.default)(theme.title) }, - title - ), - children, - rightIcon && _react2.default.createElement(IconButton, { - inverse: true, - className: (0, _classnames3.default)(theme.rightIcon), - onClick: onRightIconClick, - icon: rightIcon }) - ); - } - }]); - - return AppBar; - }(_react2.default.Component); - - AppBar.propTypes = { - children: _react.PropTypes.node, - className: _react.PropTypes.string, - fixed: _react.PropTypes.bool, - flat: _react.PropTypes.bool, - leftIcon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - onLeftIconClick: _react.PropTypes.func, - onRightIconClick: _react.PropTypes.func, - rightIcon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - scrollHide: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - appBar: _react.PropTypes.string, - fixed: _react.PropTypes.string, - flat: _react.PropTypes.string, - leftIcon: _react.PropTypes.string, - rightIcon: _react.PropTypes.string, - title: _react.PropTypes.string - }), - title: _react.PropTypes.string - }; - AppBar.defaultProps = { - className: '', - fixed: false, - flat: false, - scrollHide: false - }; - - - return AppBar; -}; - -var AppBar = factory(_IconButton2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.APP_BAR)(AppBar); -exports.appBarFactory = factory; -exports.AppBar = AppBar; \ No newline at end of file diff --git a/lib/app_bar/_config.scss b/lib/app_bar/_config.scss deleted file mode 100644 index 5c76b618..00000000 --- a/lib/app_bar/_config.scss +++ /dev/null @@ -1,8 +0,0 @@ -$appbar-color: $color-primary-dark !default; -$appbar-contrast: $color-primary-contrast !default; -$appbar-title-total-distance: 8 * $unit !default; -$appbar-height: 6.4 * $unit !default; -$appbar-height-m-portrait: 5.6 * $unit !default; -$appbar-height-m-landscape: 4.8 * $unit !default; -$appbar-h-padding: 2.4 * $unit !default; -$appbar-title-distance: $appbar-title-total-distance - $appbar-h-padding !default; diff --git a/lib/app_bar/index.d.ts b/lib/app_bar/index.d.ts deleted file mode 100644 index fb868bb1..00000000 --- a/lib/app_bar/index.d.ts +++ /dev/null @@ -1,74 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface AppBarTheme { - /** - * Used for the component root element. - */ - appBar?: string; - /** - * Added to the root element when the app bar is fixed. - */ - fixed?: string; - /** - * Added to the root element when the app bar is flat. - */ - flat?: string; - /** - * Used as the app bar title. - */ - title ?: string; - /** - * Added to the left icon app bar element. - */ - leftIcon?: string; - /** - * Added to the right icon app bar element. - */ - rightIcon?: string; -} - -interface AppBarProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Determine if the bar should have position fixed or relative. - * @default false - */ - fixed?: boolean; - /** - * If true, the AppBar shows a shadow. - * @default false - */ - flat?: boolean; - /** - * If it exists it is used as the AppBar title - */ - title?: string; - /** - * If it exists it is used as the AppBar left icon - */ - leftIcon?: string; - /** - * Called when the left icon is clicked - */ - onLeftIconClick?: Function; - /** - * If it exists it is used as the AppBar right icon - */ - rightIcon?: string; - /** - * Called when the righticon is clicked - */ - onRightIconClick?: Function; - /** - * Classnames object defining the component style. - */ - theme?: AppBarTheme; -} - -export class AppBar extends React.Component { } - -export default AppBar; diff --git a/lib/app_bar/index.js b/lib/app_bar/index.js deleted file mode 100644 index 101ec946..00000000 --- a/lib/app_bar/index.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.AppBar = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _AppBar = require('./AppBar.js'); - -var _button = require('../button'); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var AppBar = (0, _AppBar.appBarFactory)(_button.IconButton); -var ThemedAppBar = (0, _reactCssThemr.themr)(_identifiers.APP_BAR, _theme2.default)(AppBar); - -exports.default = ThemedAppBar; -exports.AppBar = ThemedAppBar; \ No newline at end of file diff --git a/lib/app_bar/theme.scss b/lib/app_bar/theme.scss deleted file mode 100644 index 04584eb6..00000000 --- a/lib/app_bar/theme.scss +++ /dev/null @@ -1,65 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.appBar { - display: flex; - height: $appbar-height; - align-items: center; - padding: 0 $appbar-h-padding; - color: $appbar-contrast; - background: $appbar-color; - - @media screen and (max-width: $layout-breakpoint-xxs) and (orientation: portrait) { - height: $appbar-height-m-portrait; - } - - @media screen and (max-width: $layout-breakpoint-xs) and (orientation: landscape) { - height: $appbar-height-m-landscape; - } - - &:not(.flat) { - z-index: $z-index-high; - box-shadow: 0 2px 5px rgba(0,0,0,.26); - } - - &.fixed { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: $z-index-highest; - } - - a { - color: $appbar-contrast; - } - - .title { - flex-grow: 1; - font-size: 1.8 * $unit; - font-weight: bold; - > small { - font-size: 1.8 * $unit; - font-weight: normal; - } - } - - .leftIcon { - margin-left: -1.2 * $unit; - } - - .rightIcon { - margin-right: -1.2 * $unit; - margin-left: auto; - } - - transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - transition-duration: .5s; - transition-property: transform; - - &.scrollHide { - transform: translateY(-100%); - } -} diff --git a/lib/autocomplete/Autocomplete.js b/lib/autocomplete/Autocomplete.js deleted file mode 100644 index eeea6ec0..00000000 --- a/lib/autocomplete/Autocomplete.js +++ /dev/null @@ -1,498 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Autocomplete = exports.autocompleteFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _classnames4 = require('classnames'); - -var _classnames5 = _interopRequireDefault(_classnames4); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Chip = require('../chip/Chip.js'); - -var _Chip2 = _interopRequireDefault(_Chip); - -var _Input = require('../input/Input.js'); - -var _Input2 = _interopRequireDefault(_Input); - -var _events = require('../utils/events.js'); - -var _events2 = _interopRequireDefault(_events); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var POSITION = { - AUTO: 'auto', - DOWN: 'down', - UP: 'up' -}; - -var factory = function factory(Chip, Input) { - var Autocomplete = function (_Component) { - _inherits(Autocomplete, _Component); - - function Autocomplete() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Autocomplete); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete)).call.apply(_ref, [this].concat(args))), _this), _this.state = { - direction: _this.props.direction, - focus: false, - showAllSuggestions: _this.props.showSuggestionsWhenValueIsSet, - query: _this.query(_this.props.value) - }, _this.handleChange = function (keys, event) { - var key = _this.props.multiple ? keys : keys[0]; - var showAllSuggestions = _this.props.showSuggestionsWhenValueIsSet; - - var query = _this.query(key); - if (_this.props.onChange) _this.props.onChange(key, event); - if (_this.props.keepFocusOnChange) { - _this.setState({ query: query, showAllSuggestions: showAllSuggestions }); - } else { - _this.setState({ focus: false, query: query, showAllSuggestions: showAllSuggestions }, function () { - _reactDom2.default.findDOMNode(_this).querySelector('input').blur(); - }); - } - }, _this.handleQueryBlur = function (event) { - if (_this.state.focus) _this.setState({ focus: false }); - if (_this.props.onBlur) _this.props.onBlur(event, _this.state.active); - }, _this.handleQueryChange = function (value) { - _this.setState({ query: value, showAllSuggestions: false, active: null }); - }, _this.handleQueryFocus = function () { - _this.suggestionsNode.scrollTop = 0; - _this.setState({ active: '', focus: true }); - if (_this.props.onFocus) _this.props.onFocus(); - }, _this.handleQueryKeyDown = function (event) { - // Clear query when pressing backspace and showing all suggestions. - var shouldClearQuery = event.which === 8 && _this.props.showSuggestionsWhenValueIsSet && _this.state.showAllSuggestions; - if (shouldClearQuery) { - _this.setState({ query: '' }); - } - - if (event.which === 13) { - var target = _this.state.active; - if (!target) { - target = _this.props.allowCreate ? _this.state.query : [].concat(_toConsumableArray(_this.suggestions().keys()))[0]; - _this.setState({ active: target }); - } - _this.select(event, target); - } - }, _this.handleQueryKeyUp = function (event) { - if (event.which === 27) _reactDom2.default.findDOMNode(_this).querySelector('input').blur(); - - if ([40, 38].indexOf(event.which) !== -1) { - var suggestionsKeys = [].concat(_toConsumableArray(_this.suggestions().keys())); - var index = suggestionsKeys.indexOf(_this.state.active) + (event.which === 40 ? +1 : -1); - if (index < 0) index = suggestionsKeys.length - 1; - if (index >= suggestionsKeys.length) index = 0; - _this.setState({ active: suggestionsKeys[index] }); - } - }, _this.handleSuggestionHover = function (event) { - _this.setState({ active: event.target.id }); - }, _this.select = function (event, target) { - _events2.default.pauseEvent(event); - var values = _this.values(_this.props.value); - var newValue = target === void 0 ? event.target.id : target; - _this.handleChange([newValue].concat(_toConsumableArray(values.keys())), event); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Autocomplete, [{ - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (!this.props.multiple) { - this.setState({ - query: this.query(nextProps.value) - }); - } - } - }, { - key: 'shouldComponentUpdate', - value: function shouldComponentUpdate(nextProps, nextState) { - if (!this.state.focus && nextState.focus && this.props.direction === POSITION.AUTO) { - var direction = this.calculateDirection(); - if (this.state.direction !== direction) { - this.setState({ direction: direction }); - } - } - return true; - } - }, { - key: 'calculateDirection', - value: function calculateDirection() { - if (this.props.direction === 'auto') { - var client = _reactDom2.default.findDOMNode(this.inputNode).getBoundingClientRect(); - var screen_height = window.innerHeight || document.documentElement.offsetHeight; - var up = client.top > screen_height / 2 + client.height; - return up ? 'up' : 'down'; - } else { - return this.props.direction; - } - } - }, { - key: 'query', - value: function query(key) { - var query_value = ''; - if (!this.props.multiple && key) { - var source_value = this.source().get(key); - query_value = source_value ? source_value : key; - } - return query_value; - } - }, { - key: 'suggestions', - value: function suggestions() { - var suggest = new Map(); - var rawQuery = this.state.query || (this.props.multiple ? '' : this.props.value); - var query = (rawQuery || '').toLowerCase().trim(); - var values = this.values(); - var source = this.source(); - - // Suggest any non-set value which matches the query - if (this.props.multiple) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = _slicedToArray(_step.value, 2), - key = _step$value[0], - value = _step$value[1]; - - if (!values.has(key) && this.matches(value.toLowerCase().trim(), query)) { - suggest.set(key, value); - } - } - - // When multiple is false, suggest any value which matches the query if showAllSuggestions is false - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } else if (query && !this.state.showAllSuggestions) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = source[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _step2$value = _slicedToArray(_step2.value, 2), - key = _step2$value[0], - value = _step2$value[1]; - - if (this.matches(value.toLowerCase().trim(), query)) { - suggest.set(key, value); - } - } - - // When multiple is false, suggest all values when showAllSuggestions is true - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } else { - suggest = source; - } - - return suggest; - } - }, { - key: 'matches', - value: function matches(value, query) { - var suggestionMatch = this.props.suggestionMatch; - - - if (suggestionMatch === 'start') { - return value.startsWith(query); - } else if (suggestionMatch === 'anywhere') { - return value.includes(query); - } else if (suggestionMatch === 'word') { - var re = new RegExp('\\b' + query, 'g'); - return re.test(value); - } - - return false; - } - }, { - key: 'source', - value: function source() { - var src = this.props.source; - - if (src.hasOwnProperty('length')) { - return new Map(src.map(function (item) { - return Array.isArray(item) ? [].concat(_toConsumableArray(item)) : [item, item]; - })); - } else { - return new Map(Object.keys(src).map(function (key) { - return [key, src[key]]; - })); - } - } - }, { - key: 'values', - value: function values() { - var valueMap = new Map(); - var vals = this.props.multiple ? this.props.value : [this.props.value]; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = this.source()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _step3$value = _slicedToArray(_step3.value, 2), - k = _step3$value[0], - v = _step3$value[1]; - - if (vals.indexOf(k) !== -1) valueMap.set(k, v); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - return valueMap; - } - }, { - key: 'unselect', - value: function unselect(key, event) { - if (!this.props.disabled) { - var values = this.values(this.props.value); - values.delete(key); - this.handleChange([].concat(_toConsumableArray(values.keys())), event); - } - } - }, { - key: 'renderSelected', - value: function renderSelected() { - var _this2 = this; - - if (this.props.multiple) { - var selectedItems = [].concat(_toConsumableArray(this.values())).map(function (_ref2) { - var _ref3 = _slicedToArray(_ref2, 2), - key = _ref3[0], - value = _ref3[1]; - - return _react2.default.createElement( - Chip, - { - key: key, - className: _this2.props.theme.value, - deletable: true, - onDeleteClick: _this2.unselect.bind(_this2, key) - }, - value - ); - }); - - return _react2.default.createElement( - 'ul', - { className: this.props.theme.values }, - selectedItems - ); - } - } - }, { - key: 'renderSuggestions', - value: function renderSuggestions() { - var _this3 = this; - - var theme = this.props.theme; - - var suggestions = [].concat(_toConsumableArray(this.suggestions())).map(function (_ref4) { - var _ref5 = _slicedToArray(_ref4, 2), - key = _ref5[0], - value = _ref5[1]; - - var className = (0, _classnames5.default)(theme.suggestion, _defineProperty({}, theme.active, _this3.state.active === key)); - return _react2.default.createElement( - 'li', - { - id: key, - key: key, - className: className, - onMouseDown: _this3.select, - onMouseOver: _this3.handleSuggestionHover - }, - value - ); - }); - - return _react2.default.createElement( - 'ul', - { - className: (0, _classnames5.default)(theme.suggestions, _defineProperty({}, theme.up, this.state.direction === 'up')), - ref: function ref(node) { - _this3.suggestionsNode = node; - } - }, - suggestions - ); - } - }, { - key: 'render', - value: function render() { - var _this4 = this; - - var _props = this.props, - allowCreate = _props.allowCreate, - error = _props.error, - label = _props.label, - source = _props.source, - suggestionMatch = _props.suggestionMatch, - selectedPosition = _props.selectedPosition, - keepFocusOnChange = _props.keepFocusOnChange, - showSuggestionsWhenValueIsSet = _props.showSuggestionsWhenValueIsSet, - theme = _props.theme, - other = _objectWithoutProperties(_props, ['allowCreate', 'error', 'label', 'source', 'suggestionMatch', 'selectedPosition', 'keepFocusOnChange', 'showSuggestionsWhenValueIsSet', 'theme']); - - var className = (0, _classnames5.default)(theme.autocomplete, _defineProperty({}, theme.focus, this.state.focus), this.props.className); - - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'autocomplete', className: className }, - this.props.selectedPosition === 'above' ? this.renderSelected() : null, - _react2.default.createElement(Input, _extends({}, other, { - ref: function ref(node) { - _this4.inputNode = node; - }, - autoComplete: 'off', - className: theme.input, - error: error, - label: label, - onBlur: this.handleQueryBlur, - onChange: this.handleQueryChange, - onFocus: this.handleQueryFocus, - onKeyDown: this.handleQueryKeyDown, - onKeyUp: this.handleQueryKeyUp, - theme: theme, - themeNamespace: 'input', - value: this.state.query - })), - this.renderSuggestions(), - this.props.selectedPosition === 'below' ? this.renderSelected() : null - ); - } - }]); - - return Autocomplete; - }(_react.Component); - - Autocomplete.propTypes = { - allowCreate: _react.PropTypes.bool, - className: _react.PropTypes.string, - direction: _react.PropTypes.oneOf(['auto', 'up', 'down']), - disabled: _react.PropTypes.bool, - error: _react.PropTypes.string, - keepFocusOnChange: _react.PropTypes.bool, - label: _react.PropTypes.string, - multiple: _react.PropTypes.bool, - onBlur: _react.PropTypes.func, - onChange: _react.PropTypes.func, - onFocus: _react.PropTypes.func, - selectedPosition: _react.PropTypes.oneOf(['above', 'below']), - showSuggestionsWhenValueIsSet: _react.PropTypes.bool, - source: _react.PropTypes.any, - suggestionMatch: _react.PropTypes.oneOf(['start', 'anywhere', 'word']), - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - autocomplete: _react.PropTypes.string, - focus: _react.PropTypes.string, - input: _react.PropTypes.string, - suggestion: _react.PropTypes.string, - suggestions: _react.PropTypes.string, - up: _react.PropTypes.string, - value: _react.PropTypes.string, - values: _react.PropTypes.string - }), - value: _react.PropTypes.any - }; - Autocomplete.defaultProps = { - allowCreate: false, - className: '', - direction: 'auto', - keepFocusOnChange: false, - multiple: true, - selectedPosition: 'above', - showSuggestionsWhenValueIsSet: false, - source: {}, - suggestionMatch: 'start' - }; - - - return Autocomplete; -}; - -var Autocomplete = factory(_Chip2.default, _Input2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.AUTOCOMPLETE)(Autocomplete); -exports.autocompleteFactory = factory; -exports.Autocomplete = Autocomplete; \ No newline at end of file diff --git a/lib/autocomplete/_config.scss b/lib/autocomplete/_config.scss deleted file mode 100644 index e0280558..00000000 --- a/lib/autocomplete/_config.scss +++ /dev/null @@ -1,7 +0,0 @@ -$autocomplete-color-primary-contrast: $color-primary-contrast !default; -$autocomplete-color-primary: $color-primary !default; -$autocomplete-overflow-max-height: 45vh !default; -$autocomplete-suggestion-active-background: $palette-grey-200 !default; -$autocomplete-suggestion-padding: $unit !default; -$autocomplete-suggestions-background: $color-white !default; -$autocomplete-value-margin: $unit * .25 $unit * .5 $unit * .25 0 !default; diff --git a/lib/autocomplete/index.d.ts b/lib/autocomplete/index.d.ts deleted file mode 100644 index b2c560d0..00000000 --- a/lib/autocomplete/index.d.ts +++ /dev/null @@ -1,106 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface AutocompleteTheme { - /** - * Used for a suggestion when it's active. - */ - active?: string; - /** - * Used for the root element. - */ - autocomplete?: string; - /** - * Used when the input is focused. - */ - focus?: string; - /** - * Used to style the Input component. - */ - input?: string; - /** - * Used for the label. - */ - label?: string; - /** - * Used to style each suggestion. - */ - suggestion?: string; - /** - * Used to style the suggestions container. - */ - suggestions?: string; - /** - * Used for the suggestions when it's opening to the top. - */ - up?: string; - /** - * Classname used for a single value. - */ - value?: string; - /** - * Classname used for the values container. - */ - values?: string; -} - -interface AutocompleteProps extends ReactToolbox.Props { - /** - * Determines the opening direction. It can be auto, up or down. - * @default auto - */ - direction?: "auto" | "up" | "down"; - /** - * If true, component will be disabled. - */ - disabled?: boolean; - /** - * Sets the error string for the internal input element. - * @default false - */ - error?: string; - /** - * The text string to use for the floating label element. - */ - label?: string; - /** - * If true, component can hold multiple values. - */ - multiple?: boolean; - /** - * Callback function that is fired when the components's value changes. - * @default auto - */ - onChange?: Function; - /** - * Determines if the selected list is shown above or below input. It can be above or below. - * @default above - */ - selectedPosition?: "above" | "below"; - /** - * If true, the list of suggestions will not be filtered when a value is selected. - * @default false - */ - showSuggestionsWhenValueIsSet?: boolean; - /** - * Object of key/values or array representing all items suggested. - */ - source?: any; - /** - * Determines how suggestions are supplied. - * @default start - */ - suggestionMatch?: "start" | "anywhere" | "word"; - /** - * Classnames object defining the component style. - */ - theme?: AutocompleteTheme; - /** - * Value or array of values currently selected component. - */ - value?: any; -} - -export class Autocomplete extends React.Component { } - -export default Autocomplete; diff --git a/lib/autocomplete/index.js b/lib/autocomplete/index.js deleted file mode 100644 index 6720adea..00000000 --- a/lib/autocomplete/index.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Autocomplete = undefined; - -var _identifiers = require('../identifiers.js'); - -var _reactCssThemr = require('react-css-themr'); - -var _Autocomplete = require('./Autocomplete.js'); - -var _chip = require('../chip'); - -var _chip2 = _interopRequireDefault(_chip); - -var _input = require('../input'); - -var _input2 = _interopRequireDefault(_input); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Autocomplete = (0, _Autocomplete.autocompleteFactory)(_chip2.default, _input2.default); -var ThemedAutocomplete = (0, _reactCssThemr.themr)(_identifiers.AUTOCOMPLETE, _theme2.default)(Autocomplete); - -exports.default = ThemedAutocomplete; -exports.Autocomplete = ThemedAutocomplete; \ No newline at end of file diff --git a/lib/autocomplete/theme.scss b/lib/autocomplete/theme.scss deleted file mode 100644 index f1213657..00000000 --- a/lib/autocomplete/theme.scss +++ /dev/null @@ -1,76 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; -@import "../input/config"; - -.autocomplete { - position: relative; - padding: $unit 0; - &.focus { - .suggestions { - max-height: $autocomplete-overflow-max-height; - visibility: visible; - box-shadow: $zdepth-shadow-1; - } - } -} - -.values { - flex-direction: row; - flex-wrap: wrap; - padding-bottom: $unit / 2; -} - -.value { - margin: $autocomplete-value-margin; -} - -.suggestions { - @include no-webkit-scrollbar; - position: absolute; - z-index: $z-index-high; - width: 100%; - max-height: 0; - overflow-x: hidden; - overflow-y: auto; - visibility: hidden; - background-color: $autocomplete-suggestions-background; - transition-timing-function: $animation-curve-default; - transition-duration: $animation-duration; - transition-property: max-height, box-shadow; - &:not(.up) { - margin-top: - $input-padding; - } - &.up { - bottom: 0; - } -} - -.suggestion { - padding: $autocomplete-suggestion-padding; - font-size: $input-field-font-size; - cursor: pointer; - &.active { - background-color: $autocomplete-suggestion-active-background; - } -} - -.input { - position: relative; - &:after { - $size: ($input-field-height / 7); - $border: $size solid transparent; - position: absolute; - top: 50%; - right: $input-chevron-offset; - width: 0; - height: 0; - pointer-events: none; - content: ""; - border-top: $size solid $input-text-bottom-border-color; - border-right: $border; - border-left: $border; - transition: transform $animation-duration $animation-curve-default; - } -} diff --git a/lib/avatar/Avatar.js b/lib/avatar/Avatar.js deleted file mode 100644 index 368df208..00000000 --- a/lib/avatar/Avatar.js +++ /dev/null @@ -1,80 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Avatar = exports.avatarFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var factory = function factory(FontIcon) { - var Avatar = function Avatar(_ref) { - var children = _ref.children, - className = _ref.className, - cover = _ref.cover, - icon = _ref.icon, - image = _ref.image, - theme = _ref.theme, - title = _ref.title, - other = _objectWithoutProperties(_ref, ['children', 'className', 'cover', 'icon', 'image', 'theme', 'title']); - - return _react2.default.createElement( - 'div', - _extends({ 'data-react-toolbox': 'avatar', className: (0, _classnames2.default)(theme.avatar, className) }, other), - children, - cover && typeof image === 'string' && _react2.default.createElement('span', { alt: title, className: theme.image, style: { backgroundImage: 'url(' + image + ')' } }), - !cover && (typeof image === 'string' ? _react2.default.createElement('img', { alt: title, className: theme.image, src: image, title: title }) : image), - typeof icon === 'string' ? _react2.default.createElement(FontIcon, { className: theme.letter, value: icon }) : icon, - title ? _react2.default.createElement( - 'span', - { className: theme.letter }, - title[0] - ) : null - ); - }; - - Avatar.propTypes = { - children: _react.PropTypes.node, - className: _react.PropTypes.string, - cover: _react.PropTypes.bool, - icon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - image: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - theme: _react.PropTypes.shape({ - avatar: _react.PropTypes.string, - image: _react.PropTypes.string, - letter: _react.PropTypes.string - }), - title: _react.PropTypes.string - }; - - Avatar.defaultProps = { - cover: false - }; - - return Avatar; -}; - -var Avatar = factory(_FontIcon2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.AVATAR)(Avatar); -exports.avatarFactory = factory; -exports.Avatar = Avatar; \ No newline at end of file diff --git a/lib/avatar/_config.scss b/lib/avatar/_config.scss deleted file mode 100644 index a2922fb6..00000000 --- a/lib/avatar/_config.scss +++ /dev/null @@ -1,4 +0,0 @@ -$avatar-color: $color-white !default; -$avatar-background: $palette-grey-500 !default; -$avatar-size: 4 * $unit !default; -$avatar-font-size: 2.4 * $unit !default; diff --git a/lib/avatar/index.d.ts b/lib/avatar/index.d.ts deleted file mode 100644 index c2ddc695..00000000 --- a/lib/avatar/index.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface AvatarTheme { - /** - * Used for the root class of the element. - */ - avatar?: string; - /** - * Added to the root element when the component has image. - */ - image?: string; - /** - * Used for the root element if the component shows the letter. - */ - letter?: string; -} - -interface AvatarProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Set to true if your image is not squared so it will be used as a cover for the element. - */ - cover?: boolean; - /** - * A key to identify an Icon from Material Design Icons or a custom Icon Element. - */ - icon?: React.ReactNode | string; - /** - * An image source or an image element. - */ - image?: React.ReactNode | string; - /** - * Classnames object defining the component style. - */ - theme?: AvatarTheme; - /** - * A title for the image. If no image is provided, the first letter will be displayed as the avatar. - */ - title?: string; -} - -export class Avatar extends React.Component { } - -export default Avatar; diff --git a/lib/avatar/index.js b/lib/avatar/index.js deleted file mode 100644 index 247561ab..00000000 --- a/lib/avatar/index.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Avatar = undefined; - -var _identifiers = require('../identifiers.js'); - -var _reactCssThemr = require('react-css-themr'); - -var _Avatar = require('./Avatar.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Avatar = (0, _Avatar.avatarFactory)(_FontIcon2.default); -var ThemedAvatar = (0, _reactCssThemr.themr)(_identifiers.AVATAR, _theme2.default)(Avatar); - -exports.default = ThemedAvatar; -exports.Avatar = ThemedAvatar; \ No newline at end of file diff --git a/lib/avatar/theme.scss b/lib/avatar/theme.scss deleted file mode 100644 index 9514782a..00000000 --- a/lib/avatar/theme.scss +++ /dev/null @@ -1,44 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.avatar { - position: relative; - display: inline-block; - width: $avatar-size; - height: $avatar-size; - overflow: hidden; - font-size: $avatar-font-size; - color: $avatar-color; - text-align: center; - vertical-align: middle; - background-color: $avatar-background; - border-radius: 50%; - > svg { - width: 1em; - height: $avatar-size; - fill: currentColor; - } - > img { - max-width: 100%; - height: auto; - } -} - -.image { - position: absolute; - display: block; - width: 100%; - height: 100%; - background-color: transparent; - background-position: center; - background-size: cover; - border-radius: 50%; -} - -.letter { - display: block; - width: 100%; - line-height: $avatar-size; -} diff --git a/lib/button/BrowseButton.js b/lib/button/BrowseButton.js deleted file mode 100644 index d8838140..00000000 --- a/lib/button/BrowseButton.js +++ /dev/null @@ -1,168 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.BrowseButton = exports.browseButtonFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -var _Ripple = require('../ripple/Ripple.js'); - -var _Ripple2 = _interopRequireDefault(_Ripple); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(ripple, FontIcon) { - var SimpleBrowseButton = function (_Component) { - _inherits(SimpleBrowseButton, _Component); - - function SimpleBrowseButton() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, SimpleBrowseButton); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SimpleBrowseButton.__proto__ || Object.getPrototypeOf(SimpleBrowseButton)).call.apply(_ref, [this].concat(args))), _this), _this.handleMouseUp = function (event) { - _this.refs.label.blur(); - if (_this.props.onMouseUp) _this.props.onMouseUp(event); - }, _this.handleMouseLeave = function (event) { - _this.refs.label.blur(); - if (_this.props.onMouseLeave) _this.props.onMouseLeave(event); - }, _this.handleFileChange = function (event) { - if (_this.props.onChange) _this.props.onChange(event); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(SimpleBrowseButton, [{ - key: 'render', - value: function render() { - var _classnames; - - var _props = this.props, - accent = _props.accent, - children = _props.children, - className = _props.className, - flat = _props.flat, - floating = _props.floating, - icon = _props.icon, - inverse = _props.inverse, - label = _props.label, - mini = _props.mini, - neutral = _props.neutral, - primary = _props.primary, - theme = _props.theme, - raised = _props.raised, - others = _objectWithoutProperties(_props, ['accent', 'children', 'className', 'flat', 'floating', 'icon', 'inverse', 'label', 'mini', 'neutral', 'primary', 'theme', 'raised']); - - var element = 'label'; - var level = primary ? 'primary' : accent ? 'accent' : 'neutral'; - var shape = flat ? 'flat' : raised ? 'raised' : floating ? 'floating' : 'flat'; - - var classes = (0, _classnames3.default)(theme.button, [theme[shape]], (_classnames = {}, _defineProperty(_classnames, theme[level], neutral), _defineProperty(_classnames, theme.mini, mini), _defineProperty(_classnames, theme.inverse, inverse), _classnames), className); - - var props = _extends({}, others, { - ref: 'label', - className: classes, - disabled: this.props.disabled, - onMouseUp: this.handleMouseUp, - onMouseLeave: this.handleMouseLeave, - 'data-react-toolbox': 'label' - }); - - return _react2.default.createElement(element, props, icon ? _react2.default.createElement(FontIcon, { className: theme.icon, value: icon }) : null, _react2.default.createElement( - 'span', - null, - label - ), _react2.default.createElement('input', { className: classes, type: 'file', onChange: this.handleFileChange }), children); - } - }]); - - return SimpleBrowseButton; - }(_react.Component); - - SimpleBrowseButton.propTypes = { - accent: _react.PropTypes.bool, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - flat: _react.PropTypes.bool, - floating: _react.PropTypes.bool, - icon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - inverse: _react.PropTypes.bool, - label: _react.PropTypes.string, - mini: _react.PropTypes.bool, - neutral: _react.PropTypes.bool, - onChange: _react.PropTypes.func, - onMouseLeave: _react.PropTypes.func, - onMouseUp: _react.PropTypes.func, - primary: _react.PropTypes.bool, - raised: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - accent: _react.PropTypes.string, - button: _react.PropTypes.string, - flat: _react.PropTypes.string, - floating: _react.PropTypes.string, - icon: _react.PropTypes.string, - inverse: _react.PropTypes.string, - mini: _react.PropTypes.string, - neutral: _react.PropTypes.string, - primary: _react.PropTypes.string, - raised: _react.PropTypes.string, - rippleWrapper: _react.PropTypes.string, - toggle: _react.PropTypes.string - }), - type: _react.PropTypes.string - }; - SimpleBrowseButton.defaultProps = { - accent: false, - className: '', - flat: false, - floating: false, - mini: false, - neutral: true, - primary: false, - raised: false - }; - - - return ripple(SimpleBrowseButton); -}; - -var BrowseButton = factory((0, _Ripple2.default)({ centered: false }), _FontIcon2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.BUTTON)(BrowseButton); -exports.browseButtonFactory = factory; -exports.BrowseButton = BrowseButton; \ No newline at end of file diff --git a/lib/button/Button.js b/lib/button/Button.js deleted file mode 100644 index 7f72d880..00000000 --- a/lib/button/Button.js +++ /dev/null @@ -1,164 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Button = exports.buttonFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -var _Ripple = require('../ripple/Ripple.js'); - -var _Ripple2 = _interopRequireDefault(_Ripple); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(ripple, FontIcon) { - var Button = function (_Component) { - _inherits(Button, _Component); - - function Button() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Button); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Button.__proto__ || Object.getPrototypeOf(Button)).call.apply(_ref, [this].concat(args))), _this), _this.handleMouseUp = function (event) { - _this.refs.button.blur(); - if (_this.props.onMouseUp) _this.props.onMouseUp(event); - }, _this.handleMouseLeave = function (event) { - _this.refs.button.blur(); - if (_this.props.onMouseLeave) _this.props.onMouseLeave(event); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Button, [{ - key: 'render', - value: function render() { - var _classnames; - - var _props = this.props, - accent = _props.accent, - children = _props.children, - className = _props.className, - flat = _props.flat, - floating = _props.floating, - href = _props.href, - icon = _props.icon, - inverse = _props.inverse, - label = _props.label, - mini = _props.mini, - neutral = _props.neutral, - primary = _props.primary, - theme = _props.theme, - raised = _props.raised, - others = _objectWithoutProperties(_props, ['accent', 'children', 'className', 'flat', 'floating', 'href', 'icon', 'inverse', 'label', 'mini', 'neutral', 'primary', 'theme', 'raised']); - - var element = href ? 'a' : 'button'; - var level = primary ? 'primary' : accent ? 'accent' : 'neutral'; - var shape = flat ? 'flat' : raised ? 'raised' : floating ? 'floating' : 'flat'; - - var classes = (0, _classnames3.default)(theme.button, [theme[shape]], (_classnames = {}, _defineProperty(_classnames, theme[level], neutral), _defineProperty(_classnames, theme.mini, mini), _defineProperty(_classnames, theme.inverse, inverse), _classnames), className); - - var props = _extends({}, others, { - href: href, - ref: 'button', - className: classes, - disabled: this.props.disabled, - onMouseUp: this.handleMouseUp, - onMouseLeave: this.handleMouseLeave, - 'data-react-toolbox': 'button' - }); - - return _react2.default.createElement(element, props, icon ? _react2.default.createElement(FontIcon, { className: theme.icon, value: icon }) : null, label, children); - } - }]); - - return Button; - }(_react.Component); - - Button.propTypes = { - accent: _react.PropTypes.bool, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - flat: _react.PropTypes.bool, - floating: _react.PropTypes.bool, - href: _react.PropTypes.string, - icon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - inverse: _react.PropTypes.bool, - label: _react.PropTypes.string, - mini: _react.PropTypes.bool, - neutral: _react.PropTypes.bool, - onMouseLeave: _react.PropTypes.func, - onMouseUp: _react.PropTypes.func, - primary: _react.PropTypes.bool, - raised: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - accent: _react.PropTypes.string, - button: _react.PropTypes.string, - flat: _react.PropTypes.string, - floating: _react.PropTypes.string, - icon: _react.PropTypes.string, - inverse: _react.PropTypes.string, - mini: _react.PropTypes.string, - neutral: _react.PropTypes.string, - primary: _react.PropTypes.string, - raised: _react.PropTypes.string, - rippleWrapper: _react.PropTypes.string, - toggle: _react.PropTypes.string - }), - type: _react.PropTypes.string - }; - Button.defaultProps = { - accent: false, - className: '', - flat: false, - floating: false, - mini: false, - neutral: true, - primary: false, - raised: false - }; - - - return ripple(Button); -}; - -var Button = factory((0, _Ripple2.default)({ centered: false }), _FontIcon2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.BUTTON)(Button); -exports.buttonFactory = factory; -exports.Button = Button; \ No newline at end of file diff --git a/lib/button/IconButton.js b/lib/button/IconButton.js deleted file mode 100644 index 81bdd19c..00000000 --- a/lib/button/IconButton.js +++ /dev/null @@ -1,135 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.IconButton = exports.iconButtonFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -var _Ripple = require('../ripple/Ripple.js'); - -var _Ripple2 = _interopRequireDefault(_Ripple); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(ripple, FontIcon) { - var IconButton = function (_Component) { - _inherits(IconButton, _Component); - - function IconButton() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, IconButton); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = IconButton.__proto__ || Object.getPrototypeOf(IconButton)).call.apply(_ref, [this].concat(args))), _this), _this.handleMouseUp = function (event) { - _this.refs.button.blur(); - if (_this.props.onMouseUp) _this.props.onMouseUp(event); - }, _this.handleMouseLeave = function (event) { - _this.refs.button.blur(); - if (_this.props.onMouseLeave) _this.props.onMouseLeave(event); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(IconButton, [{ - key: 'render', - value: function render() { - var _classnames; - - var _props = this.props, - accent = _props.accent, - children = _props.children, - className = _props.className, - href = _props.href, - icon = _props.icon, - inverse = _props.inverse, - neutral = _props.neutral, - primary = _props.primary, - theme = _props.theme, - others = _objectWithoutProperties(_props, ['accent', 'children', 'className', 'href', 'icon', 'inverse', 'neutral', 'primary', 'theme']); - - var element = href ? 'a' : 'button'; - var level = primary ? 'primary' : accent ? 'accent' : 'neutral'; - var classes = (0, _classnames3.default)([theme.toggle], (_classnames = {}, _defineProperty(_classnames, theme[level], neutral), _defineProperty(_classnames, theme.inverse, inverse), _classnames), className); - - var props = _extends({}, others, { - href: href, - ref: 'button', - className: classes, - disabled: this.props.disabled, - onMouseUp: this.handleMouseUp, - onMouseLeave: this.handleMouseLeave, - 'data-react-toolbox': 'button' - }); - - return _react2.default.createElement(element, props, icon ? typeof icon === 'string' ? _react2.default.createElement(FontIcon, { className: theme.icon, value: icon }) : icon : null, children); - } - }]); - - return IconButton; - }(_react.Component); - - IconButton.propTypes = { - accent: _react.PropTypes.bool, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - href: _react.PropTypes.string, - icon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - inverse: _react.PropTypes.bool, - neutral: _react.PropTypes.bool, - onMouseLeave: _react.PropTypes.func, - onMouseUp: _react.PropTypes.func, - primary: _react.PropTypes.bool, - theme: _react.PropTypes.object, - type: _react.PropTypes.string - }; - IconButton.defaultProps = { - accent: false, - className: '', - neutral: true, - primary: false - }; - - - return ripple(IconButton); -}; - -var IconButton = factory((0, _Ripple2.default)({ centered: true }), _FontIcon2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.BUTTON)(IconButton); -exports.iconButtonFactory = factory; -exports.IconButton = IconButton; \ No newline at end of file diff --git a/lib/button/__test__/index.spec.js b/lib/button/__test__/index.spec.js deleted file mode 100644 index 67d402c7..00000000 --- a/lib/button/__test__/index.spec.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -var _expect = require('expect'); - -var _expect2 = _interopRequireDefault(_expect); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _reactAddonsTestUtils = require('react-addons-test-utils'); - -var _reactAddonsTestUtils2 = _interopRequireDefault(_reactAddonsTestUtils); - -var _theme = require('../theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -var _Button = require('../Button'); - -var _Button2 = _interopRequireDefault(_Button); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var getRenderedClassName = function getRenderedClassName(tree, Component) { - var rendered = _reactAddonsTestUtils2.default.findRenderedComponentWithType(tree, Component); - return _reactDom2.default.findDOMNode(rendered).getAttribute('class'); -}; - -describe('Button', function () { - describe('#render', function () { - it('uses flat and neutral styles by default', function () { - var tree = _reactAddonsTestUtils2.default.renderIntoDocument(_react2.default.createElement(_Button2.default, { theme: _theme2.default })); - var className = getRenderedClassName(tree, _Button.Button); - (0, _expect2.default)(className).toContain(_theme2.default.flat); - (0, _expect2.default)(className).toContain(_theme2.default.neutral); - }); - - it('renders accent button with accent style', function () { - var tree = _reactAddonsTestUtils2.default.renderIntoDocument(_react2.default.createElement(_Button2.default, { accent: true, theme: _theme2.default })); - var className = getRenderedClassName(tree, _Button.Button); - (0, _expect2.default)(className).toContain(_theme2.default.flat); - (0, _expect2.default)(className).toContain(_theme2.default.accent); - }); - - it('renders mini button with mini style', function () { - var tree = _reactAddonsTestUtils2.default.renderIntoDocument(_react2.default.createElement(_Button2.default, { floating: true, mini: true, theme: _theme2.default })); - var className = getRenderedClassName(tree, _Button.Button); - (0, _expect2.default)(className).toContain(_theme2.default.floating); - (0, _expect2.default)(className).toContain(_theme2.default.neutral); - (0, _expect2.default)(className).toContain(_theme2.default.mini); - }); - - it('renders mini accented button with both styles', function () { - var tree = _reactAddonsTestUtils2.default.renderIntoDocument(_react2.default.createElement(_Button2.default, { accent: true, mini: true, theme: _theme2.default })); - var className = getRenderedClassName(tree, _Button.Button); - (0, _expect2.default)(className).toContain(_theme2.default.flat); - (0, _expect2.default)(className).toContain(_theme2.default.accent); - (0, _expect2.default)(className).toContain(_theme2.default.mini); - }); - }); -}); \ No newline at end of file diff --git a/lib/button/_config.scss b/lib/button/_config.scss deleted file mode 100644 index 4a37d8b0..00000000 --- a/lib/button/_config.scss +++ /dev/null @@ -1,21 +0,0 @@ -$button-neutral-color: $color-white !default; -$button-neutral-color-contrast: $palette-grey-900 !default; -$button-neutral-color-hover: rgba($palette-grey-900, .2) !default; -$button-primary-color-contrast: $color-primary-contrast !default; -$button-primary-color-hover: rgba($color-primary, .2) !default; -$button-primary-color: $color-primary !default; -$button-accent-color-contrast: $color-primary-contrast !default; -$button-accent-color-hover: rgba($color-accent, .2) !default; -$button-accent-color: $color-accent !default; -$button-disabled-text-color: rgba($color-black, 0.26) !default; -$button-disabled-background-color: rgba($color-black, 0.12) !default; -$button-border-radius: 0.2 * $unit !default; -$button-floating-font-size: $unit * 2.4 !default; -$button-floating-height: $unit * 5.6 !default; -$button-floating-mini-height: $unit * 4 !default; -$button-floating-mini-font-size: $button-floating-mini-height / 2.25 !default; -$button-height: $unit * 3.6 !default; -$button-squared-icon-margin: $unit * .6 !default; -$button-squared-min-width: 9 * $unit !default; -$button-squared-padding: 0 $unit * 1.2 !default; -$button-toggle-font-size: $unit * 2 !default; diff --git a/lib/button/_mixins.scss b/lib/button/_mixins.scss deleted file mode 100644 index 305be037..00000000 --- a/lib/button/_mixins.scss +++ /dev/null @@ -1,17 +0,0 @@ -@mixin btn-colors($name, $color, $background, $hover) { - .#{$name}:not([disabled]) { - &.raised, &.floating { - color: $color; - background: $background; - } - &.flat, &.toggle { - color: $background; - &:focus:not(:active) { - background: $hover; - } - } - &.flat:hover { - background: $hover; - } - } -} diff --git a/lib/button/index.d.ts b/lib/button/index.d.ts deleted file mode 100644 index e713f70a..00000000 --- a/lib/button/index.d.ts +++ /dev/null @@ -1,337 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface ButtonTheme { - /** - * Used for the root in case button is accent. - */ - accent?: string; - /** - * Used for the root element in any button. - */ - button?: string; - /** - * Used when the button is flat for the root element. - */ - flat?: string; - /** - * Used when the button is floating for the root element. - */ - floating?: string; - /** - * For the icon inside a button. - */ - icon?: string; - /** - * Used when colors are inverted. - */ - inverse?: string; - /** - * Used for mini floating buttons. - */ - mini?: string; - /** - * Used for neutral colored buttons. - */ - neutral?: string; - /** - * Used for primary buttons when button is primary. - */ - primary?: string; - /** - * Used when the button is raised for root element. - */ - raised?: string; - /** - * Used for the ripple element. - */ - rippleWrapper?: string; - /** - * Used for toggle buttons in the root element. - */ - toggle?: string; -} - -interface ButtonProps extends ReactToolbox.Props { - /** - * Indicates if the button should have accent color. - * @default false - */ - accent?: boolean; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, component will be disabled. - * @default false - */ - disabled?: boolean; - /** - * If true, the button will have a flat look. - * @default false - */ - flat?: boolean; - /** - * If true, the button will have a floating look. - * @default false - */ - floating?: boolean; - /** - * Creates a link for the button. - */ - href?: string; - /** - * Value of the icon (See Font Icon Component). - */ - icon?: React.ReactNode | string; - /** - * If true, the neutral colors are inverted. Useful to put a button over a dark background. - */ - inverse?: boolean; - /** - * The text string to use for the name of the button. - */ - label?: string; - /** - * To be used with floating button. If true, the button will be smaller. - * @default false - */ - mini?: boolean; - /** - * Set it to false if you don't want the neutral styles to be included. - * @default true - */ - neutral?: boolean; - /** - * Indicates if the button should have primary color. - * @default false - */ - primary?: boolean; - /** - * If true, the button will have a raised look. - * @default false - */ - raised?: boolean; - /** - * If true, component will have a ripple effect on click. - * @default true - */ - ripple?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: ButtonTheme; -} - -export class Button extends React.Component { } - -export interface IconButtonTheme { - /** - * Used for the root in case button is accent. - */ - accent?: string; - /** - * Used for the root element in any button. - */ - button?: string; - /** - * For the icon inside a button. - */ - icon?: string; - /** - * Used when colors are inverted. - */ - inverse?: string; - /** - * Used for neutral colored buttons. - */ - neutral?: string; - /** - * Used for primary buttons when button is primary. - */ - primary?: string; - /** - * Used for the ripple element. - */ - rippleWrapper?: string; - /** - * Used for toggle buttons in the root element. - */ - toggle?: string; -} - -interface IconButtonProps extends ReactToolbox.Props { - /** - * Indicates if the button should have accent color. - * @default false - */ - accent?: boolean; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, component will be disabled. - * @default false - */ - disabled?: boolean; - /** - * Creates a link for the button. - */ - href?: string; - /** - * Value of the icon (See Font Icon Component). - */ - icon?: React.ReactNode | string; - /** - * If true, the neutral colors are inverted. Useful to put a button over a dark background. - */ - inverse?: boolean; - /** - * Set it to false if you don't want the neutral styles to be included. - * @default true - */ - neutral?: boolean; - /** - * Indicates if the button should have primary color. - * @default false - */ - primary?: boolean; - /** - * If true, component will have a ripple effect on click. - * @default true - */ - ripple?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: IconButtonTheme; -} - -export class IconButton extends React.Component { } - -export interface BrowseButtonTheme { - /** - * Used for the root in case button is accent. - */ - accent?: string; - /** - * Used for the root element in any button. - */ - button?: string; - /** - * Used when the button is flat for the root element. - */ - flat?: string; - /** - * Used when the button is floating for the root element. - */ - floating?: string; - /** - * For the icon inside a button. - */ - icon?: string; - /** - * Used when colors are inverted. - */ - inverse?: string; - /** - * Used for mini floating buttons. - */ - mini?: string; - /** - * Used for neutral colored buttons. - */ - neutral?: string; - /** - * Used for primary buttons when button is primary. - */ - primary?: string; - /** - * Used when the button is raised for root element. - */ - raised?: string; - /** - * Used for the ripple element. - */ - rippleWrapper?: string; - /** - * Used for toggle buttons in the root element. - */ - toggle?: string; -} - -interface BrowseButtonProps extends ReactToolbox.Props { - /** - * Indicates if the button should have accent color. - * @default false - */ - accent?: boolean; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, component will be disabled. - * @default false - */ - disabled?: boolean; - /** - * If true, the button will have a flat look. - * @default false - */ - flat?: boolean; - /** - * If true, the button will have a floating look. - * @default false - */ - floating?: boolean; - /** - * Creates a link for the button. - */ - href?: string; - /** - * Value of the icon (See Font Icon Component). - */ - icon?: React.ReactNode | string; - /** - * If true, the neutral colors are inverted. Useful to put a button over a dark background. - */ - inverse?: boolean; - /** - * The text string to use for the name of the button. - */ - label?: string; - /** - * To be used with floating button. If true, the button will be smaller. - * @default false - */ - mini?: boolean; - /** - * Set it to false if you don't want the neutral styles to be included. - * @default true - */ - neutral?: boolean; - /** - * Indicates if the button should have primary color. - * @default false - */ - primary?: boolean; - /** - * If true, the button will have a raised look. - * @default false - */ - raised?: boolean; - /** - * If true, component will have a ripple effect on click. - * @default true - */ - ripple?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: BrowseButtonTheme; -} - -export class BrowseButton extends React.Component { } diff --git a/lib/button/index.js b/lib/button/index.js deleted file mode 100644 index fe05c0be..00000000 --- a/lib/button/index.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.BrowseButton = exports.IconButton = exports.Button = undefined; - -var _identifiers = require('../identifiers.js'); - -var _reactCssThemr = require('react-css-themr'); - -var _Button = require('./Button.js'); - -var _BrowseButton = require('./BrowseButton.js'); - -var _IconButton = require('./IconButton.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -var _ripple = require('../ripple'); - -var _ripple2 = _interopRequireDefault(_ripple); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Button = (0, _Button.buttonFactory)((0, _ripple2.default)({ centered: false }), _FontIcon2.default); -var IconButton = (0, _IconButton.iconButtonFactory)((0, _ripple2.default)({ centered: true }), _FontIcon2.default); -var BrowseButton = (0, _BrowseButton.browseButtonFactory)((0, _ripple2.default)({ centered: false }), _FontIcon2.default); -var ThemedButton = (0, _reactCssThemr.themr)(_identifiers.BUTTON, _theme2.default)(Button); -var ThemedIconButton = (0, _reactCssThemr.themr)(_identifiers.BUTTON, _theme2.default)(IconButton); -var ThemedBrowseButton = (0, _reactCssThemr.themr)(_identifiers.BUTTON, _theme2.default)(BrowseButton); - -exports.default = ThemedButton; -exports.Button = ThemedButton; -exports.IconButton = ThemedIconButton; -exports.BrowseButton = ThemedBrowseButton; \ No newline at end of file diff --git a/lib/button/theme.scss b/lib/button/theme.scss deleted file mode 100644 index bceb0b29..00000000 --- a/lib/button/theme.scss +++ /dev/null @@ -1,182 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; -@import "./mixins"; - -.button { - position: relative; - - > input { - position: absolute; - top: 0; - left:0; - z-index: 0; - width: 0.1px; - height: 0.1px; - padding: 0; - margin: 0; - overflow: hidden; - opacity: 0; - } -} - -%button { - @include typo-button(); - position: relative; - display: inline-block; - height: $button-height; - flex-direction: row; - align-content: center; - align-items: center; - justify-content: center; - line-height: $button-height; - text-align: center; - text-decoration: none; - white-space: nowrap; - cursor: pointer; - border: 0; - outline: none; - transition: box-shadow .2s $animation-curve-fast-out-linear-in, background-color .2s $animation-curve-default, color .2s $animation-curve-default; - &::-moz-focus-inner { - border: 0; - } - > span:not([data-react-toolbox="tooltip"]) { - display: inline-block; - line-height: $button-height; - vertical-align: top; - } - > svg { - display: inline-block; - width: 1em; - height: $button-height; - font-size: 120%; - vertical-align: top; - fill: currentColor; - } - > * { - pointer-events: none; - } - > .rippleWrapper { - overflow: hidden; - } - &[disabled] { - color: $button-disabled-text-color; - pointer-events: none; - cursor: auto; - } -} - -%squared { - min-width: $button-squared-min-width; - padding: $button-squared-padding; - border-radius: $button-border-radius; - .icon { - margin-right: $button-squared-icon-margin; - font-size: 120%; - vertical-align: middle; - } - > svg { - margin-right: .5 * $unit; - } -} - -%solid { - &[disabled] { - @include shadow-2dp(); - background-color: $button-disabled-background-color; - } - &:active { - @include shadow-4dp(); - } - &:focus:not(:active) { - @include focus-shadow(); - } -} - -.raised { - @extend %button; - @extend %squared; - @extend %solid; - @include shadow-2dp(); -} - -.flat { - @extend %button; - @extend %squared; - background: transparent; -} - -.floating { - @extend %button; - @extend %solid; - width: $button-floating-height; - height: $button-floating-height; - font-size: $button-floating-font-size; - border-radius: 50%; - box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, .12), 0 1px 1px 0 rgba(0, 0, 0, .24); - .icon { - line-height: $button-floating-height; - } - > .rippleWrapper { - border-radius: 50%; - } - &.mini { - width: $button-floating-mini-height; - height: $button-floating-mini-height; - font-size: $button-floating-mini-font-size; - .icon { - line-height: $button-floating-mini-height; - } - } -} - -.toggle { - @extend %button; - width: $button-height; - background: transparent; - border-radius: 50%; - > .icon, svg { - font-size: $button-toggle-font-size; - line-height: $button-height; - vertical-align: top; - } - > .rippleWrapper { - border-radius: 50%; - } -} - -.neutral:not([disabled]) { - &.raised, &.floating { - color: $button-neutral-color-contrast; - background-color: $button-neutral-color; - } - &.flat, &.toggle { - color: $button-neutral-color-contrast; - &:focus:not(:active) { - background: $button-neutral-color-hover; - } - } - &.flat:hover { - background: $button-neutral-color-hover; - } - - &.inverse { - &.raised, &.floating { - color: $button-neutral-color; - background-color: $button-neutral-color-contrast; - } - &.flat, &.toggle { - color: $button-neutral-color; - &:focus:not(:active) { - background: $button-neutral-color-hover; - } - } - &.flat:hover { - background: $button-neutral-color-hover; - } - } -} - -@include btn-colors("primary", $button-primary-color-contrast, $button-primary-color, $button-primary-color-hover); -@include btn-colors("accent", $button-accent-color-contrast, $button-accent-color, $button-accent-color-hover); diff --git a/lib/card/Card.js b/lib/card/Card.js deleted file mode 100644 index 3067f747..00000000 --- a/lib/card/Card.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Card = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var Card = function Card(_ref) { - var children = _ref.children, - className = _ref.className, - raised = _ref.raised, - theme = _ref.theme, - other = _objectWithoutProperties(_ref, ['children', 'className', 'raised', 'theme']); - - var classes = (0, _classnames3.default)(theme.card, _defineProperty({}, theme.raised, raised), className); - - return _react2.default.createElement( - 'div', - _extends({ 'data-react-toolbox': 'card', className: classes }, other), - children - ); -}; - -Card.propTypes = { - children: _react.PropTypes.any, - className: _react.PropTypes.string, - raised: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - card: _react.PropTypes.string, - raised: _react.PropTypes.string - }) -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.CARD)(Card); -exports.Card = Card; \ No newline at end of file diff --git a/lib/card/CardActions.js b/lib/card/CardActions.js deleted file mode 100644 index 5c4cb45c..00000000 --- a/lib/card/CardActions.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CardActions = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var CardActions = function CardActions(_ref) { - var children = _ref.children, - className = _ref.className, - theme = _ref.theme, - other = _objectWithoutProperties(_ref, ['children', 'className', 'theme']); - - return _react2.default.createElement( - 'div', - _extends({ className: (0, _classnames2.default)(theme.cardActions, className) }, other), - children - ); -}; - -CardActions.propTypes = { - children: _react.PropTypes.any, - className: _react.PropTypes.string, - theme: _react.PropTypes.shape({ - cardActions: _react.PropTypes.string - }) -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.CARD)(CardActions); -exports.CardActions = CardActions; \ No newline at end of file diff --git a/lib/card/CardMedia.js b/lib/card/CardMedia.js deleted file mode 100644 index e0d86cc4..00000000 --- a/lib/card/CardMedia.js +++ /dev/null @@ -1,75 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CardMedia = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _classnames3 = require('classnames'); - -var _classnames4 = _interopRequireDefault(_classnames3); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var CardMedia = function CardMedia(_ref) { - var aspectRatio = _ref.aspectRatio, - children = _ref.children, - className = _ref.className, - color = _ref.color, - contentOverlay = _ref.contentOverlay, - image = _ref.image, - theme = _ref.theme, - other = _objectWithoutProperties(_ref, ['aspectRatio', 'children', 'className', 'color', 'contentOverlay', 'image', 'theme']); - - var classes = (0, _classnames4.default)(theme.cardMedia, _defineProperty({}, theme[aspectRatio], aspectRatio), className); - - var innerClasses = (0, _classnames4.default)(theme.content, _defineProperty({}, theme.contentOverlay, contentOverlay)); - - var bgStyle = { - backgroundColor: color ? color : undefined, - backgroundImage: typeof image === 'string' ? 'url(\'' + image + '\')' : undefined - }; - - return _react2.default.createElement( - 'div', - _extends({ style: bgStyle, className: classes }, other), - _react2.default.createElement( - 'div', - { className: innerClasses }, - children - ) - ); -}; - -CardMedia.propTypes = { - aspectRatio: _react.PropTypes.oneOf(['wide', 'square']), - children: _react.PropTypes.any, - className: _react.PropTypes.string, - color: _react.PropTypes.string, - contentOverlay: _react.PropTypes.bool, - image: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - theme: _react.PropTypes.shape({ - cardMedia: _react.PropTypes.string, - content: _react.PropTypes.string, - contentOverlay: _react.PropTypes.string, - square: _react.PropTypes.string, - wide: _react.PropTypes.string - }) -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.CARD)(CardMedia); -exports.CardMedia = CardMedia; \ No newline at end of file diff --git a/lib/card/CardText.js b/lib/card/CardText.js deleted file mode 100644 index b1ea09ae..00000000 --- a/lib/card/CardText.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CardText = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var CardText = function CardText(_ref) { - var children = _ref.children, - className = _ref.className, - theme = _ref.theme, - other = _objectWithoutProperties(_ref, ['children', 'className', 'theme']); - - return _react2.default.createElement( - 'div', - _extends({ className: (0, _classnames2.default)(theme.cardText, className) }, other), - typeof children === 'string' ? _react2.default.createElement( - 'p', - null, - children - ) : children - ); -}; - -CardText.propTypes = { - children: _react.PropTypes.any, - className: _react.PropTypes.string, - theme: _react.PropTypes.shape({ - cardText: _react.PropTypes.string - }) -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.CARD)(CardText); -exports.CardText = CardText; \ No newline at end of file diff --git a/lib/card/CardTitle.js b/lib/card/CardTitle.js deleted file mode 100644 index a6d27807..00000000 --- a/lib/card/CardTitle.js +++ /dev/null @@ -1,93 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.cardTitleFactory = exports.CardTitle = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Avatar = require('../avatar/Avatar.js'); - -var _Avatar2 = _interopRequireDefault(_Avatar); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var factory = function factory(Avatar) { - var CardTitle = function CardTitle(_ref) { - var _classnames; - - var avatar = _ref.avatar, - children = _ref.children, - className = _ref.className, - subtitle = _ref.subtitle, - theme = _ref.theme, - title = _ref.title, - other = _objectWithoutProperties(_ref, ['avatar', 'children', 'className', 'subtitle', 'theme', 'title']); - - var classes = (0, _classnames3.default)(theme.cardTitle, (_classnames = {}, _defineProperty(_classnames, theme.small, avatar), _defineProperty(_classnames, theme.large, !avatar), _classnames), className); - - return _react2.default.createElement( - 'div', - _extends({ className: classes }, other), - typeof avatar === 'string' ? _react2.default.createElement(Avatar, { image: avatar, theme: theme }) : avatar, - _react2.default.createElement( - 'div', - null, - title && _react2.default.createElement( - 'h5', - { className: theme.title }, - title - ), - children && typeof children === 'string' && _react2.default.createElement( - 'h5', - { className: theme.title }, - children - ), - subtitle && _react2.default.createElement( - 'p', - { className: theme.subtitle }, - subtitle - ), - children && typeof children !== 'string' && children - ) - ); - }; - - CardTitle.propTypes = { - avatar: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - children: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element, _react.PropTypes.array]), - className: _react.PropTypes.string, - subtitle: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - theme: _react.PropTypes.shape({ - large: _react.PropTypes.string, - title: _react.PropTypes.string, - small: _react.PropTypes.string, - subtitle: _react.PropTypes.string - }), - title: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]) - }; - - return CardTitle; -}; - -var CardTitle = factory(_Avatar2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.CARD)(CardTitle); -exports.CardTitle = CardTitle; -exports.cardTitleFactory = factory; \ No newline at end of file diff --git a/lib/card/_config.scss b/lib/card/_config.scss deleted file mode 100644 index c89b3cb5..00000000 --- a/lib/card/_config.scss +++ /dev/null @@ -1,7 +0,0 @@ -$card-color-white: $color-white !default; -$card-text-overlay: rgba($color-black, 0.35) !default; -$card-background-color: $card-color-white !default; -$card-padding-sm: .8 * $unit !default; -$card-padding: 1.6 * $unit !default; -$card-padding-lg: 2 * $unit !default; -$card-font-size: $font-size-small !default; diff --git a/lib/card/index.d.ts b/lib/card/index.d.ts deleted file mode 100644 index 824771fa..00000000 --- a/lib/card/index.d.ts +++ /dev/null @@ -1,103 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface CardTheme { - card?: string; - raised?: string; -} - -interface CardProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - raised?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: CardTheme; -} - -export class Card extends React.Component { } - -export interface CardActionsTheme { - cardActions?: string; -} - -interface CardActionsProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Classnames object defining the component style. - */ - theme?: CardActionsTheme; -} - -export class CardActions extends React.Component { } - -export interface CardMediaTheme { - cardMedia?: string; - content?: string; - contentOverlay?: string; - square?: string; - wide?: string; -} - -interface CardMediaProps extends ReactToolbox.Props { - aspectRatio?: "wide" | "square"; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - color?: string; - contentOverlay?: boolean; - image?: React.ReactNode | string; - /** - * Classnames object defining the component style. - */ - theme?: CardMediaTheme; -} - -export class CardMedia extends React.Component { } - -export interface CardTextTheme { - cardText?: string; -} - -interface CardTextProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Classnames object defining the component style. - */ - theme?: CardTextTheme; -} - -export class CardText extends React.Component { } - -export interface CardTitleTheme { - large?: string; - title?: string; - small?: string; - subtitle?: string; -} - -interface CardTitleProps extends ReactToolbox.Props { - avatar?: React.ReactNode | string; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - subtitle?: React.ReactNode | string; - /** - * Classnames object defining the component style. - */ - theme?: CardTitleTheme; - title?: React.ReactNode | string; -} - -export class CardTitle extends React.Component { } diff --git a/lib/card/index.js b/lib/card/index.js deleted file mode 100644 index d124b681..00000000 --- a/lib/card/index.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CardTitle = exports.CardText = exports.CardMedia = exports.CardActions = exports.Card = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Card = require('./Card.js'); - -var _CardActions = require('./CardActions.js'); - -var _CardMedia = require('./CardMedia.js'); - -var _CardText = require('./CardText.js'); - -var _CardTitle = require('./CardTitle.js'); - -var _avatar = require('../avatar'); - -var _avatar2 = _interopRequireDefault(_avatar); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var CardTitle = (0, _CardTitle.cardTitleFactory)(_avatar2.default); -var ThemedCard = (0, _reactCssThemr.themr)(_identifiers.CARD, _theme2.default)(_Card.Card); -var ThemedCardActions = (0, _reactCssThemr.themr)(_identifiers.CARD, _theme2.default)(_CardActions.CardActions); -var ThemedCardMedia = (0, _reactCssThemr.themr)(_identifiers.CARD, _theme2.default)(_CardMedia.CardMedia); -var ThemedCardText = (0, _reactCssThemr.themr)(_identifiers.CARD, _theme2.default)(_CardText.CardText); -var ThemedCardTitle = (0, _reactCssThemr.themr)(_identifiers.CARD, _theme2.default)(CardTitle); - -exports.default = ThemedCard; -exports.Card = ThemedCard; -exports.CardActions = ThemedCardActions; -exports.CardMedia = ThemedCardMedia; -exports.CardText = ThemedCardText; -exports.CardTitle = ThemedCardTitle; \ No newline at end of file diff --git a/lib/card/theme.scss b/lib/card/theme.scss deleted file mode 100644 index c49ea5cf..00000000 --- a/lib/card/theme.scss +++ /dev/null @@ -1,126 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.card { - @include shadow-2dp(); - display: flex; - width: 100%; - flex-direction: column; - overflow: hidden; - font-size: $card-font-size; - background: $card-background-color; - border-radius: .2 * $unit; - &.raised { - @include shadow-8dp(); - } - [data-react-toolbox="avatar"] { - display: block; - } -} - -.cardMedia { - position: relative; - background-repeat: no-repeat; - background-position: center center; - background-size: cover; - &.wide, &.square { - width: 100%; - .content { - position: absolute; - height: 100%; - } - .content > iframe, .content > video, .content > img { - max-width: 100%; - } - } - &::after { - display: block; - height: 0; - content: ""; - } - &.wide::after { - padding-top: 56.25%; - } - &.square::after { - padding-top: 100%; - } - .content { - position: relative; - top: 0; - left: 0; - display: flex; - width: 100%; - flex-direction: column; - justify-content: flex-end; - overflow: hidden; - } - .contentOverlay { - .cardTitle, .cardActions, .cardText { - background-color: $card-text-overlay; - } - } -} - -.cardTitle { - display: flex; - align-items: center; - [data-react-toolbox="avatar"] { - margin-right: 1.3 * $unit; - } - .subtitle { - color: $color-text-secondary; - } - &.large { - padding: $card-padding-lg $card-padding ($card-padding - .2 * $unit); - .title { - @include typo-headline(); - line-height: 1.25; - } - } - &.small { - padding: $card-padding; - .title { - @include typo-body-2(false, true); - line-height: 1.4; - } - .subtitle { - font-weight: 500; - line-height: 1.4; - } - } - .cardMedia & { - .title, .subtitle { - color: $card-color-white; - } - } -} - -.cardTitle, .cardText { - padding: ($card-padding - .2 * $unit) $card-padding; - &:last-child { - padding-bottom: $card-padding-lg; - } - + .cardText { - padding-top: 0; - } -} - -.cardActions { - display: flex; - align-items: center; - justify-content: flex-start; - padding: $card-padding-sm; - [data-react-toolbox="button"] { - min-width: 0; - padding: 0 $card-padding-sm; - margin: 0 $card-padding-sm / 2; - &:first-child { - margin-left: 0; - } - &:last-child { - margin-right: 0; - } - } -} diff --git a/lib/checkbox/Check.js b/lib/checkbox/Check.js deleted file mode 100644 index 90041ec4..00000000 --- a/lib/checkbox/Check.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var factory = function factory(ripple) { - var Check = function Check(_ref) { - var checked = _ref.checked, - children = _ref.children, - onMouseDown = _ref.onMouseDown, - theme = _ref.theme, - style = _ref.style; - return _react2.default.createElement( - 'div', - { - 'data-react-toolbox': 'check', - className: (0, _classnames3.default)(theme.check, _defineProperty({}, theme.checked, checked)), - onMouseDown: onMouseDown, - style: style - }, - children - ); - }; - - Check.propTypes = { - checked: _react.PropTypes.bool, - children: _react.PropTypes.any, - onMouseDown: _react.PropTypes.func, - style: _react.PropTypes.object, - theme: _react.PropTypes.shape({ - check: _react.PropTypes.string, - checked: _react.PropTypes.string - }) - }; - - return ripple(Check); -}; - -exports.default = factory; \ No newline at end of file diff --git a/lib/checkbox/Checkbox.js b/lib/checkbox/Checkbox.js deleted file mode 100644 index 24582244..00000000 --- a/lib/checkbox/Checkbox.js +++ /dev/null @@ -1,154 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Checkbox = exports.checkboxFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Ripple = require('../ripple/Ripple.js'); - -var _Ripple2 = _interopRequireDefault(_Ripple); - -var _Check = require('./Check.js'); - -var _Check2 = _interopRequireDefault(_Check); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(Check) { - var Checkbox = function (_Component) { - _inherits(Checkbox, _Component); - - function Checkbox() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Checkbox); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Checkbox.__proto__ || Object.getPrototypeOf(Checkbox)).call.apply(_ref, [this].concat(args))), _this), _this.handleToggle = function (event) { - if (event.pageX !== 0 && event.pageY !== 0) _this.blur(); - if (!_this.props.disabled && _this.props.onChange) { - _this.props.onChange(!_this.props.checked, event); - } - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Checkbox, [{ - key: 'blur', - value: function blur() { - this.inputNode && this.inputNode.blur(); - } - }, { - key: 'focus', - value: function focus() { - this.inputNode && this.inputNode.focus(); - } - }, { - key: 'render', - value: function render() { - var _this2 = this; - - var _props = this.props, - checked = _props.checked, - disabled = _props.disabled, - label = _props.label, - style = _props.style, - theme = _props.theme, - others = _objectWithoutProperties(_props, ['checked', 'disabled', 'label', 'style', 'theme']); - - var className = (0, _classnames3.default)(theme.field, _defineProperty({}, theme.disabled, this.props.disabled), this.props.className); - - return _react2.default.createElement( - 'label', - { 'data-react-toolbox': 'checkbox', className: className }, - _react2.default.createElement('input', _extends({}, others, { - checked: checked, - className: theme.input, - disabled: disabled, - onChange: function onChange() {}, - onClick: this.handleToggle, - ref: function ref(node) { - _this2.inputNode = node; - }, - type: 'checkbox' - })), - _react2.default.createElement(Check, { - checked: checked, - disabled: disabled, - rippleClassName: theme.ripple, - style: style, - theme: theme - }), - label ? _react2.default.createElement( - 'span', - { 'data-react-toolbox': 'label', className: theme.text }, - label - ) : null - ); - } - }]); - - return Checkbox; - }(_react.Component); - - Checkbox.propTypes = { - checked: _react.PropTypes.bool, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - label: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.node]), - name: _react.PropTypes.string, - onChange: _react.PropTypes.func, - style: _react.PropTypes.object, - theme: _react.PropTypes.shape({ - disabled: _react.PropTypes.string, - field: _react.PropTypes.string, - input: _react.PropTypes.string, - ripple: _react.PropTypes.string - }) - }; - Checkbox.defaultProps = { - checked: false, - className: '', - disabled: false - }; - - - return Checkbox; -}; - -var Check = (0, _Check2.default)((0, _Ripple2.default)({ centered: true, spread: 2.6 })); -var Checkbox = factory(Check); -exports.default = (0, _reactCssThemr.themr)(_identifiers.CHECKBOX)(Checkbox); -exports.checkboxFactory = factory; -exports.Checkbox = Checkbox; \ No newline at end of file diff --git a/lib/checkbox/_config.scss b/lib/checkbox/_config.scss deleted file mode 100644 index 18266e49..00000000 --- a/lib/checkbox/_config.scss +++ /dev/null @@ -1,12 +0,0 @@ -$checkbox-color: $color-primary !default; -$checkbox-disabled-color: rgba($color-black, 0.26) !default; -$checkbox-field-margin-bottom: 1.5 * $unit !default; -$checkbox-focus-checked-color: rgba($color-primary, 0.26) !default; -$checkbox-ripple-duration: 650ms !default; -$checkbox-size: 1.8 * $unit !default; -$checkbox-focus-color: rgba($color-black, 0.1) !default; -$checkbox-focus-size: $checkbox-size * 2.3 !default; -$checkbox-text-color: $color-black !default; -$checkbox-text-font-size: $font-size-small !default; -$checkbox-total-height: 1.8 * $unit !default; -$checkbox-transition-duration: .2s !default; diff --git a/lib/checkbox/index.d.ts b/lib/checkbox/index.d.ts deleted file mode 100644 index 29c1045e..00000000 --- a/lib/checkbox/index.d.ts +++ /dev/null @@ -1,70 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface CheckboxTheme { - /** - * Used as root in the check element. - */ - check?: string; - /** - * Used for the check element when it's checked. - */ - checked?: string; - /** - * Used when the component is disabled. - */ - disabled?: string; - /** - * Used as the root class of the component. - */ - field?: string; - /** - * Used for the input element. - */ - input?: string; - /** - * Used for the ripple component. - */ - ripple?: string; - /** - * Used for the text label. - */ - text?: string; -} - -interface CheckboxProps extends ReactToolbox.Props { - /** - * Value for the checkbox, can be true or false. - * @default false - */ - checked?: boolean; - /** - * If true, the checkbox shown as disabled and cannot be modified. - * @default false - */ - disabled?: boolean; - /** - * Text label to attach next to the checkbox element. - */ - label?: React.ReactNode | string; - /** - * The name of the field to set in the input checkbox. - */ - name?: string; - /** - * Callback called when the checkbox is blurred. - */ - onBlur?: Function; - /** - * Callback called when the checkbox value is changed. - */ - onChange?: Function; - /** - * Classnames object defining the component style. - */ - theme?: CheckboxTheme; -} - -export class Checkbox extends React.Component { } - -export default Checkbox; diff --git a/lib/checkbox/index.js b/lib/checkbox/index.js deleted file mode 100644 index 5efa6e16..00000000 --- a/lib/checkbox/index.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Checkbox = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _ripple = require('../ripple'); - -var _ripple2 = _interopRequireDefault(_ripple); - -var _Checkbox = require('./Checkbox.js'); - -var _Check = require('./Check.js'); - -var _Check2 = _interopRequireDefault(_Check); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ThemedCheck = (0, _Check2.default)((0, _ripple2.default)({ centered: true, spread: 2.6 })); -var ThemedCheckbox = (0, _reactCssThemr.themr)(_identifiers.CHECKBOX, _theme2.default)((0, _Checkbox.checkboxFactory)(ThemedCheck)); - -exports.default = ThemedCheckbox; -exports.Checkbox = ThemedCheckbox; \ No newline at end of file diff --git a/lib/checkbox/theme.scss b/lib/checkbox/theme.scss deleted file mode 100644 index 55b17920..00000000 --- a/lib/checkbox/theme.scss +++ /dev/null @@ -1,121 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.field { - position: relative; - display: block; - height: $checkbox-size; - margin-bottom: $checkbox-field-margin-bottom; - white-space: nowrap; - vertical-align: middle; - .ripple { - background-color: $checkbox-color; - opacity: .3; - transition-duration: $checkbox-ripple-duration; - } -} - -.text { - display: inline-block; - padding-left: $unit; - font-size: $checkbox-text-font-size; - line-height: $checkbox-size; - color: $checkbox-text-color; - white-space: nowrap; - vertical-align: top; -} - -.input { - position: absolute; - width: 0; - height: 0; - overflow: hidden; - opacity: 0; - &:focus ~ .check { - &:before { - position: absolute; - top: 50%; - left: 50%; - width: $checkbox-focus-size; - height: $checkbox-focus-size; - margin-top: - $checkbox-focus-size / 2; - margin-left: - $checkbox-focus-size / 2; - pointer-events: none; - content: ""; - background-color: $checkbox-focus-color; - border-radius: 50%; - } - &.checked:before { - background-color: $checkbox-focus-checked-color; - } - } -} - -.check { - position: relative; - display: inline-block; - width: $checkbox-size; - height: $checkbox-size; - vertical-align: top; - cursor: pointer; - border-color: $checkbox-text-color; - border-style: solid; - border-width: 2px; - border-radius: 2px; - transition-timing-function: $animation-curve-default; - transition-duration: $checkbox-transition-duration; - transition-property: background-color; - &.checked { - background-color: $checkbox-color; - border-color: $checkbox-color; - &:after { - position: absolute; - top: -.1 * $unit; - left: .4 * $unit; - width: .7 * $unit; - height: 1.2 * $unit; - content: ""; - border-color: $color-background; - border-style: solid; - border-top: 0; - border-right-width: 2px; - border-bottom-width: 2px; - border-left: 0; - transform: rotate(45deg); - animation: checkmark-expand 140ms ease-out forwards; - } - } -} - -.disabled { - > .text { - color: $checkbox-disabled-color; - } - > .check { - cursor: auto; - border-color: $checkbox-disabled-color; - &.checked { - cursor: auto; - background-color: $checkbox-disabled-color; - border-color: transparent; - } - } -} - -@keyframes checkmark-expand { - 0% { - top: .9 * $unit; - left: .6 * $unit; - width: 0; - height: 0; - } - - 100% { - top: -.1 * $unit; - left: .4 * $unit; - width: .7 * $unit; - height: 1.2 * $unit; - } -} diff --git a/lib/chip/Chip.js b/lib/chip/Chip.js deleted file mode 100644 index 3c4d947b..00000000 --- a/lib/chip/Chip.js +++ /dev/null @@ -1,97 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Chip = exports.chipFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Avatar = require('../avatar/Avatar.js'); - -var _Avatar2 = _interopRequireDefault(_Avatar); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var factory = function factory(Avatar) { - var Chip = function Chip(_ref) { - var _classnames; - - var children = _ref.children, - className = _ref.className, - deletable = _ref.deletable, - onDeleteClick = _ref.onDeleteClick, - theme = _ref.theme, - other = _objectWithoutProperties(_ref, ['children', 'className', 'deletable', 'onDeleteClick', 'theme']); - - var hasAvatar = false; - if (_react2.default.Children.count(children)) { - var firstChild = children[0]; - hasAvatar = firstChild && firstChild.type && firstChild.type === Avatar; - } - - var classes = (0, _classnames3.default)(theme.chip, (_classnames = {}, _defineProperty(_classnames, theme.deletable, !!deletable), _defineProperty(_classnames, theme.avatar, !!hasAvatar), _classnames), className); - - return _react2.default.createElement( - 'div', - _extends({ 'data-react-toolbox': 'chip', className: classes }, other), - typeof children === 'string' ? _react2.default.createElement( - 'span', - null, - children - ) : children, - deletable ? _react2.default.createElement( - 'span', - { className: theme.delete, onClick: onDeleteClick }, - _react2.default.createElement( - 'svg', - { viewBox: '0 0 40 40', className: theme.deleteIcon }, - _react2.default.createElement('path', { className: theme.deleteX, d: 'M 12,12 L 28,28 M 28,12 L 12,28' }) - ) - ) : null - ); - }; - - Chip.propTypes = { - children: _react.PropTypes.node, - className: _react.PropTypes.string, - deletable: _react.PropTypes.bool, - onDeleteClick: _react.PropTypes.func, - theme: _react.PropTypes.shape({ - avatar: _react.PropTypes.string, - chip: _react.PropTypes.string, - deletable: _react.PropTypes.string, - delete: _react.PropTypes.string, - deleteIcon: _react.PropTypes.string, - deleteX: _react.PropTypes.string - }) - }; - - Chip.defaultProps = { - className: '', - deletable: false - }; - - return Chip; -}; - -var Chip = factory(_Avatar2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.CHIP)(Chip); -exports.chipFactory = factory; -exports.Chip = Chip; \ No newline at end of file diff --git a/lib/chip/_config.scss b/lib/chip/_config.scss deleted file mode 100644 index a335b2f6..00000000 --- a/lib/chip/_config.scss +++ /dev/null @@ -1,17 +0,0 @@ -$chip-height: 3.2 * $unit !default; -$chip-padding: 1.2 * $unit !default; -$chip-margin-right: 0.25 * $unit !default; -$chip-background: $palette-grey-200 !default; - -$chip-icon-font-size: 2 * $unit !default; -$chip-icon-margin-right: 0.8 * $unit !default; - -$chip-color: $color-text-secondary !default; -$chip-font-size: $font-size-small !default; - -$chip-remove-size: 2.4 * $unit !default; -$chip-remove-margin: 0.4 * $unit !default; -$chip-remove-stroke-width: 0.4 * $unit !default; -$chip-remove-background: $palette-grey-400 !default; -$chip-remove-background-hover: $palette-grey-500 !default; -$chip-remove-color: $color-white !default; diff --git a/lib/chip/index.d.ts b/lib/chip/index.d.ts deleted file mode 100644 index 832ca408..00000000 --- a/lib/chip/index.d.ts +++ /dev/null @@ -1,53 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface ChipTheme { - /** - * Added to the root element when the component includes an avatar. - */ - avatar?: string; - /** - * Used for the root element. - */ - chip?: string; - /** - * Added to the root element when the component is deletable. - */ - deletable?: string; - /** - * Used for the delete element wrapper. - */ - delete?: string; - /** - * Used for the delete icon. - */ - deleteIcon?: string; - /** - * Used for the delete svg inner layer. - */ - deleteX?: string; -} - -interface ChipProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, the chip will be rendered with a delete icon. - * @default false - */ - deletable?: boolean; - /** - * Callback to be invoked when the delete icon is clicked. - */ - onDeleteClick?: Function; - /** - * Classnames object defining the component style. - */ - theme?: ChipTheme; -} - -export class Chip extends React.Component { } - -export default Chip; diff --git a/lib/chip/index.js b/lib/chip/index.js deleted file mode 100644 index 5a62d821..00000000 --- a/lib/chip/index.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Chip = undefined; - -var _identifiers = require('../identifiers.js'); - -var _reactCssThemr = require('react-css-themr'); - -var _Chip = require('./Chip.js'); - -var _avatar = require('../avatar'); - -var _avatar2 = _interopRequireDefault(_avatar); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Chip = (0, _Chip.chipFactory)(_avatar2.default); -var ThemedChip = (0, _reactCssThemr.themr)(_identifiers.CHIP, _theme2.default)(Chip); - -exports.default = ThemedChip; -exports.Chip = ThemedChip; \ No newline at end of file diff --git a/lib/chip/theme.scss b/lib/chip/theme.scss deleted file mode 100644 index 4baa8f9c..00000000 --- a/lib/chip/theme.scss +++ /dev/null @@ -1,68 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.chip { - position: relative; - display: inline-block; - max-width: 100%; - padding: 0 $chip-padding; - margin-right: $chip-margin-right; - overflow: hidden; - font-size: $chip-font-size; - line-height: $chip-height; - color: $chip-color; - text-overflow: ellipsis; - white-space: nowrap; - background-color: $chip-background; - border-radius: $chip-height; -} - -.avatar { - padding-left: 0; - - > [data-react-toolbox="avatar"] { - width: $chip-height; - height: $chip-height; - margin-right: $chip-icon-margin-right; - vertical-align: middle; - - > span { - font-size: $chip-icon-font-size; - line-height: $chip-height; - } - } -} - -.deletable { - padding-right: $chip-remove-size + 2 * $chip-remove-margin; -} - -.delete { - position: absolute; - right: 0; - display: inline-block; - width: $chip-remove-size; - height: $chip-remove-size; - padding: $chip-remove-margin; - margin: $chip-remove-margin; - vertical-align: middle; - cursor: pointer; -} - -.delete:hover .deleteIcon { - background: $chip-remove-background-hover; -} - -.deleteIcon { - vertical-align: top; - background: $chip-remove-background; - border-radius: $chip-remove-size; - - .deleteX { - fill: transparent; - stroke-width: $chip-remove-stroke-width; - stroke: $chip-remove-color; - } -} diff --git a/lib/commons.scss b/lib/commons.scss deleted file mode 100644 index 54f9ba16..00000000 --- a/lib/commons.scss +++ /dev/null @@ -1,95 +0,0 @@ -@import "./colors"; -@import "./globals"; -@import "./mixins"; -@import "~normalize.css"; - -html { - font-size: 62.5%; -} - -body { - position: absolute; - width: 100%; - height: 100%; - padding: 0; - margin: 0; - font-family: Roboto, sans-serif; - font-size: 1.6rem; - -webkit-touch-callout: none; - * { - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - } -} - -a, abbr, address, article, aside, audio, b, blockquote, body, caption, cite, -code, dd, del, dfn, dialog, div, dl, dt, em, fieldset, figure, footer, form, h1, -h2, h3, h4, h5, h6, header, hgroup, hr, html, i, iframe, img, ins, kbd, label, -legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, -strong, sub, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video { - padding: 0; - margin: 0; - border: 0; - outline: 0; -} - -*, *:before, *:after { - box-sizing: border-box; - padding: 0; - margin: 0; -} - -h1, h2, h3, h4, h5, h6, label, p, button, abbr, a, span, small { - font-smoothing: antialiased; - -webkit-font-smoothing: antialiased; - text-size-adjust: 100%; -} - -a { - text-decoration: none; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -input:not([type="checkbox"]):not([type="radio"]), button { - outline: none; - appearance: none; - -webkit-touch-callout: none; - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -} - -// -- Remove firefox default style for required inputs -input[required]:-moz-ui-invalid { - box-shadow: none; -} - -// -- Material design font sizes -h1 small, h2 small, h3 small, h4 small, h5 small, h6 small { - @include typo-display-3($color-contrast: true); -} - -h1 { - @include typo-display-3; -} - -h2 { - @include typo-display-2; -} - -h3 { - @include typo-display-1; -} - -h4 { - @include typo-headline; -} - -h5 { - @include typo-title; -} - -h6 { - @include typo-subhead; -} - -p { - @include typo-body-1; -} diff --git a/lib/date_picker/Calendar.js b/lib/date_picker/Calendar.js deleted file mode 100644 index 3e0f8ae9..00000000 --- a/lib/date_picker/Calendar.js +++ /dev/null @@ -1,208 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactAddonsCssTransitionGroup = require('react-addons-css-transition-group'); - -var _reactAddonsCssTransitionGroup2 = _interopRequireDefault(_reactAddonsCssTransitionGroup); - -var _animations = require('../animations'); - -var _time = require('../utils/time.js'); - -var _time2 = _interopRequireDefault(_time); - -var _utils = require('../utils/utils.js'); - -var _utils2 = _interopRequireDefault(_utils); - -var _CalendarMonth = require('./CalendarMonth.js'); - -var _CalendarMonth2 = _interopRequireDefault(_CalendarMonth); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var DIRECTION_STEPS = { left: -1, right: 1 }; - -var factory = function factory(IconButton) { - var Calendar = function (_Component) { - _inherits(Calendar, _Component); - - function Calendar() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Calendar); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Calendar.__proto__ || Object.getPrototypeOf(Calendar)).call.apply(_ref, [this].concat(args))), _this), _this.state = { - viewDate: _this.props.selectedDate - }, _this.handleDayClick = function (day) { - _this.props.onChange(_time2.default.setDay(_this.state.viewDate, day), true); - }, _this.handleYearClick = function (event) { - var year = parseInt(event.currentTarget.id); - var viewDate = _time2.default.setYear(_this.props.selectedDate, year); - _this.setState({ viewDate: viewDate }); - _this.props.onChange(viewDate, false); - }, _this.handleKeys = function (e) { - var selectedDate = _this.props.selectedDate; - - - if (e.which === 37 || e.which === 38 || e.which === 39 || e.which === 40 || e.which === 13) e.preventDefault(); - - switch (e.which) { - case 13: - _this.props.handleSelect();break; // enter - case 37: - _this.handleDayArrowKey(_time2.default.addDays(selectedDate, -1));break; // left - case 38: - _this.handleDayArrowKey(_time2.default.addDays(selectedDate, -7));break; // up - case 39: - _this.handleDayArrowKey(_time2.default.addDays(selectedDate, 1));break; // right - case 40: - _this.handleDayArrowKey(_time2.default.addDays(selectedDate, 7));break; // down - default: - break; - } - }, _this.handleDayArrowKey = function (date) { - _this.setState({ viewDate: date }); - _this.props.onChange(date, false); - }, _this.changeViewMonth = function (event) { - var direction = event.currentTarget.id; - _this.setState({ - direction: direction, - viewDate: _time2.default.addMonths(_this.state.viewDate, DIRECTION_STEPS[direction]) - }); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Calendar, [{ - key: 'componentWillMount', - value: function componentWillMount() { - document.body.addEventListener('keydown', this.handleKeys); - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate() { - if (this.refs.activeYear) { - this.scrollToActive(); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - document.body.removeEventListener('keydown', this.handleKeys); - } - }, { - key: 'scrollToActive', - value: function scrollToActive() { - this.refs.years.scrollTop = this.refs.activeYear.offsetTop - this.refs.years.offsetHeight / 2 + this.refs.activeYear.offsetHeight / 2; - } - }, { - key: 'renderYears', - value: function renderYears() { - var _this2 = this; - - return _react2.default.createElement( - 'ul', - { 'data-react-toolbox': 'years', ref: 'years', className: this.props.theme.years }, - _utils2.default.range(1900, 2100).map(function (year) { - return _react2.default.createElement('li', { - children: year, - className: year === _this2.state.viewDate.getFullYear() ? _this2.props.theme.active : '', - id: year, - key: year, - onClick: _this2.handleYearClick, - ref: year === _this2.state.viewDate.getFullYear() ? 'activeYear' : undefined - }); - }) - ); - } - }, { - key: 'renderMonths', - value: function renderMonths() { - var theme = this.props.theme; - - var animation = this.state.direction === 'left' ? _animations.SlideLeft : _animations.SlideRight; - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'calendar' }, - _react2.default.createElement(IconButton, { id: 'left', className: theme.prev, icon: 'chevron_left', onClick: this.changeViewMonth }), - _react2.default.createElement(IconButton, { id: 'right', className: theme.next, icon: 'chevron_right', onClick: this.changeViewMonth }), - _react2.default.createElement( - _reactAddonsCssTransitionGroup2.default, - { transitionName: animation, transitionEnterTimeout: 350, transitionLeaveTimeout: 350 }, - _react2.default.createElement(_CalendarMonth2.default, { - key: this.state.viewDate.getMonth(), - locale: this.props.locale, - maxDate: this.props.maxDate, - minDate: this.props.minDate, - onDayClick: this.handleDayClick, - selectedDate: this.props.selectedDate, - sundayFirstDayOfWeek: this.props.sundayFirstDayOfWeek, - theme: this.props.theme, - viewDate: this.state.viewDate - }) - ) - ); - } - }, { - key: 'render', - value: function render() { - return _react2.default.createElement( - 'div', - { className: this.props.theme.calendar }, - this.props.display === 'months' ? this.renderMonths() : this.renderYears() - ); - } - }]); - - return Calendar; - }(_react.Component); - - Calendar.propTypes = { - display: _react.PropTypes.oneOf(['months', 'years']), - handleSelect: _react.PropTypes.func, - locale: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.object]), - maxDate: _react.PropTypes.object, - minDate: _react.PropTypes.object, - onChange: _react.PropTypes.func, - selectedDate: _react.PropTypes.object, - sundayFirstDayOfWeek: _react2.default.PropTypes.bool, - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - calendar: _react.PropTypes.string, - next: _react.PropTypes.string, - prev: _react.PropTypes.string, - years: _react.PropTypes.string - }), - viewDate: _react.PropTypes.object - }; - Calendar.defaultProps = { - display: 'months', - selectedDate: new Date() - }; - - - return Calendar; -}; - -exports.default = factory; \ No newline at end of file diff --git a/lib/date_picker/CalendarDay.js b/lib/date_picker/CalendarDay.js deleted file mode 100644 index 0fcccb18..00000000 --- a/lib/date_picker/CalendarDay.js +++ /dev/null @@ -1,106 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _time = require('../utils/time.js'); - -var _time2 = _interopRequireDefault(_time); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Day = function (_Component) { - _inherits(Day, _Component); - - function Day() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Day); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Day.__proto__ || Object.getPrototypeOf(Day)).call.apply(_ref, [this].concat(args))), _this), _this.handleClick = function () { - if (!_this.props.disabled && _this.props.onClick) { - _this.props.onClick(_this.props.day); - } - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Day, [{ - key: 'dayStyle', - value: function dayStyle() { - if (this.props.day === 1) { - var e = this.props.sundayFirstDayOfWeek ? 0 : 1; - var firstDay = _time2.default.getFirstWeekDay(this.props.viewDate) - e; - return { - marginLeft: (firstDay >= 0 ? firstDay : 6) * 100 / 7 + '%' - }; - } - } - }, { - key: 'isSelected', - value: function isSelected() { - var sameYear = this.props.viewDate.getFullYear() === this.props.selectedDate.getFullYear(); - var sameMonth = this.props.viewDate.getMonth() === this.props.selectedDate.getMonth(); - var sameDay = this.props.day === this.props.selectedDate.getDate(); - return sameYear && sameMonth && sameDay; - } - }, { - key: 'render', - value: function render() { - var _classnames; - - var className = (0, _classnames3.default)(this.props.theme.day, (_classnames = {}, _defineProperty(_classnames, this.props.theme.active, this.isSelected()), _defineProperty(_classnames, this.props.theme.disabled, this.props.disabled), _classnames)); - - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'day', className: className, style: this.dayStyle() }, - _react2.default.createElement( - 'span', - { onClick: this.handleClick }, - this.props.day - ) - ); - } - }]); - - return Day; -}(_react.Component); - -Day.propTypes = { - day: _react.PropTypes.number, - disabled: _react.PropTypes.bool, - onClick: _react.PropTypes.func, - selectedDate: _react.PropTypes.object, - sundayFirstDayOfWeek: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - day: _react.PropTypes.string, - disabled: _react.PropTypes.string - }), - viewDate: _react.PropTypes.object -}; -exports.default = Day; \ No newline at end of file diff --git a/lib/date_picker/CalendarMonth.js b/lib/date_picker/CalendarMonth.js deleted file mode 100644 index ad3afbe2..00000000 --- a/lib/date_picker/CalendarMonth.js +++ /dev/null @@ -1,137 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _time = require('../utils/time.js'); - -var _time2 = _interopRequireDefault(_time); - -var _utils = require('../utils/utils.js'); - -var _utils2 = _interopRequireDefault(_utils); - -var _CalendarDay = require('./CalendarDay.js'); - -var _CalendarDay2 = _interopRequireDefault(_CalendarDay); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Month = function (_Component) { - _inherits(Month, _Component); - - function Month() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Month); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Month.__proto__ || Object.getPrototypeOf(Month)).call.apply(_ref, [this].concat(args))), _this), _this.handleDayClick = function (day) { - if (_this.props.onDayClick) _this.props.onDayClick(day); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Month, [{ - key: 'renderWeeks', - value: function renderWeeks() { - var _this2 = this; - - var days = _utils2.default.range(0, 7).map(function (d) { - return _time2.default.getDayOfWeekLetter(d, _this2.props.locale); - }); - var source = this.props.sundayFirstDayOfWeek ? days : [].concat(_toConsumableArray(days.slice(1)), [days[0]]); - return source.map(function (d, i) { - return _react2.default.createElement( - 'span', - { key: i }, - d - ); - }); - } - }, { - key: 'renderDays', - value: function renderDays() { - var _this3 = this; - - return _utils2.default.range(1, _time2.default.getDaysInMonth(this.props.viewDate) + 1).map(function (i) { - var date = new Date(_this3.props.viewDate.getFullYear(), _this3.props.viewDate.getMonth(), i); - var disabled = _time2.default.dateOutOfRange(date, _this3.props.minDate, _this3.props.maxDate); - - return _react2.default.createElement(_CalendarDay2.default, { - key: i, - day: i, - disabled: disabled, - onClick: _this3.handleDayClick, - selectedDate: _this3.props.selectedDate, - theme: _this3.props.theme, - viewDate: _this3.props.viewDate, - sundayFirstDayOfWeek: _this3.props.sundayFirstDayOfWeek - }); - }); - } - }, { - key: 'render', - value: function render() { - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'month', className: this.props.theme.month }, - _react2.default.createElement( - 'span', - { className: this.props.theme.title }, - _time2.default.getFullMonth(this.props.viewDate, this.props.locale), - ' ', - this.props.viewDate.getFullYear() - ), - _react2.default.createElement( - 'div', - { className: this.props.theme.week }, - this.renderWeeks() - ), - _react2.default.createElement( - 'div', - { className: this.props.theme.days }, - this.renderDays() - ) - ); - } - }]); - - return Month; -}(_react.Component); - -Month.propTypes = { - locale: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.object]), - maxDate: _react.PropTypes.object, - minDate: _react.PropTypes.object, - onDayClick: _react.PropTypes.func, - selectedDate: _react.PropTypes.object, - sundayFirstDayOfWeek: _react2.default.PropTypes.bool, - theme: _react.PropTypes.shape({ - days: _react.PropTypes.string, - month: _react.PropTypes.string, - title: _react.PropTypes.string, - week: _react.PropTypes.string - }), - viewDate: _react.PropTypes.object -}; -exports.default = Month; \ No newline at end of file diff --git a/lib/date_picker/DatePicker.js b/lib/date_picker/DatePicker.js deleted file mode 100644 index fc73f80d..00000000 --- a/lib/date_picker/DatePicker.js +++ /dev/null @@ -1,227 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.DatePicker = exports.datePickerFactory = exports.DatePickerDialog = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _events = require('../utils/events.js'); - -var _events2 = _interopRequireDefault(_events); - -var _time = require('../utils/time.js'); - -var _time2 = _interopRequireDefault(_time); - -var _IconButton = require('../button/IconButton.js'); - -var _IconButton2 = _interopRequireDefault(_IconButton); - -var _Input = require('../input/Input.js'); - -var _Input2 = _interopRequireDefault(_Input); - -var _Dialog = require('../dialog/Dialog.js'); - -var _Dialog2 = _interopRequireDefault(_Dialog); - -var _Calendar = require('./Calendar.js'); - -var _Calendar2 = _interopRequireDefault(_Calendar); - -var _DatePickerDialog = require('./DatePickerDialog.js'); - -var _DatePickerDialog2 = _interopRequireDefault(_DatePickerDialog); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(Input, DatePickerDialog) { - var DatePicker = function (_Component) { - _inherits(DatePicker, _Component); - - function DatePicker() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, DatePicker); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = DatePicker.__proto__ || Object.getPrototypeOf(DatePicker)).call.apply(_ref, [this].concat(args))), _this), _this.state = { - active: _this.props.active - }, _this.handleDismiss = function () { - _this.setState({ active: false }); - if (_this.props.onDismiss) { - _this.props.onDismiss(); - } - }, _this.handleInputFocus = function (event) { - _events2.default.pauseEvent(event); - _this.setState({ active: true }); - }, _this.handleInputBlur = function (event) { - _events2.default.pauseEvent(event); - _this.setState({ active: false }); - }, _this.handleInputClick = function (event) { - _events2.default.pauseEvent(event); - _this.setState({ active: true }); - if (_this.props.onClick) _this.props.onClick(event); - }, _this.handleInputKeyPress = function (event) { - if (event.charCode === 13) { - _events2.default.pauseEvent(event); - _this.setState({ active: true }); - } - if (_this.props.onKeyPress) _this.props.onKeyPress(event); - }, _this.handleSelect = function (value, event) { - if (_this.props.onChange) _this.props.onChange(value, event); - _this.setState({ active: false }); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(DatePicker, [{ - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (nextProps.active !== this.props.active && this.state.active !== nextProps.active) { - this.setState({ active: nextProps.active }); - } - } - }, { - key: 'render', - value: function render() { - var _props = this.props, - active = _props.active, - onDismiss = _props.onDismiss, - autoOk = _props.autoOk, - cancelLabel = _props.cancelLabel, - inputClassName = _props.inputClassName, - inputFormat = _props.inputFormat, - locale = _props.locale, - maxDate = _props.maxDate, - minDate = _props.minDate, - okLabel = _props.okLabel, - onEscKeyDown = _props.onEscKeyDown, - onOverlayClick = _props.onOverlayClick, - readonly = _props.readonly, - sundayFirstDayOfWeek = _props.sundayFirstDayOfWeek, - value = _props.value, - others = _objectWithoutProperties(_props, ['active', 'onDismiss', 'autoOk', 'cancelLabel', 'inputClassName', 'inputFormat', 'locale', 'maxDate', 'minDate', 'okLabel', 'onEscKeyDown', 'onOverlayClick', 'readonly', 'sundayFirstDayOfWeek', 'value']); - - var finalInputFormat = inputFormat || _time2.default.formatDate; - var date = Object.prototype.toString.call(value) === '[object Date]' ? value : undefined; - var formattedDate = date === undefined ? '' : finalInputFormat(value, locale); - - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'date-picker' }, - _react2.default.createElement(Input, _extends({}, others, { - className: (0, _classnames3.default)(this.props.theme.input, _defineProperty({}, inputClassName, inputClassName)), - disabled: readonly, - error: this.props.error, - icon: this.props.icon, - label: this.props.label, - name: this.props.name, - onFocus: this.handleInputFocus, - onKeyPress: this.handleInputKeyPress, - onClick: this.handleInputClick, - readOnly: true, - type: 'text', - value: formattedDate - })), - _react2.default.createElement(DatePickerDialog, { - active: this.state.active, - autoOk: autoOk, - cancelLabel: cancelLabel, - className: this.props.className, - locale: locale, - maxDate: maxDate, - minDate: minDate, - name: this.props.name, - onDismiss: this.handleDismiss, - okLabel: okLabel, - onEscKeyDown: onEscKeyDown || this.handleDismiss, - onOverlayClick: onOverlayClick || this.handleDismiss, - onSelect: this.handleSelect, - sundayFirstDayOfWeek: sundayFirstDayOfWeek, - theme: this.props.theme, - value: date - }) - ); - } - }]); - - return DatePicker; - }(_react.Component); - - DatePicker.propTypes = { - active: _react.PropTypes.bool, - autoOk: _react.PropTypes.bool, - cancelLabel: _react.PropTypes.string, - className: _react.PropTypes.string, - error: _react.PropTypes.string, - icon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - inputClassName: _react.PropTypes.string, - inputFormat: _react.PropTypes.func, - label: _react.PropTypes.string, - locale: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.object]), - maxDate: _react.PropTypes.object, - minDate: _react.PropTypes.object, - name: _react.PropTypes.string, - okLabel: _react.PropTypes.string, - onChange: _react.PropTypes.func, - onClick: _react.PropTypes.func, - onDismiss: _react.PropTypes.func, - onEscKeyDown: _react.PropTypes.func, - onKeyPress: _react.PropTypes.func, - onOverlayClick: _react.PropTypes.func, - readonly: _react.PropTypes.bool, - sundayFirstDayOfWeek: _react2.default.PropTypes.bool, - theme: _react.PropTypes.shape({ - input: _react.PropTypes.string - }), - value: _react.PropTypes.oneOfType([_react.PropTypes.instanceOf(Date), _react.PropTypes.string]) - }; - DatePicker.defaultProps = { - active: false, - locale: 'en', - sundayFirstDayOfWeek: false - }; - - - return DatePicker; -}; - -var Calendar = (0, _Calendar2.default)(_IconButton2.default); -var DatePickerDialog = (0, _DatePickerDialog2.default)(_Dialog2.default, Calendar); -var DatePicker = factory(_Input2.default, DatePickerDialog); - -exports.default = (0, _reactCssThemr.themr)(_identifiers.DATE_PICKER)(DatePicker); -exports.DatePickerDialog = DatePickerDialog; -exports.datePickerFactory = factory; -exports.DatePicker = DatePicker; \ No newline at end of file diff --git a/lib/date_picker/DatePickerDialog.js b/lib/date_picker/DatePickerDialog.js deleted file mode 100644 index 14bc4c72..00000000 --- a/lib/date_picker/DatePickerDialog.js +++ /dev/null @@ -1,181 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _time = require('../utils/time.js'); - -var _time2 = _interopRequireDefault(_time); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(Dialog, Calendar) { - var CalendarDialog = function (_Component) { - _inherits(CalendarDialog, _Component); - - function CalendarDialog() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, CalendarDialog); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = CalendarDialog.__proto__ || Object.getPrototypeOf(CalendarDialog)).call.apply(_ref, [this].concat(args))), _this), _this.state = { - display: 'months', - date: _this.props.value - }, _this.handleNewDate = function (value, dayClick) { - var state = { display: 'months', date: value }; - if (_time2.default.dateOutOfRange(value, _this.props.minDate, _this.props.maxDate)) { - if (_this.props.maxDate && _this.props.minDate) { - state.date = _time2.default.closestDate(value, _this.props.maxDate, _this.props.minDate); - } else { - state.date = _this.props.maxDate || _this.props.minDate; - } - } - _this.setState(state); - if (dayClick && _this.props.autoOk && _this.props.onSelect) { - _this.props.onSelect(value); - } - }, _this.handleSelect = function (event) { - if (_this.props.onSelect) _this.props.onSelect(_this.state.date, event); - }, _this.handleSwitchDisplay = function (event) { - _this.setState({ display: event.target.id }); - }, _this.updateStateDate = function (date) { - if (Object.prototype.toString.call(date) === '[object Date]') { - _this.handleNewDate(date, false); - } - }, _this.actions = [{ label: _this.props.cancelLabel, className: _this.props.theme.button, onClick: _this.props.onDismiss }, { label: _this.props.okLabel, className: _this.props.theme.button, name: _this.props.name, onClick: _this.handleSelect }], _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(CalendarDialog, [{ - key: 'componentWillMount', - value: function componentWillMount() { - this.updateStateDate(this.props.value); - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - this.updateStateDate(nextProps.value); - } - }, { - key: 'render', - value: function render() { - var theme = this.props.theme; - - var display = this.state.display + 'Display'; - var className = (0, _classnames2.default)(theme.dialog, this.props.className); - var headerClassName = (0, _classnames2.default)(theme.header, theme[display]); - var shortDayOfWeek = _time2.default.getShortDayOfWeek(this.state.date.getDay(), this.props.locale); - var shortMonth = _time2.default.getShortMonth(this.state.date, this.props.locale); - var date = this.state.date.getDate(); - - return _react2.default.createElement( - Dialog, - { - actions: this.actions, - active: this.props.active, - className: className, - onEscKeyDown: this.props.onEscKeyDown, - onOverlayClick: this.props.onOverlayClick, - type: 'custom' - }, - _react2.default.createElement( - 'header', - { className: headerClassName }, - _react2.default.createElement( - 'span', - { id: 'years', className: theme.year, onClick: this.handleSwitchDisplay }, - this.state.date.getFullYear() - ), - _react2.default.createElement( - 'h3', - { id: 'months', className: theme.date, onClick: this.handleSwitchDisplay }, - shortDayOfWeek, - ', ', - shortMonth, - ' ', - date - ) - ), - _react2.default.createElement( - 'div', - { className: theme.calendarWrapper }, - _react2.default.createElement(Calendar, { - display: this.state.display, - handleSelect: this.handleSelect, - maxDate: this.props.maxDate, - minDate: this.props.minDate, - onChange: this.handleNewDate, - selectedDate: this.state.date, - theme: this.props.theme, - locale: this.props.locale, - sundayFirstDayOfWeek: this.props.sundayFirstDayOfWeek }) - ) - ); - } - }]); - - return CalendarDialog; - }(_react.Component); - - CalendarDialog.propTypes = { - active: _react.PropTypes.bool, - autoOk: _react.PropTypes.bool, - cancelLabel: _react.PropTypes.string, - className: _react.PropTypes.string, - locale: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.object]), - maxDate: _react.PropTypes.object, - minDate: _react.PropTypes.object, - name: _react.PropTypes.string, - okLabel: _react.PropTypes.string, - onDismiss: _react.PropTypes.func, - onEscKeyDown: _react.PropTypes.func, - onOverlayClick: _react.PropTypes.func, - onSelect: _react.PropTypes.func, - sundayFirstDayOfWeek: _react2.default.PropTypes.bool, - theme: _react.PropTypes.shape({ - button: _react.PropTypes.string, - calendarWrapper: _react.PropTypes.string, - date: _react.PropTypes.string, - dialog: _react.PropTypes.string, - header: _react.PropTypes.string, - monthsDisplay: _react.PropTypes.string, - year: _react.PropTypes.string, - yearsDisplay: _react.PropTypes.string - }), - value: _react.PropTypes.object - }; - CalendarDialog.defaultProps = { - active: false, - cancelLabel: 'Cancel', - className: '', - okLabel: 'Ok', - value: new Date() - }; - - - return CalendarDialog; -}; - -exports.default = factory; \ No newline at end of file diff --git a/lib/date_picker/__test__/index.spec.js b/lib/date_picker/__test__/index.spec.js deleted file mode 100644 index 169eba08..00000000 --- a/lib/date_picker/__test__/index.spec.js +++ /dev/null @@ -1,96 +0,0 @@ -'use strict'; - -var _expect = require('expect'); - -var _expect2 = _interopRequireDefault(_expect); - -var _theme = require('../theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -var _DatePicker = require('../DatePicker'); - -var _testing = require('../../utils/testing'); - -var _testing2 = _interopRequireDefault(_testing); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -describe('DatePickerDialog', function () { - describe('#on mount', function () { - it('passes value through to calendar if no maxDate/minDate specified', function () { - var value = new Date(2016, 1, 1); - var wrapper = _testing2.default.shallowRenderComponent(_DatePicker.DatePickerDialog, { theme: _theme2.default, value: value }); - (0, _expect2.default)(getDatePassedToCalendar(wrapper)).toBe(value); - }); - - describe('when minDate but not maxDate specified', function () { - var minDate = new Date(2016, 1, 2); - - it('passes through a value after minDate', function () { - var value = new Date(2016, 1, 3); - var wrapper = _testing2.default.shallowRenderComponent(_DatePicker.DatePickerDialog, { theme: _theme2.default, value: value, minDate: minDate }); - (0, _expect2.default)(getDatePassedToCalendar(wrapper)).toBe(value); - }); - - it('sanitises a value before minDate to minDate', function () { - var wrapper = _testing2.default.shallowRenderComponent(_DatePicker.DatePickerDialog, { - theme: _theme2.default, value: new Date(2016, 1, 1), minDate: minDate - }); - (0, _expect2.default)(getDatePassedToCalendar(wrapper)).toBe(minDate); - }); - }); - - describe('when maxDate but not minDate specified', function () { - var maxDate = new Date(2016, 1, 2); - - it('passes through a value before maxDate', function () { - var value = new Date(2016, 1, 1); - var wrapper = _testing2.default.shallowRenderComponent(_DatePicker.DatePickerDialog, { theme: _theme2.default, value: value, maxDate: maxDate }); - (0, _expect2.default)(getDatePassedToCalendar(wrapper)).toBe(value); - }); - - it('sanitises a value after maxDate to maxDate', function () { - var wrapper = _testing2.default.shallowRenderComponent(_DatePicker.DatePickerDialog, { - theme: _theme2.default, value: new Date(2016, 1, 3), maxDate: maxDate - }); - (0, _expect2.default)(getDatePassedToCalendar(wrapper)).toBe(maxDate); - }); - }); - - describe('if both minDate and maxDate are set', function () { - var minDate = new Date(2016, 1, 2); - var maxDate = new Date(2016, 1, 4); - - it('sanitises value to minDate if value is before minDate', function () { - var wrapper = _testing2.default.shallowRenderComponent(_DatePicker.DatePickerDialog, { - theme: _theme2.default, - value: new Date(2016, 1, 1), - minDate: minDate, - maxDate: maxDate - }); - (0, _expect2.default)(getDatePassedToCalendar(wrapper)).toBe(minDate); - }); - - it('sanitises value to maxDate if value is after maxDate', function () { - var wrapper = _testing2.default.shallowRenderComponent(_DatePicker.DatePickerDialog, { - theme: _theme2.default, - value: new Date(2016, 1, 5), - minDate: minDate, - maxDate: maxDate - }); - (0, _expect2.default)(getDatePassedToCalendar(wrapper)).toBe(maxDate); - }); - - it('doesn\'t sanitise when value is between maxDate/minDate', function () { - var value = new Date(2016, 1, 3); - var wrapper = _testing2.default.shallowRenderComponent(_DatePicker.DatePickerDialog, { theme: _theme2.default, value: value, minDate: minDate, maxDate: maxDate }); - (0, _expect2.default)(getDatePassedToCalendar(wrapper)).toBe(value); - }); - }); - - function getDatePassedToCalendar(wrapper) { - return wrapper.props.children[1].props.children.props.selectedDate; - } - }); -}); \ No newline at end of file diff --git a/lib/date_picker/_config.scss b/lib/date_picker/_config.scss deleted file mode 100644 index 62acee07..00000000 --- a/lib/date_picker/_config.scss +++ /dev/null @@ -1,31 +0,0 @@ -$datepicker-primary: $color-primary !default; -$datepicker-primary-contrast: $color-primary-contrast !default; -$datepicker-primary-dark: $color-primary-dark !default; -$datepicker-primary-color: $datepicker-primary !default; -$datepicker-primary-hover-color: rgba($datepicker-primary, .2) !default; -$datepicker-primary-contrast-color: $datepicker-primary-contrast !default; -$datepicker-primary-dark-color: $datepicker-primary-dark !default; -$datepicker-dialog-width: 33 * $unit !default; -$datepicker-inactive-opacity: .6 !default; -$datepicker-weekday-line-height: 2 * $unit !default; -$datepicker-weekday-font-size: $font-size-small !default; -$datepicker-month-font-size: $font-size-big !default; -$datepicker-day-font-size: 5 * $unit !default; -$datepicker-day-line-height: 4 * $unit !default; -$datepicker-year-font-size: $font-size-small !default; - -$calendar-primary: $color-primary !default; -$calendar-primary-contrast: $color-primary-contrast !default; -$calendar-primary-color: $calendar-primary !default; -$calendar-primary-contrast-color: $calendar-primary-contrast !default; -$calendar-primary-hover-color: rgba($calendar-primary, .21) !default; -$calendar-arrows-color: $palette-grey-600 !default; -$calendar-arrows-font-size: 2 * $unit !default; -$calendar-year-font-size: 2.4 * $unit !default; -$calendar-day-font-size: 1.3 * $unit !default; -$calendar-day-disable-opacity: 0.25 !default; -$calendar-row-height: 3 * $unit !default; -$calendar-day-padding-topbottom: .2 * $unit !default; -$calendar-day-padding-leftright: 0 !default; -$calendar-title-height: 3.6 * $unit !default; -$calendar-total-height: $calendar-row-height * 7 + $calendar-title-height + $calendar-day-padding-topbottom * 12 !default; diff --git a/lib/date_picker/index.d.ts b/lib/date_picker/index.d.ts deleted file mode 100644 index 6a8ffe91..00000000 --- a/lib/date_picker/index.d.ts +++ /dev/null @@ -1,153 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface DatePickerTheme { - /** - * Used for the active day and year. - */ - active?: string; - /** - * Used for the buttons in the dialog. - */ - button?: string; - /** - * Used for the calendar root element. - */ - calendar?: string; - /** - * Used as wrapper for the calendar component inside dialog. - */ - calendarWrapper?: string; - /** - * Used for the date element inside header. - */ - date?: string; - /** - * Used for the day element inside the calendar. - */ - day?: string; - /** - * Used for the list of days inside a month. - */ - days?: string; - /** - * Used for the dialog component. - */ - dialog?: string; - /** - * Added to day element when day is disabled. - */ - disabled?: string; - /** - * Used for the dialog header,. - */ - header?: string; - /** - * Used for Input element that opens the picker. - */ - input?: string; - /** - * Used for the month root element. - */ - month?: string; - /** - * Added to the root dialog when months are displayed. - */ - monthsDisplay?: string; - /** - * Used for the next month icon. - */ - next?: string; - /** - * Used for the prev month icon. - */ - prev?: string; - /** - * Used for the month title element. - */ - title?: string; - /** - * Used for the weekdays wrapper. - */ - week?: string; - /** - * Used for the year element inside header. - */ - year?: string; - /** - * Used for the years list in years view. - */ - years?: string; - /** - * Added to the root dialog when years are displayed. - */ - yearsDisplay?: string; -} - -interface DatePickerProps extends ReactToolbox.Props { - /** - * Automatically selects a date upon clicking on a day - * @default false - */ - autoOk?: boolean; - /** - * Give an error node to display under the field. - */ - error?: string; - /** - * A key to identify an Icon from Material Design Icons or a custom Icon Element. - */ - icon?: React.ReactNode | string; - /** - * This class will be applied to Input component of DatePicker. - */ - inputClassName?: string; - /** - * Function to format the date displayed on the input. - */ - inputFormat?: Function; - /** - * The text string to use for the floating label element in the input component. - */ - label?: string; - /** - * Date object with the maximum selectable date. - */ - maxDate?: Date; - /** - * Date object with the minimum selectable date. - */ - minDate?: Date; - /** - * Name for the input field. - */ - name?: string; - /** - * Callback called when the picker value is changed. - */ - onChange?: Function; - /** - * Callback called when the ESC key is pressed with the overlay active. - */ - onEscKeyDown?: Function; - /** - * Callback to be invoked when the dialog overlay is clicked. - */ - onOverlayClick?: Function; - /** - * The input element will be readonly and look like disabled. - */ - readonly?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: DatePickerTheme; - /** - * Date object with the currently selected date. - */ - value?: Date | string; -} - -export class DatePicker extends React.Component { } - -export default DatePicker; diff --git a/lib/date_picker/index.js b/lib/date_picker/index.js deleted file mode 100644 index 887fdaf7..00000000 --- a/lib/date_picker/index.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.DatePickerDialog = exports.DatePicker = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _DatePicker = require('./DatePicker.js'); - -var _DatePickerDialog = require('./DatePickerDialog.js'); - -var _DatePickerDialog2 = _interopRequireDefault(_DatePickerDialog); - -var _Calendar = require('./Calendar.js'); - -var _Calendar2 = _interopRequireDefault(_Calendar); - -var _button = require('../button'); - -var _input = require('../input'); - -var _input2 = _interopRequireDefault(_input); - -var _dialog = require('../dialog'); - -var _dialog2 = _interopRequireDefault(_dialog); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Calendar = (0, _Calendar2.default)(_button.IconButton); -var DatePickerDialog = (0, _DatePickerDialog2.default)(_dialog2.default, Calendar); -var DatePicker = (0, _DatePicker.datePickerFactory)(_input2.default, DatePickerDialog); - -var ThemedDatePicker = (0, _reactCssThemr.themr)(_identifiers.DATE_PICKER, _theme2.default)(DatePicker); -exports.default = ThemedDatePicker; -exports.DatePicker = ThemedDatePicker; - - -var ThemedDatePickerDialog = (0, _reactCssThemr.themr)(_identifiers.DIALOG, _theme2.default)(DatePickerDialog); -exports.DatePickerDialog = ThemedDatePickerDialog; \ No newline at end of file diff --git a/lib/date_picker/theme.scss b/lib/date_picker/theme.scss deleted file mode 100644 index a1ee3915..00000000 --- a/lib/date_picker/theme.scss +++ /dev/null @@ -1,156 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.input:not(.disabled) > .inputElement { - cursor: pointer; -} - -.header { - padding: 1.6 * $unit 2 * $unit; - color: $datepicker-primary-contrast-color; - cursor: pointer; - background-color: $datepicker-primary-color; -} - -.year { - display: inline-block; - font-size: $datepicker-year-font-size; - transition: opacity, font-size $animation-duration $animation-curve-default; -} - -.date { - display: block; - font-weight: $font-weight-semi-bold; - text-transform: capitalize; - transition: opacity $animation-duration $animation-curve-default; -} - -.calendarWrapper { - padding: $unit .5 * $unit 0; -} - -.yearsDisplay { - .date { - opacity: $datepicker-inactive-opacity; - } - .year { - font-size: $font-size-normal; - } -} - -.monthsDisplay { - .year { - opacity: $datepicker-inactive-opacity; - } -} - -.dialog { - width: $datepicker-dialog-width; - > [role="body"] { - padding: 0; - } - > [role="navigation"] > .button { - color: $datepicker-primary-color; - &:hover { - background: $datepicker-primary-hover-color; - } - &:focus:not(:active) { - background: $datepicker-primary-hover-color; - } - } -} - -.calendar { - position: relative; - height: $calendar-total-height; - overflow: hidden; - font-size: $font-size-small; - line-height: $calendar-row-height; - text-align: center; - background: $calendar-primary-contrast-color; - .prev, .next { - position: absolute; - top: 0; - z-index: $z-index-high; - height: 3.6 * $unit; - cursor: pointer; - opacity: .7; - } - .prev { - left: 0; - } - .next { - right: 0; - } -} - -.title { - display: inline-block; - font-weight: 500; - line-height: $calendar-row-height; -} - -.years { - height: 100%; - overflow-y: auto; - font-size: $font-size-big; - > li { - line-height: 2.4; - cursor: pointer; - &.active { - font-size: $calendar-year-font-size; - font-weight: $font-weight-semi-bold; - color: $calendar-primary-color; - } - } -} - -.week { - display: flex; - height: $calendar-row-height; - flex-wrap: wrap; - font-size: $calendar-day-font-size; - line-height: $calendar-row-height; - opacity: .5; - > span { - flex: 0 0 (100% / 7); - } -} - -.days { - display: flex; - flex-wrap: wrap; - font-size: $calendar-day-font-size; -} - -.day { - flex: 0 0 (100% / 7); - padding: $calendar-day-padding-topbottom $calendar-day-padding-leftright; - > span { - display: inline-block; - width: $calendar-row-height; - height: $calendar-row-height; - line-height: $calendar-row-height; - border-radius: 50%; - } - &:hover:not(.active):not(.disabled) > span { - color: $calendar-primary-contrast-color; - background: $calendar-primary-hover-color; - } - &.active > span { - color: $calendar-primary-contrast-color; - background: $calendar-primary-color; - } - &:hover:not(.disabled) > span { - cursor: pointer; - } - &.disabled { - opacity: $calendar-day-disable-opacity; - } -} - -.month { - background-color: $calendar-primary-contrast-color; -} diff --git a/lib/dialog/Dialog.js b/lib/dialog/Dialog.js deleted file mode 100644 index 05e044d5..00000000 --- a/lib/dialog/Dialog.js +++ /dev/null @@ -1,113 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.dialogFactory = exports.Dialog = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _classnames3 = require('classnames'); - -var _classnames4 = _interopRequireDefault(_classnames3); - -var _identifiers = require('../identifiers.js'); - -var _ActivableRenderer = require('../hoc/ActivableRenderer.js'); - -var _ActivableRenderer2 = _interopRequireDefault(_ActivableRenderer); - -var _Button = require('../button/Button.js'); - -var _Button2 = _interopRequireDefault(_Button); - -var _Overlay = require('../overlay/Overlay.js'); - -var _Overlay2 = _interopRequireDefault(_Overlay); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var factory = function factory(Overlay, Button) { - var Dialog = function Dialog(props) { - var actions = props.actions.map(function (action, idx) { - var className = (0, _classnames4.default)(props.theme.button, _defineProperty({}, action.className, action.className)); - return _react2.default.createElement(Button, _extends({ key: idx }, action, { className: className })); - }); - - var className = (0, _classnames4.default)([props.theme.dialog, props.theme[props.type]], _defineProperty({}, props.theme.active, props.active), props.className); - - return _react2.default.createElement( - Overlay, - { - active: props.active, - onClick: props.onOverlayClick, - onEscKeyDown: props.onEscKeyDown, - onMouseDown: props.onOverlayMouseDown, - onMouseMove: props.onOverlayMouseMove, - onMouseUp: props.onOverlayMouseUp - }, - _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'dialog', className: className }, - _react2.default.createElement( - 'section', - { role: 'body', className: props.theme.body }, - props.title ? _react2.default.createElement( - 'h6', - { className: props.theme.title }, - props.title - ) : null, - props.children - ), - actions.length ? _react2.default.createElement( - 'nav', - { role: 'navigation', className: props.theme.navigation }, - actions - ) : null - ) - ); - }; - - Dialog.propTypes = { - actions: _react.PropTypes.array, - active: _react.PropTypes.bool, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - onEscKeyDown: _react.PropTypes.func, - onOverlayClick: _react.PropTypes.func, - onOverlayMouseDown: _react.PropTypes.func, - onOverlayMouseMove: _react.PropTypes.func, - onOverlayMouseUp: _react.PropTypes.func, - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - body: _react.PropTypes.string, - button: _react.PropTypes.string, - dialog: _react.PropTypes.string, - navigation: _react.PropTypes.string, - title: _react.PropTypes.string - }), - title: _react.PropTypes.string, - type: _react.PropTypes.string - }; - - Dialog.defaultProps = { - actions: [], - active: false, - type: 'normal' - }; - - return (0, _ActivableRenderer2.default)()(Dialog); -}; - -var Dialog = factory(_Overlay2.default, _Button2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.DIALOG)(Dialog); -exports.Dialog = Dialog; -exports.dialogFactory = factory; \ No newline at end of file diff --git a/lib/dialog/_config.scss b/lib/dialog/_config.scss deleted file mode 100644 index c522075c..00000000 --- a/lib/dialog/_config.scss +++ /dev/null @@ -1,6 +0,0 @@ -$dialog-border-radius: .2 * $unit !default; -$dialog-color-title: $color-black !default; -$dialog-color-white: $color-white !default; -$dialog-content-padding: 2.4 * $unit !default; -$dialog-navigation-padding: .8 * $unit !default; -$dialog-translate-y: 4 * $unit !default; diff --git a/lib/dialog/index.d.ts b/lib/dialog/index.d.ts deleted file mode 100644 index eb95ee3a..00000000 --- a/lib/dialog/index.d.ts +++ /dev/null @@ -1,93 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface DialogTheme { - /** - * Used for the root when the dialog is active. - */ - active?: string; - /** - * Used to wrap the dialog body. - */ - body?: string; - /** - * Used in buttons when the dialog implements actions. - */ - button?: string; - /** - * Used for the root element. - */ - dialog?: string; - /** - * Used for the navigation element when it implements actions. - */ - navigation?: string; - /** - * Used for the title element of the dialog. - */ - title?: string; -} - -interface DialogActionProps { - /** - * The text string to use for the name of the button. - */ - label?: string; - /** - * Callback called when the component is clicked. - */ - onClick?: Function; -} - -interface DialogProps extends ReactToolbox.Props { - /** - * A array of objects representing the buttons for the dialog navigation area. The properties will be transferred to the buttons. - */ - actions?: DialogActionProps[]; - /** - * If true, the dialog will be active. - * @default false - */ - active?: boolean; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Callback called when the ESC key is pressed with the overlay active. - */ - onEscKeyDown?: Function; - /** - * Callback to be invoked when the dialog overlay is clicked. - */ - onOverlayClick?: Function; - /** - * Callback called when the mouse button is pressed on the overlay. - */ - onOverlayMouseDown?: Function; - /** - * Callback called when the mouse is moving over the overlay. - */ - onOverlayMouseMove?: Function; - /** - * Callback called when the mouse button is released over the overlay. - */ - onOverlayMouseUp?: Function; - /** - * Classnames object defining the component style. - */ - theme?: DialogTheme; - /** - * The text string to use as standar title of the dialog. - */ - title?: string; - /** - * Used to determine the size of the dialog. It can be small, normal or large. - * @default normal - */ - type?: string; -} - -export class Dialog extends React.Component { } - -export default Dialog; diff --git a/lib/dialog/index.js b/lib/dialog/index.js deleted file mode 100644 index 5a81c7e2..00000000 --- a/lib/dialog/index.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Dialog = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Dialog = require('./Dialog.js'); - -var _overlay = require('../overlay'); - -var _overlay2 = _interopRequireDefault(_overlay); - -var _button = require('../button'); - -var _button2 = _interopRequireDefault(_button); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Dialog = (0, _Dialog.dialogFactory)(_overlay2.default, _button2.default); -var ThemedDialog = (0, _reactCssThemr.themr)(_identifiers.DIALOG, _theme2.default)(Dialog); - -exports.default = ThemedDialog; -exports.Dialog = ThemedDialog; \ No newline at end of file diff --git a/lib/dialog/theme.scss b/lib/dialog/theme.scss deleted file mode 100644 index 8757bdf0..00000000 --- a/lib/dialog/theme.scss +++ /dev/null @@ -1,86 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.dialog { - display: flex; - max-width: 96vw; - max-height: 96vh; - flex-direction: column; - background-color: $dialog-color-white; - border-radius: $dialog-border-radius; - box-shadow: $zdepth-shadow-5; - opacity: 0; - transition-delay: $animation-delay; - transition-timing-function: $animation-curve-default; - transition-duration: $animation-duration; - transition-property: opacity, transform; - transform: translateY(-$dialog-translate-y); - &.active { - opacity: 1; - transform: translateY(0%); - } -} - -.small { - width: 30vw; - - @media screen and (max-width: $layout-breakpoint-sm-tablet) { - width: 50vw; - } - - @media screen and (max-width: $layout-breakpoint-xs) { - width: 75vw; - } -} - -.normal { - width: 50vw; - - @media screen and (max-width: $layout-breakpoint-xs) { - width: 96vw; - } -} - -.large { - width: 96vw; -} - -.fullscreen { - width: 96vw; - - @media screen and (max-width: $layout-breakpoint-xs) { - width: 100vw; - max-width: 100vw; - min-height: 100vh; - max-height: 100vh; - border-radius: 0; - } -} - -.title { - @include typo-title(); - flex-grow: 0; - margin-bottom: 1.6 * $unit; - color: $dialog-color-title; -} - -.body { - flex-grow: 2; - padding: $dialog-content-padding; - color: $color-text-secondary; -} - -.navigation { - flex-grow: 0; - padding: $dialog-navigation-padding; - text-align: right; -} - -.button { - min-width: 0; - padding-right: $dialog-navigation-padding; - padding-left: $dialog-navigation-padding; - margin-left: $dialog-navigation-padding; -} diff --git a/lib/drawer/Drawer.js b/lib/drawer/Drawer.js deleted file mode 100644 index 608253e8..00000000 --- a/lib/drawer/Drawer.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Drawer = exports.drawerFactory = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _identifiers = require('../identifiers.js'); - -var _ActivableRenderer = require('../hoc/ActivableRenderer.js'); - -var _ActivableRenderer2 = _interopRequireDefault(_ActivableRenderer); - -var _Overlay = require('../overlay/Overlay.js'); - -var _Overlay2 = _interopRequireDefault(_Overlay); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var factory = function factory(Overlay) { - var Drawer = function Drawer(_ref) { - var active = _ref.active, - children = _ref.children, - className = _ref.className, - onOverlayClick = _ref.onOverlayClick, - theme = _ref.theme, - type = _ref.type; - - var _className = (0, _classnames3.default)([theme.drawer, theme[type]], _defineProperty({}, theme.active, active), className); - - return _react2.default.createElement( - Overlay, - { active: active, onClick: onOverlayClick }, - _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'drawer', className: _className }, - _react2.default.createElement( - 'aside', - { className: theme.content }, - children - ) - ) - ); - }; - - Drawer.propTypes = { - active: _react.PropTypes.bool, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - onOverlayClick: _react.PropTypes.func, - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - content: _react.PropTypes.string, - drawer: _react.PropTypes.string, - left: _react.PropTypes.string, - right: _react.PropTypes.string - }), - type: _react.PropTypes.oneOf(['left', 'right']) - }; - - Drawer.defaultProps = { - active: false, - className: '', - type: 'left' - }; - - return (0, _ActivableRenderer2.default)()(Drawer); -}; - -var Drawer = factory(_Overlay2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.DRAWER)(Drawer); -exports.drawerFactory = factory; -exports.Drawer = Drawer; \ No newline at end of file diff --git a/lib/drawer/_config.scss b/lib/drawer/_config.scss deleted file mode 100644 index 2401bc69..00000000 --- a/lib/drawer/_config.scss +++ /dev/null @@ -1,4 +0,0 @@ -$drawer-background-color: $palette-grey-50 !default; -$drawer-border-color: $palette-grey-300 !default; -$drawer-text-color: $palette-grey-800 !default; -$drawer-width: 24 * $unit !default; diff --git a/lib/drawer/index.d.ts b/lib/drawer/index.d.ts deleted file mode 100644 index 2c0a8478..00000000 --- a/lib/drawer/index.d.ts +++ /dev/null @@ -1,54 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface DrawerTheme { - /** - * Used for the root class when the drawer is active. - */ - active?: string; - /** - * Used for the drawer content. - */ - content?: string; - /** - * Root class. - */ - drawer?: string; - /** - * Added to the root class when drawer is to the left. - */ - left?: string; - /** - * Added to the root class when drawer is to the right. - */ - right?: string; -} - -interface DrawerProps extends ReactToolbox.Props { - /** - * If true, the drawer will be visible. - * @default false - */ - active?: boolean; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Callback function to be invoked when the overlay is clicked. - */ - onOverlayClick?: Function; - /** - * Classnames object defining the component style. - */ - theme?: DrawerTheme; - /** - * Type of drawer. It can be left or right to display the drawer on the left or right side of the screen. - * @default left - */ - type?: "left" | "right"; -} - -export class Drawer extends React.Component { } - -export default Drawer; diff --git a/lib/drawer/index.js b/lib/drawer/index.js deleted file mode 100644 index 71d9a5ec..00000000 --- a/lib/drawer/index.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Drawer = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _overlay = require('../overlay'); - -var _Drawer = require('./Drawer.js'); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Drawer = (0, _Drawer.drawerFactory)(_overlay.Overlay); -var ThemedDrawer = (0, _reactCssThemr.themr)(_identifiers.DRAWER, _theme2.default)(Drawer); - -exports.default = ThemedDrawer; -exports.Drawer = ThemedDrawer; \ No newline at end of file diff --git a/lib/drawer/theme.scss b/lib/drawer/theme.scss deleted file mode 100644 index a089640a..00000000 --- a/lib/drawer/theme.scss +++ /dev/null @@ -1,43 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.drawer { - @include shadow-2dp(); - position: absolute; - top: 0; - display: block; - width: $drawer-width; - height: 100%; - overflow-x: hidden; - overflow-y: auto; - color: $drawer-text-color; - pointer-events: none; - background-color: $drawer-background-color; - transition-delay: 0s; - transition-timing-function: $animation-curve-default; - transition-duration: $animation-duration; - transition-property: transform; - transform-style: preserve-3d; - will-change: transform; - &.active { - pointer-events: all; - transition-delay: $animation-delay; - transform: translateX(0); - } - &.right { - right: 0; - border-left: 1px solid $drawer-border-color; - &:not(.active) { - transform: translateX(100%); - } - } - &.left { - left: 0; - border-right: 1px solid $drawer-border-color; - &:not(.active) { - transform: translateX(- 100%); - } - } -} diff --git a/lib/dropdown/Dropdown.js b/lib/dropdown/Dropdown.js deleted file mode 100644 index 55994c8a..00000000 --- a/lib/dropdown/Dropdown.js +++ /dev/null @@ -1,304 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Dropdown = exports.dropdownFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _classnames3 = require('classnames'); - -var _classnames4 = _interopRequireDefault(_classnames3); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Input = require('../input/Input.js'); - -var _Input2 = _interopRequireDefault(_Input); - -var _events = require('../utils/events.js'); - -var _events2 = _interopRequireDefault(_events); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(Input) { - var Dropdown = function (_Component) { - _inherits(Dropdown, _Component); - - function Dropdown() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Dropdown); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).call.apply(_ref, [this].concat(args))), _this), _this.state = { - active: false, - up: false - }, _this.getDocumentEvents = function () { - return { - click: _this.handleDocumentClick, - touchend: _this.handleDocumentClick - }; - }, _this.open = function () { - var client = event.target.getBoundingClientRect(); - var screenHeight = window.innerHeight || document.documentElement.offsetHeight; - var up = _this.props.auto ? client.top > screenHeight / 2 + client.height : false; - if (_this.inputNode) _this.inputNode.blur(); - _this.setState({ active: true, up: up }); - }, _this.close = function () { - if (_this.state.active) { - _this.setState({ active: false }); - } - }, _this.handleDocumentClick = function (event) { - if (_this.state.active && !_events2.default.targetIsDescendant(event, _reactDom2.default.findDOMNode(_this))) { - _this.setState({ active: false }); - } - }, _this.handleClick = function (event) { - _this.open(); - _events2.default.pauseEvent(event); - if (_this.props.onClick) _this.props.onClick(event); - }, _this.handleSelect = function (item, event) { - if (_this.props.onBlur) _this.props.onBlur(event); - if (!_this.props.disabled && _this.props.onChange) { - if (_this.props.name) { - event.target.name = _this.props.name; - } - _this.props.onChange(item, event); - _this.close(); - } - }, _this.getSelectedItem = function () { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = _this.props.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var item = _step.value; - - if (item.value === _this.props.value) return item; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (!_this.props.allowBlank) { - return _this.props.source[0]; - } - }, _this.renderValue = function (item, idx) { - var theme = _this.props.theme; - - var className = item.value === _this.props.value ? theme.selected : null; - return _react2.default.createElement( - 'li', - { key: idx, className: className, onClick: _this.handleSelect.bind(_this, item.value) }, - _this.props.template ? _this.props.template(item) : item.label - ); - }, _this.handleFocus = function (event) { - event.stopPropagation(); - if (!_this.props.disabled) _this.open(); - if (_this.props.onFocus) _this.props.onFocus(event); - }, _this.handleBlur = function (event) { - event.stopPropagation(); - if (_this.state.active) _this.close(); - if (_this.props.onBlur) _this.props.onBlur(event); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Dropdown, [{ - key: 'componentWillUpdate', - value: function componentWillUpdate(nextProps, nextState) { - if (!this.state.active && nextState.active) { - _events2.default.addEventsToDocument(this.getDocumentEvents()); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate(prevProps, prevState) { - if (prevState.active && !this.state.active) { - _events2.default.removeEventsFromDocument(this.getDocumentEvents()); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - if (this.state.active) { - _events2.default.removeEventsFromDocument(this.getDocumentEvents()); - } - } - }, { - key: 'renderTemplateValue', - value: function renderTemplateValue(selected) { - var _classnames; - - var theme = this.props.theme; - - var className = (0, _classnames4.default)(theme.field, (_classnames = {}, _defineProperty(_classnames, theme.errored, this.props.error), _defineProperty(_classnames, theme.disabled, this.props.disabled), _defineProperty(_classnames, theme.required, this.props.required), _classnames)); - - return _react2.default.createElement( - 'div', - { className: className, onClick: this.handleClick }, - _react2.default.createElement( - 'div', - { className: theme.templateValue + ' ' + theme.value }, - this.props.template(selected) - ), - this.props.label ? _react2.default.createElement( - 'label', - { className: theme.label }, - this.props.label, - this.props.required ? _react2.default.createElement( - 'span', - { className: theme.required }, - ' * ' - ) : null - ) : null, - this.props.error ? _react2.default.createElement( - 'span', - { className: theme.error }, - this.props.error - ) : null - ); - } - }, { - key: 'render', - value: function render() { - var _classnames2, - _this2 = this; - - var _props = this.props, - allowBlank = _props.allowBlank, - auto = _props.auto, - required = _props.required, - onChange = _props.onChange, - onFocus = _props.onFocus, - onBlur = _props.onBlur, - source = _props.source, - template = _props.template, - theme = _props.theme, - others = _objectWithoutProperties(_props, ['allowBlank', 'auto', 'required', 'onChange', 'onFocus', 'onBlur', 'source', 'template', 'theme']); - - var selected = this.getSelectedItem(); - var className = (0, _classnames4.default)(theme.dropdown, (_classnames2 = {}, _defineProperty(_classnames2, theme.up, this.state.up), _defineProperty(_classnames2, theme.active, this.state.active), _defineProperty(_classnames2, theme.disabled, this.props.disabled), _defineProperty(_classnames2, theme.required, this.props.required), _classnames2), this.props.className); - - return _react2.default.createElement( - 'div', - { - className: className, - 'data-react-toolbox': 'dropdown', - onBlur: this.handleBlur, - onFocus: this.handleFocus, - tabIndex: '0' - }, - _react2.default.createElement(Input, _extends({}, others, { - tabIndex: '-1', - className: theme.value, - onClick: this.handleClick, - required: this.props.required, - readOnly: true, - ref: function ref(node) { - _this2.inputNode = node && node.getWrappedInstance(); - }, - type: template && selected ? 'hidden' : null, - value: selected && selected.label ? selected.label : '' - })), - template && selected ? this.renderTemplateValue(selected) : null, - _react2.default.createElement( - 'ul', - { className: theme.values, ref: 'values' }, - source.map(this.renderValue) - ) - ); - } - }]); - - return Dropdown; - }(_react.Component); - - Dropdown.propTypes = { - allowBlank: _react.PropTypes.bool, - auto: _react.PropTypes.bool, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - error: _react.PropTypes.string, - label: _react.PropTypes.string, - name: _react.PropTypes.string, - onBlur: _react.PropTypes.func, - onChange: _react.PropTypes.func, - onClick: _react.PropTypes.func, - onFocus: _react.PropTypes.func, - required: _react.PropTypes.bool, - source: _react.PropTypes.array.isRequired, - template: _react.PropTypes.func, - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - disabled: _react.PropTypes.string, - dropdown: _react.PropTypes.string, - error: _react.PropTypes.string, - errored: _react.PropTypes.string, - field: _react.PropTypes.string, - label: _react.PropTypes.string, - required: _react.PropTypes.string, - selected: _react.PropTypes.string, - templateValue: _react.PropTypes.string, - up: _react.PropTypes.string, - value: _react.PropTypes.string, - values: _react.PropTypes.string - }), - value: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.number]) - }; - Dropdown.defaultProps = { - auto: true, - className: '', - allowBlank: true, - disabled: false, - required: false - }; - - - return Dropdown; -}; - -var Dropdown = factory(_Input2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.DROPDOWN)(Dropdown); -exports.dropdownFactory = factory; -exports.Dropdown = Dropdown; \ No newline at end of file diff --git a/lib/dropdown/_config.scss b/lib/dropdown/_config.scss deleted file mode 100644 index 364815c0..00000000 --- a/lib/dropdown/_config.scss +++ /dev/null @@ -1,6 +0,0 @@ -$dropdown-color-white: $color-white !default; -$dropdown-color-primary: $color-primary !default; -$dropdown-color-primary-contrast: $color-primary-contrast !default; -$dropdown-value-hover-background: $palette-grey-200 !default; -$dropdown-overflow-max-height: 45vh !default; -$dropdown-value-border-radius: .2 * $unit !default; diff --git a/lib/dropdown/index.d.ts b/lib/dropdown/index.d.ts deleted file mode 100644 index 2c0f207e..00000000 --- a/lib/dropdown/index.d.ts +++ /dev/null @@ -1,115 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface DropdownTheme { - /** - * Added to the root element when the dropdown is active. - */ - active?: string; - /** - * Added to the root element when it's disabled. - */ - disabled?: string; - /** - * Root element class. - */ - dropdown?: string; - /** - * Used for the error element. - */ - error?: string; - /** - * Added to the inner wrapper if it's errored. - */ - errored?: string; - /** - * Used for the inner wrapper of the component. - */ - field?: string; - /** - * Used for the the label element. - */ - label?: string; - /** - * Used to highlight the selected value. - */ - selected?: string; - /** - * Used as a wrapper for the given template value. - */ - templateValue?: string; - /** - * Added to the root element when it's opening up. - */ - up?: string; - /** - * Used for each value in the dropdown component. - */ - value?: string; - /** - * Used for the list of values. - */ - values?: string; -} - -interface DropdownProps extends ReactToolbox.Props { - /** - * If true the dropdown will preselect the first item if the supplied value matches none of the options' values. - * @default true - */ - allowBlank?: boolean; - /** - * If true, the dropdown will open up or down depending on the position in the screen. - * @default true - */ - auto?: boolean; - /** - * Set the component as disabled. - * @default false - */ - disabled?: boolean; - /** - * Give an error string to display under the field. - */ - error?: string; - /** - * The text string to use for the floating label element. - */ - label?: string; - /** - * Name for the input field. - */ - name?: string; - /** - * Callback function that is fired when the component is blurred. - */ - onBlur?: Function; - /** - * Callback function that is fired when the component's value changes. - */ - onChange?: Function; - /** - * Callback function that is fired when the component is focused. - */ - onFocus?: Function; - /** - * Array of data objects with the data to represent in the dropdown. - */ - source: any[]; - /** - * Callback function that returns a JSX template to represent the element. - */ - template?: Function; - /** - * Classnames object defining the component style. - */ - theme?: DropdownTheme; - /** - * Default value using JSON data. - */ - value?: string | number; -} - -export class Dropdown extends React.Component { } - -export default Dropdown; diff --git a/lib/dropdown/index.js b/lib/dropdown/index.js deleted file mode 100644 index b2de898e..00000000 --- a/lib/dropdown/index.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Dropdown = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Dropdown = require('./Dropdown.js'); - -var _input = require('../input'); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Dropdown = (0, _Dropdown.dropdownFactory)(_input.Input); -var ThemedDropdown = (0, _reactCssThemr.themr)(_identifiers.DROPDOWN, _theme2.default)(Dropdown); - -exports.default = ThemedDropdown; -exports.Dropdown = ThemedDropdown; \ No newline at end of file diff --git a/lib/dropdown/theme.scss b/lib/dropdown/theme.scss deleted file mode 100644 index 607afa2a..00000000 --- a/lib/dropdown/theme.scss +++ /dev/null @@ -1,138 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "../input/config"; -@import "./config"; - -.dropdown { - position: relative; - &:not(.active) { - > .values { - max-height: 0; - visibility: hidden; - } - } - &.active { - > .label, > .value { - opacity: .5; - } - > .values { - max-height: $dropdown-overflow-max-height; - visibility: visible; - box-shadow: $zdepth-shadow-1; - } - } - &:not(.up) > .values { - top: 0; - bottom: auto; - } - &.up > .values { - top: auto; - bottom: 0; - } - &.disabled { - pointer-events: none; - cursor: normal; - } -} - -.value { - > input { - cursor: pointer; - } - &:after { - $size: ($input-field-height / 7); - $border: $size solid transparent; - position: absolute; - top: 50%; - right: $input-chevron-offset; - width: 0; - height: 0; - pointer-events: none; - content: ""; - border-top: $size solid $input-text-bottom-border-color; - border-right: $border; - border-left: $border; - transition: transform $animation-duration $animation-curve-default; - } -} - -.field { - position: relative; - padding: $input-padding 0; - cursor: pointer; - &.errored { - padding-bottom: 0; - > .label { - color: $input-text-error-color; - } - > .templateValue { - border-bottom: 1px solid $input-text-error-color; - } - > .label > .required { - color: $input-text-required-color; - } - } - &.disabled { - pointer-events: none; - cursor: normal; - > .templateValue { - border-bottom-style: dotted; - opacity: .7; - } - } -} - -.templateValue { - position: relative; - min-height: $input-field-height; - padding: $input-field-padding 0; - color: $color-text; - background-color: $input-text-background-color; - border-bottom: 1px solid $input-text-bottom-border-color; -} - -.label { - position: absolute; - top: $input-focus-label-top; - left: 0; - font-size: $input-label-font-size; - line-height: $input-field-font-size; - color: $input-text-label-color; - .required { - color: $input-text-required-color; - } -} - -.error { - margin-bottom: - $input-underline-height; - font-size: $input-label-font-size; - line-height: $input-underline-height; - color: $input-text-error-color; -} - -.values { - @include no-webkit-scrollbar; - position: absolute; - z-index: $z-index-high; - width: 100%; - overflow-y: auto; - list-style: none; - background-color: $dropdown-color-white; - border-radius: $dropdown-value-border-radius; - transition-timing-function: $animation-curve-default; - transition-duration: $animation-duration; - transition-property: max-height, box-shadow; - > * { - position: relative; - padding: $unit; - overflow: hidden; - cursor: pointer; - &:hover { - background-color: $dropdown-value-hover-background; - } - &.selected { - color: $dropdown-color-primary; - } - } -} diff --git a/lib/font_icon/FontIcon.js b/lib/font_icon/FontIcon.js deleted file mode 100644 index 5438cac4..00000000 --- a/lib/font_icon/FontIcon.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.FontIcon = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var FontIcon = function FontIcon(_ref) { - var children = _ref.children, - className = _ref.className, - value = _ref.value, - other = _objectWithoutProperties(_ref, ['children', 'className', 'value']); - - return _react2.default.createElement( - 'span', - _extends({ - 'data-react-toolbox': 'font-icon', - className: (0, _classnames2.default)({ 'material-icons': typeof value === 'string' || typeof children === 'string' }, className) - }, other), - value, - children - ); -}; - -FontIcon.propTypes = { - children: _react.PropTypes.any, - className: _react.PropTypes.string, - value: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]) -}; - -FontIcon.defaultProps = { - className: '' -}; - -exports.default = FontIcon; -exports.FontIcon = FontIcon; \ No newline at end of file diff --git a/lib/font_icon/index.d.ts b/lib/font_icon/index.d.ts deleted file mode 100644 index 11ca3c01..00000000 --- a/lib/font_icon/index.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -interface FontIconProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * The key string for the icon you want be displayed. - */ - value?: React.ReactNode | string; -} - -export class FontIcon extends React.Component { } - -export default FontIcon; diff --git a/lib/font_icon/index.js b/lib/font_icon/index.js deleted file mode 100644 index 8f7ca834..00000000 --- a/lib/font_icon/index.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.FontIcon = undefined; - -var _FontIcon = require('./FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = _FontIcon2.default; -exports.FontIcon = _FontIcon2.default; \ No newline at end of file diff --git a/lib/form/Form.js b/lib/form/Form.js deleted file mode 100644 index fe56e77f..00000000 --- a/lib/form/Form.js +++ /dev/null @@ -1,151 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Form = exports.formFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _Autocomplete = require('../autocomplete/Autocomplete.js'); - -var _Autocomplete2 = _interopRequireDefault(_Autocomplete); - -var _Button = require('../button/Button.js'); - -var _Button2 = _interopRequireDefault(_Button); - -var _Checkbox = require('../checkbox/Checkbox.js'); - -var _Checkbox2 = _interopRequireDefault(_Checkbox); - -var _DatePicker = require('../date_picker/DatePicker.js'); - -var _DatePicker2 = _interopRequireDefault(_DatePicker); - -var _Dropdown = require('../dropdown/Dropdown.js'); - -var _Dropdown2 = _interopRequireDefault(_Dropdown); - -var _Input = require('../input/Input.js'); - -var _Input2 = _interopRequireDefault(_Input); - -var _RadioGroup = require('../radio/RadioGroup.js'); - -var _RadioGroup2 = _interopRequireDefault(_RadioGroup); - -var _Slider = require('../slider/Slider.js'); - -var _Slider2 = _interopRequireDefault(_Slider); - -var _Switch = require('../switch/Switch.js'); - -var _Switch2 = _interopRequireDefault(_Switch); - -var _TimePicker = require('../time_picker/TimePicker.js'); - -var _TimePicker2 = _interopRequireDefault(_TimePicker); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(Autocomplete, Button, Checkbox, DatePicker, Dropdown, Input, RadioGroup, Slider, Switch, TimePicker) { - - var COMPONENTS = { - 'autocomplete': Autocomplete, - 'button': Button, - 'checkbox': Checkbox, - 'datepicker': DatePicker, - 'dropdown': Dropdown, - 'input': Input, - 'radioGroup': RadioGroup, - 'slider': Slider, - 'switch': Switch, - 'timepicker': TimePicker - }; - - var Form = function (_Component) { - _inherits(Form, _Component); - - function Form() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Form); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Form.__proto__ || Object.getPrototypeOf(Form)).call.apply(_ref, [this].concat(args))), _this), _this.onSubmit = function (event) { - event.preventDefault(); - if (_this.props.onSubmit) _this.props.onSubmit(event); - }, _this.onChange = function (field, value, event) { - if (_this.props.onChange) _this.props.onChange(field, value, event); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Form, [{ - key: 'renderFields', - value: function renderFields() { - var _this2 = this; - - return Object.keys(this.props.model).map(function (field, index) { - var properties = _this2.props.model[field]; - var Field = COMPONENTS[properties.kind.toLowerCase()]; - return _react2.default.createElement(Field, _extends({ key: index }, properties, { onChange: _this2.onChange.bind(_this2, field) })); - }); - } - }, { - key: 'render', - value: function render() { - return _react2.default.createElement( - 'form', - { 'data-react-toolbox': 'form', className: this.props.className, onSubmit: this.onSubmit }, - this.renderFields(), - this.props.children - ); - } - }]); - - return Form; - }(_react.Component); - - Form.propTypes = { - attributes: _react.PropTypes.array, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - model: _react.PropTypes.object, - onChange: _react.PropTypes.func, - onError: _react.PropTypes.func, - onSubmit: _react.PropTypes.func, - onValid: _react.PropTypes.func, - storage: _react.PropTypes.string - }; - Form.defaultProps = { - attributes: [], - className: '' - }; - - - return Form; -}; - -var Form = factory(_Autocomplete2.default, _Button2.default, _Checkbox2.default, _DatePicker2.default, _Dropdown2.default, _Input2.default, _RadioGroup2.default, _Slider2.default, _Switch2.default, _TimePicker2.default); - -exports.default = Form; -exports.formFactory = factory; -exports.Form = Form; \ No newline at end of file diff --git a/lib/form/index.js b/lib/form/index.js deleted file mode 100644 index ee5d2741..00000000 --- a/lib/form/index.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Form = undefined; - -var _Form = require('./Form.js'); - -var _autocomplete = require('../autocomplete'); - -var _autocomplete2 = _interopRequireDefault(_autocomplete); - -var _button = require('../button'); - -var _button2 = _interopRequireDefault(_button); - -var _checkbox = require('../checkbox'); - -var _checkbox2 = _interopRequireDefault(_checkbox); - -var _date_picker = require('../date_picker'); - -var _date_picker2 = _interopRequireDefault(_date_picker); - -var _dropdown = require('../dropdown'); - -var _dropdown2 = _interopRequireDefault(_dropdown); - -var _input = require('../input'); - -var _input2 = _interopRequireDefault(_input); - -var _radio = require('../radio'); - -var _radio2 = _interopRequireDefault(_radio); - -var _slider = require('../slider'); - -var _slider2 = _interopRequireDefault(_slider); - -var _switch = require('../switch'); - -var _switch2 = _interopRequireDefault(_switch); - -var _time_picker = require('../time_picker'); - -var _time_picker2 = _interopRequireDefault(_time_picker); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ThemedForm = (0, _Form.formFactory)(_autocomplete2.default, _button2.default, _checkbox2.default, _date_picker2.default, _dropdown2.default, _input2.default, _radio2.default, _slider2.default, _switch2.default, _time_picker2.default); - -exports.default = ThemedForm; -exports.Form = ThemedForm; \ No newline at end of file diff --git a/lib/hoc/ActivableRenderer.js b/lib/hoc/ActivableRenderer.js deleted file mode 100644 index 09c34f98..00000000 --- a/lib/hoc/ActivableRenderer.js +++ /dev/null @@ -1,113 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var ActivableRendererFactory = function ActivableRendererFactory() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { delay: 500 }; - return function (ActivableComponent) { - var _class, _temp2; - - return _temp2 = _class = function (_Component) { - _inherits(ActivableRenderer, _Component); - - function ActivableRenderer() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, ActivableRenderer); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ActivableRenderer.__proto__ || Object.getPrototypeOf(ActivableRenderer)).call.apply(_ref, [this].concat(args))), _this), _this.state = { - active: _this.props.active, - rendered: _this.props.active - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(ActivableRenderer, [{ - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (nextProps.active && !this.props.active) this.renderAndActivate(); - if (!nextProps.active && this.props.active) this.deactivateAndUnrender(); - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - clearTimeout(this.activateTimeout); - clearTimeout(this.unrenderTimeout); - } - }, { - key: 'renderAndActivate', - value: function renderAndActivate() { - var _this2 = this; - - if (this.unrenderTimeout) clearTimeout(this.unrenderTimeout); - this.setState({ rendered: true, active: false }, function () { - _this2.activateTimeout = setTimeout(function () { - return _this2.setState({ active: true }); - }, 20); - }); - } - }, { - key: 'deactivateAndUnrender', - value: function deactivateAndUnrender() { - var _this3 = this; - - this.setState({ rendered: true, active: false }, function () { - _this3.unrenderTimeout = setTimeout(function () { - _this3.setState({ rendered: false }); - _this3.unrenderTimeout = null; - }, _this3.props.delay); - }); - } - }, { - key: 'render', - value: function render() { - var _props = this.props, - delay = _props.delay, - others = _objectWithoutProperties(_props, ['delay']); // eslint-disable-line no-unused-vars - - - var _state = this.state, - active = _state.active, - rendered = _state.rendered; - - return rendered ? _react2.default.createElement(ActivableComponent, _extends({}, others, { active: active })) : null; - } - }]); - - return ActivableRenderer; - }(_react.Component), _class.propTypes = { - active: _react.PropTypes.bool.isRequired, - children: _react.PropTypes.any, - delay: _react.PropTypes.number - }, _class.defaultProps = { - delay: options.delay - }, _temp2; - }; -}; - -exports.default = ActivableRendererFactory; \ No newline at end of file diff --git a/lib/hoc/Portal.js b/lib/hoc/Portal.js deleted file mode 100644 index 0d8cda45..00000000 --- a/lib/hoc/Portal.js +++ /dev/null @@ -1,145 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Portal = function (_Component) { - _inherits(Portal, _Component); - - function Portal() { - _classCallCheck(this, Portal); - - return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments)); - } - - _createClass(Portal, [{ - key: 'componentDidMount', - value: function componentDidMount() { - this._renderOverlay(); - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (this._overlayTarget && nextProps.container !== this.props.container) { - this._portalContainerNode.removeChild(this._overlayTarget); - this._portalContainerNode = getContainer(nextProps.container); - this._portalContainerNode.appendChild(this._overlayTarget); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate() { - this._renderOverlay(); - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - this._unrenderOverlay(); - this._unmountOverlayTarget(); - } - }, { - key: '_mountOverlayTarget', - value: function _mountOverlayTarget() { - if (!this._overlayTarget) { - this._overlayTarget = document.createElement('div'); - this._portalContainerNode = getContainer(this.props.container); - this._portalContainerNode.appendChild(this._overlayTarget); - } - } - }, { - key: '_unmountOverlayTarget', - value: function _unmountOverlayTarget() { - if (this._overlayTarget) { - this._portalContainerNode.removeChild(this._overlayTarget); - this._overlayTarget = null; - } - this._portalContainerNode = null; - } - }, { - key: '_renderOverlay', - value: function _renderOverlay() { - var overlay = !this.props.children ? null : _react2.default.Children.only(this.props.children); - - if (overlay !== null) { - this._mountOverlayTarget(); - this._overlayInstance = _reactDom2.default.unstable_renderSubtreeIntoContainer(this, overlay, this._overlayTarget); - } else { - this._unrenderOverlay(); - this._unmountOverlayTarget(); - } - } - }, { - key: '_unrenderOverlay', - value: function _unrenderOverlay() { - if (this._overlayTarget) { - _reactDom2.default.unmountComponentAtNode(this._overlayTarget); - this._overlayInstance = null; - } - } - }, { - key: 'getMountNode', - value: function getMountNode() { - return this._overlayTarget; - } - }, { - key: 'getOverlayDOMNode', - value: function getOverlayDOMNode() { - if (!this.isMounted()) { - throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.'); - } - - if (this._overlayInstance) { - if (this._overlayInstance.getWrappedDOMNode) { - return this._overlayInstance.getWrappedDOMNode(); - } else { - return _reactDom2.default.findDOMNode(this._overlayInstance); - } - } - - return null; - } - }, { - key: 'render', - value: function render() { - return null; - } - }]); - - return Portal; -}(_react.Component); - -Portal.propTypes = { - children: _react.PropTypes.any, - container: _react.PropTypes.any, - lockBody: _react.PropTypes.bool -}; -Portal.defaultProps = { - lockBody: true -}; - - -function getContainer(container) { - var _container = typeof container === 'function' ? container() : container; - return _reactDom2.default.findDOMNode(_container) || document.body; -} - -exports.default = Portal; \ No newline at end of file diff --git a/lib/identifiers.js b/lib/identifiers.js deleted file mode 100644 index f5fcaef2..00000000 --- a/lib/identifiers.js +++ /dev/null @@ -1,32 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var APP_BAR = exports.APP_BAR = 'RTAppBar'; -var AUTOCOMPLETE = exports.AUTOCOMPLETE = 'RTAutocomplete'; -var AVATAR = exports.AVATAR = 'RTAvatar'; -var BUTTON = exports.BUTTON = 'RTButton'; -var CARD = exports.CARD = 'RTCard'; -var CHIP = exports.CHIP = 'RTChip'; -var CHECKBOX = exports.CHECKBOX = 'RTCheckbox'; -var DATE_PICKER = exports.DATE_PICKER = 'RTDatePicker'; -var DIALOG = exports.DIALOG = 'RTDialog'; -var DROPDOWN = exports.DROPDOWN = 'RTDropdown'; -var INPUT = exports.INPUT = 'RTInput'; -var LAYOUT = exports.LAYOUT = 'RTLayout'; -var LINK = exports.LINK = 'RTLink'; -var LIST = exports.LIST = 'RTList'; -var MENU = exports.MENU = 'RTMenu'; -var NAVIGATION = exports.NAVIGATION = 'RTNavigation'; -var OVERLAY = exports.OVERLAY = 'RTOverlay'; -var PROGRESS_BAR = exports.PROGRESS_BAR = 'RTProgressBar'; -var RADIO = exports.RADIO = 'RTRadio'; -var RIPPLE = exports.RIPPLE = 'RTRipple'; -var SLIDER = exports.SLIDER = 'RTSlider'; -var SNACKBAR = exports.SNACKBAR = 'RTSnackbar'; -var SWITCH = exports.SWITCH = 'RTSwitch'; -var TABLE = exports.TABLE = 'RTTable'; -var TABS = exports.TABS = 'RTTabs'; -var TOOLTIP = exports.TOOLTIP = 'RTTooltip'; -var TIME_PICKER = exports.TIME_PICKER = 'RTTimePicker'; \ No newline at end of file diff --git a/lib/index.d.ts b/lib/index.d.ts deleted file mode 100644 index d18ecd7b..00000000 --- a/lib/index.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import * as React from "react"; -export declare namespace ReactToolbox { - interface Props { - /** - * Set a class for the root component. - */ - className?: string; - /** - * Key used to uniquely identify the element within an Array. - */ - key?: string | number; - /** - * Callback called when the component is clicked. - */ - onClick?: Function; - /** - * Fires after the mouse is released from the Component. - */ - onMouseUp?: Function; - /** - * Callback called when the mouse enters the Component. - */ - onMouseEnter?: Function; - /** - * Callback called when the mouse leaves the Component. - */ - onMouseLeave?: Function; - /** - * Callback called when the mouse press the Component. - */ - onMouseDown?: Function; - onContextMenu?: Function; - onDoubleClick?: Function; - onDrag?: Function; - onDragEnd?: Function; - onDragEnter?: Function; - onDragExit?: Function; - onDragLeave?: Function; - onDragOver?: Function; - onDragStart?: Function; - onDrop?: Function; - onMouseMove?: Function; - onMouseOut?: Function; - onMouseOver?: Function; - onTouchCancel?: Function; - onTouchEnd?: Function; - onTouchMove?: Function; - onTouchStart?: Function; - /** - * Set inline style for the root component. - */ - style?: React.CSSProperties; - } -} - -export default ReactToolbox; diff --git a/lib/index.js b/lib/index.js deleted file mode 100644 index b4f37c53..00000000 --- a/lib/index.js +++ /dev/null @@ -1,206 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.TimePicker = exports.Tooltip = exports.Table = exports.Switch = exports.Snackbar = exports.Slider = exports.Ripple = exports.ProgressBar = exports.Navigation = exports.Link = exports.Input = exports.Form = exports.FontIcon = exports.Dropdown = exports.Drawer = exports.Dialog = exports.DatePicker = exports.Checkbox = exports.Chip = exports.Avatar = exports.Autocomplete = exports.AppBar = undefined; - -var _button = require('./button'); - -Object.keys(_button).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _button[key]; - } - }); -}); - -var _card = require('./card'); - -Object.keys(_card).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _card[key]; - } - }); -}); - -var _layout = require('./layout'); - -Object.keys(_layout).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _layout[key]; - } - }); -}); - -var _list = require('./list'); - -Object.keys(_list).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _list[key]; - } - }); -}); - -var _menu = require('./menu'); - -Object.keys(_menu).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _menu[key]; - } - }); -}); - -var _radio = require('./radio'); - -Object.keys(_radio).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _radio[key]; - } - }); -}); - -var _tabs = require('./tabs'); - -Object.keys(_tabs).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _tabs[key]; - } - }); -}); - -require('./utils/polyfills'); - -var _app_bar = require('./app_bar'); - -var _app_bar2 = _interopRequireDefault(_app_bar); - -var _autocomplete = require('./autocomplete'); - -var _autocomplete2 = _interopRequireDefault(_autocomplete); - -var _avatar = require('./avatar'); - -var _avatar2 = _interopRequireDefault(_avatar); - -var _chip = require('./chip'); - -var _chip2 = _interopRequireDefault(_chip); - -var _checkbox = require('./checkbox'); - -var _checkbox2 = _interopRequireDefault(_checkbox); - -var _date_picker = require('./date_picker'); - -var _date_picker2 = _interopRequireDefault(_date_picker); - -var _dialog = require('./dialog'); - -var _dialog2 = _interopRequireDefault(_dialog); - -var _drawer = require('./drawer'); - -var _drawer2 = _interopRequireDefault(_drawer); - -var _dropdown = require('./dropdown'); - -var _dropdown2 = _interopRequireDefault(_dropdown); - -var _font_icon = require('./font_icon'); - -var _font_icon2 = _interopRequireDefault(_font_icon); - -var _form = require('./form'); - -var _form2 = _interopRequireDefault(_form); - -var _input = require('./input'); - -var _input2 = _interopRequireDefault(_input); - -var _link = require('./link'); - -var _link2 = _interopRequireDefault(_link); - -var _navigation = require('./navigation'); - -var _navigation2 = _interopRequireDefault(_navigation); - -var _progress_bar = require('./progress_bar'); - -var _progress_bar2 = _interopRequireDefault(_progress_bar); - -var _ripple = require('./ripple'); - -var _ripple2 = _interopRequireDefault(_ripple); - -var _slider = require('./slider'); - -var _slider2 = _interopRequireDefault(_slider); - -var _snackbar = require('./snackbar'); - -var _snackbar2 = _interopRequireDefault(_snackbar); - -var _switch = require('./switch'); - -var _switch2 = _interopRequireDefault(_switch); - -var _table = require('./table'); - -var _table2 = _interopRequireDefault(_table); - -var _tooltip = require('./tooltip'); - -var _tooltip2 = _interopRequireDefault(_tooltip); - -var _time_picker = require('./time_picker'); - -var _time_picker2 = _interopRequireDefault(_time_picker); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.AppBar = _app_bar2.default; // Import polyfills for IE11 - -exports.Autocomplete = _autocomplete2.default; -exports.Avatar = _avatar2.default; -exports.Chip = _chip2.default; -exports.Checkbox = _checkbox2.default; -exports.DatePicker = _date_picker2.default; -exports.Dialog = _dialog2.default; -exports.Drawer = _drawer2.default; -exports.Dropdown = _dropdown2.default; -exports.FontIcon = _font_icon2.default; -exports.Form = _form2.default; -exports.Input = _input2.default; -exports.Link = _link2.default; -exports.Navigation = _navigation2.default; -exports.ProgressBar = _progress_bar2.default; -exports.Ripple = _ripple2.default; -exports.Slider = _slider2.default; -exports.Snackbar = _snackbar2.default; -exports.Switch = _switch2.default; -exports.Table = _table2.default; -exports.Tooltip = _tooltip2.default; -exports.TimePicker = _time_picker2.default; \ No newline at end of file diff --git a/lib/input/Input.js b/lib/input/Input.js deleted file mode 100644 index ae958f05..00000000 --- a/lib/input/Input.js +++ /dev/null @@ -1,296 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Input = exports.inputFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames4 = require('classnames'); - -var _classnames5 = _interopRequireDefault(_classnames4); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(FontIcon) { - var Input = function (_React$Component) { - _inherits(Input, _React$Component); - - function Input() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Input); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Input.__proto__ || Object.getPrototypeOf(Input)).call.apply(_ref, [this].concat(args))), _this), _this.handleChange = function (event) { - var _this$props = _this.props, - onChange = _this$props.onChange, - multiline = _this$props.multiline, - maxLength = _this$props.maxLength; - - var valueFromEvent = event.target.value; - - // Trim value to maxLength if that exists (only on multiline inputs). - // Note that this is still required even tho we have the onKeyPress filter - // because the user could paste smt in the textarea. - var haveToTrim = multiline && maxLength && event.target.value.length > maxLength; - var value = haveToTrim ? valueFromEvent.substr(0, maxLength) : valueFromEvent; - - // propagate to to store and therefore to the input - if (onChange) onChange(value, event); - }, _this.handleAutoresize = function () { - var element = _this.refs.input; - var rows = _this.props.rows; - - if (typeof rows === 'number' && !isNaN(rows)) { - element.style.height = null; - } else { - // compute the height difference between inner height and outer height - var style = getComputedStyle(element, null); - var heightOffset = style.boxSizing === 'content-box' ? -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom)) : parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth); - - // resize the input to its content size - element.style.height = 'auto'; - element.style.height = element.scrollHeight + heightOffset + 'px'; - } - }, _this.handleKeyPress = function (event) { - // prevent insertion of more characters if we're a multiline input - // and maxLength exists - var _this$props2 = _this.props, - multiline = _this$props2.multiline, - maxLength = _this$props2.maxLength, - onKeyPress = _this$props2.onKeyPress; - - if (multiline && maxLength) { - // check if smt is selected, in which case the newly added charcter would - // replace the selected characters, so the length of value doesn't actually - // increase. - var isReplacing = event.target.selectionEnd - event.target.selectionStart; - var value = event.target.value; - - if (!isReplacing && value.length === maxLength) { - event.preventDefault(); - event.stopPropagation(); - return; - } - } - - if (onKeyPress) onKeyPress(event); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Input, [{ - key: 'componentDidMount', - value: function componentDidMount() { - if (this.props.multiline) { - window.addEventListener('resize', this.handleAutoresize); - this.handleAutoresize(); - } - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (!this.props.multiline && nextProps.multiline) { - window.addEventListener('resize', this.handleAutoresize); - } else if (this.props.multiline && !nextProps.multiline) { - window.removeEventListener('resize', this.handleAutoresize); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate() { - // resize the textarea, if nessesary - if (this.props.multiline) this.handleAutoresize(); - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - if (this.props.multiline) window.removeEventListener('resize', this.handleAutoresize); - } - }, { - key: 'blur', - value: function blur() { - this.refs.input.blur(); - } - }, { - key: 'focus', - value: function focus() { - this.refs.input.focus(); - } - }, { - key: 'render', - value: function render() { - var _classnames2; - - var _props = this.props, - children = _props.children, - disabled = _props.disabled, - error = _props.error, - floating = _props.floating, - hint = _props.hint, - icon = _props.icon, - name = _props.name, - labelText = _props.label, - maxLength = _props.maxLength, - multiline = _props.multiline, - required = _props.required, - theme = _props.theme, - type = _props.type, - value = _props.value, - onKeyPress = _props.onKeyPress, - _props$rows = _props.rows, - rows = _props$rows === undefined ? 1 : _props$rows, - others = _objectWithoutProperties(_props, ['children', 'disabled', 'error', 'floating', 'hint', 'icon', 'name', 'label', 'maxLength', 'multiline', 'required', 'theme', 'type', 'value', 'onKeyPress', 'rows']); - - var length = maxLength && value ? value.length : 0; - var labelClassName = (0, _classnames5.default)(theme.label, _defineProperty({}, theme.fixed, !floating)); - - var className = (0, _classnames5.default)(theme.input, (_classnames2 = {}, _defineProperty(_classnames2, theme.disabled, disabled), _defineProperty(_classnames2, theme.errored, error), _defineProperty(_classnames2, theme.hidden, type === 'hidden'), _defineProperty(_classnames2, theme.withIcon, icon), _classnames2), this.props.className); - - var valuePresent = value !== null && value !== undefined && value !== '' && !((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === Number && isNaN(value)); - - var inputElementProps = _extends({}, others, { - className: (0, _classnames5.default)(theme.inputElement, _defineProperty({}, theme.filled, valuePresent)), - onChange: this.handleChange, - ref: 'input', - role: 'input', - name: name, - disabled: disabled, - required: required, - type: type, - value: value - }); - if (!multiline) { - inputElementProps.maxLength = maxLength; - inputElementProps.onKeyPress = onKeyPress; - } else { - inputElementProps.rows = rows; - inputElementProps.onKeyPress = this.handleKeyPress; - } - - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'input', className: className }, - _react2.default.createElement(multiline ? 'textarea' : 'input', inputElementProps), - icon ? _react2.default.createElement(FontIcon, { className: theme.icon, value: icon }) : null, - _react2.default.createElement('span', { className: theme.bar }), - labelText ? _react2.default.createElement( - 'label', - { className: labelClassName }, - labelText, - required ? _react2.default.createElement( - 'span', - { className: theme.required }, - ' * ' - ) : null - ) : null, - hint ? _react2.default.createElement( - 'span', - { hidden: labelText, className: theme.hint }, - hint - ) : null, - error ? _react2.default.createElement( - 'span', - { className: theme.error }, - error - ) : null, - maxLength ? _react2.default.createElement( - 'span', - { className: theme.counter }, - length, - '/', - maxLength - ) : null, - children - ); - } - }]); - - return Input; - }(_react2.default.Component); - - Input.propTypes = { - children: _react2.default.PropTypes.any, - className: _react2.default.PropTypes.string, - disabled: _react2.default.PropTypes.bool, - error: _react2.default.PropTypes.string, - floating: _react2.default.PropTypes.bool, - hint: _react2.default.PropTypes.string, - icon: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.element]), - label: _react2.default.PropTypes.string, - maxLength: _react2.default.PropTypes.number, - multiline: _react2.default.PropTypes.bool, - name: _react2.default.PropTypes.string, - onBlur: _react2.default.PropTypes.func, - onChange: _react2.default.PropTypes.func, - onFocus: _react2.default.PropTypes.func, - onKeyPress: _react2.default.PropTypes.func, - required: _react2.default.PropTypes.bool, - rows: _react2.default.PropTypes.number, - theme: _react2.default.PropTypes.shape({ - bar: _react2.default.PropTypes.string, - counter: _react2.default.PropTypes.string, - disabled: _react2.default.PropTypes.string, - error: _react2.default.PropTypes.string, - errored: _react2.default.PropTypes.string, - hidden: _react2.default.PropTypes.string, - hint: _react2.default.PropTypes.string, - icon: _react2.default.PropTypes.string, - input: _react2.default.PropTypes.string, - inputElement: _react2.default.PropTypes.string, - required: _react2.default.PropTypes.string, - withIcon: _react2.default.PropTypes.string - }), - type: _react2.default.PropTypes.string, - value: _react2.default.PropTypes.any - }; - Input.defaultProps = { - className: '', - hint: '', - disabled: false, - floating: true, - multiline: false, - required: false, - type: 'text' - }; - - - return Input; -}; - -var Input = factory(_FontIcon2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.INPUT, null, { withRef: true })(Input); -exports.inputFactory = factory; -exports.Input = Input; \ No newline at end of file diff --git a/lib/input/_config.scss b/lib/input/_config.scss deleted file mode 100644 index ff9f58cd..00000000 --- a/lib/input/_config.scss +++ /dev/null @@ -1,20 +0,0 @@ -$input-padding: 2 * $unit !default; -$input-field-padding: .8 * $unit !default; -$input-field-font-size: 1.6 * $unit !default; -$input-field-height: $input-field-padding * 2 + $input-field-font-size * 1.4 !default; -$input-label-font-size: 1.2 * $unit !default; -$input-focus-label-top: .6 * $unit !default; -$input-text-background-color: transparent !default; -$input-text-label-color: rgba($color-black, 0.26) !default; -$input-text-bottom-border-color: rgba($color-black, 0.12) !default; -$input-text-highlight-color: $color-primary !default; -$input-text-disabled-color: $input-text-bottom-border-color !default; -$input-text-disabled-text-color: $input-text-label-color !default; -$input-text-error-color: rgb(222, 50, 38) !default; -$input-text-required-color: rgb(222, 50, 38) !default; -$input-underline-height: 2 * $unit !default; -$input-icon-font-size: 2.4 * $unit !default; -$input-icon-size: 2 * $input-icon-font-size !default; -$input-icon-offset: 1.6 * $unit !default; -$input-chevron-offset: .8 * $unit !default; -$input-hint-opacity: 1 !default; diff --git a/lib/input/index.d.ts b/lib/input/index.d.ts deleted file mode 100644 index b1db642a..00000000 --- a/lib/input/index.d.ts +++ /dev/null @@ -1,136 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface InputTheme { - /** - * Used for the bar under the input. - */ - bar?: string; - /** - * Used for the counter element. - */ - counter?: string; - /** - * Added to the root class when input is disabled. - */ - disabled?: string; - /** - * Used for the text error. - */ - error?: string; - /** - * Added to the root class when input is errored. - */ - errored?: string; - /** - * Used when the input is hidden. - */ - hidden?: string; - /** - * Used for the hint text. - */ - hint?: string; - /** - * Used for the icon in case the input has icon. - */ - icon?: string; - /** - * Used as root class for the component. - */ - input?: string; - /** - * Used for the HTML input element. - */ - inputElement?: string; - /** - * Used in case the input is required. - */ - required?: string; - /** - * Added to the root class if the input has icon. - */ - withIcon?: string; -} - -interface InputProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, component will be disabled. - * @default false - */ - disabled?: boolean; - /** - * Give an error node to display under the field. - */ - error?: string; - /** - * Indicates if the label is floating in the input field or not. - * @default true - */ - floating?: boolean; - /** - * The text string to use for hint text element. - */ - hint?: string; - /** - * Name of an icon to use as a label for the input. - */ - icon?: React.ReactNode | string; - /** - * The text string to use for the floating label element. - */ - label?: string; - /** - * Specifies the maximum number of characters allowed in the component - */ - maxLength?: number; - /** - * If true, a textarea element will be rendered. The textarea also grows and shrinks according to the number of lines. - * @default false - */ - multiline?: boolean; - /** - * Name for the input field. - */ - name?: string; - /** - * Callback function that is fired when component is blurred. - */ - onBlur?: Function; - /** - * Callback function that is fired when the component's value changes - */ - onChange?: Function; - /** - * Callback function that is fired when component is focused. - */ - onFocus?: Function; - /** - * Callback function that is fired when a key is pressed. - */ - onKeyPress?: Function; - /** - * If true, the html input has a required attribute. - * @default false - */ - required?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: InputTheme; - /** - * Type of the input element. It can be a valid HTML5 input type - */ - type?: string; - /** - * Current value of the input element. - */ - value?: any; -} - -export class Input extends React.Component { } - -export default Input; diff --git a/lib/input/index.js b/lib/input/index.js deleted file mode 100644 index a8c75163..00000000 --- a/lib/input/index.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Input = undefined; - -var _identifiers = require('../identifiers.js'); - -var _reactCssThemr = require('react-css-themr'); - -var _Input = require('./Input.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Input = (0, _Input.inputFactory)(_FontIcon2.default); -var ThemedInput = (0, _reactCssThemr.themr)(_identifiers.INPUT, _theme2.default, { withRef: true })(Input); - -exports.default = ThemedInput; -exports.Input = ThemedInput; \ No newline at end of file diff --git a/lib/input/theme.scss b/lib/input/theme.scss deleted file mode 100644 index 9e29b9b4..00000000 --- a/lib/input/theme.scss +++ /dev/null @@ -1,156 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.input { - position: relative; - padding: $input-padding 0; - &.withIcon { - margin-left: $input-icon-size; - } -} - -.icon { - position: absolute; - top: $input-icon-offset; - left: -$input-icon-size; - display: block; - width: $input-icon-size; - height: $input-icon-size; - font-size: $input-icon-font-size !important; - line-height: $input-icon-size !important; - color: $input-text-label-color; - text-align: center; - transition: color $animation-duration $animation-curve-default; -} - -.inputElement { - display: block; - width: 100%; - padding: $input-field-padding 0; - font-size: $input-field-font-size; - color: $color-text; - background-color: $input-text-background-color; - border: 0; - border-bottom: 1px solid $input-text-bottom-border-color; - outline: none; - &:focus:not([disabled]):not([readonly]) { - ~ .bar:before, ~ .bar:after { - width: 50%; - } - ~ .label:not(.fixed) { - color: $input-text-highlight-color; - } - ~ .label > .required { - color: $input-text-required-color; - } - ~ .hint { - display: block; - opacity: $input-hint-opacity; - } - ~ .icon { - color: $input-text-highlight-color; - } - } - &:focus:not([disabled]):not([readonly]), &.filled, &[type="date"], &[type="time"] { - ~ .label:not(.fixed) { - top: $input-focus-label-top; - font-size: $input-label-font-size; - } - &.filled ~ .hint { - opacity: 0; - } - } - &.filled ~ .label.fixed, &.filled ~ .hint { - display: none; - } -} - -.label { - position: absolute; - top: $input-padding + (1.5 * $input-field-padding); - left: 0; - font-size: $input-field-font-size; - line-height: $input-field-font-size; - color: $input-text-label-color; - pointer-events: none; - transition-timing-function: $animation-curve-default; - transition-duration: $animation-duration; - transition-property: top, font-size, color; - &.fixed ~ .hint { - display: none; - } -} - -.hint { - position: absolute; - top: $input-padding + (1.5 * $input-field-padding); - left: 0; - font-size: $input-field-font-size; - line-height: $input-field-font-size; - color: $input-text-label-color; - pointer-events: none; - opacity: $input-hint-opacity; - transition-timing-function: $animation-curve-default; - transition-duration: $animation-duration; - transition-property: opacity; -} - -.bar { - position: relative; - display: block; - width: 100%; - &:before, &:after { - @include material-animation-default(); - position: absolute; - bottom: 0; - width: 0; - height: 2px; - content: ""; - background-color: $input-text-highlight-color; - transition-property: width, background-color; - } - &:before { - left: 50%; - } - &:after { - right: 50%; - } -} - -.error, .counter { - margin-bottom: - $input-underline-height; - font-size: $input-label-font-size; - line-height: $input-underline-height; - color: $input-text-error-color; -} - -.counter { - position: absolute; - right: 0; - color: $input-text-label-color; -} - -.disabled > .inputElement { - color: $input-text-disabled-text-color; - border-bottom-style: dotted; -} - -.errored { - padding-bottom: 0; - > .inputElement { - margin-top: 1px; - border-bottom-color: $input-text-error-color; - } - > .counter, > .label { - color: $input-text-error-color; - } - > .label > .required { - color: $input-text-required-color; - } -} - -.hidden { - display: none; -} diff --git a/lib/layout/Layout.js b/lib/layout/Layout.js deleted file mode 100644 index 09a844bc..00000000 --- a/lib/layout/Layout.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Layout = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Layout = function Layout(_ref) { - var className = _ref.className, - children = _ref.children, - theme = _ref.theme; - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'layout', className: (0, _classnames2.default)(theme.layout, className) }, - _react2.default.Children.map(children, function (child) { - return _react2.default.cloneElement(child, { theme: theme }); - }) - ); -}; - -Layout.propTypes = { - children: _react.PropTypes.oneOfType([_react.PropTypes.arrayOf(_react.PropTypes.element), _react.PropTypes.element]), - className: _react.PropTypes.string, - theme: _react.PropTypes.shape({ - layout: _react.PropTypes.string - }) -}; - -Layout.defaultProps = { - className: '' -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LAYOUT)(Layout); -exports.Layout = Layout; \ No newline at end of file diff --git a/lib/layout/NavDrawer.js b/lib/layout/NavDrawer.js deleted file mode 100644 index 01ef8026..00000000 --- a/lib/layout/NavDrawer.js +++ /dev/null @@ -1,90 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.NavDrawer = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames3 = require('classnames'); - -var _classnames4 = _interopRequireDefault(_classnames3); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var NavDrawer = function NavDrawer(_ref) { - var _classnames; - - var active = _ref.active, - children = _ref.children, - className = _ref.className, - onOverlayClick = _ref.onOverlayClick, - permanentAt = _ref.permanentAt, - pinned = _ref.pinned, - scrollY = _ref.scrollY, - theme = _ref.theme, - width = _ref.width; - - var rootClasses = (0, _classnames4.default)([theme.navDrawer], (_classnames = {}, _defineProperty(_classnames, theme[permanentAt + 'Permanent'], permanentAt), _defineProperty(_classnames, theme.wide, width === 'wide'), _defineProperty(_classnames, theme.active, active), _defineProperty(_classnames, theme.pinned, pinned), _classnames), className); - - var drawerClasses = (0, _classnames4.default)(theme.drawerContent, _defineProperty({}, theme.scrollY, scrollY)); - - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'nav-drawer', className: rootClasses, onClick: onOverlayClick }, - _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'nav-drawer-scrim', className: theme.scrim }, - _react2.default.createElement( - 'aside', - { 'data-react-toolbox': 'nav-drawer-content', className: drawerClasses }, - children - ) - ) - ); -}; - -NavDrawer.propTypes = { - active: _react.PropTypes.bool, - children: _react.PropTypes.any, - className: _react.PropTypes.string, - onOverlayClick: _react.PropTypes.func, - permanentAt: _react.PropTypes.oneOf(['sm', 'smTablet', 'md', 'lg', 'lgTablet', 'xl', 'xxl', 'xxxl']), - pinned: _react.PropTypes.bool, - scrollY: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - drawerContent: _react.PropTypes.string, - lgPermanent: _react.PropTypes.string, - mdPermanent: _react.PropTypes.string, - navDrawer: _react.PropTypes.string, - pinned: _react.PropTypes.string, - scrim: _react.PropTypes.string, - scrollY: _react.PropTypes.string, - smPermanent: _react.PropTypes.string, - wide: _react.PropTypes.string, - xlPermanent: _react.PropTypes.string, - xxlPermanent: _react.PropTypes.string, - xxxlPermanent: _react.PropTypes.string - }), - width: _react.PropTypes.oneOf(['normal', 'wide']) -}; - -NavDrawer.defaultProps = { - active: false, - className: '', - scrollY: false, - width: 'normal' -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LAYOUT)(NavDrawer); -exports.NavDrawer = NavDrawer; \ No newline at end of file diff --git a/lib/layout/Panel.js b/lib/layout/Panel.js deleted file mode 100644 index 23a00d52..00000000 --- a/lib/layout/Panel.js +++ /dev/null @@ -1,57 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Panel = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var Panel = function Panel(_ref) { - var children = _ref.children, - className = _ref.className, - onScroll = _ref.onScroll, - scrollY = _ref.scrollY, - theme = _ref.theme; - - var _className = (0, _classnames3.default)(theme.panel, _defineProperty({}, theme.scrollY, scrollY), className); - - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'panel', onScroll: onScroll, className: _className }, - children - ); -}; - -Panel.propTypes = { - children: _react.PropTypes.any, - className: _react.PropTypes.string, - onScroll: _react.PropTypes.func, - scrollY: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - panel: _react.PropTypes.string, - scrollY: _react.PropTypes.string - }) -}; - -Panel.defaultProps = { - className: '', - scrollY: false -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LAYOUT)(Panel); -exports.Panel = Panel; \ No newline at end of file diff --git a/lib/layout/Sidebar.js b/lib/layout/Sidebar.js deleted file mode 100644 index d1c5a251..00000000 --- a/lib/layout/Sidebar.js +++ /dev/null @@ -1,69 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Sidebar = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames3 = require('classnames'); - -var _classnames4 = _interopRequireDefault(_classnames3); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var Sidebar = function Sidebar(_ref) { - var children = _ref.children, - className = _ref.className, - pinned = _ref.pinned, - scrollY = _ref.scrollY, - theme = _ref.theme, - width = _ref.width; - - var wrapperClasses = (0, _classnames4.default)(theme.sidebar, theme['width-' + width], _defineProperty({}, theme.pinned, pinned), className); - - var innerClasses = (0, _classnames4.default)(theme.sidebarContent, _defineProperty({}, theme.scrollY, scrollY)); - - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'sidebar', className: wrapperClasses }, - _react2.default.createElement( - 'aside', - { 'data-react-toolbox': 'sidebar-content', className: innerClasses }, - children - ) - ); -}; - -Sidebar.propTypes = { - children: _react.PropTypes.any, - className: _react.PropTypes.string, - pinned: _react.PropTypes.bool, - scrollY: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - pinned: _react.PropTypes.string, - scrollY: _react.PropTypes.string, - sidebar: _react.PropTypes.string, - sidebarContent: _react.PropTypes.string - }), - width: _react.PropTypes.oneOf([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 25, 33, 50, 66, 75, 100]) -}; - -Sidebar.defaultProps = { - className: '', - pinned: false, - scrollY: false, - width: 5 -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LAYOUT)(Sidebar); -exports.Sidebar = Sidebar; \ No newline at end of file diff --git a/lib/layout/_config.scss b/lib/layout/_config.scss deleted file mode 100644 index a1b318f7..00000000 --- a/lib/layout/_config.scss +++ /dev/null @@ -1,18 +0,0 @@ -$drawer-background-color: $palette-grey-50 !default; -$drawer-border-color: $palette-grey-300 !default; -$drawer-text-color: $palette-grey-800 !default; - -$drawer-overlay-color: $color-black !default; -$drawer-overlay-opacity: .6 !default; - -// from: https://www.google.com/design/spec/layout/structure.html#structure-side-nav -$navigation-drawer-desktop-width: 5 * $standard-increment-desktop !default; -$navigation-drawer-max-desktop-width: 40 * $unit !default; - -// Mobile: -// Width = Screen width − 56 dp -// Maximum width: 320dp -$navigation-drawer-mobile-width: 5 * $standard-increment-mobile !default; - -// sass doesn't like use of variable here: calc(100% - $standard-increment-mobile); -$navigation-drawer-max-mobile-width: calc(100% - 5.6rem) !default; diff --git a/lib/layout/_mixins.scss b/lib/layout/_mixins.scss deleted file mode 100644 index 1ace8de4..00000000 --- a/lib/layout/_mixins.scss +++ /dev/null @@ -1,29 +0,0 @@ -@mixin open() { - transition-delay: $animation-delay; - & > .scrim { - & > .drawerContent { - pointer-events: all; - transition-delay: $animation-delay; - transform: translateX(0); - } - } -} - -@mixin permanent() { - @include open(); - - width: $navigation-drawer-desktop-width; - max-width: $navigation-drawer-desktop-width; - - &.wide { - width: $navigation-drawer-max-desktop-width; - max-width: $navigation-drawer-max-desktop-width; - } - - &.active { - & > .scrim { - width: 0; - background-color: rgba($drawer-overlay-color, 0); - } - } -} diff --git a/lib/layout/index.d.ts b/lib/layout/index.d.ts deleted file mode 100644 index 10004fc2..00000000 --- a/lib/layout/index.d.ts +++ /dev/null @@ -1,194 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface LayoutTheme { - /** - * Class used in the container to position and align inner items. - */ - layout?: string; -} - -interface LayoutProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: [NavDrawer | Panel | Sidebar]; - /** - * Classnames object defining the component style. - */ - theme?: LayoutTheme; -} - -export class Layout extends React.Component { } - -export interface NavDrawerTheme { - /** - * Used when the drawer is active. - */ - active?: string; - /** - * Used for the content of the drawer. - */ - drawerContent?: string; - /** - * Added to the root class for large drawer. - */ - lgPermangent?: string; - /** - * Added to the root class for medium drawer. - */ - mdPermangent?: string; - /** - * Root class for the drawer. - */ - navDrawer?: string; - /** - * Added to the root class if positioning is pinned. - */ - pinned?: string; - /** - * Used as a wrapper for the drawer content. - */ - scrim?: string; - /** - * Added to the drawer content if its scrollable. - */ - scrollY?: string; - /** - * Added to the root class for small drawer. - */ - smPermanent?: string; - /** - * Added to the root class if width is wide. - */ - wide?: string; - /** - * Added to the root class for extra big drawer. - */ - xlPermanent?: string; - /** - * Added to the root class for super big drawer. - */ - xxlPermangent?: string; - /** - * Added to the root class for largest possible drawer. - */ - xxxlPermangent?: string; -} - -interface NavDrawerProps extends ReactToolbox.Props { - /** - * If true, the drawer will be shown as an overlay. - * @default false - */ - active?: boolean; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Callback function to be invoked when the overlay is clicked. - */ - onOverlayClick?: Function; - /** - * The breakpoint at which the drawer is automatically pinned. - */ - permanentAt?: "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl"; - /** - * If true, the drawer will be pinned open. pinned takes precedence over active. - * @default false - */ - pinned?: boolean; - /** - * If true, the drawer will vertically scroll all content. - * @default false - */ - scrollY?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: NavDrawerTheme; - /** - * 320px or 400px. Only applicable above the sm breakpoint. - * @default normal - */ - width?: "normal" | "wide"; -} - -export class NavDrawer extends React.Component { } - -export interface PanelTheme { - /** - * Used as the root class of the panel component. - */ - panel?: string; - /** - * Used in case the panel is scrollable. - */ - scrollY?: string; -} - -interface PanelProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, the panel will vertically scroll all content. - * @default false - */ - scrollY?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: PanelTheme; -} - -export class Panel extends React.Component { } - -export interface SidebarTheme { - /** - * Added to the root class if sidebar is pinned. - */ - pinned?: string; - /** - * Add to the content of sidebar if its scrollable. - */ - scrollY?: string; - /** - * Root class of the sidebar. - */ - sidebar?: string; - /** - * Used in for the content element of the sidebar. - */ - sidebarContent?: string; -} - -interface SidebarProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, the sidebar will be pinned open. - * @default false - */ - pinned?: boolean; - /** - * If true, the sidebar will vertically scroll all content - * @default false - */ - scrollY?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: SidebarTheme; - /** - * Width in standard increments (1-12) or percentage (25, 33, 50, 66, 75, 100) - * @default 5 - */ - width?: number; // 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 25 | 33 | 50 | 66 | 75 | 100; -} - -export class Sidebar extends React.Component { } diff --git a/lib/layout/index.js b/lib/layout/index.js deleted file mode 100644 index 47bfa886..00000000 --- a/lib/layout/index.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Sidebar = exports.NavDrawer = exports.Panel = exports.Layout = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Layout = require('./Layout.js'); - -var _Panel = require('./Panel.js'); - -var _NavDrawer = require('./NavDrawer.js'); - -var _Sidebar = require('./Sidebar.js'); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ThemedLayout = (0, _reactCssThemr.themr)(_identifiers.LAYOUT, _theme2.default)(_Layout.Layout); -var ThemedPanel = (0, _reactCssThemr.themr)(_identifiers.LAYOUT, _theme2.default)(_Panel.Panel); -var ThemedNavDrawer = (0, _reactCssThemr.themr)(_identifiers.LAYOUT, _theme2.default)(_NavDrawer.NavDrawer); -var ThemedSidebar = (0, _reactCssThemr.themr)(_identifiers.LAYOUT, _theme2.default)(_Sidebar.Sidebar); - -exports.Layout = ThemedLayout; -exports.Panel = ThemedPanel; -exports.NavDrawer = ThemedNavDrawer; -exports.Sidebar = ThemedSidebar; \ No newline at end of file diff --git a/lib/layout/theme.scss b/lib/layout/theme.scss deleted file mode 100644 index 17275cd1..00000000 --- a/lib/layout/theme.scss +++ /dev/null @@ -1,323 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; -@import "./mixins"; - -.layout { - position: relative; - display: flex; - width: 100%; - height: 100%; - flex-direction: row; - align-items: stretch; - justify-content: space-between; - overflow-y: hidden; - - .navDrawer { - width: 0; - min-width: 0; - height: 100%; - overflow-x: hidden; - overflow-y: hidden; - transition-timing-function: $animation-curve-default; - transition-duration: $animation-duration; - transition-property: width, min-width; - - .scrim { - position: absolute; - top: 0; - bottom: 0; - left: 0; - z-index: $z-index-highest; - width: 0; - height: 100%; - background-color: rgba($drawer-overlay-color, 0); - transition: background-color $animation-duration $animation-curve-default, width 10ms linear $animation-duration; - } - - .drawerContent { - @include shadow-2dp(); - display: flex; - width: $navigation-drawer-mobile-width; - max-width: $navigation-drawer-max-mobile-width; - height: 100%; - flex-direction: column; - align-items: stretch; - justify-content: space-between; - overflow-x: hidden; - overflow-y: hidden; - color: $drawer-text-color; - pointer-events: none; - background-color: $drawer-background-color; - border-right: 1px solid $drawer-border-color; - transition: transform $animation-duration $animation-curve-default; - transform: translateX(-100%); - - &.scrollY { - overflow-y: auto; - } - } - - &.pinned { - @include open(); - width: $navigation-drawer-mobile-width; - max-width: $navigation-drawer-max-mobile-width; - } - - &.active { - &:not(.pinned) { - @include open(); - .scrim { - width: 100%; - background-color: rgba($drawer-overlay-color, $drawer-overlay-opacity); - transition: background-color $animation-duration $animation-curve-default; - } - } - } - - // Larger than mobile width drawer - @media screen and (min-width: $layout-breakpoint-xs) { - &.pinned { - width: $navigation-drawer-desktop-width; - max-width: $navigation-drawer-desktop-width; - } - - .drawerContent { - width: $navigation-drawer-desktop-width; - max-width: $navigation-drawer-desktop-width; - } - - &.wide { - &.pinned { - width: $navigation-drawer-max-desktop-width; - max-width: $navigation-drawer-max-desktop-width; - } - - .drawerContent { - width: $navigation-drawer-max-desktop-width; - max-width: $navigation-drawer-max-desktop-width; - } - } - } - - // Permanent screen, ignore .active and make part of layout - @media screen and (min-width: $layout-breakpoint-sm) { - &.smPermanent { - @include permanent(); - } - } - - @media screen and (min-width: $layout-breakpoint-sm-tablet) { - &.smTabletPermanent { - @include permanent(); - } - } - - @media screen and (min-width: $layout-breakpoint-md) { - &.mdPermanent { - @include permanent(); - } - } - - @media screen and (min-width: $layout-breakpoint-lg) { - &.lgPermanent { - @include permanent(); - } - } - - @media screen and (min-width: $layout-breakpoint-lg-tablet) { - &.lgTabletPermanent { - @include permanent(); - } - } - - @media screen and (min-width: $layout-breakpoint-xl) { - &.xlPermanent { - @include permanent(); - } - } - - @media screen and (min-width: $layout-breakpoint-xxl) { - &.xxlPermanent { - @include permanent(); - } - } - - @media screen and (min-width: $layout-breakpoint-xxxl) { - &.xxxlPermanent { - @include permanent(); - } - } - } - - & .layout { - .scrim { - z-index: $z-index-highest - 1; - } - & .layout { - .scrim { - z-index: $z-index-highest - 2; - } - } - } - - .panel { - position: relative; - display: flex; - height: 100%; - flex: 1; - flex-direction: column; - align-items: stretch; - justify-content: space-between; - overflow-y: hidden; - - &.scrollY { - overflow-y: auto; - } - } - - .sidebar { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: $z-index-highest - 1; - width: 0; - height: 100%; - overflow-x: hidden; - overflow-y: hidden; - color: $drawer-text-color; - background-color: $drawer-background-color; - transition-timing-function: $animation-curve-default; - transition-duration: $animation-duration; - transition-property: width; - - .sidebarContent { - display: flex; - height: 100%; - flex-direction: column; - align-items: stretch; - justify-content: space-between; - overflow-y: hidden; - - &.scrollY { - overflow-y: auto; - } - } - - $increments: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); - - @each $increment in $increments { - &.width-#{$increment} { - $mobile: $standard-increment-mobile * $increment; - $desktop: $standard-increment-desktop * $increment; - - .sidebarContent { - min-width: 100%; - } - - &.pinned { - width: 100%; - } - - @if $increment < 10 { - @media screen and (min-width: $layout-breakpoint-xs) and (orientation: landscape) { - position: relative; - - .sidebarContent { - min-width: $mobile; - } - - &.pinned { - width: $mobile; - } - } - - @media screen and (min-width: $layout-breakpoint-xs) and (orientation: portrait) { - position: relative; - - .sidebarContent { - min-width: $desktop; - } - - &.pinned { - width: $desktop; - } - } - } - - @if $increment < 11 { - @media screen and (min-width: $layout-breakpoint-sm-tablet) { - position: relative; - - .sidebarContent { - min-width: $desktop; - } - - &.pinned { - width: $desktop; - } - } - } - - @media screen and (min-width: $layout-breakpoint-sm) { - position: relative; - - .sidebarContent { - min-width: $desktop; - } - - &.pinned { - width: $desktop; - } - } - } - } - - - $percentages: (25, 33, 50, 66, 75); - - &.width-100 { - position: absolute; - - .sidebarContent { - min-width: 100%; - } - - &.pinned { - width: 100%; - } - } - - @each $pct in $percentages { - &.width-#{$pct} { - position: absolute; - - .sidebarContent { - min-width: 100%; - } - - &.pinned { - width: 100%; - } - } - } - - @media screen and (min-width: $layout-breakpoint-sm-tablet) { - @each $pct in $percentages { - &.width-#{$pct} { - position: relative; - - .sidebarContent { - min-width: $pct * 1%; - } - - &.pinned { - width: $pct * 1%; - } - } - } - } - } -} diff --git a/lib/link/Link.js b/lib/link/Link.js deleted file mode 100644 index 9fbe6ab2..00000000 --- a/lib/link/Link.js +++ /dev/null @@ -1,82 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Link = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var Link = function Link(_ref) { - var active = _ref.active, - children = _ref.children, - className = _ref.className, - count = _ref.count, - icon = _ref.icon, - label = _ref.label, - theme = _ref.theme, - others = _objectWithoutProperties(_ref, ['active', 'children', 'className', 'count', 'icon', 'label', 'theme']); - - var _className = (0, _classnames3.default)(theme.link, _defineProperty({}, theme.active, active), className); - - return _react2.default.createElement( - 'a', - _extends({ 'data-react-toolbox': 'link', className: _className }, others), - icon ? _react2.default.createElement(_FontIcon2.default, { className: theme.icon, value: icon }) : null, - label ? _react2.default.createElement( - 'abbr', - null, - label - ) : null, - count && parseInt(count) !== 0 ? _react2.default.createElement( - 'small', - null, - count - ) : null, - children - ); -}; - -Link.propTypes = { - active: _react.PropTypes.bool, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - count: _react.PropTypes.number, - icon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - label: _react.PropTypes.string, - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - icon: _react.PropTypes.string, - link: _react.PropTypes.string - }) -}; - -Link.defaultProps = { - active: false, - className: '' -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LINK)(Link); -exports.Link = Link; \ No newline at end of file diff --git a/lib/link/index.d.ts b/lib/link/index.d.ts deleted file mode 100644 index 67da3fa1..00000000 --- a/lib/link/index.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface LinkTheme { - /** - * Added to the root element if the Link is active. - */ - active?: string; - /** - * Used for the icon element if it's present. - */ - icon?: string; - /** - * Used for the root element. - */ - link?: string; -} - -interface LinkProps extends ReactToolbox.Props { - /** - * If true, adds active style to link. - * @default false - */ - active?: boolean; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Sets a count number. - */ - count?: number; - /** - * Sets the anchor link. - */ - href?: string; - /** - * An icon key string to include a FontIcon component in front of the text. - */ - icon?: React.ReactNode | string; - /** - * The text string used for the text content of the link. - */ - label?: string; - /** - * Classnames object defining the component style. - */ - theme?: LinkTheme; -} - -export class Link extends React.Component { } diff --git a/lib/link/index.js b/lib/link/index.js deleted file mode 100644 index a0e50a86..00000000 --- a/lib/link/index.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Link = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Link = require('./Link.js'); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ThemedLink = (0, _reactCssThemr.themr)(_identifiers.LINK, _theme2.default)(_Link.Link); - -exports.default = ThemedLink; -exports.Link = ThemedLink; \ No newline at end of file diff --git a/lib/link/theme.scss b/lib/link/theme.scss deleted file mode 100644 index 11eb9084..00000000 --- a/lib/link/theme.scss +++ /dev/null @@ -1,37 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; - -.icon { - margin-right: $unit; - font-size: 1.8 * $unit; -} - -.link { - position: relative; - display: flex; - flex-direction: row; - align-content: center; - align-items: center; - justify-content: center; - line-height: 1.5; - cursor: pointer; - transition: opacity $animation-duration $animation-curve-default; - &:not(.active) { - opacity: .5; - } - &:hover, &:active { - opacity: 1; - } - > * { - vertical-align: middle; - } - > abbr { - text-transform: capitalize; - } - > small { - margin-left: .8 * $unit; - font-size: $font-size-tiny; - text-align: center; - } -} diff --git a/lib/list/List.js b/lib/list/List.js deleted file mode 100644 index d0859031..00000000 --- a/lib/list/List.js +++ /dev/null @@ -1,99 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.List = exports.listFactory = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _ListItem = require('./ListItem.js'); - -var _ListItem2 = _interopRequireDefault(_ListItem); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var mergeProp = function mergeProp(propName, child, parent) { - return child[propName] !== undefined ? child[propName] : parent[propName]; -}; - -var factory = function factory(ListItem) { - var List = function (_Component) { - _inherits(List, _Component); - - function List() { - _classCallCheck(this, List); - - return _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).apply(this, arguments)); - } - - _createClass(List, [{ - key: 'renderItems', - value: function renderItems() { - var _this2 = this; - - return _react2.default.Children.map(this.props.children, function (item) { - if (item.type === ListItem) { - var selectable = mergeProp('selectable', item.props, _this2.props); - var ripple = mergeProp('ripple', item.props, _this2.props); - return _react2.default.cloneElement(item, { selectable: selectable, ripple: ripple }); - } else { - return _react2.default.cloneElement(item); - } - }); - } - }, { - key: 'render', - value: function render() { - return _react2.default.createElement( - 'ul', - { 'data-react-toolbox': 'list', className: (0, _classnames2.default)(this.props.theme.list, this.props.className) }, - this.renderItems() - ); - } - }]); - - return List; - }(_react.Component); - - List.propTypes = { - children: _react.PropTypes.node, - className: _react.PropTypes.string, - ripple: _react.PropTypes.bool, - selectable: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - list: _react.PropTypes.string - }) - }; - List.defaultProps = { - className: '', - ripple: false, - selectable: false - }; - - - return List; -}; - -var List = factory(_ListItem2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(List); -exports.listFactory = factory; -exports.List = List; \ No newline at end of file diff --git a/lib/list/ListCheckbox.js b/lib/list/ListCheckbox.js deleted file mode 100644 index 6ce2097b..00000000 --- a/lib/list/ListCheckbox.js +++ /dev/null @@ -1,93 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListCheckbox = exports.listCheckboxFactory = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Checkbox = require('../checkbox/Checkbox.js'); - -var _Checkbox2 = _interopRequireDefault(_Checkbox); - -var _ListItemContent = require('./ListItemContent.js'); - -var _ListItemContent2 = _interopRequireDefault(_ListItemContent); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var factory = function factory(Checkbox, ListItemContent) { - var ListCheckbox = function ListCheckbox(_ref) { - var caption = _ref.caption, - checked = _ref.checked, - className = _ref.className, - disabled = _ref.disabled, - legend = _ref.legend, - name = _ref.name, - onBlur = _ref.onBlur, - onChange = _ref.onChange, - onFocus = _ref.onFocus, - theme = _ref.theme; - - var _className = (0, _classnames3.default)(theme.item, theme.checkboxItem, _defineProperty({}, theme.disabled, disabled), className); - - return _react2.default.createElement( - 'li', - { className: _className }, - _react2.default.createElement(Checkbox, { - checked: checked, - className: theme.checkbox, - disabled: disabled, - label: _react2.default.createElement(ListItemContent, { caption: caption, legend: legend }), - name: name, - onBlur: onBlur, - onChange: onChange, - onFocus: onFocus - }) - ); - }; - - ListCheckbox.propTypes = { - caption: _react.PropTypes.string, - checked: _react.PropTypes.bool, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - legend: _react.PropTypes.string, - name: _react.PropTypes.string, - onBlur: _react.PropTypes.func, - onChange: _react.PropTypes.func, - onFocus: _react.PropTypes.func, - theme: _react.PropTypes.shape({ - checkbox: _react.PropTypes.string, - checkboxItem: _react.PropTypes.string, - disabled: _react.PropTypes.string, - item: _react.PropTypes.string - }) - }; - - ListCheckbox.defaultProps = { - checked: false, - disabled: false - }; - - return ListCheckbox; -}; - -var ListCheckbox = factory(_Checkbox2.default, _ListItemContent2.default); - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListCheckbox); -exports.listCheckboxFactory = factory; -exports.ListCheckbox = ListCheckbox; \ No newline at end of file diff --git a/lib/list/ListDivider.js b/lib/list/ListDivider.js deleted file mode 100644 index 4f2a1d14..00000000 --- a/lib/list/ListDivider.js +++ /dev/null @@ -1,37 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListDivider = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ListDivider = function ListDivider(_ref) { - var inset = _ref.inset, - theme = _ref.theme; - return _react2.default.createElement('hr', { className: inset ? theme.divider + ' ' + theme.inset : theme.divider }); -}; - -ListDivider.propTypes = { - inset: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - divider: _react.PropTypes.string, - inset: _react.PropTypes.string - }) -}; - -ListDivider.defaultProps = { - inset: false -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListDivider); -exports.ListDivider = ListDivider; \ No newline at end of file diff --git a/lib/list/ListItem.js b/lib/list/ListItem.js deleted file mode 100644 index 5f8f58b7..00000000 --- a/lib/list/ListItem.js +++ /dev/null @@ -1,156 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListItem = exports.listItemFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _ListItemContent = require('./ListItemContent.js'); - -var _ListItemContent2 = _interopRequireDefault(_ListItemContent); - -var _ListItemLayout = require('./ListItemLayout.js'); - -var _ListItemLayout2 = _interopRequireDefault(_ListItemLayout); - -var _Ripple = require('../ripple/Ripple.js'); - -var _Ripple2 = _interopRequireDefault(_Ripple); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(ripple, ListItemLayout, ListItemContent) { - var ListItem = function (_Component) { - _inherits(ListItem, _Component); - - function ListItem() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, ListItem); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ListItem.__proto__ || Object.getPrototypeOf(ListItem)).call.apply(_ref, [this].concat(args))), _this), _this.handleClick = function (event) { - if (_this.props.onClick && !_this.props.disabled) { - _this.props.onClick(event); - } - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(ListItem, [{ - key: 'groupChildren', - value: function groupChildren() { - var children = { - leftActions: [], - rightActions: [], - ignored: [] - }; - - _react2.default.Children.forEach(this.props.children, function (child, i) { - if (!_react2.default.isValidElement(child)) { - return; - } - - var _child$props = child.props, - listItemIgnore = _child$props.listItemIgnore, - rest = _objectWithoutProperties(_child$props, ['listItemIgnore']); - - var strippedChild = _extends({}, child, { props: rest }); - - if (listItemIgnore) { - children.ignored.push(strippedChild); - return; - } - if (child.type === ListItemContent) { - children.itemContent = strippedChild; - return; - } - var bucket = children.itemContent ? 'rightActions' : 'leftActions'; - children[bucket].push(_extends({}, strippedChild, { key: i })); - }); - - return children; - } - }, { - key: 'render', - value: function render() { - var _props = this.props, - className = _props.className, - onMouseDown = _props.onMouseDown, - onTouchStart = _props.onTouchStart, - to = _props.to, - onClick = _props.onClick, - hasRipple = _props.ripple, - theme = _props.theme, - other = _objectWithoutProperties(_props, ['className', 'onMouseDown', 'onTouchStart', 'to', 'onClick', 'ripple', 'theme']); //eslint-disable-line no-unused-vars - - - var children = this.groupChildren(); - var content = _react2.default.createElement(ListItemLayout, _extends({ theme: theme }, children, other)); - return _react2.default.createElement( - 'li', - { className: theme.listItem + ' ' + className, onClick: this.handleClick, onMouseDown: onMouseDown, onTouchStart: onTouchStart }, - to ? _react2.default.createElement( - 'a', - { href: this.props.to }, - content - ) : content, - children.ignored - ); - } - }]); - - return ListItem; - }(_react.Component); - - ListItem.propTypes = { - children: _react.PropTypes.any, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - onClick: _react.PropTypes.func, - ripple: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - listItem: _react.PropTypes.string - }), - to: _react.PropTypes.string - }; - ListItem.defaultProps = { - className: '', - disabled: false, - ripple: false - }; - - - return ripple(ListItem); -}; - -var ripple = (0, _Ripple2.default)({ centered: false, listItemIgnore: true }); -var ListItem = factory(ripple, _ListItemLayout2.default, _ListItemContent2.default); - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListItem); -exports.listItemFactory = factory; -exports.ListItem = ListItem; \ No newline at end of file diff --git a/lib/list/ListItemAction.js b/lib/list/ListItemAction.js deleted file mode 100644 index a2e40dd8..00000000 --- a/lib/list/ListItemAction.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListItemAction = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ListItemAction = function ListItemAction(_ref) { - var action = _ref.action, - theme = _ref.theme; - var _action$props = action.props, - onClick = _action$props.onClick, - onMouseDown = _action$props.onMouseDown; - - var stopRipple = onClick && !onMouseDown; - var stop = function stop(e) { - return e.stopPropagation(); - }; - return _react2.default.createElement( - 'span', - { className: theme.itemAction, onMouseDown: stopRipple && stop, onClick: onClick && stop }, - action - ); -}; - -ListItemAction.propTypes = { - action: _react.PropTypes.object, - theme: _react.PropTypes.shape({ - itemAction: _react.PropTypes.string - }) -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListItemAction); -exports.ListItemAction = ListItemAction; \ No newline at end of file diff --git a/lib/list/ListItemActions.js b/lib/list/ListItemActions.js deleted file mode 100644 index d1979059..00000000 --- a/lib/list/ListItemActions.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListItemActions = exports.listItemActionsFactory = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _ListItemAction = require('./ListItemAction.js'); - -var _ListItemAction2 = _interopRequireDefault(_ListItemAction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var factory = function factory(ListItemAction) { - var ListItemActions = function ListItemActions(_ref) { - var type = _ref.type, - children = _ref.children, - theme = _ref.theme; - - var validChildren = _react2.default.Children.toArray(children).filter(function (c) { - return _react2.default.isValidElement(c); - }); - - return _react2.default.createElement( - 'span', - { className: theme[type] }, - validChildren.map(function (action, i) { - return _react2.default.createElement(ListItemAction, { key: i, theme: theme, action: action }); - }) - ); - }; - - ListItemActions.propTypes = { - children: _react.PropTypes.any, - theme: _react.PropTypes.shape({ - left: _react.PropTypes.string, - right: _react.PropTypes.string - }), - type: _react.PropTypes.oneOf(['left', 'right']) - }; - - return ListItemActions; -}; - -var ListItemActions = factory(_ListItemAction2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListItemActions); -exports.listItemActionsFactory = factory; -exports.ListItemActions = ListItemActions; \ No newline at end of file diff --git a/lib/list/ListItemContent.js b/lib/list/ListItemContent.js deleted file mode 100644 index 6f51077e..00000000 --- a/lib/list/ListItemContent.js +++ /dev/null @@ -1,116 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListItemContent = exports.listItemContentFactory = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _ListItemText = require('./ListItemText.js'); - -var _ListItemText2 = _interopRequireDefault(_ListItemText); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var types = ['auto', 'normal', 'large']; - -var factory = function factory(ListItemText) { - var ListItemContent = function (_Component) { - _inherits(ListItemContent, _Component); - - function ListItemContent() { - _classCallCheck(this, ListItemContent); - - return _possibleConstructorReturn(this, (ListItemContent.__proto__ || Object.getPrototypeOf(ListItemContent)).apply(this, arguments)); - } - - _createClass(ListItemContent, [{ - key: 'getType', - value: function getType() { - var _props = this.props, - type = _props.type, - children = _props.children, - caption = _props.caption, - legend = _props.legend; - - - var count = _react2.default.Children.count(children); - [caption, legend].forEach(function (s) { - count += s ? 1 : 0; - }); - var typeIndex = Math.min(count, types.length); - - return type || types[typeIndex]; - } - }, { - key: 'render', - value: function render() { - var _props2 = this.props, - children = _props2.children, - caption = _props2.caption, - legend = _props2.legend, - theme = _props2.theme; - - var className = (0, _classnames3.default)(theme.itemContentRoot, _defineProperty({}, theme[this.getType()], theme[this.getType()])); - - return _react2.default.createElement( - 'span', - { className: className }, - caption && _react2.default.createElement( - ListItemText, - { theme: theme, primary: true }, - caption - ), - legend && _react2.default.createElement( - ListItemText, - { theme: theme }, - legend - ), - children - ); - } - }]); - - return ListItemContent; - }(_react.Component); - - ListItemContent.propTypes = { - caption: _react.PropTypes.string, - children: _react.PropTypes.any, - legend: _react.PropTypes.string, - theme: _react.PropTypes.shape({ - itemContentRoot: _react.PropTypes.string, - large: _react.PropTypes.string - }), - type: _react.PropTypes.oneOf(types) - }; - - - return ListItemContent; -}; - -var ListItemContent = factory(_ListItemText2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListItemContent); -exports.listItemContentFactory = factory; -exports.ListItemContent = ListItemContent; \ No newline at end of file diff --git a/lib/list/ListItemLayout.js b/lib/list/ListItemLayout.js deleted file mode 100644 index 22080f4a..00000000 --- a/lib/list/ListItemLayout.js +++ /dev/null @@ -1,104 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListItemLayout = exports.listItemLayoutFactory = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -var _Avatar = require('../avatar/Avatar.js'); - -var _Avatar2 = _interopRequireDefault(_Avatar); - -var _ListItemContent = require('./ListItemContent.js'); - -var _ListItemContent2 = _interopRequireDefault(_ListItemContent); - -var _ListItemActions = require('./ListItemActions.js'); - -var _ListItemActions2 = _interopRequireDefault(_ListItemActions); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var factory = function factory(Avatar, ListItemContent, ListItemActions) { - var ListItemLayout = function ListItemLayout(props) { - var _classnames; - - var className = (0, _classnames3.default)(props.theme.item, (_classnames = {}, _defineProperty(_classnames, props.theme.disabled, props.disabled), _defineProperty(_classnames, props.theme.selectable, props.selectable), _classnames), props.className); - - var leftActions = [props.leftIcon && _react2.default.createElement(_FontIcon2.default, { value: props.leftIcon, key: 'leftIcon' }), props.avatar && _react2.default.createElement(Avatar, { image: props.avatar, key: 'avatar' })].concat(_toConsumableArray(props.leftActions)); - var rightActions = [props.rightIcon && _react2.default.createElement(_FontIcon2.default, { value: props.rightIcon, key: 'rightIcon' })].concat(_toConsumableArray(props.rightActions)); - var content = props.itemContent || _react2.default.createElement(ListItemContent, { theme: props.theme, caption: props.caption, legend: props.legend }); - var emptyActions = function emptyActions(item) { - return !item[0] && !item[1] && !item[2]; - }; - - return _react2.default.createElement( - 'span', - { className: className }, - !emptyActions(leftActions) > 0 && _react2.default.createElement( - ListItemActions, - { type: 'left', theme: props.theme }, - leftActions - ), - content, - !emptyActions(rightActions) > 0 && _react2.default.createElement( - ListItemActions, - { type: 'right', theme: props.theme }, - rightActions - ) - ); - }; - - ListItemLayout.propTypes = { - avatar: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - caption: _react.PropTypes.string, - children: _react.PropTypes.any, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - itemContent: _react.PropTypes.element, - leftActions: _react.PropTypes.array, - leftIcon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - legend: _react.PropTypes.string, - rightActions: _react.PropTypes.array, - rightIcon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - selectable: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - disabled: _react.PropTypes.string, - item: _react.PropTypes.string, - selectable: _react.PropTypes.string - }), - to: _react.PropTypes.string - }; - - ListItemLayout.defaultProps = { - disabled: false, - selectable: false - }; - - return ListItemLayout; -}; - -var ListItemLayout = factory(_Avatar2.default, _ListItemContent2.default, _ListItemActions2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListItemLayout); -exports.listItemLayoutFactory = factory; -exports.ListItemLayout = ListItemLayout; \ No newline at end of file diff --git a/lib/list/ListItemText.js b/lib/list/ListItemText.js deleted file mode 100644 index 8778f314..00000000 --- a/lib/list/ListItemText.js +++ /dev/null @@ -1,58 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListItemText = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -var ListItemText = function ListItemText(_ref) { - var className = _ref.className, - primary = _ref.primary, - children = _ref.children, - theme = _ref.theme, - other = _objectWithoutProperties(_ref, ['className', 'primary', 'children', 'theme']); - - var _className = (0, _classnames3.default)(theme.itemText, _defineProperty({}, theme.primary, primary), className); - return _react2.default.createElement( - 'span', - _extends({ 'data-react-toolbox': 'list-item-text', className: _className }, other), - children - ); -}; - -ListItemText.propTypes = { - children: _react.PropTypes.any, - className: _react.PropTypes.string, - primary: _react.PropTypes.bool, - theme: _react.PropTypes.shape({ - itemText: _react.PropTypes.string, - primary: _react.PropTypes.string - }) -}; - -ListItemText.defaultProps = { - primary: false -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListItemText); -exports.ListItemText = ListItemText; \ No newline at end of file diff --git a/lib/list/ListSubHeader.js b/lib/list/ListSubHeader.js deleted file mode 100644 index 4e04c694..00000000 --- a/lib/list/ListSubHeader.js +++ /dev/null @@ -1,44 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ListSubHeader = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ListSubHeader = function ListSubHeader(_ref) { - var caption = _ref.caption, - className = _ref.className, - theme = _ref.theme; - return _react2.default.createElement( - 'h5', - { className: (0, _classnames2.default)(theme.subheader, className) }, - caption - ); -}; - -ListSubHeader.propTypes = { - caption: _react.PropTypes.string, - className: _react.PropTypes.string, - theme: _react.PropTypes.object -}; - -ListSubHeader.defaultProps = { - className: '' -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.LIST)(ListSubHeader); -exports.ListSubHeader = ListSubHeader; \ No newline at end of file diff --git a/lib/list/_config.scss b/lib/list/_config.scss deleted file mode 100644 index a8814551..00000000 --- a/lib/list/_config.scss +++ /dev/null @@ -1,18 +0,0 @@ -$list-vertical-padding: .8 * $unit !default; -$list-horizontal-padding: 1.6 * $unit !default; -$list-content-left-spacing: 7.2 * $unit !default; -$list-subheader-height: 4.8 * $unit !default; -$list-subheader-font-size: 1.4 * $unit !default; -$list-subheader-font-weight: 500 !default; -$list-divider-height: .1 * $unit !default; -$list-item-min-height: 4.8 * $unit !default; -$list-item-min-height-legend: 7.2 * $unit !default; -$list-item-hover-color: $palette-grey-200 !default; -$list-item-legend-margin-top: .3 * $unit !default; -$list-item-icon-font-size: 2.4 * $unit !default; -$list-item-icon-size: 1.8 * $unit !default; -$list-item-right-icon-margin: $list-content-left-spacing - 2 * $list-horizontal-padding - $list-item-icon-size !default; -$list-item-right-checkbox-margin: $list-item-right-icon-margin + $list-horizontal-padding !default; -$list-item-avatar-height: 4 * $unit !default; -$list-item-avatar-margin: .8 * $unit !default; -$list-item-child-margin: .8 * $unit !default; diff --git a/lib/list/index.d.ts b/lib/list/index.d.ts deleted file mode 100644 index ad4ace44..00000000 --- a/lib/list/index.d.ts +++ /dev/null @@ -1,265 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface ListTheme { - /** - * Used for the root element of the list. - */ - list?: string; -} - -interface ListProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, each element in the list will have a ripple effect on click - * @default false - */ - ripple?: boolean; - /** - * If true, the elements in the list will display a hover effect and a pointer cursor. - * @default false - */ - selectable?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: ListTheme; -} - -export class List extends React.Component { } - -export interface ListCheckboxTheme { - /** - * Used as a wrapper class for the subheader element. - */ - checkbox?: string; - /** - * Added to the checkbox element. - */ - checkboxItem?: string; - /** - * Added to the inner content if its a disabled item. - */ - disabled?: string; - /** - * Used for the inner content of a list item. - */ - item?: string; - /** - * Used for the content wrapper element in list item. - */ - itemContentRoot?: string; - /** - * Added to the text inside of the list item. - */ - itemText?: string; - /** - * Added to the content wrapper element if size is large. - */ - large?: string; - /** - * Added to the text inside of the list item if its primary. - */ - primary?: string; -} - -interface ListCheckboxProps extends ReactToolbox.Props { - /** - * Main text of the item. Required. - */ - caption?: string; - /** - * If true the checkbox appears checked by default. - * @default false - */ - checked?: boolean; - /** - * If true, the item is displayed as disabled and it's not clickable. - * @default false - */ - disabled?: boolean; - /** - * Secondary text to display under the caption. - */ - legend?: string; - /** - * Name for the checkbox input item. - */ - name?: string; - /** - * Callback called when the input element is blurred. - */ - onBlur?: Function; - /** - * Callback called when the input element is changed. - */ - onChange?: Function; - /** - * Callback called when the input element is focused. - */ - onFocus?: Function; - /** - * Classnames object defining the component style. - */ - theme?: ListCheckboxTheme; -} - -export class ListCheckbox extends React.Component { } - -export interface ListDividerTheme { - /** - * Added to the root element. - */ - divider?: string; - /** - * Added to root element if inset is true. - */ - inset?: string; -} - -interface ListDividerProps extends ReactToolbox.Props { - /** - * If true, will leave a space at the left side. - */ - inset?: boolean; - /** - * Classnames object defining the component style. - */ - theme?: ListDividerTheme; -} - -export class ListDivider extends React.Component { } - -export interface ListItemTheme { - /** - * Added to the inner content if its a disabled item. - */ - disabled?: string; - /** - * Used for the inner content of a list item. - */ - item?: string; - /** - * Used for each action element (left/right). - */ - itemAction?: string; - /** - * Used for the content wrapper element in list item. - */ - itemContentRoot?: string; - /** - * Added to the text inside of the list item. - */ - itemText?: string; - /** - * Added to the content wrapper element if size is large. - */ - large?: string; - /** - * Added for the element that wraps left actions. - */ - left?: string; - /** - * Used for the root element of the list. - */ - listItem?: string; - /** - * Added to the text inside of the list item if its primary. - */ - primary?: string; - /** - * Added for the element that wraps right actions. - */ - right?: string; - /** - * Added to the inner content if its a selectable item. - */ - selectable?: string; -} - -interface ListItemProps extends ReactToolbox.Props { - /** - * A string URL to specify an avatar in the left side of the item. - */ - avatar?: React.ReactNode | string; - /** - * Main text of the item. - */ - caption?: string; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, the item is displayed as disabled and is not clickable. - * @default false - */ - disabled?: boolean; - /** - * An element that will be displayed as the item. If set, this will override caption and legend. - */ - itemContent?: React.ReactNode; - /** - * A list of elements that are placed on the left side of the item and after the avatar attribute. - */ - leftActions?: React.ReactNode; - /** - * A string key of a font icon or element to display an icon in the left side of the item. - */ - leftIcon?: React.ReactNode | string; - /** - * Secondary text to display under the caption. - */ - legend?: string; - /** - * A list of elements that are placed on the right side of the item and after the rightIcon attribute. - */ - rightActions?: React.ReactNode; - /** - * The same as the leftIcon but in this case the icon is displayed in the right side. - */ - rightIcon?: React.ReactNode | string; - /** - * If true, the item displays a ripple effect on click. By default it's inherited from the parent element. - */ - ripple?: boolean; - /** - * If true, the elements in the list will display a hover effect and a pointer cursor. Inherited from the parent. - * @default false - */ - selectable?: boolean; - /** - * Classnames object defining the component style. - * @default false - */ - theme?: ListItemTheme; - /** - * In case you want to provide the item as a link, you can pass this property to specify the href. - */ - to?: string; -} - -export class ListItem extends React.Component { } - -export interface ListSubHeaderTheme { - /** - * Used as a wrapper class for the subheader element. - */ - subheader?: string; -} - -interface ListSubHeaderProps extends ReactToolbox.Props { - /** - * Text that will be displayed. - */ - caption?: string; - /** - * Classnames object defining the component style. - */ - theme?: ListSubHeaderTheme; -} - -export class ListSubHeader extends React.Component { } diff --git a/lib/list/index.js b/lib/list/index.js deleted file mode 100644 index a7445462..00000000 --- a/lib/list/index.js +++ /dev/null @@ -1,69 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.List = exports.ListItem = exports.ListDivider = exports.ListCheckbox = exports.ListItemText = exports.ListSubHeader = exports.ListItemLayout = exports.ListItemContent = exports.ListItemActions = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _avatar = require('../avatar'); - -var _checkbox = require('../checkbox'); - -var _ListItemText = require('./ListItemText.js'); - -var _ListItemAction = require('./ListItemAction.js'); - -var _ListSubHeader = require('./ListSubHeader.js'); - -var _ListDivider = require('./ListDivider.js'); - -var _List = require('./List.js'); - -var _ListItem = require('./ListItem.js'); - -var _ListCheckbox = require('./ListCheckbox.js'); - -var _ListItemActions = require('./ListItemActions.js'); - -var _ListItemContent = require('./ListItemContent.js'); - -var _ListItemLayout = require('./ListItemLayout.js'); - -var _ripple = require('../ripple'); - -var _ripple2 = _interopRequireDefault(_ripple); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var applyTheme = function applyTheme(Component) { - return (0, _reactCssThemr.themr)(_identifiers.LIST, _theme2.default)(Component); -}; -var ripple = (0, _ripple2.default)({ centered: false, listItemIgnore: true }); -var ThemedListItemAction = applyTheme(_ListItemAction.ListItemAction); -var ThemedListSubHeader = applyTheme(_ListSubHeader.ListSubHeader); -var ThemedListItemText = applyTheme(_ListItemText.ListItemText); -var ThemedListDivider = applyTheme(_ListDivider.ListDivider); -var ThemedListItemContent = applyTheme((0, _ListItemContent.listItemContentFactory)(ThemedListItemText)); -var ThemedListItemActions = applyTheme((0, _ListItemActions.listItemActionsFactory)(ThemedListItemAction)); -var ThemedListItemLayout = applyTheme((0, _ListItemLayout.listItemLayoutFactory)(_avatar.Avatar, ThemedListItemContent, ThemedListItemActions)); -var ThemedListCheckbox = applyTheme((0, _ListCheckbox.listCheckboxFactory)(_checkbox.Checkbox, ThemedListItemContent)); -var ThemedListItem = applyTheme((0, _ListItem.listItemFactory)(ripple, ThemedListItemLayout, ThemedListItemContent)); -var ThemedList = applyTheme((0, _List.listFactory)(ThemedListItem)); - -exports.ListItemActions = ThemedListItemActions; -exports.ListItemContent = ThemedListItemContent; -exports.ListItemLayout = ThemedListItemLayout; -exports.ListSubHeader = ThemedListSubHeader; -exports.ListItemText = ThemedListItemText; -exports.ListCheckbox = ThemedListCheckbox; -exports.ListDivider = ThemedListDivider; -exports.ListItem = ThemedListItem; -exports.List = ThemedList; \ No newline at end of file diff --git a/lib/list/theme.scss b/lib/list/theme.scss deleted file mode 100644 index e432fccc..00000000 --- a/lib/list/theme.scss +++ /dev/null @@ -1,159 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.list { - position: relative; - display: inline-block; - width: 100%; - padding: $list-vertical-padding 0; - text-align: left; - white-space: nowrap; - list-style: none; -} - -.subheader { - padding-left: $list-horizontal-padding; - margin: - $list-vertical-padding 0 0; - font-size: $list-subheader-font-size; - font-weight: $list-subheader-font-weight; - line-height: $list-subheader-height; - color: $color-text-secondary; -} - -.divider { - height: $list-divider-height; - margin: - $list-divider-height 0 0; - background-color: $color-divider; - border: 0; - &.inset { - margin-right: $list-horizontal-padding; - margin-left: $list-content-left-spacing; - } - .list + & { - margin-top: - $list-vertical-padding; - } - .listItem ~ & { - margin-top: $list-vertical-padding; - margin-bottom: $list-vertical-padding; - } -} - -.listItem { - position: relative; - > [data-react-toolbox="ripple"] { - overflow: hidden; - } - - .ripple { - color: $color-text-secondary; - } -} - -.item { - position: relative; - display: flex; - min-height: $list-item-min-height; - align-items: center; - padding: 0 $list-horizontal-padding; - color: $color-text; - &.selectable:not(.disabled):hover { - cursor: pointer; - background-color: $list-item-hover-color; - } - &.disabled { - pointer-events: none; - &:not(.checkboxItem) { - opacity: .5; - } - > .checkbox > [data-react-toolbox="label"] { - opacity: .5; - } - } -} - -.left { - [data-react-toolbox="font-icon"] { - width: $list-item-icon-size; - } - & :last-child { - > [data-react-toolbox="font-icon"] { - margin-right: $list-item-right-icon-margin; - } - } -} - -.right { - > :last-child { - margin-right: 0; - } - - > :first-child { - margin-left: $list-horizontal-padding; - } -} - -.left, .right { - display: flex; - flex: 0 0 auto; - align-items: center; - vertical-align: middle; -} - -.itemAction { - display: flex; - margin: $list-item-child-margin $list-horizontal-padding $list-item-child-margin 0; - - > * { - padding: 0; - } - - > [data-react-toolbox="font-icon"] { - font-size: $list-item-icon-font-size; - color: $color-text-secondary; - } -} - -.itemContentRoot { - display: block; - flex-grow: 1; - &.large { - display: flex; - height: $list-item-min-height-legend; - flex-direction: column; - justify-content: center; - } -} - -.checkbox { - display: flex; - width: 100%; - height: 100%; - min-height: $list-item-min-height; - align-items: center; - margin: 0; - cursor: pointer; - > [data-react-toolbox="check"] { - margin-right: $list-item-right-checkbox-margin; - } - > [data-react-toolbox="label"] { - padding-left: 0; - } -} - -.itemText { - display: block; - - &:not(.primary) { - padding-top: $list-item-legend-margin-top; - font-size: $font-size-small; - color: $color-text-secondary; - white-space: normal; - } - - &.primary { - font-size: $font-size-normal; - color: $color-text; - } -} diff --git a/lib/menu/IconMenu.js b/lib/menu/IconMenu.js deleted file mode 100644 index 70bff718..00000000 --- a/lib/menu/IconMenu.js +++ /dev/null @@ -1,133 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.IconMenu = exports.iconMenuFactory = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _IconButton = require('../button/IconButton.js'); - -var _IconButton2 = _interopRequireDefault(_IconButton); - -var _Menu = require('./Menu.js'); - -var _Menu2 = _interopRequireDefault(_Menu); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(IconButton, Menu) { - var IconMenu = function (_Component) { - _inherits(IconMenu, _Component); - - function IconMenu() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, IconMenu); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = IconMenu.__proto__ || Object.getPrototypeOf(IconMenu)).call.apply(_ref, [this].concat(args))), _this), _this.state = { - active: false - }, _this.handleButtonClick = function (event) { - _this.setState({ active: !_this.state.active }); - if (_this.props.onClick) _this.props.onClick(event); - }, _this.handleMenuHide = function () { - _this.setState({ active: false }); - if (_this.props.onHide) _this.props.onHide(); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(IconMenu, [{ - key: 'render', - value: function render() { - return _react2.default.createElement( - 'div', - { className: (0, _classnames2.default)(this.props.theme.iconMenu, this.props.className) }, - _react2.default.createElement(IconButton, { - className: this.props.theme.icon, - icon: this.props.icon, - onClick: this.handleButtonClick, - ripple: this.props.iconRipple - }), - _react2.default.createElement( - Menu, - { - ref: 'menu', - active: this.state.active, - onHide: this.handleMenuHide, - onSelect: this.props.onSelect, - onShow: this.props.onShow, - position: this.props.position, - ripple: this.props.menuRipple, - selectable: this.props.selectable, - selected: this.props.selected, - theme: this.props.theme - }, - this.props.children - ) - ); - } - }]); - - return IconMenu; - }(_react.Component); - - IconMenu.propTypes = { - children: _react.PropTypes.node, - className: _react.PropTypes.string, - icon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - iconRipple: _react.PropTypes.bool, - menuRipple: _react.PropTypes.bool, - onClick: _react.PropTypes.func, - onHide: _react.PropTypes.func, - onSelect: _react.PropTypes.func, - onShow: _react.PropTypes.func, - position: _react.PropTypes.string, - selectable: _react.PropTypes.bool, - selected: _react.PropTypes.any, - theme: _react.PropTypes.shape({ - icon: _react.PropTypes.string, - iconMenu: _react.PropTypes.string - }) - }; - IconMenu.defaultProps = { - className: '', - icon: 'more_vert', - iconRipple: true, - menuRipple: true, - position: 'auto', - selectable: false - }; - - - return IconMenu; -}; - -var IconMenu = factory(_IconButton2.default, _Menu2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.MENU)(IconMenu); -exports.iconMenuFactory = factory; -exports.IconMenu = IconMenu; \ No newline at end of file diff --git a/lib/menu/Menu.js b/lib/menu/Menu.js deleted file mode 100644 index 9c7017c3..00000000 --- a/lib/menu/Menu.js +++ /dev/null @@ -1,324 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Menu = exports.menuFactory = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _utils = require('../utils'); - -var _MenuItem = require('./MenuItem.js'); - -var _MenuItem2 = _interopRequireDefault(_MenuItem); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var POSITION = { - AUTO: 'auto', - STATIC: 'static', - TOP_LEFT: 'topLeft', - TOP_RIGHT: 'topRight', - BOTTOM_LEFT: 'bottomLeft', - BOTTOM_RIGHT: 'bottomRight' -}; - -var factory = function factory(MenuItem) { - var Menu = function (_Component) { - _inherits(Menu, _Component); - - function Menu() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Menu); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Menu.__proto__ || Object.getPrototypeOf(Menu)).call.apply(_ref, [this].concat(args))), _this), _this.state = { - active: _this.props.active, - rippled: false - }, _this.handleDocumentClick = function (event) { - if (_this.state.active && !_utils.events.targetIsDescendant(event, _reactDom2.default.findDOMNode(_this))) { - _this.setState({ active: false, rippled: false }); - } - }, _this.handleSelect = function (item, event) { - var _item$props = item.props, - value = _item$props.value, - onClick = _item$props.onClick; - - if (onClick) event.persist(); - _this.setState({ active: false, rippled: _this.props.ripple }, function () { - if (onClick) onClick(event); - if (_this.props.onSelect) _this.props.onSelect(value); - }); - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Menu, [{ - key: 'componentDidMount', - value: function componentDidMount() { - var _this2 = this; - - this.positionTimeoutHandle = setTimeout(function () { - var _refs$menu$getBoundin = _this2.refs.menu.getBoundingClientRect(), - width = _refs$menu$getBoundin.width, - height = _refs$menu$getBoundin.height; - - var position = _this2.props.position === POSITION.AUTO ? _this2.calculatePosition() : _this2.props.position; - _this2.setState({ position: position, width: width, height: height }); - }); - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - var _this3 = this; - - if (this.props.position !== nextProps.position) { - var position = nextProps.position === POSITION.AUTO ? this.calculatePosition() : nextProps.position; - this.setState({ position: position }); - } - - /** - * If the menu is going to be activated via props and its not active, verify - * the position is appropriated and then show it recalculating position if its - * wrong. It should be shown in two consecutive setState. - */ - if (!this.props.active && nextProps.active && !this.state.active) { - if (nextProps.position === POSITION.AUTO) { - var _position = this.calculatePosition(); - if (this.state.position !== _position) { - this.setState({ position: _position, active: false }, function () { - _this3.activateTimeoutHandle = setTimeout(function () { - _this3.show(); - }, 20); - }); - } else { - this.show(); - } - } else { - this.show(); - } - } - - /** - * If the menu is being deactivated via props and the current state is - * active, it should be hid. - */ - if (this.props.active && !nextProps.active && this.state.active) { - this.hide(); - } - } - }, { - key: 'componentWillUpdate', - value: function componentWillUpdate(nextProps, nextState) { - if (!this.state.active && nextState.active) { - _utils.events.addEventsToDocument({ - click: this.handleDocumentClick, - touchstart: this.handleDocumentClick - }); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate(prevProps, prevState) { - if (prevState.active && !this.state.active) { - if (this.props.onHide) this.props.onHide(); - _utils.events.removeEventsFromDocument({ - click: this.handleDocumentClick, - touchstart: this.handleDocumentClick - }); - } else if (!prevState.active && this.state.active && this.props.onShow) { - this.props.onShow(); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - if (this.state.active) { - _utils.events.removeEventsFromDocument({ - click: this.handleDocumentClick, - touchstart: this.handleDocumentClick - }); - } - clearTimeout(this.positionTimeoutHandle); - clearTimeout(this.activateTimeoutHandle); - } - }, { - key: 'calculatePosition', - value: function calculatePosition() { - var parentNode = _reactDom2.default.findDOMNode(this).parentNode; - if (!parentNode) return; - - var _parentNode$getBoundi = parentNode.getBoundingClientRect(), - top = _parentNode$getBoundi.top, - left = _parentNode$getBoundi.left, - height = _parentNode$getBoundi.height, - width = _parentNode$getBoundi.width; - - var _utils$getViewport = _utils.utils.getViewport(), - wh = _utils$getViewport.height, - ww = _utils$getViewport.width; - - var toTop = top < wh / 2 - height / 2; - var toLeft = left < ww / 2 - width / 2; - return '' + (toTop ? 'top' : 'bottom') + (toLeft ? 'Left' : 'Right'); - } - }, { - key: 'getMenuStyle', - value: function getMenuStyle() { - var _state = this.state, - width = _state.width, - height = _state.height, - position = _state.position; - - if (position !== POSITION.STATIC) { - if (this.state.active) { - return { clip: 'rect(0 ' + width + 'px ' + height + 'px 0)' }; - } else if (position === POSITION.TOP_RIGHT) { - return { clip: 'rect(0 ' + width + 'px 0 ' + width + 'px)' }; - } else if (position === POSITION.BOTTOM_RIGHT) { - return { clip: 'rect(' + height + 'px ' + width + 'px ' + height + 'px ' + width + 'px)' }; - } else if (position === POSITION.BOTTOM_LEFT) { - return { clip: 'rect(' + height + 'px 0 ' + height + 'px 0)' }; - } else if (position === POSITION.TOP_LEFT) { - return { clip: 'rect(0 0 0 0)' }; - } - } - } - }, { - key: 'getRootStyle', - value: function getRootStyle() { - if (this.state.position !== POSITION.STATIC) { - return { width: this.state.width, height: this.state.height }; - } - } - }, { - key: 'renderItems', - value: function renderItems() { - var _this4 = this; - - return _react2.default.Children.map(this.props.children, function (item) { - if (!item) return item; - if (item.type === MenuItem) { - return _react2.default.cloneElement(item, { - ripple: item.props.ripple || _this4.props.ripple, - selected: typeof item.props.value !== 'undefined' && _this4.props.selectable && item.props.value === _this4.props.selected, - onClick: _this4.handleSelect.bind(_this4, item) - }); - } else { - return _react2.default.cloneElement(item); - } - }); - } - }, { - key: 'show', - value: function show() { - var _refs$menu$getBoundin2 = this.refs.menu.getBoundingClientRect(), - width = _refs$menu$getBoundin2.width, - height = _refs$menu$getBoundin2.height; - - this.setState({ active: true, width: width, height: height }); - } - }, { - key: 'hide', - value: function hide() { - this.setState({ active: false }); - } - }, { - key: 'render', - value: function render() { - var _classnames; - - var theme = this.props.theme; - - var outlineStyle = { width: this.state.width, height: this.state.height }; - var className = (0, _classnames3.default)([theme.menu, theme[this.state.position]], (_classnames = {}, _defineProperty(_classnames, theme.active, this.state.active), _defineProperty(_classnames, theme.rippled, this.state.rippled), _classnames), this.props.className); - - return _react2.default.createElement( - 'div', - { 'data-react-toolbox': 'menu', className: className, style: this.getRootStyle() }, - this.props.outline ? _react2.default.createElement('div', { className: theme.outline, style: outlineStyle }) : null, - _react2.default.createElement( - 'ul', - { ref: 'menu', className: theme.menuInner, style: this.getMenuStyle() }, - this.renderItems() - ) - ); - } - }]); - - return Menu; - }(_react.Component); - - Menu.propTypes = { - active: _react.PropTypes.bool, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - onHide: _react.PropTypes.func, - onSelect: _react.PropTypes.func, - onShow: _react.PropTypes.func, - outline: _react.PropTypes.bool, - position: _react.PropTypes.oneOf(Object.keys(POSITION).map(function (key) { - return POSITION[key]; - })), - ripple: _react.PropTypes.bool, - selectable: _react.PropTypes.bool, - selected: _react.PropTypes.any, - theme: _react.PropTypes.shape({ - active: _react.PropTypes.string, - bottomLeft: _react.PropTypes.string, - bottomRight: _react.PropTypes.string, - menu: _react.PropTypes.string, - menuInner: _react.PropTypes.string, - outline: _react.PropTypes.string, - rippled: _react.PropTypes.string, - static: _react.PropTypes.string, - topLeft: _react.PropTypes.string, - topRight: _react.PropTypes.string - }) - }; - Menu.defaultProps = { - active: false, - outline: true, - position: POSITION.STATIC, - ripple: true, - selectable: true - }; - - - return Menu; -}; - -var Menu = factory(_MenuItem2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.MENU)(Menu); -exports.menuFactory = factory; -exports.Menu = Menu; \ No newline at end of file diff --git a/lib/menu/MenuDivider.js b/lib/menu/MenuDivider.js deleted file mode 100644 index cf845514..00000000 --- a/lib/menu/MenuDivider.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.MenuDivider = undefined; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var MenuDivider = function MenuDivider(_ref) { - var theme = _ref.theme; - return _react2.default.createElement('hr', { 'data-react-toolbox': 'menu-divider', className: theme.menuDivider }); -}; - -MenuDivider.propTypes = { - theme: _react.PropTypes.shape({ - menuDivider: _react.PropTypes.string - }) -}; - -exports.default = (0, _reactCssThemr.themr)(_identifiers.MENU)(MenuDivider); -exports.MenuDivider = MenuDivider; \ No newline at end of file diff --git a/lib/menu/MenuItem.js b/lib/menu/MenuItem.js deleted file mode 100644 index d854db0e..00000000 --- a/lib/menu/MenuItem.js +++ /dev/null @@ -1,136 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.MenuItem = exports.menuItemFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames2 = require('classnames'); - -var _classnames3 = _interopRequireDefault(_classnames2); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _FontIcon = require('../font_icon/FontIcon.js'); - -var _FontIcon2 = _interopRequireDefault(_FontIcon); - -var _Ripple = require('../ripple/Ripple.js'); - -var _Ripple2 = _interopRequireDefault(_Ripple); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var factory = function factory(ripple) { - var MenuItem = function (_Component) { - _inherits(MenuItem, _Component); - - function MenuItem() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, MenuItem); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = MenuItem.__proto__ || Object.getPrototypeOf(MenuItem)).call.apply(_ref, [this].concat(args))), _this), _this.handleClick = function (event) { - if (_this.props.onClick && !_this.props.disabled) { - _this.props.onClick(event, _this); - } - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(MenuItem, [{ - key: 'render', - value: function render() { - var _classnames; - - var _props = this.props, - icon = _props.icon, - caption = _props.caption, - children = _props.children, - shortcut = _props.shortcut, - selected = _props.selected, - disabled = _props.disabled, - theme = _props.theme, - others = _objectWithoutProperties(_props, ['icon', 'caption', 'children', 'shortcut', 'selected', 'disabled', 'theme']); - - var className = (0, _classnames3.default)(theme.menuItem, (_classnames = {}, _defineProperty(_classnames, theme.selected, selected), _defineProperty(_classnames, theme.disabled, disabled), _classnames), this.props.className); - - return _react2.default.createElement( - 'li', - _extends({}, others, { 'data-react-toolbox': 'menu-item', className: className, onClick: this.handleClick }), - icon ? _react2.default.createElement(_FontIcon2.default, { value: icon, className: theme.icon }) : null, - _react2.default.createElement( - 'span', - { className: theme.caption }, - caption - ), - shortcut ? _react2.default.createElement( - 'small', - { className: theme.shortcut }, - shortcut - ) : null, - children - ); - } - }]); - - return MenuItem; - }(_react.Component); - - MenuItem.propTypes = { - caption: _react.PropTypes.string, - children: _react.PropTypes.any, - className: _react.PropTypes.string, - disabled: _react.PropTypes.bool, - icon: _react.PropTypes.oneOfType([_react.PropTypes.string, _react.PropTypes.element]), - onClick: _react.PropTypes.func, - selected: _react.PropTypes.bool, - shortcut: _react.PropTypes.string, - theme: _react.PropTypes.shape({ - caption: _react.PropTypes.string, - disabled: _react.PropTypes.string, - icon: _react.PropTypes.string, - menuItem: _react.PropTypes.string, - selected: _react.PropTypes.string, - shortcut: _react.PropTypes.string - }) - }; - MenuItem.defaultProps = { - className: '', - disabled: false, - selected: false - }; - - - return ripple(MenuItem); -}; - -var MenuItem = factory((0, _Ripple2.default)({})); -exports.default = (0, _reactCssThemr.themr)(_identifiers.MENU)(MenuItem); -exports.menuItemFactory = factory; -exports.MenuItem = MenuItem; \ No newline at end of file diff --git a/lib/menu/__test__/index.spec.js b/lib/menu/__test__/index.spec.js deleted file mode 100644 index 8fa0b416..00000000 --- a/lib/menu/__test__/index.spec.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -var _expect = require('expect'); - -var _expect2 = _interopRequireDefault(_expect); - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require('react-dom'); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _reactAddonsTestUtils = require('react-addons-test-utils'); - -var _reactAddonsTestUtils2 = _interopRequireDefault(_reactAddonsTestUtils); - -var _Menu = require('../Menu'); - -var _Menu2 = _interopRequireDefault(_Menu); - -var _MenuItem = require('../MenuItem'); - -var _MenuItem2 = _interopRequireDefault(_MenuItem); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -describe('MenuItem', function () { - describe('#onClick', function () { - it('passes to listener the event', function () { - var listenerCalled = false; - var handleClick = function handleClick(event) { - listenerCalled = true; - (0, _expect2.default)(event).toExist(); - (0, _expect2.default)(event.target).toExist(); - }; - - var tree = _reactAddonsTestUtils2.default.renderIntoDocument(_react2.default.createElement( - _Menu2.default, - null, - _react2.default.createElement(_MenuItem2.default, { key: '1', onClick: handleClick }) - )); - - var menuItem = _reactAddonsTestUtils2.default.findRenderedComponentWithType(tree, _MenuItem.MenuItem); - _reactAddonsTestUtils2.default.Simulate.click(_reactDom2.default.findDOMNode(menuItem)); - - (0, _expect2.default)(listenerCalled).toBe(true); - }); - }); -}); \ No newline at end of file diff --git a/lib/menu/_config.scss b/lib/menu/_config.scss deleted file mode 100644 index 0b534366..00000000 --- a/lib/menu/_config.scss +++ /dev/null @@ -1,16 +0,0 @@ -$menu-expand-duration: .3s !default; -$menu-fade-duration: .2s !default; -$menu-ripple-delay: .3s !default; -$menu-background-color: $color-white !default; -$menu-padding: .8 * $unit 0 !default; -$menu-outline-border-radius: .2 * $unit !default; -$menu-item-hover-background: $palette-grey-200 !default; -$menu-item-selected-background: transparent !default; -$menu-item-icon-font-size: 2.4 * $unit !default; -$menu-item-icon-size: 1.6 * $menu-item-icon-font-size !default; -$menu-item-height: 4.8 * $unit !default; -$menu-item-padding: 1.6 * $unit !default; -$menu-item-font-size: 1.6 * $unit !default; -$menu-divider-height: (4.8 * $unit) / 4 !default; -$menu-icon-size: 2.3 * $unit !default; -$menu-icon-ripple-duration: 650ms !default; diff --git a/lib/menu/index.d.ts b/lib/menu/index.d.ts deleted file mode 100644 index 5d9fccdf..00000000 --- a/lib/menu/index.d.ts +++ /dev/null @@ -1,242 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface MenuTheme { - /** - * Added to the root element when menu is active. - */ - active?: string; - /** - * Added to the root when position is bottom left. - */ - bottomLeft?: string; - /** - * Added to the root when position is bottom right. - */ - bottomRight?: string; - /** - * Used for the root element of the menu. - */ - menu?: string; - /** - * Used for the inner wrapper. - */ - menuInner?: string; - /** - * Used to draw the outline. - */ - outline?: string; - /** - * Added to the menu in case if should have ripple. - */ - rippled?: string; - /** - * Added to the root in case its static. - */ - static?: string; - /** - * Added to the root when position is top left. - */ - topLeft?: string; - /** - * Added to the root when position is top right. - */ - topRight?: string; -} - -interface MenuProps extends ReactToolbox.Props { - /** - * If true, the menu will be displayed as opened by default. - * @default false - */ - active?: boolean; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Callback that will be called when the menu is being hidden. - */ - onHide?: Function; - /** - * Callback that will be invoked when a menu item is selected. - */ - onSelect?: Function; - /** - * Callback that will be invoked when the menu is being shown. - */ - onShow?: Function; - /** - * If true the menu wrapper will show an outline with a soft shadow. - * @default false - */ - outline?: boolean; - /** - * Determine the position of the menu. With static value the menu will be always shown, auto means that the it will decide the opening direction based on the current position. To force a position use topLeft, topRight, bottomLeft, bottomRight. - * @default static - */ - position?: "auto" | "static" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight"; - /** - * If true, the menu items will show a ripple effect on click. - * @default true - */ - ripple?: boolean; - /** - * If true, the menu will keep a value to highlight the active child item. - * @default false - */ - selectable?: boolean; - /** - * Used for selectable menus. Indicates the current selected value so the child item with this value can be highlighted. - */ - selected?: any; - /** - * Classnames object defining the component style. - */ - theme?: MenuTheme; -} - -export class Menu extends React.Component { } - -export interface IconMenuTheme { - /** - * Used for the icon element. - */ - icon?: string; - /** - * Used for the root element of the icon menu. - */ - iconMenu?: string; -} - -interface IconMenuProps extends ReactToolbox.Props { - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * Icon font key string or Element to display the opener icon. - * @default more_vert - */ - icon?: React.ReactNode | string; - /** - * If true, the icon will show a ripple when is clicked. - * @default true - */ - iconRipple?: boolean; - /** - * Transferred to the Menu component. - * @default true - */ - menuRipple?: boolean; - /** - * Callback that will be called when the menu is being hidden. - */ - onHide?: Function; - /** - * Callback that will be invoked when a menu item is selected. - */ - onSelect?: Function; - /** - * Callback that will be invoked when the menu is being shown. - */ - onShow?: Function; - /** - * Determines the position of the menu. This property is transferred to the inner Menu component. - * @default auto - */ - position?: "auto" | "static" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight"; - /** - * If true, the menu will keep a value to highlight the active child item. - * @default false - */ - selectable?: boolean; - /** - * Used for selectable menus. Indicates the current selected value so the child item with this value can be highlighted. - */ - selected?: any; - /** - * Classnames object defining the component style. - */ - theme?: IconMenuTheme; -} - -export class IconMenu extends React.Component { } - -export interface MenuDividerTheme { - /** - * - */ - menuDivider?: string; -} - -interface MenuDividerProps extends ReactToolbox.Props { - /** - * Classnames object defining the component style. - */ - theme?: MenuDividerTheme; -} - -export class MenuDivider extends React.Component { } - -export interface MenuItemTheme { - /** - * Used for the caption inside the item. - */ - caption?: string; - /** - * Added to the root element if it's disabled. - */ - disabled?: string; - /** - * Used for the icon element if exists. - */ - icon?: string; - /** - * Used as the root class for the component. - */ - menuItem?: string; - /** - * Added to the root element in case it's selected. - */ - selected?: string; - /** - * Used for the shortcut element if exists. - */ - shortcut?: string; -} - -interface MenuItemProps extends ReactToolbox.Props { - /** - * The text to include in the menu item. Required. - */ - caption: string; - /** - * Children to pass through the component. - */ - children?: React.ReactNode; - /** - * If true, the item will be displayed as disabled and is not selectable. - * @default false - */ - disabled?: boolean; - /** - * Icon font key string or Element to display in the right side of the option. - */ - icon?: React.ReactNode | string; - /** - * Transferred from the Menu component for selectable menus. Indicates if it's the current active option. - * @default false - */ - selected?: boolean; - /** - * Displays shortcut text on the right side of the caption attribute. - */ - shortcut?: string; - /** - * Classnames object defining the component style. - */ - theme?: MenuItemTheme; -} - -export class MenuItem extends React.Component { } diff --git a/lib/menu/index.js b/lib/menu/index.js deleted file mode 100644 index 56f87c94..00000000 --- a/lib/menu/index.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.IconMenu = exports.Menu = exports.MenuItem = exports.MenuDivider = undefined; - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _button = require('../button'); - -var _MenuDivider = require('./MenuDivider.js'); - -var _MenuItem = require('./MenuItem.js'); - -var _Menu = require('./Menu.js'); - -var _IconMenu = require('./IconMenu.js'); - -var _ripple = require('../ripple'); - -var _ripple2 = _interopRequireDefault(_ripple); - -var _theme = require('./theme.scss'); - -var _theme2 = _interopRequireDefault(_theme); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var applyTheme = function applyTheme(Component) { - return (0, _reactCssThemr.themr)(_identifiers.MENU, _theme2.default)(Component); -}; -var ThemedMenuDivider = applyTheme(_MenuDivider.MenuDivider); -var ThemedMenuItem = applyTheme((0, _MenuItem.menuItemFactory)((0, _ripple2.default)({}))); -var ThemedMenu = applyTheme((0, _Menu.menuFactory)(ThemedMenuItem)); -var ThemedIconMenu = applyTheme((0, _IconMenu.iconMenuFactory)(_button.IconButton, ThemedMenu)); - -exports.MenuDivider = ThemedMenuDivider; -exports.MenuItem = ThemedMenuItem; -exports.Menu = ThemedMenu; -exports.IconMenu = ThemedIconMenu; \ No newline at end of file diff --git a/lib/menu/theme.scss b/lib/menu/theme.scss deleted file mode 100644 index 9f4ec9b3..00000000 --- a/lib/menu/theme.scss +++ /dev/null @@ -1,154 +0,0 @@ -@import "../colors"; -@import "../globals"; -@import "../mixins"; -@import "./config"; - -.iconMenu { - position: relative; - display: inline-block; - text-align: center; - .icon { - cursor: pointer; - } -} - -.menu { - position: relative; - display: inline-block; - &.topLeft { - position: absolute; - top: 0; - left: 0; - > .outline { - transform-origin: 0 0; - } - } - &.topRight { - position: absolute; - top: 0; - right: 0; - > .outline { - transform-origin: 100% 0; - } - } - &.bottomLeft { - position: absolute; - bottom: 0; - left: 0; - > .outline { - transform-origin: 0 100%; - } - } - &.bottomRight { - position: absolute; - right: 0; - bottom: 0; - > .outline { - transform-origin: 100% 100%; - } - } - &:not(.static) { - z-index: $z-index-higher; - pointer-events: none; - > .outline { - opacity: 0; - transition: transform $menu-expand-duration $animation-curve-default, - opacity $menu-fade-duration $animation-curve-default; - transform: scale(0); - will-change: transform; - } - > .menuInner { - position: absolute; - top: 0; - left: 0; - opacity: 0; - } - &.rippled:not(.active) { - > .outline { - transition-delay: $menu-ripple-delay; - } - > .menuInner { - transition-delay: $menu-ripple-delay; - } - } - &.active { - pointer-events: all; - > .outline { - opacity: 1; - transform: scale(1); - } - > .menuInner { - opacity: 1; - transition: opacity $menu-fade-duration $animation-curve-default, - clip $menu-expand-duration $animation-curve-default; - } - } - } -} - -.outline { - @include shadow-2dp(); - position: absolute; - top: 0; - left: 0; - display: block; - background-color: $menu-background-color; - border-radius: $menu-outline-border-radius; -} - -.menuInner { - position: relative; - display: block; - padding: $menu-padding; - text-align: left; - white-space: nowrap; - list-style: none; -} - -.menuItem { - position: relative; - display: flex; - height: $menu-item-height; - align-items: center; - padding: 0 $menu-item-padding; - overflow: hidden; - font-size: $menu-item-font-size; - color: $color-text; - &:not(.disabled):hover { - cursor: pointer; - background-color: $menu-item-hover-background; - } - &.disabled { - pointer-events: none; - opacity: .5; - } - &.selected { - font-weight: 500; - background-color: $menu-item-selected-background; - } - .ripple { - color: $color-text-secondary; - } - - .icon { - width: $menu-item-icon-size; - font-size: $menu-item-icon-font-size !important; - } -} - -.caption { - flex-grow: 1; - font-size: $font-size-normal; -} - -.shortcut { - margin-left: $menu-item-padding; -} - -.menuDivider { - display: block; - width: 100%; - height: 1px; - margin: $menu-divider-height 0; - background-color: $color-divider; -} diff --git a/lib/navigation/Navigation.js b/lib/navigation/Navigation.js deleted file mode 100644 index 8d8876ff..00000000 --- a/lib/navigation/Navigation.js +++ /dev/null @@ -1,86 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Navigation = exports.navigationFactory = undefined; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _react = require('react'); - -var _react2 = _interopRequireDefault(_react); - -var _classnames = require('classnames'); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _reactCssThemr = require('react-css-themr'); - -var _identifiers = require('../identifiers.js'); - -var _Button = require('../button/Button.js'); - -var _Button2 = _interopRequireDefault(_Button); - -var _Link = require('../link/Link.js'); - -var _Link2 = _interopRequireDefault(_Link); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var factory = function factory(Button, Link) { - var Navigation = function Navigation(_ref) { - var actions = _ref.actions, - children = _ref.children, - className = _ref.className, - routes = _ref.routes, - theme = _ref.theme, - type = _ref.type; - - var _className = (0, _classnames2.default)(theme[type], className); - var buttons = actions.map(function (action, index) { - return _react2.default.createElement(Button, _extends({ className: theme.button, key: index }, action)); - }); - - var links = routes.map(function (route, index) { - return _react2.default.createElement(Link, _extends({ className: theme.link, key: index }, route)); - }); - - return _react2.default.createElement( - 'nav', - { 'data-react-toolbox': 'navigation', className: _className }, - links, - buttons, - children - ); - }; - - Navigation.propTypes = { - actions: _react.PropTypes.array, - children: _react.PropTypes.node, - className: _react.PropTypes.string, - routes: _react.PropTypes.array, - theme: _react.PropTypes.shape({ - button: _react.PropTypes.string, - horizontal: _react.PropTypes.string, - link: _react.PropTypes.string, - vertical: _react.PropTypes.string - }), - type: _react.PropTypes.oneOf(['vertical', 'horizontal']) - }; - - Navigation.defaultProps = { - actions: [], - className: '', - type: 'horizontal', - routes: [] - }; - - return Navigation; -}; - -var Navigation = factory(_Button2.default, _Link2.default); -exports.default = (0, _reactCssThemr.themr)(_identifiers.NAVIGATION)(Navigation); -exports.navigationFactory = factory; -exports.Navigation = Navigation; \ No newline at end of file diff --git a/lib/navigation/_config.scss b/lib/navigation/_config.scss deleted file mode 100644 index 6b654ac7..00000000 --- a/lib/navigation/_config.scss +++ /dev/null @@ -1,2 +0,0 @@ -$navigation-space: $unit !default; -$navigation-color: $color-black !default; diff --git a/lib/navigation/index.d.ts b/lib/navigation/index.d.ts deleted file mode 100644 index a2795a8d..00000000 --- a/lib/navigation/index.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import * as React from "react"; -import ReactToolbox from "../index"; - -export interface NavigationTheme { - /** - * Used for buttons provided in the component. - */ - button?: string; - /** - * Used for the root element if the layout is horizontal. - */ - horizontal?: string; - /** - * Used for links provided in the component. - */ - link?: string; - /** - * Used for the root element if the layout is vertical. - */ - vertical?: string; -} - -interface NavigationProps extends ReactToolbox.Props { - /** - * Array of objects that will be represented as