diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 420173781..000000000 --- a/.babelrc +++ /dev/null @@ -1,19 +0,0 @@ -{ - "presets": ["es2015", "stage-0", "react"], - "env": { - "development": { - "plugins": [ - ["react-transform", { - "transforms": [{ - "transform": "react-transform-hmr", - "imports": ["react"], - "locals": ["module"] - }, { - "transform": "react-transform-catch-errors", - "imports": ["react", "redbox-react"] - }] - }] - ] - } - } -} diff --git a/.bumpedrc b/.bumpedrc index 04826e51e..f283773fc 100644 --- a/.bumpedrc +++ b/.bumpedrc @@ -23,7 +23,7 @@ plugins: 'Commiting new version': plugin: 'bumped-terminal' - command: 'git add CHANGELOG.md package.json && git commit package.json -m "Release $newVersion"' + command: 'git add CHANGELOG.md package.json && git commit CHANGELOG.md package.json -m "Release $newVersion"' 'Detecting problem before publish': plugin: 'bumped-terminal' diff --git a/.eslintignore b/.eslintignore index b04f9cd23..f574f775b 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,10 @@ **/node_modules/ **/build/ +docs/ +spec/ lib +karma.conf.js +gulpfile.js +tests.webpack* +server.js +webpack* diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 50fa67e3a..000000000 --- a/.eslintrc +++ /dev/null @@ -1,227 +0,0 @@ -{ - "env": { - "browser": true, - "node": true, - "mocha": true, - "es6": true - }, - - "ecmaFeatures": { - "jsx": true, - "templateStrings": true, - "superInFunctions": false, - "classes": true, - "modules": true - }, - - "parser": "babel-eslint", - - "plugins": [ - "babel", - "react" - ], - - "rules": { - "block-scoped-var": [0], - "brace-style": [2, "1tbs", { - "allowSingleLine": true - }], - "camelcase": [0], - "comma-dangle": [2, "never"], - "comma-spacing": [2], - "comma-style": [2, "last"], - "complexity": [0, 11], - "constructor-super": [2], - "consistent-return": [0], - "consistent-this": [0, "that"], - "curly": [2, "multi-line"], - "default-case": [2], - "dot-notation": [2, { - "allowKeywords": true - }], - "eol-last": [2], - "eqeqeq": [2], - "func-names": [0], - "func-style": [0, "declaration"], - "generator-star-spacing": [2, "after"], - "guard-for-in": [0], - "handle-callback-err": [0], - "key-spacing": [2, { - "beforeColon": false, - "afterColon": true - }], - "quotes": [2, "single", "avoid-escape"], - "max-depth": [0, 4], - "max-len": [0, 80, 4], - "max-nested-callbacks": [0, 2], - "max-params": [0, 3], - "max-statements": [0, 10], - "new-parens": [2], - "new-cap": [0], - "newline-after-var": [0], - "no-alert": [2], - "no-array-constructor": [2], - "no-bitwise": [0], - "no-caller": [2], - "no-catch-shadow": [2], - "no-cond-assign": [2], - "no-console": [0], - "no-constant-condition": [1], - "no-continue": [2], - "no-control-regex": [2], - "no-debugger": [2], - "no-delete-var": [2], - "no-div-regex": [0], - "no-dupe-args": [2], - "no-dupe-keys": [2], - "no-duplicate-case": [2], - "no-else-return": [0], - "no-empty": [2], - "no-empty-character-class": [2], - "no-eq-null": [0], - "no-eval": [2], - "no-ex-assign": [2], - "no-extend-native": [1], - "no-extra-bind": [2], - "no-extra-boolean-cast": [2], - "no-extra-parens": [0], - "no-extra-semi": [1], - "no-fallthrough": [2], - "no-floating-decimal": [2], - "no-func-assign": [2], - "no-implied-eval": [2], - "no-inline-comments": [0], - "no-inner-declarations": [2, "functions"], - "no-invalid-regexp": [2], - "no-irregular-whitespace": [2], - "no-iterator": [2], - "no-label-var": [2], - "no-labels": [2], - "no-lone-blocks": [2], - "no-lonely-if": [2], - "no-loop-func": [2], - "no-mixed-requires": [0, false], - "no-mixed-spaces-and-tabs": [2, false], - "no-multi-spaces": [2], - "no-multi-str": [2], - "no-multiple-empty-lines": [2, { - "max": 2 - }], - "no-native-reassign": [1], - "no-negated-in-lhs": [2], - "no-nested-ternary": [0], - "no-new": [2], - "no-new-func": [2], - "no-new-object": [2], - "no-new-require": [0], - "no-new-wrappers": [2], - "no-obj-calls": [2], - "no-octal": [2], - "no-octal-escape": [2], - "no-path-concat": [0], - "no-param-reassign": [2], - "no-plusplus": [0], - "no-process-env": [0], - "no-process-exit": [2], - "no-proto": [2], - "no-redeclare": [2], - "no-regex-spaces": [2], - "no-reserved-keys": [0], - "no-restricted-modules": [0], - "no-return-assign": [2], - "no-script-url": [2], - "no-self-compare": [0], - "no-sequences": [2], - "no-shadow": [2], - "no-shadow-restricted-names": [2], - "semi-spacing": [2], - "no-spaced-func": [2], - "no-sparse-arrays": [2], - "no-sync": [0], - "no-ternary": [0], - "no-this-before-super": [2], - "no-throw-literal": [2], - "no-trailing-spaces": [2], - "no-undef": [2], - "no-undef-init": [2], - "no-undefined": [0], - "no-underscore-dangle": [0], - "no-unreachable": [2], - "no-unused-expressions": [2, { - "allowShortCircuit": true - }], - "no-unused-vars": [1, { - "vars": "all", - "args": "after-used" - }], - "no-use-before-define": [2, "nofunc"], - "no-var": [2], - "no-void": [0], - "no-warning-comments": [0, { - "terms": ["todo", "fixme", "xxx"], - "location": "start" - }], - "no-with": [2], - "one-var": [0], - "operator-assignment": [0, "always"], - "operator-linebreak": [2, "before"], - "padded-blocks": [0], - "prefer-const": [2], - "prefer-spread": [2], - "quote-props": [0], - "radix": [0], - "semi": [2], - "sort-vars": [0], - "keyword-spacing": [2, {"after": true}], - "space-before-function-paren": [2, { "anonymous": "always", "named": "always" }], - "space-before-blocks": [0, "always"], - "space-in-brackets": [0, "never", { - "singleValue": true, - "arraysInArrays": false, - "arraysInObjects": false, - "objectsInArrays": true, - "objectsInObjects": true, - "propertyName": false - }], - "space-in-parens": [2, "never"], - "space-infix-ops": [2], - "space-unary-ops": [2, { - "words": true, - "nonwords": false - }], - "spaced-line-comment": [0, "always"], - "strict": [1], - "use-isnan": [2], - "valid-jsdoc": [0], - "valid-typeof": [2], - "vars-on-top": [0], - "wrap-iife": [2], - "wrap-regex": [2], - "yoda": [2, "never", { - "exceptRange": true - }], - "babel/object-shorthand": [2], - "react/display-name": 0, - "react/jsx-boolean-value": 1, - "react/jsx-closing-bracket-location": 0, - "react/jsx-curly-spacing": 1, - "react/jsx-max-props-per-line": 0, - "react/jsx-indent-props": 0, - "react/jsx-no-duplicate-props": 1, - "react/jsx-no-undef": 1, - "react/jsx-pascal-case": 1, - "react/sort-prop-types": 1, - "react/jsx-sort-props": 0, - "react/jsx-uses-react": 1, - "react/jsx-uses-vars": 1, - "react/no-danger": 0, - "react/no-did-mount-set-state": 0, - "react/no-did-update-set-state": 1, - "react/no-multi-comp": 0, - "react/no-unknown-property": 1, - "react/prop-types": [2, {"ignore": ["onMouseDown", "onTouchStart"]}], - "react/react-in-jsx-scope": 1, - "react/self-closing-comp": 1, - "react/sort-comp": 1 - } -} diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 000000000..268379270 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,52 @@ +module.exports = { + parser: 'babel-eslint', + parserOptions: { + ecmaVersion: 6 + }, + extends: 'airbnb', + env: { + browser: true, + es6: true, + jest: true, + node: true + }, + plugins: [ + 'compat', + 'import', + 'jest', + 'jsx-a11y', + 'react' + ], + rules: { + 'compat/compat': 'error', + 'func-names': 'off', + 'global-require': 'off', + 'import/prefer-default-export': 'off', + 'import/no-extraneous-dependencies': [ + 'error', + { + devDependencies: true, + optionalDependencies: false, + peerDependencies: false + } + ], + 'jsx-a11y/click-events-have-key-events': 'off', + 'jsx-a11y/label-has-for': 'off', + 'jsx-a11y/label-has-associated-control': [ + 'error', { + depth: 3, + }, + ], + 'jsx-a11y/no-noninteractive-element-interactions': 'off', + 'jsx-a11y/no-noninteractive-tabindex': 'off', + 'jsx-a11y/no-static-element-interactions': 'off', + 'no-underscore-dangle': 'off', + 'no-use-before-define': 'off', + 'react/destructuring-assignment': 'off', + 'react/jsx-filename-extension': 'off', + 'react/jsx-no-bind': 'error', + 'react/no-find-dom-node': 'off', + 'react/require-default-props': 'off', + 'react/sort-prop-types': 'error' + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6781ff041..6a870dda2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,43 @@ +# See https://help.github.com/ignore-files/ for more about ignoring files. +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +deploy.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Production build -node_modules -npm-debug.log +dist +out +lib + +# Dependency directories +node_modules/ + +# App directories +public/styles +public/js/* +!public/js/plugins + +# OS files +.DS_Store +._* + +# Config files +.env + +# IDE files .idea -.DS_Store \ No newline at end of file +.vscode + +# Test coverage folder +.coverage +/coverage \ No newline at end of file diff --git a/.nvmrc b/.nvmrc index 9e3a93350..758bb9c82 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -4.4.3 +7.10.0 diff --git a/.sass-lint.yml b/.sass-lint.yml deleted file mode 100644 index abd6057ef..000000000 --- a/.sass-lint.yml +++ /dev/null @@ -1,397 +0,0 @@ -options: - formatter: stylish - merge-default-rules: false -rules: - border-zero: 1 - brace-style: - - 1 - - allow-single-line: true - class-name-format: - - 0 - - convention: hyphenatedlowercase - clean-import-paths: - - 1 - - filename-extension: false - leading-underscore: false - empty-line-between-blocks: - - 0 - - ignore-single-line-rulesets: true - extends-before-declarations: 0 - extends-before-mixins: 0 - final-newline: - - 1 - - include: true - force-attribute-nesting: 0 - force-element-nesting: 0 - force-pseudo-nesting: 0 - function-name-format: - - 1 - - allow-leading-underscore: true - convention: hyphenatedlowercase - hex-length: - - 1 - - style: short - hex-notation: - - 1 - - style: lowercase - id-name-format: - - 0 - - convention: hyphenatedlowercase - indentation: - - 1 - - size: 2 - leading-zero: - - 0 - - include: false - mixin-name-format: - - 1 - - allow-leading-underscore: true - convention: hyphenatedlowercase - mixins-before-declarations: 0 - nesting-depth: 0 - no-color-literals: 0 - no-css-comments: 1 - no-debug: 1 - no-duplicate-properties: - - 1 - - exclude: [] - no-empty-rulesets: 1 - no-ids: 1 - no-important: 0 - no-invalid-hex: 1 - no-mergeable-selectors: 0 - no-misspelled-properties: - - 1 - - extra-properties: - - composes - no-qualifying-elements: - - 0 - - allow-element-with-attribute: false - allow-element-with-class: false - allow-element-with-id: false - no-trailing-zero: 1 - no-url-protocols: 1 - placeholder-in-extend: 0 - property-sort-order: - - 1 - - ignore-custom-properties: false - order: - - $variable - - $extend - - $include - - composes - - position - - top - - right - - bottom - - left - - z-index - - '-webkit-box-sizing' - - '-moz-box-sizing' - - box-sizing - - display - - float - - width - - min-width - - max-width - - height - - min-height - - max-height - - flex - - flex-align - - flex-direction - - flex-flow - - flex-grow - - flex-order - - flex-pack - - flex-wrap - - align-content - - align-items - - justify-content - - padding - - padding-top - - padding-right - - padding-bottom - - padding-left - - margin - - margin-top - - margin-right - - margin-bottom - - margin-left - - overflow - - overflow-x - - overflow-y - - '-webkit-overflow-scrolling' - - '-ms-overflow-x' - - '-ms-overflow-y' - - '-ms-overflow-style' - - clip - - clear - - font - - font-family - - font-size - - font-style - - font-weight - - font-variant - - font-size-adjust - - font-stretch - - font-effect - - font-emphasize - - font-emphasize-position - - font-emphasize-style - - font-smooth - - '-webkit-hyphens' - - '-moz-hyphens' - - hyphens - - line-height - - color - - text-align - - '-webkit-text-align-last' - - '-moz-text-align-last' - - '-ms-text-align-last' - - text-align-last - - text-emphasis - - text-emphasis-color - - text-emphasis-style - - text-emphasis-position - - text-decoration - - text-indent - - text-justify - - text-outline - - '-ms-text-overflow' - - text-overflow - - text-overflow-ellipsis - - text-overflow-mode - - text-shadow - - text-transform - - text-wrap - - '-webkit-text-size-adjust' - - '-ms-text-size-adjust' - - letter-spacing - - '-ms-word-break' - - word-break - - word-spacing - - '-ms-word-wrap' - - word-wrap - - '-moz-tab-size' - - '-o-tab-size' - - tab-size - - white-space - - vertical-align - - list-style - - list-style-position - - list-style-type - - list-style-image - - pointer-events - - '-ms-touch-action' - - touch-action - - cursor - - visibility - - zoom - - table-layout - - empty-cells - - caption-side - - border-spacing - - border-collapse - - content - - quotes - - counter-reset - - counter-increment - - resize - - '-webkit-user-select' - - '-moz-user-select' - - '-ms-user-select' - - '-o-user-select' - - user-select - - nav-index - - nav-up - - nav-right - - nav-down - - nav-left - - background - - background-color - - background-image - - "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient" - - 'filter:progid:DXImageTransform.Microsoft.gradient' - - 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' - - filter - - background-repeat - - background-attachment - - background-position - - background-position-x - - background-position-y - - '-webkit-background-clip' - - '-moz-background-clip' - - background-clip - - background-origin - - '-webkit-background-size' - - '-moz-background-size' - - '-o-background-size' - - background-size - - border - - border-color - - border-style - - border-width - - border-top - - border-top-color - - border-top-style - - border-top-width - - border-right - - border-right-color - - border-right-style - - border-right-width - - border-bottom - - border-bottom-color - - border-bottom-style - - border-bottom-width - - border-left - - border-left-color - - border-left-style - - border-left-width - - border-radius - - border-top-left-radius - - border-top-right-radius - - border-bottom-right-radius - - border-bottom-left-radius - - '-webkit-border-image' - - '-moz-border-image' - - '-o-border-image' - - border-image - - '-webkit-border-image-source' - - '-moz-border-image-source' - - '-o-border-image-source' - - border-image-source - - '-webkit-border-image-slice' - - '-moz-border-image-slice' - - '-o-border-image-slice' - - border-image-slice - - '-webkit-border-image-width' - - '-moz-border-image-width' - - '-o-border-image-width' - - border-image-width - - '-webkit-border-image-outset' - - '-moz-border-image-outset' - - '-o-border-image-outset' - - border-image-outset - - '-webkit-border-image-repeat' - - '-moz-border-image-repeat' - - '-o-border-image-repeat' - - border-image-repeat - - outline - - outline-width - - outline-style - - outline-color - - outline-offset - - '-webkit-box-shadow' - - '-moz-box-shadow' - - box-shadow - - 'filter:progid:DXImageTransform.Microsoft.Alpha(Opacity' - - "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha" - - opacity - - '-ms-interpolation-mode' - - '-webkit-transition' - - '-moz-transition' - - '-ms-transition' - - '-o-transition' - - transition - - '-webkit-transition-delay' - - '-moz-transition-delay' - - '-ms-transition-delay' - - '-o-transition-delay' - - transition-delay - - '-webkit-transition-timing-function' - - '-moz-transition-timing-function' - - '-ms-transition-timing-function' - - '-o-transition-timing-function' - - transition-timing-function - - '-webkit-transition-duration' - - '-moz-transition-duration' - - '-ms-transition-duration' - - '-o-transition-duration' - - transition-duration - - '-webkit-transition-property' - - '-moz-transition-property' - - '-ms-transition-property' - - '-o-transition-property' - - transition-property - - transform-style - - '-webkit-transform' - - '-moz-transform' - - '-ms-transform' - - '-o-transform' - - transform - - '-webkit-transform-origin' - - '-moz-transform-origin' - - '-ms-transform-origin' - - '-o-transform-origin' - - transform-origin - - '-webkit-animation' - - '-moz-animation' - - '-ms-animation' - - '-o-animation' - - animation - - '-webkit-animation-name' - - '-moz-animation-name' - - '-ms-animation-name' - - '-o-animation-name' - - animation-name - - '-webkit-animation-duration' - - '-moz-animation-duration' - - '-ms-animation-duration' - - '-o-animation-duration' - - animation-duration - - '-webkit-animation-play-state' - - '-moz-animation-play-state' - - '-ms-animation-play-state' - - '-o-animation-play-state' - - animation-play-state - - '-webkit-animation-timing-function' - - '-moz-animation-timing-function' - - '-ms-animation-timing-function' - - '-o-animation-timing-function' - - animation-timing-function - - '-webkit-animation-delay' - - '-moz-animation-delay' - - '-ms-animation-delay' - - '-o-animation-delay' - - animation-delay - - '-webkit-animation-iteration-count' - - '-moz-animation-iteration-count' - - '-ms-animation-iteration-count' - - '-o-animation-iteration-count' - - animation-iteration-count - - '-webkit-animation-direction' - - '-moz-animation-direction' - - '-ms-animation-direction' - - '-o-animation-direction' - - animation-direction - - backface-visibility - - will-change - - fill - quotes: - - 1 - - style: double - shorthand-values: 1 - single-line-per-selector: 0 - space-after-bang: - - 1 - - include: false - space-after-colon: 1 - space-after-comma: 0 - space-before-bang: - - 1 - - include: true - space-before-brace: - - 1 - - include: true - space-before-colon: 1 - space-between-parens: - - 1 - - include: false - trailing-semicolon: 1 - url-quotes: 1 - variable-name-format: - - 1 - - allow-leading-underscore: true - convention: hyphenatedlowercase - zero-unit: 1 diff --git a/.travis.yml b/.travis.yml index 32f6e0478..73da33078 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,9 +3,10 @@ sudo: false language: node_js node_js: - - 6 - - 4 - + - "node" + - "lts/*" + script: - npm run lint + - npm run ts - npm test diff --git a/CHANGELOG.md b/CHANGELOG.md index 743b17061..8be3d3899 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,567 @@ + +## 2.0.0-beta.12 (2018-06-02) + +* Add `accept` property to `BrowseButton` (#1533) ([934ffd2](https://github.com/react-toolbox/react-toolbox/commit/934ffd2)), closes [#1533](https://github.com/react-toolbox/react-toolbox/issues/1533) +* Add `multiple` property to `BrowseButton` (#1656) ([071a4d3](https://github.com/react-toolbox/react-toolbox/commit/071a4d3)), closes [#1656](https://github.com/react-toolbox/react-toolbox/issues/1656) +* Add default export TypeScript type to IconButton (#1577) ([79e031e](https://github.com/react-toolbox/react-toolbox/commit/79e031e)), closes [#1577](https://github.com/react-toolbox/react-toolbox/issues/1577) +* Add falsy key example to AutocompleteTest ([f24d128](https://github.com/react-toolbox/react-toolbox/commit/f24d128)) +* Add missing Input import ([51a335b](https://github.com/react-toolbox/react-toolbox/commit/51a335b)), closes [#1792](https://github.com/react-toolbox/react-toolbox/issues/1792) +* Add onEscKeyDown and onOverlayClick fallbacks ([4347125](https://github.com/react-toolbox/react-toolbox/commit/4347125)) +* Add postcss-apply to buid task and to webpack ([82f7118](https://github.com/react-toolbox/react-toolbox/commit/82f7118)) +* Add support for treeshaking (#1423) ([d2eee5a](https://github.com/react-toolbox/react-toolbox/commit/d2eee5a)), closes [#1423](https://github.com/react-toolbox/react-toolbox/issues/1423) +* Add ThemeProvider Typescript type (#1576) ([7403d5d](https://github.com/react-toolbox/react-toolbox/commit/7403d5d)), closes [#1576](https://github.com/react-toolbox/react-toolbox/issues/1576) +* Add title to image ([f815fb5](https://github.com/react-toolbox/react-toolbox/commit/f815fb5)) +* Add transition to hover effect in list items ([d9a0d7e](https://github.com/react-toolbox/react-toolbox/commit/d9a0d7e)) +* Add variables for the App Bar's font size and weight. (#1518) ([f93040e](https://github.com/react-toolbox/react-toolbox/commit/f93040e)), closes [#1518](https://github.com/react-toolbox/react-toolbox/issues/1518) +* Add workaround to `is-component-of-type` for `react-hot-loader@^3` (#1569) ([431abb1](https://github.com/react-toolbox/react-toolbox/commit/431abb1)), closes [#1569](https://github.com/react-toolbox/react-toolbox/issues/1569) +* Added label to InputTheme interface (#1501) ([6290cf5](https://github.com/react-toolbox/react-toolbox/commit/6290cf5)), closes [#1501](https://github.com/react-toolbox/react-toolbox/issues/1501) +* Added missing `|` (#1403) ([8df122a](https://github.com/react-toolbox/react-toolbox/commit/8df122a)), closes [#1403](https://github.com/react-toolbox/react-toolbox/issues/1403) +* Added required?: boolean; (#1491) ([27caadb](https://github.com/react-toolbox/react-toolbox/commit/27caadb)), closes [#1491](https://github.com/react-toolbox/react-toolbox/issues/1491) +* adds a span wrapper to the component button in case of its disabled and have mouse enter and mouse l ([0286630](https://github.com/react-toolbox/react-toolbox/commit/0286630)) +* Allow autoFocus on Autocomplete component ([a828091](https://github.com/react-toolbox/react-toolbox/commit/a828091)) +* Allow pass inverse to IconMenu (#1490) ([4722904](https://github.com/react-toolbox/react-toolbox/commit/4722904)), closes [#1490](https://github.com/react-toolbox/react-toolbox/issues/1490) +* Allow to change FontIcon for Tab by passing it into the factory (#1439) ([d6bdf20](https://github.com/react-toolbox/react-toolbox/commit/d6bdf20)), closes [#1439](https://github.com/react-toolbox/react-toolbox/issues/1439) +* allows the Portal HOC root element to receive a style props. This allows coordinate runtime position ([0e299a6](https://github.com/react-toolbox/react-toolbox/commit/0e299a6)), closes [#1502](https://github.com/react-toolbox/react-toolbox/issues/1502) +* Apply padding 0 to everything but buttons in ListItemAction (#1571) ([f44833a](https://github.com/react-toolbox/react-toolbox/commit/f44833a)), closes [#1571](https://github.com/react-toolbox/react-toolbox/issues/1571) +* Avoid undefined className when ProgressBar mode is determinate ([7db3e34](https://github.com/react-toolbox/react-toolbox/commit/7db3e34)) +* Change tab style for ripple to work with Tabs (#1519) ([cd6a130](https://github.com/react-toolbox/react-toolbox/commit/cd6a130)), closes [#1519](https://github.com/react-toolbox/react-toolbox/issues/1519) +* Check whether the query key has a value rather than whether it's truthy ([f79aaff](https://github.com/react-toolbox/react-toolbox/commit/f79aaff)) +* Disabled input should be dashed not dotted ([a46f095](https://github.com/react-toolbox/react-toolbox/commit/a46f095)) +* Do not show scrollbar on autocomplete component IE11 (#1515) ([f8f528c](https://github.com/react-toolbox/react-toolbox/commit/f8f528c)), closes [#1515](https://github.com/react-toolbox/react-toolbox/issues/1515) +* Docs/Install: Fix typos, clarify language (#1566) ([2124c8c](https://github.com/react-toolbox/react-toolbox/commit/2124c8c)), closes [#1566](https://github.com/react-toolbox/react-toolbox/issues/1566) +* Document usage with Create React App (#1482) ([d5b49a2](https://github.com/react-toolbox/react-toolbox/commit/d5b49a2)), closes [#1482](https://github.com/react-toolbox/react-toolbox/issues/1482) +* Don't handle key events if slider is disabled ([6925570](https://github.com/react-toolbox/react-toolbox/commit/6925570)) +* Enable onKeyDown and onKeyUp props on Autocomplete component ([2c92c37](https://github.com/react-toolbox/react-toolbox/commit/2c92c37)) +* Event passed for Radiogroup (#1544) ([6fd1421](https://github.com/react-toolbox/react-toolbox/commit/6fd1421)), closes [#1544](https://github.com/react-toolbox/react-toolbox/issues/1544) +* Feature/tabs a11y (#1513) ([94f6493](https://github.com/react-toolbox/react-toolbox/commit/94f6493)), closes [#1513](https://github.com/react-toolbox/react-toolbox/issues/1513) +* fix #1611 (#1612) ([df175e7](https://github.com/react-toolbox/react-toolbox/commit/df175e7)), closes [#1611](https://github.com/react-toolbox/react-toolbox/issues/1611) [#1612](https://github.com/react-toolbox/react-toolbox/issues/1612) +* Fix AppBar doc (#1407) ([06cbc41](https://github.com/react-toolbox/react-toolbox/commit/06cbc41)), closes [#1407](https://github.com/react-toolbox/react-toolbox/issues/1407) +* Fix bug where dropdowns don't close (#1548) ([13520e3](https://github.com/react-toolbox/react-toolbox/commit/13520e3)), closes [#1548](https://github.com/react-toolbox/react-toolbox/issues/1548) +* Fix compatibility with typescript 2.4+ (#1615) ([b381db4](https://github.com/react-toolbox/react-toolbox/commit/b381db4)), closes [#1615](https://github.com/react-toolbox/react-toolbox/issues/1615) +* Fix date-picker animation in IE11 (#1586) ([54d0cb5](https://github.com/react-toolbox/react-toolbox/commit/54d0cb5)), closes [#1586](https://github.com/react-toolbox/react-toolbox/issues/1586) +* Fix eslint errors ([f006708](https://github.com/react-toolbox/react-toolbox/commit/f006708)) +* Fix lint issue (#1624) ([6d43f88](https://github.com/react-toolbox/react-toolbox/commit/6d43f88)), closes [#1624](https://github.com/react-toolbox/react-toolbox/issues/1624) +* Fix media queries panel height calculations (#1467) ([4a13ff2](https://github.com/react-toolbox/react-toolbox/commit/4a13ff2)), closes [#1467](https://github.com/react-toolbox/react-toolbox/issues/1467) +* Fix mismatch between NPM published version and package.json version ([ecbdb12](https://github.com/react-toolbox/react-toolbox/commit/ecbdb12)) +* Fix mixed up type definitions for Dropdown ([47d2f18](https://github.com/react-toolbox/react-toolbox/commit/47d2f18)) +* Fix Mobile Safari issues. (#1282) ([e15ee8e](https://github.com/react-toolbox/react-toolbox/commit/e15ee8e)), closes [#1282](https://github.com/react-toolbox/react-toolbox/issues/1282) +* Fix package.json ([e1f320c](https://github.com/react-toolbox/react-toolbox/commit/e1f320c)) +* Fix README on example project description (#1497) ([eb04045](https://github.com/react-toolbox/react-toolbox/commit/eb04045)), closes [#1497](https://github.com/react-toolbox/react-toolbox/issues/1497) [/github.com/react-toolbox/react-toolbox/pull/1251#issuecomment-302403914](https://github.com//github.com/react-toolbox/react-toolbox/pull/1251/issues/issuecomment-302403914) +* Fix tests ([9a9396f](https://github.com/react-toolbox/react-toolbox/commit/9a9396f)) +* Fix travis ([32e4096](https://github.com/react-toolbox/react-toolbox/commit/32e4096)) +* Fix travis ([71341d9](https://github.com/react-toolbox/react-toolbox/commit/71341d9)) +* Fix tsc errors ([6357bed](https://github.com/react-toolbox/react-toolbox/commit/6357bed)) +* Fix typescript bindings. (#1564) ([de69a14](https://github.com/react-toolbox/react-toolbox/commit/de69a14)), closes [#1564](https://github.com/react-toolbox/react-toolbox/issues/1564) [#1407](https://github.com/react-toolbox/react-toolbox/issues/1407) +* fixed browser button fires onChange event twice (#1557) ([c1a2dba](https://github.com/react-toolbox/react-toolbox/commit/c1a2dba)), closes [#1557](https://github.com/react-toolbox/react-toolbox/issues/1557) +* Fixes #1452 (#1454) ([9619d85](https://github.com/react-toolbox/react-toolbox/commit/9619d85)), closes [#1452](https://github.com/react-toolbox/react-toolbox/issues/1452) [#1454](https://github.com/react-toolbox/react-toolbox/issues/1454) [#1452](https://github.com/react-toolbox/react-toolbox/issues/1452) +* Handle onChange in errored input in docs ([c6a7b5b](https://github.com/react-toolbox/react-toolbox/commit/c6a7b5b)) +* Importing PropTypes from prop-types rather than react (#1413) ([ae09770](https://github.com/react-toolbox/react-toolbox/commit/ae09770)), closes [#1413](https://github.com/react-toolbox/react-toolbox/issues/1413) +* Issue 1459: Replace onClick handler in Dropdown component to onMouseDown (#1521) ([736f23e](https://github.com/react-toolbox/react-toolbox/commit/736f23e)), closes [#1521](https://github.com/react-toolbox/react-toolbox/issues/1521) +* Link text has text-transform: capitalize, contrary to Material specs, is removed. ([470ffae](https://github.com/react-toolbox/react-toolbox/commit/470ffae)) +* ListItem component theme prop extends ListItemTextTheme. ([11c3fb1](https://github.com/react-toolbox/react-toolbox/commit/11c3fb1)) +* ListItem legend may be a node as well (#1496) ([a6eb5c5](https://github.com/react-toolbox/react-toolbox/commit/a6eb5c5)), closes [#1496](https://github.com/react-toolbox/react-toolbox/issues/1496) +* Made role on input field a property (#1553) ([fc9c180](https://github.com/react-toolbox/react-toolbox/commit/fc9c180)), closes [#1553](https://github.com/react-toolbox/react-toolbox/issues/1553) +* Make checkbox border color according to spec ([4670098](https://github.com/react-toolbox/react-toolbox/commit/4670098)) +* Make checkbox centered between table edge and next column start ([b660bcc](https://github.com/react-toolbox/react-toolbox/commit/b660bcc)) +* Move Input#validPresent to utils#isValuePresent ([1dafc56](https://github.com/react-toolbox/react-toolbox/commit/1dafc56)) +* Move tsd task to gulpfile ([a9518b6](https://github.com/react-toolbox/react-toolbox/commit/a9518b6)) +* onchange ([4d64c73](https://github.com/react-toolbox/react-toolbox/commit/4d64c73)) +* Pass the theme prop to TableRow child components ([73b2594](https://github.com/react-toolbox/react-toolbox/commit/73b2594)), closes [#1805](https://github.com/react-toolbox/react-toolbox/issues/1805) +* Remove box-shadow on required inputs ([14eb6ca](https://github.com/react-toolbox/react-toolbox/commit/14eb6ca)) +* Remove discord link in README.md (#1593) ([16ae9bf](https://github.com/react-toolbox/react-toolbox/commit/16ae9bf)), closes [#1593](https://github.com/react-toolbox/react-toolbox/issues/1593) [#107](https://github.com/react-toolbox/react-toolbox/issues/107) +* Remove max-height from dialog along with hidden overflow ([2eb27c7](https://github.com/react-toolbox/react-toolbox/commit/2eb27c7)) +* Remove unknown prop multilineHint which React reports as passed to textarea ([478c9ae](https://github.com/react-toolbox/react-toolbox/commit/478c9ae)) +* requestAnimationFrame will only trigger if the browser window is visible. If the browser tab is put ([fb5d0e1](https://github.com/react-toolbox/react-toolbox/commit/fb5d0e1)), closes [#1604](https://github.com/react-toolbox/react-toolbox/issues/1604) +* Revert "Update components to use css-transition-group 2" ([752cdd3](https://github.com/react-toolbox/react-toolbox/commit/752cdd3)) +* small typo error corrected. ([f78c084](https://github.com/react-toolbox/react-toolbox/commit/f78c084)) +* solve #1444 and #1359. (#1587) ([843b88a](https://github.com/react-toolbox/react-toolbox/commit/843b88a)), closes [#1444](https://github.com/react-toolbox/react-toolbox/issues/1444) [#1359](https://github.com/react-toolbox/react-toolbox/issues/1359) [#1587](https://github.com/react-toolbox/react-toolbox/issues/1587) +* Typescript definitions validation (#1163) ([91cb46d](https://github.com/react-toolbox/react-toolbox/commit/91cb46d)), closes [#1163](https://github.com/react-toolbox/react-toolbox/issues/1163) +* Update Autocomplete TypeScript declaration file and readme with key callbacks ([b79c3da](https://github.com/react-toolbox/react-toolbox/commit/b79c3da)) +* Update CHANGELOG.md (#1399) ([0d21c02](https://github.com/react-toolbox/react-toolbox/commit/0d21c02)), closes [#1399](https://github.com/react-toolbox/react-toolbox/issues/1399) +* Update DatePicker.d.ts (#1411) ([e572dd7](https://github.com/react-toolbox/react-toolbox/commit/e572dd7)), closes [#1411](https://github.com/react-toolbox/react-toolbox/issues/1411) +* update defaults in input component config.css ([25172c5](https://github.com/react-toolbox/react-toolbox/commit/25172c5)) +* Update dependencies ([be80e0b](https://github.com/react-toolbox/react-toolbox/commit/be80e0b)) +* Update enzyme config files ([d313e11](https://github.com/react-toolbox/react-toolbox/commit/d313e11)) +* Update readme for Autocomplete (#1657) ([4ca6747](https://github.com/react-toolbox/react-toolbox/commit/4ca6747)), closes [#1657](https://github.com/react-toolbox/react-toolbox/issues/1657) [/github.com/react-toolbox/react-toolbox/blob/8e2b688954d4b413a602bb59a89254e752f20b0f/components/autocomplete/Autocomplete.d.ts#L54](https://github.com//github.com/react-toolbox/react-toolbox/blob/8e2b688954d4b413a602bb59a89254e752f20b0f/components/autocomplete/Autocomplete.d.ts/issues/L54) +* Update README.md ([afb6532](https://github.com/react-toolbox/react-toolbox/commit/afb6532)) +* Update README.md ([3d8cd66](https://github.com/react-toolbox/react-toolbox/commit/3d8cd66)) +* Update readme.md (#1478) ([f90958d](https://github.com/react-toolbox/react-toolbox/commit/f90958d)), closes [#1478](https://github.com/react-toolbox/react-toolbox/issues/1478) +* Update tests to use css-transition-group 2 ([ab2e789](https://github.com/react-toolbox/react-toolbox/commit/ab2e789)) +* Update tests to use Enzyme 3 ([c510029](https://github.com/react-toolbox/react-toolbox/commit/c510029)) +* Update tests to use react-dom/test-utils ([08ca837](https://github.com/react-toolbox/react-toolbox/commit/08ca837)) +* Update URLs to new .io domain ([b0a7533](https://github.com/react-toolbox/react-toolbox/commit/b0a7533)) +* Update versions ([7e4c12e](https://github.com/react-toolbox/react-toolbox/commit/7e4c12e)) +* Updated dependencies (#1448) ([2981da4](https://github.com/react-toolbox/react-toolbox/commit/2981da4)), closes [#1448](https://github.com/react-toolbox/react-toolbox/issues/1448) +* Upgrade react-transition-group ([ced94a4](https://github.com/react-toolbox/react-toolbox/commit/ced94a4)) +* Upgrade to node 7 ([66a47bb](https://github.com/react-toolbox/react-toolbox/commit/66a47bb)) +* Use code instead of keyCode ([f8a7e88](https://github.com/react-toolbox/react-toolbox/commit/f8a7e88)) +* Use hover effect on selected table row as well ([889e9ca](https://github.com/react-toolbox/react-toolbox/commit/889e9ca)) +* Use innerRef to blur input ([a7d0c5b](https://github.com/react-toolbox/react-toolbox/commit/a7d0c5b)) +* Use proper code values in KEYS constant đŸ€ŠđŸ»â€â™‚ïž ([6fa13f1](https://github.com/react-toolbox/react-toolbox/commit/6fa13f1)) +* Use window.requestAnimationFrame in Tabs.js ([bc05c69](https://github.com/react-toolbox/react-toolbox/commit/bc05c69)) +* TypeScript: snack-bar label accepts element ([40aa354](https://github.com/react-toolbox/react-toolbox/commit/40aa354)) +* Portal: Fix Invalid "style" PropType (#1664) ([8b7fc07](https://github.com/react-toolbox/react-toolbox/commit/8b7fc07)), closes [#1664](https://github.com/react-toolbox/react-toolbox/issues/1664) +* IconMenu: active prop (#1662). ([0103d95](https://github.com/react-toolbox/react-toolbox/commit/0103d95)), closes [#1662](https://github.com/react-toolbox/react-toolbox/issues/1662) +* IconMenu: active prop (#1662). ([74bd2dc](https://github.com/react-toolbox/react-toolbox/commit/74bd2dc)), closes [#1662](https://github.com/react-toolbox/react-toolbox/issues/1662) +* IconMenu: active prop (#1662). more tests. ([bf790d7](https://github.com/react-toolbox/react-toolbox/commit/bf790d7)), closes [#1662](https://github.com/react-toolbox/react-toolbox/issues/1662) +* IconMenu: active prop (fixes #1662). ([0f51c06](https://github.com/react-toolbox/react-toolbox/commit/0f51c06)), closes [#1662](https://github.com/react-toolbox/react-toolbox/issues/1662) +* fix: of -> or in documentation ([31fac7b](https://github.com/react-toolbox/react-toolbox/commit/31fac7b)) + + + + +# 2.0.0-beta.8 (2017-04-06) + +* Add callback functions to slider for when slider starts being dragged, and when it stops. (#1287) ([f5c1138](https://github.com/react-toolbox/react-toolbox/commit/f5c1138)) +* Add chinese localization (#1290) ([9a916e0](https://github.com/react-toolbox/react-toolbox/commit/9a916e0)) +* Add npm pretest script (#1396) ([ade338f](https://github.com/react-toolbox/react-toolbox/commit/ade338f)) +* Add possibility to render component as AppBar title ([cd3fefc](https://github.com/react-toolbox/react-toolbox/commit/cd3fefc)) +* Added missing onKey(Down|Up) input property definitions (#1318) ([4ff1cc9](https://github.com/react-toolbox/react-toolbox/commit/4ff1cc9)) +* Autocomplete accepting suggestionMatch none (#1289) ([b75214c](https://github.com/react-toolbox/react-toolbox/commit/b75214c)) +* Bugfix[AutoComplete]: showAllSuggestions state should be true if showSuggestionsWhenValueIsSet is tr ([3e834cb](https://github.com/react-toolbox/react-toolbox/commit/3e834cb)) +* Dev dialog overflow (#1303) ([3dde4c4](https://github.com/react-toolbox/react-toolbox/commit/3dde4c4)) +* Don't spread state in setState, it's already done by react (#1336) ([d5f2c98](https://github.com/react-toolbox/react-toolbox/commit/d5f2c98)) +* Esc key event listener leakage fixed (#1376) ([a4f8da5](https://github.com/react-toolbox/react-toolbox/commit/a4f8da5)), closes [#1376](https://github.com/react-toolbox/react-toolbox/issues/1376) +* Fix #1368 (#1369) ([509e846](https://github.com/react-toolbox/react-toolbox/commit/509e846)), closes [#1368](https://github.com/react-toolbox/react-toolbox/issues/1368) [#1369](https://github.com/react-toolbox/react-toolbox/issues/1369) +* Fix allowCreate in Autocomplete when value prop is an object (#1334) ([da85a69](https://github.com/react-toolbox/react-toolbox/commit/da85a69)), closes [#1334](https://github.com/react-toolbox/react-toolbox/issues/1334) +* Fix error in events.js transitionEventNamesFor method (#1294) ([73bf3be](https://github.com/react-toolbox/react-toolbox/commit/73bf3be)), closes [#1294](https://github.com/react-toolbox/react-toolbox/issues/1294) +* Fix GitHub brand typo (#1356) ([9beb7fc](https://github.com/react-toolbox/react-toolbox/commit/9beb7fc)), closes [#1356](https://github.com/react-toolbox/react-toolbox/issues/1356) +* Fix TableCell definition (#1386) ([991a430](https://github.com/react-toolbox/react-toolbox/commit/991a430)), closes [#1386](https://github.com/react-toolbox/react-toolbox/issues/1386) +* Fixes #1221 (#1324) ([ec5f15d](https://github.com/react-toolbox/react-toolbox/commit/ec5f15d)), closes [#1221](https://github.com/react-toolbox/react-toolbox/issues/1221) [#1324](https://github.com/react-toolbox/react-toolbox/issues/1324) +* Fixes #1242 ([34faf74](https://github.com/react-toolbox/react-toolbox/commit/34faf74)), closes [#1242](https://github.com/react-toolbox/react-toolbox/issues/1242) +* Fixes Ripple event error in case props.ripple === false (#1344) ([ad6f303](https://github.com/react-toolbox/react-toolbox/commit/ad6f303)), closes [#1344](https://github.com/react-toolbox/react-toolbox/issues/1344) +* fixes table clone element when child is null (#1326) ([7231a7c](https://github.com/react-toolbox/react-toolbox/commit/7231a7c)), closes [#1326](https://github.com/react-toolbox/react-toolbox/issues/1326) +* Lock node version on package.json (#1394) ([d86f774](https://github.com/react-toolbox/react-toolbox/commit/d86f774)) +* Release 2.0.0-beta.8 ([1181acd](https://github.com/react-toolbox/react-toolbox/commit/1181acd)) +* Restore linter run in travis ([bd926ae](https://github.com/react-toolbox/react-toolbox/commit/bd926ae)) +* Run builds from last node LTS and stable ([a5a9a0a](https://github.com/react-toolbox/react-toolbox/commit/a5a9a0a)) +* Small fixes ([56a730e](https://github.com/react-toolbox/react-toolbox/commit/56a730e)) +* Tabs pointer not being updated (#1224) (#1325) ([5de4e73](https://github.com/react-toolbox/react-toolbox/commit/5de4e73)), closes [#1224](https://github.com/react-toolbox/react-toolbox/issues/1224) +* Update AppBar.js ([4ef719a](https://github.com/react-toolbox/react-toolbox/commit/4ef719a)) +* Update FontIcon.js (#1321) ([697b4d6](https://github.com/react-toolbox/react-toolbox/commit/697b4d6)), closes [#1320](https://github.com/react-toolbox/react-toolbox/issues/1320) +* Update install.md (#1398) ([4cc87db](https://github.com/react-toolbox/react-toolbox/commit/4cc87db)) +* Update readme.md (#1363) ([c5bf439](https://github.com/react-toolbox/react-toolbox/commit/c5bf439)), closes [#1362](https://github.com/react-toolbox/react-toolbox/issues/1362) [#1363](https://github.com/react-toolbox/react-toolbox/issues/1363) +* Upgrade nvm node version ([3477520](https://github.com/react-toolbox/react-toolbox/commit/3477520)) +* WIP ([fdd7873](https://github.com/react-toolbox/react-toolbox/commit/fdd7873)) +* WIP ([4b713c3](https://github.com/react-toolbox/react-toolbox/commit/4b713c3)) +* feat(slider): add buffer prop to Slider (#1317) ([0bd575f](https://github.com/react-toolbox/react-toolbox/commit/0bd575f)) + + + + +# 2.0.0-beta.7 (2017-03-08) + +* `disabled` suggestionMatch in d.ts (#1241) ([8e2b688](https://github.com/react-toolbox/react-toolbox/commit/8e2b688)) +* Add $input-icon-right-space var to add the correct spacing to the input based on Material Spec. (#11 ([0360eb8](https://github.com/react-toolbox/react-toolbox/commit/0360eb8)) +* Allow numbers for Input value prop. Fixes #1180 ([ba29686](https://github.com/react-toolbox/react-toolbox/commit/ba29686)), closes [#1180](https://github.com/react-toolbox/react-toolbox/issues/1180) +* Allow to reference Input via Autocomplete (#1255) ([3d2329a](https://github.com/react-toolbox/react-toolbox/commit/3d2329a)) +* Custom label and value keys for Dropdown (#1273) ([6295ca4](https://github.com/react-toolbox/react-toolbox/commit/6295ca4)) +* Eslint plugin compat ([dc60b07](https://github.com/react-toolbox/react-toolbox/commit/dc60b07)) +* Export all from table (#1244) ([6bbba4a](https://github.com/react-toolbox/react-toolbox/commit/6bbba4a)) +* Fix #1219 ([e366bed](https://github.com/react-toolbox/react-toolbox/commit/e366bed)), closes [#1219](https://github.com/react-toolbox/react-toolbox/issues/1219) +* Fix error in "flat" property description (#1265) ([53e09d9](https://github.com/react-toolbox/react-toolbox/commit/53e09d9)), closes [#1265](https://github.com/react-toolbox/react-toolbox/issues/1265) +* Fix ripple overflowing outside the boundaries of list item (#1215) ([8a4b628](https://github.com/react-toolbox/react-toolbox/commit/8a4b628)), closes [#1215](https://github.com/react-toolbox/react-toolbox/issues/1215) [#1205](https://github.com/react-toolbox/react-toolbox/issues/1205) +* fix typo in app_bar readme.md (#1247) ([27535a9](https://github.com/react-toolbox/react-toolbox/commit/27535a9)), closes [#1247](https://github.com/react-toolbox/react-toolbox/issues/1247) +* fixed broken link (#1181) ([61b4845](https://github.com/react-toolbox/react-toolbox/commit/61b4845)), closes [#1181](https://github.com/react-toolbox/react-toolbox/issues/1181) +* Fixes #1086 (#1212) ([60b147f](https://github.com/react-toolbox/react-toolbox/commit/60b147f)), closes [#1086](https://github.com/react-toolbox/react-toolbox/issues/1086) [#1212](https://github.com/react-toolbox/react-toolbox/issues/1212) +* Fixes #1195 ([0f4a16a](https://github.com/react-toolbox/react-toolbox/commit/0f4a16a)), closes [#1195](https://github.com/react-toolbox/react-toolbox/issues/1195) +* handle defaultValue to (#1178) ([c6ce6aa](https://github.com/react-toolbox/react-toolbox/commit/c6ce6aa)) +* How to hide AppBar icon based on permanentAt value (#1194) ([498bb46](https://github.com/react-toolbox/react-toolbox/commit/498bb46)) +* Import Ramda values function directly (#1209) ([75a219b](https://github.com/react-toolbox/react-toolbox/commit/75a219b)) +* Invalid appBarIconVisible calculation (#1239) ([bde478e](https://github.com/react-toolbox/react-toolbox/commit/bde478e)), closes [#1231](https://github.com/react-toolbox/react-toolbox/issues/1231) +* Move `react-style-proptype` to non-dev deps (#1190) ([a0e1392](https://github.com/react-toolbox/react-toolbox/commit/a0e1392)) +* Move eslint-plugin-babel to devDependencies (#1222) ([558040d](https://github.com/react-toolbox/react-toolbox/commit/558040d)) +* Move gulp-rimraf to devDependencies (#1214) ([632411b](https://github.com/react-toolbox/react-toolbox/commit/632411b)) +* Release 2.0.0-beta.7 ([5baf015](https://github.com/react-toolbox/react-toolbox/commit/5baf015)) +* Remove tests from build and remove sinon ([23b4537](https://github.com/react-toolbox/react-toolbox/commit/23b4537)) +* Remove unnecessary reference to sliderLength in knobOffset method (#1271) ([e7f5210](https://github.com/react-toolbox/react-toolbox/commit/e7f5210)) +* Update Changelog ([fa3f5e9](https://github.com/react-toolbox/react-toolbox/commit/fa3f5e9)) +* Update README.md for PostCSS instead of SASS (#1251) ([9354f4b](https://github.com/react-toolbox/react-toolbox/commit/9354f4b)) +* Use Jest 🃏 and upgrade Webpack and other dependencies ([b48c17d](https://github.com/react-toolbox/react-toolbox/commit/b48c17d)) +* Bugfix: Propert selector for disabled value in Dropdown ([cec890b](https://github.com/react-toolbox/react-toolbox/commit/cec890b)) + + + + +# 2.0.0-beta.6 (2017-01-28) + +* Fix tests ([1427e75](https://github.com/react-toolbox/react-toolbox/commit/1427e75)) +* Import TabTheme interface at Tabs TS definition ([bc18e56](https://github.com/react-toolbox/react-toolbox/commit/bc18e56)) +* Release 2.0.0-beta.6 ([6588093](https://github.com/react-toolbox/react-toolbox/commit/6588093)) +* Update CHANGELOG.md ([399efe8](https://github.com/react-toolbox/react-toolbox/commit/399efe8)) +* Update dependencies ([ff55f5a](https://github.com/react-toolbox/react-toolbox/commit/ff55f5a)) +* Update dependencies and linter (#1180) ([9d6ec1e](https://github.com/react-toolbox/react-toolbox/commit/9d6ec1e)) +* Use isComponentOfType in Tabs. Fixes #1155 ([2224eb6](https://github.com/react-toolbox/react-toolbox/commit/2224eb6)), closes [#1155](https://github.com/react-toolbox/react-toolbox/issues/1155) + + + + +# 2.0.0-beta.5 (2017-01-24) + +* Ability to override default isComponentOfType implementation (#1164) ([49d6605](https://github.com/react-toolbox/react-toolbox/commit/49d6605)) +* Add backers and Sponsors (#1137) ([46f5353](https://github.com/react-toolbox/react-toolbox/commit/46f5353)) +* Add development note ([815b31b](https://github.com/react-toolbox/react-toolbox/commit/815b31b)) +* Add inverse to (#1147) ([7161518](https://github.com/react-toolbox/react-toolbox/commit/7161518)) +* Add NavDrawer to spec ([b7c50ea](https://github.com/react-toolbox/react-toolbox/commit/b7c50ea)) +* Add ripple for Tabs. Fixes #377 ([792f8ac](https://github.com/react-toolbox/react-toolbox/commit/792f8ac)), closes [#377](https://github.com/react-toolbox/react-toolbox/issues/377) +* Add ROADMAP đŸš” ([c145c34](https://github.com/react-toolbox/react-toolbox/commit/c145c34)) +* Add suggestionMatch option to disable filtering (#1122) ([d3fe9f9](https://github.com/react-toolbox/react-toolbox/commit/d3fe9f9)) +* Add title to the GitHub Icon ([1ffd4d3](https://github.com/react-toolbox/react-toolbox/commit/1ffd4d3)) +* Added proper type definitions for dialog actions so typescript users can pass on props to the genera ([f8bd867](https://github.com/react-toolbox/react-toolbox/commit/f8bd867)) +* Allow null children in List ([9ef7209](https://github.com/react-toolbox/react-toolbox/commit/9ef7209)) +* Alternative text for the FontIcon ([51d58eb](https://github.com/react-toolbox/react-toolbox/commit/51d58eb)) +* Better icons alignment ([0c2a296](https://github.com/react-toolbox/react-toolbox/commit/0c2a296)) +* Check if element exists in ripple when it's reset ([5049571](https://github.com/react-toolbox/react-toolbox/commit/5049571)) +* Enable dynamic source for single value Autocomplete (#1120) ([d80dc82](https://github.com/react-toolbox/react-toolbox/commit/d80dc82)) +* Expose onEscKeyDown on Drawer component (#1150) ([65f8120](https://github.com/react-toolbox/react-toolbox/commit/65f8120)) +* Fix right arrow appearing when window is re-sized ([78895c0](https://github.com/react-toolbox/react-toolbox/commit/78895c0)) +* Fixes #1030 ([31788ea](https://github.com/react-toolbox/react-toolbox/commit/31788ea)), closes [#1030](https://github.com/react-toolbox/react-toolbox/issues/1030) +* Fixes #1055 ([13688ed](https://github.com/react-toolbox/react-toolbox/commit/13688ed)), closes [#1055](https://github.com/react-toolbox/react-toolbox/issues/1055) +* Fixes #1085 ([c874616](https://github.com/react-toolbox/react-toolbox/commit/c874616)), closes [#1085](https://github.com/react-toolbox/react-toolbox/issues/1085) +* Fixes #1119 ([52f6c4a](https://github.com/react-toolbox/react-toolbox/commit/52f6c4a)), closes [#1119](https://github.com/react-toolbox/react-toolbox/issues/1119) +* Fixes #1127 ([7e26773](https://github.com/react-toolbox/react-toolbox/commit/7e26773)), closes [#1127](https://github.com/react-toolbox/react-toolbox/issues/1127) +* Fixes #1128 ([45b92b1](https://github.com/react-toolbox/react-toolbox/commit/45b92b1)), closes [#1128](https://github.com/react-toolbox/react-toolbox/issues/1128) +* Fixes #1130 ([fa4a9ba](https://github.com/react-toolbox/react-toolbox/commit/fa4a9ba)), closes [#1130](https://github.com/react-toolbox/react-toolbox/issues/1130) +* Fixes #1133 ([5b1c92d](https://github.com/react-toolbox/react-toolbox/commit/5b1c92d)), closes [#1133](https://github.com/react-toolbox/react-toolbox/issues/1133) +* Fixes #1139 ([63ef656](https://github.com/react-toolbox/react-toolbox/commit/63ef656)), closes [#1139](https://github.com/react-toolbox/react-toolbox/issues/1139) +* Fixes #1159 ([cee3fb2](https://github.com/react-toolbox/react-toolbox/commit/cee3fb2)), closes [#1159](https://github.com/react-toolbox/react-toolbox/issues/1159) +* Fixes #1171 ([181e5c2](https://github.com/react-toolbox/react-toolbox/commit/181e5c2)), closes [#1171](https://github.com/react-toolbox/react-toolbox/issues/1171) +* Fixes #1172 ([b4edcbc](https://github.com/react-toolbox/react-toolbox/commit/b4edcbc)), closes [#1172](https://github.com/react-toolbox/react-toolbox/issues/1172) +* Fixes #1173 ([d11ac37](https://github.com/react-toolbox/react-toolbox/commit/d11ac37)), closes [#1173](https://github.com/react-toolbox/react-toolbox/issues/1173) +* Grammar tweaks (#1113) ([21fe247](https://github.com/react-toolbox/react-toolbox/commit/21fe247)) +* Migrate styles to PostCSS (#666) ([81acda7](https://github.com/react-toolbox/react-toolbox/commit/81acda7)), closes [#966](https://github.com/react-toolbox/react-toolbox/issues/966) [#965](https://github.com/react-toolbox/react-toolbox/issues/965) [#976](https://github.com/react-toolbox/react-toolbox/issues/976) [#1021](https://github.com/react-toolbox/react-toolbox/issues/1021) [#1038](https://github.com/react-toolbox/react-toolbox/issues/1038) [#1061](https://github.com/react-toolbox/react-toolbox/issues/1061) [#1032](https://github.com/react-toolbox/react-toolbox/issues/1032) [#1064](https://github.com/react-toolbox/react-toolbox/issues/1064) +* Pass children to FontIcon ([ad30d7b](https://github.com/react-toolbox/react-toolbox/commit/ad30d7b)) +* Release 2.0.0-beta.5 ([69be656](https://github.com/react-toolbox/react-toolbox/commit/69be656)) +* Remove diacritic signs in query and suggestions (#1115) ([2e3cb68](https://github.com/react-toolbox/react-toolbox/commit/2e3cb68)) +* Restructure typescript definitions (#1114) ([f365724](https://github.com/react-toolbox/react-toolbox/commit/f365724)) +* Update Button README.md (#1081) ([6c10414](https://github.com/react-toolbox/react-toolbox/commit/6c10414)) +* Typescript: document Input methods (#1154) ([eff4b84](https://github.com/react-toolbox/react-toolbox/commit/eff4b84)) +* feat(a11y): add alt attribute to set alternative text for the icon or image (#1102) ([3859c46](https://github.com/react-toolbox/react-toolbox/commit/3859c46)) + + + + +## 1.3.4 (2017-01-05) + +* Declare immutability-helper as direct dependency ([85b6010](https://github.com/react-toolbox/react-toolbox/commit/85b6010)) +* Downgrade node-sass ([0116d5d](https://github.com/react-toolbox/react-toolbox/commit/0116d5d)) +* fix few missing propTypes ([ca8e4c6](https://github.com/react-toolbox/react-toolbox/commit/ca8e4c6)) +* Fix linter ([8b25e96](https://github.com/react-toolbox/react-toolbox/commit/8b25e96)) +* Fixes #1032 ([323ea32](https://github.com/react-toolbox/react-toolbox/commit/323ea32)), closes [#1032](https://github.com/react-toolbox/react-toolbox/issues/1032) +* Fixes #1034 ([bf00d92](https://github.com/react-toolbox/react-toolbox/commit/bf00d92)), closes [#1034](https://github.com/react-toolbox/react-toolbox/issues/1034) +* Fixes #750 ([fa97709](https://github.com/react-toolbox/react-toolbox/commit/fa97709)), closes [#750](https://github.com/react-toolbox/react-toolbox/issues/750) +* Fixes #750 ([f7da37a](https://github.com/react-toolbox/react-toolbox/commit/f7da37a)), closes [#750](https://github.com/react-toolbox/react-toolbox/issues/750) +* Release 1.3.4 ([8f61374](https://github.com/react-toolbox/react-toolbox/commit/8f61374)) +* Update documentation dependencies ([d765913](https://github.com/react-toolbox/react-toolbox/commit/d765913)) +* update typings to 1.3.3 ([b5e0c62](https://github.com/react-toolbox/react-toolbox/commit/b5e0c62)) + + + + +## 1.3.3 (2016-12-17) + +* Add disabled dropdown item feature & add its test cases & update docs ([b419f44](https://github.com/react-toolbox/react-toolbox/commit/b419f44)) +* Added safety check on vals ([3d4d93b](https://github.com/react-toolbox/react-toolbox/commit/3d4d93b)) +* Cleaned up isValueAnObject check ([d38abd1](https://github.com/react-toolbox/react-toolbox/commit/d38abd1)) +* Fix broken example in Card component ([3e67d35](https://github.com/react-toolbox/react-toolbox/commit/3e67d35)) +* Fixes #1025 ([c18ffa4](https://github.com/react-toolbox/react-toolbox/commit/c18ffa4)), closes [#1025](https://github.com/react-toolbox/react-toolbox/issues/1025) +* refactor propTypes more descriptive ([f006875](https://github.com/react-toolbox/react-toolbox/commit/f006875)) +* Reformat ([7c6f5ae](https://github.com/react-toolbox/react-toolbox/commit/7c6f5ae)) +* relaxing propTypes of Input & Autocomplete ([ce3fbfc](https://github.com/react-toolbox/react-toolbox/commit/ce3fbfc)) +* Release 1.3.3 ([f66c24b](https://github.com/react-toolbox/react-toolbox/commit/f66c24b)) +* Update dependencies ([3550f3c](https://github.com/react-toolbox/react-toolbox/commit/3550f3c)) + + + + +## 1.3.2 (2016-12-06) + +* Added onQueryChange description to readme ([7d19b9a](https://github.com/react-toolbox/react-toolbox/commit/7d19b9a)) +* Added showSelectedWhenNotInSource to AutocompleteTheme ([afb0f29](https://github.com/react-toolbox/react-toolbox/commit/afb0f29)) +* Allow Tooltip factory to use string native components ([b3f9934](https://github.com/react-toolbox/react-toolbox/commit/b3f9934)) +* Build ([5a491aa](https://github.com/react-toolbox/react-toolbox/commit/5a491aa)) +* Enable theming of Input component inside Dropdown component. ([c5b1473](https://github.com/react-toolbox/react-toolbox/commit/c5b1473)) +* Fixes #1016 ([5b39cfd](https://github.com/react-toolbox/react-toolbox/commit/5b39cfd)), closes [#1016](https://github.com/react-toolbox/react-toolbox/issues/1016) +* Make chips avatar detection work when decorated ([0613cf7](https://github.com/react-toolbox/react-toolbox/commit/0613cf7)) +* Make Tooltip use currentTarget instead of target when calculating the position ([1e0aaec](https://github.com/react-toolbox/react-toolbox/commit/1e0aaec)) +* Release 1.3.2 ([66090ab](https://github.com/react-toolbox/react-toolbox/commit/66090ab)) +* Removed lib ([71b7f51](https://github.com/react-toolbox/react-toolbox/commit/71b7f51)) +* Updated readme to include new showSelectedWhenNotInSource prop ([b83980d](https://github.com/react-toolbox/react-toolbox/commit/b83980d)) +* Updated selectedPosition description in readme ([d19249f](https://github.com/react-toolbox/react-toolbox/commit/d19249f)) + + + + +## 1.3.1 (2016-11-30) + +* Added logic to show selected chips even if they don't exist in source (showSelectedWhenNotInSource). ([e301116](https://github.com/react-toolbox/react-toolbox/commit/e301116)) +* Built ([c3f3510](https://github.com/react-toolbox/react-toolbox/commit/c3f3510)) +* Dropdown auto fix ([2f5e0f5](https://github.com/react-toolbox/react-toolbox/commit/2f5e0f5)) +* Fixes #1001 ([4378f46](https://github.com/react-toolbox/react-toolbox/commit/4378f46)), closes [#1001](https://github.com/react-toolbox/react-toolbox/issues/1001) +* Fixes #1007 ([d8a30f3](https://github.com/react-toolbox/react-toolbox/commit/d8a30f3)), closes [#1007](https://github.com/react-toolbox/react-toolbox/issues/1007) +* Fixes #236 ([4c154e8](https://github.com/react-toolbox/react-toolbox/commit/4c154e8)), closes [#236](https://github.com/react-toolbox/react-toolbox/issues/236) +* Fixes #964 ([8734ece](https://github.com/react-toolbox/react-toolbox/commit/8734ece)), closes [#964](https://github.com/react-toolbox/react-toolbox/issues/964) +* Fixes #999 ([049b3f6](https://github.com/react-toolbox/react-toolbox/commit/049b3f6)), closes [#999](https://github.com/react-toolbox/react-toolbox/issues/999) +* Published lib ([942d56f](https://github.com/react-toolbox/react-toolbox/commit/942d56f)) +* Release 1.3.1 ([a8e1bb7](https://github.com/react-toolbox/react-toolbox/commit/a8e1bb7)) +* Tidy up ([3237ad0](https://github.com/react-toolbox/react-toolbox/commit/3237ad0)) + + + + +# 1.3.0 (2016-11-25) + +* Add "tooltipShowOnClick" to Tooltip component ([056551e](https://github.com/react-toolbox/react-toolbox/commit/056551e)) +* Add example of multiword icon name ([9d8c975](https://github.com/react-toolbox/react-toolbox/commit/9d8c975)) +* Add internal ip to easily test other devices ([c3a614c](https://github.com/react-toolbox/react-toolbox/commit/c3a614c)) +* Add no localization ([7eb6680](https://github.com/react-toolbox/react-toolbox/commit/7eb6680)) +* Add no localization ([fb855bd](https://github.com/react-toolbox/react-toolbox/commit/fb855bd)) +* add required attribute to DropdownProps interface ([6eda1f9](https://github.com/react-toolbox/react-toolbox/commit/6eda1f9)) +* Add Tabs' `inverse` and `hideMode` props in d.ts ([001a871](https://github.com/react-toolbox/react-toolbox/commit/001a871)) +* Add tooltipShowOnClick to README ([3c468d1](https://github.com/react-toolbox/react-toolbox/commit/3c468d1)) +* Added enabled and disabled date properties to date picker. ([6f0db34](https://github.com/react-toolbox/react-toolbox/commit/6f0db34)) +* added extension topic at readme.md ([c6706ae](https://github.com/react-toolbox/react-toolbox/commit/c6706ae)) +* Added german time settings ([5918895](https://github.com/react-toolbox/react-toolbox/commit/5918895)) +* Added german time to docs ([2657a94](https://github.com/react-toolbox/react-toolbox/commit/2657a94)) +* Adds a hook to get the autocomplete query value. ([8052a77](https://github.com/react-toolbox/react-toolbox/commit/8052a77)) +* Adds missing file ([350463c](https://github.com/react-toolbox/react-toolbox/commit/350463c)) +* Adds type definitions. Makes it possible to hide the Chips. ([fb263f4](https://github.com/react-toolbox/react-toolbox/commit/fb263f4)) +* Error in allowBlank ([f0f996e](https://github.com/react-toolbox/react-toolbox/commit/f0f996e)) +* Extend extensions ([77a1db6](https://github.com/react-toolbox/react-toolbox/commit/77a1db6)) +* Extract reused logic. ([f7a3b6d](https://github.com/react-toolbox/react-toolbox/commit/f7a3b6d)) +* fix (#942): slider increments with steps ([66a630c](https://github.com/react-toolbox/react-toolbox/commit/66a630c)), closes [#942](https://github.com/react-toolbox/react-toolbox/issues/942) +* fix (#943): prevent navdrawer toggle when clicking on it ([95b7403](https://github.com/react-toolbox/react-toolbox/commit/95b7403)), closes [#943](https://github.com/react-toolbox/react-toolbox/issues/943) +* Fix #250 ([8964781](https://github.com/react-toolbox/react-toolbox/commit/8964781)), closes [#250](https://github.com/react-toolbox/react-toolbox/issues/250) +* Fix #297 ([276e891](https://github.com/react-toolbox/react-toolbox/commit/276e891)), closes [#297](https://github.com/react-toolbox/react-toolbox/issues/297) +* Fix #409 ([091a1fa](https://github.com/react-toolbox/react-toolbox/commit/091a1fa)), closes [#409](https://github.com/react-toolbox/react-toolbox/issues/409) +* Fix #866 ([e240cf2](https://github.com/react-toolbox/react-toolbox/commit/e240cf2)), closes [#866](https://github.com/react-toolbox/react-toolbox/issues/866) +* Fix #877 ([d0a9032](https://github.com/react-toolbox/react-toolbox/commit/d0a9032)), closes [#877](https://github.com/react-toolbox/react-toolbox/issues/877) +* Fix #883 ([1fefbae](https://github.com/react-toolbox/react-toolbox/commit/1fefbae)), closes [#883](https://github.com/react-toolbox/react-toolbox/issues/883) +* Fix #894 ([00da4dd](https://github.com/react-toolbox/react-toolbox/commit/00da4dd)), closes [#894](https://github.com/react-toolbox/react-toolbox/issues/894) +* Fix #898 ([2e2a8fd](https://github.com/react-toolbox/react-toolbox/commit/2e2a8fd)), closes [#898](https://github.com/react-toolbox/react-toolbox/issues/898) +* Fix #900 ([956ea57](https://github.com/react-toolbox/react-toolbox/commit/956ea57)), closes [#900](https://github.com/react-toolbox/react-toolbox/issues/900) +* Fix #902 ([9cd7fba](https://github.com/react-toolbox/react-toolbox/commit/9cd7fba)), closes [#902](https://github.com/react-toolbox/react-toolbox/issues/902) +* Fix #904 ([173cff0](https://github.com/react-toolbox/react-toolbox/commit/173cff0)), closes [#904](https://github.com/react-toolbox/react-toolbox/issues/904) +* Fix #910 ([25bba26](https://github.com/react-toolbox/react-toolbox/commit/25bba26)), closes [#910](https://github.com/react-toolbox/react-toolbox/issues/910) +* Fix #915 ([cc9a782](https://github.com/react-toolbox/react-toolbox/commit/cc9a782)), closes [#915](https://github.com/react-toolbox/react-toolbox/issues/915) +* Fix #930 ([00a0a9f](https://github.com/react-toolbox/react-toolbox/commit/00a0a9f)), closes [#930](https://github.com/react-toolbox/react-toolbox/issues/930) +* Fix #939 ([941e41d](https://github.com/react-toolbox/react-toolbox/commit/941e41d)), closes [#939](https://github.com/react-toolbox/react-toolbox/issues/939) +* Fix #941 ([02b38e8](https://github.com/react-toolbox/react-toolbox/commit/02b38e8)), closes [#941](https://github.com/react-toolbox/react-toolbox/issues/941) +* Fix #953 ([fb52c00](https://github.com/react-toolbox/react-toolbox/commit/fb52c00)), closes [#953](https://github.com/react-toolbox/react-toolbox/issues/953) +* Fix #983 ([6fb1bcd](https://github.com/react-toolbox/react-toolbox/commit/6fb1bcd)), closes [#983](https://github.com/react-toolbox/react-toolbox/issues/983) +* Fix Autocomplete mouse selection. ([a1ad40e](https://github.com/react-toolbox/react-toolbox/commit/a1ad40e)) +* Fix code style. ([4cd756d](https://github.com/react-toolbox/react-toolbox/commit/4cd756d)) +* Fix linter issue with trailing comma in time utils ([adf3567](https://github.com/react-toolbox/react-toolbox/commit/adf3567)) +* Fix sunday to be first day of week ([e74e58e](https://github.com/react-toolbox/react-toolbox/commit/e74e58e)) +* Implementing tab pagination per material design specifications. ([d498170](https://github.com/react-toolbox/react-toolbox/commit/d498170)) +* Inject and use FontIcon and minor rendering changes for Tabs ([ad0bcc3](https://github.com/react-toolbox/react-toolbox/commit/ad0bcc3)) +* Latest build ([e40c774](https://github.com/react-toolbox/react-toolbox/commit/e40c774)) +* Pass event to selection. ([5c79ef0](https://github.com/react-toolbox/react-toolbox/commit/5c79ef0)) +* Refactor ([0683e7d](https://github.com/react-toolbox/react-toolbox/commit/0683e7d)) +* Release 1.3.0 ([8b4c9bc](https://github.com/react-toolbox/react-toolbox/commit/8b4c9bc)) +* Remove unneeded timeouts from Tabs ([9a1b7d5](https://github.com/react-toolbox/react-toolbox/commit/9a1b7d5)) +* Removes onQueryChange from props that are passed down to the Input element in Autocomplete ([9d732f4](https://github.com/react-toolbox/react-toolbox/commit/9d732f4)) +* Restrict dependencies to major versions only. ([525c6b1](https://github.com/react-toolbox/react-toolbox/commit/525c6b1)) +* Update deps ([ccf8c35](https://github.com/react-toolbox/react-toolbox/commit/ccf8c35)) +* Update Google URLs ([df81465](https://github.com/react-toolbox/react-toolbox/commit/df81465)) +* Update instructions for running docs locally ([a73fab2](https://github.com/react-toolbox/react-toolbox/commit/a73fab2)) +* Update react-css-themr (~1.6.0) ([9deddd8](https://github.com/react-toolbox/react-toolbox/commit/9deddd8)) +* Use 3 letter day name instead of 2 + . ([40ba89c](https://github.com/react-toolbox/react-toolbox/commit/40ba89c)) +* Use 3 letter name instead of 2 plus . ([a488728](https://github.com/react-toolbox/react-toolbox/commit/a488728)) +* Use 3 letter name instead of 2+. for shortname day ([47c314b](https://github.com/react-toolbox/react-toolbox/commit/47c314b)) + + + + +## 1.2.5 (2016-11-03) + +* Add AppBar example ([ebf523d](https://github.com/react-toolbox/react-toolbox/commit/ebf523d)) +* Release 1.2.5 ([e7b0d46](https://github.com/react-toolbox/react-toolbox/commit/e7b0d46)) +* remove icon from Snackbar ([736eeeb](https://github.com/react-toolbox/react-toolbox/commit/736eeeb)) +* Run build ([03a334c](https://github.com/react-toolbox/react-toolbox/commit/03a334c)) +* Support elements in icon attribute in IconButton ([62f55ca](https://github.com/react-toolbox/react-toolbox/commit/62f55ca)) +* Use AppBar attributes instead of IconButton in example ([2e20479](https://github.com/react-toolbox/react-toolbox/commit/2e20479)) + + + + +## 1.2.4 (2016-11-01) + +* [chore] Added lint-staged along with the config. ([c1e84e4](https://github.com/react-toolbox/react-toolbox/commit/c1e84e4)) +* * Added multiline height, see #811 ([a50c1c4](https://github.com/react-toolbox/react-toolbox/commit/a50c1c4)) +* * Fixed indentation. ([7856f92](https://github.com/react-toolbox/react-toolbox/commit/7856f92)) +* * Fixed trailing comma. ([8d62c8f](https://github.com/react-toolbox/react-toolbox/commit/8d62c8f)) +* Add event to autocomplete onBlur ([b2ad418](https://github.com/react-toolbox/react-toolbox/commit/b2ad418)) +* Add onDismiss for TimePicker ([d59a139](https://github.com/react-toolbox/react-toolbox/commit/d59a139)) +* Add optional cancel handler in dialog dismiss ([c2da4d8](https://github.com/react-toolbox/react-toolbox/commit/c2da4d8)) +* Downgrade normalize ([0063cc3](https://github.com/react-toolbox/react-toolbox/commit/0063cc3)) +* fix handleMultipleChange in autocomplete spec ([690a79a](https://github.com/react-toolbox/react-toolbox/commit/690a79a)) +* Fix red border in required inputs at Firefox fixes #916 ([879d0c2](https://github.com/react-toolbox/react-toolbox/commit/879d0c2)), closes [#916](https://github.com/react-toolbox/react-toolbox/issues/916) +* Fix Switch white-space ([17c791a](https://github.com/react-toolbox/react-toolbox/commit/17c791a)) +* fix type of theme.required fixing issue #867 ([be81e4d](https://github.com/react-toolbox/react-toolbox/commit/be81e4d)) +* Fixed issue with rendering calendar incorrectly when first day of a month is Sunday ([5cea4e3](https://github.com/react-toolbox/react-toolbox/commit/5cea4e3)) +* fixed layout for IE ([53e016e](https://github.com/react-toolbox/react-toolbox/commit/53e016e)) +* Fixed ListDividerProps ([03feeaf](https://github.com/react-toolbox/react-toolbox/commit/03feeaf)) +* Fixed onTouchMove ([aa890c6](https://github.com/react-toolbox/react-toolbox/commit/aa890c6)) +* Ignore yarn.lock ([fcbce30](https://github.com/react-toolbox/react-toolbox/commit/fcbce30)) +* Implement disabled state for Slider and Progressi Bar ([c5f05fb](https://github.com/react-toolbox/react-toolbox/commit/c5f05fb)) +* Latest build ([be37dcd](https://github.com/react-toolbox/react-toolbox/commit/be37dcd)) +* Latest build ([2e36de4](https://github.com/react-toolbox/react-toolbox/commit/2e36de4)) +* merge ([aec132c](https://github.com/react-toolbox/react-toolbox/commit/aec132c)) +* merge ([3815afc](https://github.com/react-toolbox/react-toolbox/commit/3815afc)) +* merge ([0e5b053](https://github.com/react-toolbox/react-toolbox/commit/0e5b053)) +* Moves the enter check to onKeyDown ([466aac2](https://github.com/react-toolbox/react-toolbox/commit/466aac2)) +* Pass currently active suggestion to onBlur handler ([9931ac4](https://github.com/react-toolbox/react-toolbox/commit/9931ac4)) +* Pass linter ([57320a0](https://github.com/react-toolbox/react-toolbox/commit/57320a0)) +* Propagate disabled to Input in Slider ([b66d10d](https://github.com/react-toolbox/react-toolbox/commit/b66d10d)) +* Proper images links ([dfc9b3e](https://github.com/react-toolbox/react-toolbox/commit/dfc9b3e)) +* Relative css and js for docs ([d722183](https://github.com/react-toolbox/react-toolbox/commit/d722183)) +* Release 1.2.4 ([ccb396f](https://github.com/react-toolbox/react-toolbox/commit/ccb396f)) +* Restrict package versions ([d3e7f1f](https://github.com/react-toolbox/react-toolbox/commit/d3e7f1f)) +* Run build ([d4587d9](https://github.com/react-toolbox/react-toolbox/commit/d4587d9)) +* ts def typo fix and addtions ([3e170c5](https://github.com/react-toolbox/react-toolbox/commit/3e170c5)) +* Update deps adding eslint-plugin-airbnb ([5b00bc3](https://github.com/react-toolbox/react-toolbox/commit/5b00bc3)) + + + + +## 1.2.3 (2016-10-12) + +* Add attributes for ok & cancel labels ([e99a396](https://github.com/react-toolbox/react-toolbox/commit/e99a396)), closes [#805](https://github.com/react-toolbox/react-toolbox/issues/805) +* Add onScroll prop to Panel ([0df0854](https://github.com/react-toolbox/react-toolbox/commit/0df0854)) +* Added ::after pseudo to CardMedia to fix issue in FF ([42543f4](https://github.com/react-toolbox/react-toolbox/commit/42543f4)) +* Added required to Dropdown ([f912729](https://github.com/react-toolbox/react-toolbox/commit/f912729)) +* Added Ukrainian locale ([c9dc848](https://github.com/react-toolbox/react-toolbox/commit/c9dc848)) +* Fix Overlay event bug ([a88174a](https://github.com/react-toolbox/react-toolbox/commit/a88174a)) +* Fixed typo in dateLocales for russian locale ([c768a72](https://github.com/react-toolbox/react-toolbox/commit/c768a72)) +* Latest build ([0641a0d](https://github.com/react-toolbox/react-toolbox/commit/0641a0d)) +* Release 1.2.3 ([dd1d5d1](https://github.com/react-toolbox/react-toolbox/commit/dd1d5d1)) +* Remove importants ([f8c0c7f](https://github.com/react-toolbox/react-toolbox/commit/f8c0c7f)) +* Updated to show hint on input if lable is empty ([1fa9a0a](https://github.com/react-toolbox/react-toolbox/commit/1fa9a0a)) + + + + +## 1.2.2 (2016-10-08) + +* * example container for pager ([9019239](https://github.com/react-toolbox/react-toolbox/commit/9019239)) +* * fixed ([07d1d51](https://github.com/react-toolbox/react-toolbox/commit/07d1d51)) +* * fixed code linting ([ff7dd4d](https://github.com/react-toolbox/react-toolbox/commit/ff7dd4d)) +* + BrowseButton ([724fafa](https://github.com/react-toolbox/react-toolbox/commit/724fafa)) +* + Pager control, actually it is not defined at matereal design but definitely it is helpful to have. ([183dfe0](https://github.com/react-toolbox/react-toolbox/commit/183dfe0)) +* + pushed file browser button branch ([089c5b6](https://github.com/react-toolbox/react-toolbox/commit/089c5b6)) +* add emphasis to note ([b8516b4](https://github.com/react-toolbox/react-toolbox/commit/b8516b4)) +* add missing styles for lgTablet and smTablet layout breakpoints ([d7abd10](https://github.com/react-toolbox/react-toolbox/commit/d7abd10)) +* Add normalize as a dependency ([a93bcd7](https://github.com/react-toolbox/react-toolbox/commit/a93bcd7)) +* Add onBlur and onFocus props in Autocomplete component ([9edc8bd](https://github.com/react-toolbox/react-toolbox/commit/9edc8bd)) +* Add table header model details to docs for table ([4e93e13](https://github.com/react-toolbox/react-toolbox/commit/4e93e13)) +* Added row click support ([d374cc5](https://github.com/react-toolbox/react-toolbox/commit/d374cc5)) +* adjust scss after testing ([6940013](https://github.com/react-toolbox/react-toolbox/commit/6940013)) +* Apply Checkbox style property to internal .check ([2ce1d4c](https://github.com/react-toolbox/react-toolbox/commit/2ce1d4c)), closes [#791](https://github.com/react-toolbox/react-toolbox/issues/791) +* Changes double quotes to single quotes ([02cd7b5](https://github.com/react-toolbox/react-toolbox/commit/02cd7b5)) +* Correct docs for CardTitle component ([df97407](https://github.com/react-toolbox/react-toolbox/commit/df97407)) +* Fix #787 ([390e769](https://github.com/react-toolbox/react-toolbox/commit/390e769)), closes [#787](https://github.com/react-toolbox/react-toolbox/issues/787) +* Fix #813 ([e4339de](https://github.com/react-toolbox/react-toolbox/commit/e4339de)), closes [#813](https://github.com/react-toolbox/react-toolbox/issues/813) +* Fix #814 ([f4f5ae8](https://github.com/react-toolbox/react-toolbox/commit/f4f5ae8)), closes [#814](https://github.com/react-toolbox/react-toolbox/issues/814) +* Fix #816 ([a59395e](https://github.com/react-toolbox/react-toolbox/commit/a59395e)), closes [#816](https://github.com/react-toolbox/react-toolbox/issues/816) +* Fix #819 ([9d3bba3](https://github.com/react-toolbox/react-toolbox/commit/9d3bba3)), closes [#819](https://github.com/react-toolbox/react-toolbox/issues/819) +* Fix #841 ([feaa28e](https://github.com/react-toolbox/react-toolbox/commit/feaa28e)), closes [#841](https://github.com/react-toolbox/react-toolbox/issues/841) +* Fix #845 ([a1f10a8](https://github.com/react-toolbox/react-toolbox/commit/a1f10a8)), closes [#845](https://github.com/react-toolbox/react-toolbox/issues/845) +* fix active year style in date picker. ([405c23e](https://github.com/react-toolbox/react-toolbox/commit/405c23e)) +* Fix import warning using npm types and typescript ([5795b41](https://github.com/react-toolbox/react-toolbox/commit/5795b41)) +* Fix linter errors ([8c21e30](https://github.com/react-toolbox/react-toolbox/commit/8c21e30)) +* Fix linter errors ([5611365](https://github.com/react-toolbox/react-toolbox/commit/5611365)) +* Fix multiple default exports in Datepicker ([b67f4c7](https://github.com/react-toolbox/react-toolbox/commit/b67f4c7)) +* Fix small typo 🐞 ([c7ef9ea](https://github.com/react-toolbox/react-toolbox/commit/c7ef9ea)) +* Fixed Tooltip TypeError when quickly hovering between multiple tooltips ([ca1de73](https://github.com/react-toolbox/react-toolbox/commit/ca1de73)) +* Fixes #794 ([70b0a3f](https://github.com/react-toolbox/react-toolbox/commit/70b0a3f)), closes [#794](https://github.com/react-toolbox/react-toolbox/issues/794) +* Fixes #797 ([3113618](https://github.com/react-toolbox/react-toolbox/commit/3113618)), closes [#797](https://github.com/react-toolbox/react-toolbox/issues/797) +* Fixing issue where closing an overlay on top of another overlay re-enables document body scrolling u ([1c259ff](https://github.com/react-toolbox/react-toolbox/commit/1c259ff)) +* Latest build ([f34f378](https://github.com/react-toolbox/react-toolbox/commit/f34f378)) +* Latest build ([991ab80](https://github.com/react-toolbox/react-toolbox/commit/991ab80)) +* Latest build ([edbfd30](https://github.com/react-toolbox/react-toolbox/commit/edbfd30)) +* Latest build ([0d7d78f](https://github.com/react-toolbox/react-toolbox/commit/0d7d78f)) +* Latest build ([dea1414](https://github.com/react-toolbox/react-toolbox/commit/dea1414)) +* Makes sure that overlay: hidden is removed from the body tag when an overlay is closed in IE11. ([bcb091b](https://github.com/react-toolbox/react-toolbox/commit/bcb091b)) +* minor style tweak in spec. ([3c6273e](https://github.com/react-toolbox/react-toolbox/commit/3c6273e)) +* navbar hide on scroll behavior. ([4d5f4cf](https://github.com/react-toolbox/react-toolbox/commit/4d5f4cf)) +* Only add scroll AppBar listener if hideable and remove ReactDOM ([7dfd3c5](https://github.com/react-toolbox/react-toolbox/commit/7dfd3c5)) +* Pass down theme from Card title to nested Avatar ([f077403](https://github.com/react-toolbox/react-toolbox/commit/f077403)) +* Re-apply changes ([0fb83bf](https://github.com/react-toolbox/react-toolbox/commit/0fb83bf)) +* Release 1.2.2 ([e90a188](https://github.com/react-toolbox/react-toolbox/commit/e90a188)) +* Removed duplicate export from Datepicker ([7c39493](https://github.com/react-toolbox/react-toolbox/commit/7c39493)) +* Removed semvar lock from travis ci node versions ([8b51938](https://github.com/react-toolbox/react-toolbox/commit/8b51938)) +* Replace onMouseDown with onClick in DatePicker and TimePicker ([ac8b6d6](https://github.com/react-toolbox/react-toolbox/commit/ac8b6d6)) +* Russian locale ([b8d59f7](https://github.com/react-toolbox/react-toolbox/commit/b8d59f7)) +* Small style change ([e549e25](https://github.com/react-toolbox/react-toolbox/commit/e549e25)) +* Use guard clause instead of conditional ([d01ff6d](https://github.com/react-toolbox/react-toolbox/commit/d01ff6d)) +* Bugfix: Typescript definitions can now be copied over on Windows ([ee6f0d7](https://github.com/react-toolbox/react-toolbox/commit/ee6f0d7)) +* appbar: fonticon -> iconbutton ([67d4628](https://github.com/react-toolbox/react-toolbox/commit/67d4628)) + + + + +## 1.2.1 (2016-09-06) + +* Change active tab display to flex ([199befe](https://github.com/react-toolbox/react-toolbox/commit/199befe)) +* Fix #768 ([48c04c0](https://github.com/react-toolbox/react-toolbox/commit/48c04c0)), closes [#768](https://github.com/react-toolbox/react-toolbox/issues/768) +* Fix #770 ([bbee9ef](https://github.com/react-toolbox/react-toolbox/commit/bbee9ef)), closes [#770](https://github.com/react-toolbox/react-toolbox/issues/770) +* Release 1.2.1 ([3b5c6bd](https://github.com/react-toolbox/react-toolbox/commit/3b5c6bd)) + + + + +# 1.2.0 (2016-09-03) + +* 🙈 ([ace21d9](https://github.com/react-toolbox/react-toolbox/commit/ace21d9)) +* Add app_bar title, leftIcon and rightIcon props. ([d4c0c4d](https://github.com/react-toolbox/react-toolbox/commit/d4c0c4d)) +* Add bumped changelog support ([7468d31](https://github.com/react-toolbox/react-toolbox/commit/7468d31)) +* add fullscreen dialog. ([179323c](https://github.com/react-toolbox/react-toolbox/commit/179323c)) +* Add onClick propType ([f760447](https://github.com/react-toolbox/react-toolbox/commit/f760447)) +* Add onTouchStart to ListItem ([6f7a543](https://github.com/react-toolbox/react-toolbox/commit/6f7a543)) +* add tab icons. ([5c2406d](https://github.com/react-toolbox/react-toolbox/commit/5c2406d)) +* Adding hideMode to Tabs ([8e0b64f](https://github.com/react-toolbox/react-toolbox/commit/8e0b64f)), closes [#709](https://github.com/react-toolbox/react-toolbox/issues/709) +* Ajust pointer ([6ddaf9a](https://github.com/react-toolbox/react-toolbox/commit/6ddaf9a)) +* Better tabs with icons ([6a488b3](https://github.com/react-toolbox/react-toolbox/commit/6a488b3)) +* build new version ([d48799b](https://github.com/react-toolbox/react-toolbox/commit/d48799b)) +* Clone RadioButton children in RadioGroup ([c71f580](https://github.com/react-toolbox/react-toolbox/commit/c71f580)) +* Commit build ([e2d7517](https://github.com/react-toolbox/react-toolbox/commit/e2d7517)) +* DI change in AppBar ([fcea0e4](https://github.com/react-toolbox/react-toolbox/commit/fcea0e4)) +* Explicit deps ([49024c8](https://github.com/react-toolbox/react-toolbox/commit/49024c8)) +* Fix #630 ([ccc1699](https://github.com/react-toolbox/react-toolbox/commit/ccc1699)), closes [#630](https://github.com/react-toolbox/react-toolbox/issues/630) +* Fix #697 - Autocomplete KeyUp enter fix ([a61aa5c](https://github.com/react-toolbox/react-toolbox/commit/a61aa5c)), closes [#697](https://github.com/react-toolbox/react-toolbox/issues/697) +* Fix #711 ([abf91d3](https://github.com/react-toolbox/react-toolbox/commit/abf91d3)), closes [#711](https://github.com/react-toolbox/react-toolbox/issues/711) +* Fix #713 ([b528ab1](https://github.com/react-toolbox/react-toolbox/commit/b528ab1)), closes [#713](https://github.com/react-toolbox/react-toolbox/issues/713) +* Fix #733 ([ae5865f](https://github.com/react-toolbox/react-toolbox/commit/ae5865f)), closes [#733](https://github.com/react-toolbox/react-toolbox/issues/733) +* Fix #755 ([d86e4a5](https://github.com/react-toolbox/react-toolbox/commit/d86e4a5)), closes [#755](https://github.com/react-toolbox/react-toolbox/issues/755) +* Fix linting issues ([80a8a9e](https://github.com/react-toolbox/react-toolbox/commit/80a8a9e)) +* Fix ripple ([006559e](https://github.com/react-toolbox/react-toolbox/commit/006559e)) +* Fix table border ([64a859e](https://github.com/react-toolbox/react-toolbox/commit/64a859e)) +* Fixed errors for Typescript 2.0.2 ([34313b8](https://github.com/react-toolbox/react-toolbox/commit/34313b8)) +* Fixed linting errors. ([8dedcfc](https://github.com/react-toolbox/react-toolbox/commit/8dedcfc)) +* Import React namespace, fix problem with @types ([def8643](https://github.com/react-toolbox/react-toolbox/commit/def8643)) +* Latest build ([cd72ffb](https://github.com/react-toolbox/react-toolbox/commit/cd72ffb)) +* Make Table multi-selectable again ([dcd53a4](https://github.com/react-toolbox/react-toolbox/commit/dcd53a4)) +* Passes IconMenu's theme to the inner Menu. ([9d7e3db](https://github.com/react-toolbox/react-toolbox/commit/9d7e3db)) +* Release 1.2.0 ([9bed502](https://github.com/react-toolbox/react-toolbox/commit/9bed502)) +* Remove overly strict children propType validation. fixes #641 ([e2ed42b](https://github.com/react-toolbox/react-toolbox/commit/e2ed42b)), closes [#641](https://github.com/react-toolbox/react-toolbox/issues/641) +* Remove unnecessary spread ([9312522](https://github.com/react-toolbox/react-toolbox/commit/9312522)) +* Replace onMouseDown wth onClick in Dropdown ([83011cb](https://github.com/react-toolbox/react-toolbox/commit/83011cb)) +* Replace react-addons-update with immutability-helper as Facebook are deprecating their addon ([29b04f2](https://github.com/react-toolbox/react-toolbox/commit/29b04f2)) +* Support for fixed & inverse color tabs. ([9bf1c8e](https://github.com/react-toolbox/react-toolbox/commit/9bf1c8e)) +* Theme is now passed on to tab subcomponents ([b220c70](https://github.com/react-toolbox/react-toolbox/commit/b220c70)) +* Update index.d.ts ([f37626a](https://github.com/react-toolbox/react-toolbox/commit/f37626a)) +* Update readme.md ([0ea3849](https://github.com/react-toolbox/react-toolbox/commit/0ea3849)) +* Update README.md ([b653700](https://github.com/react-toolbox/react-toolbox/commit/b653700)) +* use Event.currentTarget in Calendar.changeViewMonth ([8a91ab3](https://github.com/react-toolbox/react-toolbox/commit/8a91ab3)) + + + ## 1.1.2 (2016-08-11) * 1.1.2 release ([0dcec60](https://github.com/react-toolbox/react-toolbox/commit/0dcec60)) +* Added ability to navigate calendar with keyboard ([ad2a8e8](https://github.com/react-toolbox/react-toolbox/commit/ad2a8e8)) * Added missing modules ([afc2124](https://github.com/react-toolbox/react-toolbox/commit/afc2124)) * Added Touch events to the base props ([30f1623](https://github.com/react-toolbox/react-toolbox/commit/30f1623)) * fix for target missing id ([b557561](https://github.com/react-toolbox/react-toolbox/commit/b557561)) diff --git a/README.md b/README.md index bfb6c699f..55d0d8c55 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,11 @@ -# +# -[![npm version](https://img.shields.io/npm/v/react-toolbox.svg?style=flat-square)](https://www.npmjs.com/package/react-toolbox) [![Build Status](http://img.shields.io/travis/react-toolbox/react-toolbox/master.svg?style=flat-square)](https://travis-ci.org/react-toolbox/react-toolbox) [![NPM Status](http://img.shields.io/npm/dm/react-toolbox.svg?style=flat-square)](https://www.npmjs.org/package/react-toolbox) [![react-toolbox channel on discord](https://img.shields.io/badge/discord-%23react--toolbox%20%40%20reactiflux-61dafb.svg?style=flat-square)](https://discord.gg/0ZcbPKXt5bW9FLzM) [![Donate](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square)](https://paypal.me/javivelasco) +[![npm version](https://img.shields.io/npm/v/react-toolbox.svg?style=flat-square)](https://www.npmjs.com/package/react-toolbox) [![Build Status](http://img.shields.io/travis/react-toolbox/react-toolbox/master.svg?style=flat-square)](https://travis-ci.org/react-toolbox/react-toolbox) [![NPM Status](http://img.shields.io/npm/dm/react-toolbox.svg?style=flat-square)](https://www.npmjs.org/package/react-toolbox) [![Donate](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square)](https://paypal.me/javivelasco) [![OpenCollective](https://opencollective.com/react-toolbox/backers/badge.svg)](#backers) +[![OpenCollective](https://opencollective.com/react-toolbox/sponsors/badge.svg)](#sponsors) -React Toolbox is a set of [React](http://facebook.github.io/react/) components that implement [Google's Material Design specification](https://www.google.com/design/spec/material-design/introduction.html). It's powered by [CSS Modules](https://github.com/css-modules/css-modules) and harmoniously integrates with your [webpack](http://webpack.github.io/) workflow, although you can use any other module bundler. You can take a tour through our documentation website and try the components live! +React Toolbox is a set of [React](http://facebook.github.io/react/) components that implement [Google's Material Design specification](https://material.google.com/). It's powered by [CSS Modules](https://github.com/css-modules/css-modules) and harmoniously integrates with your [webpack](http://webpack.github.io/) workflow, although you can use any other module bundler. You can take a tour through our documentation website and try the components live! + +**Note:** ⚠ This source code refers to the [future version](https://github.com/react-toolbox/react-toolbox/blob/dev/ROADMAP.md). To check the source for `1.x` go to `master` branch. There is a [migration guide](https://github.com/react-toolbox/react-toolbox/wiki/Migrating-from-version-1.3-to-2.0) so you can start working with 2.0-beta.x now! ## Installation @@ -14,11 +17,76 @@ $ npm install --save react-toolbox ## Prerequisites -React Toolbox uses [CSS Modules](https://github.com/css-modules/css-modules) by default to import stylesheets written in [SASS](http://sass-lang.com/). In case you want to import the components already bundled with CSS, your module bundler should be able to require these SASS modules. +React Toolbox uses [CSS Modules](https://github.com/css-modules/css-modules) by default to import stylesheets written using [PostCSS](https://github.com/postcss/postcss) & [postcss-preset-env](https://preset-env.cssdb.org/) features. In case you want to import the components already bundled with CSS, your module bundler should be able to require these PostCSS modules. + +Although we recommend [webpack](https://webpack.github.io/), you are free to use whatever module bundler you want as long as it can compile and require PostCSS files located in your `node_modules`. If you are experiencing require errors, make sure your configuration satisfies this requirement. + +Of course this is a set of React components so you should be familiar with [React](https://facebook.github.io/react/). If want to customize your components via themes, you may want to take a look to [react-css-themr](https://github.com/javivelasco/react-css-themr) which is used by React Toolbox to make components easily themeable. -Although we recommend [webpack](https://webpack.github.io/), you are free to use whatever module bundler you want as long as it can compile and require SASS files located in your `node_modules`. If you are experiencing require errors, make sure your configuration satisfies this requirement. +### Usage in Create React App Projects -Of course this is a set of React components so you should be familiar with [React](https://facebook.github.io/react/). If want to customize your components via themes, you may want to take a look to [react-css-themr](https://github.com/javivelasco/react-css-themr) which is used by React Toolbox to make component easily themeable. +[Create React App](https://github.com/facebookincubator/create-react-app) does not allow to change the default configuration, so you need an additional build step to configure `react-toolbox` in its project. + +Follow [these instructions](https://github.com/react-toolbox/react-toolbox-themr) to add `react-toolbox` to a project created with Create React App. + +### Usage in Webpack Projects (*Not* Create React App) + +```bash +npm install postcss-loader --save-dev +npm install postcss postcss-preset-env postcss-calc --save +``` + +Configure webpack 1.x loader for .css files to use postcss: +```js + { + test: /\.css$/, + loaders: [ + 'style-loader', + 'css-loader?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss?sourceMap&sourceComments', + ], + }, +``` +Declare plugins to be used by postcss (as part of webpack's config object): +```js + // webpack.config.js + postcss: () => { + return [ + /* eslint-disable global-require */ + require('postcss-preset-env')({ + stage: 0, // required to get all features that were from cssnext without enabling them one by one + features: { + 'custom-properties': { + preserve: false, // required to output values instead of variables + }, + 'color-mod-function': true, // required to use color-mod() + } + }), + require('postcss-calc'), // required as postcss-preset-env doesn't have a reduce calc() funtion that cssnext did + /* eslint-enable global-require */ + ]; + }, +``` + +Configure webpack 2.x or 3.x loader for .css files to use postcss: +```js + // webpack.config.js + { + test: /\.css$/, + use: [ + "style-loader", + { + loader: "css-loader", + options: { + modules: true, // default is false + sourceMap: true, + importLoaders: 1, + localIdentName: "[name]--[local]--[hash:base64:8]" + } + }, + "postcss-loader" + ] + } +``` ## Basic usage @@ -35,7 +103,14 @@ ReactDOM.render( ); ``` -Take into account that any required style will be included in the final CSS so your final would include `Button` styles in this case. It's more convenient to import components this way (or with raw imports) because if you require from the project root, every stylesheet of React Toolbox will be included, even if you don't use it. +>**Note:** if you use it with Create React App, you need to make this additional change: +> +>```diff +>- import {Button} from 'react-toolbox/lib/button'; +>+ import Button from 'react-toolbox/lib/button/Button'; +>``` + +Take into account that any required style will be included in the final CSS so your final CSS would include `Button` styles in this case. It's more efficient to import components this way (`from 'react-toolbox/lib/button'`) (or with raw imports) because if you require from the project root (i.e. `from 'react-toolbox'`), every stylesheet of React Toolbox will be included, even if you don't use it. ## Importing components @@ -44,17 +119,17 @@ First let's take a look on how the components are structured in the project. The ``` |- /app_bar |---- AppBar.js - |---- _config.scss + |---- config.css |---- index.js |---- readme.md - |---- theme.scss + |---- theme.css ``` -As you can see in the previous block, each folder includes: a Javascript file for each component/subcomponent; a README with documentation, an index Javascript file that imports and injects styles and dependencies for you, a default theme SASS stylesheet and a configuration partial with configuration variables. Depending on whether you want the styles to be directly bundled or not, you can import components in **two** different ways. +As you can see in the previous block, each folder includes: a Javascript file for each component/subcomponent; a README with documentation, an index Javascript file that imports and injects styles and dependencies for you, a default theme PostCSS/preset-env stylesheet and a config.css with configuration variables (CSS Custom Properties). Depending on whether you want the styles to be directly bundled or not, you can import components in **two** different ways. ### Bundled component -You import from the index file so the imported component comes with all dependencies and themes already required and injected for you. This means that the CSS for each dependency will be bundled in your final CSS automatically and the component markup includes the classnames to be styled. For example: +If you import from the index file, the imported component comes with all dependencies and themes already required and injected for you. This means that the CSS for each dependency will be bundled in your final CSS automatically and the component markup includes the classnames to be styled. For example: ```js import { AppBar } from 'react-toolbox/lib/app_bar'; @@ -62,7 +137,7 @@ import { AppBar } from 'react-toolbox/lib/app_bar'; ### Raw component -You import from the component definition so the imported component is bundled with its dependencies but it does not require any style for you. This means that no CSS will be bundled and the component markup will **not** include any classname. It's your responsibility to provide a theme to the component to be properly style and you can do it via properties or context. For example: +If you import from the component definition, the imported component is bundled with its dependencies, but it does not include any styles. This means no CSS will be bundled, and the component markup will **not** include any classname. It's your responsibility to provide a theme to the component to be properly styled. You can do so via properties or context. For example: ```js import { AppBar } from 'react-toolbox/lib/app_bar/AppBar.js'; @@ -70,14 +145,14 @@ import { AppBar } from 'react-toolbox/lib/app_bar/AppBar.js'; ## Customizing components -Every component accepts a `theme` property intended to provide a [CSS Module import object](https://github.com/css-modules/css-modules) that will be used by the component to assign local classnames to its DOM nodes. Therefore, each one implements a documented **classname API** so if you want to customize a component, you just need to provide a theme object with the appropriated classname mapping. +Every component accepts a `theme` property intended to provide a [CSS Module import object](https://github.com/css-modules/css-modules) that will be used by the component to assign local classnames to its DOM nodes. Therefore, each one implements a documented **classname API**. So if you want to customize a component, you just need to provide a theme object with the appropriate classname mapping. -If the component has already a theme injected, the properties you pass will be merged with the injected. In this way, you can **add** classnames to the nodes of a specific component and use them to add or to override styles. For example, if you want to customize the `AppBar` to be purple: +If the component already has a theme injected, the properties you pass will be merged with the injected theme. In this way, you can **add** classnames to the nodes of a specific component and use them to add or to override styles. For example, if you want to customize the `AppBar` to be purple: ```js import React from 'react'; import { AppBar } from 'react-toolbox/lib/app_bar'; -import theme from './PurpleAppBar.scss'; +import theme from './PurpleAppBar.css'; const PurpleAppBar = (props) => ( @@ -87,99 +162,131 @@ export default PurpleAppBar; ``` -```scss +```css .appBar { background-color: #800080; } ``` -In this case we are **adding** styles to an `AppBar` component that already has some styles injected. It works because the component background by default has the same priority as the one we added. There will be cases where the original rule is more restrictive. For those cases you would need to boost priority using the same restrictions as in the original stylesheet. Feel free to take a look into the original themes or just check the selectors you want to override in DevTools. +In this case we are **adding** styles to a specific instance of an `AppBar` component that already has its default styles injected. It works because the component background by default has the same priority as the one we added. There will be cases where the original rule is more restrictive. For those cases you would need to boost priority using the same restrictions as in the original stylesheet. Feel free to take a look into the default theme.css files or just check the selectors you want to override in DevTools. -If the component has no styles injected, you should provide a theme object implementing the full API. You are free to require the CSS Module you want but take into account that every classname is there for a reason. You can either provide a theme via prop or via context as we will see later. +If the component has no styles injected, you should provide a theme object implementing the full API. You are free to require the CSS Module you want but take into account that every classname is there for a reason. You can either provide a theme via prop or via context as described in the next section. -## Theming +### Customizing all instances of a component type -You can afford theming in multiple ways. First of all, you have to understand that React Toolbox stylesheets are written in SASS and configured using the **config** files we saw earlier. Also you may want to check [colors](https://github.com/react-toolbox/react-toolbox/blob/dev/components/_colors.scss) and [globals](https://github.com/react-toolbox/react-toolbox/blob/dev/components/_globals.scss) files to get an overview on the **variables** you have to override to get the results you want. +Install [react-css-themr](https://github.com/javivelasco/react-css-themr) with `npm install react-css-themr --save` -In most scenarios you can get more customized themes by overriding those variables and compiling stylesheets with them. For example, you can create a `_theme.scss` SASS file: +Create a CSS Module theme style file for each component type, for example for `Button`: -```scss -@import "http://github.com/~react-toolbox/lib/colors"; +```css +# /css/button.css -$color-primary: $palette-blue-500; -$color-primary-dark: $palette-blue-700; +.button { + text-transform: uppercase; +} ``` -This file should be prepended to each stylesheet compilation which can be achieved in multiple ways. +Create a theme file that imports each component's custom theme style under the special theme key listed in that widgets's documentation, i.e.: -### Using SASS Loader +```js +# theme.js -If you are using [Webpack](http://webpack.github.io/) as module bundler, you are probably using [sass-loader](https://github.com/jtangelder/sass-loader) as well. What we want to do is to prepend to each SASS file compilation a bunch of variables to override and this can be done with the `data` option. For example: +import RTButton from './css/button.css'; +import RTDatePicker from './css/datepicker.css'; + +export default { + RTButton, RTDatePicker, +}; +``` + +Wrap your component tree with ThemeProvider at the desired level in your component hierarchy. You can maintain different themes, each importing differently styled css files \(i.e. `import RTButton from './css/adminAreaButton.css'`\) and can provide each one at different points in the tree. ```js -sassLoader: { - data: '@import "' + path.resolve(__dirname, 'theme/_theme.scss') + '";' +import React from 'react'; +import { ThemeProvider } from 'react-css-themr'; +import theme from './theme'; + +class App extends React.Component { + render() { + return ( + +
+ ... +
+
+ ); + } } +export default App; ``` -In this case we are prepending the theme import to each SASS compilation so the primary color will be changed in every single stylesheet. If you are not using webpack maybe your loader still has a similar option, otherwise don't worry, there are solutions. - -### Using SASS imports and props +## Theming (configuration variables) -Remember that you can import components without styles and provide those styles using the theme property. For example, a theme for a button customized with the previous theme file would be like: +You can apply theming in multiple ways. First of all, you have to understand that React Toolbox stylesheets are written using PostCSS with postcss-preset-env features and use CSS Custom Properties from the **config** files we saw earlier. In addition, there are some global CSS Properties imported by each component: [colors](https://github.com/react-toolbox/react-toolbox/blob/dev/components/colors.module.css) and [variables](https://github.com/react-toolbox/react-toolbox/blob/dev/components/variables.module.css). You can override both the global and component-specific **variables** to get the results you want using one of the methods below. -```scss -@import "http://github.com/theme.scss"; -@import "http://github.com/~react-toolbox/lib/button/theme"; -``` +### Settings configuration variables in JavaScript -Then, when you use a button you can inject the appropriated theme: +You can override both the global and component-specific CSS Custom Properties at build-time by supplying an object with these variable names and your desired values to the PostCSS `custom-properties` plugin. i.e. if using [postcss-preset-env](https://github.com/csstools/postcss-preset-env) in webpack: ```js -import { Button } from 'react-toolbox/lib/button/Button'; -import buttonTheme from './theme/button.scss'; - -const ThemedButton = (props) => ( -