From 0505add7f6621f60a5b3cf3ad07e0b793d9b5975 Mon Sep 17 00:00:00 2001 From: Dominik Prokop Date: Fri, 18 Jan 2019 09:51:34 +0100 Subject: [PATCH] Enabled knobs for storybook and implemented some stories --- packages/grafana-ui/.storybook/addons.ts | 1 + packages/grafana-ui/package.json | 4 + .../ColorPicker/ColorPicker.story.tsx | 18 +-- .../ColorPicker/ColorPickerPopover.story.tsx | 44 ++++++ .../ColorPicker/ColorPickerPopover.tsx | 2 +- .../ColorPicker/NamedColorsPicker.story.tsx | 86 ++++++++---- yarn.lock | 132 ++++++++++++++++-- 7 files changed, 236 insertions(+), 51 deletions(-) create mode 100644 packages/grafana-ui/.storybook/addons.ts create mode 100644 packages/grafana-ui/src/components/ColorPicker/ColorPickerPopover.story.tsx diff --git a/packages/grafana-ui/.storybook/addons.ts b/packages/grafana-ui/.storybook/addons.ts new file mode 100644 index 00000000000..6622fe475d5 --- /dev/null +++ b/packages/grafana-ui/.storybook/addons.ts @@ -0,0 +1 @@ +import '@storybook/addon-knobs/register'; diff --git a/packages/grafana-ui/package.json b/packages/grafana-ui/package.json index 59dabef86f7..6950a824206 100644 --- a/packages/grafana-ui/package.json +++ b/packages/grafana-ui/package.json @@ -12,11 +12,13 @@ "license": "ISC", "dependencies": { "@torkelo/react-select": "2.1.1", + "@types/react-color": "^2.14.0", "classnames": "^2.2.5", "jquery": "^3.2.1", "lodash": "^4.17.10", "moment": "^2.22.2", "react": "^16.6.3", + "react-color": "^2.17.0", "react-custom-scrollbars": "^4.2.1", "react-dom": "^16.6.3", "react-highlight-words": "0.11.0", @@ -29,6 +31,7 @@ }, "devDependencies": { "@storybook/addon-info": "^4.1.6", + "@storybook/addon-knobs": "^4.1.7", "@storybook/react": "^4.1.4", "@types/classnames": "^2.2.6", "@types/jest": "^23.3.2", @@ -40,6 +43,7 @@ "@types/react-test-renderer": "^16.0.3", "@types/react-transition-group": "^2.0.15", "@types/storybook__addon-info": "^3.4.2", + "@types/storybook__addon-knobs": "^4.0.0", "@types/storybook__react": "^4.0.0", "@types/tether-drop": "^1.4.8", "@types/tinycolor2": "^1.4.1", diff --git a/packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.tsx b/packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.tsx index 6e029f3cfa8..1ee4b18d0b2 100644 --- a/packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.tsx +++ b/packages/grafana-ui/src/components/ColorPicker/ColorPicker.story.tsx @@ -1,6 +1,7 @@ import React, { FunctionComponent } from 'react'; import { storiesOf } from '@storybook/react'; -import { ColorPickerPopover } from './ColorPickerPopover'; +import { ColorPicker } from './ColorPicker'; +import { withKnobs, text } from '@storybook/addon-knobs'; const CenteredStory: FunctionComponent<{}> = ({ children }) => { return ( @@ -17,11 +18,10 @@ const CenteredStory: FunctionComponent<{}> = ({ children }) => { ); }; -storiesOf('UI/ColorPicker', module) - .addDecorator(story => {story()}) - // .add('Color picker popover', () => { - // return {}} />; - // }) - .add('Named colors swatch', () => { - return {}} />; - }); +const ColorPickerStories = storiesOf('UI/ColorPicker', module); + +ColorPickerStories.addDecorator(story => {story()}); +ColorPickerStories.addDecorator(withKnobs); +ColorPickerStories.add('Color picker', () => { + return {}} />; +}); diff --git a/packages/grafana-ui/src/components/ColorPicker/ColorPickerPopover.story.tsx b/packages/grafana-ui/src/components/ColorPicker/ColorPickerPopover.story.tsx new file mode 100644 index 00000000000..cfbbd6f645a --- /dev/null +++ b/packages/grafana-ui/src/components/ColorPicker/ColorPickerPopover.story.tsx @@ -0,0 +1,44 @@ +import React, { FunctionComponent } from 'react'; +import { storiesOf } from '@storybook/react'; +import { ColorPickerPopover } from './ColorPickerPopover'; +import { withKnobs, select } from '@storybook/addon-knobs'; +import { GrafanaTheme } from '../../types'; + +const CenteredStory: FunctionComponent<{}> = ({ children }) => { + return ( +
+ {children} +
+ ); +}; + +storiesOf('UI/ColorPickerPopover', module) + .addDecorator(story => {story()}) + .addDecorator(withKnobs) + .add('default', () => { + const selectedTheme = select( + 'Theme', + { + Default: '', + Light: GrafanaTheme.Light, + Dark: GrafanaTheme.Dark, + }, + GrafanaTheme.Light + ); + return ( + { + console.log(color); + }} + theme={selectedTheme || undefined} + /> + ); + }); diff --git a/packages/grafana-ui/src/components/ColorPicker/ColorPickerPopover.tsx b/packages/grafana-ui/src/components/ColorPicker/ColorPickerPopover.tsx index 70dca7fa667..9592d6c1ead 100644 --- a/packages/grafana-ui/src/components/ColorPicker/ColorPickerPopover.tsx +++ b/packages/grafana-ui/src/components/ColorPicker/ColorPickerPopover.tsx @@ -1,4 +1,4 @@ -import React, { Children } from 'react'; +import React from 'react'; import NamedColorsPicker from './NamedColorsPicker'; import { Color } from 'csstype'; import { ColorDefinition, getColorName } from '../..//utils/colorsPalette'; diff --git a/packages/grafana-ui/src/components/ColorPicker/NamedColorsPicker.story.tsx b/packages/grafana-ui/src/components/ColorPicker/NamedColorsPicker.story.tsx index 1cdf01a2dd3..3d51f4b0347 100644 --- a/packages/grafana-ui/src/components/ColorPicker/NamedColorsPicker.story.tsx +++ b/packages/grafana-ui/src/components/ColorPicker/NamedColorsPicker.story.tsx @@ -1,7 +1,8 @@ import React, { FunctionComponent } from 'react'; import { storiesOf } from '@storybook/react'; -import NamedColorsPicker from './NamedColorsPicker'; +import NamedColorsPicker from './NamedColorsPicker'; import { Color, getColorName } from '@grafana/ui/src/utils/colorsPalette'; +import { withKnobs, select } from '@storybook/addon-knobs'; const CenteredStory: FunctionComponent<{}> = ({ children }) => { return ( @@ -23,46 +24,69 @@ interface StateHolderProps { children: (currentState: T, updateState: (nextState: T) => void) => JSX.Element; } -class UseState extends React.Component, {value: T}> { +class UseState extends React.Component, { value: T }> { constructor(props: StateHolderProps) { - super(props) + super(props); this.state = { - value: props.initialState - } + value: props.initialState, + }; } + static getDerivedStateFromProps(props: StateHolderProps<{}>, state: { value: {} }) { + return { + value: props.initialState, + }; + } + handleStateUpdate = (nextState: T) => { - this.setState({value: nextState}) - } + this.setState({ value: nextState }); + }; render() { - return this.props.children(this.state.value, this.handleStateUpdate) + return this.props.children(this.state.value, this.handleStateUpdate); } } -storiesOf('UI/ColorPicker', module) +storiesOf('UI/NamedColorPicker', module) + .addDecorator(withKnobs) .addDecorator(story => {story()}) .add('Named colors swatch - support for named colors', () => { - return( - - {(selectedColor, updateSelectedColor) => { - return ( - { updateSelectedColor(color.name);}} - /> - ) - }} - ); + const selectedColor = select( + 'Selected color', + { + Green: 'green', + Red: 'red', + 'Light blue': 'light-blue', + }, + 'green' + ); + + return ( + + {(selectedColor, updateSelectedColor) => { + console.log(selectedColor); + return ( + { + // @ts-ignore + updateSelectedColor((color).name); + }} + /> + ); + }} + + ); }) .add('Named colors swatch - support for hex values', () => { - return( - - {(selectedColor, updateSelectedColor) => { - return ( - updateSelectedColor(color.variants.dark)} - /> - ) - }} - ); + return ( + + {(selectedColor, updateSelectedColor) => { + return ( + updateSelectedColor(color.variants.dark)} + /> + ); + }} + + ); }); diff --git a/yarn.lock b/yarn.lock index 32881e10817..a8cc15572c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1031,6 +1031,11 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.1.3.tgz#b700d97385fa91affed60c71dfd51c67e9dad762" integrity sha512-QsYGKdhhuDFNq7bjm2r44y0mp5xW3uO3csuTPDWZc0OIiMQv+AIY5Cqwd4mJiC5N8estVl7qlvOx1hbtOuUWbw== +"@icons/material@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" + integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -1085,6 +1090,26 @@ react-lifecycles-compat "^3.0.4" util-deprecate "^1.0.2" +"@storybook/addon-knobs@^4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-4.1.7.tgz#298a1bd17f177e4653b073c9bca70c073746daea" + integrity sha512-h2YSyZvz+KQIggAKttdTZvRpsCVQUJtyY9mzVHEFDKTccAlC9WjZPD9UDSHYQZKm+0gHtFkxOidFTcjt/5r+8A== + dependencies: + "@emotion/styled" "^0.10.6" + "@storybook/addons" "4.1.7" + "@storybook/components" "4.1.7" + "@storybook/core-events" "4.1.7" + copy-to-clipboard "^3.0.8" + core-js "^2.5.7" + escape-html "^1.0.3" + fast-deep-equal "^2.0.1" + global "^4.3.2" + prop-types "^15.6.2" + qs "^6.5.2" + react-color "^2.14.1" + react-lifecycles-compat "^3.0.4" + util-deprecate "^1.0.2" + "@storybook/addons@4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-4.1.6.tgz#458c4c6baf8b2acaffb9ced705a8db224bd874b6" @@ -1095,6 +1120,16 @@ global "^4.3.2" util-deprecate "^1.0.2" +"@storybook/addons@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-4.1.7.tgz#59ca76fff6594ff196bc58135689d1597cb90a1b" + integrity sha512-psKz/uMlImHkuUqdYaEq84Kyh3VIcSo00yHsnpWeq0xv3v6ONQKrFZ0bdmuZT30XQC0sYvXaP+YOKRq/hdgWaQ== + dependencies: + "@storybook/channels" "4.1.7" + "@storybook/components" "4.1.7" + global "^4.3.2" + util-deprecate "^1.0.2" + "@storybook/channel-postmessage@4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-4.1.6.tgz#ff7af1c0ee1ab72ee8f10ec2e29cd413c39fc14d" @@ -1109,6 +1144,11 @@ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-4.1.6.tgz#52b56f5c94f58442aba2d9c5919bb00ff33475c5" integrity sha512-8MqGYypdaPmZR7eORXdxtJijGOz5UMHXoMskVtodvKi26tmltFKX+okXFNh/teKe3+8s0QWkpzM95VI+Z+0qFA== +"@storybook/channels@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-4.1.7.tgz#bf3412859cca8cd3d221afcd68de348645dbb329" + integrity sha512-UVLrCcQ8f52PQYdWh97XcWBdqiXKBznePbd4L36//C6cIJkfwQ5nK9UDzzrCP/tlCnolVxnqRlorns4YeJcrSg== + "@storybook/client-logger@4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-4.1.6.tgz#3409c20467abe4f98751db9a8d6769c21d0c80e5" @@ -1130,11 +1170,32 @@ react-textarea-autosize "^7.0.4" render-fragment "^0.1.1" +"@storybook/components@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-4.1.7.tgz#5e7f8247aebe0b79246c19f580e520cc59a39a1d" + integrity sha512-PgEREFw58tlyzzGbA7q1WlXgOLk6Dd+qkHZYJ+4JlTAl6kPdjirfRshg0uyvTVy5jGbtDa5mhN7Fo1TtuYiyDw== + dependencies: + "@emotion/core" "^0.13.1" + "@emotion/provider" "^0.11.2" + "@emotion/styled" "^0.10.6" + global "^4.3.2" + lodash "^4.17.11" + prop-types "^15.6.2" + react-inspector "^2.3.0" + react-split-pane "^0.1.84" + react-textarea-autosize "^7.0.4" + render-fragment "^0.1.1" + "@storybook/core-events@4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-4.1.6.tgz#6c147b171a04cee3ed66990ebdf45be45dc658ba" integrity sha512-07ki5+VuruWQv7B1ZBlsNYEVSC3dQwIZKjEFL4aKFO57ruaNijkZTF1QHkSGJapyBPa7+LLM2fXqnBkputoEZw== +"@storybook/core-events@4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-4.1.7.tgz#15803967783231dcb96432ad45b360d5e95188df" + integrity sha512-IpggH1Br51UAlLaAhNr6qY0IVT5mN1akfeVi1DpCj2ji7zqdfeDO3zmX6aWSjYVefg6OvNol71WKh+wjcYNvXg== + "@storybook/core@4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@storybook/core/-/core-4.1.6.tgz#818124a8d47c9432637e000e509b01d051b9603e" @@ -1673,7 +1734,7 @@ resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-1.10.35.tgz#4e5c2b1e5b3bf0b863efb8c5e70081f52e6c9518" integrity sha512-SVtqEcudm7yjkTwoRA1gC6CNMhGDdMx4Pg8BPdiqI7bXXdCn1BPmtxgeWYQOgDxrq53/5YTlhq5ULxBEAlWIBg== -"@types/lodash@^4.14.119": +"@types/lodash@4.14.119", "@types/lodash@^4.14.119": version "4.14.119" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.119.tgz#be847e5f4bc3e35e46d041c394ead8b603ad8b39" integrity sha512-Z3TNyBL8Vd/M9D9Ms2S3LmFq2sSMzahodD6rCS9V2N44HUMINb75jNkSuwAx7eo2ufqTdfOdtGQpNbieUjPQmw== @@ -1698,6 +1759,13 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.1.tgz#48fd98c1561fe718b61733daed46ff115b496e18" integrity sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA== +"@types/react-color@^2.14.0": + version "2.14.0" + resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-2.14.0.tgz#e01f6069902819fe9f6544375829a485f894206f" + integrity sha512-5UfGjUsu7bXop7K064nNrIGgS7wPjGEY7Or9tAE6BLslDtfhRnAlqWo9N2BIntEZ/3KpXlRnt0MBuc+hZJTevw== + dependencies: + "@types/react" "*" + "@types/react-custom-scrollbars@^4.0.5": version "4.0.5" resolved "https://registry.yarnpkg.com/@types/react-custom-scrollbars/-/react-custom-scrollbars-4.0.5.tgz#8629b4b3164914d27df7cb0ca0a086c0ad406389" @@ -1735,7 +1803,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@16.7.6", "@types/react@^16.7.6": +"@types/react@*", "@types/react@^16.7.6": version "16.7.6" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.7.6.tgz#80e4bab0d0731ad3ae51f320c4b08bdca5f03040" integrity sha512-QBUfzftr/8eg/q3ZRgf/GaDP6rTYc7ZNem+g4oZM38C9vXyV8AWRWaTQuW5yCoZTsfHrN7b3DeEiUnqH9SrnpA== @@ -1750,7 +1818,15 @@ dependencies: "@types/react" "*" -"@types/storybook__react@^4.0.0": +"@types/storybook__addon-knobs@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/storybook__addon-knobs/-/storybook__addon-knobs-4.0.0.tgz#b218f0d84888833cc8b8d7a7b524175e8bb3030f" + integrity sha512-x3GNz8f0fQv7USvDuVXdZ4p/7nofFHyH6iB/qwR84Yp97xZxOzlQ0SY+6K14tVbdi9P7Qm5DZ2kZr0a+Io8qEQ== + dependencies: + "@types/react" "*" + "@types/storybook__react" "*" + +"@types/storybook__react@*", "@types/storybook__react@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/storybook__react/-/storybook__react-4.0.0.tgz#52cc452fbab599568d595075a90142ef4a1233f6" integrity sha512-Iq3RX953fqZRwWN3jywm8pUx1/Atev+x/9tF7/2CNA+Ii55sGSJJRWMRthUKQXTa3zOexcvfksfVYdUaIZY91w== @@ -4429,7 +4505,7 @@ caniuse-api@^1.5.2: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-db@1.0.30000772, caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: version "1.0.30000772" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000772.tgz#51aae891768286eade4a3d8319ea76d6a01b512b" integrity sha1-UarokXaChureSj2DGep21qAbUSs= @@ -5186,6 +5262,13 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +copy-to-clipboard@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.0.8.tgz#f4e82f4a8830dce4666b7eb8ded0c9bcc313aba9" + integrity sha512-c3GdeY8qxCHGezVb1EFQfHYK/8NZRemgcTIzPq7PuxjHAf/raKibn2QdhHPb/y6q74PMgH6yizaDZlRmw6QyKw== + dependencies: + toggle-selection "^1.0.3" + core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -6797,7 +6880,7 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.1" es6-symbol "^3.1.1" -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -10807,16 +10890,16 @@ lodash.without@~4.4.0: resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= +lodash@>4.17.4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.1.1, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.7.0, lodash@^4.8.0, lodash@~4.17.10, lodash@~4.17.5: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + lodash@^3.10.1, lodash@^3.6.0: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -lodash@^4.0.0, lodash@^4.1.1, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.7.0, lodash@^4.8.0, lodash@~4.17.10, lodash@~4.17.5: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== - lodash@~4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" @@ -11041,6 +11124,11 @@ marksy@^6.1.0: he "^1.1.1" marked "^0.3.12" +material-colors@^1.2.1: + version "1.2.6" + resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" + integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== + math-expression-evaluator@^1.2.14: version "1.2.17" resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" @@ -13847,6 +13935,18 @@ react-addons-create-fragment@^15.5.3: loose-envify "^1.3.1" object-assign "^4.1.0" +react-color@^2.14.1, react-color@^2.17.0: + version "2.17.0" + resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.17.0.tgz#e14b8a11f4e89163f65a34c8b43faf93f7f02aaa" + integrity sha512-kJfE5tSaFe6GzalXOHksVjqwCPAsTl+nzS9/BWfP7j3EXbQ4IiLAF9sZGNzk3uq7HfofGYgjmcUgh0JP7xAQ0w== + dependencies: + "@icons/material" "^0.2.4" + lodash ">4.17.4" + material-colors "^1.2.1" + prop-types "^15.5.10" + reactcss "^1.2.0" + tinycolor2 "^1.4.1" + react-custom-scrollbars@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/react-custom-scrollbars/-/react-custom-scrollbars-4.2.1.tgz#830fd9502927e97e8a78c2086813899b2a8b66db" @@ -14168,6 +14268,13 @@ react@^16.6.3, react@^16.7.0: prop-types "^15.6.2" scheduler "^0.12.0" +reactcss@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" + integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== + dependencies: + lodash "^4.0.1" + read-chunk@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.1.0.tgz#6a04c0928005ed9d42e1a6ac5600e19cbc7ff655" @@ -16463,6 +16570,11 @@ to-space-case@^1.0.0: dependencies: to-no-case "^1.0.0" +toggle-selection@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"